1 / 19

Exploring the programming and application of autonomous mapping robots

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 ?.

imelda
Download Presentation

Exploring the programming and application of autonomous mapping robots

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Exploring the programming and application of autonomous mapping robots Computational Modeling Shaun Allison Andrea Gawkins Raleigh Charter High School Jack Britt High School 2010

  2. 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.

  3. Our Autonomous Robot

  4. Programming languages and environments available to us

  5. NXT-G

  6. NXC (Not Exactly C)

  7. Physical Etoys

  8. Mapping Robot - 1

  9. 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

  10. 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

  11. Two Dimensional Arrays map[][] map[2][1] = true map[0][0] = false map[4][3] = false

  12. 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

  13. 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

  14. Mapping Robot - 2

  15. 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

  16. Conclusions

  17. 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/

More Related