NuBot Team Description Paper 2015

Junhao Xiao, Huimin Lu, Zhiwen Zeng, Dan Xiong, Qinghua Yu, Kaihong Huang, Xianglin Yang, Wei Dai, Junkai Ren, Weijia Yao, Zhaopu Xu, Zhiqiang Zheng

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

http://www.nubot.com.cn


Abstract This paper presents the developments of our middle-size league robot team "NuBot" for RoboCup 2015. During the preparation for RoboCup 2014, we have developed a new generation NuBot robots. In this paper, we will briefly introduce the mechanical part, electrical system and software of the new robots.

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, which has participated in seven World RoboCup competitions since 2006 and entered into the top 8 from 2007 to 2009, and 2013, and the top 6 in RoboCup 2010 Singapore and RoboCup 2014 in Brazil. We have also participated in RoboCup China Open and won the 1st-place from 2006 to 2008, the 3rd-place in 2009 and 2014, the 2nd-place in 2010. Now our research focuses are on multi-robot cooperation, robust robot vision, robot control, multi-robot cooperative perception, etc. This paper describes the recent developments of NuBot for RoboCup 2015.

The Mechanical Part

After RoboCup 2013 Eindhoven, we have developed a totally new generation robot platform, as shown in Fig. 1 and Fig. 3. As before, the four-wheel configuration has been employed for the base frame which is shown in Fig. 2. We won't detail each part of the platform but emphasis on the active ball handling system and shooting system.

The NuBot robots.
The NuBot robots.
The omni-directional wheel and the four-wheel configuration base frame.
The omni-directional wheel and the four-wheel configuration base frame.

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 friction 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.

Our active ball handling system.
Our active ball handling system.

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 at shoots for passing and lob shoots for scoring. Two modes are realized using two linear actuators to move the hinge of the shooting rod to different positions. Initially, 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 currently selected mode. Then the control circuit board will switch on the solenoid by discharging the capacitor, thus produce 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 stripe 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.

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

Industrial electrical system

In recent years, the risk of the fierce collision between robots increases 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 limitation on the number of I/O modules, sensor modules and actuator modules is 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.

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

Software based on ROS

As known, 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 multi-programming languages, distributed computing, code reusability, and 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. Two Kinect nodes replace the FrontVision node and the UVC Camera node for the goalie. These nodes will be described in the following sub-sections.

The software framework based on ROS.
The software framework based on ROS.

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.

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 provides 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].

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

The NuBot Control node

On top level of the controllers, the NuBot soccer robots typically adopt the three-layer 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 via 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.

The NuBot HWControl node

On bottom level of the controllers, the NuBot HW-Control 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 at 33Hz for realizing robot motion control. Meanwhile, the motor encoder data are used to calculate odometry information, which are published to 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: at-shooting or lob-shooting 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.

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 from 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 ball should catch it and others should move to appropriate positions; each robot achieves accurate positions of the obstacles and obtains the positions 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.

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 with- out 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.

Conclusion

This paper describes the current developments of the NuBot team for participating RoboCup 2015, 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. 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).