Keywords

1 Introduction

The robotic soccer system is a complicated multi-robot system, like human soccer teams, the robots have to accomplish a series of actions by cooperation with each other. As known, precise cooperation depends on stable communication among robots. However, no commonly used communication method is prone to limited bandwidth and communication distance. And the defect is especially terrible in the complex electromagnetic environment such as the RoboCup venue [1, 2].

In this work, we focus on cooperation without communication between soccer robots. In the current MSL matches, robots achieve cooperation using wireless communication. For example, in a simple passing cooperation, the robot which is dribbling the ball has to know the position of its teammate which is ready for receiving. As a matter of fact, the robot cannot obtain the information in real time stably because of communication interference and delay, which may lead to failure of cooperation. Hence, researches have been attempting to improve the cooperation mechanism in multi-robot systems under unreliable communication. Most work focus on the improvement of communication protocols or cooperation strategy, but these methods fails when the communication is interrupted. To deal with this problem, we have designed a method to enable communication-less cooperation between robots. Based on the proposed mechanism, each robot will be able to make decisions according to the data that collected by its own sensor.

The rest of the paper is organized as follows. In Sect. 2, the related work is shortly overviewed. Section 3 gives a formal description of the problem. In Sect. 4, the proposed method is detailed. Experiments and results, together with a field of report during RoboCup 2015 is presented in Sect. 5. Section 6 concludes the paper and discusses the future research directions.

2 Related Work

In the field of distributed multi-robot system, cooperation is a hot research topic. Moreover, wireless is the most common way of communication in the cooperation, but at the same time, wireless communication is always susceptible. There are two ways to improve the cooperation reliability in the distributed multi-robot system.

Improve the reliability of communication.

Most of the time, the failure of cooperation is caused by communication delay. Therefore, Wang et al. attempt to improve the reliability with Predict-Fuzzy logic communication [3] and later adopt a hybrid communication protocol [4] for multi-robot cooperation. Alexander et al. propose a new wireless communication protocol [5] by combining WNet [6] with multicast instead of unicast.

Improve the cooperation strategy.

When the delay cannot be reduced or eliminated effectively, the cooperation strategy will be improved to adapt to the communication with delay. Gao et al. compensate the state estimation error caused by a delay in the measurements which are predicted in advance [7]. Rekleitis et al. present an algorithm for the complete coverage of free space by a team of mobile robots with the line-of-sight communication [8]. Meng et al. speed up the reconnection procedure for the strategies, implicit communication through vision sensors is proposed to establish a movement plan to recover the explicit communication [9]. And Tyler et al. adopt an effective task allocation method for multi-robot cooperation, in order to deal with the sporadic and unreliable communication [10].

To the best of our knowledge, pioneer research on communication-less cooperation started very early in the nineties of last century [11, 12], however, the method cannot deal with complex multi-robot systems such as MSL.

3 Problem Formulation

In this paper, all experiments are conducted on our NuBot MSL soccer robot platform [13, 14], and the algorithm is implemented under the open source Robot Operating System (ROS) [15], which is becoming the de facto standard of robotic software. As one league with the longest history among RoboCup, lots of scientific and technical progresses have been achieved in MSL, and its games are becoming more and more fluent and fierce. Therefore, in recent years, the MSL final has been serving as the grand finale of RoboCup, which gives the opportunity to all audiences and participants to enjoy the game together.

Besides competitions, MSL also conducts two challenges every year, i.e., the Technique Challenge and Scientific/Engineering Challenge, which encourages new technique and scientific progress and push MSL to step forward towards the RoboCup Grand Challenge. The research presented here is motivated by the MSL Technique Challenge 2015, which stays unchanged in the coming RoboCup 2016 Leipzig, Germany.

The challenge asks the question “whether the MSL soccer robots are able to make passes without communication?” [16]. It is played in a 12 m x 8 m MSL field made of artificial grass (smaller than the normal field of 18 m x 12 m) and carried out by two active robots. During the challenge, wireless communications must be disconnected for all the robots, and the field APs (Access Point) should also be shut down. At the beginning, two robots are placed manually on the field in advance, and the ball is placed on one penalty spot of the field. Furthermore, two black obstacles, which are similar in size to a MSL robot, are placed at random positions. The robots should be placed as one on each side of the field, so does the obstacles, as shown in Fig. 1(a). The robot which is on the same side with the ball has to detect the ball and grab it, then dribble it for 1 m at least. Afterwards, the robot has to pass the ball to the other robot. After a successful pass, the robots are required to swap their field side, during the swap, the ball should also be dribbled to the other field side, as shown in Fig. 1(a). In the below, the coordinate system of the field defined in Fig. 1(b) will be used, i.e., the whole field is divided into two parts named my_field and opp_field respectively.

Fig. 1.
figure 1

(a) The rough process and (b) the field of the technical challenge

4 Problem Solution

The flow chart of the proposed solution is illustrated in Fig. 2. At first, the passer robot catches the ball and locates the receiver robot with its front camera. Then revise its position for passing considering the ball and obstacles. At the same time, the receiver robot will adjust its pose to receive. After accomplishing a round of passing, they have to swap their position and restart a new round. The four steps will be explained in the next subsections.

Fig. 2.
figure 2

Flow chart of the proposed communication-less bass passing

4.1 Locating the Teammate with a Color Card

Due to the difficulties of the omnidirectional vision system in distinguishing between teammates and obstacles (all black that demanded in the MSL rules), we have equipped a front camera to each robot. Moreover, in order to recognize the teammates, two color cards have been placed at the front of the robot, as shown in Fig. 3.

Fig. 3.
figure 3

The color cards (segmentation) and the front camera (Color figure online)

In MSL, color cards are originally used for audiences and referees to distinguish between the two teams in the competitions. Here, they represent the difference between the teammate and obstacles, which could be recognized by color segmentation [17, 18] from images of the front camera. A modified color look-up table segmentation method has been employed [19], which is efficient and accurate, a typical segmentation result has been drawn in Fig. 3.

In order to locating the teammate, a trigonometric method has been utilized, considering the height of the front camera and the color card is known in advance. As showed in Fig. 4, the vertical distance from the ground to the front camera \( D_{F} \) and to the target \( D_{T} \) are known by measuring, the angle α can be obtained from the image. In this way, we can obtain a rough distance estimation D by:

Fig. 4.
figure 4

Sketch of trigonometric relation

$$ D = \tan \alpha \times (D_{F} - D_{T} ) $$
(1)

4.2 Point for Passing

After catching the ball, the passer robot can pass directly at the current position without considering the two obstacles. However, this may lead to two unexpected situations: Firstly, the robot cannot find the teammate which is in the back of the obstacles; secondly, the ball may be blocked on the way to the opponent field. Therefore, a better point should be selected for passing to raise the success rate of cooperation.

On the choice of the passing point, the principle is to make sure that the passer robot can see the receiver robot and the effectual obstacles (obstacle is effectual when it between the two robots as Fig. 5(b)) stay away from the passing route. Therefore, when the passer robot cannot see the receiver robot, it will move a little bit until the teammate is in the camera’s field of view. Then the passer robot adjusts its own position according to a heuristic function, which is a common method for dynamic passing in soccer robots [20].

Fig. 5.
figure 5

(a) Three distances in the heuristic function (b) effectual obstacle

As shown in Fig. 5(a), three distances have been considered for determining the passing point:

  • dis_a: the distance between the effectual obstacle and the passing route (ineffectual obstacle: \( dis\_a \to + \infty \))

  • dis_b: the distance between the passing point and the current position

  • dis_c: the distance between the receiver robot and the passing point.

Accordingly, the following heuristic functions are defined (unit: cm):

$$ h_{a} (p) = \left\{ {\begin{array}{*{20}c} 0 \\ {{{(dis\_a - 50)} \mathord{\left/ {\vphantom {{(dis\_a - 50)} {150}}} \right. \kern-0pt} {150}}} \\ 1 \\ \end{array} } \right. \, \begin{array}{*{20}c} {dis\_a \le 50} \\ {50 < dis\_a < 200} \\ {dis\_a \ge 200} \\ \end{array} $$
(2)

In other words, the distance between the obstacle and the robot within the scope of (50, 200) is linearly mapped to (0, 1). When the distance is less than 50 cm, \( h_{a} \left( p \right) \) is set to 0. And it will be set to 1 when the distance is larger than 200 cm. The value of \( h_{a} \left( p \right) \) represent the influence of the corresponding obstacle and the \( h_{a} \left( p \right) \) are multiple as the same number of obstacles.

$$ h{}_{b}(p) = \left\{ {\begin{array}{*{20}c} {(300 - dis\_b)/200} \\ 0 \\ \end{array} } \right. \, \begin{array}{*{20}c} {100 \le dis\_b \le 300} \\ {else} \\ \end{array} $$
(3)

According to the rule, the robot must dribble the ball for at least 1 m, while at the same time longer distance dribbling means less reliable. As a result, the distance between the candidate passing point and the robot within the scope of (100, 300) is linearly mapped to (0, 1), leaving 0 for other distances, as shown in (3).

$$ h_{c} (p) = \left\{ {\begin{array}{*{20}c} {(400 - dis\_c)/300} \\ 0 \\ \end{array} } \right. \, \begin{array}{*{20}c} {100 \le dis\_c \le 400} \\ {else} \\ \end{array} $$
(4)

According to experiments using the front camera, the color card can be well recognized at the distance between 100 cm to 400 cm. Therefore, the dis_c related part is defined as in (4).

To determine the passing point, a series of candidates in the same side with a interval of 50 cm, as showed in Fig. 5(a), are evaluated according to \( h\left( p \right) \). The best point for passing is that with the maximal \( h\left( p \right) \).

$$ h(p) = 0.5 * \sum {h_{a} (p)} + 0.25 * h_{b} (p) + 0.25 * h_{c} (p) $$
(5)

where the weights are experimental tuned, according to the performance of passing.

4.3 Point for Receiving

Due to the localization error, if the receiver robot doesn’t adjust the position and state on its own initiative, it is difficult to receive the ball. In our strategy, the receiver robot will keep face to the ball all the time and grabs it when the ball rolls across the centerline. In the whole process of cooperation, the receiver robot will keep its position near the middle circle, where is conducive for receiving.

As mentioned above, there is also an obstacle on the opponent field, which may block the receiving. When the obstacle has been placed within the effective area as shown in Fig. 5(a), the receiver robot should also adjust its position to avoid the influence of the obstacle. Since the receiver robot doesn’t dribble the ball, its point for receiving is chosen from some static points simply according to the effectual obstacle and the current position of passer robot (cannot see the ball) or ball (can see the ball), as detailed in Tables 1 and 2.

Table 1. Adjust position according to the effectual obstacles (x: cm)
Table 2. Adjust position according to the effectual obstacles (y: cm)

There are two special cases: Firstly, if there is no effectual obstacle around the receiver robot, it will maintain unmoved; secondly, when −50 \( \le \) obstacle_pos.y \( \le \) 50 and the receiver robot cannot see the ball neither the passer robot, it will maintain unmoved too. Actually, the passer robot will try to find the receiver robot in such a situation.

4.4 Swapping the Position

According to the rules, the robots have to swap their positions after accomplishing a round of passing. Positions of the ball and the robot have been used as a flag that divides the different stages of swapping.

As shown in Table 3 and Fig. 1(a), the robot selects the next action according to its position and the ball position. In this way, robots can swap their positions and repeat the cooperation.

Table 3. Different stages of swapping (start with ball_pos.x < 0)

5 Experiments

In order to evaluate the method of cooperation, we have designed three experiments. Sections 5.1 and 5.2 test the performance of teammate localization with the influence of distance, angle and relative velocity. Section 5.3 draws experiments under the rules of technical challenge, and makes comparisons against another method.

5.1 Influence of Distance and Angle

Two robots have been placed on the field without any obstacles, one (observer) is static on the point (0, 0) and facing front, the other one (observed) is placed at different points as Table 4 lists and facing observer. The purpose of this experiment is to test the performance of the color card based localization method with respects to distance and angle.

Table 4. Different points where observed robot placed

The result is shown in the following Fig. 6, each point has three positions:

Fig. 6.
figure 6

Different positions of each point (Color figure online)

  • Blue: observed own self-localization result using the omnidirectional vision system;

  • Red: observed location by color recognition of the observer;

  • Green: ground truth.

According to the results, the distances between three positions have an error less than 30 cm. According to the maneuvering characteristics of our NuBot robots, the error is acceptable, as the receiver robot would be able to catch the coming ball with its motion reaction. Furthermore, it could be seen that the error between red and green points has the tendency to increase along with the distance, but relative stable in the angle. On the other hand, the error between blue and green points is randomized according to the distance and angle.

5.2 Influence of Relative Velocity

In most of the time, the robots are in motion when cooperating with others. This experiment is intended to test the performance of the method when the robots are moving. Two robots have been placed on the field without any obstacles. Then robot1 (observed) moves along the straight line between (100,200) and (100, 200), and robot2 (observer) moves along the line between (100,200) and (100, 200). The velocity of robot1 is twice as robot2. First stage: they start from y = −200 at the same time until robot1 reach (100, 200). Second stage: robot1 turn back and robot2 keeps moving to (100, 200). There are three movement trajectories recorded separately in the two stages and displayed in Fig. 7.

Fig. 7.
figure 7

Three movement trajectories (Color figure online)

  • Blue: recorded by robot1 (self-location)

  • Red: recorded by robot2 (color recognition)

  • Green: recorded by robot2 (self-location)

From the results, the key factor for localization accuracy is not simply the distance between two robots, but also their relative velocity. As can be seen, when the two robots move along with the same direction and the relative velocity is v (v ≈ 1 m/s), the error between blue and red locus is acceptable. However, if the relative velocity is increased to 3 v, the localization error will be terrible or even failed, as Fig. 7(b) represents. When they move along with the opposite direction, the red locus undulated seriously and disappear when observed robot y < −127.9. Under this condition, the cooperation will be irresponsible.

5.3 Influence of Obstacles

In order to evaluate the performance with regards to obstacles, two robots have been placed on each field, and then make passing with obstacles or without obstacles, respectively. Furthermore, the obstacles have been placed in the effective area:

  • Two robots make passing in current positions after grabbing ball;

  • Two robots adjust their positions according to the obstacles as the above methods.

Finally, we do 20 times passing experiments and record the success rate of passing and maximum times of seriate passing. The result is shown in Fig. 8:

Fig. 8.
figure 8

Make passing with obstacles or without obstacles

It can be seen, the success rate decreases markedly without adjusting the position considering the obstacles. Furthermore, the passing is insensitive to obstacles if the robots adjust their positions. The maximum times of seriate passing have the similar trend as the success rate, which means that the swapping method is valid. Actually, our team has won the second place in the MSL technical challenge of RoboCup 2015.

6 Discussion and Conclusions

In this work, we focused on cooperation without communication between soccer robots. This paper is mainly about two issues: how to recognize and localize the receiver robot and how to pass the ball to it. The former concerns with machine vision, while the latter involves cooperation strategy. As a result, we proposed method for communication-less cooperation based on color card recognition, and a new passing strategy. Under the condition of a low relative velocity and a short distance between two robots, the success rate can reach a high level.

In further research, we are looking to achieve a longer distance cooperation based on other sensors, such as the RGB-D camera Kinect. With depth information, we hope more communication-less cooperation ways can be established.