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