190 likes | 284 Views
Exploring the programming and application of autonomous mapping robots. Computational Modeling. Shaun Allison Andrea Gawkins Raleigh Charter High School Jack Britt High School . 2010. What is an Autonomous Mapping Robot ?.
E N D
Exploring the programming and application of autonomous mapping robots Computational Modeling Shaun Allison Andrea Gawkins Raleigh Charter High School Jack Britt High School 2010
What is an Autonomous Mapping Robot? • Without any human intervention it is able to create a map of the surrounding area on its own. • Programmers must give the robot the ability to decide where to move, and where it is safe to move. • Using Lego Mindstorms, we were able to make mapping robots that consisted of two different functions.
If current direction is at least 4 units away from the desired direction Start Sets Motor A’s power to 30 and Motor C’s power to -30 Sets Motor A’s power to 30 and Motor C’s power to 30 No Creates array map[], initializes sensors Yes Reset rotation sensor in Motor A Decides a place to move to on the map (adjacent square) Records starting direction from compass and starts a timer Sets Motor A’s power to 30 and Motor C’s power to -30 Displays the map on the screen If rotation sensor < desired distance Yes If timer < 1000 OR the current direction is at least 4 units away from the starting direction No Yes Sets Motor A’s power to 0 and Motor C’s power to 0 Plots a point on the map using the compass and ultrasonic sensor No
What is an Array? x[] distance[] x[0] = 3 x[3] = 9 x.length = 6 The mapped data in the current area is mapped in this format (polar coordinate system)… but the map is stored in a Cartesian coordinate system
Two Dimensional Arrays map[][] map[2][1] = true map[0][0] = false map[4][3] = false
How does it map? 110 110 degrees Robot 20 centimeters 0 30, 30 Obstacle x-offset: cos(110)*20 = -7 y-offset: sin(110)*20 = 19 23, 49 x: 30 - 7 y: 30 + 19
Challenges with Mapping Robot – 1 • Inaccurate compass • Inaccurate ultrasonic sensor • The whole robot had to spin, making readings even more inaccurate • Walls mapped were often curved when they shouldn’t be, because of the way the robot turned
Challenges with Mapping Robot – 2 • It was difficult to get the robot to turn accurately to the north, south, east, and west • Takes a long time with a lot of movements to generate a good map • Runs into walls often when not detected by simple mapping technique
Works Cited: Robots programmed with: NXT - http://mindstorms.lego.com/ NXC - http://bricxcc.sourceforge.net/nbc/ Physical Etoys - http://tecnodacta.com.ar/gira/projects/physical-etoys/ Physical Etoys is a modification of the program Squeak - http://www.squeak.org/