Hibikino-Musashi Team Description Paper 2016
Shota Chikushi, Masafumi Kuwada, Makito Ishikura, Takahiro Nagao, Ryo Itohara, Shuta Watanabe, Kenji Hisano, Ryota Shimada, Kohei Matsumoto, Moeko Tominaga, Naoto Machida, Kazuzo Ishii, Hiroyuki Miyamoto, Takashi Sonoda, Yasunori Takemura
Kyushu Institute of Technology, Japan; WASEDA University, Japan; Nishinippon Institute of Technology, Japan
Abstract This paper presents some of the technical elements of the "Musashi robot" developed for the RoboCup Middle-Size League. Since there are some solutions that are common to many teams, only the most recent developments and interesting research studies that distinguish our multi-robot system from others and show our contribution to improving Middle-Size League performance are presented.
Introduction
"Hibikino-Musashi" is a joint middle-size league RoboCup [1] soccer team funded in 2004 by three different research and educational organizations, all located in the Kitakyushu Science and Research Park, Kitakyushu, Japan. The team's main objective is to create innovative technology for human society by developing a competitive team of soccer-playing robots. Some products such as omni-wheeled wheelchair have been developed from our knowledge and technology.
This paper describes our recent development in each section.
Section 2-4 is hardware section. In section 2, short overview to the "Musashi-150" robot design principles and its modular hardware architecture. In section 3, design and analysis of solenoid-kicker that is redesigned for "Musashi-150" is described. Concept and specification of our new developed ball handling mechanism is described in Section 4.
Section 5 and 6 describe our software improvement. In section 5, obstacle avoiding algorithm considering robot dynamics is proposed and tested in simulation. Section 6 describes that ball passing behavior based on probability map from teammates and opponents.
Hardware System
2.1 Musashi150 Robot Architecture and Specification
The current hardware configuration of the "Musashi 150" robot and its fully modular mechatronics architecture including an omni-directional moving mechanism and an omni-vision system is shown in Figure 1. The modular robot architecture provides an effective way to improve reliability, robustness, ease of maintenance and transportation by decomposing hardware complexity into the smaller and compact modules. The robot is equipped with three 150 watts DC motor from Maxon, arranged in the shape of triangle.
The maximum nominal motor speed of 7580 rpm is decelerated through a planetary gearbox GP42 with the ratio of 6:1. In addition, decelerated through belt and pulley with the ratio of 2:1. The amplified mechanical torque on the output pulley is transferred to the wheel's shaft through supported by a pair of the radial ball bearings. The velocity feedback is done by using 2000 pulses digital incremental encoders. The velocity of the wheels is controlled by three EPOS motor drivers from Maxon. Each equipment is connected Controller Area Network. The controllers read the pulse trains from the motor encoders and produce PWM output voltages for the motors based on a PID algorithm. The result is "Musashi 150" with maximum linear speed of 3m/s and acceleration of 3.5m/s2.
The sensors using in the "Musashi150" are an omni-directional camera, a compass and three DC motor encoders. The electrical power is supplied by a set of Nickel-Hydrogen batteries (nominal voltage 24V/2.8Ah). The necessary voltage for the camera, compass module and the microcomputer are produced by converting 24V to 12.0V and 5.0V. In order to realize the shooting function, an electromagnetic kicker, designed and constructed specifically for "Musashi150". The kicker is based on an Induction-Coil-Gun Approach and consists of two interacting parts, the coil and the rod. This Robot is mounted "Active-Finger" use small wheel to control ball.
The Development of New Solenoid Kicker
For the kicking power improvement, we have developed a new solenoid kicker. The existing solenoid kicker can only give a shooting speed of 5[m/s] [2]. Therefore, we have developed a new solenoid kicker, and succeeded in improvement of shoot speed and distance of the ball. In order to convert, we set the dimensions of the existing solenoid kicker to the maximum dimensions.
In developing, we examined the four items: the diameter of the windings, the inner diameter of the coil, the outer diameter of the coil and the length of the coil. The results are shown in the Table 1. The diameter of the windings was analyzed by using a simulator. The results are shown in the Figure 2. As a result of the analysis, ϕ2[mm] was found to be the best.
We made the trial products of the solenoid kicker, and confirmed the performance. The details of the new solenoids are shown in the Table 2. We compared the existing solenoid kicker and new solenoid kicker for shoot speed and distance of the ball. The results are shown in the table. Next, we confirmed variation of distance of the ball by initial position of the plunger using new solenoid kickers. The results are shown in the Figure 3.
The new system was improved the performance, and was success on the size down. Shoot speed of the ball was 15[%] improvement. Distance of the ball was 38[%] improvement.(Table 3)
Resalt of the analysis of the items of the solenoids
| the inner diameter of the coil [mm] | the outer diameter of the coil [mm] | the length of the coil [mm] |
|---|---|---|
| 27.0 | 60.5 | 102.5 |
Details of the new solenoids
| New solenoid | Wire diameter [mm] | Turns | Resistance [Ω] |
|---|---|---|---|
| A | 1.2 | 670 | 1.282 |
| В | 1.6 | 400 | 0.461 |
| С | 2.0 | 234 | 0.193 |
Performance comparison
| Distance of the ball [mm] | Velocity [m/s] | |
|---|---|---|
| The existing solenoid kicker | 5.48 | 5.48 |
| The new solenoid kicker | 7.57 | 6.33 |
Active Ball Handling Mechanism
Our old player robot "Musashi" that has been developed in 2005 has a mechanism for rotate the cam to closing the arms as the Ball Handling Mechanism. However, there are some problems that when robots do a sudden stop, rotate and back, they lose the ball. Furthermore, a rule has been adopted that robots must pass between the allies during the in play or some of the set plays from 2012. Based on these rules, a high cooperation action and ability for ball handling has been more necessary than before. Therefore, we implemented the new Ball Handling Mechanism for improvement of the ball handling ability with the new machine. Diagrammatical view of the Ball Handling Mechanism are shown in the Figure 4, 5. When it starts the handling of the ball, turns a lever-wheel clockwise and draws a ball to the inside of robot. The rotary speed of the wheel is calculated by a moving direction and the speed of the robot, and it allows to hold a ball while doing a natural turn. In addition, it was attached omni wheel to the lower front of Ball Handling Mechanism, and it can support the ball, and does not hinder the turn of the ball when robots dribble. Specification of the Ball Handling Mechanism is shown in Table 4.
Specifications of Ball Handling Mechanism
| Voltage | 24[V] |
|---|---|
| Maximum Power | 50[W] |
| Maximum Motor Speed | 13100[rpm] |
| Maximum Motor Torque | 48.2[mNm] |
| Wheel Size | 60[mm] |
| Reduction Rate | 10.56 |
Obstacle Avoidance
Robot must have obstacle avoiding skill to move in RoboCup field safely without any collision. Unstable movement such as slip may cause collide. Thus, obstacle avoiding skill must contain path planning and dynamic control. This year, we develop new obstacle avoiding algorithm based on Dynamic Window Approach (DWA) [3]. DWA is well-known obstacle avoiding algorithm that generate dynamic-safety path with consideration of maximum velocity and acceleration of the robot. However, this algorithm not consider about centrifugal force. This causes side slip in unendurable vehicle such as omni-wheeled robot. We adopt consideration of centrifugal force into DWA, and achieve safety movement of robot.
Proposal algorithm can be divided into 2 steps. First step is defining the velocity space that can be outputted by robot in next control cycle. Second step is generating imaginary path and evaluate this by using evaluation function that considers safety and rapidity.
The velocity space that can be outputted by robot in next control cycle is restricted by dynamic and kinematic limitation. First limitation is maximum velocity. This area is figured as Vs in Figure 6. Second limitation is maximum acceleration. This area is figured as Vr in Figure 6. This is calculated by Equation (1). Where n, $^{n}$ is actual velocity and angular velocity of robot, max, $\dot{\omega}_{max}$ is maximum acceleration and angular acceleration of robot, is control cycle of robot.
$$V_{d} = \begin{cases} v_{n} - a_{max} \cdot dt \leq v \leq v_{n} + a_{max} \cdot dt \ \omega_{n} - \dot{\omega}{max} \cdot dt \leq \omega \leq \omega{n} + \dot{\omega}_{max} \cdot dt \end{cases}$$
Third limitation is obstacles. This area is figured as Va in Figure 6. This is calculated by Equation (2). Where $l_{\rm d}$ is distance from robot position to obstacle position which is onto the calculated path.
$$V_{a} = \begin{cases} v \le \sqrt{2 \cdot l_{d} \cdot a_{max}} \ \omega \le \sqrt{2 \cdot l_{d} \cdot \dot{\omega}_{max}} \end{cases}$$
Fourth limitation is centrifugal force. This area is figured as Vc in Figure 6. Robot centrifugal force is calculated by using Equation (3). Where m is mass of robot. We assume that the centrifugal force which a robot begins to skid is known. Finally, the velocity space is calculated by production of each limited spaces.
$$V_r = V_s \cap V_d \cap V_a \cap V_C$$
Next, a pair of velocity is picked up from velocity space. Then, imaginal path is generated from picked velocity. This path is calculated by picked velocity as curved path. The length of that path is calculated by Equation (4). Equation (4) shows that the distance when decelerating fully from the present speed.
$$l = \frac{v_n}{2 \cdot a_{max}}$$
After generating imaginary path, evaluate it by using evaluation function. Evaluation functions were proposed in some types [3][4][5]. We apply evaluation function which is proposed in [5] to our system.
We verify effect of proposal method by simulation. Robots are run in simulation space that contains obstacles by using original DWA and proposal method. Trajectories and centrifugal forces are measured in simulation. Simulation result is shown in Figure 7.
Proposed method has performance reaching a goal point that is shown in Figure 7(a). Figure 7(b) shows history of centrifugal forces on each trajectory. Huge centrifugal force was exerted to robot while 0 to 2 seconds when original DWA is used. However, that force was not appeared when proposed method. Therefore, proposal method achieves more safe movement than original DWA.
Ball Passing Behavior Algorism
Pass behavior has many merits in Robocup playing. For example, offence robots can thorough the defense robots speedy than dribble. Thus, we develop the passing behavior in the in-play.
To realize the passing behavior between robots, it is necessary to recognize the place where is easy to receive a pass. This place is determined from friendly robots and opponent robots. Probability robotics is academic field of recognizing the environs of around object and considering the uncertainty of the next state in the dynamic environment [6] [7]. In order to action decision, the pass point selection map based on the normal distribution is created. The location where the pass is likely to succeed is calculated the pass point selection map [8]. The normal distribution is a distribution with a probability density function shown in Equation (5) [9].
$$f(x) = \frac{1}{\sqrt{2\pi\sigma}} exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)$$
x: The probability variable, μ: The average of the normal distribution, $\sigma^2$: The variance of normal distribution, $\sigma$: The standard deviation of the normal distribution
The normal distribution of Equation (5) assumes that x is a scalar value. Often, x will be a multi-dimensional vector. Normal distributions over vectors are called multivariate. The multivariate normal distribution is a distribution with a probability density function shown in Equation (6).
$$f(x,y) = \prod_{k=x,y} \frac{1}{\sqrt{2\pi\sigma}} exp\left(-\frac{(k-\mu_k)^2}{2\sigma^2}\right)$$
$\mu_k$: The average in the probability variable x,y, k: The probability variable x,y
Pass point select algorism
The pass point selection map is created by combination with five conditions [10]. The condition from no.1 to no.3 define the pass success probability corresponding to each robot position. The condition no.4 and no.5 define the pass behavioral conditions related to the strategy. The pass point selection map is formed by adding the respective maps of each condition from no.1 to no.5. Finally, the target pass point is calculated from this map. The map of each condition are shown in from Figure 8 to Figure 12. The simulation figure of MSL is shown in right side of from Figure 8 to Figure 12. The figure of pass point selection map is shown in right side. In the simulation figure, the black objects are opponent robots and the white objects are friendly robots. The figure of the pass point selection map is gray scale. If the calculation value is 0, black points are plotted on the figure. If the calculation value is 255 of maximum, white points are plotted on the figure. Thus, the point of passing with higher success probability is white. The highest point in the pass point selection map is pass target point.
Condition no.1: Passing range of the passer robot.
Condition no.2: Receiving range of the receiver robot.
Condition no.3: Range of opponent robot intercept pass.
Condition no.4: Select the robot closer to the goal.
Condition no.5: Pass impossible range of opponent robot backward.
Receive point select algorism
The point where the pass is likely to receive robot is defined as the map shown in Figure 13. A good position to receive a pass is around the passer robot. However, a position where is too close to passer robot is not effective as strategy. Thus, we set radius to 3m as effective position from our robot specification. The receiver robot movement target position selection map shown in Figure 13. This is formed by adding the respective maps of condition no.3 and no.5.
References
- H.Matsubara, M.Asada, H.Kitano, "History of RoboCup and Prospects of RoboCup-2002", RSJ, Vol.20, No.1, pp.2~6, 2002, In Japanese.
- Amir A.F. Nassiraei et al., "Hibikino-Musashi Team Description Paper", RoboCup, 2011.
- D. Fox, W. Burgard, and S. Thrun, "The dynamic window approach to collision avoidance," IEEE Robot. Autom. …, pp. 1-23, 1997.
- O. Brock and O. Khatib, "High-speed navigation using the global dynamic window approach," Robot. Autom. 1999. …, 1999.
- B. P. G. K. Konolige, "Planning and Control in Unstructured Terrain," 2008.
- R.Ueda, "Prospects of probability robotics", Journal of Robotics Society of Japan, vol.29, No.5, pp404-407, 2011
- Y.Matsumoto, "Robotics application of probability theory", Journal of Robotics Society of Japan, vol.29, No.5, p403, 2011
- Kazunori Fujimoto, "Development of pass behavior algorithm in the plurality autonomous mobile robots", Kyushu Institute of Tech., Master's thesis, 2011
- Sebastian Thrun, Wolfram Burgard, Dieter Fox,"Probabilistic ROBOTICS", The MIT Press, pp14-15, 2005
- Yutaro Ono, "Ball passing behavior for middle sized RoboCup soccer Robots", Kyushu Institute of Tech., Master's thesis, 2013