ME131 Lab 3

From Robotics Wiki

Jump to: navigation, search

Contents

Lab 3 - Robotic Path Planning

Objectives

  • Demonstrate some level of path planning on a real robot
  • Demonstrate obstacle avoidance on a real robot
  • Implementing one of the planning algorithms learned in class

Assignment

  • Choose any planning algorithm presented in class (e.g. Generalized Voronoi Diagram, Potential Field Methods, Bug I, Bug II, Tangent Bug, or make up your own!) to implement on the ER1s
  • For your chosen algorithm, do the following:

1. Implement the algorithm in Stage for Goal Search w/ Obstacle Avoidance

  1. Write a simple client-code that implements the Bug algorithm you chose and incorporates:
    • laser range data for the basic obstacle avoidance and/or boundary following
    • point-to-point controller for motion-to-goal control
  2. Demonstrate in Stage that your robot achieves a desired goal position of (2.5,2) using the configuration file bug_goal.cfg.
    • NOTE: The bug_goal.cfg file will position the robot at an offset amount from the origin (-2.0,0.0). You'll need to configure your odometry to recognize this initial offset, by using the SetOdometry command as follows:
    • pp.SetOdometry(-2,0,0)
  3. Log your robot position data and laser data. Write a MATLAB script (or some other plotting program) that replays the logged data in the global reference frame. What the TAs are looking for is a playback of the robot position in a world reference frame with laser data filling in the world with each timestep. Be sure to use all logged laser data so that the replay does not only play back the current scan from the laser scanner but rather the history of laser scans so the actual world environment can be built up as the robot traverses its path.
  4. Execute your Bug algorithm to achieve the said goal (with obstacle avoidance) in the Thomas laboratory.
    • NOTE: the final orientation of the robot at the goal position can be left arbitrary; also, the lab setup for the lab test will be as close to identical as possible in the bug_goal.cfg

Scheduling

You need to schedule a slot to conduct your robot experiments on the testbed.

Before you can test your algorithms on the robots, you have to demonstrate its functionality to the TA in Stage! You should NOT use your robot time to do code development or major debugging; otherwise be prepared to reschedule for another time slot or for a special appointment with the TA's.


ROBOT I

DATE/TIME NAMES
20-May, 2:00
20-May, 2:45 Benjamin Flora and Jeff Flanigan
20-May, 3:30
20-May, 4:15 Paul Hebert

ROBOT I (cont)

DATE/TIME NAMES
21-May, 2:00
21-May, 2:45 Jimmy Paulos and Albert Wu
21-May, 3:30
21-May, 4:15 Glenn, Annie, Pete