Team Sweaty
"Sweaty" began as a soccer-playing humanoid robot that has been competing since 2014 in Brazil at the RoboCup World Championship against other humanoid robots from universities and colleges around the world. It has since evolved into an interdisciplinary project and is also capable of interacting with and imitating movement patterns, for example, during a chess game against a human opponent.
In its core discipline of soccer, "Sweaty" has consistently been successful, securing the RoboCup runner-up title every year from 2016 in Leipzig, Germany, through 2019 in Sydney, Australia. In the first virtual edition of this competition in 2021, the team even won the world championship title.
“Sweaty” is an exciting project for a wide range of divisions, in which students can both apply and expand their technical expertise and demonstrate their teamwork skills by collaborating across various fields within the framework of the competition.
Technology
Sweaty is a largely autonomous robot. The goal of the project is to develop a robot that can compete against—and even defeat—the local soccer world champion by 2050. To achieve this, the team is implementing modern design and manufacturing methods and complementing them with creative ideas. The research covers a wide variety of technologies, such as motion analysis, control systems, artificial intelligence, and much more.
Sweaty 2017
Key Figures
Robot Name |
| Sweaty (2017) |
Robot height |
| 172 cm |
Robot weight |
| 24 kg |
Walking speed |
| 0.2 m/s |
Number of degrees of freedom |
| 32 |
Motor type |
| Maxon BLDC, Dynamixel MX-106 |
Sensor types |
| 3x XSense IMU 2x 6-axis force-torque sensors (FT sensor, in-house development) 32x position sensors 32x force sensors 22x velocity sensors 36x voltage sensors 70x temperature sensors 2x IDS UEye 3242LE-C, focal length 1.8 mm, field of view 160° |
Computer |
| 1x i7 BRIX-CORE-4770R / 3.9 GHz 27x STM32F4 |
Shoulder height |
| 150 cm |
Shoulder width |
| 60 cm |
Hip height |
| 82 cm |
BUS systems
|
| Ethernet 2x CAN 1x RS485 4x USB |
Battery |
| 2 LiPo 7S1P 4Ah 80C |
Sweaty 2016
Key Figures
Robot Name: |
| Sweaty |
Robot height: |
| 165 cm |
Robot weight: |
| 21 kg |
Walking speed |
| 0.2 m/s |
Number of degrees of freedom: |
| 23 |
Motor type: |
| Dynamixel MX-106, MX-64, Volz |
User sensor type: |
| Logitech C905, modified lens: 1.5” / focal length 1.55 mm, field of view 185° (partially obstructed, effectively 180°) |
Computer: |
| 2x i7 BRIX-CORE-4770R / 3.9 GHz 23x STM32F4 |
Shoulder height: |
| 117 cm |
Shoulder width: |
| 54 cm |
Hip height: |
| 75 cm |
Torso size: |
| 38 cm |
Arm length: |
| 50 cm |
BUS systems: |
| Ethernet 2x CAN 1x USB, I2C, and SPI 1x RS-485 |
Battery: |
| 2 LiPo 7S1P 4Ah 80C |
Vision
Two configurations were developed for the visual detection of objects on the playing field (ball, goals, lines, opponents). The first variant was provided by the Nimbro team at the University of Bonn. It consists of a Logitech camera with a fisheye lens (approx. 185° field of view), which was mounted on a small motor to rotate the camera head. Separately, a more complex stereoscopic detection system was built using two USB RGB cameras (1280x1024 pixels), which are mounted on a fixed bracket 12 cm apart. The mount can be panned, tilted, and rotated around the central axis of the field of view.
As a starting point, the object recognition component of the Nimbro team’s software for Ubuntu Linux—which runs on the Odroid-XU—was adapted. With this configuration, it provides simple color calibration and subsequently reliably detects the ball, the playing field, and the goals. Another important aspect of this work was becoming familiar with the ROS framework.
This made it possible to establish communication with the Java software, which handles the adaptation and decision-making processes. The ball’s world coordinates could be determined with centimeter-level resolution. Without any optimization, a frame rate of 10 Hz was achieved.
Apart from the Nimbro- and ROS-based analyses on the Odroid-XU, further work was carried out using OpenCV. This was the case, for example, with the geometric calibration of the fisheye lens using the classic checkerboard approach, or with the line detection methods, which rely more on shape than on color features. For fundamental testing, a complete scaled-down playing field with good options for controlling lighting conditions is available. A half-sized playing field was set up at full scale, which is more dependent on ambient lighting conditions.
Thermodynamics
The torque of conventional drives with a given mass is limited by heat dissipation. Increasing heat transfer automatically helps to increase a drive’s average torque, as long as magnetic saturation has not been reached. This is the case with most conventional drives. One possible drive, for example, is the Dynamixel MX-28R, which is powered by an RE-max-17 motor (manufacturer: Maxon). The thermal resistance between the housing and the air for this motor is 35 K/W; in addition, there is an additional thermal resistance due to the drive’s housing. The thermal resistance between the windings and the motor housing is only 12 K/W. Reducing the thermal resistance to the air by two-thirds would double the allowable heat dissipation. This reduction can be achieved through improved heat transfer to the air. A moist surface enables additional heat dissipation through water evaporation. The drive in question has a stall current of 1.7 A and generates approximately 25 W of heat at maximum current. The motor can be operated at high current only for short periods and only with extended breaks; otherwise, it will overheat and be destroyed. These pauses can be shortened through efficient cooling of the motor [HD1]. The amount of water evaporated in relation to the heat dissipated can be calculated using the mass flow rate, where the heat dissipated is equal to the specific heat of vaporization. If one evaluates this ratio for the drive in question, it results in approximately 1 g of water evaporation per 100 s at the stall current, which, of course, cannot be sustained without pauses.
Component Architecture
Sweaty's computing and communication architecture consists of three levels:
A high-performance mini-PC with an Intel i7 processor serves as the main computer. The operating system is Linux. The decision-making programs are written in Java, and the programs for visual environment recognition are written in C++ and Python.
A main communication controller collects and distributes data between the main computer and the distributed microcontrollers and performs preliminary data analysis. The main communication controller is based on a 32-bit ARM Cortex-M4 and was developed and manufactured in-house.
The distributed microcontrollers (ECUs) are also based on 32-bit ARM Cortex-M4 microcontrollers. They are built into the servos, with additional ones located in the legs and near the head.
Communication between the main computer and the main communication controller is implemented via USB 2.0; communication between the main communication controller and the distributed ECUs takes place via EIA-485 at a clock frequency of 2 MHz. A dedicated communication protocol is used to ensure a standardized exchange of information, describing, among other things, how each ECU reports its current status to the central unit.
Two physical EIA-485 communication networks are required to ensure sufficient data throughput.
In addition to the servos’ ECUs, a total of 4 ECUs are planned: one per foot, one near the center of mass, and one in the head. The behavior of the ECUs is simulated using LTSpice and designed using EAGLE. All ECUs are based on 32-bit ARM Cortex-M4 microcontrollers.
Engines
Our current Sweaty uses various servos:
12 Maxon BLDC motors with lead screw drives (feet, knees, hips, back)
4x Maxon BLDC motors with planetary gearheads (arm rotation, hip rotation)
8x Dynamixel servos (arms and head)
8x linear servos (fingers)
With the exception of the Dynamixel servos, all servo drives (electronics and software) were developed in-house by the Sweaty team.
In our previous model, we used only commercially available servos (manufacturers: Dynamixel, Volz).
To achieve sufficient movement speed with high torque, the digital servos were overloaded. The motor windings are cantilevered, so overheating leads to immediate motor failure.
A thermal model of the motors was developed to continuously calculate the temperature of the windings in each individual motor. As soon as a threshold temperature is reached, Sweaty’s movements are reduced to a minimum, or he remains stationary until the motors have cooled down again—Sweaty’s behavior is therefore comparable to that of a real soccer player.
Sensors
The force sensors are to be mounted under the feet. Of the three inertial systems, one sensor is located near the center of gravity and the other two are in the feet to detect the Earth’s surface. For simplicity, all three inertial systems have the same design. Each of the three inertial systems consists of three accelerometers, three gyroscopes, and three magnetic field sensors from STMicroelectronics. Data acquisition and analysis are performed by our electronic control units (see component architecture).
Software
The software team’s main goal is to reuse as much of the 3D simulation’s program code as possible. The code’s component-based architecture makes this much easier. To give a rough idea of the success, we can say that approximately 50 classes for Sweaty were integrated into the framework. These include, among other things, a specialized inverse kinematics calculation, interface classes for ROS, a specialized component creation process, and the parameterization of certain behaviors. There is also a specialized field meta-model for the various field sizes in the Humanoid League.
The number of Nao-specific classes is also approximately 50, and the number of shared classes is well over 500 (excluding tools; runtime only). Of course, during the development process, some of the 500 classes had to be adapted and modified to make them usable for a humanoid robot.
By using the code components from the 3D simulation, we were also able to reap numerous benefits in terms of the toolset. We were able to adopt magmaDeveloper, the behavior editor, and several other smaller tools needed for the development and testing of such software for a bipedal robot.
Simulation
Sweaty is simulated in the “Simspark Simulator.” This simulator is used for the 3D soccer simulation league. It is based on ODE and supports gravity, stiffness, body dynamics, joint connections, maximum joint torque, attitude gyros, force-resistance sensors, accelerations, disturbance models, camera simulations, and much more.
Design
To reduce weight, the robot's load-bearing structure was made of aluminum and carbon fiber composites. Further weight reduction was achieved through a special manufacturing process: for example, the head and feet were produced using selective laser sintering (SLS), a process that allows even complex three-dimensional structures to be manufactured.Creo 2.0 was used as the CAD system, and Creo 2.0 and ANSYS were used for FEM analyses.
More Information
Team
The Team
The team consists of professors, research assistants, doctoral candidates, and students from the divisions of Maschinenbau, Process Engineering, Electrical Engineering, Medizintechnik, Informatik and Media Studies. It is only through the collaboration of all these departments that Sweaty has been so successful in the RoboCup.
Former team members
Prof. Dr.-Ing. Ulrich Hochberg
Team Leader, SweatyAndré Friedrich, M.Sc.
Design and KinematicsFabian Schnekenburger, M.Sc.
Electronics, Software, and VisionNils Jahn
ElectronicsLucas Schickl, B.Eng.
DesignProf. Dr. rer. nat. Michael Wülker
VisionSteffen Schmidt
ElectronicsMichael Sattler, M.Sc.
RoboCup Technical Committee / RulesMartin Burkart, B.Eng.
Design / SimulationLudovic Letang
Mechanical Engineering / DevelopmentRaphael Koger, M.Sc.
Electronics / ProgrammingMatthias Neudorf
Design / DevelopmentMatthias Sebastian Niederhofer, Dipl.-Ing. (FH)
OrganizationLars Lehmann
Game Controller, CommunicationIgor Tropmann, M.Sc.
Electronics / ProgrammingWaldemar Frei
Design / CoolingYuri D'Antilio
Armin Dietsche, M.Sc.
Mechanics / Kinematics / Cooling / Student SupportMichael Obrecht
Ulrich Kevin Tankeu Tchakounte
DesignAleksandre Zakaroshvili
DesignDavid Stefan Zimmermann
DecisionSneha Venkataramana
VisionEfstratios Tziallas
VisionMahdi Sadeghi
USB Communication, SweatyChristoph Plschek
ElectronicsSamuel Oesterle
HeadUlrich Messner, B.Eng.
DesignStefan Großmann
Artificial IntelligenceLuisa Andre
Step Planning, PublicityAlexander Derr
KicksDenise Ehret
SimulationMichael Fehrenbach
CoolingProf. Sabine Hirtes, M.A. in Design
Motion CaptureJulian Hohenöcker
Heterogeneous Robot TypesSebastian Jung
DesignStephan Kammerer
Rolling BehaviorMaximilian Krög
Training, Goalie, Penalty ShootoutsMuse Seyoum Teklemarriam
VisionThomas Münch
Prof. Dr.-Ing. Axel Sikora
Programming
Licenses
"SWEATY's two hands" are the "Brunel Hand 2.0" from Open Bionics, and "SWEATY's two arms" are the “Reachy Arm Module” from Pollen Robotics SAS, used under the Creative Commons Attribution-ShareAlike 4.0 International License.
Coordinators
Publikationen
Sponsors