A Hobby Robotics Recipe How To Make Multi-Robot Formation Control System Keisuke UTO @utotch
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
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
How do I realize this idea??I thought a implementationof next page.
Rough Design of a implementation USB Camera ZigBee WiFi iPad Swarm Robots
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 freedirections.(It’s difficult to move free directions by normal 4wheels cars)I surveyed that how to make this system by usingmarket products.
Ideas of moving free directions system Airtrex Omni Directional Drive Honda U3-X Mechanum wheel NISSAN Pivo2 Omni-Wheel
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
Since a budget is limited, I gave up to make mysystem using market products. Then I decided tomake them by myself.I didn’t predict many hard troubles of makingrobot by myself…
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
Robot Implementation(detail) Micro Computer (Arduino FIO) Motor IC x 4 (Toshiba TA7291P) Omni-Wheel
I introduce some parts and technologies of making my system
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 KB2500 JPY EEPROM Clock Speed 1 KB 8 MHzXbee can be attached directlyAnalogue Input (x8)Digital I/O (x14)Enable PWM Output (x6)
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-Pointhttp://www.switch-science.com/products/detail.php?product_id=96
How do I implement computervision system??I implement them totally by myself .
But…, There were many difficult problemto detect multiple 2D markers which wereplaced a far distance from a camera…
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.
Problems of image recognition made black parts of markers with not paper but clothchanged capture resolution to 960x720tune camera’s exposure settingtune camera position & directionRedesign marker pattern with Error Correction Code
Homography Calcuration Calibrating by 4-point algorithm previously Convert initial view to top view and control robots positions to be adesired shape
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
Implementation of iPad Event Handling WiFi Web Server (Jetty) Send touch events by Ajax Matlab Image Robots Recognition Control Xbee Service
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 sensitivityproportion to a difference integrating differences by derivative of difference Difference Difference Difference Offset Time Time Time
… Then I can all the way to make my system.I wanted to implement collision avoidancesystem but I didn’t have time…
Final System Design USB Camera ZigBee Wireless (Detect Robots communication Positions) 2D Code (with Error Correction) PC WiFiStroke Input on iPad Swarm Robots (with Omni-Wheels)
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
You can watch a movie on YouTube http://www.youtube.com/watch?v=SzXFGeB6Hxs