Developing a Low-Cost Robot Colony General Dynamics Robotic Systems April 19, 2007 Felix Duvallet Colony Project, Robotics Club
Robotics Club at Carnegie Mellon Building robots for fun since 1984 Mostly undergraduates (over 100 members) Several ongoing projects Colony Battlebots RobOrchestra … Operates out of University Center basement Lab space Machine Shop www.roboticsclub.org
Colony Project Robotics Club Project, started in 2003 About 16 undergraduates Various years Different majors (mostly Engineering/CS) Four weekly meetings Sources of Funding: Small Undergraduate Research Grant Ford Undergraduate Research Grant Leverage existing research projects (Choset)
Motivation (Why Colonies) Colonies are everywhere in nature Robustness to robot failure Many tasks require cooperation Coverage may necessitate multiple agents Inherently interesting research problems Robots are awesome More robots are more awesome
Goals Low-cost robots (~$350) Homogeneous, distributed architecture (no super-node) Develop applications that are robust to non-idealities: Noisy sensor data Limited computation Communication delays Use the Colony as a research platform Emergent behavior Path planning Cooperation Control SLAM …
Where Colony is now Past: Present: Future: Substantial work has gone into developing the Colony hardware (robot, sensors) Infrastructure has been developed (wireless communication, localization) Present: Currently developing behaviors Autonomous recharging and self-sustainability Future: Extended duration, large-scale cooperation
Outline Past Work Behaviors Sustainability Future Work Robots Sensors Infrastructure Behaviors Sustainability Future Work
Robots
Colony Robot BOM Dragonfly Board ORBs Motors Range-Finders Bearing and Orientation Module (BOM) – robot localization. ORBs Motors Microcontroller Range-Finders Tri-color LED x 2 Diff-drive robot. Obstacle avoidance
Colony Robot BOM Dragonfly Board ORBs Motors Range-Finders USB Program robot User I/O Dragonfly Board ORBs Motors Range-Finders Enables robot recharging USB Charging Contacts
Microcontroller ATMega 128 Programmed in C 8MHz max 128Kbytes program memory Programmed in C arv-libc, avr-gcc open-source, multi-platform tools
Sensors
Sensors Standard off-the-shelf sensors Custom Sensor Sharp IR Rangefinder Bump Sensors Photoresistors Pyroelectric sensor (heat) Previously used Custom Sensor Bearing and Orientation Module (BOM)
Bearing and Orientation Module IR emitter/detector ring Emitter mode All emitters are powered simultaneously (beacon) Detector mode Detectors can be polled individually for analog intensity readings
Bearing and Orientation Module IR emissions from one robot are highly visible to all robots within line of sight All BOMs are coplanar across the colony Most excited detector is pointing in the direction of the emitting robot
Infrastructure Wireless Communication, Localization
Communication Network ZigBee wireless protocol XBee module (MaxStream) 30m indoor / 100m outdoor range Network features Ad-hoc Distributed Fault-tolerant Issues to consider Packet collisions No threading on robot Very low bandwidth
Fully-Connected Network Network Topology Problem: Packet collisions Token-Ring Network Fully-Connected Network
Network Topology Solution: Robots take turns, yet communicate with all other robots Leverage wireless network and BOM to perform communication and localization simultaneously
Wireless Network Integrate BOM and Wireless Robots beacon BOM when sending a wireless packet When receiving a packet, poll BOM for direction of sender robot Propagate connectivity matrix “Token” path “Token” path Wireless Data
Connectivity/Bearing Matrix You share your data 1 Robot 0 Robot 1 Robot 2 . 6 X 5 8 4 2 you And you receive these rows
Topological Localization Advantages Simple Fast No processing (use sensor data directly) Metric maps can be extracted: “Relative Localization in Colony Robots,” in Proceedings of the National Conference on Undergraduate Research, 2005
Robot Behaviors
Behaviors Individual Robot Light-seeking Feeding/Hunger Roaming Use sensor data to control actions Simple local interactions can yield complex global actions Emergent behavior Individual and multiple robot behaviors: Individual Robot Light-seeking Feeding/Hunger Roaming Obstacle Avoidance Homing Multiple Robots Lemmings Robots follow a leader in a chain Hunter/Prey (Tag) One prey, many hunters Robots can switch roles
Roaming/Obstacle Avoidance Robots uses Sharp IR rangefinder to avoid obstacles Behavior can be reproduced on many robots
Marching band Each robot programmed with own music sequence and dance moves Wireless used for synchronization between robots
Lemmings (multi-robot) Simple follow the leader Uses both the BOM and wireless network (localization)
Simulation Player/Stage Simulate larger number of robots Eases behavior development Additions to simulate the BOM
Lemmings (simulation)
Hunter/Prey (simulation)
Formation Control (simulator)
Cooperative Maze Solving Given a maze and a goal, robots cooperate to seek the goal Start
Cooperative Maze Solving Given a maze and a goal, robots cooperate to seek the goal Cooperation
Cooperative Maze Solving Given a maze and a goal, robots cooperate to seek the goal Goal
Cooperative Maze Solving Warning: Early Colony videos ahead
Cooperative Maze Solving
Cooperative Maze Solving (night vision)
Autonomous Recharging
Towards Self-Sustainability Goal is to develop a self-sustainable robot colony Operate unassisted for long periods of time Requirements Autonomous recharging Task allocation
Charging Station … One controller oversees up to 8 bays Power … Bay Bay Bay One controller oversees up to 8 bays Power supply powers bays and charges robots Wireless communication to talk to colony
Charging Bay Pair
Charging Bay Pair
Charging Station Controller Bays Salvaged robot controller with XBee module Acts as robot manager Bay allocation Scheduling Bays 12V supply Linear BOM Homing beacon
Robot charging Charge board Homing sensor Charges batteries Communicates with robot over I2C Homing sensor Leverage wireless and BOM localization
IR Beacon Homing Beacon Max pulse width n 3n 2n Left Center Right
Docking with Bay – Procedure Request charge bay, wait for accept Locate bay, get to homing range Home to docking bay Dock Wireless BOM/Wireless Homing Sensor Robot
Docking Video
Button press instead of battery threshold in the interest of time Incorporating a Task Roaming Button press instead of battery threshold in the interest of time
Future Work More complex tasks Extended duration Larger scale cooperation problems Robustness
Colony Members Felix Duvallet Christopher Mar Austin Buchan Brian Coltin Brad Neuman Justin Scheiner Siyuan Feng Duncan Alexander Cornell Wright Eugene Marinelli Suresh Nidhiry Andrew Yeager Greg Tress James Kong Kevin Woo Ben Berkowitz Jason Knichel Aaron Johnson Prof. George Kantor
www.robotcolony.org felixd@cmu.edu