Title: BSAC Research Review Individual Project
1CotsBots An Off-the-Shelf Platform for
Distributed Robotics
Sarah Bergbreiter and Dr. Kris Pister Berkeley
Sensor and Actuator Center October 29, 2003
2History of CotsBots
1mm
1mm
Add Legs
Smart Dust (Warneke, et al. Sensors2002)
Microrobots (Hollar, Flynn, Pister. MEMS2002)
Add Robot Body
COTS Dust (Hill, et al. ACM OS Review 2000)
3Goals for CotsBots
- Open-source hardware and software platform for
distributed robotics - Small, cheap, off-the-shelf, and modular robots
- Emphasize application design software for large
(gt 50) robot networks - Reduce startup costs to demonstrate distributed
multi-robot algorithms
4Similar Robot Platforms
Size
- Khepera II expensive
- Robomote (USC) custom design
- Millibots (CMU) custom design
- Soccer Robots custom design
- Pioneer large and expensive
TARGET SPACE
Pioneer
Cost
Khepera
Millibots
Soccer Robots
Robomote
Microrobots
Off-the-shelf-1
5CotsBots Hardware
MotorBoard
Mica Mote
- Atmel ATmega128
- 4 Mhz 8-bit CPU
- 4KB RAM
- 128KB Program Memory
- RFM TR1000 radio
- 50 kb/s ASK
- Focused hardware acceleration
- Network programming
- Atmel ATmega8L
- 1-8MHz CPU
- 8KB Program Memory
- 1KB RAM
- 2 Discrete H-Bridge Circuits
- Speed and Direction Control of Motors
- up to 4A, 30V load
- 51-pin bus
Kyosho Mini-Z RC Car Platform (or others)
Sensor boards available including ADXL202e,
magnetometer, light, temp, sound, etc.
6CotsBots Hardware Stats
Size
6cm
13cm
6cm
Cost
- Power 1 hour on 4 AAA batteries
- Speed Over 120 cm/sec
- Turning Radius /- 30o
- 80 robots built thus far
Approximately 10 robots assembled per hour from
purchased components
Off-the-shelf-1
7CotsBots Software
- Use open-source NesC language and code provided
by TinyOS group (available on SourceForge) - TinyOS is an event-driven operating system useful
for behavioral and FSM-type applications - Try to abstract as much as possible from the
application writer (developer should focus on
algorithms) - Remain flexible by keeping component-based design
8CotsBots Software
- Use open-source NesC language and code provided
by TinyOS group (available on SourceForge) - TinyOS is an event-driven operating system useful
for behavioral and FSM-type applications - Try to abstract as much as possible from the
application writer (developer should focus on
algorithms) - Remain flexible by keeping component-based design
9CotsBots Software
- Use open-source NesC language and code provided
by TinyOS group (available on SourceForge) - TinyOS is an event-driven operating system useful
for behavioral and FSM-type applications - Try to abstract as much as possible from the
application writer (developer should focus on
algorithms) - Remain flexible by keeping component-based design
Robot Application
Mica Software
Timer
Robot
Radio
Motor Packet
Motor Software
Tank
Motor Packet
Motor1
Motor2
MotorBoard Software
10Building an Application Beep Diffusion
- Simple algorithm to spread robots apart
- Adjusting microphone gain adjusts distance robots
move apart
Send Msg/Beep
Time Slot Manager
My Slot
Heard Msg
Listen
Done Driving
Heard Beep
Done Driving
Obstacle
Drive
Hit Obstacle
11Building an Application Beep Diffusion
- Build the component graph
- Write some components (blue boxes are free!)
- Add a sensorboard with sensors required (4kHz
buzzer, mic, 2-axis accelerometer)
12Building an Application Beep Diffusion
- Implementation
- 5 robots in 10ft x 10ft area
- 3.5 second slot time
- Difficulties with buzzer/tone detector hardware
lead to inconsistent beep radius
13Conclusions
- Reduced the startup costs (time and money) for
designing distributed robot applications - A small, inexpensive, off-the-shelf, and modular
hardware platform has been built for distributed
robot applications - TinyOS provides an open-source software platform
which promotes abstraction, code re-use, and
flexibility - Simplified application development for simple
distributed algorithms
14Acknowledgements
- Doug Gage and DARPA/SDR, DARPA/NEST for funding
- Dr. David Culler and the TinyOS group
- Mica motes distributed by
- http//www.xbow.com
- TinyOS and CotsBots code available at
- http//www.sourceforge.net/projects/tinyos