ZJUDancer Team Description Paper
Mei WenXing, Pan Yusu, Peng Bo, Jiang ChaoFeng, Liu Yun, Xiong Rong
State Key Lab. of Industrial Control Technology, Zhejiang University, Hangzhou, China
Abstract In this paper, we describe the robot system designed by ZJU-Dancer, a RoboCup Humanoid League team from Zhejiang University, China, as required by the qualification procedure for the competition to be held in Nagoya, Japan from July 25th to July 30th in 2017. Full details of our robots including mechanical design, electrical design, sensors and software design are described. With the improved robots, we hope we can win the first place in RoboCup 2017 Humanoid League Kid-Size.
1 Introduction
The robots developed by ZJUDancer for RoboCup 2017 are fully autonomous humanoid robots which play dierent parts as a team in the football game. During the past few years, we won the champions of RoboCup China Open 2007, 2009 ,2010, 2011, 2012, and 2013 and advanced to quarter-nals in RoboCup 2012 Mexico and RoboCup 2013 Netherlands. In RoboCup 2015 and 2016, We won the second place. The team members of ZJUDancer are familiar with the rule of the game and have the ability to serve as referee. Fig 1(a) shows our robot.
Table 1 shows the general specications of our robots. Four players from ZJU-Dancer named Yu Quan, Zi Jingang, Xi Xi and Zhi Jiang are fully autonomous humanoid soccer robots. Each robot is xed to the size and weight limitations of the competition and connected by wireless networks. Referees directions could be sent to the robot through the network. This year, lots of eorts has been made to improve the hardware and the software of our robot system. More details will be introduced in the following sections.
Table 1: General specications of the robot
| Description |
|---|
| ZJUDancer |
| 20 |
| 58cm |
| 35cm |
| 4kg |
2 Mechanical Specications
The robot from ZJUDancer has 2 legs, 2 arms, 1 trunk and 1 head. The actuators we selected are Dynamixel MX-106 and MX-64. Each robot is is driven by 20 servo motors: 6 per leg, 3 in each arm and 2 in the head. The sixleg-servos allow for exible leg movements. Three orthogonal servos constitute the 3-DOF hip joint. Two orthogonal servos form the 2-DOF ankle joint. One servo drives the knee joint. The motor distribution is dierent but the DOF is the same. The robots mechanical sketch could be seen in Fig 1(b).
Table 2: Motor types and Distributions of DOF
| Part | Rotation Axis | Actuator |
|---|---|---|
| Neck | Yaw, Pitch | MX-28, MX-28 |
| Shoulder | Roll, Pitch | MX-64, MX-64 |
| Arm | Pitch | MX-64 |
| Hip | Roll, Yaw | MX-106, MX-106 |
| Knee | Pitch, Pitch | MX-106, MX-106 |
| Anke | Pitch, Roll | MX-106, MX-106 |
| Total DOF | 20 |
3 Electrical Specications
Our electrical controllers are the motor controller and the camera controller, specications of which could be seen in Table 3. The camera controller works as the main controller processing object detection, robot self-localization, strategies selection and multi-robot communications. The movement and balance maintaining are implemented by the motor controller which executes the movement direction from the main controller. Total electrical architecture could be seen in Fig 2.
Table 3: Electrical specifications and components
| Camera Controller | Motor Controller | ||
|---|---|---|---|
| CPU | NVIDIA Jetson TX1 | ATMEL Mega128 | |
| FLASH | 16GB | 128KB | |
| RAM | 4GB | $64 \mathrm{KB}$ | |
| OS | Ubuntu 16.04.1 | None | |
| FLASH RAM |
16GB 4GB |
128KB 64KB |
4 Sensor Specications
There are 4 types of sensors equipped on our robot, which are image sensors, gyroscopes, accelerometers and potentiometers.
Image sensor. We take the Philips SPC1000NC as the image sensor this year. We are testing another wide angle camera which has a more wide view and helps improve the eciency of perception.
Gyroscopes. Gyroscopes are equipped in the chest of our humanoid robot. It returns the angular velocity for the trunk of humanoid robot and helps to keep the balance of humanoid robot. After the redesign, the gyroscope remained at the center of the chest, but upside down for easy installation.
Accelerometers. This sensor detects the gravity vector when the robot is static. The main applications of this sensor is that it could be used to recognize whether humanoid robot is standing or lying down. The autonomously get- ting up from tipping over is depend on this sensor. On the other hand, the dynamic attitude estimate from the fusion of gyros and accelerometers is under research.
Potentiometer. This sensor detects the rotation angle of the actuator. With this sensor, the robot recognizes the current angular position of the joint. This sensor is controlled by actuator controller.
5 Software Architecture
This year we totally rewrite the whole strcture of our software, aiming to be more reliable, extensible and user-friendly. We separate original monolithic program into multiple process and use Pub-Sub pattern. In the Meanwhile, we design a series of tools to aid debugging and deploying.
In the vision module, we employ deep learning method to detect objects and landmarks. After that, particle filter with sensor resetting is used to do the self-localization for robots. Besides this, EKF is used to estimate the objects position. The whole software architecture can be seen in Fig 3.
6 Conclusion
In this paper, we present the specications of our robot that has two controllers and 20 DOFs. ZJUDancer has made a great progress in both hardware and software during the last year and looks forward to making a new breakthrough in RoboCup 2017. Wed like to share our experience and have a good match with all the teams.