Community Forum

Tractor installation advice welcome

(Mr337) #41

Is this the PID node, http://wiki.ros.org/pid/? I’ve looked at a couple but they seems to be tied to a specific system, like wanting wheel encoders vs general purpose PID. Now rereading the link this feels very general.

Later today I’m building a IMU 2.0 node to publish twists vs using the RTK to calculate a bearing once moving at a decent speed.

Also I recommend GitHub if you just want to publish stuff. For your sanity, if your not using a version control, it will def make things easier, esp to revert!

(Kyler Laird) #42

Yes, that’s the PID node I’m using. There was some trick to remapping variables that I had to use so that I could run multiple PIDs. Tell me if you need help with it and I’ll dig through my code. Yes, I’ll even put it on GitHub. (I should have started it there.)

You got an IMU Brick v2.0? Cool! Isn’t it great?! I’m tempted to use mine more but I really like how robust dual RTK seems to be.

Yesterday I mounted some of my equipment (instead of leaving it dangling everywhere) and added throttle control. Next on my list is to make the Arduino read the PWM signals from the various sensors I’m mimicking. That way I can switch to manual control in software. It’s the same thing one might do for R/C control.

I hope to turn it loose in the field next week.

(Mr337) #43

Thats awesome, just remap the topics and be g2g.

The IMU v2 has been working great. Having it do AHRS and just spit out the info I need vs calculating it all has been so nice. I’ve compared it to my single antenna DIY bearing calculations and its very accurate. I think the dual RTK will always out do a compass, plus no compass interference, which I did manage to trick the IMU compass 180 degrees.

The arduino stuff should be fun, combination of interrupts and low pass filters. Also if you need to interface that with ROS look into http://wiki.ros.org/rosserial.

I hope in a week or so to have my mower PID tuned and hitting waypoints with ease and I’ll post a video.

(stefdas) #44

Hello mr337,

which data to you use from IMU V2? Did you use the roll/picth data? Are these data reliable in time (I mean during several hours)?
I’m also busy on this kind of project (https://thefarmingforum.co.uk/index.php?threads/homemade-autosteering-egnos.98936/) and trying now to integrate roll/pitch data to the guidance system.



(Mr337) #45

So far just the heading, From what I have gathered its a full AHRS system so I think it must be doing processing locally on the board, has a stamp Atmel chip on the underside.

You can get raw mag sensor and any raw data from the sensors plus calculated data, http://www.tinkerforge.com/en/doc/Software/Bricks/IMUV2_Brick_Python.html#all-data.

Now as for stability I’m not for sure. Yesterday, for the second time, I did experience the heading offset of almost 180 degrees. I’m not for sure if its due to vibration or EMI so I’ll be tinkering with that today. One of the features of the IMU V2 is always self calibrating so hoping the EMI is soo bad that its calibrating itself off. Again will report back. The offset occurred after only 20 min of usage.

(Kyler Laird) #46

Stef, I have done very little with the IMU Brick 2.0 but heading seemed quite steady for me. I was running it on the ceiling of the cab of a diesel tractor, though. That is a much less noisy location than near a spark-ignition(?) engine on a mower like I think mr337 is doing. It might be perfectly reasonable for your application. (I’m sold on dual RTK so IMUs are not of interest to me these days.)

BTW, the next project in my stack is a JD 6330. I didn’t want to mess with the hydraulic system on it so I had a Trimble valve package installed. It was pricey but I’m looking forward to playing with proportional valves rather than the plain directional valves I used on my first two tractors. (And the tech who installed it mis-connected the load sense valve the first time so I feel quite justified in spending the money and letting someone else deal with it this time.)

I plan to use the 6330 to plant corn pulling an integral 8-row planter I bought as salvage and have scheduled to be tricked-out with Precision Planting eSets and DeltaForce. I also bought an old white 31-row planter to dedicate to planting soybeans behind my MT765 (Tractobot02). I’m keeping my JD 8285R and 16/32 planter for driver-required use next year but I hope things go well and I can sell them soon.

Stef, I see that you were looking for ISO 11783 help. I am, too. Did you try PoolEdit? I’m very interested in controlling my MT765 without having to mimic individual controls. I’d be happy to pool resources with you.

(stefdas) #47

I already tried to use the BNO055 (from bosh) which is used on the IMU brick (as i understood from the docs).
Unfortunately, the data accuracy was’nt stable; i had no clues why it did not work.

(stefdas) #48

oh yes i understand your point about installing “alien” devices on expensive tractors…
I had very good advice from my JD dealer and a hydraulic technician; i used vavles from hydraforce (around $300)

Pooledit is a gui editor; it will not help to take control of the JD can.

(Kyler Laird) #49

I’m curious which Hydraforce valves you’re using. I used a stock SV10(?) on my first tractor. I had them custom make some closed-center proportional valves but I haven’t used them yet because my 6330 has load sense and my MF2745 is open-center.

So…did you get anywhere with ISO 11783 control? I have a bunch of CAN interfaces but I haven’t done anything useful with them yet.

(Kyler Laird) #50

Also note that the IMU Brick v2 is very much more than just the IMU. It does constant calibration with amazing (to me) results (having come from playing with a plain IMU).

(Mr337) #51

OK, so it looks like heavy vibration was screwing the IMU up. I’ve moved it to a different place and 0 issues after an hour of running.

Also al kylerlalrd said, I think its doing sensor fusion and output a general result. A lot of cheaper chips do NOT do that, just provide the raw values. The sensor fusion is a whole field in itself.

I myself am very happy with it.

(stefdas) #52


isobus: sniffing the bus is easy, and you can catch a lot of messages/second
Not yet able to "send command"
seems to be protected.

(stefdas) #53

hello kyler.

you do/did a great job!
i’m impressed by your autonomous tractor seeding corn.
how did you manage the security in case of failure?
you can mp if you want at sd_windev@yahoo.fr


(Kyler Laird) #54

Stef, the old MF2745 was drilling beans. It’s the field in front of my house so I get to see it every day (and notice the spots where it picked up too early). In case of failure? Well…there’s no electric shutoff on that tractor so I had a rope from the throttle, out the back window, trailing the drill. (My Doberman was pouncing on it in the first video of this thread.) But mostly I just stayed close to it with my truck or ATV and jumped in the cab if it got out of hand. I was in the middle of the field bordered by woods so it wasn’t too risky except at the end by the road where I was waiting.

My original plan was to modify old tractors inexpensively. However, I’ve been spoiled by the electronics on my MT765. I’m kind of dreading going back to messing with a linear actuator for the reverser on my 6330. (Wish I had the electric reverser!) I’m thinking that I’ll eventually get at least one more MT.

(Andreas Ortner) #55

how do you use 2 gps antennas? how they are connected?

(Kyler Laird) #56

Andreas, I’m using the NVS-08C-RTK-A dual receiver. It has two antenna inputs. I mount them longitudinally along the centerline of the tractor, at the front and rear of the cab. I think about mounting them laterally but then I’d have to calculate the center position and that’s a source of error so I’ve avoided it.

(Toncho) #57

Two thoughts:
For following the line, you should consider dynamical attack angle (the one which depends on the distance from the course) calculation, based on the movement speed. That way the tractor will make more gentle corrections when moving with higher speeds and that should sort the oscillation problem.
You all would have to consider a way of obstacle detection - for example if the tractor leaves the field and dives in the forest near or stumbles on a rock or tree in the field. Some kind of proximity or bump sensors. Connected to an emergency cutoff circuit.
I don’t know how to proceed with holes in the fields like the one visible in one of the movies. Probably an inclination sensor and a brake actuator, so the machine would not dive nose down in the mud or tip over.

A bit of dreaming:
Next step is computer vision guided agricultural equipment… :slight_smile:

(Kyler Laird) #58

I feed a PID with my crosstrack distance and get an attack angle out of it. That largely handles the speed sensitivity for the limited range I’m using.

I have been thinking about a “bump sensor,” also. A friend recently told me a story of why Kinze’s automatic grain cart hasn’t been public lately. He said it ran into a new semi tractor and kept spinning its wheels until it was shut off. I almost always have an eye on my tractor and I carry an independent long-range remote kill switch.

Vision guidance isn’t nearly so interesting to me. But I have been thinking a lot about using microwaves (radar) for detection of trailers and the height of grain mounds. I’m becoming confident that the tractor is going to surpass my abilities soon.

Project update…here’s Tractobot02 pulling a grain cart last weekend.

It is simply under remote control - no navigation code was enabled. I’ve been trying to work out my control code and I’ve had a couple glitches in it that made me anxious about allowing automated operation so close to the combine. I think I’ve worked through those problems and am ready to spin up the nav code.

Here’s the Arduino code I’m developing.

This allows me to set the throttle, transmission, and steering through rosserial after the enable switch (in the cab) has been triggered. If the steering wheel is turned, all control returns to the local operator until the enable switch is activated again.

(Kyler Laird) #59

It was wet this morning so I spent some time enabling the navigation code on Tractobot02. All it does is follow a line N/S/E/W from the current location. But it’s wonderful! I’ve made the jump from constantly hunting for the right spot on the remote control to mostly hands-free dumping.

For the next step, I’ll pull the RS-232 line out of the combine’s StarFire receiver. Then the combine will publish its position and the tractor will navigate to stay beside it. (I tested a system from John Deere that did this years ago.)

(Toncho) #60

That’s why you should have at least several safety mechanisms - one for each group of troubles, which can occur during driving through the field. And I guess it is best to actuate the breaks and shut off the engine - that way a complications will be avoided as well as a fuel waste. Just because of a GNSS glitch, for example, you may end up with you tractor and combine “combined” together. :slight_smile: So, think about this soon. When working with these machines, signs should be put on the field boundaries to keep people aware that unmanned machines are operating.
The synchronous movement between the two machines is a bit tricky - the tractor have to know the exact position, the heading and the speed of the harvester. Then it should calculate the speed and the angle attack accordingly. To predict a bit your movement. It should consider the harvester as an obstacle too - for example, it must not turn right past the collision line.
A compromise is if you assume that the harvesting direction is fixed to particular bearing, for example north-south or any appropriate azimuth. Then the tractor should calculate only the longitudial position against the harvester. Then you could command it to move a bit forward or backward, so you can fill your trailer evenly.
The microwave radars are a pretty idea - the tractor can consider the crop by itself. That way it could avoid it and thus preventing crop damage. The radar sensors can be a part of an obstacle detection system too. At a later stage you could add a SLAM functionality and that way the tractor will work on it’s own without the need to map everything preliminarily. Just a thought.
It is a great idea to use two antennae to calculate the static bearing of the machine. You get rid of the compass, which quite often works unreliably. You can see my topic on that with a hexacopter. If you add a third receiver on one side of the cabin at the same height, your software will be able to calculate the exact orientation of the machine in all three rotational dimensions. That way it could compensate the width of the processing lane according to the lateral inclination, caused by the terrain.
It may seem that I only criticize, but I actually respect and honour your work and efforts on your projects. You have reached a huge progress, entirely on your own. A few people are capable of that. This is something for which in other places a whole army of engineers and programmers get paid for. So keep it up and never stop improving. I believe that you will end up with a good and reliable product which will assist you in your business.