ZJUDancer Team Description Paper

Yin Huan, Yu Dongdong, Mei WenXing, Xiong Rong

State Key Lab. of Industrial Control Technology, Zhejiang University, Hangzhou, China

https://github.com/UNSWComputing


Abstract This document describes the RoboCup Humanoid League team ZJUDancer from Zhejiang University, China, as required by the qualification procedure for the competition to be held in Leipzig, Germany from June 30th to July 4th in 2016. Full details of our robots including mechanical design, electrical design, sensors and software design are described. With the improved robots, we hope we could win the first place in Robocup 2016 Humanoid League Kid-Size.

1 Introduction

The robots developed by ZJUDancer for RoboCup 2016 are fully autonomous humanoid robots which play different 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-finals in Robocup 2012 Mexico and Robocup 2013 Netherlands. In Robocup 2015, We won the second place in Hefei, China. The team members of ZJUDancer are familiar with the rule of the game and have the ability to serve as referee. Figure. 1 shows our robot.

Fig. 1. Robot of ZJUDancer (a) kicking the ball (b) mechanical sketch
Fig. 1. Robot of ZJUDancer (a) kicking the ball (b) mechanical sketch
Fig. 1. Robot of ZJUDancer (a) kicking the ball (b) mechanical sketch
Fig. 1. Robot of ZJUDancer (a) kicking the ball (b) mechanical sketch

2 ZJUDancer Team Description Paper

Table. 1 shows the general specifications of our robots. Four players from ZJUDancer named Yu Quan, Zi Jingang, Xi Xi and Zhi Jiang are fully autonomous humanoid soccer robots. Each robot is fixed 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 efforts 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 Specifications of the robot

Team Name ZJUDancer
Number of DOF 20
Height 58cm
Width 35cm
Weight 4kg

2 Mechanical Specifications

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 robotis is driven by 20 servo motors: 6 per leg, 3 in each arm and 2 in the head. The sixleg-servos allow for flexible 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 different but the DOF is the same.

We also pay attention to other types of actuators, such as Futaba RS405CB and RS406CB. We hope we could get the cost down and improve the mechanical properties in the future. The robot's mechanical sketch could be seen in Figure. 1(b). Table. 2 shows the details.

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
Ankle Pitch, Roll MX-106, MX-106
Total DOF 20

3 Electrical Specifications

Our electrical controllers are the motor controller and the camera controller, specifications of which could be seen in Table.3. The camera controller works as the main controller processing image identification, location, strategies selection and communications. The movement and balance maintaining are implemented by the motor controller which executes the movement direction from the main controller. The total electrical architecture could be seen in Figure.2.

We used the Intel Atom Z530 as the camera controller in the previous years. With the code becoming more complex, we need stronger CPU to process images and manage strategies. Stronger CPU could free up the programmers, and message would travel faster in the use of SSD(solid state disk).

Fig. 2. Robot's Electrical Architecture
Fig. 2. Robot's Electrical Architecture

Table 3. Electrical Architecture of our robot

Camera Controller Motor Controller
CPU Intel Core i7-5500U ATMEL Mega128
FLASH 64GB 128KB
RAM 4GB 64KB
OS Linux None

4 Sensor Specifications

There are 3 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 efficiency 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 getting 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.

5 Software Architecture

The vision module is mostly based on color segmentation. Hough transformation is applied to detect the white lines and the central circle[2]. After processing the image, particle filter with sensor resetting is used to do the self-localization for robots[3][4]. Besides this, EKF is used to estimate the objects position. The whole software architecture can be seen in Figure.3.

We draw lessons from team rUNSWift who participats in Standard Platform League. We modified the basic structure of our software this year. At a high level, our C++ perception thread reads information from the world (mostly through vision), and then calls a python function in an embedded interpreter which has to return an action to perform[5]. The new structure is more robust and works faster than the old one.

Fig. 3. Software Architecture
Fig. 3. Software Architecture

6 Other Improvement

We decide to discard the compass this year. This sensor detects the Earth's magnetic field, which plays an important part in our robots' location. In order to offer an orientation to the robot, we use visual odometry in place of the compass.

The monocular visual odometry is the process of estimating the ego motion of a robot using only the input of a single camera attached to it[6]. For every new image, the first two steps consist of detecting and matching 2-D features with those from the previous frames. As shown in Figure.4, we use SURF(speeded-up robust features) to detect the keypoints, and the epipolar cnstraint to match two images. The third step consists of computing the relative motion. After the computing, the rotation and translation parts can be extracted. Both of them could be used in the self-localization in place of the compass.

Fig. 4. Matches between two images
Fig. 4. Matches between two images

7 Conclusion

In this paper, we present the specifications 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 2016. We'd like to share our experience and have a good match with all the teams.

8 The References Section

[Section header]

References

  1. Yu DongDong: ZJUDancer Team Description Paper (2015)
  2. Du Xinfeng: Fast recognition and precise localization of humanoid soccer robot vision system. Journal of Zhejiang University (Engineering Science). Vol. 43 No. 11, 1975–1981 (2009)
  3. J. S. Gutmann and D. Fox: An experimental comparison of localization methods continued. IEEE/RSJ International Conference on Intelligent Robots and System. vol. 1, no. 1, pp. 454459.
  4. W.Richard Stevens, Stephen A. Rago: Advanced Programming in the UNIX Environment. 2nd Edition. (2005)
  5. Robocup 2015 Standard Platform League World Champion Team rUNSWift, https://github.com/UNSWComputing
  6. Scaramuzza D, Fraundorfer F: Visual odometry. Part I The First 30 years and fundamentals. IEEE Robot. Autom. Mag, 2011, 18: 8092.