Talk:RunBot: a Robogame Robot

From AIRWiki
Jump to: navigation, search

Thesis should be find in the link.Submitted version of the thesis

Robot.jpg

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

Bottom plexi.png Side.png Ust.png Top.png

Mice

Lens setup.JPG
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
Detect 3.JPG
Detecting 4 blob colors
Detect 4.JPG


Motion Control

M control.JPG

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

FXA314-2T.jpg
  • 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

FXA317-2T.jpg
  • 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

FXA315-2T.jpg
  • 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