Path Planning and Role Selection Mechanism for Soccer ... - CiteSeerX

0 downloads 0 Views 488KB Size Report
Figure 1: Modeling of kinematics. 2. Control of ... of robot and rotational velocity with respect to the center of robot. .... in angle between the robots and field vectors: w = Kp(.AV(z,lJ) ..... figure, 'O' labels represent the initial positions of the ball,.
Proceedings of the 1998 IEEE International Conference on Robotics& Automation Leuven, Belgium. May 1998

Path Planning and Role Selection Mechanism for Soccer Robots Jong-Hwan

Kim, Kwang-Choon

Kim, Dong-Han Dept. of Electrical

Korea Advanced {johkim,

Taejon-shi

kckim,

Kim and Prahlad Vadakkepat

Engineering,

Institute of Science

Yusong-gu e-mail:

Kim, Yong-Jae

305-701,

dhkim, yjkim,

and Technology Republic prahlad}

(KAIST),

of Korea. @ vivaldi.kaist.ac

.kr

Y

Abstract

t)

A real time vector field based path planning for attack mode robot and a Petri-net state diagram approach for robot’s role selection for robot soccer games are proposed in this paper Robot soccer game has dynamic environments as different robots intentionally affect the environment in unpredictable ways in a competitive setting. A soccer-playing robot has to take an appropriate action according to its surroundings. The eficiency and applicability of the proposed controllers were demonstrated through real robot soccer games in MiroSot’97, held at KAIST Korea, June 1-5, 1997.

1

Introduction

Developing a multi-agent system accounts to the search for a method for implementing an intelligent system composed of many agents, with independent motion and cooperating each other. Multi-agent systems are more flexible and fault tolerant as several simple robot agents are easier and cheeper to build compared to a single powerful robot for different tasks [1, 2]. MiroSot is a suitable test bench for multi-agent system research. The soccer game is different from other multiagent systems, in that the robots of one team have to cooperate, while facing competition from the opponent team. The multi-agent control algorithm, in such an active environment, must comprise of low level kinematics and dynamics, and high level strategies to avoid and to compete with the opponent robots. Such an environment needs a fast processing algorithm and a suitable robot structure. This paper discusses many kinds of robot driving methods, used as a low level function in strategy algorithm. The high level strategy is considered as discrete events system and is represented in Petri-net. The effectiveness of proposed algorithm is shown through the MiroSot’97 competitions, and our team is awarded 3rd place in the same.

0-7803-4300-x-5/98

$10.00

@ 1998

IEEE

3216

Figure 1: Modeling of kinematics.

2

Control of Mobile Robots

In this section, the method for path generation and control of the robots are developed. The conventional robot control consists of methods for path generation and path following [3]. When a robot goes off from the estimated path, it must return immediately, and while doing so, the obstacle avoidance behavior and the effectiveness of such a path are not guaranteed. So, motion control has complex algorithm, and being in real time, high speed control is difficult. We unify these two steps into one, by generating suitable vector fields and orienting the robots to the direction of these vector fields. Three kinds of vector fields are proposed: position field, angle field, and kick field. They will be used as low level functions in the high level strategy in section 3.

2.1

Modeling

of a mobile robot

Two wheeled mobile robots with non-slipping and pure rolling are considered in this work. The velocity vector

Q = [v, W]T consists of translation velocity of the center of robot and rotational velocity with respect to the center of robot. The velocity vector Q and a posture vector P = [z, y, 13]Tare associated with the robot kinematics, as given in Eq. (1): P=

. . . . . ..

. .. .. ..

. . . .

. . . .

. . . .

$.,,,

...! . ...* . ..t . . . .

, , , .

, , , , ,, , ,

,,, ,,, ,, >>-+ -------”-----~ -----,,, ,,, ,,, ---------------------,,, ,,, ,, >---- “--------------, /,, ,,, ------------------------’------, /,, ,, -.4,-.. ----------. - “.%-------“-------,,, ,, -->”--

.. . . . . . . . . , , .. . . . . . . . . , ,,, ,, >--”.. . . . . . . . . , ,,, ,> -.,””-

. ...-...
\\

\i

\ , ------------------------~ /-+k...-.”.-.””

G~~l\\...*.. . , . \.\...”---

---

------------

l\\\\.

----

“-x-”-++

~JJ’1~~------,, / !-------- . . ! .->--”---

*

...--.””-”--.-.”-.

r. . . . .

-

“x

.-.+Y-Y-----W

“Jac~e;;-+-”---”/ ) /, /0-----.“.

---

-----

,----

--------------

--

Figure 3: (a) Position field, (b) Angle field

I gure 2: Potential field method

Togetrobot position andangle, Eq. (l)should satisfy the following nonholonomic constraint, i sid – j cosd = O. This means that the instant heading direction is same as the angle of the front side of robots. 2.2

Existing vector field method

In the potential field method, an agent can move in proportion to the resultant force with an attractive force from the desired position and a repulsive force from the obstacle to be avoided. This method, generally used in robot control, is simple and helps to control the robots in real time. However, when a constant velocity can not be maintained and the obstacle is too big, it is possible for the robot to oscillate and the direction at the final point can not be guaranteed [4, 5]. Figure 2 shows the force direction at each position, with an obstacle in the vicinity. The lines connected to points show the direction of the vector field. The vector field in Figure 2 shows the directions that the robot can follow from its present position. It is possible to control the robot better with a modified vector field. In this work, we define the modified vector fields as IV(Z, y) and assume that the magnitude of vector field is the same at all positions. The following method is used to reduce the error in angle between the robots and field vectors:

where pg is the position of the goal (target) and p is the robot position. On the other hand, angle field is used to control only the angle without translation. At that time linear velocity of robot must be zero, so v in Eq. (2) must be zero. Angle vector is given as follows:

(2)

(4)

while the linear velocity w is constant, where N(z, y) is the vector field at position (z, y) with a magnitude of unity, and Kp is the feedback gain, If v = O, the robot alligns its heading angle to the direction of IV(Z, y) without changing the position.

where v = O and 09 the is desired angle. The movements of the defender and goal keeper robots are made based on these two vector fields and the detailed algorithm is provided in section 3.

w = Kp(.AV(z,lJ)

– 0)

Figure 4: Vector field for final position.

important in its final position, this field can be used. Position vector at the robot position p is given as follows: (3)

2.4 2.3

The defense

The attack

robot

controller

controller

The Defense robot is controlled using position and angle fields. Figures 3 (a) and (b) show the position and angle fields, respectively. The meaning of position field is basically the same as that of the potential field. A robot can move to the desired goal point but the final heading direction can’ t be guaranteed. When orientation of robot is not

3217

The attacking robot’s vector field heads towards the final position and the associated angle of robot is shown in Figure 4. The final position of the robot is the point G (Figure 4), and its final angle is to the right. Kick field at the robot position P is given as follows : (5)

.—

P!!!E!L ,,,, .: ,,,

Irl

“ Lz?iilm

Attack $Rii#wV / controller

~’f’=

Figure 5: Structure of supervisor controller

where n is a positive constant. The shape of the field and turning motion of the robot change according to the parameter n and the length of the line GR. The circle and straight lines shown in Figure 4 correspond to the initial position and angle of the robot, and the curved lines correspond to the path that is simulated using Eq. (5). In the soccer game, the attacker is programmed to get more acceleration by making its final position 10 pixels ahead of ball position and its final direction as the goal post. As a result, the attacker may kick the ball with more force. As the ball moves, the vector field gets modified, and the robot can move behind, and kick or dribble the ball towards the goal.

3 3.1

System Modeling using Petri-net The objectives

and scope of research

Figure 7: Petri-net model for supervisor (2)

The objective of this paper is to get an effective controller for the robot soccer environment. In this section, we will consider the controller for attacking, defending and goal keeping robots. The following conditions are assumed at each sampling time : i) The host computer receives the position and orientation information of attacking, defending and goal keeping robots from the vision system, ii) The host computer receives the position information of the ball from vision system, and iii) The host computer sends commands to each robot which are generated efficiently in the processor. A supervisory controller using Petri-net is designed and the same is implemented in real system to confirm the efficiency of the developed method [6]. It is assumed that the left half of the playground is the attacking side and the right is defending. The reference origin of the playground is taken as the left upper corner. 3.2

Figure 6: Petri-net model for supervisor(1)

Supervisor

The structure of supervisory controller is given in Figure 5. The supervisor in Figure 5 receives the information of the robots and ball, and decides the role for each robot. In other words, supervisor doesn’ t fix attacking and defending robots, but their roles are decided and allocated according to the situation. The following places and transitions are defined for modeling the system in Petri-net:

3218

Place: P={ P1, P2, P3, P4, P5, 1’6, P7, P8} Transition: T={Tl, Tz, T3, T4, T5, TG} where PI : robot 1 defending and robot2 attacking, P2 : robot 1 attacking and robot2 defending, P3 : robot 1 attacking, P4 : robotl defending, Ps : robotl and robot2 defending, l’G : robot2 attacking, PT : robot2 defending, PS : robotl and robot2 attacking, T1 : robotl is in a good position to attack, T2 : robot2 is in a good position to attack, T3 : robot] is presently defending, but it is in a good position to attack, and it takes the attacking role, T4 : robotl is presently attacking, but it is in a good position to defend, and it takes the defending role, Ts : robot2 is presently defending, but it is in a good position to attack, and it takes the attacking role, and TG : robot2 is presently attacking, but it is in a good position to defend, and it takes the defending role. The state diagram can be modeled in simple Petri-net as in Figure 6. To start with, there are three tokens in P1, P4 and PG meaning that robotl is defending and robot2 is attacking. In the following instant if transition T1 is fired, token in PI moves to P2, then TG is fired, and tokens in Pz and PG move to Pz, Ps and P7. When Tb fires, tokens in P4 and P5 move to P3 (Figure7). The robots used in our system have good straight moving capability, but are not so good in turning. So, when a

,

,

(b) State (P2)

I

1

I

I

(a) State (P!)

I

1

(c) State (P3)

(d) State (P4)

Figure 8: Four states for defense robot

Figure 9: Petri-net model for defense robot

robot is close to the ball and oriented towards it, it can attack more effectively than the other robot. The following switching condition for role changing is used: It is assumed that, there are two robots, a defense robot and an attack robot. dl is the distance from the attack robot to the ball and da is that from the defense robot to the ball. 01 and Oa are angles between the heading direction of each robot and the ball. So, if d2 < 2 x dl , –45° < 62 < 45° and 6’1 < Oa then the roles of robotl and robot2 get interchanged.

goal position. With these defined places and transitions, the Petri-net model for a defense robot is arrived at (Figure 9).

3.3

Defense

3.4

controller

The robot with the role to defend, should block the ball before the opponent robots can kick the ball. So, it is reasonable that the defense robot must move to the right side of the ball as soon as possible. Four simple states are assumed (Figure 8): (a) defense robot behind the ball, (b) defense robot kicks the ball, (c) self goal position, and, (d) defense robot in contact with the ball and behind. In state (a) the defense robot is in a probable position to kick, and in state (c) it is in front of the ball, so should be careful to avoid the self goal. The places and transitions used in the structure of the defense robot is given below : plaCt3:

~={~1,

~2,

~3,

P4,

P5,

~6,

~7,

~8}

Transition: T’={T1, Ta, Ts, Ta, T5, TIj, T7} where PI : moves behind the ball, P2 : kicks the ball, P3 : tries to escape from self goal position, PA : in contact with the ball and behind, so it has to move far away from the ball, Ps : not in a good position to kick, PG : in a good position to kick, PT : in Self goal position, PS : in front of the ball (self goal position), T1 : tries to kick the ball, through it is not in a good position to kick, T2 : in front of the ball and at the following instant it is in a good position to kick, T3 : in front of the ball, and moving to a self goal position, T4 : in self goal position and escaping from that, T5 : misses the ball, and is in front of the ball, Tb : at self goal position, and then in contact with the ball and behind, and T7 : away from the ball and behind, but still in a self

3219

Goal keeper

controller

The goal keeper robot is assumed to move only within the goal area. The major objective of the goal keeper is to block the ball effectively. In this work, the goal keeper controller is designed according to the distance between the goal and the ball. The three states considered are (a) far distance, (b) medium distance, and,(c) in goal area. ‘Far distance’ means, the distance between the goal area and the ball is above 60 pixels, ‘Medium distance’ means, it is above 20 pixels and within 60 pixels, and ‘in goal area’ means. it is below 20 pixels. The subroutine predictor predicts the ball direction using a linear equation. It is assumed that the ball always go straight. With the five past positions of the ball, the predictor derives an equation for the line of movement of the ball using curve fitting algorithm. We assume that goal keeper controller has four states as follows, (a) goal keeper at the center of goal area, (b) goal keeper in ‘TARGET position, (c) goal keeper in ‘ASSUME’ position, and (d) goal keeper in ball position. State (a) represents a case where goal keeper is located at the center of goal area for’ kick off’ when the play resumes. The ball doesn’ t move toward the goal keeper at this situation. The’ TARGET position of state (b) is the direction of the moving ball that the predictor predicts. The ‘ASSUME’ position of state (c) means the point that links the present position of ball and center of goal post. State (d) represents a situation of emergency, so goal keeper should move to ball position. The places and transitions used in the structure of the goal keeper robot is given below : pk3Ce:

P={

PI,

P2,

P3,

P4,

P5,

P6,

P7,

P8,

P9}

Transition: T={T1, T2, T3, T4, Ts, T6, T7, Ts} where P1 : goal keeper moving to the center of goal posts, Pz : goal keeper moving to the TARGET position, Ps : goal keeper moving to the ASSUME position, P4 : goal

Figure 12: Experiment

Figure 10: Petri-net model for goal keeper robot

200

[~-”-’’””’”””””””””--”-”-”-””’’”’””’””””""-"--'""'"""-""""-""`--'-"""""''"-''"-""'"''-'-""''""'--"'' ● ☛✝✝✝✝✝✝✝✚✚ ✍✍✍✍✍✎✌ # ‘\ Bali

5 ,0

180

\Robot2

.,, ”

/

120

!/

--’ ----

----

..

,

~

100

:

80

— -— El

)

)

/>

>’”2’ 140

h

~.--x~> .Ac

160

‘1 ‘,

result without changing the role

60

Robotl

Robot? Robot Ball

40 20 0

Figure 11: Game situation (1)

Figure 13: Experiment

keeper moving toward the ball (it looks like as it is going to kick the ball), P5 : ball is coming to our goal area, l’b : ball is far away, P7 : ball is in medium distance, PS : ball is in goal area, Pg : ball is moving away, 7’1 : ball is in far distance and coming towards the goal, Tz : ball is in far distance and moving away, T3 : ball is in medium distance and coming in, T4 : ball is in medium distance and moving away, T5 : ball is in goal area and coming in, T6 : ball is in goal area and moving away, T7 : ball is in far distance but, coming to medium distance, and T8 : ball is in medium distance but, coming to goal area. With these defined places and transitions, the Petri-net model for a goal keeper robot is arrived at (Figure 10).

4

Experimental examples

Example

100

150

2 )

result with changing the role

can be seen, the robot2 is in a better position to kick the ball than robot 1. If the supervisor can switch the role of robot2 to the attacking mode, it looks quite reasonable. Figure 12 shows the paths of the robots without switching their roles. The x and y coordinates are represented by pixels. In the figure, ‘O’ labels represent the initial positions of the ball, robotl and robot2, and others represent different instances. The sampling time is 33 msec. The defense robot (robot2) when follows the movement of the ball along the z axis of 160 pixels, the attacker (robotl ) has to move towards the ball and kick it as per the vector field method in section 2.5. It took 32 sampling instances to kick the ball, which corresponds to 1.056 sec (33 msec x 32). On the other hand, Figure 13 shows the case with robot role changes. The robotl now acts as a defender and follows the ball. It took 26 sampling instances (0.858 see) to kick the ball. As evident it is quite natural and useful for the robots to change the roles as per the situation.

As it is beyond the scope of this paper to show all the case of role change situations, we illustrate 2 specific situations to demonstrate the usefulness of the role selection mechanism. To solve these situations for role change, Qlearning was also employed in these experiments.

4.1

50

4.2

Example

Figure robot2 as robot2 is mal case

1

In Figure 11, it is assumed that robotl is an attacker and robot2 is a defender. Arrows show the robot directions. As

3220

2

14 shows the case where robot 1 as attacker and defender. Though robotl is in attacking mode, in a good position to kick the ball. In the norwithout role changes, robotl will kick the ball

(Figurel 5). It took 27 sampling instances (0.89 lsec) to kick the ball. Figure 16 shows the case with role switching, and it took 23 sampling instances (0.759sec) for the same. These examples illustrate the need for role switching by the supervisor.

Robotl m

Robot2

L..l.J ,..

. . -.

4.3

A modified vector field is used for designing a low level controller for the attack robot. Controllers for the supervisor and defense robot are developed in Petri-nets. The supervisor can switch the roles of robots depending on the situation, to get better results in the game. The effectiveness of the role switcing mechanism is shown through robot soccer experiments. Further study is needed to include the information on opponent team in the design of the different robot controllers. Cooperation of robots with full duplex communication scheme ia another issue to be looked into. These directions will definitely take the research arena much closer to the realization of a fully autonomous multi-robot scenario.

-. . ..