| ![]() |
| Home | Projects | Publications | People | Links |
Virtual slave manipulator and environment
The slave/remote environment of the PHI system is generated by computer. We use an SGI Indigo2 machine running IRIX 5.3 operating system for this purpose. The choice of hardware (SGI Indigo2 machine) was primarily motivated by extensive graphical capabilities of Silicon Graphics machines. The SGI machine communicates with the master arm computer (Power Macintosh 7100) using an RS-232 serial line protocol at 38.4 Kbps. The data packet from the Macintosh to the SGI includes four joint rotations and four angular velocities of the joints of the master mechanism. The return data packet includes four sensory joint moments that are then used by the control system of the master arm as reference torque inputs.
The virtual or computer generated world consists of a variety of virtual objects. By a virtual object we mean either the slave or a virtual environment such as a wall, an obstacle, etc. Each virtual object consists of two parts: 1) its mathematical model and 2) its graphical representation. The mathematical model is used for calculating the location, orientation, and motion of the virtual object in the Cartesian space (the object's kinematic state). In addition, the mathematical model implements the interaction among the virtual objects such as contact forces between the virtual slave and a virtual environment and collision detection among various objects. The graphical representation of the virtual object is what the human operator sees on the screen. Accordingly, the virtual world is implemented as two UNIX processes. The first process is responsible for mathematical modeling and communication with the master arm computer. The second process renders graphical representations of the slave manipulator and various virtual objects representing remote environments. The graphical process uses OpenGL graphics library by Silicon Graphics, Inc. All software was written using object-oriented approach in C++. The two processes communicate with each other using shared memory as a form of interprocess communication (IPC).
The master arm has anthropomorthic design with a kinematic structure that is similar to the kinematic structure of the human arm. This similarity is by design, since the objective of the interface is to emulate the shoulder-elbow motion the operator's arm. Accordingly, the kinematic state of the virtual slave is a vector of four joint rotations and angular velocities. The master arm mechanically tracks the motion of the operator whereas the slave kinematics are updated based on the information supplied by the master arm computer. Therefore, the graphical image of the slave manipulator repeats the motion of the master arm. Except when there are time delays in data transmission, the motion tracking does not introduce any errors nor does it require any additional information about the dynamic parameters of the master. Thus, in our case, the tracking process does not necessitate complex models of the master or slave arms. With sensory force feedback, we model the interaction between the virtual slave and virtual environments as a resultant force vector applied at the "Hot Spot" of the slave. Subsequently, we use the Jacobian matrix of the slave to represent the resultant force as four sensory torques applied at the joints of the slave. These torques are then sent back to the master arm computer as a reference input for its force control system. Therefore, computation of the sensory feedback is greatly simplified and requires only kinematic information.
Punching a ball Yoyo Tablet drawingYou can also watch a video (830Kb, MPEG).
The contents of this page are the sole responsibility of the Systems Laboratory (Mechanical Engineering Department, SMU) and do not represent the opinions or policy of the university.
| SEAS | SMU |