Laboratory 3 - Navigation control (assigned on Sep 12)

Objective

Implement point-to-point navigation control as explained in lecture 3

Steps

  1. Implement one of the two "GoTo()" procedures.

  2. Tune the GAIN parameters to obtain a good behavior.
    Make sure to test your tuned GoTo() with many different goal points.
    Print the actual trajectory followed by the robot: (x,y) coordinates at each cycle.

  3. Implement the "Track()" procedure.
    It you may prefer to use GoTo2() for this one (why?)
    Make sure to test your Track() with many different paths.
    Print the actual trajectory followed by the robot: (x,y) coordinates at each cycle, and compare it with the given path.

Optional parts

  1. Change the sampling time to be 20 times slower or 20 times faster, and re-tune the gains: are they different? Why?

  2. Implement the other "GoTo()" procedure.
    Tune it and test is as above.

  3. [Advanced] Change your "GoTo()" procedure to include also an Integral term and/or a Derivative term. Can you observe an improvement in the behavior of the robot when going to a target point?

  4. [Advanced] Write a more general procedure that also accepts an orientation for the target position. Try to implement it using either the "divide et impera" approach or the MIMO one.

  5. [Advanced] Describe in your report how you would realize a proportional controller to solve the "osbtacle avoidance" problem, using input from the IR sensors. You do not need to actually implement it, but you may try if you wish!

  6. [Advanced] Describe in your report how you would realize a proportional controller to solve the combined "go-to-goal" and "osbtacle avoidance" problem. You do not need to actually implement it, but you may try if you wish!

  7. Include some obstacles in your playground, and write by hand a few paths to go from some point A to some point B, going around your obstacles. Try to lay down the waypoints in different ways: e.g., use just a few waypoints at the important turning points, or use many waypoints to mark precisely the path. Can you observe any difference? Why? Try to use look-ahead points. Try with a very cluttered obstacle course.

Report due: September 23

Discuss how the tuning of the parameters have been done, and show the values adopted

Specify which sampling time you have used.

Tell which goal points you have used, and show the trajectories made by the robot. Do that in a graphical format if you can, that is, put the (x,y) points generated by your robot in a file and use some program to make a plot (Matlab, Gnuplot, etc). You may also include a series of photos taken while your robot moves from start to end, especially if you did option 10.

Describe the optional parts, if you did any.