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 look ahead 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 look ahead 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 look ahead 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.
Back to Coverage