laboratório de robocup automa ção e rob ótica · motherboard: via epia m 933 mini-itx...

9
1 Fernando Ribeiro Fernando Ribeiro How How to to Build Build a Robot a Robot… Fernando Ribeiro Fernando Ribeiro Grupo de Automa Grupo de Automação e Rob ão e Robótica tica – DEI DEI Univ Univ. Minho . Minho - Guimarães Guimarães Fernando Ribeiro Fernando Ribeiro Index Index RoboCup Challenge RoboCup Challenge RoboCup Leagues RoboCup Leagues Where to start Where to start Main considerations to build a mobile robot Main considerations to build a mobile robot Software development problems Software development problems Conclusions Conclusions Fernando Ribeiro Fernando Ribeiro Laborat Laboratório de rio de Automa Automaç ão e Rob ão e Robótica tica Univ Univ. Minho, Guimarães, Portugal . Minho, Guimarães, Portugal Fernando Ribeiro Fernando Ribeiro RoboCup RoboCup http:// ttp:// www.robocup.org www.robocup.org Fernando Ribeiro Fernando 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 Ribeiro Fernando Ribeiro Environment Environment • 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

Upload: others

Post on 13-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

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