The non-holonomic path planning problem has been addressed by many
researchers, e.g., [8, 4]. However,
most of the algorithms deal with static worlds and generate
pre-planned global paths. In the robot soccer domain, this is not
possible as the domain is inherently dynamic and response times need
to be very high. Furthermore, the world dynamics include also
possible interference from other robots (e.g., pushing), making
precisely mapped out paths ineffective and unnecessary.

We devised and implemented a reactive controller for our system, which
is computationally inexpensive, deals with dynamic environments, and
recovers from noisy command execution and possible interferences. A
reactive controller also has possible disadvantages, as it may
generate sub-optimal paths, due to local minima. We introduced a
failure recovery routine to handle such failures.

The navigational movement control for our robots is hence done via
reactive control. The control rules described below are inspired by
the Braitenburg vehicle [3]. The Braitenburg love
vehicle defines a reactive control mechanism that directs a
differential-drive robot to a certain target. A similar behavior is
required in the system; however, the love vehicle's control mechanism
is too simplistic and, in some start configurations, tends to converge
to the goal very slowly. We devised a modified set of reactive control
formulae that allows for effective adjustment of the control
trajectory:

where v and are the desired translational
and rotational velocities, respectively, is the direction of
the target relative to the robot , is
the in-place rotational velocity, and and are the
base translational and rotational velocities, respectively. The
translational and rotational velocities can be translated to
differential drive parameters via a simple, invertible linear
transform. This set of control formulae differs from the love vehicle
in that it takes into account the orientation of the robot with
respect to the target and explicitly adds rotational control. This
set of control rules implicitly allows for heading independence, i.e.,
the control rules allow for both forward and backward movements,
whichever one is most efficient to execute.
Figure 3 shows an actual run of the reactive
control algorithm described above.

Figure 3: Sample trace of the execution of the reactive control
algorithm. The target point is marked with a cross.