ZJUTDeus Team Description Paper

Wu Jiantao, Shao Ziqi, Ren Hao

Zhejiang University of Technology, Hangzhou, China


Abstract This document describes the RoboCup Humanoid League team ZJUT-Deus from Zhejiang University of Technology, China, as required by the qualification procedure for the competition to be held in Leipzig, the Germany in June 2016.

1 Scientific Aspects

Our robots for RoboCup2016 are fully autonomous and humanoid, which can play different roles as a team in the soccer game.

Figure 1: Robot
Figure 1: Robot
Figure 2: Actuator
Figure 2: Actuator

1.1 Mechanical Specification

Our robot has two legs, two arms, one trunk and one hand. Each robot has 20 servo motors, could be seen in table below and Figure 2.

Actuator Configuration

Part Rotation Axis Actuator
Neck Yaw, Pitch RX-28
Shoulder Roll, Pitch RX-28
Arm Pitch RX-28
Hip Roll, Yaw RX-64, RX-28
Knee Pitch RX-64
Ankle Pitch, Roll RX-64

1.2 Electrical Specification

Our electrical controllers consist of main controller and motor controller. The main controller use Intel Atom 128 and has a WIFI module. We run Ubuntu system and the program in the controller. The motor controller mainly control the motors. And it deals with the data from MPU6050, and make sure the pose stable. The total electrical architecture could be seen in Figure 3.

Figure 3: Electrical Architecture
Figure 3: Electrical Architecture

1.3 Sensor Specification

There are two types of sensors equipped on our robot, image sensor and M-PU6050.

• Image sensor. We use a Logitech 480P webcam to get image.

• MPU6050. The InvenSense MPU-6050 sensor contains a MEMS accelerometer and a MEMS gyro in a single chip. It is very accurate, as it contains 16-bits analog to digital conversion hardware for each channel. Therefor it captures the x, y, and z channel at the same time.

1.4 Software Architecture

Our program is organized as modules which use message and action to communicate with each other.

The vision module read, process the image, and publish a detection message. For each image firstly we use Mean Shift algorithm to pretreat it. After that, use GrabCut algorithm to split the image. Then, use Canny algorithm to detect the image edge, when getting the edge, do Hough Transform, then extract some lines. Finally, the vision module send messages to the Strategy Module.

And then, the message-driven strategy module determine the corresponding action. We use DFA(Deterministic Finite Automaton) to determine a state and send action message to gait module.

At last, the gait module read gait file and then correct the pose according to the data from MPU6050. The whole software architecture could be seen in Figure 4.

Figure 4: Software Architecture
Figure 4: Software Architecture

2 Achievement

(section continues with subsections below)

2.1 Simulation development environment of robot

Use robot model of ROS to create a visual development environment.

Figure 5: pose generator
Figure 5: pose generator
Figure 6: execute under simulation
Figure 6: execute under simulation

2.2 Robot Model

It's easy to control robot by setleg and setparam function. And centroid is returned for analysis.

Figure 7: Robot Model
Figure 7: Robot Model

2.3 Offline Gait Planning

The Tree-Dimensional Linear Inverted Pendulum Model [1] is used to generate an initial gait of walking. But it doesn't work very well. So we create a file for recording the change of gait. We change the file to make the gait better. Finally we get the satisfactory result after months' hard working.

Figure 8: Gait
Figure 8: Gait

2.4 Gait Correctness

Due to the loose of mechanical structure itself, it's not possible to generate stable gait even if there is an accurate model. Therefore, the direction of acceleration getting from MPU6050 is used for correcting gait.

2.5 Object Recognition

Lots of code are written with the help of OpenCV. We improve our detection method to find a colorful ball by matching features [3].

Figure 9: Object Recognize
Figure 9: Object Recognize

2.6 Fall Detection

The dmp [2] is used to get robot space Euler Angle (pitch, roll, and heading Angle).

2.7 Path-planning

A* search algorithm is used to find a path quickly.

3 Prior Performance

During the past years, we won first prize of racing, second prize of penalty kick in RoboCup China Open 2013, and advanced to runner-up of soccer game in RoboCup China Open 2014. Last year, we also won the champion of the Technique Challenges in RoboCup China Open 2015.

4 Conclusion

We have completed all actions as required. Our robots can run totally automatically and play as a team. But it's not our final target. Hopefully, our robot can response to the change of environment. There are still several months left for us to finish the hard and challenging job. We will do better and play a positive roll in RoboCup 2016.

References

  1. CHEN Hua and LIU Guo-Dong.Three-Dimensional Linear Inverted Pendulum Model in the Biped Robot System[J].Computer Systems & Applications, 2012, 21(8):178-182.
  2. https://github.com/jrowberg/i2cdevlib
  3. Li Li.Image Matching Algorithm based on Feature-point and DAISY Descriptor.Journal of Multimedia, Vol 9, No 6 (2014), 829-834.