next up previous

Virtual Spring Model

Fig.5 describes the virtual spring model. The world coordinate of the ISpace is converted into a coordinate system whose origin is at the target human. The direction of a virtual spring at the human side corresponds to the negative direction of the X-axis in the converted coordinate system. In the following notation, the superscript refers to the coordinate system. $W$ is the world coordinate of the ISpace, and $E$ is the coordinate system after conversion. (1) and (2) represent the state vector of the mobile robot and human in the world coordinate system.

$\displaystyle ^W{\mbox{\boldmath$x$}}_r=[x_r \: y_r \: \theta_r]^T$     (1)
$\displaystyle ^W{\mbox{\boldmath$x$}}_h=[x_h \: y_h \: \theta_h]^T$     (2)
} 5: Control Variables
Virtual Spring Model

$(x_r,y_r,\theta_r)$ represents the position and direction of the mobile robot, but it is not on the center of the robot. It is the world coordinate of the joint, which connects the mobile robot to the virtual spring. $L$ is the length from the mobile robot's center of rotation to the joint. Both of these coordinates are measured by the ISpace. The angle between the virtual springs connected to the human and the human's facing direction is expressed as $\theta_{sh}$. This parameter is adjustable, and when it is set to $\theta_{sh}=180^{\circ}$, a robot directly follows a human. The details about $\theta_{sh}$ will be explained later. The state vector of the mobile robot in the converted coordinate system is expressed as (3).
$\displaystyle ^E{\mbox{\boldmath$x$}}_r=[x_e \: y_e \: \theta_e]^T$     (3)

Here, the coordinate system is converted to (4).
$\displaystyle ^E{\mbox{\boldmath$x$}}_r = {\mbox{\boldmath$F$}}\:
(^W{\mbox{\boldmath$x$}}_r-^W{\mbox{\boldmath$x$}}_h-[0 \; 0 \; \theta_{sh}]^T)$     (4)

Where ${\mbox{\boldmath$F$}}$ is
$\displaystyle {\mbox{\boldmath$F$}} = \left[
\begin{array}{ccc}
\cos{(\theta_h+...
...heta_{sh})} & \cos{(\theta_h+\theta_{sh})} & 0 \\
0 & 0 & 1
\end{array}\right]$     (5)

The dynamic equations are derived for the case where the elastic power of the virtual spring is applied to the mobile robot, and the input value of the velocity and the angular velocity are determined from the equations. The state $(l,\phi)$ of the virtual spring is given from the physical relationship between the human and the mobile robot. It is assumed that the virtual spring transforms ideally and makes a curve which passes along the position $(x_e, y_e) $ of the robot and the origin of the $E$ coordinate system. The deformed length $l$ of the virtual spring is approximated as (6). $\phi$ is the displacement angle between both ends of the spring, and is represented as (7).

$\displaystyle l$
$\textstyle =$
$\displaystyle \sqrt{x_e^2+y_e^2}$
(6)
$\displaystyle \phi$
$\textstyle =$
$\displaystyle \arctan{\frac{y_e}{x_e}}$
(7)

Here, the elastic force which the virtual spring effects on the mobile robot is obtained. Elastic force $F_1$ is proportional to $(l-l_0)$ and acts in the direction of the translational deformation, and $F_2$ is proportional to $\phi$ and acts in the direction of bending. $l_0$ is the free length of the virtual spring, and represents a set interval between the target human and the mobile robot. $F_1$ and $F_2$ are as follows:
$\displaystyle F_1$
$\textstyle =$
$\displaystyle k_1(l-l_0)$
(8)
$\displaystyle F_2$
$\textstyle =$
$\displaystyle \frac{k_2}{\phi}$
(9)

Here, $k_1$ and $k_2$ are the virtual spring coefficients of the direction of expansion and bending. The dimensions of the spring coefficient are $[N/m] $ and $ [N{\cdot} rad] $, respectively. Based on these virtual elastic forces $F_1, F_2$, the dynamic equations are derived as follows:
$\displaystyle M\dot{v} \!=\! -F_1\cos{(\theta_e\!-\!\phi)} \!-\! F_2\sin{(\theta_e\!-\!\phi)} \!-\! k_3v$     (10)
$\displaystyle I\dot{\omega} \!=\! (F_1\sin{(\theta_e\!-\!\phi)}\!+\!F_2\cos{(\theta_e\!-\!\phi)}\!-\!k_4\omega)L$     (11)


$\displaystyle \left[
\begin{array}{c}
\dot{v} \\
\dot{\omega} \\
\end{array}\...
...\!F_2\cos{(\theta_e\!-\!\phi)})\displaystyle{\frac{L}{I}}\\
\end{array}\right]$     (12)


$\displaystyle \dot{{\mbox{\boldmath$q$}}} = {\mbox{\boldmath$H$}}{\mbox{\boldmath$q$}}+{\mbox{\boldmath$G$}}({\mbox{\boldmath$x$}}_e)$     (13)

$M$ is the mass and $I$ is the moment of inertia of the mobile robot. $k_3$ and $k_4$ are the viscous friction coefficients of translation and rotation, respectively, and each dimension is $[N{\cdot}s/m]$ and $[N{\cdot} s/rad]$, respectively. (10) is a dynamic equation about the mobile robot's translational motion. The left hand side of (10) is the product of the mass and the derivative of the translational velocity. The first and second terms on the right hand side are the translational factors of $F_1$ and $F_2$. The third term is the viscous friction term of both of the forces. (11) is a dynamic equation about the mobile robot's rotational motion. The left side of (11) is the product of the moment of inertia and the derivative of the angular velocity. The first and second term on the right hand side are the rotational factors of $F_1$ and $F_2$. The third term is the viscous friction term of the torque. The torque, which influences the angular velocity, is calculated from the product of $L$ and the resultant. Here, $v$ and $\omega$ are the translational and angular velocities of the mobile robot. (10) and (11) can be expressed as (12). The vector and matrix of (12) is replaced with ${\mbox{\boldmath$q$}}$, ${\mbox{\boldmath$G$}}$, and ${\mbox{\boldmath$H$}}$ of (13).

$V_r$ and $V_l$ are the velocity of the right and left wheel, respectively, and $W$ is the distance between both wheels. Their relationship is shown in (14). Based on $\dot{v}$ and $\dot{\omega}$ from the dynamic equations, $V_r$ and $V_l$ are the input to the mobile robot as actual control input for following the target human.

$\displaystyle \left[
\begin{array}{c}
V_r \\
V_l \\
\end{array}\right] =
\lef...
... \\
\end{array}\right]
\left[
\begin{array}{c}
v \\
\omega
\end{array}\right]$     (14)

$k_1$, $k_2$, $k_3$ and $k_4$ in (10) and (11) are optimised empirically by a simulation based on information about the human; the maximum walking speed, the maximum acceleration, etc.
} 6: Control block diagram
\begin{figure}\begin{center}
\epsfile{file=block_ieee.eps,width=15.0cm}
\end{center}
\end{figure}
The whole of the control system is depicted using a block diagram shown in Fig.6. Here, $T$ is as follows:
$\displaystyle {\mbox{\boldmath$T$}}$
$\textstyle =$
$\displaystyle \left[
\begin{array}{cc}
\cos\theta_r & 0 \\
\sin\theta_r & 0 \\
0 & 1
\end{array}\right]$
(15)


next up previous
10/06/2005