Motion Control in Dynamic Multi-Robot Environments

Motion Control in Dynamic Multi-Robot Environments

Motion Control in Dynamic Multi-Robot Environments Michael Bowling Manuela Veloso [email protected] [email protected] Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213-3890 Abstract cess of the team can be attributed to the motion control al- gorithms. It not only made direct contributions by provid- All mobile robots require some form of mo- ing smooth and robust motion, but its features allowed us tion control in order to exhibit interesting au- to build powerful individual and team behaviors. In section tonomous behaviors. This is even more essential 2, we give a brief overview of the architecture of our team. for multi-robot, highly-dynamic environments, It will describe the percepts and actuators available to the such as robotic soccer. This paper presents motion controller. In section 3, we describe the details of the motion control system used by CMUnited- the motion control algorithm. In section 4, we describe how 98, the small-size league champion at RoboCup- the high-level attacking behaviors effectively made use of 98. The team consists of five robots that aim our algorithm. Finally, in section 5 we will discuss related at achieving specific goals while navigating in a work in this area. limited space shared with the five other opponent robots. We introduce our motion control algo- rithm, which allows a general differential-driven 2 Team Architecture robot to accurately reach a target point with a de- The CMUnited-98 small-size robot team is a complete, au- sired orientation in an environment with multi- tonomous architecture composed of the physical robots, a ple moving obstacles. We describe how the fea- global video camera over-looking the playing field, and tures of our motion controller help to build in- several clients as the minds of the small-size robot play- teresting and robust behaviors. We also briefly ers. Fig. 1 sketches the building blocks of the architecture. compare our system to other motion control tech- The motion controller resides in the individual client mod- niques and include descriptions and illustrations ules and bridges the gap between the output of the vision of the performance of our fully-implemented mo- processing system and the robots’ motors. tion control algorithm. Action Client Object Code Module Positions 1 Introduction Raw Vision Client Data Module For any robotic system motion control is essential to build- Coaching/ Perceiving/ ing robust and interesting behavior. This is even more im- Transmitting Client Robot-specific Interface Module portant for multi-robot systems that need to build team be- Action code haviors on top of individual behaviors. An example of such Client a system is robotic soccer. Here, a team of robots must co- Client Module ordinate their actions to push the ball into their opponents’ Module goal. This is complicated by not only the opponent agents trying to prevent this from occurring, but also by the highly Figure 1: The CMUnited architecture with global percep- dynamic environment. This highly dynamic environment tion and distributed reaction. makes many traditional motion planning algorithms im- practical since the environment changes before the planner The vision system provides the input to the motion con- can even finish its path. troller. Since it overlooks the entire field, it can provide a This paper examines the motion control algorithm used complete view of the world. Our image processing algo- in CMUnited-98 [Veloso et al., 1999]. This team competed rithm reliably detects and tracks the position and orienta- in RoboCup ’98 in Paris in the small-size robot league. The tion of our five robots, the position of the five opponents, team won four of its five games and was the league cham- and the position of the ball. Additionally it uses a Kalman- pion for the second straight year. A great deal of the suc- Bucy filter to provide a reasonably accurate prediction of § § !" §% &! ' (!*),+-" §!()+ ( $# .# the ball’s velocity, both speed and direction. This informa- sgn sgn § tion is computed and passed to the client modules approxi- ¢¦£ ¢ §0/1 mately every thirtieth of a second. ¢ The output is the motion parameters for the physical ¢¦¥ §2¨3 & 4& robot. The robots have two motors and use differential where is the direction to the target point , drive for movement. The client modules, specifically the is the robot’s orientation, and ¢ is the desired speed (see motion controller, sends the desired wheel velocities to its Fig. 2(a))1. A few aspects of these equations deserve expla- !()+ " &! §5768 physical robot using radio communication. The radio com- nation. The use of and " restricts the values munication supports five robots each receiving over twenty <>= to the interval 9;: , which bounds the magnitude of the commands every second. Additionally, there is no local computed wheel velocities by ¢ . These equations also do feedback mechanism on the robots. All control is done us- not necessarily drive the robot forward, possibly driving the ing only visual feedback through the motion controller. robot backwards towards the target. A summary of the issues the motion controller must ad- We extend these equations for target configurations of §©¨ dress are given below. the form , where the goal is for the robot to §2¨7 & 4& ¡ Ten moving robots ( 12cm diameters) on a small reach the specified target point while facing the walled field (152.5cm by 274cm). Robots are mov- direction . This is achieved with the following adjust- ing at speeds close to one meter per second. ment: /BAC)+EDFG *H4I+ JLKMD7N Vision system providing 30 frames per second. Ra- ¦?@ dio communication able to support approximately 20 O3P3P F commands per second for each of the five robots. ? where is the new target direction, is the difference be- O Must be able to push the ball towards a particular tween our angle to the target point and , is the dis- point, specifically towards a goal (50cm wide). It must tance to the target point, and N is a clearance parameter (see also be able to intercept a moving ball and avoid fast Fig. 2(b).) This will keep the robot a distance N from the moving obstacles. target point while it is circling to line up with the target di- rection, . This new target direction, ? , is now substituted 3 Motion Control Algorithm into equation 1 to derive wheel velocities. An example tra- The goal of our motion control algorithm is to be as fast jectory using these equations is shown in Figure 3 (a). as possible while remaining accurate and reliable. This is In addition to our motion controller computing the de- sired wheel velocities, it also returns an estimate of the time §©¨ S challenging due to the lack of feedback from the motors, R forcing all control to be done using only visual feedback. to reach the target configuration, Q . This esti- Our motion control algorithm is robust. It addresses sta- mate is a crucial component in our robot’s strategy. It is tionary and moving targets with integrated obstacle avoid- used both in high-level decision making, and for low-level ball interception, which is described later in this section. ance. The algorithm makes effective use of the prediction §2¨ 4 R For CMUnited-98, Q is computed using a very of the ball’s trajectory provided by the Kalman-Bucy filter. F O We achieve this motion control functionality by a re- simple linear function of , , and : §©¨ / FY/ UTWV¦O TWX TWZG\[ active control mechanism that directs a differential drive R robot to a target configuration. The mechanism is based Q on CMUnited-97’s motion control [Veloso et al., 1998; The weights were set by simple empirical measurements. T]Z Han and Veloso, 1998], but includes a number of major im- TWV is the inverse of the robot’s translational speed; is X provements. The target configuration for the motion plan- T the inverse of the robot’s rotational speed; and is the ner has been extended. The target configuration includes: inverse of the speed of the robot when traversing a circle (i) the Cartesian position; and (ii) the direction that the of radius, N . It is interesting to note that even this crude robot is required to be facing when arriving at the target po- time estimate can be incredibly useful for building more sition. Obstacle avoidance is integrated into this controller. complex behaviors, which are discussed later in this paper. Also, the target configuration can be given as a function of time to allow for the controller to reason about intercepting 3.2 Obstacle Avoidance the trajectory of a moving target. Obstacle avoidance was also integrated into the motion 3.1 Differential Drive Control for Position and control. This is done by adjusting the target direction of Direction the robot based on any immediate obstacles in its path. This We begin with some basic control rules. The rules are a set adjustment can be seen in Fig. 4. of reactive equations for deriving the left and right wheel If a target direction passes too close to an obstacle, the direction is adjusted to run tangent to a preset allowed ¢¦¥ velocities, ¢¤£ and , in order to reach a target position, §©¨ ¦ : 1All angles are measured with respect to a fixed coordinate (1) system. ∆ θ' φ α d φ c θ (x*,y*) θ (x*,y*) φ∗ (a) (b) & ¦ Figure 2: (a) The parameters used to reach a target configuration §©¨ , without a specified target orientation. (b) The §2¨3 S adjustment of to ? to reach a target configuration of the form . (a) (b) Figure 3: Example trajectories. (a) This illustrates reaching a point with a specific orientation. The target point is the position of the ball, and the specified orientation is to the right.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us