380 likes | 511 Views
Platforms & Tools for Mobile Networking. Hohyun Shim & Hanish Rathod (April 19, 2004). Robomote A tiny Mobile Robot Platform for Large-scale Ad-hoc Sensor Networks. Hohyun Shim ( shimho@ucla.edu ). Limitation before Robomote. In large-scale distributed robotics and sensor networks
E N D
Platforms & Tools for MobileNetworking Hohyun Shim & Hanish Rathod (April 19, 2004)
RobomoteA tiny Mobile Robot Platform forLarge-scale Ad-hoc Sensor Networks Hohyun Shim (shimho@ucla.edu)
Limitation before Robomote • In large-scale distributed robotics and sensor networks • Constraint in cost and size • Research Impossible
Intro of Robomote (1/2) • Based on small, efficient integrated circuits, actuators, sensors and communication circuits technology • New tiny mobile robot platform • Much low price : less than $150 • Much low space : approx. (3.6cm)^3 • 1300 times smaller than common Pioneer sized robot
Intro of Robomote (2/2) • Similar but not identical functionality as large platforms • Wireless network interface • Accurate odometry • Compass for navigation • Infra-red and bump sensor • Solar cell for longevity • Smart charging lithium-ion battery
Feature of Robomote Version 1 Version 2
Design Consideration • Size • Cost • Functionality • Trade-off between them
Size • Functionality is maximized at human scale • Nowadays MEMS and nano technologies make components much smaller • Too big robots require unreasonable size of space and cost • Pioneer footprint: 0.25(m^2) • Robomote footprint: 0.00114(m^2)
Cost • If too small, expensive due to the lack of off-the-shelf products • As small as off-the-shelf components can be provided • A basic Pioneer robot : $5000 • A Khepera I robot : $1800 • Robomote : $150
Functionality • Avoiding object • Odometry navigation • Compass navigation • On flat and featured office-like floor • Testing on the dynamic laboratory setting • 132 RM_OBJECT_DETECT during 3 h 30m • Trapped only two times • Localization and navigation in mobile sensor actuator network is still an open question
Hardware Design(1/2) • Board • 3.81cm*2.23cm, single printed • Amtel AT90S8535L 8-bit micro controller • Rich code base, availability of programmer tools • Connect to a Renemote (we will discuss later) • 5 infra-red transmitters • 2 front • 1 for each optical encoder • 1 facing back
Hardware Design(2/2) • Actuators • Two modified sub-micro servos • Diameter of the wheel : 2.54cm • Minimum odometric accuracy :7.9mm per optical tic mark • Compass • 2-axis Honeywell HMC1021 IC. • A 4-element wheatstone bridge (convert magnetic fields to differential output voltage) • Decide the direction(either North, South, East or West) • Not absolute, should be calibrated periodically.
Power Consumption • Consumes 102 A in sleep, 283 mA in active mode • 3.5 hours(full active), 131 days(sleep) – 3 *1.5AAA alkaline batteries (1635mAh) • 25 min(active), 12 days(sleep) – 3.7V Li-Ion battery (160mAh) • Solar cell can recharge Li-Ion battery (produce 12mA at 4.5V) – Robomote can always be on
Renemote • Renemote • The “Mote” component which a Robomote connects to (using serial port) • Offers the radio communications interface • RS232 serical command • Communication based on 19.2 Kbps OOK(On-Off Key) at 916.5MHz ISM • Aloha type scheme (listen before transmission, random back-off)
Software Design • Goals – object avoidance, odometric navigation and compass navigation • Divided into two parts • Control program on PC or Renemote • Robomote control program • Two loops in Robomote control program • 100Hz control loop • 7KHz sensor loop • When Interrupt occurs, OBJECT_DETECT is generated in control loop for object avoidance
Enabling Novel Research • Dynamic network topology(truly ad-hoc) • Routing protocol for ad-hoc routing protocols (directed diffusion) • Hundreds of laptops with 802.11b cards and move randomly in fixed area. • Swarm or flock type distributed artificial intelligence research (not simulation, but practical experiment)
Conclusion • Small and Inexpensive Robot (Robomote) • Can be used in large-scale sensor network research
The Player/Stage Projectfor Multi-Robot Systems (MRS) Hanish Rathod (hrathod@ucla.edu)
Player An Interface to the actuators and sensors
Player – Motivation • Prior robot interfaces: • Provided development tools for specific control philosophy • Provide a language specific library to which the user must link their programs • Confine the programmer to a single language • Player Goals: • Provide choice of control system while maintaining device abstraction and encapsulation • Allow the use of virtually any programming language
Player - Overview • Provides network access to robots and sensors • Includes device drivers for robot hardware • Includes visualization and debugging tools • Language & Platform independent interface • Client Libraries in C, C++, Java, Lisp & Python
TCP Socket Allows control of devices Multiple Connections Virtually any PL that provides socket support Client side PL & Platform independent Location Neutrality Opportunity for building distributed sensing and control systems! Player Motor Clients TCP Socket Sensor Actuator Player – The DesignClient Interface
Composed of a device interface and device driver Multiple drivers can support the same interface Robot bases made by ActivMedia, RWI and K-Team all use ‘position’ interface Directly linked to devices UNIX file model “read” for sensors “write” for actuators No device locking No queuing of commands Player Motor Clients Device Drivers Device Interface TCP Socket Sensor Actuator Player – The DesignDevice Model
Player - Opportunities • Embedded Systems • Player server binary is about 64 KB • Does not include any device drivers • Device driver system is modular • Small & Fast • Device Encapsulation • Players device model can be extended • Sophisticated sensing • Control Algorithms • Common device interface
Player - Examples • 50 Independent agents simultaneously control 1 robot through player • Team of robots access each other’s sensors. • “Pass-through”– Acts as a client to another Player server • That is, a proxy that forwards commands and data
Player - Future • Add User Datagram Protocol (UDP) • Allow support for multicast messaging instead of broadcast messaging
Stage Configurable Robot Simulator
Stage – Motivation • Stage Goals: • Support research into multi-robot systems • Enable rapid development of controllers that will eventually drive real robots • Enable robot experiments without access to the real hardware and environment • Enable “What If?” experiments • Aims to be efficient and configurable rather than highly accurate
Stage - Overview • Simulates large population of robots, sensors and environment • Define custom robots with parameterized devices • Import complex environments from graphic files .
Stage – The Design • Devices can be composed in tree structures to build up complex robots • Attempts to simulate in real-time • Performance with Pentium III 600 MHz Linux PC • Temporal resolutions of 0.02m • 200 sonar-guided robots • Temporal resolutions of 100ms • 15 laser-guided robots • Fast Mode – Does not wait for real-time clock
Stage - Validity • No guarantee! • However – Users have found that clients developed using Stage will work with little or no modifications with real robots! • Well-known vs. Home Grown • Open-Source allows for peer review & sharing of models .
Stage - Suitability • Good enough fidelity • Simple models • Computation scales linearly • Configurable, composable device models • Approximates the device (real or imagined) • Player interface • All sensor and actuator models are available through Player interface
Stage – Future Plans • Support for more robots and sensors • 3D Simulation environment • Abstract device interface for robot- independent code • Standard implementations for processing algorithms • Distribute Stage across cluster computers
Final Notes • Player permits any client, located anywhere on the network, to access any device • Player makes it very easy for clients to read data and send commands to any device on the network • Player enables code re-use and sharing • Stage allows for convenient and rapid evaluation of many clients • Stage enables experiment sharing • Both minimize client designs! • Player/Stage is Open Source, and available at http://playerstage.sourceforge.net
References • Gabriel T. Sibley, Mohammad H. Rahimi and Gaurav S. Sukhatme, “Robomote: A Tiny Mobile Robot Platform for Large-Scale Sensor Networks”, Proceedings of the IEEE International Conference on Robotics and Automation (ICRA2002), 2002 • Brain Gerkey, Richard T. Vaughan and Andres Howard. “The Player/Stage Project: Tools for Multi-Robot and Distributed Sensor Systems” Proceedings of the 11th International Conference on Advanced Robotices, pages 317-323, Coimbra, Portugal, June 2003 • Robomote: http://www-robotics.usc.edu/projects/robomote • Player/Stage: http://playerstage.sourceforge.net/index.html