Steering a combine via GPS

nice application! there are commercial things like this, but making it with a arduino is a lot smoother :slight_smile:

There are two computers in the cab. One is designed specifically for monitoring the machine and recording data about what it does. The other is a Windows computer for the autosteer system. The motherboard is an Intel D945GCLF2 which has a dual core 1.6 GHz atom processor and 2GB of RAM.

Is that a touchscreen monitor hooked to the computer or do you have a keyboard in mouse that you use? I am looking for a good touchscreen solution for some automotive projects.

It is a 10.4" touchscreen. Just a cheap one from gooddeals18.com which I found via a thread on the MP3Car.com forum. The screen was $212, and it seems to work fine. Unfortunately, it doesn't have a standard 100mm mounting bracket on the back, so I had to make a bracket to hold it.

Hows the project coming along?

What kind of accuracy are you seeing? Im considering doing something like this for my parents, but I need some pretty extreme accuracy (accurate to 2" at the VERY WORST, preferably 1"). John Deere sells a system that can do this, using DGPS and a portable base station, but the setup is around $40,000. Have you looked into using DGPS at all?

Project has been untouched since we finished harvesting soybeans. Performance was down to an average cross track error of about 2 inches. I was running a 7 inch overlap between passes without missing anything.

In terms of accuracy, there are two variables. GPS position accuracy and vehicle control accuracy. The GPS accuracy part can be resolved by using a RTK system, which will get you to approximately 1 inch position data. The vehicle control part is my problem. 4 MPH may sound slow, but a lot of things have to happen in order to keep that machine within an inch of some imaginary line, especially when you're on rough ground.

I've used DGPS when using the WAAS correction signal, but it can drift a few feet in an hour. RTK is much more stable.

-Lance

We've got a JD 9550 that we use for corn, beans, and wheat, so I know alllllllllllllll about driving slow :wink: I was looking at using some sort of DGPS system to auto-steer a plastic-laying tractor in a straight line; thats all it needs to do. Im not interested in it turning around or doing much, it would just involve the operator lowering the implement, enabling the system, and putting it in gear, and having the auto-steer system keep it in a straight line.

Do you have any insight to share about RTK?

You are a smart man Lance!

nice application! there are commercial things like this, but making it with a arduino is a lot smoother

and a lot smarter and I would reckon a bloody lot cheaper

John Deere sells a system that can do this, using DGPS and a portable base station, but the setup is around $40,000.

I wonder how much in dollars you have spent and what sort of hours input? How many hours would it take now to put one together? Could we get any pictures of the install?

So there goes the lunchbox heh!

RTK is nice, but everyone charges a lot of money for it. GPS+Glonass is the new thing, which gives you more available satellites. That eliminates those times when you don't have enough GPS satellites to get a RTK fix.

tytower, for the amount of time I have in this, it would have been cheaper to spend my time at a normal job and just buy a system. That wasn't really the motive though. When I started this project, it was partly because I was so disappointed with the user interface of the existing systems. The industry has figured out how to make it work, but hasn't figured out how to make it friendly. I think I have the UI part working well, but the technical part is a bit of a hang up for me. Of course, I didn't go to school for any of this ridiculous math stuff I've had to learn. Google "Kalman filters" if you want a headache. It has been a great learning experience.

There are pictures (and links to more pictures) in the first post of this thread.

Nice. it is this type of innovation people should do and not just repeat simple projects (just look at how many segway arduinos there are). Now you should add obstacle detection and a kill switch (i hope you have it and just didn't mention it).

There is always an operator in the cab, so the obstacle detection is human. There are things such as inactivity timers and using the field perimeter as a virtual fence.

The kill switch is a sensor on the steering wheel, so when steering wheel movement is detected, the automatic system disengages.

Of course the human factor doesn't work 100% of the time, and sometimes you fall asleep. Then things like this happen:

;D
and here I am, worried about getting stuck in the snow.. :smiley:

You've got to let us know how you get it out! Haha. Time to add some boundries in the software, so hopefully you don't run off course.. or at least it'll know there's a stream ahead. :slight_smile:

That pic isn't one of our machines. We've never had an issue, but I can see how it is possible. You run a machine with autosteer long enough, and you'll find yourself waking up to the end-of-row beeper once in a while.

Definitely must reiterate others' comments... it's great to see someone driven to apply these 'hobby-friendly' microcontrollers to a realworld application, especially a project so connected to your daily work/life. Kudos.

And of course, the scope of the effort speaks volumes too.

Saw your photos/webpage:

wanted to confirm that the driver circuit would work, that the solenoids work, and get a feel for how big the deadband is. Everything was successful. How many farmers do you know who have an oscilloscope in the shop? (pic)

:sunglasses:
Now I know what the expression "the Farmer and the Dell" means!

Hi Lance,
your project is pure inspiration. On your site you make the statement:

  • "What is Lefebure.com GPS? This is a project to build an auto-steer system for agricultural use. More specifically, the system uses GPS data to create a coverage map, and also to steer the machine. The original goal was to build a system that is more intuitive and less expensive than anything else on the market."

The line I've underlined shows that you've achieved your goal. And to think this is your 1st Arduino project!. Amazing.

It really show cases what Arduino is capable of.

You may want to look at the codes in the a programin[/url]g for some help in integrating the gps data and stearing into the arduino. the project is aimed at rc airplanes but it might give you some directions to consider. There are examples of gps parsing there too. I know there is a lot of ground based robots running the code.

I would love to see more details of your system, ie valve control interface etc.. :slight_smile:

Jay

now maybe it will let men link.

Ardupilot http://ardupilot.googlecode.com/files/ArduPilot_24.zip/url]

I've read a bit about the ArduPilot project, and it appears to be growing at a healthy pace. I'll look into it more deeply in February/March when I start prepping for spring planting. Working on some other projects currently.

I think it would be easier to couple GPS to IMU data on an airplane due to the high speed. The slower you go, the longer the time delay between when your heading changes and when you can pick that up in the GPS data. Even the big name companies are only able to make it work down to about 0.5 MPH. In addition, the location of the GPS antenna relative to the solid axle has an effect on how the GPS data can be used to correct the IMU data.

The valve controller is a pair of N-channel logic level mosfets that drive the two solenoids on my hydraulic valve. I think I even got the basic schematic off this forum, and adapted it for my load requirements.

Basically there is a Windows computer that gets NMEA data from a GPS receiver, determines how far offline it is from the target path, adds any tilt correction to that, and then determines what angle the steer axle should be at to get back to that desired line. Then a PI loop takes over and moves the steering valve left or right to get the steer axle angle to the desired position. The windows computer also keeps track of where the machine has been (coverage map) and shows that to the user as a 3d map in DirectX. The coverage map can also be used to turn things on and off to eliminate overlap of chemicals, seed, fertilizer, etc.

-Lance

Lance:

Sounds like you've put a great deal of thought into your program and it shows. Take a look also at the programming for the ardupilot ground stations sorry i haven't looked up the link but you will be able to find it ao the same web page.

I like what you are doing, I was involved in agricultural retail for 26 years and played with many shapes and forms of precision placement over the years. Initially the electroniscs were not there, Now that that has changed I see more people interested. I hope the work of individuals like yourself can make systems more economical.

Also check out the forums for ideas, there ar a lot of people playing with helicopters and quadra-copters so the slow speed issue may be addressed as well.

Ardupilot is open source so the community is allways ready to help knowledgeable people. I'm sure there will be interest in your code and also helping you out. There are (literally) a lot of rocket scientists and aeronautical engineers working on it.

One word..
Awesome!!!

My compliments!