Laboratório de RoboCup Automa ção e Rob ótica · Motherboard: VIA EPIA M 933 mini-itx...
Transcript of Laboratório de RoboCup Automa ção e Rob ótica · Motherboard: VIA EPIA M 933 mini-itx...
1
Fernando RibeiroFernando Ribeiro
HowHow to to BuildBuild a Robota Robot……Fernando RibeiroFernando Ribeiro
Grupo de AutomaGrupo de Automaçção e Robão e Robóótica tica –– DEIDEI
UnivUniv. Minho . Minho -- GuimarãesGuimarães
Fernando RibeiroFernando Ribeiro
IndexIndex
RoboCup ChallengeRoboCup Challenge
RoboCup LeaguesRoboCup Leagues
Where to startWhere to start
Main considerations to build a mobile robotMain considerations to build a mobile robot
Software development problemsSoftware development problems
ConclusionsConclusions
Fernando RibeiroFernando Ribeiro
LaboratLaboratóório derio de
AutomaAutomaçção e Robão e RobóóticaticaUnivUniv. Minho, Guimarães, Portugal. Minho, Guimarães, Portugal
Fernando RibeiroFernando Ribeiro
RoboCupRoboCup
hhttp://ttp://www.robocup.orgwww.robocup.org
Fernando RibeiroFernando Ribeiro
After the Chess challenge…
The Challenge
Chess RoboCup
Environment Static Dinamic
Frames Step by step Real time
Available information Complete Incomplete
Sensor reading Simbolic Non-Simbolic
Control Central Distributed
Fernando RibeiroFernando Ribeiro
EnvironmentEnvironment
• Unknown number of robots
• No standard shape robots
• Variable speeds (up to 2-3 m/s)
• Public (lots of colours)
• Unknown lighting conditions
• Collisions possible
• Unknown Network traffic
• Variable number of entities
• Referee in the field
2
Fernando RibeiroFernando Ribeiro
FramesFrames
• Video images dependent
• Images always change
• 20 ms to process an image
• Variables change continuously
• Late network info
Fernando RibeiroFernando Ribeiro
Available InformationAvailable Information
• Localization
• Distance to obstacles
• Distance do the ball
• Localization of team members
• Always unreliable
• Instructions from referee
• Correctness of information
• Speed of robots is CRITICAL
• Image acquisition 20ms
• Image processing 20 ms
• Performing action >5ms
• Robot at 3 m/s => 13,5cm => Collision
Fernando RibeiroFernando Ribeiro
Sensor readingSensor reading
Typically�Vision and image processing
�Network info
�Infra-red
�Encoders on wheels +
�Ultra-sound
�Laser
�Micro-switches
�Digital campus
IMPORTANT RULE: All sensors on board
MINHO
Fernando RibeiroFernando Ribeiro
ControlControl
•Referee Box
•Cockpit computer
• 5 robots
•Network traffic
Fernando RibeiroFernando Ribeiro
RoboCup LeaguesRoboCup Leagues
4LL
MSL SSL
Humanoid
RESCUE
Fernando RibeiroFernando Ribeiro
Small Size LeagueSmall Size League
3
Fernando RibeiroFernando Ribeiro
Small Size LeagueSmall Size League
Fernando RibeiroFernando Ribeiro
Small Size LeagueSmall Size League
Fernando RibeiroFernando Ribeiro
Middle Size LeagueMiddle Size League
Fernando RibeiroFernando Ribeiro
Building a RobotBuilding a Robot……
Where to startWhere to startLEGOLEGO
Robotic Robotic KITKIT’’ss ((BotBot’’nn Roll)Roll)
Specially built platformSpecially built platform
RoboPartyRoboParty
MicroMouseMicroMouse, , ““RobôRobô BombeiroBombeiro””
““ConduConduççãoão AutAutóónomanoma””, , EurobotEurobot
RoboCup (Cooperation, RoboCup (Cooperation, ComunicationComunication ))
Advice: Advice: ““Read, HandsRead, Hands--on, Participateon, Participate””
Fernando RibeiroFernando Ribeiro
Educational Robots Educational Robots
Fernando RibeiroFernando Ribeiro
Robots on the marketRobots on the market
(Rug Warrior)(Rug Warrior)
4
Fernando RibeiroFernando Ribeiro
Robots on the marketRobots on the market
ElekitElekit, , MovitMovit
Fernando RibeiroFernando Ribeiro
Some considerations to build a Some considerations to build a
mobile robotmobile robot
Plataforma (Forma, material)Plataforma (Forma, material)
TracTracçção (tipo e Não (tipo e Nºº. de rodas) / Direc. de rodas) / Direcççãoão
Motores / RodasMotores / Rodas
ComputadorComputador
Hardware (I2C)Hardware (I2C)
Câmaras/VisãoCâmaras/Visão
ComunicaComunicaççãoão
Linguagem de ProgramaLinguagem de Programaççãoão
Sistema OperativoSistema Operativo
Fernando RibeiroFernando Ribeiro
PlataformaPlataforma
FormaForma
MaterialMaterial
Fernando RibeiroFernando Ribeiro
TracTracçção / Direcão / Direcççãoão
Fernando RibeiroFernando Ribeiro
TracTracçção / Direcão / Direcççãoão
3 rodas desfasadas entre si 1203 rodas desfasadas entre si 120ºº
4 rodas desfasadas entre si 904 rodas desfasadas entre si 90ºº
Um Motor para cada rodaUm Motor para cada roda
ContribuiContribuiçção de cada roda baseiaão de cada roda baseia--
se numa soma vectorialse numa soma vectorial
Fernando RibeiroFernando Ribeiro
Motores / rodasMotores / rodas
Maxon
Crouzet
Mecanarte, Trofa
Kornylak, USA
5
Fernando RibeiroFernando Ribeiro
Computer SystemComputer System
Motherboard: VIA EPIA M 933 mini-itx (já temos 1,7GHz)
Microprocessor: Low consumption (VIA C3 933MHz)
RAM: 256MB (266MHz speed)
Hard Disk: FLASH 512Mb
Slot: 1 PCI Slot (frame grabber)
Wireless Network: ASUS, IEEE 802.11b, 11Mbps
Power Supply: 50W ATX 12V
Battery:
Fernando RibeiroFernando Ribeiro
Computer SystemComputer System
eBox 2300
eBox 3800
FoxBoard EPIA PX 10000 Pico ITX
Fernando RibeiroFernando Ribeiro
HardwareHardware
Fernando RibeiroFernando Ribeiro
Cameras/MirrorsCameras/Mirrors
Fernando RibeiroFernando Ribeiro
Number of CamerasNumber of Cameras
Fernando RibeiroFernando Ribeiro
Images capturedImages captured
6
Fernando RibeiroFernando Ribeiro
Images capturedImages captured
Fernando RibeiroFernando Ribeiro
Minho team Vision HeadMinho team Vision Head
Fernando RibeiroFernando Ribeiro
Omni VisionOmni Vision
ADVANTAGES
• Full 360 degrees view
• Game entities are always visible
• Many mirror shapes available
DISADVANTAGES
• Supports can hide the image
• Use Trigonometric functions on software
• Back Lighting can be a problem
• Vibration
• Needs to be in the centre of the robot (calibration)
• Needs camera/mirror alignment
• Positioning only on the top for full vision
• Part of the image is not used (centre and corners)
• Expensive
Fernando RibeiroFernando Ribeiro
Wireless TCP/IP
Computer
Monitor
CommunicationCommunication
•Wi-Fi
•Bluetooth
•433 KHz
Fernando RibeiroFernando Ribeiro
Programming EnvironmentProgramming Environment
LANGUAGE
•C/C++
•Qt
• Pascal/Delphi
•MatLab
(OpenCV - biblioteca de visão)
OPERATING SYSTEM
•Linux
•Windows
•Other
Fernando RibeiroFernando Ribeiro
Vision conceptVision concept
)180cos(
)180sin(
0
0
+⋅−=
+⋅−=
α
α
radiusyy
radiusxx
if
ifXi0, Yi0 - image centre coordinates
α - level angle / central axis
radius - distance from pixel to image centre
Xf, Yf - final Cartesian coordinates
7
Fernando RibeiroFernando Ribeiro
Vision SystemVision System
Fernando RibeiroFernando Ribeiro
Image outputImage output
Fernando RibeiroFernando Ribeiro
Vision SoftwareVision Software
Fernando RibeiroFernando Ribeiro
Vision SystemVision System
Fernando RibeiroFernando Ribeiro
Cockpit ComputerCockpit Computer
Fernando RibeiroFernando Ribeiro
Four Legged League / Four Legged League / VisãoVisão
8
Fernando RibeiroFernando Ribeiro
Difficulties in visionDifficulties in vision
• Video (not pictures)
Cameras grab 25/30 frames per second
Some robots run at 2-3 m/s
Real Time algorithms
Software extremely optimized
• Image Quality
Noise
Colour temperature
Interlacing
Filters problems
Fernando RibeiroFernando Ribeiro
PixelPixel
Fernando RibeiroFernando Ribeiro
InconveniencesInconveniences
• Geometry
• Lighting (day light, reflections, etc…)
• Environment
Fernando RibeiroFernando Ribeiro
InconveniencesInconveniences
• Image vibration
• Different robots (cameras)
on the same robot/team
• Synchronization
Fernando RibeiroFernando Ribeiro
Virtual Sensors Virtual Sensors –– Colour FilterColour Filter
FLTC1=G,80,50,245,110 150
struct FILTRO_COR
{
struct fltc
{
char colour;
int x1, y1, x2, y2;
byte threshold;
int flag;
int max;
} F[MAX];
int n_FLTC;
int flagFLTCon;
int flagseerectangles;
int flagseeimage;
} FLTC;
Fernando RibeiroFernando Ribeiro
Virtual Sensors Virtual Sensors -- AreaArea
AREA1=R,125,180,205,195 140
struct AREAS
{
struct area
{
char colour;
int x1, y1, x2, y2;
dword threshold;
int flag;
} A[MAX];
int n_AREA;
int flagAREAon;
int flagseerectangles;
} AREA;
9
Fernando RibeiroFernando Ribeiro
Virtual Sensors Virtual Sensors -- HistogramHistogram
HIST1=5,170,310,190
struct HISTOGRAMA
{
struct hist
{
int x1, y1, x2, y2;
int peak;
int flag;
int max;
} H[MAX];
int n_HIST;
int flagHISTon;
int flagsserectangles;
} HIST;
Fernando RibeiroFernando Ribeiro
Virtual Sensors Virtual Sensors –– practical casepractical case
Fernando RibeiroFernando Ribeiro
Minho Team EvolutionMinho Team Evolution
Fernando RibeiroFernando Ribeiro
ChallengeChallenge
Fernando RibeiroFernando Ribeiro
• Robotics - Continuous Project
Research, Engineering, Teaching
• Scientific Objectives
• Multi-disciplinary area
(Computer science, electronics, mechanics)
• Hardware reliability
• Vision System is of extreme importance
• Image distortion (mirror)
• Software Optimization is EXTREMELY important
• Don’t expect results on the first year
ConclusionsConclusions
Fernando RibeiroFernando Ribeiro
ReferênciasReferências
(RoboCup)
http://www.robocup.org
(Lego)
http://www.legomindstorms.com
(RS Components)
http://pt.rs-online.com/web/
(SAR – Soluções Automação Robótica)
http://www.sarobotica.pt
(Grupo de Robótica - Univ. Minho)
http://www.robotica.dei.uminho.pt
(Rug Warrior e outros)
http://www.acroname.com/
(Robos Elekit)
http://www.quasarelectronics.com
(Manual Bot’n Roll - RoboParty)
http://www.robotica.dei.uminho.pt/temp/BotnRoll_ONE_Manual.pdf
(Manual OpenCV)
http://www.robotica.dei.uminho.pt/temp/OpenCVReferenceManual.pdf