1 / 40

Roomba Team Cleaner

Roomba Team Cleaner. Timothy Wong Zainul Charbiwala. Flow. Introduction and Motivation Components Simulation Real World Algorithms Demo Conclusion and Future Work Thanks!. Introduction and Motivation. Introduction. What is Roomba TeamCleaner ? Co-ordinated Autonomous Cleaning

maisie
Download Presentation

Roomba Team Cleaner

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. Roomba Team Cleaner • Timothy Wong • Zainul Charbiwala

  2. Flow • Introduction and Motivation • Components • Simulation • Real World • Algorithms • Demo • Conclusion and Future Work • Thanks!

  3. IntroductionandMotivation

  4. Introduction • What is Roomba TeamCleaner ? • Co-ordinated Autonomous Cleaning • Co-ordination through short range radio • Knowing where all Roombas are • Autonomous algorithms • Processing location information to figure out where next to clean

  5. Motivation • Efficiency • Co-ordinated cleaning would finish the job faster if more resources are available • Convenience • Not required to configure virtual walls to partition multiple Roombas to different areas • Extensibility to time-critical situations • Quickly exploring an emergency site

  6. Team CleanerComponents

  7. Components

  8. Team Cleaning inSimulation

  9. Simulation • RoombaClass • TeamCleaner Algorithm • RoombaSim

  10. RoombaClass • Model of Roomba behavior • Moving in a straight line at a specific velocity • When bumping into obstacles, turn around a random amount • When gone too far in a straight line, turn around a random amount • Provides accurate movement model • Provides accurate location

  11. RoombaSim and TCAlgo • RoombaSim • Provides a framework to test various co-ordination algorithms with a notion of simulated time • Uses RoombClass to model the Roomba behavior • TeamCleaner Algorithm • Generic placeholder for any co-ordination algorithm with appropriate exports and hooks

  12. Team Cleaning in the Real World

  13. Real World • Localization • Odometry • Cricket • Image Processing • Roomba Control • ‘Remote’ Control • Mote Control

  14. Localization • Odometry • Cricket • Image Processing

  15. Odometry • Roomba provides odometry data from its wheel encoders • Sensors give out distance and angle since last read • Full localization possible using only odometry if the starting point is known

  16. Odometry (contd...) • Issues with odometry from Roomba • Angle information goes completely off when the Roomba bumps into an obstacle • Distance readings are not accurate, are within 10-15% of actual value - probably due to wheel slipping • Using virtual walls to avoid bumping does not help

  17. Cricket • Using difference in propagation time of ultrasonic waves and radio waves to measure distance • Uses Robust Quadrilateral Approach of Cricket • Convenient and intuitive usage semantics

  18. Cricket (contd...) • Issues with using Cricket • Coverage • Data Inconsistency • Latency • Echo from obstacles • Mounting dependency • Startup order dependency • May require data from multiple Cricket to be combined to get a better estimate

  19. Image Processing • Find difference images • Filter out uninteresting differences • Compute location based on coordinates of colored patch and mapping from image co-ordinates to grid co-ordinates • Compute direction based on the previous position • Uses the Java Advanced Imaging API

  20. Image Processing (contd…) • Issues with Image Processing: • Heavy initial tuning required • Lighting conditions should not change • Require to do additional continuity tests if color coding is not to be used • Extending technique to use multiple cameras with overlapping coverage is non-trivial

  21. ‘Remote’ Control • Controlling the Roomba from a Host PC • RoombaCommSOS • Extending the RoombaCommSerial ‘protocol stack’ from Tod Kurt to use MicaZ motes with SOS • Issues with Remote Control • Packet loss • High Latency • Loss of autonomy (seemingly...)

  22. Mote Control • Controlling the Roomba from the MicaZ itself • Required changes to SOS UART driver • Porting of Java based RoombaComm driver to SOS • No UART buffering

  23. RoombaComm Driver

  24. RoombaMote Module

  25. Roomba Display

  26. Team CleaningAlgorithms

  27. Algorithms • (Somewhat) Random Traversal • Dirty Neighbor • Uncleaned Neighbor • Dirtiest Neighbor • Longest Line of Dirty Neighbours

  28. Random Cleaning

  29. Dirty Neighbor

  30. Uncleaned Neighbor

  31. Dirtiest Neighbor

  32. Longest Line of Dirty Neighbors

  33. Performance Random Dirty nbor Uncleaned nbor Dirtiest nbor Most dirty nbors Coverage Vs Time

  34. Demo

  35. Demo • RoombaDisplay • Simulation • Real World

  36. Conclusion

  37. Conclusion • Roomba is not a generic robotics platform • SOS’ event driven model is not too convenient for programming • Atmel AVR is difficult to debug ‘in system’ on a mobile platform • Avrora is a great tool but has its limitations

  38. Conclusion • Localization is a hard problem to solve • Cricket does not solve the problem • Latency and loss issues using MicaZ radio • Difficult to capture real world behavior accurately in a simulation model !

  39. Future Work • Localization: Using technique similar to an optical mouse • Localization: Using an Inertial Measurement Unit • Localization: Using RSSI to indicate closeness • Algorithms: Virtual Partitioning • Simulation: Adding an obstacle mask

  40. Thanks! • NESL • Thomas, Ram, Simon, Roy, Anna, Jonathan

More Related