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, Sweaty

  • André Friedrich, M.Sc.
    Design and Kinematics

  • Fabian Schnekenburger, M.Sc.
    Electronics, Software, and Vision

  • Nils Jahn
    Electronics

  • Lucas Schickl, B.Eng.
    Design

  • Prof. Dr. rer. nat. Michael Wülker
    Vision

  • Steffen Schmidt
    Electronics

  • Michael Sattler, M.Sc.
    RoboCup Technical Committee / Rules

  • Martin Burkart, B.Eng.
    Design / Simulation

  • Ludovic Letang
    Mechanical Engineering / Development

  • Raphael Koger, M.Sc.
    Electronics / Programming

  • Matthias Neudorf
    Design / Development

  • Matthias Sebastian Niederhofer, Dipl.-Ing. (FH)
    Organization

  • Lars Lehmann
    Game Controller, Communication

  • Igor Tropmann, M.Sc.
    Electronics / Programming

  • Waldemar Frei
    Design / Cooling

  • Yuri D'Antilio

  • Armin Dietsche, M.Sc.
    Mechanics / Kinematics / Cooling / Student Support

  • Michael Obrecht

  • Ulrich Kevin Tankeu Tchakounte
    Design

  • Aleksandre Zakaroshvili
    Design

  • David Stefan Zimmermann
    Decision

  • Sneha Venkataramana
    Vision

  • Efstratios Tziallas
    Vision

  • Mahdi Sadeghi
    USB Communication, Sweaty

  • Christoph Plschek
    Electronics

  • Samuel Oesterle
    Head

  • Ulrich Messner, B.Eng.
    Design 

  • Stefan Großmann
    Artificial Intelligence

  • Luisa Andre
    Step Planning, Publicity

  • Alexander Derr
    Kicks

  • Denise Ehret
    Simulation

  • Michael Fehrenbach
    Cooling

  • Prof. Sabine Hirtes, M.A. in Design 
    Motion Capture

  • Julian Hohenöcker
    Heterogeneous Robot Types

  • Sebastian Jung
    Design

  • Stephan Kammerer
    Rolling Behavior

  • Maximilian Krög
    Training, Goalie, Penalty Shootouts

  • Muse Seyoum Teklemarriam
    Vision

  • Thomas 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.

Social Media

Sponsors