Unformatted text preview:

6 01 Spring Semester 2008 Design Lab 13 Issued Thursday May 8 1 MASSACHVSETTS INSTITVTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science 6 01 Introduction to EECS I Spring Semester 2008 Design Lab 13 Issued Thursday May 8 Do athrun 6 01 update to get the Desktop 6 01 lab13 designLab folder Note that problems 5 and 6 correspond to problems 14 and 15 from last week s design lab Where am I In this section of the lab we will explore the robot s ability to figure out where it is in a world if it knows the map of the world but not where it is to start with We ll use the brain in HGEstBrain py The file boxWorldSmall20 dat contains the ideal sensor readings at every x y pose on a 20 20 20 grid assuming that the walls of the boxWorldSmall in the simulator are fixed It takes a long time to compute them so it s better to do it off line and then just look them up when we re running the state update routine You can tell the program where to look for its data files by editing the line below replacing yourPathNameHere with your path name dataDirectory yourPathNameHere Desktop 6 01 lab13 designLab The setup method of the brain does a lot of work to initialize the state estimator and draw windows and then creates a sequential machine with some instances of the IPE class The IPE class is exactly like the one we used in lab 11 except that each time a macro action finishes executing it does a state update based on the current sonar readings and the change in odometry since the last update Then instead of calling cheatPose to determine where it is located after each macro action it asks the state estimator for the most likely state and uses that as the starting state for planning In all the previous labs when we issued a motor command to the robot it would continue moving with those velocities until it got the next command In this lab we ll change this approach because a belief state update can sometimes take a long time to compute and if we go for a long time without giving the robot a new command it could run into the wall before we have a chance to give it a stop command So this time we are going to run the robot in discrete motor mode where it moves for a tenth of a second at the commanded velocities and then stops until it gets another command A simulacrum of the real thing Now start up SoaR in simulation select the boxWorldSmall py from the lab13 designLab directory as the world and HGEstBrain py from the same directory as the brain When it starts up you ll see two new windows 6 01 Spring Semester 2008 Design Lab 13 Issued Thursday May 8 2 One window labeled Belief shows the outline of the obstacles in the world and a grid of colored squares Squares that are colored gray represent locations that partially or completely blocked by obstacles For the purposes of this window for each x y location we sum the probabilities over all the values for each location then we draw a color that s related to the probability bright red is most unlikely bright green is most likely black is in between At the absolutely most likely pose x y the robot is drawn with a nose in gold The other window labeled P O S shows each time a sonar observation o is received max Pr o x y for each square x y That is it draws a color that shows how likely the current observation was in each square using the most likely possible orientation Note though that the values drawn in this window aren t normalized they don t sum to 1 because it s possible for example to get a sonar reading that is unlikely to have been made at any location we ve scaled the colors to make them sort of similar to the colors in the belief window but they aren t directly comparable Watch the colored boxes and be sure they make sense to you Try kidnapping the robot dragging the simulated robot in the window and see how well the belief state tracks the change We recommend clicking the SoaR stop button then dragging the robot then clicking the run button It makes it less likely that the robot will get stuck in some random place along the way Question 1 Explain the relationship between the two windows and why they sometimes start out similar and diverge over time Question 2 Why is it that when you put the robot in a corner all of the corners have high values in the P o s window Question 3 Change the code so that after the robot reaches the goal it does a dance and then drives to goalPose2 Note that we have changed IPE to accept an additional argument that specifies that the location of the goal needs to be reached but does not require a particular orientation Question 4 Run this system on the robot in a pen that is configured to be the same shape as boxWorldSmall We have roughly half as many robot pens as pairs of students in the biggest lab section so you may have to share with one other group Be sure you understand where the origin is and how the box should be placed with respect to it Checkpoint 1 60 minutes Find a staff member and explain your answers to the previous set of questions A scanner brightly These problems will build on your lightBrain py from lab 12 When the robot gets to one of the locations where a light could be it should execute a behavior that scans for a light If a light is detected the robot should track the light until the desired brightness is reached The robot should stop but the behavior should not terminate If no light 6 01 Spring Semester 2008 Design Lab 13 Issued Thursday May 8 3 is detected after a full scan the behavior should terminate so that subsequent behaviors can take over One simple possibility for scanning is to have the robot rotate in place testing for a bright enough light we can do this using one or more calls to RotateTSM Another possibility is to scan the head by turning through a series of intermediate positions but because the head can turn a total of less than 180 degrees we could miss the light if it is behind the robot A combination of body and head scanning is also possible In constructing your scanning behavior you should use the TSM combination classes defined in TSMFull py In particular SequentialTSM list of TSMs takes a list of TSMs and executes them in order until each is done IfTSM condition sm1 sm2 takes a condition a function that is given the inputs and returns a boolean and executes sm1 or sm2 depending on whether the returned value is True or False …


View Full Document

MIT 6 01 - Design Lab 13

Documents in this Course
Week 1

Week 1

3 pages

Op-Amps

Op-Amps

8 pages

Op-Amps

Op-Amps

6 pages

Syllabus

Syllabus

14 pages

Planning

Planning

14 pages

Load more
Download Design Lab 13
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Design Lab 13 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Design Lab 13 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?