Development of A Visual Space-Mouse: Confe Nce On Robotics& Automation May
Development of A Visual Space-Mouse: Confe Nce On Robotics& Automation May
2528
To gain tracking of the desired hand, a motion after that the vertical view. Both views are treated in
guided initialization sequence was added. In the ini- one cycle.
tialization sequence, the user waves the controlling Because the blob search is run on a host computer,
hand in the workspace. The image processing unit the image has to be transmitted from the Datacube to
records the image differences for several successive im- a workstation over a bus network, The bus network is
ages and creates a map of these differences. After ap- the bottleneck of the whole image processing unit, as
plyinga hlurring filter tosuppress pixel-noise, result- illustrated in Figure 2. By shrinking the image to &
ing in spikes in this map, the image processing unit of the original size, much transfer time can be saved
chooses the control blob. The blob in the current im- with an acceptable loss of accuracy.
age that is closest to the region that changes most is
chosen to be the control blob.
The values of this blob are stored in a global data ~.—+
structure to make it accessible to the robot control
unit. Blobs other than the control blob are ignored H—1
~
Digitizer
-
PUMA 560
Robot
‘---1
in the controlling process. To ensure tracking of the
hand after initialization without any sudden changes
in the control blob, the bounding box is only allowed
to change up to SCb pixels each cycle in each direction.
In the current implementation, this threshold
is set, to 5 pixels. This causes the blob to get stuck
value
‘SBUS
v
[o VME
, u
<
SBUS> (&;,p”ter
2529
mogeneous coordinate transform from the world co- hand abollt the optical axis of each camera, can be
ordinate frame to the initial position and orientation observed directly from the images. The third orien-
of the tool, and T’UO~taM~is a variable homogeneous tation, the rotation of the hand about the horizontal
coordinate transformation matrix that is continuously axis, has to be computed from the image data. The
updated, thereby causing the manipulator to move to value of the orientation of the (constant sized) hand
a goal position and orientation, could be computed, for example, from knowledge of
the size, position, and orientation of the projections
of the hand in the two images.
Every time these new values are passed to the con-
\ ./l-\\ trol unit a new transform matrix is created with re-
spect to the movement of the hand, This matrix is in-
‘,,,,,.,,. )
cluded in the coordinate transformation equation used
h.,, to control the robot. The equation is solved for T6,
the joint, values of the manipulator are computed and
-tif the results are passed to the trajectory generator.
T,,dr,
To reach a point in space with the manipulator, you In our laboratory, only one image processing hard-
have to create the position equation, solve for T6 in ware device was available. Both camera views had to
Cartesian space and transform the solution into joint be processed by switching between two video channels.
space to achieve the desired values of the joint angles Combined with the transfer time via bus system (see
of the manipulator. With these joint angles the ma- Figure 2) this was a very time consuming procedure.
nipulator is able to reach the destination point. The So the biggest problem with the two-camera version
trajectory generator in RCCL will then plan a path to was the speed of the image processing unit. The whole
the desired joint angles and update it as necessary. network slowed down the performance to 3 fps (frames
The only inputs for the control unit are the two per second). This forced the user to slow down hand
blob data-structures, described in Section 2.1. These motion in an unnatural way,
data-structures represent the spatial position and ori- The use of a second image processing device would
entation of the object being tracked. The controlling increase the image processing performance to the level
unit looks at the center of the blob rectangles in the seen in the one-camera version described below, al-
image planes, which each contain a pixel-coordinate- lowing the user to move the hand at a natural speed.
system. The center of the camera views are said to Nevertheless it could be shown that the tracking of
be the origin of the coordinate systems. These pixel the hand and controlling of the manipulator worked
coordinates are translated into global coordinates for quite nicely in all six dimensions.
the manipulator. This is done by directly mapping the
movements of the blobs into movements of the manip- 3.2 Space-Mouse with one Camera
ulator: blob motion in the image causes the manipu-
lator to move in the corresponding direction. In some cases limitations have to be applied to
The orientations of the hand can also be observed the structure of the visual space-mouse, as described
(see Section 2.1) and are transformed into manipula- above. The solution of this obstacle leads to a one-
tor movements. Two orientations, the rotation of the camera-version of the visual space-mouse.
2530
By removing the overhead camera, any information els. Those action are actuating the gripper and rotat-
about the depth of the controlling hand is lost. Any ing the whole manipulator along its vertical axis.
rotation with the rotation axis parallel to the image By the use of the two planes, described previously,
plane will just change the height and the width of the only a cubic space in front of the arm can be accessed.
object. Thesign of the rotationc annot redetermined With the rotation along the z-axis this cube can be
easily. There are three dimensions of an object in a rotated and so the whole area around the manipulator
plane that are easily and robustly detectable: height, is accessible. The rotation is initiated by rotating the
width and rotation in the image plane. The control- hand in the plane of the image. This causes the robot
ling task of a manipulator with six degrees of freedom to turn in steps of 10 degrees.
is therefore very difficult with just 3 values. To han- The gripper movement controls the opening and
dle this problem but keep the user- interface intuiti~~e closing of the gripper. This movement is initiated by
and simple, a state machine was implemented in the rotating the hand in the horizontal plane as shown
controller. in Figure 5. Placing the gesture for the gripper in
The state machine consists of three different levels: the transition level has the advantage that, any move-
two control levels and one transition level. The control ment of the hand has no effect on the position of the
levels are used to move the manipulator. The transi- manipulator, which will keep the gripper fixed during
tion level connects the two control levels and affects actuation.
m
the gripper of the robot arm.
When the palm of the hand is facing toward or away
from the camera, the state machine of the controlling
unit is in one of two control levels. In each control
level the manipulator can be moved in a plane, by
moving the hand in the up-down direction or forward-
backward direction. The control levels differ in the ori-
entation of the planes the manipulator can be moved
in. The plane of control level 2 is orthogonal to the Figure 5: Control level gesture (left), transition level
plane of control level 1 (see Figure 4). The planes gesture (middle) and gripping gesture (right).
intersect at the manipulator.
2531
The origin of a control levei plane is reset to the rMr- 6. Implementation of a state machine in the two-
rent position of the manipulator when the state ma- camera version of the space-mouse
chine enters that control level. This has the advantage
that, positions that are out of reach within the first at-
tempt can be reached in the second attempt just by 4 Conclusions
going into the transition mode, moving the hand to
a more convenient position and then returning to the The objective of developing a high-level visually
same control level. guided interface has been realized. As the experiment
The state machine always starts in control level 1. described in Section 3.3 showed, simple remote tasks
To visualize the state of the state machine of the con- can be performed with minimal training or teaching.
trol unit, the rectangle around the hand on the moni- This is a good demonstration of intuitive and conve-
tor is shown in a state-dependent color, nient way in which a 3D interface can be operated.
Additionally, several possible extensions to this im-
3.3 Discussion plementation of the visual space-mouse have been pro-
posed that would make it an even more powerful in-
An experiment was performed to validate the func- terface for control and manipulation.
tions of the one-camera space-mouse. The task was to
assemble a house out of three randomly placed wooden
pieces. Several persons have been chosen to perform References
this experiment with minimal training, and each was
able to successfully finish the task. The experilnent [1] G. Hirzinger, B. Gombert, J. Dietrich, and
showed that the state machine clescribed above was LIS- V. Senft, “Die Space Mouse - Eine neue
able. The biggest problem was that the gesture for the 3D-Mensch-Maschine-Schnittstelle als Spin-Off-
gripping movement was found to be unnatural. Most, Produkt der Raurnfahrt ,“ in Jahrbuch fir Optik
und Feinmechanik (W. D. Prenzel, cd.), Berlin:
of the candidates not only turned the hand in the hor-
Schiele und Schon, 1996.
izontal image plane, reducing the width of the hand
below width.3.4 as shown in Figure 5, but also turned [2] G. Hirzinger, B. Gornbert, and M. Herrmann,
their wrist. By doing so, they overstepped heigh-3-4 “Space mouse, the natural man-machine interface
and inadvertently transitioned into a control level. for 3D-CAD comes from space,” in ECUA ’96 Con-
One solution for this problem would be to introduce ference for CATIA and C’ADAM users in Europe,
(Goteborg, Schweden), 1996.
a third control level, as both control levels have been
exhausted in terms of robustly detectable intuitive ges- [3] P. K. Pook, Telea,ssistance: Using Deictic Gesture
tures. But this would require a significant change in to Control Robot Action. PhD thesis, University of
the state machine, and the control would become less Rochester, 1995.
intuitive. Thus, it has not been irnplernented. An- [4] V. I. Pavlovic, R. Sharma, and T. S. Huang, “Vi-
other possibility would have been to change the grip- sual interpretation of hand gestures for human-
ping gesture. This was not possible because of the computer interaction: .4 review, ” IEEE Trans-
limited possibilities of gestures that were bound to actions on Pattern Analysis and Machine Intelli-
the robustly detectable dimensions: position, size, and gence, vol. 19, pp. 384-401, July 1997.
orientation of the controlling blob, [5] T. J. Olson, R. J. Lockwood, and J. R. Taylor,
“Programming a pipelined image processor,” Jour-
3.4 Future Work nal of Computer Vision, Graphics and Image Pro-
cessing, Sept. 1996.
Both versions of the space mouse have several areas
for improvement. Some of them are as follows: [6] B. K. P. Horn, Robot Vision. Massachusetts Insti-
tute of Technology, 1986.
1. Implementation of a motion model of the hand
[7] J. Lloyd and V. Hayward, Multi-R CCL User’s
2. Segmentation of the hand blob, for higher resolu-
Guide. Montr+al, Qu6bec, Canada, Apr. 1992.
tion control of the robot
3. Including sensor data for achieving teleassistance [8] P. Leven, “A multithreaded implementation of a
robot control C library,” Master’s thesis, Univer-
[3] (e.g. collision avoidance)
sity of Illinois at Urbana-Champaign, 1997.
4. Implementation of a high-level gesture language
[9] M. Spong and M. Vidyasagar, Robot Dynamics
5. Adding a routine for filtering out the background
and Control. John Wiley & Sons, 1989.
2532