1. A Hobby Robotics Recipe
How To Make Multi-Robot
Formation Control System
Keisuke UTO
@utotch
2. Motivation
• Denso.Inc Company Group(Car Equipment Company In Japan)
holds a idea contest “Muran”(means Eggs of dreams) every
other year
• Employee can submit ideas which they want to be come true and
if the ideas are adopted, they can get some money to make
them.
• I subscribed a idea of next page
3. Multi-Robot Formation Control by stroke input
You can line up Radio Controlled Cars by only drawing a curve!
Line up to a ‘S’ shape
Roger!!
If you input a stroke,
We finished line up!
Robots line up to be a shape of you input
4. How do I realize this idea??
I thought a implementation
of next page.
5. Rough Design of a implementation
USB Camera
ZigBee
WiFi
iPad
Swarm Robots
6. But, a budget of making this system was limited.
Can I make this system by a limited budget ??
It’s difficult to make robots which can move free
directions.
(It’s difficult to move free directions by normal 4
wheels cars)
I surveyed that how to make this system by using
market products.
7. Ideas of moving free directions system
Airtrex Omni Directional Drive Honda U3-X
Mechanum wheel
NISSAN Pivo2 Omni-Wheel
8. Can I get moving free directions system in market product??
WowWee.Inc ROVIO ($350)
Which has a camera, and can be controlled by WiFi
It’s too expensive if I buy it a lot.
http://www.wowwee.com/en/products/tech/telepresence/rovio/rovio
9. Since a budget is limited, I gave up to make my
system using market products. Then I decided to
make them by myself.
I didn’t predict many hard troubles of making
robot by myself…
10. Hardware design of meeting my budget
Tosa Electric.Inc(in Japan)
Appendix
18cm Omni-Wheel Kit 4 Wheel urethane omni-
14,500JPY
53,000JPY
Reasonable Version
wheel kit
I adapted this system which is most reasonable.
http://www.tosadenshi.co.jp/blog/18cm.html
14. Arduino FIO
Microcontroller ATmega328P
Operating Voltage 3.3V
Input Voltage 3.35 -12 V
Summary
Input Voltage for Charge 3.7 - 7 V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 8
DC Current per I/O Pin 40 mA
Flash Memory 32 KB (of which 2 KB used by bootloader)
SRAM 2 KB
2500 JPY EEPROM
Clock Speed
1 KB
8 MHz
Xbee can be attached directly
Analogue Input (x8)
Digital I/O (x14)
Enable PWM Output (x6)
15. ZigBee
One of specs of wireless communication in short distance
In Japan, 2.4GHz (250Kbps) band can be used.
Point-to-Point
Xbee Wireless Module(2500JPY) We can use Xbee as a pseudo serial port
Point-to-Multi-Point
http://www.switch-science.com/products/detail.php?product_id=96
23. How do I implement computer
vision system??
I implement them totally by myself .
24. But…, There were many difficult problem
to detect multiple 2D markers which were
placed a far distance from a camera…
25. Problems of image recognition
Image Capture Resolution:640x480
Impossible!
Problem
Inside pattern of markers are broken and lost information in
640x480 capture resolution. (This is not improved very much if I
use large size of markers)
Normal printed markers on a paper shine by light.
26. Problems of image recognition
made black parts of markers with not paper but cloth
changed capture resolution to 960x720
tune camera’s exposure setting
tune camera position & direction
Redesign marker pattern with Error Correction Code
28. Homography Calcuration
Calibrating by 4-point algorithm previously
Convert initial view to top view and control robots positions to be a
desired shape
29. Design of Error Correction Code
Reed-Solomon Code
Ex) CD, QR Code
I gave up to adopt this because of implementing cost
Hamming Code
1bit error can be corrected
I adopted this because implementation is simple
30. Implementation of iPad Event Handling
WiFi
Web Server (Jetty)
Send touch events by Ajax
Matlab
Image Robots
Recognition
Control
Xbee Service
31. Implementation of Feedback Control
PID Control
P(Proportional gain)
I(Integral gain)
D(Derivative gain)
Control input value in Eliminate a offset by Improve response sensitivity
proportion to a difference
integrating differences
by derivative of difference
Difference
Difference
Difference
Offset
Time
Time
Time
32. … Then I can all the way to make my system.
I wanted to implement collision avoidance
system but I didn’t have time…
33. Final System Design
USB Camera
ZigBee Wireless (Detect Robots
communication
Positions)
2D Code
(with Error Correction)
PC
WiFi
Stroke Input on iPad
Swarm Robots (with Omni-Wheels)
34. A Scene of Idea Contest Exhibition
Controlling a swarm of robots by drawing on your iPad
Picture by @Cherenkov Thanks!
http://d.hatena.ne.jp/Cherenkov/20101115/p1
35. You can watch a movie on YouTube
http://www.youtube.com/watch?v=SzXFGeB6Hxs