NuBot Team Description Paper 2019

Huimin Lu, Junhao Xiao, Zhiwen Zeng, Qinghua Yu, Kaihong Huang, Wei Dai, Zhiqian Zhou, Xiao Li, Bingxin Han, Bailiang Chen, Pengming Zhu, Zirui Guo, Zhengyu Zhong, Yang Zhao, Zhiqiang Zheng

College of Intelligence Science and Technology, National University of Defense Technology, China

http://nubot.trustie.net


Abstract This paper presents the developments of our middle-size league robot team "NuBot" for RoboCup 2019. In this paper, we will briefly introduce the mechanical platform, electrical system, software of the robots, and the simulation system.

1 Introduction

The middle-size league competition of RoboCup provides a standard test-bed where many technologies of robotics and artificial intelligence can be examined and integrated, especially in a highly competitive and dynamic environment. NuBot (Fig. 1) is the RoboCup Middle Size League team of National University of Defense Technology. Our team was founded in 2004 and has participated in nine World RoboCup competitions since 2006. Throughout this period, we entered into the top 8 in 2007, 2008, 2009 and 2013, and the top 6 in 2010, 2014, and 2015. And the top 4 in 2016, 2017 and 2018. Especially, during RoboCup 2015 in China, we won the 2nd place in the technique challenge and the 3 rd place in the scientific challenge. Furthermore, in 2016, we achieved the 3rd place in the scientific challenge. And both the 3rd place in the scientific challenge and technique challenge in 2017. Last year, we won the 3rd place in the technique challenge in Montreal. We have also participated in RoboCup China Open and won the 1st place from 2006 to 2008, the 3rd place in 2009, 2014, 2016 and 2017, and the 2nd place in 2010 and 2018. For the time being, our research focuses are on multi-robot cooperation, multi-robot path planning robust robot vision, robot control, multi-robot cooperative perception, etc.

Fig. 1. The NuBot robots.
Fig. 1. The NuBot robots.

2 The Mechanical System

After RoboCup 2017 in Japan, we developed a new generation of robot platform as shown in Fig. 1. We re-designed the external frame of it to better adapt to the competition environment with huge impact. And it is proved that the generation of robot has a more reasonable layout and more stable performance. The rest of this part only details the active ball handling system and shooting system.

2.1 The Active Ball Handling System

The active ball handling system, which is designed for dribbling the ball, is made up of the active ball handling mechanism and its close-loop control system.

As illustrated in Fig. 2, there are two symmetrical assemblies, and each contains a wheel, a DC motor with a right angle reducer, a linear displacement transducer and a support mechanism. The wheels are driven by the DC motor and are always pressed by the ball, therefore they can generate various frictional force to the ball, making it rotate in desired directions and speeds together with the soccer robot. During dribbling, the robot will constantly adjust the speed of the wheels to maintain a proper distance between the ball and the robot using a closed-loop control system. This control system takes the actual ball distance as the feedback signal, which is measured indirectly by the linear displacement transducers attached to the supporting mechanism. As the ball moves closer to the robot, the supporting mechanism will raise, and then stretch the transducer; otherwise, the support mechanism will fall and compress the transducer. The information obtained from two transducers can be used to calculate the actual ball distance based on a given detailed geometry model and careful calibrations. This system effectively solves the ball handling control problem.

Fig. 2. Our active ball handling system.
Fig. 2. Our active ball handling system.

2.2 The Electromagnet Shooting System

The shooting system is based on an electromagnet with a high impulsive force. As depicted in Fig. 3, it consists of a solenoid, an electromagnet core, a shooting rod, a capacitor, and a DC motor. The shooting rod can be adjusted in height to allow for different shooting modes, namely lob shot and ground pass. Two modes are realized using the DC motor to pull the hinge of the shooting rod to different positions. Firstly, the electromagnet core is rearward located within the solenoid and the capacitor is charged. When the shooting action is activated, the rod will be adjusted according to the selected mode. Then the control circuit board will switch on the solenoid by discharging the capacitor, thus producing a strong electromagnetic force to push forward the rod. The rod then strikes the ball and delivers momentum to it. After the shooting is finished, the core will slide back to its initial position, and the capacitor will be recharged again for the next shooting action. In addition, we incline the electromagnet so that the electromagnet core can go back to the initial position more easily. Therefore, this system is simple yet capable of various shooting angles.

Fig. 3. The electromagnet shooting system of the NuBot soccer robot.
Fig. 3. The electromagnet shooting system of the NuBot soccer robot.

3 The Software Based on ROS

Robot Operating System (ROS) provides a set of software libraries and tools for building robot applications across multiple computing platforms, which has many advantages: ease of use, high-efficiency, cross-platform, supporting multiple programming languages and distributed computing, code reusability. In addition, it is open source under BSD license.

We have built our software based on ROS for our new robots. The operating system is Ubuntu 16.04, and the version of ROS is kinetic. The software framework, as shown in Fig. 4, is divided into 4 main parts: the Prosilica Camera node, the OmniVision node and the Kinect node; the NuBot Control node; the NuBot HWControl node; the RTDB and the WorldModel node. As for the goalie, the software framework is the same except that there are two Kinect nodes. These nodes will be described in the following sub-sections.

Fig. 4. The software framework based on ROS.
Fig. 4. The software framework based on ROS.

3.1 The OmniVision Node

The perception is the basis to realize the autonomous ability such as motion planning, control decision and multi-robot cooperation. Omnidirectional vision is one of the most important sensors for RoboCup MSL soccer robots. The image is captured and published by the Prosilica Camera node [1]. The OmniVision node realizes color segmentation, white line-points detection, robot self-localization, obstacle and ball detection, see [2] for algorithm details.

3.2 The Kinect Node

The 3D information of the ball is of great significance for the goalie robot to intercept the lob ball. However, the omnidirectional vision system cannot obtain depth information directly. Therefore, we make use of two Kinect sensors to recognize and localize the ball and estimate its moving trace in 3D space. ROS offers the Kinect sensor driver and integrates Point Cloud Library (PCL). A color segmentation algorithm is employed to obtain some candidate ball regions. Then the random sample consensus algorithm (RANSAC) [3] is used to fit the spherical model using the 3D information of these candidate ball regions. The fitted ball is shown in Fig. 5. With the proposed method, only small amounts of candidate ball regions need to be fitted. Lastly, to intercept the ball for the goalie, the 3D trajectory of the ball regarded as the parabola is estimated and the touchdown-point in 3D space is also predicted [4].

Fig. 5. The fitted ball by using the RANSAC algorithm.
Fig. 5. The fitted ball by using the RANSAC algorithm.
Fig. 5. The fitted ball by using the RANSAC algorithm (continued).
Fig. 5. The fitted ball by using the RANSAC algorithm (continued).

3.3 The NuBot Control Node

On the top level of the controllers, the NuBot soccer robots typically adopt the threelayer hierarchical structure. To be specific, the NuBot Control node basically contains strategy, path planning and trajectory tacking functions.

Considering the highly dynamic competition environment, path planning and obstacle avoidance is still quite a challenge. To deal with it, an online path planning method based on the subtargets method [5] and B-spline curve is proposed. Benefiting from the proposed method, we can obtain a smooth path and realize real-time obstacle avoidance with a high speed. The method can be summarized as follows:

  • Generating some via-points employing the subtargets method iteratively;
  • Obtaining a smooth path by using B-spline curve method between via-points;
  • Optimizing the planning path under some actual constraints.

In fact, this method is simple yet effective. Besides, we also notice that, for the original subtargets method, the local minima problem cannot be avoided. For example, while the destination is blocked by some obstacles, the robot oscillates back and forth and cannot find a path to the destination. Our method can identify this situation accurately, deal with it by exchanging the destination and the robot's position, and obtain a smooth path to the destination, see [6] for detail.

3.4 The NuBot HWControl Node

On bottom level of the controllers, the NuBot HWControl node performs four main tasks: controlling the three motors of the base frame, obtaining odometry information, controlling ball handling system and shooting system.

The ROS EtherCAT library for our robots is developed to exchange information between the industrial PC and some actuators and sensors (e.g. AD module, I/O module, Elmo, motors, linear displacement sensors). According to the action command from NuBot Control node, the NuBot HWControl node calculates the speed control commands and then sends them to four Elmo motor controllers of the base frame. Meanwhile, the motor encoder data are used to calculate odometry information, which are then subscribed by the OmniVision node. For the third task, high control accuracy and high-stability performance are achieved by feedback plus feedforward PD control for the active ball handling system, where the relative distance between the robot and the ball measured with two linear displacement sensors is regarded as feedback signal and the robot velocity is used as the feedforward signal. The shooting system firstly needs to be calibrated off-line. During competitions, the node adjusts the hinge of the shooting rod to different heights according to the received commands: ground pass or lob shot from the NuBot Control node. Then it receives the shooting commands, selects the shooting strength according to the calibration results and then kicks the ball out.

3.5 The WorldModel Node

The real-time database tool (RTDB) developed by the CAMBADA team [7] has been employed to realize robot-to-robot communication. The information of the ball, the obstacles and the robot itself provided by the OmniVision node and the Kinect node is combined with the data communicated among teammates to acquire a unified world representation in the WorldModel node. The information from its own sensors and other robots is of great significance for single-robot motion and multi-robot cooperation. For examples, every robot fuses all obtained ball information, and only the robot with the shortest distance to the ball should catch it and others should move to appropriate positions; each robot obtains accurate positions of the obstacles and of its teammates by communication, thus it can realize accurate teammate and opponent identification, which is important for our robots to perform the close-marking defense.

4 The Simulation System

The simulation system is developed based on ROS and the open source simulator Gazebo. A brief introduction is given in this article but readers are referred to [8] for more details.

The open source simulator Gazebo is adopted to simulate the motions of a soccer robot. The main reason we use Gazebo as the simulator is that Gazebo offers a convenient interface with ROS. In addition, Gazebo also features 3D simulation, multiple physics engines, high fidelity models, huge user base and etc. Therefore, the simulation system based on ROS and Gazebo can take advantage of many state-of-the-art robotics algorithms and useful debugging tools built in ROS. It can also benefit from or contribute to the active development communities of ROS and Gazebo in terms of code reuse and project co-development.

To integrate the real robot code with the simulation model, those nodes related directly to hardware should be replaced with model plugins. This replacement requires an appropriate communication interface. For this reason, ROS messages-passing and services-calling mechanisms are employed. Finally, the data flow of the integration of the real robot code and the model plugin is shown in Fig. 6.

The simulation system can be used for designing single robot behaviors and multirobot cooperation strategies. Furthermore, equipped with an automatic referee, it can be employed to simulate a match between two teams, as shown in Fig. 7.

Fig. 6. The data flow graph of the integration of the real robot code and model plugin.
Fig. 6. The data flow graph of the integration of the real robot code and model plugin.
Fig. 7. Two sides of robot models compete in a soccer game. (a) The initial state of the robot models (black) and the rival robot models (red); (b) three robots on the right side of the soccer field are chasing the soccer ball; (c) Black robots shoot the goal.
Fig. 7. Two sides of robot models compete in a soccer game. (a) The initial state of the robot models (black) and the rival robot models (red); (b) three robots on the right side of the soccer field are chasing the soccer ball; (c) Black robots shoot the goal.

5 Current Research Focuses

Our current main research focuses are listed as follows:

• Robust robot vision: Soccer robots will have to be able to play games in outdoor environments and get rid of the color-coded environment sooner or later [9]. We will go on developing our robot vision system to make the robot work well in the environment with highly dynamic lighting conditions and even in totally new field without any off-line calibration. We are also trying to integrate Kinect sensor into the vision system for our soccer robots to realize generic ball and obstacle recognition.

  • Multi-robot cooperation: Multi-robot cooperation holds an important place in distributed AI and robotics field. We have designed a good multi-robot cooperation mechanism and also realized several two-robot cooperative behaviors [10]. We will do deeper research to develop our robot's cooperation ability by involving more robots and more complex cooperative behaviors in this mechanism, and we are especially interested in how to realize the same result in multi-robot cooperation in the distributed architecture as that in the centralized approach.
  • Multi-robot path planning: Multi-robot path planning is an crucial ability in the highly dynamic and aggressive environment. Though we have designed a basic online path planning method, we would like to provide a more practical, effective and general solution to realize a higher level of distributed AI.

Conclusion

This paper describes the current developments of the NuBot team for participating RoboCup 2019, and presents our current research focuses.

References

  1. http://wiki.ros.org/prosilica camera.
  2. Lu, H., Yang, S., Zhang, H., et al.: A robust omnidirectional vision sensor for soccer robots. Mechatronics 21, 373-389 (2011).
  3. Schnabel R, Wahl R, Klein R, Efficient ransac for point-cloud shape detection. In: Computer graphics forum, Wiley Online Library, vol 26, pp 214-226 (2007).
  4. Lu H, Yu Q, Xiong D, Xiao J, Zheng Z, Object motion estimation based on hybrid vision for soccer robots in 3d space. In: RoboCup 2014 International Symposium (2014).
  5. Bruijnen D, van Helvoort J, Van de Molengraft R, Realtime motion path generation using subtargets in a rapidly changing environment. Robotics and Autonomous Systems 55(6):470-479 (2007).
  6. Cheng S, Xiao J, Lu H, Real-time obstacle avoidance using subtargets and cubic b-spline for mobile robots. In: 2014 IEEE International Conference on Information and Automation (ICIA), IEEE, pp 634-639 (2014).
  7. Almeida L, Santos F, Facchinetti T, Pedreiras P, Silva V, Lopes LS, Coordinating distributed autonomous agents with a real-time database: The cambada project. In: Computer and Information Sciences-ISCIS 2004, Springer, pp 876-886 (2004).
  8. Yao, W., Dai, W., Xiao, J., Lu, H., & Zheng, Z. A Simulation System Based on ROS and Gazebo for RoboCup Middle Size League, IEEE Conference on Robotics and Biomimetics, Zhuhai, China (2015).
  9. Li, X., Lu, H., Xiong, D., et al.: A Survey on Visual Perception for RoboCup MSL Soccer Robots. International Journal of Advanced Robotic Systems, Vol.10, 110:2013, pp.1-10 (2013).
  10. Wang, X., Zhang, H., Lu, H., et al.: A New Triple-Based Multi-robot System Architecture and Application in Soccer Robots. ICIRA 2010, Part II, LNAI 6425, pp. 105-115 (2010).