Autonomous Referee Box and Visualization Tool for

Transcription

Autonomous Referee Box and Visualization Tool for
Autonomous Referee Box and Visualization Tool
for the Logistics League Sponsored by Festo
The Carologistics RoboCup Team
T. Niemueller1, D. Ewert2, S. Reuter2, A. Ferrein3
1
3
3
2
2
1
1
3
1
A. Burghof , B. Maleki-Fard , V. Mataré , T. Neumann , F. Nolden , J. Rothe , R. Schulz , A. von Wirth , F. Zwilling
1
KBSG, RWTH Aachen University; 2 Institute Cluster ZLW/IMA & IfU, RWTH Aachen University; 3 Aachen University of Applied Sciences
Autonomous Referee Box Overview
The LLSF at a Glance
The LLSF simulates logistics in a factory automation scenario
Knowledge-based game controller based on rule-based production system CLIPS
Up to 3 robots produce by moving pucks to machines according to a production specification
Game is (almost) fully observable by referee box
Standard hardware platform (Festo Robotino) with custom sensor and computing extensions
Reads puck IDs via RFID, instructs light signals of machines
Autonomous referee box instructs and monitors the game
Cannot detect when puck moved out of machine area
Dynamicity and uncertainty through randomized orders, and down and delivery times
Challenges
⇒ Integrate overhead camera system from Small Size League extended by tracking
Project Website
Robotic system integration differentiating mostly in software
Flexible production through planning and multi-robot coordination
http://www.robocup-logistics.org/refbox
The RoboCup Logistics League Scenario
R2
T
M10
Principles
M7
T3
T2
Type
Name
M9
M6
M2
T3
M5
T3
M8
Robot Insertion
T2
Delivery Zone
Input Storage
T1
M4
Two Game Phases
D1
D2
D3
T2
M1
T1
Machine Space
M3
T1
Exploration: recognize machines by light signal and report to refbox in 3 minutes
Production: produce and deliver as many products as possible in 15 minutes
Machine and Puck
S0
Production Tree and Orders
T1
One team of up to three robots on the playing field
Standard hardware platform – additional sensors and computing devices allowed
Pucks represent products, carry ID on RFID (unreadable by robot)
Light signals with RFID device represent machines on the factory floor
Game is monitored and instructed by autonomous referee box
T1
Carologistics Robotino
S1
T2
Randomized orders of several product variants are posted by the referee box
Production tree requires supplying input to and sequencing of machines
S2
S0
S0
T3
P1
Technical Challenges
Machine
Facing
Direction
R1
S0
Navigation: move to specified point around obstacles with collision avoidance
Whack-A-Mole: visit as many signals as possible of a random activation sequence
Autonomous Referee Box
T1
S1
Combined production tree for product variant P1
RoboCup Grant for an Overhead Camera System
Properties of the Game
Shell Control Program
Overhead Vision System
(Almost) fully observable
Requires machine controller
Hard to oversee for human
⇒ Develop flexible Referee Box
Technical Foundation
Knowledge-based system
Based on CLIPS rule-based
production system
Formal specification of rules
Protobuf-based communication
protocol
Additional Benefits
Full MongoDB-based logging of
– game-relevant output
– CLIPS execution trace
– robot-refbox communication
Off-line simulation mode
Multi-field synchronization
Recorded data for benchmarking
Example CLIPS Rule
( defrule machine-proc-start
; abbr . machine processing rule
( gamestate ( state RUNNING ) ( phase PRODUCTION ) ( game-time ?gt ) )
( rfid-input ( machine ?m ) ( has-puck TRUE ) ( id ?id &~0) )
( machine ( name ?m ) ( mtype ?mtype &~ DELIVER &~ TEST &~ RECYCLE ) )
( machine-spec ( mtype ?mtype ) ( inputs $?inputs )
( proc-time ?pt ) )
( puck ( id ?id ) ( state ?ps &:( member$ ?ps ?inputs ) ) )
?mf <- ( machine ( name ?m ) ( mtype ?mtype ) ( state IDLE | WAITING )
( loaded-with $?lw &:( not ( any-puck-in-state ?ps ?lw ) ) ) )
=>
( if ( = (+ ( length$ ?lw ) 1) ( length$ ?inputs ) ) then
then ( bind ?proc-t ?pt ) ; last puck to add
else ( bind ?proc-t ?*INTERMEDIATE-PROC-TIME* )
)
( modify ?mf ( puck-id ?id )
( state PROCESSING ) ( proc-start ?gt ) ( proc-time ?proc-t )
( desired-lights GREEN-ON YELLOW-ON ) )
)
Recognized Data
Robot IDs and positions (visual patterns)
Puck positions (orange blobs)
Game Visualization for the Audience
Start of production cycle
Pattern matching from fact base
Mark machine as PROCESSING
For visitors the rules are hard to grasp without explanation
Visualize the game from the perspective of the referee box
Explain the game with additional web pages shown to the left of the program
Value to the Participants
Puck out of machine area cannot be detected
⇒ Overhead camera system
Uses the Small-Size-League vision system
Extend by tracking of multiple pucks
Sponsored by RoboCup grant
First prototype tested at RoboCup 2013
to keep full observability
Explaining the Game to the Audience
Technical challenge requires robot positions
⇒ Requires careful competition design
Example
Visualization of both, the pose reported by the robots and by the overhead vision system
May later be extended for game instruction by referee
⇒ Make games more attractive and easier to understand
RoboCup Symposium 2013, Eindhoven, Netherlands
Required Extensions
Puck position tracking, e.g. to recognize
when a puck of a processing machine is
moved out of the machine area