RoboCup 2019 - TDP Team ZSTT-NTNU

Jaesik Jeong, Jeehyun Yang, Hyunah Kim, Jacky Baltes

National Taiwan Normal University, Taipei city, 10610, Taiwan; Soong-sil University, Seoul, Republic of Korea

https://www.ee.ntnu.edu.tw/ercweb


Abstract We describe the hardware and software of the team ZSTT-NTNU as well as our previous contribution to humanoid robot research in this team description paper. This team is a joint team between Taiwan and Korea. Team ZSTT-NTNU participated in the adult-size RoboCup humanoid league for the first time in 2017. But ZSTT-NTNU was ranked 4th place in 2017 and got 3rd place in the 'technical challenge' part in 2018, showing the potential for the development of their humanoid robot. ZSTT-NTNU has a long history in humanoid robotics and were successful in previous robot competitions such as RoboCup, FIRA, and the Robot Magic competition of the 2018 IROS Humanoid Robotics Application Challenge. This paper explains the design, hardware, and software of our humanoid robot developed for RoboCup 2019 to be held next year in Sydney.

1 Introduction

Encouraging joint research in AI and robotics is an important goal of RoboCup Humanoid league, to meet the difficult entry level of forming a much larger 11 member team that is able to achieve the ultimate goal of playing against humans [1]. Team ZSTT-NTNU is a joint team which consists of National Taiwan Normal University from Taiwan and one software engineer from the Republic of Korea. We participated in the adult-size RoboCup humanoid league for the first time in 2017. We have performed in the technical challenge competition for the RoboCup Humanoid League, winning third place at RoboCup 2018. This joint team's humanoid robot is a fully autonomous adult size humanoid, which is 1.35m tall and weighs 12kg. It is constructed with 20 degrees-of-freedom. The omni-directional walking gait of the humanoid is implemented based on parameterized motions using the inverse kinematics of the robot and is able to balance using IMU feedback. The software is implemented with python and using OpenCV for the robot's object detection and localization. Our system detects the ball and opponents as well as field lines and goal posts for localization [2]. In Sec. 2 we describe the mechanical architecture of our adult-size humanoid robot and explain some of the important design choices. And we show the electric parts such as controllers, motors, sensors, and camera. We describe the motion algorithm of our robot in Sec. 3. In Sec. 4, we show our software and algorithms for recognizing the ball, goalposts, opponents, and localization. Finally, we mention our future work in Sec. 5.

2 Hardware

This section describes the hardware of our new adult-sized humanoid robot. The robot's design is based on previous successful designs that competed in the kid and teen-sized leagues. Our main improvement for RoboCup 2019 is the addition of extra gears to increase the torque in the legs of the robot(see Fig. 1).

Fig. 1. Our new humanoid robot leg's 3D design and real parts
Fig. 1. Our new humanoid robot leg's 3D design and real parts
Fig. 2. Block diagram of our humanoid robot
Fig. 2. Block diagram of our humanoid robot

2.1 Mechanical Design

The specification of our humanoid robot is shown in Table 1. The humanoid robot is 1.35m tall and weighs 12kg. The robot has 20 degrees of freedom: five in each leg, four in each arm, and two in the head.

Table 1. Robot specification

Height 135 cm
Weight 12 kg
DOF 20 (12 in legs, 6 in arms, 2 in the head)
Actuators MX-106, RX-64, RX-24F
Sensor 6-axis IMU
Camera C930e
Perception controller Intel core-m5
Motion controller Cortex-M3
Sensor controller Cortex-M3
Walking speed 20 cm/s

The robot frame is manufactured using aluminium and uses Robotis Dynamixel MX and RX series for each joint. MX-106R servos are used in the legs, each joint in the leg is composed of two motors, and RX-64 servos are used in the arms, and RX-24F in the neck [3]. We have controlled the adult-size robot with the MX-106 motor without an external gear up to the last competition. However, there was a problem that the internal gear broke because the motor could not generate enough torque. So we designed new humanoid legs with an external gear system to provide the necessary torque to our robot.

2.2 Electronics Design

Our humanoid has 3 controllers which are the perception controller, the motion controller, and the sensor controller. A tablet PC is used for computation, with a 1.1GHz Intel Core M5-6Y57, 4GB RAM, and 120GB SSD. We use the tablet PC as the perception controller which is used for vision and decision-making. The motion controller and the sensor controller use cortex-m3. They control Dynamixel servo-motors for moving the robot, communicate network data using FT232/Bluetooth, read IMU sensor information and calculate the data for localization and feedback for walking. For better noise resistance we use an RS-485 bus to communicate with the actuators in a star topology. There are communication buses connected to the motion controller, one for the legs, another for the arms, and the other for the head.

3 Motion

We found the appropriate swing value for a stable walking gait of a humanoid robot using IMU. Our humanoid robot applied a basic walking gait using inverse and forward kinematics. Software for making a basic walking motion is made available by calculating those kinematics (see Fig. 3). We calculate walking gait by analyzing IMU sensor values calculated by our algorithm. And the motion program shows an inverted pendulum simulation and the output of the sensor data. Our robot can walk stably in all omni-direction. We can make motions such as kicking a ball, moving the arms, moving the head, and so forth in our motion software. The motion software and the humanoid are connected by serial communication.

Fig. 3. motion software
Fig. 3. motion software

4 Software

Our software system is implemented with python and OpenCV(see Fig. 5). When the humanoid robots play soccer, they need to know a lot of information about the environment: the field, the humanoid's position in the field, the ball's position, the opponent's position, the opponents goalpost, and so forth. To play without any human interruption, the humanoid robot needs to know the current position, the situation and then be able to handle it. For example, when the robot succeeds in scoring a goal in a game, he must go back to the starting position autonomously [3].

Fig. 4. Vision System
Fig. 4. Vision System
Fig. 5. System architecture of our adult-sized humanoid robot
Fig. 5. System architecture of our adult-sized humanoid robot

5 Conclusion

This paper describes team ZSTT and details about the humanoid robots mechanical design, electronic design, motion, and software system. We are continuing and expanding our above research. In this year's competition, we will use the new humanoid robot with external gears and the new system with deep learning.

References

  1. Gerndt, R., Seifert, D., Baltes, J., Sadeghnejad, S., Behnke, S.: Humanoid robots in soccer: Robots versus humans in robocup 2050. IEEE Robotics Automation Magazine 22(3), 147–154 (2015)
  2. Jeong, J., Yang, J., Oh, Y., Kim, H., Setaieshi, S., Sedeghnejad, S., Baltes, J.: RoboCup 2018 - TDP Team ZSTT. https://www.robocuphumanoid.org/hl-2018/teams/. Accessed 2019-01-24
  3. Jeong, J., Yang, J., Oh, Y.: ZSTT Team Description Paper for Humanoid Adultsize League of Robocup 2017. https://www.robocuphumanoid.org/hl-2017/teams/. Accessed 2019-01-24
  4. Javadi, M., Azar, S., Azami, S., Ghidary, S., Sadeghnejad, S., Baltes, J.: Humanoid robot detection using deep learning: a speed-accuracy tradeoff. In: RoboCup 2017, Robot World Cup XXI, Nagoya, Japan (2017).