SixPotatoe Autonomous Navigation

SixPotatoe can navigate autonomously following routes that are defined in the “Routes.h” file. In this file, there are five routes already predefined so you can see how this navigation works. You can modify these routes or write your own routes for your own purposes. The routes are:

  • LittleP – This is a route that loops around and returns to the starting point. It needs and area of about 3 meters on a side to run.
  • Fat8 – This route traces a figure eight and needs about twice the space of LittleP.
  • LittleSquare – This route traces a little square and is the only route that can probably be run inside of a house.
  • Dance – This route makes a bunch of short turns and needs an area of about 3 meters on a side.
  • BigOutNBack1 – This route simply goes out about 40 meters, turns around and returns to the starting point. It needs a good-sized street with no cars parked on it.

You can run each of these routes by selecting one of the five routes using the left knob (CH5) on top of the controller. There is a template in the Mechanical Drawings.pdf file that you can cut out and attach to the controller to help you select the route. Once you have selected the route, you can start the route by pushing the CH4 slider forward. If SixPotatoe is balancing, the route will be started immediately. If SixPotatoe is off and leaning against something, you can start the route by pressing on the CH3 on/off button. The route will run to completion where control will be returned to the hand controller. You can stop the route at any time by pulling the CH4 slider all the way back. In any case, the slider should be pulled back at the end of the run.

If you want to write your own routes there are only four commands. Remember that all distances are in meters and speeds are KPH.

  1. P – Every route must start with this command. The first parameter is the X-Y coordinate of the starting point with the X and Y separated by a comma. The X is the left-right coordinate with positive values to the right. The Y is the near-far coordinate. The second parameter is the original orientation of SixPotatoe in degrees.
  2. G – This is the “Go” command. It causes SixPotatoe to go to the specified X-Y coordinate specified as the first parameter. The second parameter is the speed. The speed parameter is optional, but it must be specified with the first G or T command. All following commands will use this speed unless a different speed is specified on that command.
  3. T – This is the “Turn” command. The first parameter is the number of degrees to turn. Plus values will cause a turn to the right and minus values will cause a turn to the left. The second parameter is the radius. As with the G command, the speed is optional.
  4. F – This is “Fini” and all routes must end with this command.