Robot Club Toulon Team Description 2024
M. Dhainaut, M. Walter, N. Raze, Y. Masinski, J. Deleuil, H.A. Pham, T. M. Cao, T. Carceles, C. Muliva, M. Bièche, M. Safitli, A. Malloul, A. Deverin, V. Gies (Supervisor), T. Soriano (Supervisor), V. Barchasz (Supervisor)
Université de Toulon, Avenue de l'Université, 83130 La Garde, France
Abstract Robot Club Toulon Middle-size league (MSL) team aims at participating in the RoboCup 2024. This paper explains the architecture of our robots and the main evolutions and developments done this year. Keywords: RoboCup Soccer, Middle-Size League, Multi-Agent Robotics, Artificial Intelligence, Image Processing, Lidar, Decision-marking
1 Introduction
Robot Club Toulon is representing University of Toulon, France, in the RoboCup Middle Size League (MSL). The team will be participating in the Middle-Size League for the third time in real conditions. Our team has been participating to the RoboCup for the first time in Sydney 2019. We have also participated in 2021 (online), in 2022 (distant) and at Bordeaux in 2023. Our most important results in the competition are :
- 3 rd place in soccer competition 2023
- 1 st place in the Scientific Challenge 2023
- 3 rd place in Technical Challenge 2023
- 1 st place in the Scientific Challenge 2022
- 2 nd place in the Technical Challenge 2022
- 2 nd place in the Technical Challenge 2021
- 3 rd place in the Scientific Challenge 2021
- 4 national titles in the French Robot Cups.
At the moment of writing this paper, RCT team consists of 2 PhD's, 2 Post-docs, 12 MSc, 7 BSc, 3 staff members including an embedded system engineer and 2 researchers in artificial intelligence, electronics and robotics.
In this presentation paper, electronic and software architecture of our robots is presented, as well as most important evolutions of our robots for 2024 competition.
2 Electronics and Software architecture
To go deeper in the details, all our mechanics and electronics are fully described in the Mechanical and Electronic Presentations.
2.1 Electronics
Electronics architecture of our robots is bio-inspired. The whole system is piloted by an Embedded Computer (LattePanda SIGMA) acting like a cortex and doing intelligent tasks using advanced sensors having a high bandwidth of data : LIDAR scene analysis and artificial intelligence for strategy are embedded in the computer. Computer vision is not embedded in this computer, as fours intelligent cameras (JeVois Pro with hailo 8 processor) are used. Each one embeds artificial intelligence tasks such as image segmentation using deep learning in real time.
This cortex is connected to a Sensor and Actuator Controller acting as an autonomous nervous system, and doing repetitive and high frequency tasks such as sensor and motor management as shown in Fig. 1. This second board embeds a Microchip DSP having hardware peripherals for multi-threading tasks at a low level. High frequency motor control and sensors management is performed with a DSP using high speed interfaces such as USB, SPI, CAN or UARTs for synchronizing up to 20 different peripherals.
The kicking system controller is a third board, independent for development and safety reasons due to high voltage.
2.2 Software architecture
RCT robot software architecture is described at Fig. 2. It is important to note that our robots no longer use a base station as our goal is to make them play by themselves. This is our main scientific guideline for development and research, considering each robot as to behave like a an autonomous human player even for decision tasks and team strategy. Practically, this means that they shouldn't require to share any information by a digital way, but instead have their own perception (possibly partial) to understand the surrounding game state.
Code is divided in 2 parts corresponding to the 2 main electronics parts:
– Code is written in C for the motor and sensor control board based on a Microchip DSP 16-bits controller. This year, a software evolution led us to move the trajectory generator and the Kalman filter to the embedded part to improve the refreshing rate.
– For the cortex part embedded on the computer, code is fully written in C#. It is a fully event driven code with more than 60 independent modules linked together like a Matlab Simulink model. This way of coding allows team members to work on specific parts of the robot without having to know all the code.
Another important part of our software is our digital twin simulator (Fig. 2), used for testing strategies and high level software in close to real conditions. It uses the same modules as for the robot itself, but replicated for each teammate or opponent. This simulator enables us to swiftly generate and assess algorithms for strategic coordination among robots, which can then be directly applied to real robots (see Figure 3). This allows to improve the reliability of each module, and provides a reliable tool for debugging team behaviour.
3 Evolutions of RCT robots in 2024
3.1 Mechanics
Even if the 2023 robots were able to play games, they were not perfectly reliable, leading to a lot of service during the competition. They were also a bit slow, especially for the goalkeeper, most of the time unable to move to save goals. Considering that, and considering we need a second team (or at least a few more robots) for playing at home, we decided to develop a generation of robots. In Eindhoven, we will play with old or new ones depending on their degree of progress (Figure 4).
The new base has been design using 4 swerve drives, integrated in a rectangular shaped design. Each propulsion motor of the swerve drive is a 500W brushless one, leading to interesting acceleration, as well as a faster top speed. For improving reliability of the robots, most of the parts will be manufactured in aluminium, and the upper part of the robot will be mainly in carbon fiber to lower the gravity center of the robot.
Mechanics of the 2023 robot is described in details in mechanical presentation. 2024 robots will be presented later, as they are not finalized yet.
3.2 Ballhandling
Last year we had many problems taking or keeping the ball during matches, but this year we decided to make modifications to our ballhandling system on our new potential robot.
First, small omni-wheels have been added on the bottom of the robot to help the ball roll and reduce ground friction force. A second issue wasthe lack of reliability of our mecanum wheels in case of frontal collisions. built using small pieces of aluminium, they were distorted during shocks with other robots. Considering that, they have been replaced by plastic wheels. Dampers will also be replaced because they can break easily. More than that, we lower the rotation axis of our ball handling system, to welcome the ball more easily : this leads us to a configuration closer to Tech United, Falcon or Cambada teams.
3.3 Goalkeeper arm with extension
We first introduced two arms on our goalkeeper last year during RoboCup in Bordeaux, but they were not ready enough and had a lot of drawbacks. This year, the two arms mechanism has been replaced by a single arm one, having an extension. Our goal is to be able to detect and intercept a ball in more or less 0.5 second. This requires fast detection and powerful actuators, as well as safety measures to protect people and other robots. In order to reduce the potential harm of the system, foam has been molded around it as shown on Figure 5.
3.4 Improved embedded perception algorithms based on smart cameras and lidars
Perception is one the most important keys for being able to play autonomously by taking appropriate decisions in a given context, especially for our team willing to play without digital communications. The most important the detection distance, the best scene comprehension. Being able to see far away from the robot requires appropriate sensors able to detect small objects (balls or robots for example) as far as possible. Omnidirectional vision used by most teams is very interesting as one sensor allows to see everywhere around the robot, but reduces drastically the size of each object on the image, limiting the detection abilities of the system.
To achieve this, we introduced a three-step Simultaneous Localization And Mapping (SLAM) strategy aimed at improving indoor robot navigation using a fusion of Artificial Intelligence (AI) cameras and 2D Light Detection and Ranging (LiDAR) data.
Currently, using only one type of information has proved to be insufficient as the Lidar cannot identify objects and the camera can't perceive depth with enough precision for our application. This algorithm aims to present an improvement made using both of these technologies to negate their weakness.
This method utilizes an AI camera to detect stationary and dynamic objects within the environment thanks to the implementation of YOLO v7 tiny's object detection technology. Subsequently, the system integrates these detections with concurrently obtained 2D LiDAR data, thereby distinguishing static structures critical for map reconstruction while simultaneously eliminating transient elements or moving obstacles, filtering out unreliable point cloud data originating from temporary or non-static items. The Lidar, on the other hand, combined with a Kalman filter, is used to evaluate the distance and location of the object relative to the robot. This curated dataset should enable more accurate SLAM, allowing the robot to distinguish between permanent landmarks and fleeting obstacles. Lastly, the developed algorithm calculates both the movement and relative positioning of the robot throughout the indoor setting.
By combining computer vision and ranging technologies, this method should provide enhanced situational awareness and accurate localization capabilities essential for effective autonomous robotic operation. The Lidar, on the other hand, combined with a Kalman filter, is used to evaluate the distance and location of the object relative to the robot. The combined result has been tested and used during real matches in the Robocup competition 2023, demonstrating its efficiency in real-life scenarios.
3.5 Team strategy : decision-marking strategy for soccer robots using a probabilistic approach
In this study, we propose a probabilistic method to help robots make quick decisions based on different situations. To elaborate, we've devised a way to calculate and evaluate expected points for each action a robot can take. The robots then choose the actions that are likely to give the highest points (see Figure 7).
First, we use Decentralized partially observable Markov decision process (Dec-POMDP) to describe the whole relationship between the observed parameters of each robot and its actions. This model fits our main scientific guideline : playing without digital communications, like humans. Indeed, a Dec-POMDP approach can handle uncertainty, partial observability (especially in perception where occlusion can happen), and team decision potential (team rules are possible).
Then, we have proposed to define a Q-value $Q^a_{i,j}(k)$ for each robot j corresponding to each action $a^i$, which is defined as follows :
$$Q_{a_i,j}(k) = \mathcal{R}(s(k), a(k)) \times \mathcal{P}(s(k), a(k))$$
where R(s(k), a(k)) is the reward for each action of a robot that depends on the following criteria:
– in attack : the robot position for scoring goals, being unmarked, etc...
- in defense : the robot position for defending on an opponent or cutting lines of shoot / pass, etc...
- the choices done by the coach using voice coaching.
P(s(k), a(k)) represents the probability of each action to be successful considering the following factors:
- robot positioning relative to the ball.
- likelihood of contact with opponents, other robots,
- likelihood of interception of the ball.
- orientation of the robot with respect to the direction of the ball (greater alignment results in faster movement).
Having computed the score for each action of each robot, team strategy rules apply, such as a limitation of one robot contesting the ball. When all team strategy rules have been cleared, each robot not having any attributed action chooses its best remaining one. This approach allow to choose actions for each robot according to the game state, the team rules and the probability of success for each specific action, making real-time decisions possible in decentralized way on each robot, 25 times per second. Details are presented in algorithm 1.
Algorithm 1: Calculating and evaluating the reward points for each action
Input: position of robots, position of ball
while match is ON do
determine playing situation: ATTACK, DEFENSE;
build a list of possible actions for all teammates (PlayingAction) aj , j = 1...9;
compute Q-Table for all actions of any teammates;
Qaj ,i(k) = Raj (k) × Paj (k) ;
determine best playing action: a*i,j ← maxai,j {Qi,j : j = 1 . . . , 9;i = 1 . . . , 5};
trigger action ;
end
4 Conclusion
Participating in the RoboCup is a wonderful challenge for our team. A strong emphasis was put on strategy this year as well as on mechanics for goal keeper and swerve drive. Our challenge this year is to be able to develop our strategy during a game and to be able to adapt our strategy in real time depending on the opposing team.
Thanks to the help of the other teams, it has been a great adventure for us since 2019, and we are proud to now have a functional robot and to have developed some novel ideas for the MSL community. The Robot Club Toulon MSL team's project for RoboCup 2024 hopes to stand out as as strong contenders in the competition by having a winning combination of mechanical innovation, advanced perception algorithms, and strategic decision-making.