Wednesday, March 11, 2009

QUARC: Remote Haptic Teleoperation of a R/C Truck

This haptic teleoperation demonstration harnesses the latest features of the soon-to-be-released QuaRC 1.2. It uses of a commercially available Novint Falcon haptic input device to haptically drive an off-the-shelf radio-controlled truck (R/C truck) similar to the one illustrated below.

The setup consists of two QUARC models, each running on a different platform, and communicating with each other through wireless TCP/IP. The first QUARC model interfaces to the Novint Falcon, represented below, and runs on a Windows PC or laptop to which the Falcon is connected using a USB port.

This QUARC model reads the Falcon end-effector handle position and converts it to steering and throttle commands to be sent to the R/C truck. Additionally, it also makes the Falcon ouput and emulate any inertial force felt by the remotely controlled truck in motion, due to, for example, acceleration, deceleration, bumps in the terrain, and/or impacts when hitting an obstacle. This, therefore, renders a haptic driving sensation to the teleoperating user.

The second QUARC model runs on the R/C truck itself! This is achieved by retrofitting the R/C vehicle, as displayed below.

As depicted above and also in more details in the picture below, the R/C truck is equipped with a Gumstix Verdex and Robostix system, now both supported by QuaRC 1.2. Furthermore, a wifi networking board is also connected to the Verdex for wireless communication capabilities. The second QUARC model runs on the Verdex board (using the new QuaRC Linux ARM target), which interfaces to the Robostix in order to generate the two PWM signals (as commanded by the Falcon input device) controlling the truck steering and throttle R/C servos. Additionally, a three-axis accelerometer is also mounted on the vehicle so that its inertial forces can be sensed. The resulting acceleration signals are acquired using three of the Robostix analog inputs.

It should be noted that the embedded QUARC controller running on the Gumstix Verdex starts automatically at boot (i.e., when the R/C truck battery is plugged in) and acts as a communication server. Once connected to the other QUARC model, interfacing to the Falcon and acting as a communication client under Windows, the Verdex embedded controller receives the PWM R/C servo commands and sends in turn the truck's three-axis acceleration data.

It should also be highlighted that each QUARC model, running either in Windows or in Linux on the Verdex, is also communicating to its respective Simulink diagram using Simulink external mode. All of Simulink external mode features are fully suported by any of the QUARC targets (e.g., Windows, Linux ARM, QNX), which allows for, for example, on-the-fly parameter tuning, online plotting, and data collection.

Further developments of this described haptic teleoperation system could include adding a Virtual Reality simulator, using the QUARC currently-being-developed OpenGL-based Visualization toolbox.

No comments: