Apm Rover in tractor setup.

I want to use pixhawk with the apm rover firmware to operate an agricultural tractor. I need to set up my tractor as an rc vehicle.  My plan is as follows: any feedback I can get is appreciated.  I plan to order the parts in the next couple days but if there is something I've overlooked or my plan has no chance of success let me know.

Throttle control: Linear servo (https://www.servocity.com/html/25_lbs__thrust_linear_actuator.html#.VVOUCJNyP5U) I don't see too many problems here.

GPS: I plan to use the gps already installed in the tractor.  I am planning on buying a pololu 23201a to convert the serial nmea to something I can input to the pixhawk.

Steering: This is what I'm most worried about.  The tractor has an electric over hydraulic steering valve, so basically provide 12v to right side tractor turns right, provide 12v to left side tractor turns left. I am planning to put in a dual 12v relay controlled by pwm signals for the steering https://www.servocity.com/html/electronic_pwm_controlled_dual.html#.VVTFmZNyP5U  Anybody have a gut feel on whether this will work or not?  The problem is the steering output from pixhawk needs to reach a certain threshold before steering valve will operate this is quite a bit differnt than how it is set up on my rc car where each pwm value corresponds to a specific steering angle.

Clutch: Much testing has to be done with a person in the cab to operate the clutch and some sort of ignition failsafe installed before I get the tractor to be totally autonomous but I would like to start thinking about the clutch, and start testing some setups with a person in the cab.  I could get a linear actuator that releases the clutch when throttle pwm reaches some predefined threshold? But I would really like a system that if the power is cut or signal is lost clutch is automatically depressed which will stop the vehicle. I could set the clutch up to be always depressed and use a linear actuator to engage it. Connect the actuator to the clutch with an electric solenoid so if power is lost actuator releases and clutch disengages. Anyone else have some good ideas?

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


    • I'll keep you posted.  Still figuring out a couple things and doing some testing.  I'll know a lot more in 4-6 weeks

    • Nice work. I don't know why some people think farmers are not that smart !!! Just look at this !!

      Good work Matthew. I wish I could do the same, but it looks like rocket science to me.

      Where should I start ?

      I am a farmer in South Africa. Do you think it would be possible to do it on a John Deere 8260R with powershift ?

      So many questions ...............

    • Power Shift will have it's challenges for sure but it should be possible.  The best place to start is to buy a pixhawk and an RC car and put that together and try and get it to work.  It wont cost an arm and a leg and at least you will have something fun to play with if you decide not to proceed with the tractor.  That's how I started and its a great low risk way to start learning.

  • Here's a video of my tractor on a snowblower. Nothing of technical value here at all but I had a lot of fun.  Merry Christmas!

    • This is amazing!!  My brother and I are thinking maybe a grain cart could fit in our operation if we didn't need to hire a 4th guy to run it.. hmmm.....  Keep up the inspiring work!

  • Here's a very brief video showing the working prototype I have made for streaming engine data.  The code on the arduino is up on github. The code on the pixhawk and the modified mavlink libraries will be up eventually as well.

  • Here's a schematic of my current set up. http://www.schematics.com/project/pixhawk-tractor-wiring-24753/


    • Thank you Matthew!

      I have wanted this kind of schematic from you. I will look at this and if necessary update my elecric drawing. 

      Thank you again.

  • Some more food for thought.  I need to review all of the safety features Matthew has incorporated but I had an idea that was a take off from the "row of  red panic" buttons that were contemplated but as far as I know, not implemented in this first incarnation.  What if we fabricated a couple of "whiskers" out of PVC or light weight Aluminum tubing that were sticking out of the front of the tractor in a Y configuration.  Then, between the ends, maybe with a couple of small pulleys or guides, we ran a wire or high strength fishing line across the ends.  Back at the mounting point on the tractor then all we would have to do is mount a single blade switch, or an insulator between two contacts that could be pulled out if anything interfered with the wire/string,  Maybe place the "sensor" at about knee height so it would interfere with most bumpers, wheels, fenders, and even a hand held up in the air by someone lying on the ground.  It should be pretty easy for the Arduino to monitor this single switch but you get a lot of coverage with only one line to monitor and if it was wide enough you could trip the wire without being directly in front of the tractor, hope it doesn't come to that!  Perhaps with some tweaking, the frame could pivot and point in the direction of the front wheel line of travel?  I Apologize for the crude sketch but something along the lines of this. (You would need enough lateral clearance to not interfere with the trucks/trailers during the unloading process)


    Or with some side coverage as well, like this...


    • James that's decent but you would have to consider the intertia of the PVC rods and that the distance ahead of the front axle would tend to make them wobble quite a lot at high speed. possibly causing triggering accidentally.

      I maintain my earlier sentiment that a sonar sensebar is likely the best combination of safety and ease of application. It would likely take about 3 sonar sensors, with a beamwidth of somewhere between 20 and 30 degrees . If they are mounted about 5 feet off the ground ~ hood height~ish, and pointed forwards and down. They could be set to trigger if they see any extreme deviations in ground height, which would indicate that you are either about to run someone/something  over, or drive into a hole, which would also be bad. Such a circuit would be relatively easy to set up as analog, or with an arduino, which could set a flag to the main processor to trigger an E-stop, or a slowdown (or even obstacle avoidance) - which I'm pretty sure the pixhawk has code for in rover somewhere?

This reply was deleted.