NuBot Team Description Paper 2017

Huimin Lu, Junhao Xiao, Dan Xiong, Qinghua Yu, Wei Dai, Junkai Ren, Weijia Yao, Peng Chen, Sha Luo, Minjun Xiong, Junchong Ma, Runze Wang, Ruoyi Yan, Zhiqiang Zheng

College of Mechatronics and Automation, National University of Defense Technology, China, 41007

http://nubot.trustie.net


Abstract This paper presents the developments of our middle-size league robot team "NuBot" for RoboCup 2017. During the preparation for RoboCup 2016, we have developed a new mechanical platform. In this paper, we will briefly introduce the mechanical part, 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 eight 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, 2015 and 2016. Especially, during RoboCup 2015 in China, we won the 2nd place in the technique challenge and the 3rd place in the scientific challenge. Furthermore, in 2016, we achieved the 4th place in RoboCup Germany with the 3rd place in the scientific challenge. We have also participated in RoboCup China Open and won the 1st place from 2006 to 2008, the 3rd place in 2009 and 2014 and the 2nd place in 2010. For the time being, our research focuses are on multi-robot cooperation, 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 2015 in China, we developed a totally new generation of robot platform as shown in Fig. 1. This generation of robot employs three-wheel configuration rather than four-wheel configuration for the base frame (Fig. 2). In addition, we redesigned the omnidirectional wheels to better adapt to the high-intensity competition environment. The rest of this part only details the active ball handling system and shooting system.

Fig. 2. The omnidirectional wheel and the four-wheel configuration base frame.
Fig. 2. The omnidirectional wheel and the four-wheel configuration base frame.

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. 3, there are two symmetrical assemblies, and each contains a wheel, a DC motor, a set of transmission bevel-gear, 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 compress the transducer; otherwise, the support mechanism will fall and stretch 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. 3. Our active ball handling system.
Fig. 3. Our active ball handling system.

2.2 The Electromagnet Shooting System

The shooting system is basically a custom-designed electromagnet with a high impulsive force. As depicted in Fig. 4, it consists of a solenoid, an electromagnet core, a shooting rod, a capacitor, and two linear actuators with potentiometer. 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 two linear actuators to move 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 be pulled back to its initial position by an elastic string, and the capacitor will be recharged again and wait for the next shooting action. Therefore, this system is simple yet capable of various shooting angles.

Fig. 4. The electromagnet shooting system of the NuBot soccer robot. Left: The Electromagnet; right: The Shooting System.
Fig. 4. The electromagnet shooting system of the NuBot soccer robot. Left: The Electromagnet; right: The Shooting System.

3 The Industrial Electrical System

In recent years, the risk of the fierce collision between robots increased in the highly dynamic MSL competition. To improve the real-time performance and robustness of our robot control system, we design our current electrical system using PC-based control technology as shown in Fig. 5. Due to steadily growing processing power, PC can work as an ideal platform for automation. It enables automation tasks to be performed through software without the dedicated hardware. All control system and visualization tasks can be carried out by a powerful central CPU and decentralized I/Os, thus the electrical system is highly scalable. For example, the limitations on the number of I/O modules, sensor modules and actuator modules are only dependent on the CPU processing power. In addition, the system employs the Ethernet-based fieldbus system EtherCAT and the TwinCAT system to realize high speed communication between industrial PC and the connected modules. Furthermore, the electrical system also realizes the effective utilization of high-performance multi-core processors.

Fig. 5. The electrical system based on PC control technology.
Fig. 5. The electrical system based on PC control technology.

4 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 12.04, and the version of ROS is groovy. The software framework, as shown in Fig. 6, is divided into 5 main parts: the Prosilica Camera node and the OmniVision node; the UVC Camera node, the FrontVision 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 the FrontVision node and the UVC Camera node are replaces by two Kinect nodes. These nodes will be described in the following sub-sections.

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

4.1 The OmniVision Node

The perception is the basis to realize the autonomous ability such as motion planning, control decision and cooperation for mobile robots. 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.

4.2 The FrontVision Node and the Kinect Node

The FrontVision node processes the perspective image captured and published by the UVC Camera node [3] and provides the more accurate ball position information for the regular robot. There are several premises needed to be considered. Firstly, the ball should be located on the ground. Secondly, the pinhole camera model is adopted to calibrate camera interior and exterior parameters off-line. Lastly, the height of the camera to the ground and the horizontal view angle of the camera are known. The node detects the ball using color segmentation algorithm and region growing algorithm similar to the OmniVision node. Then we can estimate the position of the ball on the ground according to the pinhole camera model.

The 3D information of the ball is of great significance for the goalie robot to intercept the lob ball. However, the front vision system and 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) [4] is used to fit the spherical model using the 3D information of these candidate ball regions. The fitted ball is shown in Fig. 7. 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 [5].

Fig. 7. The fitted ball by using the RANSAC algorithm.
Fig. 7. The fitted ball by using the RANSAC algorithm.

4.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 [6] 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 [7] for detail.

4.4 The NuBot HWControl Node

On bottom level of the controllers, the NuBot HWControl node performs four main tasks: controlling the four 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). The speed control commands calculated in the NuBot Control node are sent to four Elmo motor controllers of the base frame for realizing robot motion control. 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 offline. 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 kicks the ball out.

4.5 The WorldModel Node

The real-time database tool (RTDB) developed by the CAMBADA team [8] 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, the Kinect node and the FrontVision 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.

5 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 [9] 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. 8.

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

Fig. 8. The data flow graph of the integration of the real robot code and model plugin.
Fig. 8. The data flow graph of the integration of the real robot code and model plugin.
Fig. 9. 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. 9. 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.

6 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 [10]. 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 [11]. 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.

7 Conclusion

This paper describes the current developments of the NuBot team for participating RoboCup 2017, 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. http://wiki.ros.org/uvc camera.
  4. 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).
  5. 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).
  6. 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).
  7. 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).
  8. 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).
  9. 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).
  10. 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).
  11. 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).