Software Used to Control Master-Slave Haptics Experiment
- Created: Tuesday, 01 August 2006
Haptics, also known as “force feedback teleoperation,” attempts to provide environmental interactions through a robotic system. Users mimic these interactions with robotic arms. By varying the amount of force the haptic devices exhibit, a user can achieve the sensation of interacting with the system. As it allows a user to interface with a remote or virtual environment, the goal of haptics is to augment a user’s sensory feedback while performing a given task. In order to construct safer haptic systems, researchers at the Intelligent Machine Dynamics Laboratory (IMDL) at the Georgia Institute of Technology (Atlanta, GA) have built a series of master-slave devices, and utilize National Instruments’ (Austin, TX) LabVIEW 8.0 software and its various toolkits to control all feedback calculations, communication, control, and simulation, with the objective to investigate control difficulties that occur using a passive master with an energetically active slave.
In an ongoing experiment led by IMDL PhD student Ben Black, researchers developed a prototype planar haptic device that uses passive actuators to display forces. LabVIEW was chosen for its tight integration with hardware via its applications. The experiment is meant to address two aspects of haptic teleoperation: the effects of teleoperation over long distances by way of the Internet, and the problems of control and haptic interaction with a master robot that cannot provide a restoring force to the user.
Haptic systems can be active or passive. The difference is whether energy is added or removed from the system. Active haptics feature joints with motors, hydraulics (or some form of actuator that creates motion), add energy, and reflect virtual forces. However, they also, potentially, can overwhelm their users, causing injury. Passive haptic systems have brakes, dampers, or continuously variable transmissions that provide the user with feedback forces. Passive robots cannot force an action outside themselves, only slow or prevent an action, and they consume little power. In such a system, force spikes in a virtual environment cannot impact the actual environment or user. A passive system would, for example, allow users to virtually or remotely pick up a glass and accurately “feel” the resistance the glass has in their grip. National Instruments (NI) noted Lab-VIEW eventually could be used in applications ranging from virtual reality to experiments in artificial limbs.
Black used LabVIEW’s MathScript node and a formula node to enter in equations using the textual aspect of the program; the nodes then were used in the larger graphical simulations. Those graphical simulations allowed Black and his team to visualize applications done in parallel, to choose priority, and to monitor how often a particular task executes. All Internet communication utilized LabVIEW’s time-sensitive UDP protocols to minimize time-delay. The UDP communication code using the RT Communication Wizard was automatically generated and later optimized by hand.
As a teleoperation experiment, the platforms (real-time operating systems and hardware platforms) of the master and slave are often independent. LabVIEW (and NI’s Lab-VIEW-compatible (PXI) hardware, which Black also used) controlled both master and slave robots. The control of the master involves reading two quadrature encoders and an analog force sensor, and then commanding forces to either three or four magnetorheological brakes through a pulse-width modulation PWM amplifier. The current setup uses a one-degree-of-freedom linear motor as the slave device. Once basic functionality of the master was reached (reading positioning and force, translating those values into a global x-y coordinate system, and sending a control signal to the magnetorheological breaks), the focus turned to the master device’s control of the slave, where a linear motor was used for purposes of simplicity.
Implementation of the slave device followed typical operation of a motor and included a voltage input to produce a velocity output. The position was read using a high-resolution linear encoder and implemented a PID controller in Lab- VIEW Real-Time that runs on the NI PXI-8145 Real-Time controller using a PXI-6070E multifunction data acquisition card for I/O. The setpoint for the controller is provided by the x-position of the master and communicated to the slave controller via UDP.
In his experiment, Black used the LabVIEW simulation module to simulate control approaches with a model of the hardware. All feedback calculations, communication, control, and simulations were performed using LabVIEW and toolkits. The LabVIEW system identification toolkit was used to indicate and test the dynamics of the slave device experimentally. Two off-line simulations were done to test and evaluate the teleoperation controller algorithm to avoid damage to the hardware.