Tractobots, my attempts at field robots

I added code to make turns.

I did all of my work in the “driver” script today. I’d like to break out navigation into its own node but I needed to make quick progress today so I was concentrating on just making it work.

I think in terms of sequences: raise the tool, throttle down, turn, wait, stabilize, drop tool, throttle up. (The tractor easily does a better job than I would. And I’m still tweaking it.) I’m not programming it that way, though. Instead, I’m setting the controls based on the current state.

  1. If I am within 14 meters of the end line, increment the path offset and reverse the direction.
  2. If I have a large steering correction to make, raise the tool, set the throttle low.
  3. If I don’t have a large steering correction to make, increment a counter so I know when I’ve stabilized.
  4. If I’ve stabilized for a bit, drop the tool and set the throttle high.

If things go wrong, this all falls apart quickly, but for now it works. I will need to do a lot of re-coding before it goes out on its own.

3 Likes