CAMBADA'2019: Team Description Paper
R. Dias, F. Amaral, I. Angelico, J. L. Azevedo, B. Cunha, P. Dias, C. Gomes, N. Lau, P. Martins, A. J. R. Neves, E. Pedrosa, A. Pereira, F. Pinto, P. Rodrigues, D. Silva, J. Silva
Intelligent Robotics and Intelligent Systems Lab IEETA/DETI – University of Aveiro, Portugal
https://github.com/CAMBADA · https://github.com/CAMBADA/RoboC0p
Abstract As part of the qualification materials to apply for RoboCup 2019, this paper describes the most recent improvements made by the CAMBADA Middle Size robotic soccer team. During the last year, improvements have been made in a significant number of components of the robots. The most important changes include redesign of the vision system, design and adoption of an Ethernet gateway among all hardware modules, model adjustment of the ball handling mechanism, conclusion and release of the new RtDB v2, improvements on the vision color calibration and distributed leader election technique, further developments on the set-play engine and the release of the Wi-Fi Monitor and analyser tool for MSL.
1 Introduction
CAMBADA¹ is the RoboCup Middle Size League (MSL) soccer team of the University of Aveiro, Portugal. The project involves people working on several areas contributing for the development of all the components of the robot, from hardware to software.
The development of the team started in 2003 and a steady progress was observed since then. CAMBADA has participated in several national and international competitions, including RoboCup world championships (5th place in 2007, 1st in 2008, 2nd in 2018, 3rd in 2009, 2010, 2011, 2013, 2014, 2016 and 2017), the European RoboLudens, German Open (2nd place in 2010), Dutch Open (3rd place in 2012) and the annual Portuguese Robotics Open (3rd place in 2006, 1st in 2007, 2008, 2009, 2010, 2011, 2012, 2016 and 2nd in 2013, 2014, 2015, 2017 and 2018). Moreover, the CAMBADA team achieved excellent results in the technical challenge of the RoboCup MSL: 2nd place in 2008 and 2014, and 1st place in 2009, 2012 and 2013. A 3rd place in 2013, 2nd places in 2012, 2015, 2017 and 2018, and 1st place in 2011, 2014 and 2016 in the RoboCup Scientific Challenge were also achieved.
The general architecture of the CAMBADA robots has been described in [1, 2]. Basically, the robots follow a biomorphic paradigm, each being centered on a main processing unit (a laptop), which is responsible for the high-level behaviour coordination, i.e. the coordination layer. This main processing unit handles external communication with the other robots and has high bandwidth sensors, typically vision, directly attached to it. Finally, this unit receives low bandwidth sensing information and sends actuating commands to control the robot attitude by means of a distributed low-level sensing/actuating system.
This paper describes the current development stage of the team and is organised as follows: Section 2 briefly describes the hardware platform changes. Section 2.1 explains the redesign of the omni vision system. Section 2.2 addresses the project of a new, more reliable, internal gateway based on Ethernet. Section 2.3 discuss the on-going redesign of the ball handling system. Section 3 approaches the most recent version of our communication middleware (RtDB v2). Section 4 reports some developments on the color calibration algorithm. Section 5 shows the current set-play engine implementation on the CAMBADA robots. Section 6 describes the developed tool for WiFi monitoring and analyser in MSL tournaments. And finally, Section 7 concludes the paper.
¹ CAMBADA is an acronym for Cooperative Autonomous Mobile roBots with Advanced Distributed Architecture.
2 Hardware Platform
(Content appears in subsections below)
2.1 Vision System Redesign
CAMBADA's current vision system presents a series of challenges specially if we look into the future expected increase in field size. Furthermore, the current vision system is already five years old, uses vertical bars that hold the mirror made of titanium but time has shown that, despite the good behaviour of this structural solution, flexibility characteristics of these bars seams to decrease over time. On the other hand, the design of the mirror assumed the assumption that the field size would remain for a long period at the previous 18m x 12m. It uses an hyperbolic equation from which, after a calibration procedure a distance map on the floor plane similar is obtained.
This distance map can, however, be misleading. In fact, as we move away from the robot, and due to the hyperbolic design of the mirror, degradation of space resolution occurs at a very significant rate. As a result, current mirror provides a very high resolution close to the robot, but a very poor one when we move away. Fig. 1 a) shows the similar eagle eye view, but now presenting only the actual existing pixels. Furthermore, it has been repeatedly demonstrated that during a stressful competition, and after being hit by the ball several times, the mirror supporting system will slightly get misaligned over time. Extrinsic parameters may, therefore, be no longer valid after 3 or 4 games compelling the team to recalibrate the vision system repeatedly throughout the competition Fig. 1 b).
An effort was therefore taken in order to:
- design a more stable mechanical solution for the catadioptric system;
- redesign the mirror so that distribution of spatial resolution may enhanced.
To achieve this last goal a set of objectives were set regarding the equation of the mirror surface:
- to reduce significantly the resolution close to the robot;
- to reduce the size of the robot body on the image enhanced;
- to increase resolution at higher distances by trying to keep resolution degradation more linear while still being able to see above the floor at least 1m.
Regarding the mechanical solution the approach was basically to follow well proven solutions already implemented by other teams (Fig. 2). To design the new mirror, a simulated full size MSL field was used (Fig. 2).
A set of new equations, including 3rd order and 4rd order polynomial terms were developed and iteratively adjusted trying to fulfil the above specified requirements. The simulated results can be seen in Fig. 3. The results obtained with the more complex surface, based on a square root of a 4rd order polynomial Equation 1 are very promising.
$$f(y) = \sqrt{1000 + (k_1 * (x+a))^2 + (k_2 * (x+b))^3 + (k_3 * (x+c))^4}$$
Among the clear advantages, shown in Fig. 4, the following can be highlighted:
- decrease of resolution beyond 3m from the robot is almost linear;
- resolution at a distance between 4.5 and 8.5m from the robot is 3 times higher than with the current solution (e.g. 24pixels/m @6m versus 8pixel/m);
- at the limits of the field (11m), resolution is still more than twice the current resolution;
- the mirror still allows to see around 1.5 m above the ground level at its horizon.
2.2 Ethernet-CAN Gateway
The low-level sensing/actuation system, which is composed of a set of microcontrollers interconnected by means of a CAN bus, connects to the high-level decision layer through a gateway module (see Fig. 5). Currently, the gateway connects to the PC through a USB port and, therefore, the gateway functions as an interface between USB and CAN networks. Although USB (via a COM port) is a very convenient way to handle the communication between the PC and the gateway, it has two main drawbacks: limited bandwidth and low reliability due to the poor connection provided by the USB connectors. To overcome these two limitations, a new gateway module is under development which uses an Ethernet connection and UDP protocol to implement the communication with the PC. By using a more robust physical connection, this new module is expected to improve the whole system reliability.
2.3 Ball Handling Mechanism
A redesign of the ball grabbers has started in 2018. The main changes regarding the current version target the following most important aspects:
- change the current hard link between the grabber and the platform by means a hard rubber sandwich structure able to absorb much more energy in situation of chock amongst robots;
- by rearranging the location and initial angle of the grabber, the angular and translation movement values will be increased to 16° and 28mm, from the current 8° and 10mm respectively. This will allow a dumping system more effective, reducing effectively the possibility of ball bouncing when approaching the grabbers at higher speeds;
- finally, the omni wheel that has been used until know (off-the-shelf solution) has been redesigned to use a higher coefficient friction material in the free rollers, while changes to the chassis shape were made in order to reduce the possibility of contact between the ball surface and the chassis itself, a situation that sometimes happens with the off-the-shelf solution.
3 RtDB v2
Last year we introduced a new version of our communication middleware, the RtDB v2. It addresses some limitations that were found on the previous one, described in last years TDP.
In this new version, we kept the blackboard logic while included the ability to store dynamic data structures and containers (for example, C++ std::vector and alike), add resilience to structure changes, no full source re-compilation when a structure changes. All this with a smooth integration with the previous API. All this with negligible impact on the duration of the operations.
The new version was presented on last year's Scientific Challenge, on the RoboCup Symposium 2018 and released in our public GitHub repository.
4 Semi-Automatic Color Calibration
This project aims to develop a semi-automatic color calibration algorithm for our computer vision processing system, that is capable of clustering the original image color space into a reduced subset of colors, requiring minimal human intervention.
So far, the produced work can identify, with some artefacts, the white lines of the field and a wide area of the field dominant color: green. Progress is currently being made to improve the clustering accuracy of the color detection algorithms and to remove artefacts.
The work yet to be developed intends to improve the segmentation of other robots and the ball, add robustness to the automatic color calibration algorithm in circumstances of luminosity variation and to improve user interaction and feedback.
5 CR7 - The CAMBADA Set-Play Engine
We continued the development of our set-play engine, following the work previously devised in the context of a collaboration between CAMBADA and Tech United.
With this set-play engine, we are able to create and configure a set of set-plays for different situations using a visual configuration tool. While the previously developed architecture was adapted from an FC Portugal team (Simulation 3D league) work[3], the new CR7 Engine was built from scratch, using some concepts of the aforementioned architecture, but with significant improvements, especially focused on the usability. After assessing the previous solution among the team members, the conclusion was that the solution was not viable as a quick set-play setup for competitions, i.e. in order to achieve the set-play the user has in mind, he has to manually cover a lot of corner cases and fill in a lot of conditions.
Therefore, the new engine infers the transition conditions from the actions defined by the user (instead of requiring the user to define all the conditions manually). This way, the user has the ability to quickly create set-plays without worrying about consistency. We plan to continue the development of this engine over the next months and use it in the 2019 competitions.
6 RoboC0p: A Wi-Fi Monitor and Analyzer for RoboCup
One major well-known problem in the RoboCup environment is related with the WiFi medium capacity with respect to the number of devices operating in the 802.11x standards. The efforts in finding a standard solution for an effective way to monitor and instantly pinpoint network problems and offenders have not succeeded yet. The objective of this project was to develop an open-source solution of a network monitor tool tailored for the RoboCup competition environments.
We believe that this tool will allow the Technical Committee to quickly identify most problems related to the network and speed-up the setup time between matches in any league that is using an official WiFi Access-Point.
This project was born from the necessity of quickly identifying the root of the problem and mitigate it in the Middle-Size League, but this problem most likely exists also in other leagues that are using an official WiFi Access-Point. Every aspect of the requirements for monitoring WiFi in the MSL should perfectly fit any other RoboCup league that uses WiFi.
After analysing the state of the art, we concluded that there are mostly two ways of monitoring a WiFi network: intrusive and non-intrusive.
For a better precision of the results and also to directly control the access to the field network, RoboC0p could potentially run inside a dedicated router with custom firmware that would be also the official field access-point. However, this entails that a specific router would become a requirement for every league that would like to use RoboC0p, which is a restriction that we must avoid.
The only viable solution that allows the application to be independent from the network infrastructure and that does not interfere with the network is sniffing. To achieve this, a computer with a wireless card that supports monitor mode to sniff the packets is required.
The RoboC0p application was implemented under Linux and its UI was developed in QT4, thus C++ was chosen as the programming language to use.
The solution developed by CAMBADA was implemented and tested according to the work plan: A BETA version was provided for the Portuguese Open 2018 MSL competition. This was the first time the development team had contact with the application real environment. As expected, during this pilot test, a few situations occurred for the first time, and some of which would be very difficult to force in lab conditions. Some fixes were provided in-loco and feedback from teams was gathered - from missing useful information to the actual User Interface.
After a new period of development, a first version was made available for the MSL community to use during RoboCup 2018 in Montreal, Canada. Being a non-intrusive monitoring method, the Technical Committee approved the use of this software during the whole tournament.
The most relevant results are listed below:
- the application ran during the whole tournament with no need for rebooting the system, which proves the robustness of the solution;
- the "Other Stations Section" proved to be very useful to identify non-playing teams connected to the access-point. Teams found it was much more efficient to pin-point and mitigate network problems coming from AP connection abuses;
- very positive feedback received from the teams on the usefulness and need for such a monitoring solution.
The results show the effectiveness of the solution with very positive feedback from the MSL teams. Furthermore, a significant effort was put in keeping the application as league-agnostic as possible.
The result of this project can also be found in the public CAMBADA GitHub repository.
7 Conclusions
This paper described the latest scientific and technical developments of the CAMBADA team, both in the hardware platform and at the software level. The most important changes include redesign of the vision system, design and adoption of an Ethernet gateway among all hardware modules, model adjustment of the ball handling mechanism, conclusion and release of the new RtDB v2, improvements on the distributed leader election technique, further developments on the set-play engine and the release of the Wi-Fi Monitor and analyser tool for MSL. With the all these improvements, CAMBADA expects to stay one of the most competitive teams in the fast-growing RoboCup Middle-Size League.
References
- A. Neves, J. Azevedo, N. Lau B. Cunha, J. Silva, F. Santos, G. Corrente, D. A. Martins, N. Figueiredo, A. Pereira, L. Almeida, L. S. Lopes, and P. Pedreiras. CAMBADA soccer team: from robot architecture to multiagent coordination, chapter 2. I-Tech Education and Publishing, Vienna, Austria, In Vladan Papic (Ed.), Robot Soccer, 2010.
- José Luís Azevedo, Bernardo Cunha, and Luís Almeida. Hierarchical Distributed Architectures for Autonomous Mobile Robots: a Case Study. In ETFA2007- 12th IEEE Conference on Emerging Technologies and Factory Automation, volume 1-3, pages 973–980, Patras, Greece, September 2007.
- Nuno Lau, Luis Seabra Lopes, Gustavo Corrente, Nelson Filipe, and Ricardo Sequeira. Robot team coordination using dynamic role and positioning assignment and role based setplays. Mechatronics, 21(2):445 – 454, 2011. Special Issue on Advances in intelligent robot design for the Robocup Middle Size League.