Talk:RunBot: a Robogame Robot
Thesis should be find in the link.Submitted version of the thesis
Contents
Requirements
The robot should have:
- a dimension of about 25cm of radius, 20 cm height
- a speed of about 1 m/sec
- omnidirectional movement (Kamro wheels)
- sensors to avoid obstacles (sonars)
- a camera that can be moved up and down (and eventually left and right)
- wireless connection to a computer (Wi-fi)
- Bluetooth connection
- have power enough to move and transmit for at least 2 hours without recharging
- Have the possibility to recharge autonomously
The robot should cost as less as possible
File with considerations on parts to be ordered
TO DO
- Select HW
** ST ARM HW (ask Martino Migliavacca <martino.migliavacca@gmail.com>, GUMSTIX (http://www.gumstix.org/), ARDUINO (http://www.freeduino.org/), other...) ** Engines (WWW.robot-Italy.com, http://www.jonathan.it/) ** batteries (above, or standard A, AA or AAA type) ** Camera (ST smart cameras, with Ethernet wired link) ** Sonar (already available (see ROBOWII2.0)) ** Blue tooth and WI-FI
- Design body (structure and appearance), sensor placement, eventual movements of the camera
- Implement the robot
- test the robot with a simple game (e.g. RoboWII2.0)
Source Code Backup The backup file
Part List
Camera Wheels Motors Lenses Batteries
Design of The Robot
The full design of the robot in the Google SketchUp can be found in the following link. Robot Model
Mice
The results obtained so far with that setup is in the pdf file below.
The results obtained so far
Camera
The demo software given by ST is used in order to test the colr blob detection.
Detecting 3 blob colors
Detecting 4 blob colors
Motion Control
The angle between each wheel is 2*pi/3, which 120 degree.
The front wheels are making a pi/6 angle between the ground.
The positions of the wheels in the coordinate system is as follows.
Wheel 1 is (cos(pi/6),sin(pi/6)) = (0.866,0.5)
Wheel 2 is (cos(pi/6),sin(pi/6)) = (0.866,0.5)
Wheel 3 is (cos(3*pi/2),sin(3*pi/2))=(0,-1)
I wrote simulations in matlab, in two ways.
The first one is using the TriskarOdometry directly, and estimates the
necessary wheel speeds to reach the desired frontal, lateral and angular
speed of the robot.
The second one is instead giving the motor speeds in terms of rotations and
estimates the frontal ,lateral ,angular speed of the robot according to motor
speeds.
The matlab code for the motion control simulation is consist of the following files:
-motor_speed.m --This file which takes the motor speed as input and
calculates the Vf,Vl,w of the robot.
-TriskarOdometry.m --Giving the input Vf,Vl,w calculates the motor speed
-trajectory.m --The function which draws some trajectories based on the
following schema
1) DIRECT MOVEMENT THE HEAD OF THE ROBOT ALWAYS LOOKING IN A FIXED DIRECTION 2) ANGULAR MOVEMENT THE ROBOT WILL MOVE IN A CIRCULAR TRAJECTORY WITH FIXED HEAD DIRECTION 3) SPIN & GO THE ROBOT EITHER GOES ANGULAR BUT THE HEAD POSITION IS ALSO CHANGES 4) SPIN & GO DIRECT THE ROBOT EITHER GOES DIRECT BUT THE HEAD POSITION IS ALSO CHANGES
-direc_motion.m --DIRECT MOVEMENT
-angular_motion.m --ANGULAR MOVEMENT
-spin_go.m -- SPIN & GO
-spin_go_d.m --SPIN & GO DIRECT
-draw_arrow.m --A function that is used to draw arrow.
File with the matlab files listed above.
Processor Comparison
This is the processor comparison table, the cells without entry is left blank
Name | Clock Speed | Ram | Storage | Onboard Devices | Power Consumption | Price | OS | Source Page | |
---|---|---|---|---|---|---|---|---|---|
1 | ESOM270 | PXA270@520MHz | 128 MB SDRAM | 32 MB FLASH PMIC | USB device,Camera interface(QCI),USB host | 0.8 W @ Full running Mode,100mW @ Deep Sleep mode | 76 € | Comes with preinstalled uboot & Linux 2.6.25 or eboot Windows CE 6.0 R2 | http://www.e-consystems.com/esom270.asp |
2 | IGEPv2 BOARD | OMAP3530@720 Mhz | 512MB RAM | 512MB ONENAND-FLASH | Ethernet 10/100 Mb BaseT.,Wifi IEEE 802.11b/g + Bluetooth 2.0 (Integrated antenna).,1 x USB OTG,1x USB Host | 145 € | IGEPv2 running Ubuntu 9.04 | http://www.igep-platform.com/index.php?option=com_content&view=article&id=46&Itemid=55 | |
3 | Em-x270 | Intel's XScale PXA270 CPU, up to 520 MHz | 128 Mbyte SDRAM | 512 Mbyte Flash Disk | WLAN / WiFi 802.11b/g Interface,Bluetooth interface,Slave and host USB ports, including keyboard and mouse support,100 Mbps Ethernet port | 0.2 - 2 W | 76 $ | ce OR linux | http://www.compulab.co.il/x270cm/html/x270-cm-datasheet.htm |
4 | S3C2440 Core Board II | Samsung S3C2440A based on ARM920T, 400MHz | 64MB SDRAM | 64MB NAND Flash | 2-ch USB Host controller / 1-ch USB Device controller (ver 1.1),Camera interface ,(Max. 4096 x 4096 pixels input support. 2048 x 2048 pixel input support for scaling) | 110$ | Windows CE4.2/5.0, 6.0 and Linux2.6 | http://www.embedinfo.com/en/list.asp?id=64 | |
5 | Overo™ Air COM [GUM3503A] | OMAP 3503 Application Processor with ARM Cortex-A8 CPU 600 MHz | 256MB RAM | 256MB Flash | 802.11(g) and Bluetooth®,USB OTG signals, USB HS Host | 199$ | Linux 2.6.31 or higher OpenEmbedded | http://www.gumstix.com/store/catalog/product_info.php?products_id=226 | |
6 | MX31 TurboG5 Module | Freescale i.MX31 @ 532MHz | 128 MB of Mobile DDR | 32 MB of Flash | Support for 802.11b/g embedded wireless module,One SD/MMC card slot,One USB 2.0 On-The-Go (OTG) port (H/F/L speed),One USB 2.0 host port (H/F/L speeds),One Camera Sensor Interface,One 10/100BASE-T Ethernet port | Windows CE 5.0 and 6.0 Linux | http://www.eurotech-inc.com/single-board-computer-imx31-com-turbog5.asp |
Motor Suggestion
http://www.pololu.com/catalog/product/1092
no load speed: 500 rpm stall torque: 29 kg-cm ~= 0.282 Nm
maximum power output = Pmax = 26.190 rad/s * 0.141 Nm = 3.692 W occuring at W= 250 rpm and t=0.141 Nm
http://www.pololu.com/catalog/product/1085/
no load speed: 470 rpm stall torque : 7 oz ( 0.5 kg-cm ) ~= 0.049 Nm
maximum power output = Pmax = 24.619 rad/s * 0.0245 Nm = 0.603 W occuring at W=235 rpm and t = 0.0245 Nm
calculations made according to the reference paper at the link http://lancet.mit.edu/motors/motors3.html http://lancet.mit.edu/motors/motors4.html
Wheel Specification
2052-3/8X CAT-TRAK
Description
- Standard 2" O.D. - 3/8" Bore Double Row
- Metric 49.2mm O.D. - 9.5mm Plain Bore.
- Recommended max load.
- Steel Bottom = 25 lbs. 11.3kg.
- Plywood Surface = 15 lbs. 6.8kg.
- 200# Test Corrugated Bottom = 10 lbs. 4.5kg.
- Weight = 1.75 oz.
- Synthetic rubber coated polypropylene rollers.
- Price:$7.48.
- Source: http://store.kornylak.com/ProductDetails.asp?ProductCode=FXA314
2052BX CAT-TRAK
Description
- Standard 2" O.D. - 1/4" I.D. Bushing Double Row
- Metric 49.2mm O.D. - 6.35mm Bushing
- Recommended max load
- Steel Bottom = 25 lbs. 11.3kg
- Plywood Surface = 15 lbs. 6.8kg
- 200# Test Corrugated Bottom = 10 lbs. 4.5kg
- Weight = 1.75 oz
- Synthetic rubber coated polypropylene rollers.
- Price :$7.48
- Source: http://store.kornylak.com/ProductDetails.asp?ProductCode=FXA317
2052KX CAT-TRAK
Description
- Standard 2" O.D. - 1/2" Bore Double Row w/ Keyway
- Metric 49.2mm O.D. - 12.7mm Bore w/ Keyway
- Recommended max load
- Steel Bottom = 25 lbs. 11.3kg
- Plywood Surface = 15 lbs. 6.8kg
- 200# Test Corrugated Bottom = 10 lbs. 4.5kg
- Weight = 1.75 oz
- Synthetic rubber coated polypropylene rollers.
- Price :$7.48
- Source: http://store.kornylak.com/ProductDetails.asp?ProductCode=FXA315
Related Files
Matlab scripts, that are used to calculate, color; motor contributions; and object position.Helper scripts
The final version of microcontroller code with the robogame developed.Micro-code
Microcontroller code coming with ST, offers demo functionalities, and used mainly for color selection.Micro-code of ST
The parts that are used in the robot, placed in a box labeled as Anil Koyuncu. This document contains the list of items inside it.The part list