Tsinghua Hephaestus 2012 AdultSize Team Description
Mingguo Zhao, Cheng Li, Chiheng Xu, Yuheng Chen, Ning Jiang, Ka Deng, Biao Hu, Peiyun Hu, Shuhua Li, Jiacheng Zhang, Sibo Jia
Department of Automation, Tsinghua University, Beijing, China; Department of Physics, Tsinghua University, Beijing, China; Department of Computer Science & Technology, Tsinghua University, China
http://www.au.tsinghua.edu.cn/robotlab/
Abstract This document describes both hardware and software specifications and practical functions of the humanoid robot THU-Strider, developed by team Tsinghua Hephaestus as a platform for research in bipedal locomotion, robot self-localization and multi-robot cooperation. The robots will also be used to participate in Humanoid League(AdultSize) of RoboCup 2012 Mexico.
1 Introduction
The Tsinghua Hephaestus is a RoboCup Humanoid League team running at Dept. of Automation, Tsinghua University, China, since July 2006. Before that, we had three years participant experience in RoboCup Full Legged League and got the fifth place in the Technical Challenges in RoboCup2006 Bremen. Our current research interest is focused on bipedal locomotion[1]-[4], robot self-localization[5]-[6] and multi-robot cooperation in dynamic environment[7]. The humanoid team had taken part in the RoboCup2007 and RoboCup2008 both in KidSize and TeenSize. In the RoboCup2008, our TeenSize team got the 2nd and our KidSize team went into the Round Robin2. Moreover, our TeenSize team got the 3rd in Robocup 2009 and 2010. We have also got the 3rd of AdultSize in RoboCup2011 and we have been getting prepared well for Robocup2012. THU-Strider is an AdultSize humanoid soccer robot developed as a platform for Tsinghua Hephaestus RoboCup team in RoboCup 2011. The main goal is to develop a light weight and fast walking soccer robot. A passive dynamic walking based powered walking-Virtual Slope Walking is developed for gait generation and some mechanical refine are ongoing. This document will give a general view of the robot.
2 The Robot Design
Fig 1-1 shows one of our THU-Strider robot in practice. The robot has a height of 1320 mm, and weights 18.10 Kg, including batteries. The detailed dimensions are shown in Fig. 1-2. The robot has 18 DOFs: 5 in each leg, 3 in each arm, 2 in the head. For THU-Strider, 10 Vstone V3310 servo motors are used as actuators for legs and 8 Robotis EX106+ for arms. We use NI SingleBoard RIO-9602 as the motion controller, connected with all motors. And use a Sony-UMPC as the Main Controllor of the robot, with two USB ports, one to motion-controller and the other to camera. Specifically, one Logitech QuickCam C-710 CCD camera is used to be the vision sensor located in the robot head. Buttons and LEDs, located on the back, are set to control and indicate the robot state. The motors of upper body are connected in series on a RS-485 bus and lower body (leg) motors are connected in series on a LVTTL bus. The details of the control system are shown in Fig. 2-1).
3 Software Architecture
The software architecture consists of two processes, Cognition and Motion. The two processes runs in parallel and interchange data through a message queue. Cognition is responsible for information perception, self-localization and behavior decision, while Motion is responsible of gait planning and motor controlling. Each process is divided into several modules according to functionality. And modules are arranged so that they are independent to each other. Module configurations and data flows are shown in Fig. 2-2).
Image Grabber grabs images from the vision sensor and generates related information of the image and the pose of the camera.
Image Processor processes the incoming images grabbed by Image Grabber, and yield information needed for Localization and Behavior Control.
Localization implements the localization algorithm, manages position information of robots and the ball, as to be used by Behavior Control.
Behavior Control controls the game process and makes behavior decisions.
Motion Control manages all the actuators of the robot, and controls locomotion or any other action of the robot according to the requests from Cognition.
Sensor Control manages other sensors, and interacts with the Sub-Controller.
4 Vision
A Logitech camera is employed as vision sensor. The vision module has two tasks: object recognition and relative position estimation. The object recognition process is based on the result of color segmentation. However, not the whole image is used to retrieve features for object recognition, but the image is scanned along a grid, thus to save computational expense.
4.1 Vision Sensor
The Logitech QuickCam C-710 web camera employed as the vision sensor, which has the field of view is about 51◦ × 37◦ . The robot has to rotate its head to widen the sight. The connection to the main controller via USB 2.0 provides Real-time image series of a resolution of 320 × 240 of 25 fps.
4.2 Color Segmentation
After images are captured, the RGB pixels are mapped to 16 color space simultaneously to minimize the storage cost. The original image (320240 RGB) would cost about 230KB of RAM resource. With this optimization, this cost would decrease to 17%.
4.3 Feature Extraction
Objects are distinguished by colors. As the features, clusters of different colors were extracted along the scan line from top to bottom or left to right. And the process would end if no more special colors appear. The special color found calls further object recognition in related areas. For instance, consecutive orange pixels call the process of ball detector. Single special colored point would not be considered as a target object, in case there was some expected error spot in the image especially during walking or other dynamic situations.
4.4 Object Recognition
Feature, a characteristic series of colors or a pattern of colors, is used for object recognition, e.g., a sequence of some orange pixels is an indication of a ball. Fig. 3 shows the recognized ball, goal and beacons in the image.
Ball detector After Color Segmentation, Breath First Search (BFS) is used in order to find candidate regions of the ball. Then for each candidate regions, the convex set of the region is calculated and three points are sampled randomly on its edge. At last, a circle is fitted with these points and the fitting error is evaluated. If the error is less than a certain threshold, this region is accepted as a ball.
Goal detector Goal is a reasonably large rectangle area with yellow or blue pixels. We use an algorithm based on moment-method just like linear regression, searching the goal from the bottom of it. And Check the minimum eigenvalue of inertia matrix simultaneously. Stop while the eigenvalue becomes great suddenly. Then we check the direction of the goal.
Beacons detector Moment-method is also used in beacons detector. If beacons can be divided into three parts (Blue-Yellow-Blue), the maximum eigenvalue of two blue parts inertia matrix will approach the maximum eigenvalue of all parts.
Field Line detector Moment-method is also used in field Line detector, start searching with a random white point, and use linear regression simultaneously. Stop until descending of quality of regression. Then use a hypothesis inference to find all points on the line. The complexity of all the algorithms is O(n) (n is the number of points for a special color). The result of recognition is shown in Fig. 3.
5 Localization
We use Particle Filter algorithm for self localization. Fig. 8 gives out a demo of it. Using 200-1000 particles to estimate the distribution of complete state f(x, y, θ) of robot. But in planning, sometimes robot just needs the direction of goal or other item. So we will use a distribution transform to find the direction of goal (always a margin distribution).
6 Behavior Control
The data provided by the sensors and location modules is used to plan a more complex behavior series. And the module of Behavior Control takes the charge of this task. The main task is separated into subtasks until they can be described as a set of basic behaviors which can be executed by the robot. All this is done by a hierarchical state machine described in XABSL (Extensible Agent Behavior Specification Language). The basic motion actions are transferred to and interpreted by the motion module, while other basic actions are processed in further modules. It can output the following variables: 1) A motion request of basic behaviors to inform the motion module the robots next action. 2) A head motion request of head mode to inform the motion module the robots next head action. 3) 3 LEDs state. An XABSL behavior specification is comprised by a set of behavior modules called options and a set of different simple actions called basic behaviors. Each option consists of numbers of states or subordinate options. Each state has two parts of information, decisions and actions. Decisions describe the conditions whether to jump out or stay in the current state according to the input variable, while the actions consist of the outputs such as the basic behaviors, LEDs etc.
7 Gait Planning
The implementation of forward walking is applying Virtual Slope Walking in the sagittal plane with the Lateral Swing Movement for lateral stability[1]. The forward walking speed of THU-Strider is 0.6 m/s. The sideward walking and turning is realized by carefully designing the key frames. All of the above gait is generated by connecting the key frames with smooth sinusoids. By merging the translational movements with the rotational movements, THU-Strider is able to perform omnidirectional walking.
Gait planning is mainly done on SingleBoard RIO9602. When we get basic motion request from upper module, motion is translated into instructions for each joint actuator. Instructions are kept sending out frame by frame via communication bus to make robot move as expected. This module is programmed in NI LabVIEW. Fig. 7 and Fig. 8 are some details of our program.
8 Conclusion
Our AdultSize robot THU-Strider is a self-autonomous humanoid robot, with 1 camera and 18 actuators integrated on body, controlled with a UMPC-SingleBoardRIO system. In this paper we present the specifications and functions of THU-Strider, as well as some related works on vision, localization and gait planning and control.
Tsinghua Hephaestus commits to participate in RoboCup 2012 in Mexico City and to provide a referee knowledgable of the rules of the Humanoid League.
References
- M. Zhao, J. Zhang, H. Dong, Y. Liu, L. Li and X. Su, Humanoid Robot Gait Generation Based on Limit Cycle Stability, In the proceedings of the RoboCup Symposium 2008, LNAI 5399, pp. 403-413, 2009.
- M. Zhao, H. Dong and N. Zhang, The instantaneous leg extension model of Virtual Slope Walking, IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3220- 3225, Oct. 2009.
- H. Dong, M. Zhao, J. Zhang and N. Zhang, Hardware design and gait generation of humanoid soccer robot Stepper-3D, Robotics and Autonomous Systems, vol. 57, no. 8, pp. 828-838, 2009.
- H. Dong, M. Zhao and N. Zhang, High-speed and energy-efficient biped locomotion based on Virtual Slope Walking, Autonomous Robots, vol. 30, no. 2, pp. 199-216, Jan. 2011.
- Y. Cai, M. Zhao, Z. Shi and W. Xu, An Experimental Comparison of Localization Methods in Robocup Four Legged League, Robot 2007 vol. 29, no. 2, pp. 167-170.
- Z. Liu, Z. Shi, M. Zhao and W. Xu, Mobile Robots Global Localization Using Adaptive Dynamic Clustered Particle Filters, Proceedings of the International Conference on Intelligent Robots and Systems, pp. 1059-1064, 2007.
- Z. Liu, M. Zhao, Z. Shi and W. Xu, Multi-robot Cooperative Localization through Collaborative Visual Object Tracking, In the proceedings of RoboCup 2007 Symposium, LNAI 5001, pp. 41-52, May. 2008.