Top Banner
By : Awang Hendrianto Pratomo
94

Introduction to Robot Soccer

Nov 28, 2014

Download

Documents

dek0ne
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to Robot Soccer

By :

Awang Hendrianto Pratomo

Page 2: Introduction to Robot Soccer

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.

Page 3: Introduction to Robot Soccer

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".

Page 4: Introduction to Robot Soccer

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

Page 5: Introduction to Robot Soccer

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

Page 6: Introduction to Robot Soccer
Page 7: Introduction to Robot Soccer

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.

Page 8: Introduction to Robot Soccer

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.

Page 9: Introduction to Robot Soccer

HuroSot

Page 10: Introduction to Robot Soccer

Movie Hurosot

Page 11: Introduction to Robot Soccer

HuroSot Robots

Page 12: Introduction to Robot Soccer
Page 13: Introduction to Robot Soccer

Robot Football

• What makes a robot intelligent?

• Intelligent information processing

• Sensors provide information for processing

Page 14: Introduction to Robot Soccer

Generations of Robots

Page 15: Introduction to Robot Soccer
Page 16: Introduction to Robot Soccer

The Common View

• Robot soccer is a grandchallenge of robotics andArtificial IntelligenceArtificial Intelligence

• A desired research andcompetition platform ofArtificial Intelligence

Page 17: Introduction to Robot Soccer

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

Page 18: Introduction to Robot Soccer

Understanding human soccer(single player)

initiativeapperceive

thinking

decision-makingaction

Page 19: Introduction to Robot Soccer

communication

Understanding human soccer(multi players)

I II III IV

communication

initiativeapperceive

thinking

decision-makingaction

Page 20: Introduction to Robot Soccer

RoboCup Simulation League

Page 21: Introduction to Robot Soccer

action

DecisionMaking

VisionBased

Vision-Based Remote BrainlessMulti-Robot System

MakingBasedaction

action

actionaction

Page 22: Introduction to Robot Soccer

Mirosot Middle League of Fira

Page 23: Introduction to Robot Soccer

Vision Information

DecisionMaking ‖Action

Vision-Based Brain-on-BoardMulti-Robot System

VisionBased

InformationExpress

tion

DecisionMaking ‖Action

DecisionMaking ‖Action

Page 24: Introduction to Robot Soccer

Middle Size Robot League of Robocup

Page 25: Introduction to Robot Soccer
Page 26: Introduction to Robot Soccer

• Wheeled robot

Car-like

tracklayer

• Legged robot

Advanced ImplementAdvanced Implement

• Legged robot

multi-leg (Sony AIBO)

biped (Humanoid)

Page 27: Introduction to Robot Soccer

Sony AIBO Robot League

Page 28: Introduction to Robot Soccer

Humanoid League

Page 29: Introduction to Robot Soccer
Page 30: Introduction to Robot Soccer

Humanoid League (Robocup)

Page 31: Introduction to Robot Soccer

Humanoid League (Robocup)

Page 32: Introduction to Robot Soccer

Humanoid League (Robocup)

Page 33: Introduction to Robot Soccer

Humanoid League (Robocup)

Page 34: Introduction to Robot Soccer

Humanoid League (Robocup)

Page 35: Introduction to Robot Soccer
Page 36: Introduction to Robot Soccer

MIABOT Systems

Page 37: Introduction to Robot Soccer

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.

Page 38: Introduction to Robot Soccer
Page 39: Introduction to Robot Soccer

Specification

Page 40: Introduction to Robot Soccer

Specification

Page 41: Introduction to Robot Soccer

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.

Page 42: Introduction to Robot Soccer

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 >"

Page 43: Introduction to Robot Soccer

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

Page 44: Introduction to Robot Soccer

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

Page 45: Introduction to Robot Soccer

Stepwise movement

• [<] - "turn left"

• [>] - "turn right"

• [^] - "step forward"

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

Page 46: Introduction to Robot Soccer

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.

Page 47: Introduction to Robot Soccer

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"

Page 48: Introduction to Robot Soccer

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.

Page 49: Introduction to Robot Soccer

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 [~].

Page 50: Introduction to Robot Soccer

Robot Vision

Page 51: Introduction to Robot Soccer

Robot FootballSystem Overview

Page 52: Introduction to Robot Soccer

Robot Football

• Sensors used in Robotics:

– Camera

– Infra-Red Distance Sensors

– Laser Range Finders– Laser Range Finders

– Ultra Sonics ( Sonar)

– Simple switches

– Gyros

– …

Page 53: Introduction to Robot Soccer

Robot Football Image Processing

Page 54: Introduction to Robot Soccer

Robot Football Image Processing

Page 55: Introduction to Robot Soccer
Page 56: Introduction to Robot Soccer
Page 57: Introduction to Robot Soccer

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

Page 58: Introduction to Robot Soccer

Vision System at JUST

Page 59: Introduction to Robot Soccer

Vision Systems

Page 60: Introduction to Robot Soccer

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 )

Page 61: Introduction to Robot Soccer

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.

Page 62: Introduction to Robot Soccer

Vision Systems

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

Page 63: Introduction to Robot Soccer

Vision System

• From Blobs to Robots: Blob Linking

……

• Link Team colour with ID colour

Page 64: Introduction to Robot Soccer

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 )

Page 65: Introduction to Robot Soccer

Robotic SoccerProgrammingProgramming

Page 66: Introduction to Robot Soccer

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

Page 67: Introduction to Robot Soccer
Page 68: Introduction to Robot Soccer
Page 69: Introduction to Robot Soccer
Page 70: Introduction to Robot Soccer

Software Component &Programming FrameworkProgramming Framework

Page 71: Introduction to Robot Soccer

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

Page 72: Introduction to Robot Soccer

SIMULATOR

Page 73: Introduction to Robot Soccer

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

Page 74: Introduction to Robot Soccer

SIMULATOR vs Real-System

Page 75: Introduction to Robot Soccer

SIMULATORDevelopment & Testing

Page 76: Introduction to Robot Soccer

SIMULATORFile Structure

Page 77: Introduction to Robot Soccer

SIMULATORFile Structure

Page 78: Introduction to Robot Soccer

Modify Project Setting

• Output the DLL file into the right folder:

• C:\Strategy\blue\

• and to rename the DLL file to Team1.dll

Page 79: Introduction to Robot Soccer

Strategy

Page 80: Introduction to Robot Soccer

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 )

Page 81: Introduction to Robot Soccer

Robot FootballStrategy – Role Selection

Page 82: Introduction to Robot Soccer

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

Page 83: Introduction to Robot Soccer

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.

Page 84: Introduction to Robot Soccer

Robot FootballStrategy - Guidance System

Page 85: Introduction to Robot Soccer

Robot FootballRobot Control

Page 86: Introduction to Robot Soccer

Robot FootballRobot Control

Page 87: Introduction to Robot Soccer

Goal Keeper

• Where will the ball hit the goal ?

Hint : Y = mx + c

Page 88: Introduction to Robot Soccer

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

Page 89: Introduction to Robot Soccer

Advanced Strategy:Avoidance with Vector Fields

Page 90: Introduction to Robot Soccer

Advanced Strategy:Waypoints

Page 91: Introduction to Robot Soccer

Advanced Strategy:Waypoints: Striker

Page 92: Introduction to Robot Soccer

Advanced Strategy:Waypoints: Defender

Page 93: Introduction to Robot Soccer

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?)

Page 94: Introduction to Robot Soccer

THANKS FORATTENTIONATTENTION