introduction to robot soccer

94
By : Awang Hendrianto Pratomo

Upload: dek0ne

Post on 28-Nov-2014

1.386 views

Category:

Documents


4 download

TRANSCRIPT

By :

Awang Hendrianto Pratomo

Introduction to robot soccer

• A soccer robot is a specialized autonomous mobilerobot that is used to play soccer. Mostly, this is donewithin the RoboCup or FIRA tournaments played eachyear (Wiki).

• Autonomous robots are intelligent machines capable ofthe tasks in the world of themselves, without explicitthe tasks in the world of themselves, without explicithuman control. Examples range from autonomoushelicopters to Roomba, the robotic vacuum cleaner.Autonomous robot was ascribed to robotics systemsfunction without human supervision. In fact, fromancient times, people have tried to build systems thathave no direct control.

RoboCup

• RoboCup is an international robotics competitionfounded in 1993. The aim is to developautonomous soccer robots with the intention ofpromoting research and education in the field ofartificial intelligence.artificial intelligence.

• The name RoboCup is a contraction of thecompetition's full name, "Robot Soccer WorldCup", But there are many other stages of thecompetition such as "Search and Rescue" and"Robot Dancing".

RoboCupRoboCup –– The Robot

World Cup Initiative

Japan, 1997:

Category of soccer:

Robot Soccer World Cup

Category of soccer:

Simulation (11:11)

Small Size (5:5)

Middle Size (4:4)

SONY Legged

Humanoid League

Junior Rescue

FIRAFIRA –– Federation of InternationalFederation of International

Robot Soccer AssociationRobot Soccer Association

KAIST,Korea,1996KAIST,Korea,1996::

CategoryCategory::

Robot Soccer World Cup

CategoryCategory::

MiroSot(3:3, 5:5)MiroSot(3:3, 5:5)

NaroSot(5:5)NaroSot(5:5)

RoboSotRoboSot

KheperaSotKheperaSot

SimuSot(5:5, 11:11)SimuSot(5:5, 11:11)

Benchmark TeatBenchmark Teat

Popular FIRA Leagues

SimuroSot

• SimuroSot is a simulation of a MiroSot game.It is a league in its own right.

• The Strategy for the SimuroSot is an• The Strategy for the SimuroSot is anexchangeable software module ( DLL ).

• Every team writes a strategy module and letsit compete. The Simulator was written inMacromedia Studio.

Popular FIRA Leagues

HurSot:

• HuroSot is a FIRA league that is played with humanoidrobots.

• In the smallest category they are limited to 50cmheight and must have all vision and processingheight and must have all vision and processingonboard. The league has recently gained popularity.

• There are several challenges that the robot attemptsto gain points in the HuroSot competition: Marathon,Penalty shootout,

• Basketball, Sprint, Obstacle Run, walk over uneventerrain and a 3 aside football match.

HuroSot

Movie Hurosot

HuroSot Robots

Robot Football

• What makes a robot intelligent?

• Intelligent information processing

• Sensors provide information for processing

Generations of Robots

The Common View

• Robot soccer is a grandchallenge of robotics andArtificial IntelligenceArtificial Intelligence

• A desired research andcompetition platform ofArtificial Intelligence

Artificial Intelligence

• Many kinds of definition

• In short, artificial intelligence isthe understanding andimplementation of humanimplementation of humanintelligence, including

apperceive

thinking and decision-making

action and expression

Understanding human soccer(single player)

initiativeapperceive

thinking

decision-makingaction

communication

Understanding human soccer(multi players)

I II III IV

communication

initiativeapperceive

thinking

decision-makingaction

RoboCup Simulation League

action

DecisionMaking

VisionBased

Vision-Based Remote BrainlessMulti-Robot System

MakingBasedaction

action

actionaction

Mirosot Middle League of Fira

Vision Information

DecisionMaking ‖Action

Vision-Based Brain-on-BoardMulti-Robot System

VisionBased

InformationExpress

tion

DecisionMaking ‖Action

DecisionMaking ‖Action

Middle Size Robot League of Robocup

• Wheeled robot

Car-like

tracklayer

• Legged robot

Advanced ImplementAdvanced Implement

• Legged robot

multi-leg (Sony AIBO)

biped (Humanoid)

Sony AIBO Robot League

Humanoid League

Humanoid League (Robocup)

Humanoid League (Robocup)

Humanoid League (Robocup)

Humanoid League (Robocup)

Humanoid League (Robocup)

MIABOT Systems

Introduction

• The MIABOT Pro is a fully autonomousminiature mobile robot. The latest BT versionfeatures bi-directional Bluetoothcommunications, which provides a robustcommunications, which provides a robustfrequency hopping wireless communicationsprotocol at 2.4GHz.

Specification

Specification

Standard Command Protocol

• All commands begin with the command-startcharacter '[', and end with the commandendcharacter ']'. The first character after '[' identifiesthe command, after that bytes are free-format,the command, after that bytes are free-format,determined by the specific command used.

• Extra characters after command-arguments andbefore ']' are ignored and extra charactersbetween commands (after ']' and before '[') arealso ignored.

Simple commands

[s] - "stop"

• sets both wheel speeds to 0

[t] - "test"

test communications: Returns a string containing the

Standard Command Protocol

• test communications: Returns a string containing therobot-id, e.g. "<test#03>" for robot 3.

[?] - "version"

• Returns the powerup message, including the firmwareversion

• -e.g. "<Merlin Systems Corp. Ltd : Miabot Pro OS 2.1 >"

Parameter control

• Various control functions use stored ‘parameter’ values.• All values are integers, with a potential range of ±(2^31 » 1 billion).• They are accessed via the [.] command, which has a number of different

forms :–[.<name>] - "read param"• E.G. “[.xM]” , which might return “ xM = +00000007”.[.<name>=<value>] - "write param"[.<name>=<value>] - "write param"• E.G. “[.xT=-503]”, might return “ xT = -00000503”[.=] - "reset params"• All parameter values are reset to the factory defaults[.] - "list params"• This lists all params in order, e.g.• rT = +0000010• rI = +0000010

Speed control

• Wheel speeds are specified as a number with a fixed scaling, from0 to approximately 2000 maximum (positive or negative).

• The actual rate in terms of pulses-per-second is speed*50, so that aspeed of 1000 is actually 50,000 pulses per second, i.e. a linearspeed of approximately 2.0m/sec. (In practice, speeds of up to1000 are readily achieved, even when batteries are running low.)

[=<##l>,<##r>] - "set speed decimal"[=<##l>,<##r>] - "set speed decimal"

• Set wheel speed (decimal)

• <##l>is decimal number, controlling the left wheel set speed

• <##r>is decimal number, controlling the right wheel set speed

[-<#l><#r>] - "set speed byte"

• Set wheel speed (binary)

• <#l>is a single binary byte, controlling left wheel set speed

• <#r>is a single binary byte, controlling right wheel set speed

Stepwise movement

• [<] - "turn left"

• [>] - "turn right"

• [^] - "step forward"

• [v] - "step backward"• [v] - "step backward"

Distance-controlled commands• [m<#>] - "left by"

• [n<#>] - "right by"

• <#> is a single binary byte, 0-255, controlling the distance. 0 means‘forever’.

• The speed is the ‘turn rate’ (‘[x<’ or ‘[x>’) command setting, describedabove.

• The actual distance is the byte-value multiplied by 25, for a maximum of asomewhat more than a whole turn.somewhat more than a whole turn.

• [o<#>] - "forward by"

• [p<#>] - "backward by"

• <#> is a single binary byte, 0-255, controlling the distance. 0 means‘forever’.

• The speed is the ‘movement rate’ (‘[xv’ or ‘[x^’) command setting,described above.

• The actual distance is the byte-value multiplied by 25, for a maximum of asomewhat more than a whole turn.

Acceleration and Decelerationcontrols

[.rT] - "ramp time period"[.rI] - "ram• These two control maximum acceleration rates by limiting the rate of

change of the programmed speed to ‘rI’ speed units per ‘rT’ milliseconds.This applies to both acceleration and deceleration.

• Standard (reboot) settings are rT=10, rI=10.[.xS] - "distance-speed scaling"[.xS] - "distance-speed scaling"[.xT] - "distance threshold"• These two control the deceleration to stop at a fixed position (for a

distance-based command).• Speed during a distance-command is limited to ‘xS’ times SQRT(distance).• Speed is 0 (and distance operation terminates) when position-error < ‘xT’.• Standard (reboot) settings are xS=5, xT=10.p increment rate"

Sequence controls

• The robot has a “current test sequence” of stored commands that can be rewrittenor executed

• [~] - "do sequence"• Perform the current stored command sequence• [ N.B. '~' itself can be added at the end of a sequence, to make it repeat forever ]• [$] - "clear sequence"• Erase the stored sequence• Erase the stored sequence• [+<command>] - "add sequence command"• Add a command to the stored sequence• <command> is any other ordinary command (minus the usual square brackets)• [w<##>] - "wait time"• Used only within sequences, to pause sequence operation for a set time.• <##> is a decimal number, specifying the number of milliseconds to pause

sequence execution.

Sequence controls

• [$]• [+^]• [+w1000]• [+v]• [+w1000]• [+w1000]• [+=20,-20]• [+w2000]• [+s]• [+~]• This will cause the robot to move forward, pause 1 sec,

move back, pause again, spin slowly for 2 secs, then repeat.The sequence is run by issuing the command [~].

Robot Vision

Robot FootballSystem Overview

Robot Football

• Sensors used in Robotics:

– Camera

– Infra-Red Distance Sensors

– Laser Range Finders– Laser Range Finders

– Ultra Sonics ( Sonar)

– Simple switches

– Gyros

– …

Robot Football Image Processing

Robot Football Image Processing

Vision Systems

• The human eye can deal with a wide range of intensity (brightness).• A camera CCD only works with a very narrow range.• In order to make it easier for the camera there must not be any variation in intensity

across the field of view.• Spot lights are bright, however they have a wide variation in brightness (easily 500

Lux).• Therefore spotlights can not be used.• Fluorescent lighting tubes are the best. A diffuser on them improves the even• Fluorescent lighting tubes are the best. A diffuser on them improves the even

spreading of light further.• Even Lighting is important 1000 Lux

Vision System at JUST

Vision Systems

Vision Systems

• Image Processing:

• Must be very fast:

• 640x480 x 3Bytes x30 fps = 27.648 MByte/sec !

• Avoid Floating Point Calculations• Avoid Floating Point Calculations

• Avoid Convolution (kernel) based Filters

• Avoid Processing every Pixel

• Use Look up tables (e.g. RGB to HSI, aberration )

Vision Systems

• Algorithms to find coloured Regions “Blobs“:• Cross Scan• Sampling the image in a rough grid. When a coloured

pixel is found neighbouring pixels are scannedhorizontally and vertically in a cross to measure theextent of the blob. With an estimate of the extent ahorizontally and vertically in a cross to measure theextent of the blob. With an estimate of the extent anew centre is found and another cross scan takes place.

Vision Systems

• Cross Scan:• Scan horz. (find centre)• Scan vert. (in the horz. middle)• scan horz, (in the new vert. middle)• done• done

Vision System

• From Blobs to Robots: Blob Linking

……

• Link Team colour with ID colour

Vision System Calibration

• The robots colour patches are small, typicallybetween 6-15 pixel wide. This makesidentification difficult, and the calibrationprocess “delicate”.process “delicate”.

• It takes up to 1 hour to calibrate a robotfootball vision system. ( be patient )

Robotic SoccerProgrammingProgramming

History

• In the history of artificial intelligence and robotics, the year 1997willbe remembered as a turning point.

• In May 1997, IBM Deep Blue defeated the human worldchampion inchess. Forty years of challenge in the AI communitycame to a successful conclusion.came to a successful conclusion.

• On July 4, 1997, NASA's pathfinder mission made a successfullanding and the first autonomous robotics system, Sojourner,was deployed on the surface of Mars.

• Together with these accomplishments, RoboCup made its firststeps toward the development of robotic soccer players whichcan beat a human World Cup champion team.

• The first official RoboCup games and conference was held in1997

Software Component &Programming FrameworkProgramming Framework

SIMULATOR

• Without the need for robot and visionhardware, the problems of sensing and actingare reduced to non-issues

• SIMULATOR simulates the field dynamic – the• SIMULATOR simulates the field dynamic – themotion of the robots and the ball in a virtualplayground

• Thus, become possible to focus on gamestrategy development and “robotic soccer”theory Create

SIMULATOR

Simulator

• Simulator is compatible with RSE

• Frame rate RSE: 30 fps , Simulator 60fps

• Data in:

Position, Orientation of robotsPosition, Orientation of robots

• Data out:

Motor commands: wheel velocity

SIMULATOR vs Real-System

SIMULATORDevelopment & Testing

SIMULATORFile Structure

SIMULATORFile Structure

Modify Project Setting

• Output the DLL file into the right folder:

• C:\Strategy\blue\

• and to rename the DLL file to Team1.dll

Strategy

Robot FootballStrategy Overview

• Role Selection

( nearest to the ball ? behind the ball ? )

• Individual Player State Engine

( move, stop, turn, wait )( move, stop, turn, wait )

• Guidance System

( Trajectory following )

• Low Level Control

( Wheel speeds, slip )

Robot FootballStrategy – Role Selection

Robot FootballStrategy – Role Selection

• Goalkeeper:◦ Stay on the line, predict incoming ball◦ go out only when there is no danger

• Defender◦ Like goalkeeper, predict incoming ball and get in

• between ball and home side• between ball and home side◦ Kick the ball out of the area◦ Clear the ball from corners

• Striker◦ Get behind the ball in order to kick it towards the goal

• Assistant◦ If Striker / Defender fails, the ball will pass to the assistant

Robot FootballPlayer State Engine

• Striker• ball-goal line: Robot must approach from a direction in line

with the ball and the goal. A circle movement is simple,with constant velocity on both wheels (one faster than theother) the robot drives in a circle.

• Everything is moving, robot and ball, therefore prediction• Everything is moving, robot and ball, therefore predictionmust be used.

Robot FootballStrategy - Guidance System

Robot FootballRobot Control

Robot FootballRobot Control

Goal Keeper

• Where will the ball hit the goal ?

Hint : Y = mx + c

Role Selection

• Role selection Philosophies:

◦ Put closest player to the ball in charge

◦ Designate each player and area to play in

◦ Decisions influenced by if the player is in front of◦ Decisions influenced by if the player is in front ofor behind the ball

◦ Decisions influenced by attacking or defendingstrategy

• Decisions can be made locally, from a robotspoint of few -> Swarm behaviour

Advanced Strategy:Avoidance with Vector Fields

Advanced Strategy:Waypoints

Advanced Strategy:Waypoints: Striker

Advanced Strategy:Waypoints: Defender

Robot FootballBenefits for Students

• Provides practical experience to students

• Students get in touch with latest technology àproducing capable engineers for industry

• Students are able to publish scientific papers• Students are able to publish scientific papersas undergraduates

• Students get to travel around the world (nextFIRA WorldCups are in South Korea and inSouth Africa?)

THANKS FORATTENTIONATTENTION