next up previous
Next: Conclusions Up: Planning Robot Motion for Previous: Extention to multiple 3D

The Robot Controller

After determining the next best view, the robot has to drive to that pose. The current pose has to be connected to the target pose by a trajectory, i.e., a continuous path. The robots wheel encoders are used to calculate and estimate the robot position. Since the scan matching calculates precise positions on the base of 3D data, small odometry errors and slip can be tolerated. The computed transformation for registering the 3D scans are used to correct the self localization of the robot at every scan point.

The non holonomic robot vehicle is controlled by a closed loop, time invariant and globally stable motor controller, developed by G. Indiveri [14]. The target configuration is always approached on a straight line and the vehicle is requested to move in only one specified forward direction, thus avoiding cusps in the paths and satisfying a major requirement for the implementation of such strategy on many real systems. Let $(x_G,
y_G, \phi)$ be the robot pose in the target centered coordinate system. The controller is based on a Cartesian kinematic model described by: $\dot x_G = u \cos \phi$, $\dot y_G = u \sin \phi$ and $\dot \phi = \omega = u c$. Thereby $u$ is the robot's linear velocity, $\omega$ the angular velocity and $c$ the (bounded) curvature. $(0,0,0)$ is the final position and corresponds to the next best view. The transformation of the Cartesian coordinates with $e = \sqrt{{x_G}^2 + {y_G}^2}$, $\theta = \ATAN (-y_G,-x_G)$ and $\alpha = \theta - \phi$ into polar like coordinates results in: $\dot e = -u \cos \alpha$, $\dot \alpha = \- u (c -
\frac{\sin \alpha}{e})$ and $\dot \phi = u \frac{\sin
\alpha}{e}$.

G. Indiveri uses for the robot speed the equation $u = \gamma e$ with $\gamma > 0$ and a Lyapunov-like based control law synthesis to derive the following fomula for the curvature:

\begin{displaymath}
c = \frac{\sin \alpha}{e} + h \frac{\theta}{e} \frac{\sin
\alpha}{\alpha} + \beta \frac{\alpha}{e},
\end{displaymath}

with $h > 1,\, 2 < \beta < h + 1$ [14]. These two formulas for the velocity and curvature (or angluar velocity) form the closed loop, time invariant and globally stable motor controller.

One major problem in mobile robotics is obstacle avoidance. Objects with jutting out edges, e.g. standing tables are often not detected by standard sensors and the mobile robots hit these objects. The 3D laser scanner software as described above (fig. 2) computes bounding boxes in a 3D scan. These bounding boxes are joined with a planned trajectory. The trajectory is calculated with the closed loop motor controller and the physical motion model of the mobile robot. The robot drives to a candidate position if and only if a collision free trajectory exists (fig. 4).

Figure 5: The first 6 scans and explorations path in the main hall of castle Birlinghoven. Reflectance images with distorted views of the scene and a horizontal map are shown (reading form left to right). The reflectance image is systematically distorted, because one scan line of the figure corresponds to a slice of the 2D scanner, thus the rotation of the scanner is not considered.
\begin{figure*}\begin{center}
\parbox[c]{4.2cm}{\epsfxsize=4.2cm \epsffile{bild_...
...epsfxsize=4.2cm \epsffile{bild7_50.eps}}\vspace*{-7mm}
\end{center}\end{figure*}



next up previous
Next: Conclusions Up: Planning Robot Motion for Previous: Extention to multiple 3D
root 2003-03-20