Seeding and hoeing on slopes

As bit of an update,

Not had chance to go out with an implement yet, but did some quick testing today on a steep sidehill with just the tractor, enough to cause the tractor to drive off track on its own…

So initially with previous settings (roll set to none, as roll calc on position is in done dual ESP), the tractor would drive 25-30cm off line going upwards along the slope, and would drive near enough dead on the line going down over…obviously its harder for it to “pull” the front of the tractor up the slope, than it is down going the other way.

I then enabled Roll from OGI, which is working, in that, I am now getting a live roll reading in AOG, which looks to be correct and nice and smooth… I then tried applying some sidehill draft gain… initially set to 5, but immediately realised this is far to much, as this pulled the tractor 30-40cm high side of the line going the more problematic direction! So dropped it down and have ended up with around 2…

The problem now though, is going that way, with just the tractor, It does sit close to the line…however going the other way (slightly downward slope) it then sits considerably ABOVE the line, as the extra gain is to much… I also think that despite this 2 setting being ideal going one way right now, the second I put an implement on / introduce more load / drift, it would instantly be wrong / need more… It seems this setting being a static setting is a bit flawed…

@BrianTee_Admin if you have the time at some point, can you explain the reason why AOG wont always try to meet 0 error ? IE when driving 30-40cm off the line, at an angle on a sidehill, why does it not request more steering angle to meet 0? Its like it hits a limit and thats that…More understanding of this might help figure out what we can do to help it…as it needs to always try to meet that target by itself, that way it dosnt matter how steep the hill, how much drag from the implement, if error >1, it always needs to keep trying to correct by adding steering angle, right?

1 Like

Because it doesn’t have an integral term :frowning:

That said, i haven’t experienced the kind of error anywhere near what you are experiencing.

Dual antenna heading is very different then single antenna reading when the tractor is sliding a bit sideways down a sidehill. The dual antenna will show the actual direction the tractor is pointing, not the direction it is traveling. A single antenna will take 2 consecutive points and from that will show a heading no matter what angle the tractor is drafting. The imu the same way.

But the dual, all it knows is what direction it is pointing, not actually traveling.

2 Likes

Yes this is true with regard to heading…Does that actually effect the calculation though? Or is that just done on position? I think possibly alot of people, don’t see this issue as they simply dont have the hills that we do possible? or at least dont work on the side of them, esp with 3 point implements…

How hard would it be to add an integral term to the steering calculation for stanley @BrianTee_Admin ? I would love to be able to try this…

In terms of keeping on line / keeping implement where it needs to be, in my head, having true heading from dual antenna, is technically a good thing right? As if it knows the true angle, and position, and all your implements sizes / offsets are set correctly, it literally knows exactly where the center of your implement is right?

3 Likes

I don’t know if technically it is a good thing, while it is steady, it doesn’t actually reflect the actual heading of the tractor on a sidehill, especially with heavy equipment behind. It may be why you are having the problem holding the line on a sidehill, whereas a single antenna/imu displays exactly what the heading actually is.

Maybe I need to try hooking up an IMU just as a comparison on a sidehill… If IMU is still the answer for true directional heading…I would still say there is potential good use of dual heading for keeping the implement on the line at any tractor angle…provided fixed implement anyway…

What is the most recommended IMU at the moment, or maybe with RTK I might be just better off with a fix-fix heading…

I hope to get my Tinkerforge IMU Brick 2.0 soon. Once everything works I’ll definitely test the setup on a sidehill and let you know how it behaves

Maybe if we could include pitch in the calculation, so when going uphil positive pitch adds to the roll gain. and downhil reduces roll gain.

Or maybe even use the mma on pcb as pitch. I assume you do not use it now, so place it (or change axis) so the roll is showing pitch instead, and when combined with the roll from Dual GPS it would add or reduce actual roll when going up/downhill ?

1 Like

I personally think the issue is, at least in part, the reliance on heading. Parallel errors such as this appear for a number of reasons. WAS inaccuracies, sidehill draft, compass drift and side load. They all cause the same basic effect and code to spot the situation could combat it. I’m trying to come up with a sort of fix using the arduino code. Hopefully testing it this weekend.

Probably would be better in the main code but I can’t make head nor tail of where to find the steering set point calculation. Not helped by me finding OO programming very difficult to follow.

1 Like

Purely out of interest, have you changed from Stanley to PP on the go whilst actually experiencing this effect? If so, what was the result?

Watched your video about the error and integral term, good information. Got me thinking on the error, wobble, you turn etc. Just a thought, what about an aggressive error return value. There is sort of this in the Pure Pursuit. If driving straight, look ahead is out there a ways. in the you-turn, it is a percent of the value. Now, this could all be set internally based on the slope of the line that the equipment is following. If the angle is straight, then maybe not so aggressive. If detecting a sharp curve or you-turn, be aggressive and try to overshoot it. Always wished I had a control on the car that allowed me to determine how aggressive the cruise control tried to hold a certain speed. Some days, yes shift down three gears and try to hold 80. But, there are those days where 70 is still ok. Some days we farm with precision, some days we relax. In other words, let the crop control the aggressiveness of the steering. Rolling beans might not be as critical as planting them. But when it is time to turn, it’s time to turn. Just thoughts. Keep up the good work.

1 Like

Its really tricky with steering being a second order derivative - as you approach the line you steer away from it. “Adding” a bit of steer angle should resolve the not getting to the line, but instead it just crosses over it and repeats the problem back over the other way. Pretty frustrating.

2 Likes

Yes. I understand. I don’t think altering steer directly is the answer to this issue, rather altering the environment in which steer runs. ie, the parameters by which it operates. Leaving steer to operate as it does but compensating for additional external forces by cancelling them out.

…if any of that makes sense :grimacing:

That’s how I’m trying to attack it in the Arduino code anyway.

1 Like

I think that the problem we are talking about here is also affected by the location of the antenna. Under the influence of lateral force when the tractor is pulled sideways, to maintain the track it must travel at a certain angle characteristic of a specific balance of forces. Locating the antenna in the middle of the tractor, the rear axle can then move next to the track despite the antenna being perfectly on the track.
In my opinion, you need to place the antenna over the rear axle which is the actual pivot point of the tractor and it is the rear axle that should be the base point.

1 Like

There’s a post by @Aortner regarding antenna placement: Antenna placement

“Brian Tee, [07.11.19 01:36]
Stanley guidance uses heading to calculate the distance the steerer wheels are offline, so putting the antenna over the pivot with a stable heading from imu is as good as Pure Pursuit and antenna above the front wheels. It’s a complex interaction”

As far as I understand we can place the antenna right over the pivot if we use heading from IMU. Think I’ll do it this way

Well with dual antenna we can essentially place the antenna anywhere, as with 2 reference points, you can calculate any location…

1 Like

I disagree. I don’t think it’s anything to do with antenna location. The issue is how heading is used to assume the vehicle is heading toward the line when actually it is in a state of equilibrium somewhere off line.

This is also what I experience during seeding. (I have Brian’s pcb with sparkfun 8252 mma and brickv2 on roof, single antenna with rtk).
With a seeding combination in the three point hitch (very common in Europe) the tractor drifts a few degrees. When the tractor gets from the line aog setpoint to steer it back is reached very nicely but it isn’t enough to steer it back to the line (from what I understand aog “thinks” it is steering towards the line because of the measured heading, but that is drift and not helping the tractor back)
So it stays a distance from the line forever (if the drift remains constant). It would be really nice if the steering angle was increased with an integral value when this happens, but I understand it isn’t a simple job to implement this…

edit: I see this has been discussed about in a few newer topics.

Check the Drive version! It has an integral part (but some other AOG features are missing like auto U-Turn.)

Thanks! I will try this next time in the field! Didn’t know about this version

I still think that sidehill needs a multiplier value that is easy to get to in aog. So that the math calculating the actual antenna position when tilted is exaggerated so it puts the antenna above the actual line. It would have to be changed a little hear and there when switching implements, but short of a GPS antenna on the tool, it seems like a practical approach. I realize coming from a hillside to flat ground there would be error, but I think it would be in the millimeters only. I haven’t played with the integral, it may doing that already.
Edit
Example : Antenna height 110 inches(sorry I’m old school America), roll 7 degrees is 13.405 inches of correction needed. A roll of 1/2 degree is .96 inches correction. If a variable of .1 we staken from the results roll correction would then be 12.065, a difference of 1.34 inches. That same 1/2 degree onnflat ground of .96 offset would now be .863, an error of .097 inch, or 2.46MM. I believe the error on flat ground could be reduced by a compound variable.