

\author{Enrico Di Bernardo$^{\dagger\ddagger}$, Luis Goncalves$^{\dagger}$, and Pietro 
Perona$^{\dagger\ddagger}$ \\ \\
\small ${\dagger}$ California Institute of Technology, 116-81, Pasadena, CA 91125, USA  \\
\small ${\ddagger}$ Universit\`a di Padova, Italy \\
\small \{dibe,luis,perona\}@vision.caltech.edu \\
}

\chapter{Monocular Tracking of the Human Arm in 3D}

\begin{Abstract}
The motion of the human body can in itself be a useful human-machine interface, and computer vision can 
provide a method for tracking the body in an unobtrusive fashion.  In this paper, we describe a system 
capable of tracking the human arm in 3D using only a single camera and no special markers on the body.  
The real-time implementation has a manipulation resolution of 1 cm and has been tested as a novel 3D 
input device. 
\end{abstract}

\Section{Introduction and Motivation}

Visual estimation and tracking of the motion and gestures of the human body is an interesting and exciting 
computational problem for two reasons, (a) from the engineering standpoint, a non-invasive machine that 
could track body motion would be invaluable in facilitating most human-machine interactions and, 
 (b) it is an important scientific problem in its own right.

Observing the human body in motion is key to
a large number of activities and applications:

  {\em Security} � in museums, factories and other locations that are either
        dangerous or sensitive it is crucial to detect the 
        presence of humans and monitor/classify their behavior based 
        upon their gait and gestures.

  {\em Animation} � the entertainment industry makes increasing
        use of actor-to-cartoon animation where the motion of cartoon figures 
        and rendered models is obtained by tracking the motion of a real person.

  {\em Virtual reality} -- The motion of the user of a virtual reality system
        is necessary to adjust display parameters and animations.

  {\em Human-machine interfaces} � the motion of the human body 
        may be used as a convenient interface between man and machine, for example, the hand
      could be used as a 3D mouse.

  {\em Biomechanics} � reconstructing the 3D motion of human limbs is
        used for clinical evaluation of orthopedic patients and for
        training of both professional and amateur athletes.

  {\em Signaling} � in airports, at sea, and in other high-noise 
        environments the arms and torso are used for signaling.

   {\em Camera control} �  active camera control based on the motion of
        humans can be used for sport events, conferences, and shows, thus 
	replacing human operators. It may also be used to make human 
	operators more effective in security monitoring.

  {\em Traffic monitoring} �  pedestrians are often a component of 
        street traffic. They need to be detected and their behavior 
        understood (e.g.,  intention to cross at a traffic light, gesture
        signaling for emergency help) in order to help avoid collisions
        and dangerous situations, and in order to detect accidents
        immediately.

 {\em Customer monitoring} �  data on the behavioral pattern of 
        exploration and purchasing of  store customers
        is extremely valuable to advertising companies, producers,  and
        sales management.


Current techniques for tracking the human
 body involve a large variety of methods. {\em Security, traffic
monitoring, signaling, and customer monitoring} are typically
implemented using human observers that survey the scene either
directly or via a multiple camera closed circuit TV system.  For {\em
animation and biomechanics} multiple camera systems and manual
tracking of features across image sequences is used. For {\em virtual
reality} an assortment of gloves, suits, joysticks and inductive coils
is used.  For {\em human-machine} interfaces we have joysticks, mice
and keyboards.

All of these methods require either employing  dedicated human operators
or using ad-hoc sensors. This results in a number of limitations:
\begin{enumerate}
  \item {\em Practicality} -- the user needs to wear markers or 
        other ad-hoc equipment which may
        be impractical, uncomfortable, constrain the user to a limited work
        space, be difficult to transport,
  \item {\em Cost} -- computational and sensory  hardware 
        and human operator time,
  \item {\em Timeliness} � the data may not be available in real-time, 
        but only after a lag required to process a batch of images, 
        allow communication between human operators etc.
\end{enumerate}

If tracking the human body could be made automatic and non-invasive,
and therefore cheaper, more practical and faster, not only the
applications listed above could be better performed, but also a number
of new applications would be feasible.

\subsection{Automatic Human Motion Estimation}

Previous work on human motion estimation can be coarsely grouped into three types :
\begin{itemize}
 %\item spatiotemporal pattern classification \cite{Per-polanaNelson94}

% \item models with 1 degree of freedom that describe in some way the whole motion, for example the 
position along a frontoparallel walk \cite{Per-rohr93,Per-niyogiA94} 

% \item estimation of unconstrained 3D hand tracking using line and point feature tracking \cite{G-
rehg94b}


%\item the use of markers and multiple cameras \cite{Per-borgheseFP91}.
 
 \item gesture classification, \cite{Per-freemanRoth94,G-freeman95}
 
 \item systems which track or classify periodic motions with 1 degree of freedom, 
\cite{Per-rohr93,Per-niyogiA94,Per-polanaNelson94}

 \item estimation of 3D unconstrained motion; of the hand from a 
monocular view \cite{G-rehg94b}; of the body, with the use of multiple cameras \cite{Per-gavrilaD96, Per-
kakadiarisM96} and special markers.  \cite{Per-borgheseFP91}

\end{itemize}

We are interested in estimating 3D unconstrained motion. The most accurate system at the moment is 
ELITE \cite{Per-borgheseFP91}, which is able to estimate position with an accuracy of 0.1\% of the 
workspace diameter.  However, to achieve such accuracy, it is necessary to use a system composed of 
special-purpose markers, infrared lighting, and 4-8 cameras that need to be accurately calibrated.  As in 
\cite{G-rehg94b}, we explore the opposite side of the spectrum of approaches to the problem: how 
accurately can one track in 3D the human body with the simplest, cheapest, and most convenient setup-- a 
single grayscale camera and no special markers.

In this paper we study the more constrained problem of estimating the motion of the human arm. This is a 
good starting point because arm estimation is very useful in numerous applications (e.g., human-machine 
interaction, human factors analysis);  it's also easily extendible to the whole body since leg structure is very 
similar to that of the arm and so only torso and head tracking remain to be done.

In the next section we present some theoretical considerations on the accuracy achievable in depth 
reconstruction from a monocular view. Afterwards, we describe our arm model, the estimation method, and 
the results of experiments with the system.




\Section {The Accuracy Achievable from a Monocular View}  \label{Per-sensitivity}

We will not attempt to give a full analysis, but rather to provide some intuition.  From a monocular view, 
the depth of an isolated point is impossible to recover; it is information on relative structure which allows 
depth to be determined.  The simplest structure to study is that of a line segment.  In our analysis, we keep 
one endpoint of the segment fixed in space and calculate the dependence of the depth estimation of the other 
endpoint with respect to deviations in its image plane coordinates.  %This calculation is performed for the 
second endpoint positioned thoughout the hemisphere of possible positions towards the camera.  
In order to facilitate comparison with our experiment, we calculate image coordinates using the camera 
parameters of the camera in the experiment.  Furthermore, we place the fixed endpoint of the line segment 
along the optical axis at the same depth as the location of shoulder during the experiment, and the length of 
the line segment is the length of the upper-arm of the subject performing the experiment. 

\begin{figure}[h]
\centerline{\epsfxsize=5cm \epsffile{Perona_figs/sensitivity1.ps}}
\caption{Estimating depth sensitivity: What is the change in depth ($\Delta Z$) for a given image 
coordinate error ($\epsilon$) given the angle $\phi$ from the optical axis?}
\label{Per-fig-sensitivity1}
\end{figure}

\begin{figure}[h]
\centerline{\epsfxsize=4.8cm \epsffile{Perona_figs/senseplots2.ps}}
\caption{Sensitivity Analysis: (Top):Typical error in depth estimate of the free endpoint of a line segment
when there is 1 pixel error in it's image plane coordinates. (Bottom) An example of the maximum 
permissible angle between the segment and the optical axis as a function of image plane coordinate error, so 
that relative error is less than 7.5\% (solid), 1.0\% (dashed)}
\label{Per-fig-senseplots}
\end{figure}

Figure \ref{Per-fig-sensitivity1} shows the coordinate system used in calculating the sensitivity.  The angle 
$\phi$ is the angle between the segment and the optical axis. Figure \ref{Per-fig-senseplots}(top) shows the 
error of the endpoint's depth estimate when it's image coordinates are disturbed by 1 pixel (in the worst 
direction).  The qualitative nature of the results agree with one's initial intuition; when the line segment is 
pointing towards the camera, the depth error is quite small, and when the segment endpoints are 
equidistant from the camera the depth error increases quickly to infinity. From this plot we calculate as a 
function of image coordinate error the maximum angle of deviation from pointing straight at the camera 
permissible so that the relative depth error is less than 7.5\% and less than 1\%(Figure \ref{Per-fig-
senseplots}(bottom)). 
It can be seen that as the accuracy required increases, the range of acceptable positions decreases 
significantly.

  Of course, since our estimation method (described below) does not use measurements of endpoint position 
in the image plane, a direct application of these results is not possible, however, it gives us some idea of 
how sensitive the depth estimation is with respect to the information in the image. One can improve upon 
pure length measurements by using both the dynamics of the system being estimated (i.e., the existence of 
a smooth trajectory, velocity), and more of the structure of the object (i.e., even if one arm segment is in an 
ill-conditioned position, the other may not be, and so the position of the arm can still be estimated 
accurately).

\Section{The Estimation System}

We model the arm in 3D and use the current estimate of arm position to predict the arm projection in the 
image.  The difference between the predicted image and the actual arm image is used as an error 
measurement to update the estimated arm position with a recursive estimator.  Thus, rather than extracting 
features explicitly from the image, we make direct comparisons between the actual image and the expected 
image. This method is inspired by Dickmann's work on lane following \cite{Per-dickmannsG88B}.

%3D model based
%no explicit 2D feature extraction
%no explicit 2D->3D inverse projection calculation
%based on current state estimate, compare actual and expected image, and update estimate

\subsection {The Arm Model} \label{Per-arm}

In order to generate the predicted image, we need to �render�  a 3D model of the arm from the camera's 
point of view.  We choose a simple 3D model (Figure \ref{Per-fig-arm}) in which the upper and lower arm 
are modeled as truncated right-circular cones, and the shoulder and elbow joints are modeled as spherical 
joints.  

\begin{figure}[h]
\centerline{\epsfxsize=4.0cm \epsffile{Perona_figs/arm_model.ps}}
\caption{The arm model: Limbs are modeled as truncated right-circular cones. The elbow and shoulder 
joints are modeled as spherical joints, and the hand tip is assumed to be along the forearm axis}
\label{Per-fig-arm}
\end{figure}

In order to keep the model as simple as possible and to have as few
degrees of freedom as possible (only four positional DOF with two
spherical joints), we chose not to model (or render) the shape of the
hand, but simply assume it to extend along the axis of the
forearm. This strong simplification provided us with a reasonable starting point for experimentation. 

Our model thus requires seven fixed parameters to describe it's shape: the longitudinal lengths of the hand, 
forearm and upper arm (three), and the diameters of the two limb segments at each end (four).
 Each of these parameters was measured with approximately 5\% accuracy (we have not yet systematically 
studied the effect of model inaccuracies).  Furthermore, we assume that the 3D position of the shoulder is 
known. There is a natural hierarchy to the segmentation of the human body, and shoulder position is 
determined by tracking the torso. Since we attempt to track only the arm, we assume the shoulder position 
is known.
 
\subsection{The Recursive Estimator} \label{Per-estimator}
	%\input{recursive}
	% description of estimator algorithm
The state of the system consists of the four spherical joint
angles and their velocities. In order to recursively estimate it, we
use an implicit version of the Extended Kalman Filter \cite{Per-kalman60,Per-bucy65,Per-jazwinski70}.  
The dynamics of the system is described by a random walk in the
spherical joint velocities:
\begin{equation}
\left\{
\begin{array}{lcl}
\vec{\theta}(t+\Delta T) & = & \vec{\theta}(t) + \vec{\theta_{v}}
\Delta T \\
\vec{\theta_{v}}(t+1) & = & \vec{\theta_{v}}(t) + \vec{w}
\end{array}
\right.
\end{equation}
where $\vec{\theta}$ is the vector of spherical
coordinates,$\vec{\theta_{v}}$ is the vector of the angular velocities
and $\vec{w}$ is a vector of gaussian noise.

The measurement equation, instead of being in the standard form

\begin{equation}
\vec{y} = \vec{h}(\vec{\theta},\vec{\theta_{v}})
\end{equation}

is an implicit and non-linear relation between the state and the image values
     
\begin{equation}
\vec{h}(\vec{y},\vec{\theta},\vec{\theta_{v}}) = \vec{0}
\end{equation}

This kind of problem can be transformed to the
classical formulation of the extended KF. The key is to obtain a
linearization of the
 measurement equation.  This involves calculating the jacobian of the measurements with respect to the 
state (and the image intensities), which in turn involves knowing a precise camera calibration. 

\begin{figure}[h]
\centerline{\epsfxsize=4.5cm \epsffile{Perona_figs/sis3.eps}}
\caption{The estimation system: Real and rendered arm views are compared to provide an error signal to a 
recursive estimator}
\label{Per-fig-system}
\end{figure}

\begin{figure}[h]
\centerline{\epsfxsize=4.8cm \epsffile{Perona_figs/measurements.ps}}
\caption{The measurements for the recursive estimator:
 The (+) indicate locations on the segmented and blurred image where intensity values are compared with 
those from the predicted arm position (outlined by lines)}
\label{Per-fig-measurements}
\end{figure}

\subsection{The Error Measurements}
The measurement process is explained in detail in
\cite{Per-goncalvesDUP95}. We pre-process the image with a background subtraction scheme; based on 
accumulated statistics of background-only images, a decision is made as to whether each pixel is part of the 
background or something else.
This produces an image which assumes value 1 where the arm and the body are and value 0 elsewhere. The 
last step of pre-processing is to blur the image with a 2D guassian kernel with $\sigma = 10/6 pixels$. 
This blurring generates a smooth 10 pixel wide step along the contour of the arm. The difference between 
this pre-processed image and the image predicted by the recursive filter is calculated at 20 points on both 
sides of each (predicted) limbs' contours and the
(predicted) hand tip position (Figure \ref{Per-fig-measurements}).
If the predicted and the real image align exactly (and in the absence of measurement noise and modeling 
error), all these differences are zero, otherwise, the deviations from this ideal value constitutes the 
innovation process used by the Kalman filter for the update of the state estimate (Figure \ref{Per-fig-
measure}). 

\begin{figure}[h]
\centerline{\epsfxsize=4.2cm \epsffile{Perona_figs/measure.eps}}
\caption{Detail of the measurement process: Transverse to the predicted arm contour, the acquired and pre-
processed image is sampled at 4 points.  The difference between the expected and measured intensity values 
generates an error vector}
\label{Per-fig-measure}
\end{figure}

\Section {Real-Time Implementation}

In an initial batch experiment \cite{Per-goncalvesDUP95}, we found that our system could track the human 
arm with an error of at most 5 cm along the line-of-sight (an 8\% relative error).%, as illustrated in Figures 
\ref{Per-fig-trajectory}, \ref{Per-fig-time} and \ref{Per-fig-camera_Z}. 
A human-machine interface must of necessity operate in real-time, and so we
implemented our system in real-time (Figure \ref{Per-fig-hardware}). A C80 image processing board (a 5 
CPU TI-TMS320C80-based DSP board) receives the camera input, and performs the pre-processing 
(background subtraction algorithm) to obtain the foreground/background segmented image.  The board 
communicates with a host Pentium computer; receiving a list of locations where to make measurements, 
and returning the respective image intensity values.  The Pentium PC uses the measurements from the C80 
to perform recursive estimation, and communicates the currently estimated arm pose to an SGI 
Workstation. The SGI Workstation runs a test application.  The C80 and Pentium run at a 30 Hz frame-
rate, and transmit every 5th estimate to the SGI application.

\begin{figure}[h]
\centerline{\epsfxsize=2.1cm \epsffile{Perona_figs/hardware.ps}}
\caption{System configuration: the hardware architecture
comprises a commercial camera, a video board, a Pentium 90 and an SGI
workstation}
\label{Per-fig-hardware}
\end{figure}


\Section{System Evaluation}

There are several performance criteria that can be considered in assessing the usability of a real-time system. 
In this section we introduce some such criteria and evaluate our system according to them.
  
\subsection{Robustness}

Of foremost importance is the system's robustness.  An ideal system would be able to track the arm at all 
times, whereas our system so far still looses track of the arm every now and then if the user is not 
experienced.  The main reason for  the loss of tracking is that  typical arm movements are too quick.  If 
between one frame and the next the subject's arm moves so much that there isn't much overlap between the 
predicted arm position in the new frame and the actual arm position, the measurements from the new frame 
will not carry any information, and thus the estimation process will fail.

Since our system incorporates a model of the dynamics of arm motion, losing track of the arm does not 
translate into a maximum allowable arm velocity.  Rather, with the current dynamic model of a random 
walk in joint velocities, a more correct measure would be the maximum allowable joint accelerations. 
However, the amount of mismatch in joint space necessary to cause enough mismatch in the image plane 
for the hand/arm to be lost depends on the relative configuration of the arm as well as the orientation of the 
arm with respect to the camera.  Because of this, it is difficult to quantify the maximum allowable joint 
accelerations (or more in line with the mechanisms of tracking loss, the 3D acceleration of the hand tip).  
Based on our experimentation, movements need to be made approximately 2 times slower than normal. 
With some practice, a user is able to adapt his movement so that the system does not loose track of his 
arm.

One may improve the system's tracking ability in several ways. Multi-resolution measurements on a 
pyramid of down-sampled images could increase the range over which a mismatch in arm positions can 
still give useful measurements. Also, an improved dynamic model of arm motion may increase the 
prediction accuracy of the recursive filter. 

Another factor limiting the robustness of our system is due to the pre-processing block currently in use.  
Not only the arm but also the rest of the body is detected as foreground, and thus, if some part of the arm 
crosses over into the image region occupied by, say, the torso, the measurements coming from that part of 
the arm will be incorrect. Fortunately, the jacobian of the estimated state of the system with respect to 
those image intensities will be zero, so that those measurements do not affect the update of the estimated 
state. Therefore, the system is insensitive to occlusions overall.  However, if enough of the arm is 
occluded, tracking may be lost.  To correct this problem, a more sophisticated pre-processing block must 
be used. 
Loss of tracking also occurs because of  the problem of shadows.  Although the pre-processing block was 
designed to compensate for the presence of shadows, sometimes it fails.  When this occurs, some of the 
background is considered as foreground, and if the arm is nearby, some of the measurements may be 
affected.

\Subsection {Quality of Data}

Robustness issues aside, there are several performance measures that can be used to assess the quality of the 
output produced by the system.  Their relative weight depends on the intended use of the 
system.%Depending on the intended use of the system, some particular measure may be more relevant than 
others.  % We have by no means exhausted the list of possible measures.

\subsection{Absolute Positioning Accuracy}

We compared the computed 3D position of the hand-tip with the actual 3D position, with the arm held 
still in a certain pose.  Using a pre-recorded sequence for which a ground-truth trajectory was known, we 
found that our system had a maximum absolute positioning accuracy of 8\% along the line-of-sight. Note 
that for many applications, this kind of measure is irrelevant.  For instance, for the purposes of a human-
machine interface, it is often sufficient that different poses be identified as unique.  The virtual space can be 
distorted and it is not essential that there be an exact correspondence with points in real space, since the 
user can correct the position using visual feedback.

\subsection{Repeatability}

A more useful performance measure for a human-machine interface is one which measures the repeatability 
with which a given position can be reached.  We measured the variance of the virtual hand-tip position 
when the user places his  hand-tip at a specified location in 3D.  Using this measure, we found our system 
to produce results which are repeatable with a standard deviation of approximately 1 cm (less than 1\% of 
the distance to the camera). The data for this calculation was obtained by having a user repeatedly move his 
hand-tip between four marked locations distributed in the arm's workspace. Figure \ref{Per-fig-repeatability} 
shows scatter plots of the repeatability measurements for two of the locations.

\begin{figure}[h]
\centerline{\epsfxsize=4.2cm \epsffile{Perona_figs/repeatabilitybw.eps}}
\caption{Repeatability of hand-tip position estimation: scatter plots of estimated hand-tip position when 
the user repeatedly moves to the same locations in the workspace.  Left: a location on the tabletop.  Right: 
a location along a tightly strung string between the tabletop and the ceiling.  The coordinates are relative to 
the shoulder position; X is forwards (towards camera), Z is upwards, and Y to the left.  The camera was 
130 cm from the shoulder, looking downwards with an inclination of 30 degrees to the horizon, and 
viewing angles of 65 degrees horizontally, 50 degrees vertically}
\label{Per-fig-repeatability}
\end{figure}

\subsection{Resolution}

The final performance measure that we consider is one which measures the resolution of positional control.  
In our specific case, we chose to measure the resolution with which the virtual hand-tip position can be 
controlled.  The data was generated by having a user repeatedly try to line up his virtual hand-tip 
coordinates with those of a randomly chosen virtual point. This virtual point was shown on the SGI 
display by hi-lighting it's XYZ coordinates on the scales (recall Figure \ref{Per-fig-game}). We found the 
system to have a resolution standard deviation of approximately 1cm.

\subsection{Static Versus Dynamic Performance Measures}

The three measures described above are all 'static' performance measures, that is, measures applied when the 
arm is stationary, rather than moving.  'Dynamic' measures would take into account, for example,  the joint 
angles, velocities and accelerations as a function of time (over complete trajectories).  Since we did not have 
available a method for determining the ground truth of those quantities as a function of time, we were 
unable to compute any dynamic performance measures.  Note that it is necessary to use a dynamic 
performance measure to asses the tracking qualities of the recursive estimator (such as convergence, 
stability).  We can, however, remark qualitatively on the estimator's tracking: because of the random walk 
velocity arm dynamics model, there was an obvious "lagging behind" of the estimator whenever a sudden 
change in direction occurred.

\subsection{Practicality}

In the introduction we claimed that a system like this would be more practical to use than the usual tools. 
We set up an experiment: we render in the virtual 3D space (represented on the SGI screen using 
perspective projection) a small cube in a random location inside the arm's reachable space. The task 
consists of reaching this location with the hand, grabbing the cube and moving it to a new random location 
(Figure  \ref{Per-fig-game}).  It takes an experienced user between 5 to 20 seconds to complete the task. 
The difficulty in executing the task derives from two factors. First, sudden accelerations can cause the 
tracking to be lost, and second, the estimator sometimes locks on to an incorrect solution (a monocular 
projection of 2 links can have up to 4 possible solutions).  In either case, the user must then 'restart' the 
tracking from a predefined initial arm position. Furthermore, although rendered in a perspective view, it is 
still difficult to accurately perceive the position of the target. The displaying of XYZ scales aids this, but 
the user then moves his arm sequentially, along one axis at a time.  Using a 3D trackball instead of our 
system, the same task is typically done in less than 3 seconds. %When the frame rate of our system 
increases to 30Hz, we expect the task time to be comparable to that of the trackball. %However, with the 
use of a head mounted display capable of providing true stereoscopic imagery, the three dimensional visual 
feedback to the user would be greatly improved, and we suspect that it would then become more natural to 
execute the task with our interface rather than with a 3D trackball or another such device.
%We want also to study more sophisticated experiments able to exploit all the power of our system: for 
example, it will be easy to describe 3D position and velocity profiles. The same task will be almost 
impossible using a trackball.
     
\begin{figure}[h]
\centerline{\epsfxsize=4.2cm \epsffile{Perona_figs/game1.ps}}
\caption{An experimental task: the user has to grab hold of a virtual box and relocate it to a target position.  
The SGI display shows a perspective view of arm, box, and target location. To further aid the user, target 
and initial box locations are indicated on the XYZ scales as well }
\label{Per-fig-game}
\end{figure}


\Section{Conclusions and Future Work}

We have shown how it is possible to use computer vision techniques to track a human arm in 3D in an 
unencumbured fashion using a monocular view.  These techniques provide an intuitive human-machine 
interface which can be useful for such application areas as human factor engineering, where virtual object 
manipulation in 3D is necessary.

In the future we expect to increase the robustness of the system with
two improvements.  First, we can remove the assumption that the
shoulder position is fixed in 3D, and instead track it in the image
plane (perhaps with the use of a more anatomically correct model of
the shoulder kinematics). This will allow the projected model to fit
better to each frame, and hopefully avoid a lot of the mis-solutions
(convergence to the wrong 3D arm pose).  Second, with a better model
of arm dynamics, it may be possible to increase robustness without
increasing the frame rate.  There is much knowledge from studies of
human motion which we may be able to incorporate into our system.  For
instance, we could incorporate knowledge of joint limits
\cite{Per-lenarcicU94}.  There is also the knowledge that some
postures are more common than others , and that, say, when you are
reaching in free space, there is a 'standard' position for the elbow
\cite{Per-lacquanitiST86}.  Another example is the fact that for
ballistic arm movements there is a standard hand speed profile which
is common to all such movements, modulo a time and amplitude scaling
\cite{Per-atkesonH85}.


\Section*{Acknowledgments}

This work is supported in part by the California Institute of Technology; 
a fellowship from the ``Ing.A.Gini'' foundation;
the Office of Naval Research grant ONR NOOO14-93-1-0990;
an NSF National Young Investigator Award;
the Center for Neuromorphic Systems Engineering as a part of the National Science Foundation 
Engineering Research Center Program; 
and by the California Trade and Commerce Agency, Office of Strategic Technology.



