Self adjusting AB-Line

@BrianTee_Admin Using ABC simple that we modified for spraying to track and log the activities of the field worked great this year. Using a cheap GPS and no corrections. Fairly good coverage except where dad got talking an forgot to turn the PTO pump back on. Thanks again for the work on this project and making it available. Dad is a bit hardheaded at 71 years old and will not let me convert the steering and switching of the pump to be controlled by the computer. Hence the skip of the 30 ft swath of grasses and weeds down the middle of the field.

So now to the request or guidance or the do-ability of the feature. Naturally, in driving an AB-line it is wiggly. Sometimes more than others when he gets a call or sidetracked. Wondering if the AB-Line could review the last pass, find the farthest point away from where it should be and shift the whole line over to make sure of a full coverage. This being a hay field and not a row crop, overlap would not matter much.

My thought process:
Instead of cutting the sections every so many, cut them when the direction is reversed (or the angle changes by “x” degrees).
Scan the sections and find the largest “howfaraway”.
Ask the user to shift or remain true.
If shift, offset reference point to new point.
Could be set in the settings to auto shift or not.

(Side note- We’ve modified the cutting of sections to “never” to be able to add area per tank while spraying. No issues with the processing. This would be affected, but should be able to give the sections a tank number and add them up individually.)

I know contour works something like this, but you can magnify a driving error instead of smoothing it out. Not asking to change the AOG. Just wondering if you thought that this may work?

That would be really hard to do :frowning:

New thought process:
As driving the AB-Line keep a list of left and right error.
When turning around, check max and min of list and compare it with side overlap.
If greater, correct AB-LINE. Of course as an option.
Sounds simpler off the cuff. Not dealing with sections. Just a list.

Hold on, you wouldn’t need a list.
After turn, Error.=0;
If (currentError 》error)
{Error == currentError }
Upon turn: if Error is greater than offset, move AB-LINE(x,y)

Right or left off the line would come into play, But I think it just might work. I’ll need to figure out how to trigger an isturning bool.

I’ll start playing with it, if I get anywhere, I’ll let you know.

Seems at least two people understood the original message, I really struggled.

Are you also assuming a GPS receiver without corrections? Just assisted steering? How do you know if the left/right error is a GPS error or you driving off the line? If driving along tramlines, why would you need section control anywhere else than the last swath, easy to do manually?

In any case I would not ask any of the SW experts to spend any time on a project that works without an accurate receiver. RTK accuracy is cheap compared to the valuable time of our SW experts (even if we don’t really pay for the software development).

Currently using a none corrected GPS, so it doesn’t matter much if the driving error is within reason. Just set a larger overlap and go.

However, if using a corrected GPS, then we can fine tune the offset and make a larger offset only if needed.

Again, this is a hay field, and we don’t use tram lines. Actually prefer not to drive in the same locations too often. It tends to compact the soil and stunt the growth, especially when wet.

With respect to asking the SW experts to change the code or spend any time on this, I was not. Simply asking an opinion. We will make whatever code mods are needed and share if viable. My apologies for rambling in the first post.

1 Like

Discussion is always useful. I mainly tried to understand the scenario, did not mean to have any strong opinion with a limited understanding of the use case.

You can always use snap, or the move ab line arrows to kick it over. The trouble with uncorrected gps is that it always thinks its in the right place. So even though in the real world it moved a half meter, within gps its in exactly the right spot.

I think you would have to limit it to cross track error - which as you say is measurable.

1 Like

Thanks, That is the direction that I was heading. Instead of snap to the current location, store the location at the worst cross track error and snap to that. Now back to the turn indicator. If we were in the AOG, I’d simply use the headland. But… ABC. I’ll have to do some more thinking. Thanks again.

Edit: Well that works good. Just keep track of the max and min distanceFromCurrentLine. Then SnapABLine(Max or Min (distance)) ABLine Jumps right where it should be. Still working on the when to start and stop keeping track of the error. But this hurdle has been jumped.

I made a very straightforward version called Drive to test out certain aspects of guidance. That is all it has, guidance and sections. None of the fancy stuff.

I’m wondering if i should make a github repos for it.

I for one would love to see it.

Edit: Added just a label that I could see what was going on. It is showing the max error to the left is 1.2ft and .8 ft to the right. I’m using the ABFixHeadingDelta to trigger the isTurning bool. Not the best, but a starting point to see if it can trigger. The red text at the top is the current error and I added the ABFixHeadingDelta to that so I could see that as well. Seeing what it will do.


Edit2: Then I converted it to buttons with a zero everything out in the center. Just have to remember which button to push. But it does work in the simulator. When you get to the end of a row, make the adjustment. When you get recentered after the uturn, zero it out. A bit manual at this point, but it does keep up with how much it is off the whole row.


Ok i’ll make a github for it and link here tonight

1 Like