Tsinghua Hephaestus 2018 AdultSize Team Description

Mingguo Zhao, Haitao Wang, Rongge Zhang, Xueheng Zhang, Zhongyuan Tian, Qilun Wang, Wenbin Hu

Tsinghua University, Beijing, China


Abstract This document describes both hardware and software specifications and practical functions of the humanoid Walker, developed by team Tsinghua Hephaestus and UBTech robotics as a platform for research in bipedal locomotion planning and control, SLAM and decision making in real application. The robot will also be used to participate in AdultSize competition in Humanoid League of RoboCup 2018, Montreal.

Introduction

The Tsinghua Hephaestus is a RoboCup Humanoid League team running at Dept. of Automation, Tsinghua University, China, since July 2006. Our current research interest is focused on bipedal locomotion and control[1][2][3][4], robot self-localization[5][6] , and model predictive control [7]. The team had taken part in the RoboCup2007 both in KidSize and TeenSize. Our TeenSize team got the 2nd place in RoboCup2008, the 3rd place in Robocup 2009 and 2010. From 2011, we started to participate in Adultsize competition. We got the 2nd in Robocup2012 and the 3rd place in RoboCup2011, 2013 and 2014. In the last year, we also got the 2nd place in the technique challenge of the AdultSize. This year, we have been getting prepared for Robotcup 2018 with our new designed Adultsize Humanoid robot Walker. Walker is a new designed biped robot with Harmonic gearbox, PMSM servo motors and 6-Axis force/torque sensors. The main goal is to develop a stable and fast biped walking robot. A gait algorithm based on linear inverse pendulum (LIPM) and Virtual Support Point(VSP) based Model Predictive Control has been adopt for walking gait generation and control. This document will give a general view of the robot.

Fig. 1. 1) Walker robot 2) Robot Dimension
Fig. 1. 1) Walker robot 2) Robot Dimension

The Robot Design

Fig 1-1) shows the lower part of our prototype robot Walker in practice. For the robocup competition, two arms and a head will be added to the robot. In the final, it will has a height of 1300mm, and weights about 42kg, including batteries. The detailed dimensions of the final version are shown in Fig. 1-2). The robot has 20 DOFs: 6 in each leg, 3 in each arm, 2 in the head. For Walker, two kinds of accuracy servo motors are designed and manufactured, which are used as actuators for 12 leg joints and 6 arm joints. We use use a Intel NUC(i7-5700) as the motion controller which run TwinCAT and use EthterCAT to communicate with each joint. Another Intel NUC(i7-5700) is used for vision and decision. Specifically, an Mti-28A83G25 Gyro is mounted on top of the robot head, while a PointGrey Bumblebee 2 stereo camera accompanied located in the robot head is employed as our visual sensor. Buttons and LEDs, located on the back, are set to control and indicate the robot state. The details of the control system are shown in Fig. 2.

Software Architecture

Module configurations of our software and data flows are shown in Fig. 3. The cognition part is developed on Robot-Operating-System(ROS) and Motion Control part is developed on TwinCAT realtime operating system with control loop of 5ms. The cognition part consists of four modules: ImageGrabber, Image Processor, Perception&Localization, Behavior. The Motion Control part consists of four modules: Path Planning, Foot prints Planning, Gait Planning and Stability Control.

Because these two parts run on two Intel NUCs, so the data interchange of them is through ROS messages or services via RS232 communication. The Vision&Cognition part is responsible for information gathering from both camera and Gyro, perception and self-localization. Motion Control part is responsible for gait planning and stability controlling.

Fig. 2. Control System Architecture
Fig. 2. Control System Architecture
Fig. 3. Software Architecture
Fig. 3. Software Architecture

Vision

The visual perception system depends on the input of a head-mounted PointGrey Bumblebee 2 stereo camera. The combined Field of View of the left and right camera reaches approximately 100° horizontally and 50° vertically at every instant, while the robot's head can rotate with a tilt range of approximately [−60°, 30°]. and a yaw range of approximately [−90°, 90°].

After the combined image is reconstructed from the input of both the cameras obtained over ROS, we process each frame to realize object recognition, based on a Convolutional Neural Network [11]. At the same time, after comparing the left and the right image feeds, we extract depth information, which is also used for other Behavior module functions. An overview of the visual perception system can be seen in Fig. 4 below.

Fig. 4. Visual Perception System Overview
Fig. 4. Visual Perception System Overview

Object Recognition

Our object recognition algorithm comprises the detection and classification of the main soccer field static components, i.e. the ball and the opponent robot. We firstly utilize a combination of Breadth-First-Search[9] and Pyramid representation on a downsampled version of the image, in order to detect different areas of interest. Structural and color information are also used to provide early indicators of such areas. In continuation, we use a CNN to classify them into areas that contain the above components. The depth information is additionally calculated for the objects and the objects' location and size information is forwarded via a ROS message to the Localization and Behavior modules.

Regarding the CNN, we create the neural network as simple as possible, to avoid high computational demands and elongated process time. The implemented CNN is similar in structure to the one seen in Fig. 5. We train our CNN offline given series of recorded videos with positive and negative samples in various scales, viewing angles and lighting conditions. The resulting CNN can reliably differentiate among categories, providing a metric for the certainty level as well.

Fig. 5. CNN basic structure for object recognition
Fig. 5. CNN basic structure for object recognition

Localization

Given the newest rules[10], both adult-sized robots are able to move around the field simultaneously creating a great need for accurate localization of both robots. Assuming the accurate recognition of the field's static landmarks, and their depth calculation, we implement an algorithm of localization based on a Particle Filter (Monto Carlo Localization)[12]. Every time we get new Vision, Gyro and Odometry provided data, the likelihood of each particle is updated. After resampling the particle set, we can approximate the position and orientation of the robot by calculating the mean pose of the particles. If that estimation is accurate, we can obtain the opponent robot's relative location through its visual recognition and depth information. The end result of the localization algorithm looks similar to Fig. 6. Information about Strider Pro and ball locations is represented by circles, with radii proportional to the uncertainty of the localization estimation.

Behavior Control

A specific Hierarchical State Machine is designed for the Robocup HL Game using the XABSL(Extensible Agent Behavior Specification Language) as we used before[12].

The Behavior Control module plays an important role in the game, just as shown in the Fig. 3. It extracts useful data from massive information so as to plan an appropriate action for the Strider Pro to execute.

Motion Control

For motion control, we implemented joint angle control with 5ms through the TwinCAT realtime system. In this control loop, we read from sensors and calculate the gait data and the compensation torque for gravity and friction of each joint. These data are sent to Elmo motor driver to implement the position servo control.

Fig. 6. Localization result visual representation
Fig. 6. Localization result visual representation

Gait Planning

We implementation of Linear Inverse Pendulum(LIPM) [7][8] as the gait engineering, and also use DCM to control the divergence of the inverse pendulum[13]. In each 5ms, we calculate the current position of center of mass(CoM), then the joint angle by a 3 mass model and the Inverse kinematics. For the simplicity of the LIPM, we only need to predefine the start condition of each step and the current time. Gait planning is mainly done by the TwinCAT realtime program running on the NUC. When we get basic motion requests from the gait planning or Stability Control module, motion is translated into instructions for each joint motor driver.

Stability Control

We using a Virtual Support Point concept in Gait Planning, which the Zero Movement Point(ZMP) is virtually placed under the ground and the length of the pendulum is about 3 times of the normal pendulum. We also developed a model of the Force/Torque sensor. Based on these modification of the LIPM, we could get a state-feedback system to control the position and the ZMP simultaneously by Pole-Placement technique. For the system is controllable, so we could assign the poles arbitrarily. As the result, the robot could walk on the artificial turf.

Path Planning

We using a Model Predictive Control algorithm with DCM in our Motion Control to deal with the drawback of the discontinuity of LIPM. So, we arrange a Path Planning module in the Motion Control. After that, we place footprints along the path. But for each step we only place 10 footsteps in advance. After one step of gait is implemented, we run the Path Planning and Footprint Planning Modules again. The time for a step is about 1.2s, so at the first 5ms of each step, we must finish all modules of motion control, while we only implement the gait planning module in other control loop.

Conclusion

Our AdultSize robot Walker is a completely autonomous humanoid robot, with 1 camera, 1 gyro and 20 actuators integrated on body, controlled by two NUCs. In this paper we present the specifications and functions of Walker, as well as some related works on vision, localization, gait planning and control.

Team Members

Tsinghua Hephaestus commits to participate in RoboCup 2018 in Montreal and to provide a referee knowledgable of the rules of the Humanoid League. Currently, the Tsinghua Hephaestus AdultSize soccer team consists of the following members:

Team Leader: Mingguo Zhao

Team members: Rongge Zhang(Preferred Referee), Haitao Wang,Xueheng Zhang, Zhongyuan Tian, Qilun Wang, Wenbin Hu.

References

  1. Wang Haitao, Zhao Mingguo, A Robust Biped Gait Controller Using Step Timing Optimization with Fixed Footprint Constraints, IEEE International Conference on Robotics and Biomimetics, pp. 1787-1793, 2017.
  2. Siyuan Yu, Mingguo Zhao, Push Recovery by Stepping with Step Timing Adjustment, IEEE International Conference on Robotics and Biomimetics, pp. 1630-1635, 2017.
  3. Yucheng Kang, Zhongyuan Tian, Mingguo Zhao, The ICP-based Controllability Criterion and Its Application to Bipedal Walking Control, IEEE International Conference on Robotics and Biomimetics, pp. 2425-2432, 2017.
  4. 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.
  5. 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, pp167-170.
  6. Z. Liu, Z. Shi, M. Zhao and W. Xu, Mobile robots global localization using adaptive dynamic clustered particle filters, IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 1059-1064, 2007.
  7. S. Kajita et al., "Biped walking pattern generation by using preview control of zero-moment point," IEEE International Conference on Robotics and Automation, vol. 2, pp. 1620-1626, 2003.
  8. J. Pratt, J. Carff, S. Drakunov and A. Goswami, "Capture Point: A Step toward Humanoid Push Recovery," 2006 6th IEEE-RAS International Conference on Humanoid Robots, Genova, 2006, pp. 200-207.
  9. Silvela, Jaime, and Javier Portillo, "Breadth-first search and its application to image processing problems," in IEEE Transactions on Image Processing vol. 10, no. 8, pp. 1194-1199, Aug 2001.
  10. RoboCup Rules Draft for 2017, https://www.robocuphumanoid.org/materials/rules/, 2017.
  11. LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton, "Deep learning." Nature 521.7553 (2015): 436-444.
  12. M. Zhao, Kaiyuan Xu and Qingqiu Huang, "Tsinghua Hephaestus 2016 AdultSize Team Description," Humanoid League Team Descriptions, Robocup 2016, Leipzig,July. 2016.
  13. J. Englsberger, C. Ott, "Integration of vertical COM motion and angular momentum in an extended Capture Point tracking controller for bipedal walking," in ,12th IEEE- RAS International Conference on Humanoid Robots, IEEE, 2012, pp. 183-189.