Tech United Eindhoven Team Description 2017
Ferry Schoenmakers, Koen Meessen, Yanick Douven, Harrie van de Loo, Dennis Bruijnen, Wouter Aangenent, Bob van Ninhuijs, Matthias Briegel, Patrick van Brakel, Jordy Senden, Robin Soetens, Wouter Kuijpers, Jorrit Olthuis, Peter van Lith, Marjon van 't Klooster, Lotte de Koning, René van de Molengraft
Eindhoven University of Technology, Den Dolech 2, P.O. Box 513, 5600 MB Eindhoven, The Netherlands
www.techunited.nl · http://roboticopenplatform.org/wiki/Main_Page · http://www.techunited.nl/en/qualificationturtles · http://www.cs.cmu.edu/~robosoccer/small/
Abstract In this paper we discuss the progress in mechanical, electrical and software design of our middle size league robots over the past year. The major mechanical development is the introduction of an eight-wheeled robot platform. Recent progress in software includes improvements in strategy algorithms for both offensive and defensive game play. Furthermore, a new motion controller, based on cascade control, is implemented to achieve faster and more accurate positioning. Finally a new method, using convolutional neural networks, is developed to distinguish robots from obstacles, in omnivision camera images.
Keywords: RoboCup Soccer, Middle Size League, multi-robot, distributed teamcoordination, inter-robot, cascade control, convolutional neural networks
Introduction
Tech United Eindhoven represents the Eindhoven University of Technology during RoboCup championships. The team participates in the Middle Size League (MSL) and the RoboCup@Home league and consists of PhD, MSc, BSc students and former TU/e students, supplemented with academic staff members from different departments. The team was founded in 2005, originally only participating in the Middle Size League. Six years later service robot AMIGO was added to the team, which participates in the RoboCup@Home league. Knowledge acquired in designing our soccer robots proved to be an important resource in creating AMIGO. Last year, a new service robot, called SERGIO, was developed and participated for the first time at RoboCup 2016. The Tech United team belongs to the world top in RoboCup. Currently, AMIGO is vice-worldchampion in the @Home league and the soccer robots are world champion in the middle size league.
This paper describes the major scientific improvements of our soccer robots over the past year. It is a part of the qualification package for the RoboCup 2017 World Championship in Japan and contains five main sections: Section 2 gives an overview of our robot platform and the development of a new eight-wheeled platform; Section 3 describes the improvements in the strategy algorithms for offensive and defensive game play; Section 4 gives a new motion control structure; Section 5 introduces a convolutional neural network method to distinguish robots from obstacles, in omnivision camera images. Finally, all topics of sections are concluded in the end.
Robot platform
Our robots have been named TURTLEs, acronym for Tech United RoboCup Team: Limited Edition. Currently we are employing the fifth redesign of these robots, built in 2009, together with a goalkeeper robot which was built one year later (Figure 1). During the years after, small modifications were made to improve the ball handling and to add a 3D Kinect camera. Development of these robots started in 2005. During tournaments and demonstrations, this generation of soccer robots has proven to be very robust. The schematic representation published in the second section of an earlier team description paper [7] covers the main outline of our robot design. A detailed list of hardware specifications, along with CAD files of the base, upper-body, ball handling and shooting mechanism, has been published on the ROP wiki. Our qualification page contains a detailed overview of the mechanical and electrical hardware design and the software architecture.
During the years after, small modifications were made to improve the ball handling and to add a 3D Kinect camera.
Eight-wheeled platform
Agility is an important aspect during a match, for instance for shielding the ball or to position better during an intercept. The current player robots are equipped with three omni-directional wheels, as is visualized in Figure 2 (a). The robots have a holonomic base, meaning it can drive and rotate in the plane of the field in any direction it wants. Using only three wheels ensures the platform is statically determinate which removes the need for suspension. However, this platform is not optimal when accelerating in any direction with maximal two motors. To increase the maximal acceleration, a four-wheeled platform was developed [1] which is visualized in Figure 2 (b). Here, all four motors are active when accelerating in one direction. This platform is also holonomic but is statically indeterminate due to the extra wheel. To cope with this, a wheel suspension is necessary.
To increase the maximal acceleration in one direction by increasing the number of active motors, it is necessary to have good traction and to have the traction force of each wheel pointing in the direction of the desired acceleration. To achieve the latter, each wheel should be able to rotate towards the desired drive direction. This concept was the main idea behind the newly developed eight-wheeled platform. It has four suspensions, but instead of one omni-wheel it has two hubdrive wheels per suspension pont; a so-called wheel-combi. By rotating the hub-drive wheels in opposite direction, the wheel combination can be rotated relative to the suspension point, which is visualized in Figure 2(c). This platform is said to be semi-holonomic since it can drive in any direction in the plane of the field, but only when the wheels correctly configured. This poses a challenge on the control of the platform, which is currently being developed.
Strategy
This section describes two improvements on strategy level. Section 3.1 gives a new strategy architecture, which is based on the Skills, Tactics and Plays algorithm developed by the small-size league team CMDragons [2]. Section 3.2 describes a new reasoning used during defensive game play.
Play, tactics and skills architecture
The Tech United software is developed over the past 11 years. Strategy algorithms became more complex since the game moved from single robot actions to more teamplay, therefore a new software architecture is desired. The most important requirements for the new architecture are that the team should be able to easily configure the strategy before the game, and that robots have to be able to adapt their strategy to the current game state, –e.g. the number of opponents in field, the ball position or the score. Furthermore, the architecture should consist out of one framework for all game situations. These requirements are met by the strategy architecture of the CMDragons team, an SSL RoboCup team. In collaboration with the CMDragons, their Skill, Tactics and Plays (STP) architecture [2] is implemented in the Tech United software. Figure 3 shows a global overview of the STP structure.
Skills are base behaviors of the robot, such as driving, shooting or dribbling. Tactics are goaloriented behaviors that each individual robot performs to carry out a team plan, –e.g. intercepting a free rolling ball. Tactics may be composed of skills, organized to work cohesively towards achieving a goal: to intercept the ball, a robot first drives towards the ball, then activates its ball handling system to grab the ball. Tactics are implemented as finite state machines that control the flow of different skills that make up the tactic.
Table 1 shows an example of a play. The team strategy is encoded into a playbook, made up of a set of plays. A play is a team plan specified as a list of roles that the team of robots must fulfill. Each defined role, within the context of STP, is defined as a sequence of tactics to be completed sequentially. In this example, the play uses a Goalkeeper, an AttackerMain, two AttackerAssist roles and one Defender. Furthermore, specfic parameters can be added to a role. In this example, the two AttackerAssist roles have an extra 'zone; parameter added to the play. These zones specify the area on the field where the AttackerAssist is allowed to position. Additionally, plays specify applicability conditions: preconditions specify the set of game states under which a play should be considered for selection, such as ourBall and a specific ball zone ballZone1. Invariants specify the set of game states which are required to be met to continue the play, –e.g., ourBall. If this invariant is not met the play will be aborted.
Plays can describe any static or dynamic game situation, for example: normal game play, free kick or throw in. Furthermore, the team can tailor the strategy based on the opponent just before a game by selecting a certain playbook.
At the moment of writing, the STP architecture is being integrated in the Tech United software [3].
An offensive play designed for MSL with three offensive robots and one defensive robot AttackWithThree
PRECOND ourBall && ballZone1
INVARIANTS ourBall
role[0]
Goalkeeper
role[1]
AttackerMain
role[2]
AttackerAssist
ZONE A
role[3]
AttackerAssist
ZONE B
role[4]
Defender
Defensive reasoning
To improve the defense of our team, we employ a new worldmodel reasoner module, called Defcon. In this algorithm the defensive positioning-challenge is split into two parts: which opponent to defend? and how to defend this opponent?
In Defcon, a so-called danger index is calculated for each of the opponents. The danger index is a measure of how much of a threat a specific opponent is. This danger index is based on geometric properties as shown in Figure 4. These geometric properties are then weighted using a weight function yielding a number between 0-1 for each opponent; the danger index. The most dangerous opponents, with the highest danger index, are defended, answering the: which opponent to defend?-question. Currently, the danger index is also used, to answer the: how to defend an opponent?-question. Currently the danger index is also used to answer the: how to defend an opponent?-question. An opponent can be defended in different ways. For example, position a robot on a line between the opponent and our home goal, or position a robot on a line between the opponent and another opponent to block a pass. In general the most dangerous opponent will have the ball and is defended such that it cannot shoot at the goal. The second most dangerous opponent is probably a possible pass-receiver and will be defended differently. The defend mode selection is based on both the dangerous index and the geometric properties of the opponent.
The weighting function applied to the geometric properties can be team-specific. Therefore, to facilitate calibration of the weight function, Defcon is integrated into the Greenfield application used for match-playback. As the match-playback data contains all information needed to calculate the geometric properties, the danger index can be determined during playback. While playing back games, one can then assess the output of the weighting function and see if it matches with the continuation of the game, and decide if the weights have to be adapted.
In the newly to be developed architecture as explained in Section 3.1, the selection of a play is done based on the worldmodel evaluation. Furthermore, output from the worldmodel reasoner, such as the danger index, is used by the roles while executing the tactics.
Cascade control
Advancements in the RoboCup middle size league game-play, –e.g. passing, result in higher accuracy and speed demands. For fast and accurate positioning, motion control is key. The current control structure has been developed about 8-10 years ago and has not changed that much since then. It consists of decoupled position control at encoder level while drift is compensated for via a vision-based feedback loop. Last year, it has been identified as one of the large error sources. Servo errors up to 0.5 m occur sometimes, mainly caused by the lack of feedforward control. Last but not least, the control scheme is quite complex and not transparent, hence, it is difficult to be adjusted/extended/improved.
The new control structure is shown in Figure 5. It consists of position/velocity cascade control, feedforward control, input/output decoupling matrices (Tu/Ty) and sensor fusion. The inner loop enables high bandwidth velocity feedback control based on encoders. Furthermore, no fuzzy drift compensation is needed anymore and feedforward control is added to improve tracking performance.
For a smooth transition to the new control structure, a simple sensor fusion block is implemented, which will be developed further in the future. For example, the velocity estimation is simply done by differentiating (D) the encoder signals, low pass filtering (LP) and transforming to global coordinates (Ty). Eventually, this new cascade control structure should lead to smaller servo errors, and hence, more accurate game-play. The new control structure is currently being tested and planned to be integrated this year.
Identifying robots
For obstacle detection, currently, a blob detection algorithm based on radial scan lines in the omnidirectional camera image is used. Current research focuses on identifying robots from other obstacles, CNNs (Convolutional Neural Networks) [5] will be used for this. Current work focuses on building an algorithm to semi-automate the determination of a ground truth for each of the training images [4]. With this a CNN will be trained which will be employed on the TURTLEs.
The semi-automatic ground truth system consists of a blob detection algorithm and three CNNs. Although the tasks of these three CNNs will appear similar to that of the CNN which will be employed on the TURTLEs, they are different. With respect to computation time, the three CNNs are less restricted as there is no real-time aspect. Moreover, the three CNNs are being developed on a separate machine from the TURTLE using a powerful GPU. The trained CNNs will have to be employed on the TURTLE using an NVIDIA Jetson TX1.
The results of the semi-automatic ground truth system are presented in Figure 6, where detected plates are annotated. From the position of the number plate of the robot, the contour of the whole robot is determined. These image features, amongst others, are extracted from the image and fed into separate CNNs:
- The number plate will be extracted from the image and fed into a CNN which will be trained in recognizing the number.
- The contour of the robot is fed into a second CNN, which will be trained in recognizing the robot shape and desirably orientation.
Additionally, the extracted features will be used to synthesize new training images, which might for example, include additional rotations.
The semi-automatic ground truth system will now output the ground truth for each image consisting of: the position, orientation and ID for each robot in the image. For the latter two, it will also output a confidence level to indicate how sure the CNN was of its answer. In case one CNN is not able to present a definitive answer, the other two will still try to calculate their result.
CNNs are very good at identifying objects anywhere in a picture, but unfortunately they are not capable of determining the position of an object in the picutre. A solution to this might be the use of an additional MaxPool layer [6] that is dedicated to finding the section where the robot ID is found. This then serves as the location of the object in a picture.
Conclusions
In this team description paper we have discussed steps towards the development of a new eightwheeled robot platform to increase robot acceleration. On strategy level, a new software architecture is studied which is developed by a RoboCup SSL team. This new architecture is being implemented and will bring our team play to the next level. The defense is improved by a more elaborate worldmodel reasoner resulting in a so-called danger index. The danger index is used to defend opponents smarter than just defending the opponent with the ball. Furthermore, a new motion controller, synthesized using cascade control methods, is implemented for faster and more accurate positioning. Finally, research is being done on convolutional neural networks towards accurate position estimation of opponents, peers and the referees.
Altogether we hope our progress contributes to an even higher level of dynamic a scientifically challenging robot soccer during RoboCup 2017 in Japan, while at the same time maintaining the attractiveness of our competition for a general audience.
References
- R.J.G. Alaerds. Mechanical design of the next generation Tech United Turtle. Eindhoven University of Technology.
- Brett Browning, Brett Bruce, Michael Bowling, and Manuela Veloso. Stp: Skills, tactics and plays for multi-robot control in adversarial environments. In Proceedings of the Institue of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, pages 219(1):33–52, 2004.
- Lotte de Koning, Juan Pablo Mendoza, René Molengraft, and Manuela Veloso. Skills, tactics and plays for decentralized multi-robot control in adversarial environments. Submitted to AMAAS 2017.
- Francesco Comaschi et al. A tool for fast ground truth generation for object detection and tracking from video. Eindhoven University of Technology.
- Patrice Simard et al. Best practices for Convolutional Neural Networks Applied to Visual Document Annalysis.
- Maxime Oquab et al (INRIA). Is object localization for free? Weakly-supervised learning with convolutional neural networks.
- Tech United MSL. Team Description Paper 2014. RoboCup 2014 qualification.