\documentclass[Proof]{e-ergo}
%\documentclass{e-ergo}
\usepackage[dvips]{graphicx}

%\field{Ergonomic data}
\field{Contribution}
%\field{Short communication}
%\field{Technical report}
%\field{Review}

\Vol{34}
\No{5}
\Year{00}

\etitle{Trajectory Formation of Human Arm with Nonholonomic Constraints}

%\eauthor{Taro NINGEN}
%\eauthor{Taro NINGEN \& Jiro MINATOKU}
\eauthor{Taro NINGEN, Jiro MINATOKU \& Saburo AKASAKA}


\Etitle{Trajectory Formation of Human Arm with Nonholonomic Constraints}
\subtitle{---Sub Title---}

\received{2000}{5}{10}
\revised{2000}{6}{30}

\author{Taro NINGEN\thanks{Japan Ergonomics Society}\and%
                Jiro MINATOKU\thanks{Touzai University}\and%
                Saburo AKASAKA\THANKS{**,***}%
}

\newcommand{\bm}[1]{\mbox{{\boldmath $#1$}}}

\begin{document}

\begin{eabstract}
In this paper, we focus on the manipulation of a holding nonholonomic toy car and attempt to generate similar trajectories to the human ones.
By modeling the primitive profiles with the TBG, we try to generate the trajectory for the robots by the TBG based trajectory generation method.
Finally, the results of computer simulations are shown and compared with the human trajectories.
\end{eabstract}
\begin{keyword}
        human movements, trajectory generation, nonholonomic constraints
\end{keyword}


\maketitle


\section{Introduction}


With the latest progress of robotic technology, it has been expected that an advanced type of robot being able to cowork and coexsit with a human will be developed and commonly used at home or a workspace in the near future.
In fact, the development of the human-shaped robot which is called the humanoid robot has been actively performed \cite{humanoid}, so that a friendly feeling of a human toward the robot is practically realized from a cosmetic point of view.
However, no matter how similar to a human being in appearance the robot is, it will not be able to coexist with a human in a daily life if it cannot act or perform a task with human-like movements.

There have been many studies on a mechanism of human arm movements \cite{bib1}-\cite{bib5}.
For instance, Morasso \cite{bib1} measured reaching movements of the human two-joint arm restricted to an horizontal plane, and found the following common invariant kinematic features: When a subject was instructed merely to move his hand from one point to another, the hand usually moved along a roughly straight path with a bell-shaped velocity profile.

Also, Morasso et al. \cite{bib5} proposed a Time Base Generator (TBG) which generates a time-series with a bell-shaped velocity profile, and showed that a straight and a curved hand trajectory can be generated by synchronizing a translational and a rotational velocity of the hand with the TBG signal.
Then, Tsuji et al. \cite{bib7} \cite{add} applied the TBG mechanism to the control of a non-holonomic robot and a redundant manipulator.
These previous studies, however, have not dealt with any constraints in the hand movement, although a human movement is often constrained by environments on performing an ordinary work in a daily life.

In the present paper, we attempt to reproduce hand trajectories generated by a human in operating a nonholonomic-constrained task.
The manipulation of a holding nonholonomic toy car from one point to another is chosen as the task.
First, in order to reveal what kind of hand trajectories a human would generate for this task, the trajectory generation experiments with subjects are performed.
Through the observation of human hand movements, it is shown that the generated hand velocity profiles can be classified into two classes: a single-peaked profile and a double-peaked one.
By modeling these primitive profiles with the TBG on the basis of the experimental results, we try to generate the trajectory for the robots operating the same task.

\section{Trajectory generation using Time Base Generator}
\subsection{Virtual time and the TBG}

we define a virtual time $s$ for time scaling the system.
The relationship between actual time $t$ and virtual time $s$ is given by
\begin{equation}
        \frac{{\rm d} s}{{\rm d} t} =  a(t)     \;,
        \label{time}
\end{equation}
where the continuous function $a(t)$, called the time scale function \cite{bib10}, is defined as follows:
\begin{equation}
        a(t) = -p \frac{\dot{\xi}}{\xi}  \;,
        \label{at}
\end{equation}
where $p$ is a positive constant and $\xi(t)$ is a non-increasing function generated by the Time Base Generator (TBG) \cite{bib7} \cite{add}. $\xi(t)$ has a bell-shaped velocity profile satisfying $ \xi (0) = 1$ and $\xi (t_f) = 0 $ with the convergence time $t_f$.
The dynamics of $\xi$ is defined as follows:
\begin{equation}
        \dot{\xi} = - \gamma (\xi({\rm 1} -\xi))^{\beta},
\end{equation}
where $\gamma$ and $\beta$ are positive constants under $0<\beta<1.0$.
The convergence time $t_f$ can be calculated with the gamma function $\Gamma($�E$)$ as
\begin{equation}
        t_f =  \int_{\rm 0}^{t_f} dt = \int_{\rm 1}^{\rm 0} \frac{{\rm d} \xi}{\dot{\xi}} = \frac{\Gamma^{\rm 2}({\rm 1}-\beta)}{\gamma \Gamma({\rm 2}-{\rm 2} \beta)}. \label{tf}
\end{equation}
Thus, the system converges to the equilibrium point $\xi = 0$ in the finite time $t_f$ if the parameter $\gamma$ is chosen as
\begin{equation}
        \gamma = \frac{\Gamma^{\rm 2}({\rm 1}-\beta)}{ t_f \Gamma({\rm 2}-{\rm 2}\beta)} .
\end{equation}
Figure \ref{TBG} shows the time histories of $\xi$ and $\dot{\xi}$ depending on convergence time $t_f=1.0, 3.0, 5.0 \; [{\rm s}]$ under the parameter $\beta = 0.5$.


\begin{figure}[tb]
        \setlength{\unitlength}{1mm}
        \centering
        \begin{picture}(40, 20)
                \put( 0, 10) {\vector(1, 0){10}}
                \put(10,  5) {\framebox(20, 10){Sample}}
                \put(30, 10) {\vector(1, 0){10}}
        \end{picture}
        \caption{Dymanic behavior of the TBG.}
        \label{TBG}
\end{figure}



%---------------------------------------------
\subsection{Time scaled artificial potential field approach}
%---------------------------------------------
Generally, the kimenatics of the robot system can be described by
\begin{equation}
        \dot{{\bm X}}={\bm G}({\bm X}){\bm U} ,
        \label{eq1}
\end{equation}
where ${\bm X} \in \Re ^{n}$ is the position vector of the robot; ${\bm U} \in \Re ^{n}$ is the input vector; and it is assumed that ${\rm det}\;{\bm G}({\bm X}) \neq 0$.
The system given in (\ref{eq1}) can be rewritten in the virtual time $s$ as follows:
\begin{equation}
        \frac{{\rm d} {\bm X}}{{\rm d} s} = \frac{{\rm d} {\bm X}}{{\rm d} t} \frac{{\rm d} t}{{\rm d} s} = {\bm G}({\bm X}) {\bm U}_s,
        \label{V-sys}
\end{equation}
where
\begin{equation}
        {\bm U}_s = \frac{1}{a(t)} {\bm U}.
        \label{V-u}
\end{equation}

On the other hand, in the artificial potential field approach (APFA) \cite{bib7} \cite{add}, the goal is represented by an artificial attractive potential field which is created by the defined potential function $V({\bm X})$. The potential function $V({\bm X})$ has the minimum value $V({\bm X}_d) = 0$ at the target point ${\bm X}_d$ in the task space, so that the trajectory to the target can be associated with the unique flow-line of the gradient field through the initial position and be generated via a flow-line tracking process.
Through the inverse time-scale transformation from virtual time $s$ to actual time $t$ for the feedback controller ${\bm U}_s$ for the system (\ref{V-sys}) designed by APFA, the feedback control law ${\bm U}$ in actual time $t$ is derived as
\begin{equation}
        {\bm U} = -a(t) {\bm G}^{-1}({\bm X}) \frac{\partial V}{\partial {\bm X}}.
        \label{control}
\end{equation}
By means of the derived controller ${\bm U}$, the system (\ref{eq1}) in the actual time scale can be stable to the equilibrium point at the specified time $t_f$.
In this paper, we attempt to make the robots generate the trajectories which are similar to the observed human primitive movements by using the TBG based method.

\begin{table}[tb]
        \caption{Sample of table.}
        \label{tab1}
        \begin{center}
                \begin{tabular}{ccc}\hline
                        �������������������� & �������������������� \\\Hline
                        �������������������� & �������������������� \\\hline
                        �������������������� & �������������������� \\
                        �������������������� & ��������������������
                \end{tabular}%
        \end{center}
\end{table}

%---------------------------------------------------------
\subsection{Generated spatio-temporal trajectories}
%---------------------------------------------------------
Summing up, we observed the following features of the human hand trajectories through the experiments:

\begin{enumerate}
        \item The subjects generate two types of the primitive velocity profiles: a single-peaked profile and a double-peaked one.
        \item The subjects generate the different spatial trajectories according to the initial point and the target one.
        \item The subjects generate a velocity profile out of two primitive ones according to the generated spatial trajectory.
        \item The straight trajectory generated by the subjects has a single-peaked velocity profile whether there exists the nonholonomic constraint on the hand movements in a given task or not.
\end{enumerate}

%---------------------------------------------
\section{Conclusions}
%---------------------------------------------
In this paper, we focus on the task manipulating the holding nonholonomic car and try to generate human-like trajectories for the robots by imitating human generated trajectories.
Via observation of the experiments with the subjects, we have found two human primitive velocity profiles:
\begin{itemize}
        \item   a single-peaked profile
        \item   a double-peaked profile
\end{itemize}
Then, by applying the TBG based method, we could reproduce the spatio-temporal trajectories which have similar features of the observed human trajectories.

\begin{thebibliography}{99}

\bibitem{humanoid}
K. Hirai, M. Hirose, Y. Haikawa and T. Takenaka: ``The Development of Honda Humanoid Robot," in Proceedings of IEEE Int. Conf. on Robotics and Automation, 1321--1326, 1998.

\bibitem{bib1}
P. Morasso: ``Spatial control of arm movements," Experimental Brain Research, 42, 223--227, 1981.

\bibitem{bib4}
D. Bullock and S. Grossberg: ``VITE and FLETE: Neural modules for trajectory formation and postural control," in Volitional Action (W. A. Hershberger, Ed.), 253--297, Amsterdam, (Elsevier, North-Holland), 1989.

\bibitem{bib5}
P. Morasso, V. Sanguineti and T. Tsuji: ``A dynamical model for the generator of curved trajectories," in Proceedings of the International Conference on Artificial Neural Networks, 115--118, 1993.

\bibitem{bib7}
T. Tsuji, P. Morasso and M. Kaneko: ``Feedback control of nonholonomic mobile robots using time base generator", in Proceedings of IEEE Int. Conf. on Robotics and Automation, 1385--1390, 1995.

\bibitem{add}
T. Tsuji, P. Morasso, V. Sanguineti, and M. Kaneko: ``Artificial Force-field based methods in Robotics," in Self-Organization, Computational Maps and Motor Control (P. Morasso and V. Sanguineti, Ed.), Advances in Psychology, 119, 169-190, (Elsevier, North-Holland), 1997 .

\bibitem{bib10}
M. Sampei and K. Furuta: ``On time scaling for nonlinear systems: Application to linearization," IEEE Transactions on Automatic Control, Vol. 31, No. 5, 459--462, 1986.

\end{thebibliography}

\appendix
\section*{Trajectory generation of a nonholonomic car}

In this subsection, with the TBG based method, a feedback control law which can generate a spatio-temporal trajectory of the toy car is designed on the basis of the observed features of the experimental results with the subjects.

The kinematics of the car can be described by the following relationship between the time derivative ${\bm x} = (x, y, \theta )^T$ and the linear and the angular velocity
of the car ${\bm u} = (v, \omega )^T$:
\begin{equation}
        \dot{{\bm x}}={\bm g}({\bm x}){\bm u},
        \label{eq16}
\end{equation}
where
\begin{equation}
        {\bm g}({\bm x})=\left[ \matrix{ \cos \theta & 0 \cr \sin \theta & 0 \cr 0 & 1 \cr } \right].
        \label{eq17}
\end{equation}
From the system equation (\ref{eq16}), we can easily derive the following kinematic constraint \cite{bib7}:
\begin{equation}
        \dot{x} \sin \theta - \dot{y} \cos \theta = 0 .
        \label{const}
\end{equation}
Therefore, there is the nonholonomic constraint given by (\ref{const}) imposed on the hand movement of the subject in the process of manipulating the car.

The control law proposed by Canudas de Wit and S{\o}rdalen is based on the idea that the arc length from the origin to the current position should be decreasing and that the current angular orientation of the car should agree with the tangential direction $\theta _d$.

Let $\alpha$ denote the angle between the tangential direction $\theta _d$ and the current angular orientation $\theta$ with the intention of designing a control law which can eliminate this kind of {\it orientation error} together with the corresponding {\it positional error} denoted by the distance $r$ from the target.
The following coordinate transformation from ${\bm x} = (x, y, \theta )^T$ to ${\bm z} = (r, \alpha )^T$ is then introduced \cite{bib7}:
\begin{equation}
        r(x,y)=\sqrt {{x}^{2}+{y}^{2}} ,
\end{equation}
\begin{equation}
        \alpha (x,y,\theta )=e+2n(e)\pi ,
\end{equation}
\begin{equation}
        e=\theta -{\theta }_{d} ,
\end{equation}
\begin{equation}
        {\theta }_{d}=2 {\rm atan2} (y,x) ,
\end{equation}
where $n(e)$ is a function that takes an integer in order to satisfy $\alpha \in [-\pi , \pi )$.
Also, $ {\rm atan2} \left( \cdot , \cdot \right) $ is the scalar function defined as ${\rm atan2} (a, b) = \arg (b+ja) $, where $j$ denotes the imaginary unit and $\arg$ denotes the argument of a complex number.
As a result, the current state of the car can be represented by
\begin{equation}
        {\bm z} =F({\bm x})= \left[{\matrix{r(x,y)\cr \alpha (x,y,\theta )\cr}}\right]
        \label{eqZ}
\end{equation}
and the target configuration of the car is transformed from ${\bm x}_d = (0,0)^T$ to ${\bm z}_d =(0,0)^T$.

Substituting (11) into the time derivation of equation (18), we have the relationship between $\dot{{\bm z}}$ and the system input ${\bm u}$:
\begin{equation}
        \dot{{\bm z}}={\bm J}({\bm x}) {\bm  G} ({\bm x}){\bm u}={\bm B}({\bm x}){\bm u}  ,
        \label{eq22}
\end{equation}
where
\begin{equation}
        {\bm J}({\bm x}) =\mit  \left[{\matrix{ \frac{x}{\sqrt{(x^2 + y^2)}} & -\frac{y}{\sqrt{(x^2 + y^2)}} & 0 \cr {2y \over x^2 + y^2}&-{2x \over x^2 + y^2} & 1 \cr }}\right] ,
\end{equation}
%
\begin{equation}
        {\bm B} ({\bm x}) = \left[{\matrix{{b}_{1}&0\cr{b}_{2}&1\cr}}\right] ,
        \label{eq23}
\end{equation}
%
\begin{equation}
        {b}_{1} = -\frac{1}{\sqrt{x^2 + y^2}}(x \cos \theta  + y \sin \theta ) ,
        \label{eqb1}
\end{equation}
\begin{equation}
        {b}_{2} = {2 \over x^2 + y^2} \left(y \cos \theta - x \sin \theta \right).
        \label{eqb2}
\end{equation}
It can be seen that the number of state variables is reduced to the same number as the system input. For this system, the following potential function $V$ so as to design the feedback controller can be defined:
\begin{equation}
        V= {\frac{1}{2}} \left( k_r r^2 + k_{\alpha} {\alpha}^2 \right) ,
        \label{V}
\end{equation}
where $k_r$ and $k_{\alpha}$ are positive constants.

From (\ref{control}), we can design the feedback controller ${\bm u}$ based on the potential function $V$ (\ref{V}) as
\begin{equation}
        {\bm u}  = -a(t) {\bm B}^{-1}({\bm x}) \frac{\partial V}{\partial {\bm z}}
                 = \left[{\matrix{{pr\dot{\xi } \over 2{b}_{1}\xi }\cr- {b}_{2}v + {p\alpha \dot{\xi } \over 2\xi }\cr}}\right]
        \label{eq28}
\end{equation}
under the assumption of ${\rm det} {\bm B} ({\bm x}) \neq 0$ except at the target position ${\bm x}_d$. With the feedback controller ${\bm u}$, the time derivative of $V$ yields
\begin{equation}
        \dot{V}={\frac{\partial V}{\partial {\bm z}}} {\bm B} ({\bm x}){\bm u} = pV{\frac{\dot{\xi }}{\xi }} < 0.
        \label{Vdot}
\end{equation}
As $\dot{V}$ is always negative except at the equilibrium point, the system of the car in the actual time scale is asymptotically stable by means of the designed feedback control law ${\bm u}$.
Moreover, this differential equation given in (\ref{Vdot}) can be readily solved as follows \cite{add}:
\begin{equation}
        V = V_0 \xi ^p ,
\end{equation}
where $V_0 = V({\bm x}_0)$ is the initial value of $V$. It can be seen that the potential function $V$ is ``synchronized" with the TBG because $V$ is proportional to the $p$th power of $\xi$.
Since $\xi$ reaches zero at $t_f$ so must do $V$: in other words, the car with two wheels is bound to reach the target position ${\bm x}_d$ from the initial position ${\bm x}_0$ just at $t=t_f$ with the controller ${\bm u}$.

\end{document}

