Agricultural Rover project

If I well understood, with Mission planer, you have per each line just two waypoints, one is the starting point and the other the arrival… What happen if in the middle of the Path, the rover turn right due to gps signal loss and goes fair from the path line? When the signal come back, the rover will correct the heading pointing to the arrival point, but the new headings will be not parallel to the previous path, right?
Cerea corrects the headings so the Rover is driven not to the ending point but to the closest one on the previous path after few foots the rover is again on the right parallel.

If you are following a survey I understand that does as cerea, return to the path line, figure if you are mapping and not follow the path, the map is impossible to do.
Im curious why you prefer rover than Cerea, I didn,t follow Cerea with autosteer anymore.

Domenico, Ardurover DOES navigate by trying to keep the rover on the line between the previous and next waypoints. It does not simply aim toward the next waypoint. There is the concept of Cross Track error. There is a parameter NAVL1_XTRACK_I that is the gain that is applied to the cross track error to ensure it converges to 0. Smaller values converge slower. Larger values converge faster but can cause oscillation.

http://ardupilot.org/plane/docs/navigation-tuning.html has a section entitled “L1 Controller Background and Description”. Within that section there is a link to this page https://github.com/ArduPilot/ardupilot/pull/101 which has a description of the algorithm including some diagrams.

I am not familiar with Cerea, but it may be better suited for what we want to do. AgOpenGPS (https://agopengps.jimdosite.com/) is also a possibility. BUT, I think that the method of navigation to follow the line to the next waypoint is the same. That is my understanding, anyway. I think I can find a screenshot of my machine navigation in Mission Planner that will demonstrate this.

Here is a screen shot of a path I was following while tuning my steering, throttle and navigation. Notice how I did not have the turns working well, BUT that after each turn, the rover moved back to the line, NOT directly to the next waypoint.

I should be able to work with the parameters, especially the NAVL1_XTRACK_I to cause it to converge quicker onto the line.

1 Like

Ok kenny, you are right, having a look to your picture, it’s clear that the rover try to stay on the line in any point of the path. I’ll have a look to the algoritm, thanks for the link, I would never have found it by myself!.

@Cala2:
Cerea is from my point of view the best autosteering porogram, it’s even better than AgOpenGPS, since as opposed to Cerea, this needs an heading sensor to drive the tractor on the line. Cerea has a very powerfull and effective algoritm that drive the tractor on the line with only the GPS data.

The only problem is that for my goals it should be modified, it’s not thinked for aoutonomous vehicle and you cannot “plan” a mission or having the rover going back to home when necessary.
Since Cerea is not an opensource program, it’s proprietary one, nothing can be done.
I’m quite disappoined of it since it was developed also with the help of a community :frowning:!

1 Like

Yes, at begining was open, every one test and discuss but them become close and paid. Thanks for your experienced opinion.
I hope its only uses gps by what you comment about isnt designed for completly autonomous vehicle were you need more sensors.

1 Like

I do not really know the code of Ardurover, and so, the github program linked above may not be what is running in Ardurover, but the link did come from Ardupilot docs. And my experience has been that the rover does try to get back to the line.

I will add that tuning is very hard. You have to tune: speed, steering, pivot turns, and overall navigation systems. There are interdependencies. The control loops are not simple PID loops. Some of them have a feed forward term. There are additional terms, etc.

I may be wrong but I think that the control system could be simplified for a Rover. The complexity may be necessary for a flying vehicle. BUT, keeping as much of the code as common as possible between the different versions is an overarching goal, I am sure. So, no complaints from me! Hats off to all those who have built this great system!

Lowering your L1 period might also get you back on the line faster.

1 Like

I also found this wiki page by @rmackay9 that is an overview of the L1 navigation: http://ardupilot.org/dev/docs/rover-L1.html

As a side note, Leonard has a design for a new navigation controller for Rover. I think it will be better in many ways but in particular it will calculate both the desired speed and turn rate (the current L1 controller only calculates the turn rate). It will also build up a path so that corners are handled better. We are just getting started so it will probably be a couple of months before it’s ready for beta testing. We will push out Rover-3.5 without this new navigation controller.

5 Likes

Sign me up as Beta #1! Really looking forward to it.

3 Likes

An interesting paper on RTK positioning and a robust navigation method:

1 Like

Hi Kenny!
In first my apologies by my english
When I see that image, immediately I was remember of your project (I watch your movies), and the movement outline of the corners by Rover appears get more responsible if their wheels are change by caterpillars, turning above your own axis. What you think? I have a project very similar with your. I suggest put goals here and together try beat.

Hi Christian,
I am not sure what you mean by “wheels are change by caterpillars”. Please explain more and maybe I will understand.
I am currently doing a little reading on hydraulic systems, particularly hydrostatic transmissions for an eventual attempt to build a more powerful zero-turn vehicle than a lawn mower, but I am a ways off from really beginning anything.
I have recently had time to make some improvements in my mower. I replaced the slow linear actuators with Hitec D-845WP servos (as others such as @Kevin_Groba had done) which greatly improved the performance. I needed to put the mower to work and so did minimal tuning and got some work done. I hope to soon go back and tweak. I took pictures and videos as I built the brackets and other parts to install the servos. I plan to create videos and/or a blog to help anyone else who might want to do the same.
I look forward to sharing ideas.

2 Likes

Hi Kenny!
About caterpillars. When a wheels turn, like a car, she’s make a ellipsoid line, while caterpillars rotate on their axis, bearing to their next checkpoint. That’s is, they do not extra path, because when they reach checkpoint, they lock the thrusters on one side or the other, whethever left or right, not moving away from the target until it is pointed(front of vehicle) to the new checkpoint. I hope I,'ve made myself understood.

Hi Kenny,

I may be able to offer some help when it comes to the hardware side of things on the mower. I would replace the actuators driving manual valves with PWM valves as long as you dont ever want to be able to sit on the mower yourself again.

With respect to hydraulic systems on zero-turn mowers, they are relatively easy to modify and build. Could you give me some specifications on what you would like your eventual rover to be able to do? Will you want to tow with it?

Best
Richard

Christian, I guess you mean tracks, perhaps? I can see that might work well. When I get some time, I am going to experiment more with the pivot turn tuning to see if I can improve it. Now that I have fast servos moving the levers for each wheels, I have a lot better mechanical control. I just haven’t had time to try to improve things yet, and it may be a while because of other totally non-Ardupilot projects, unfortunately. :frowning:

Thanks Richard for your comments. The particular mower I automated has Hydro-Gear integrated transaxles, so there is no valve to operate externally. I have to move the control rod that is made into the transaxle back and forth. The linear servos worked very nicely except they were slow. I chose a very strong one which was geared down and slow. As I was replacing them with heavy duty servos, I noticed that there was a spring on the transaxle that acted in both directions to give some resistance. I remove those and the control is super easy to move now. Once I discovered that, I could have gone with a faster, weaker linear servo, but I already have the rotary ones now. They are on and working well.

As far as a future vehicle, I do need to tow and also operate a tractor-type PTO. I have found a hydraulic PTO that will work I believe (https://www.surpluscenter.com/Hydraulics/Hydraulic-Motors/Ag-PTO-Output-Hydraulic-Motors/4-95-cu-in-PTO-Drive-Motor-BMSY80E2SLS-9-7368-80.axd). At least for starters, that is reasonably priced and should give me about 21 hp. What I have to research is the torque and horsepower required for towing. I would like to be able to tow up to 3000 lbs. I have a general understanding of the how to calculate what I need but certainly welcome help. I also have a lot to learn about the hydraulics. I have bought 3 books! One of the best seems to be this one: https://www.amazon.com/gp/product/0943719003. I have only begun to read it, but I really like it.

There are, of courses, a lot more details, but that is somewhat the basics.

1 Like

Randy, Did this new navigation controller ever see the light of day? Just curious. I was reading over these posts as I was helping someone else with navigation and ran across this post from you.