Robot Sports Team Description Paper
Ton Peijnenburg, Charel van Hoof, Jürge van Eijck
VDL Enabling Technologies Group (VDL ETG), De Schakel 22, 5651 GH Eindhoven, The Netherlands; Philips, High Tech Campus 43, 5656 AE Eindhoven, The Netherlands
http://www.roboticopenplatform.org/wiki/TURTLE · https://github.com/RoboCup-MSL/MSL-Simulator · http://www.ai.sri.com/shakey/ · https://www.oxboard.eu/ · http://www.mobilevirtualplayer.com/ · http://snap.berkeley.edu/
Abstract Robot Sports is an open industrial team, meaning that its participants are all employed by or have retired from various high-tech companies in the Dutch Eindhoven region. The team participates with the intent add additional skills to their equipment engineering skills for developing collaborative autonomous robotic systems. Robot development practices from the domain of Artificial Intelligence in turn may be used to improve high-end equipment development effectiveness and efficiency. Most participants' companies currently work on some kind of robotic product.
1. Introduction
The Robots of the Robot Sports Team are developed as a mix of the Philips robot design used in the MSL competition [1], design advancements developed by the Philips team after the last tournament participation and the Tech United TURTLE robot design from the year 2012 [2].
2. Player Hardware
To control the player, we use a general-purpose PC (an Intel NUC with i5 processor) and Ethernet. On the NUC we are running Ubuntu 16.04 64-bits, which allows us to use the MSL Simulator [3]. The motion control tasks need strict real time behavior; these will be handled by a separate industrial motion controller.
The robot frame is designed entirely in sheet aluminum, which provides rigidity at the lowest possible weight, while keeping cost down.
The robots use a modular industrial motion control system (NYCe4000) that is used to control and power the robot's three drive motors. The drive wheels are not placed symmetrically, but the two front drive wheels are at a smaller angle such that the forward drive force is increased.
The NYCe4000 system also controls the kicker and the ball handling actuators, both of which were pioneered by the Philips RoboCup Team [1].
We have an electromagnetic kicking mechanism. Automotive solenoids are used for actuation of an adjustable lever that is the "foot" that will kick the ball. The lever adjustment allows for three discrete vertical positions of the "foot" to vary between low and elevated shots.
A capacitor stack is charged; discharge is done through a custom IGBT based switch that can be pulse modulated to control shooting power and -duration. The shoot control is implemented on a Teensy 3.1 microcontroller that interacts with the Intel NUC.
2.1 Sensing
Our robots have a GigE camera from Point Grey with a 1280 x 1024 pixel image sensor. The camera + omni-mirror combination is designed with a compromise in resolution close by and far away. This compromise comes at the cost of some image distortion.
From the center of the field the robot camera is able to give an overview of 12 x 18m of the playing field. With the lines at the far corners visible at a distance of 10.8m.
For the self-localization samples from all visible field lines are taken at a rectangular grid in camera coordinates. These line samples are translated from camera coordinates into robot coordinates and are then matched with hypothesis of field orientations at a resolution equal to the line width in a 2x 1D fashion. Knowledge about the long and short edges of the field is taken into account here. To resolve north south playing field ambiguity, an electronic compass unit is used.
With the camera ball sized object can be detected at up to a distance of 7 meters. Discrimination between a ball and environment is done based on color segmentation in the YUV domain.
Color segmentation for field and ball colors is based on (semi) auto calibrated segmentation parameters.
Balls close by will get priority over ball detections far away. Obstacle detection and/or competitor detections are filtered based on shape descriptors like area and elongation. Obstacles inside the playing field and close by will get priority over other obstacle detections.
Clustering of features is achieved using proven algorithms from Tech United, both for ball tracking and player tracking. These algorithms have been re-tuned for our specific sensor characteristics.
In order to improve the environment awareness, we have started using the Microsoft Kinect recently. The Kinect is equipped with an RGB sensor capable of capturing images at 640x480 and a depth sensor capable of generating a 320x240 depth image, both at 30 Hz.
The Kinect depth image allows us to map a pair x,yimg to x,y,zworld coordinates very accurately, which speeds up and improves feature detection since we can filter out the field and the background. This also makes it possible to track aerial balls.
Our Kinect software is able to detect and track multiple balls and robots. It can distinguish between opponents and teammates via searching for colored labels.
By combining the robot and ball detections the software can draw additional conclusions about robots, such as whether the ball handling system of a robot is holding the ball and if so, where it is aiming using basic math. This is for example very useful when defending the goal, because the keeper can calculate the trajectory of the ball. The Kinect can be used for improving the pass precision because a player can position itself accurately independent of the self-localization accuracy.
2.2 Reasoning
The Robot Sports Team uses RTDB [4] to exchange and synchronize data between team players, which results in a fast and accurate shared world model.
We believe that the reasoning that is required for soccer should be reactive. Our behavior must react quickly, making a non-optimized but appropriate decision. This is a tradeoff between timing and quality.
The robot behavior is implemented as a set of executable skills. These skills have dedicated responsibilities and effectively run parallel to each other. A domain specific language called STACTICS. The name STACTICS comes from state and tactics. It allows to express robot behavior in a higher language.
STACTICS consists of two types of skills: action and decision skills. At the highest level, a finite state machine (FSM) is present with fixed transitions between states. It controls the highest-level states of the robot. The STACTICS FSM is quite similar to Maes' action selection dynamics [5,6]. The FSM decides when and which transition is made. When a transition is made the set of skills that are relevant for that state are made active.
Our robot planner is a variation of the visibility graph [7], which was used on the first general purpose mobile robot Shakey [8], fitted for the soccer domain. On the edges of the created graph (robot planner) by the visibility graph heuristic functions can be added. Via this mechanism opponents can be avoided, while keeping distance to the field boundaries. Restricting the edges to the target vertex and extra costs the approach ball can be influenced. Also, the robot's own velocity vector can be taken into account. Via constraintbased optimization the best path is determined.
The result of the robot planner is a list of x-y points. This describes a rough path. A skill smooths the rough path and adds an orientation setpoint and apply velocity constraints. The smoothed path can be executed by the motion system of the robot.
We are using a heuristic based team planner, which uses the robot planner to calculate for every available player a path to an objective, till no players are available. The team planner combines dynamic role assignment and strategic positioning. The dynamic role assignment is made more robust by taking previous assignments into account and allow some hysteresis.
3. Outlook
In season 2016-2017 we made a foundation by having all functionality on a workable level. We benchmarked our performance against European teams, in particular the ASML Falcons during monthly practice matches in our shared facility. This brings us to the level where we are able to play soccer. To close the gap to the MSL top teams, we need to make our foundation more robust and at the same time, more advanced. Making the hardware more robust and automatic calibration are key elements. The time from unboxing the team to ready to play must decrease significant without the need of having an expert available. This challenge is similar to the installation and calibration of high-tech production machines in production environments.
4. Two-wheel robot - RobotSports 1000
We planned to create a two-wheel robot, this will be a cheap platform based on technology of an Oxboard [9]. The Oxboard drive and sensing will be the base of the RobotSports 1000. This robot will have a much higher wheel base than the typical MSL robots. Speed and outdoor capability has been demonstrated by the Mobile Virtual Players [10]. In 2019 we hope to present a playing player with a cost price of less than 1000 US dollar. An important motivation to work on this player is the ability to use regular indoor-soccer (futsal) fields for training and competition, where a key constraint will to prevent damage to the sports floor.
5. Education and Technology promotion
We have developed an educational environment in which scholars can familiarize themselves in programmatic interaction with a robot. Guided by instruction material, the scholar composes a set of movement instructions by which the robot should move through a given maze.
The scholar defines the movement instruction in the online visual drag-and-drop programming language Snap [11]. The programming language has been extended with a number of custom blocks which are able to interact with the standard software on our robot. The scholar is free in choosing his approach: building a complete program and test it, or build it step-by-step. The direct feedback and the interaction with the real world provide a valuable exercise.
Even though the maze is relatively simple, the combination of lateral and rotational movement blocks provides the scholar with many alternatives ways to come to a correct solution. Once the scholar grasps the basics, more complex exercises with the same maze and building blocks can be made.
6. Research goals
Design paradigms for high-end equipment and for autonomous robotics can be of mutual inspiration. Developing a high-precision soccer robot will give advantage, but in the end the robot will need to be more "creative" to win from the soccer world champion. Machine learning, deep learning and AI expand the design paradigms and promise to add this "creativity". Equipment should be robust and able to recover from failure modes that were not identified beforehand. This can be thought of as "creative" or "graceful degradation", so the expectation is that equipment design can benefit from insights gained in robotic soccer.
With equipment becoming more complex, development in virtualized environments becomes necessary. Machine control development should start on virtualized representations of equipment, available well before hardware is on the floor. The virtualized representation should be sufficiently detailed and true, so that the machine controller has a representative target. This situation occurs when migrating robot controllers, developed in the simulation league, to "hard" robots in the MSL.
Robots and humans should be enabled to play soccer closer together, even against each other. A suitable platform that can play on a regular indoor soccer field, without damaging the floor and at the same time being friendly to humans, will stimulate such interaction. Robot Sports will develop a twowheeled base to investigate this.
7. Support
The Robot Sports team is currently supported by the following companies: VDL Enabling Technologies Group and Maxon Motor Benelux. Bosch Rexroth and HQ Pack have previously donated in-kind support. Participants come from these companies, but also from other companies. The team shares a dedicated location with the ASML Falcons team in the beautiful city of Veldhoven, near Eindhoven.
8. Conclusion
Although the RoboCup community is currently dominated by university teams, the Robot Sports team will bring its collective background of decades of engineering skills and will strive to find the best match between the findings of modern AI research and new development paradigms from multiagent system development.
It is expected that industrial design engineers can contribute significantly to new generations of robot systems required for the RoboCup challenge, and secure future support for the challenge by enabling industrial applications.
9. References
References
- A.T.A. Peijnenburg, T.P.H. Warmerdam et.al.: Philips CFT RoboCup Team Description. In: preliminary proceedings 2002 RoboCup conference, July 2002
- http://www.roboticopenplatform.org/wiki/TURTLE
- https://github.com/RoboCup-MSL/MSL-Simulator
- Santos, F. , Almeida, L., Pedreiras, P. ; Lopes, L.S.: A real-time distributed software infrastructure for cooperating mobile autonomous robots. In Proceedings of 14th IEEE International Conference on Advanced Robotics, Munich, Germany (2009)
- P. Maes: Artificial Life Meets Entertainment: Interacting with Lifelike Autonomous Agents. In: Comm. ACM, Vol. 38, No. 11, Nov. 1995, pp. 108-114.
- P. Maes: A bottom-up mechanism for behavior selection in an artificial creature, 1991
- Lozano-Pérez, Tomás; Wesley, Michael A. (1979), "An algorithm for planning collision-free paths among polyhedral obstacles", Communications of the ACM 22 (10): 560–570, doi:10.1145/359156.359164
- http://www.ai.sri.com/shakey/
- https://www.oxboard.eu/
- http://www.mobilevirtualplayer.com/
- http://snap.berkeley.edu/