In all of the following images, except the last one, Nomad's starting point is at the bottom of the image (near Y = 15). In the last one, Nomad started at the top of the image (near Y = 30).
Here, Nomad overshot the beginning of the second row, and then oscillated
too much when recovering, causing the robot to overshoot the next row even
more. The correction made was to change the correction "gain" to dampen out
the oscillations.
This attempt was better, but there was still oscillation, and Nomad did not
come out of its row-end turn quick enough, causing the second row to be too
close to the first row. To correct for the delay in the robot's response to
changing turning radii, a different method of path following was implemented
(the method which should have been used at the start, but which took a little
longer to code) -- using a lookahead distance instead of just evaluating the
current deviation from the path.
This attempt had problems at the start, since it began after a restart of
NDDS (which had crashed). This type of restart always makes Nomad turn
sharply to the right when first moved, and then the robot never recovered
well enough with the short row length I was using, before I had to stop it
to keep the robot from running into things. I decided to just start over.
I was still having problems with getting Nomad to come out of the row-end
circle soon enough, and then at the next row-end, apparently the robot
thought it hadn't reached the next row's beginning yet, so kept circling.
Corrections included making the lookahead point switch to a point on the
next row while still in the row-end turn, and double checking the way I
was deciding the robot had reached the next row's beginning.
For this trial, I had pretty much the same results, since the corrections
I thought I had made weren't really made. I decided to wait until more
extensive changes were made and checked before trying again in the field.
Nomad performed better this time, at least at first, but then I ran into other
problems. The ethernet connection came loose from the laptop, I got confused,
Nomad got stuck in a loop again, and then NDDS crashed.
I tried again, and this time it worked pretty well. Despite that, the
lookahead point switch from row-end circle to straight row, and vice versa,
still was not implemented like I thought it was. This oversight has been
corrected, so the next time the pattern is tested in the field, the results
should be even better.