Team TH-MOS

Wang Xinhui, Yu Chang, Fu Jiawei, Zhou Hangyu, Han Tianlin

Department of Mechanical Engineering, Tsinghua University, Beijing, China


Abstract This paper describes the design of robots of "MOS series" and the improvements applied to MOS2018 robots. MOS2018 robots are used as a vehicle for humanoid robotics research on multiple areas such as stability and control of dynamic walking, external sensing abilities and behavior control strategies. Compared with previous versions, the new type has been updated to run more steadily and more efficiently. MOS2018 robots will be used in RoboCup 2019 competitions. Keywords: RoboCup, Humanoid, omnidirectional walking, vision, self-localization

1 Introduction

TH-MOS has been a competitive participator in RoboCup Humanoid League Competition since 2006. The MOS series robots work on DARwIn-op(Dynamic Anthropomorphic Robot with Intelligence, open platform) software platform which was created by the team in an earlier stage. Our team members have been devoting themselves to improve the robots' performances and endeavoring to equip the robots with the abilities to find the ball more accurately and walk more steadily.

TH-MOS commit to participate in RoboCup 2019 to be held in Sydney, Australia and to provide a referee with sufficient knowledge of the rules of the Humanoid League.

2 Hardware and Electronics

A photograph of MOS2018 is shown in Fig.1.

Due to the changes of rules made by the Robocup Humanoid League in 2016, the height of the kid size robot is no longer constrained to be within 60 cm. However, it still have to be no more than 90 cm. Therefore, the total height of MOS 2018 robot is expected to increase compared to the 2013 version. However, on one hand, the performance of falling and standing would be impaired if the robot was too high. On the other hand, its legs would be too compact to install a larger motor if the robot was not high enough. Thus, after a tradeoff, the total height is determined to be 70cm.

Our robot has twenty-one degrees of freedom (DOF): six in each leg, three in each arm, two in the neck and one in the waist.

The actuators we use for our robots include Dynamixel MX-106, MX-64 and MX-28. Among them, some properties including torque, volume and weight are quite different between MX-64 and MX-28, which are mainly used to generate the freedom of upper limbs and lower limbs. Although the torque of MX-106 is larger than that of MX-64, its total power is the same as that of MX-64. Thus it is not a perfect replacement of MX-64. We also conducted some experiments and found that compared with MX-64, MX-106 enhances torque only by raising reduction ratio. According to the conclusion of our experiments, MX-64 should be used for knees, waist and the front parts of ankles to meet the joint power requirements during fast walking. MX-106 is mainly used for the side parts of ankles to generate side sway which needs a large torque. Therefore, the distance between its legs can be appropriately increased. And the robot can avoid the risk of unsteady movement due to the replacement of actuators.

In order to solve the problem of unstable gaits on soft green grassland, the local structure of the sole plates of its feet is reinforced. Foot nails are added to the sole plates to endow the robot with the abilities to grasp the grassland with enough stableness and avoid to be twined by the grass, which may affect the walking performance.

In addition, to settle the problem that the shoulder will be easily damaged if the robot falls, we use springs to protect local structures and stabilize some relevant joints. Thus, the non-standard protection strategies such as pasting sponges are no longer used.

Since a core board instead of a finished product of Logitech camera used in the 2013 version has been chosen to serve as the camera, we designed a distinctive head with the shape of a square, fixed monocular camera to protect the board and allow audio input and manufactured it in ABS by 3D printing.

The interference between the robot's shoulders and legs is more serious. But if we lengthened the extension of the shoulder joints, its stiffness will be significantly impaired. Therefore, it was necessary for us to develop a new type of shoulder joints. Thus, we divided the shoulder joints of the structural mechanism of MOS2007 into two sections. One of the two sections is attached to the motors for its shoulders and head, and the other is installed inside the actuators rather than being mounted outside the shoulder

The chest battery is placed vertically, relying on the compression of the front cover and the back control box to ensure that it does not shake in the body and is easy to disassemble. The control box is also placed vertically. Its front section is blocked at the motor of the head and the rear part is directly exposed to the bare cover, which serves as a back cover, thereby saving material.

The rest of the mechanical structure is no different from the previous generation of robots.

The robot in version 2018 needs to upgrade the control decision system and sensing system in a deeper level. However, it still adopts the two-layer control system, namely, the decision controller and the walking motion controller. The sensors includes camera, IMU and voice processor. The overall structure of the control system is shown in figure 2.

JetsonTX2 processing platform is adopted as the decision controller. Based on JetsonTX2 core board, we decide to use the backplane interface circuit. The whole system is composed of three layers of PCB boards stacked. For JetsonTX2 and decision board, we choose to use existing products, while PCB design is required for the power supply and control board. The power supply and control board is the combination of the control base board and power board of the robot in 2013. Thus, the network, USB and other interfaces are deleted. The electrical system connection relationship is shown in figure 3.

Fig.1
Fig.1
Figure.2
Figure.2
(Figure - electrical system connection relationship)
(Figure - electrical system connection relationship)

3 Software and Algorithms

(This section contains subsections that are detailed below)

3.1 Vision and Localization

The previous software structure based on Linux and LUA/C++ platform has been replaced by ROS framework, which greatly increases the efficiency of multitasking coordination and simplifies the process of application of new algorithm.

There are mainly four modules of our algorithm which are Vision, Modeling, Behavior and Motion. Vision Module is used to recognize objects in the football court and convert them into information in geometric forms. The geometric forms of these objects are then used in Modeling Module to calculate and predict the location of them by Particle Filter Localization. Behavior and Motion Modules help our robots to decide the next action to take. Although we still reserve these basic modules, however, there are improvements in the following algorithm. First, we are going to use deep learning methods to increase the accuracy of the recognition of the objects. Besides, we apply particle filtering algorithm to the process of robots self-locating. Moreover, the problem of coordination between several FSM has been solved by designing more complex behavior tree structure.

Figure.4 Localization and Detection Structure 1
Figure.4 Localization and Detection Structure 1

3.2 Behavior

Inspired by the hierarchical state machine (HSM) programmed in XABSL[1], we introduce HSM into our algorithms utilized to generate behavior. Our HSM is implemented with Lua embedded in C++. The framework of the algorithm is composed of several super-states and each super-state is constructed by a group of subordinate states. In our case, those super-states include playing game, listening to controller, standing up and playing defense. Correspondingly, those subordinate states, which are all basic actions able to be executed directly by the robot, involve finding ball, approaching ball, shoot at goal and so on. A typical graph of our algorithm is shown in Fig.4.

Fig.5 A typical graph of our algorithm
Fig.5 A typical graph of our algorithm

3.3 Gait

As a main difference from last version of robot, the new version integrates NVIDIA Jetson TX2 into the robot. Thus, the computation of generating gaits such as omnidirectional walking, getting up after falling down, kicking the ball and so on, is transferred from motion controller (LPC1768) to decision controller (Jetson TX2). The prime advance is that the robot can produce gaits exploiting the abundant computing power of Jetson TX2.

We store the parameters of basic gaits that have been adjusted by our team into the motion controller. After processing the data input from sensors, the decision controller will send a signal which includes the number of the gait to be executed and some changes to the default parameters stored to the controller. Then the controller will send signals to the actuators to generate the certain gait. By this means, the robot can adapt to the changes of circumstances in the court by real-time corrected parameters instead relying on fixed gaits.

3.4 Application of Deep Learning in Ball searching

The task of this part is to quickly recognize the low-resolution image and return a vector representing the position and distance of the ball. The motion mechanism looks for the ball in the direction indicated by the vector.

Our artificial neural network system adopts nonlinear decision making, which is constructed by two layers of sigmoid elements, that is, one layer of hidden layer and one layer of output layer. The size of the hidden layer is determined according to the actual calculation ability and the technical details of the processor. The size of the output layer is no less than 3, and the relative position of the ball is determined according to the output vector.

In the aspect of input coding, we adopt gray-scale maps of 32p resolution which has been preprocessed. In order to increase the operation speed, the gray scale of each pixel is obtained by random sampling of the corresponding region of the source image. This strategy makes it easy to convert input into vector processing.

In the aspect of output coding, we combine direction and distance in the vector to indicate the position of the ball. In order to accelerate the training process, the minimum value of the standard output of the training sample is slightly greater than 0, and the maximum value is slightly less than 1.

The neural network structure adopts the standard three-layer acyclic sigmoid network. In the process of training, the neural network modifies the weight vector while cross-verifying the size of the hidden layer. That is to say, lack of hidden layers will lead to poor fitting effect and waste of training samples. In contrast, too many hidden layers will lead to over-fitting and high training cost. We will add impulse term to enhance accuracy and speed up training in the process of applying backpropagation algorithm.

4 Prior Performance in RoboCup

Team TH-MOS has been a competitive participator in RoboCup Humanoid League Competition since 2006. We were in the top-16 ranking list for 2012/13, and ranked second in technical challenge in 2013. We believe MOS2018 will have a better performance with the efforts of generations this year.

5 Conclusion

This paper mainly introduce the details of MOS2018, including its hardware configuration, electronics architecture, software architecture, and what our team is doing now..

References

  1. S. Behnke. Online Trajectory Generation for Omnidirectional Biped Walking. Proceedings of the 2006 IEEE International Conference on Robotics and Automation. Florida, 2006, pp. 1597-1603.
  2. S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, H Hirukawa. Biped Walking Pattern Generation by Using Preview Control of Zero-Moment Point. IEEE International Conference on Robotics and Automation. pp. 1620-1626, 2003.
  3. D. Gouaillier, C. Collete, C. Kilner. Omni-directional Closed-loop Walk for NAO, 2010 IEEE-RAS International Conference on Humanoid Robots. Nashville, TN, USA, 2010, pp. 448-454.
  4. J. Alcaraz-Jimenez, D. Herrero-Perez, H. Martinez-Barbera. Motion Planning for Omnidirectional Dynamic Gait in Humanoid Soccer Robots. Journal of Physical Agents, 5(1): 25-34. 2011.
  5. J. Strom, G. Slavov, E. Shown. Omnidirectional Walking using ZMP and Preview Control for the NAO Humanoid Robot. RoboCup 2009: Robot Soccer World Cup XIII. Springer, 2009, pp. 378-389.
  6. C. Graf, A. Hartl, T. Rofer, T. Laue. A Robust Closed-Loop Gait for the Standard Platform League Humanoid. Proceedings of the 4th Workshop on Humanoid Soccer Robots in conjunction with the 2009 IEEE-RAS International Conference on Humanoid Robots. Paris, France, 2009, pp. 30-37.
  7. O. Chutatape, Linfeng Guo. A modified Hough transform for line detection and its performance. Pattern Recognition, 32(2): 181-192, 1999.
  8. S. Thrun, W. Burgard, D. Fox. Probabilistic Robotics. MIT press, 2005
  9. T. Rofer, T. Laue, M. Weber, et al. German Team RoboCup 2005. [Online]. Available: http://www.germanteam.org/GT2005.pdf
  10. M. Lotzsch, M. Risler, and M. Jungel. XABSL a pragmatic approach to behavior engineering. Proceedings of IEEE/RSJ Intl. Conf. of Intelligent Robots and Systems.
  11. Pei Ben, Zhang Jiwen, Shi Xunlei. Team TH-MOS. [Online]. Available: https://www.robocuphumanoid.org/qualification/2018/KidSize/THMOS/tdp.pdf