Shear
Haptics
overview
The two main portions of this project include the design the mechanical structure of the device, and the integration of the haptic feedback with a virtual environment.
Prototyping
My goal for the design was to use few actuators to create shear movment about the grips of the controllers while keeping the device handheld and non-invasive. To achieve the linear motion of the grips, I considered many actuation schemes such as; linear actuators, worm gears, gears, belt drives. I decided to use a timing belt system actuated by a single high torque servo motor. The belt driven system gives the advantage of displacing the motor location away from the handle while still achieving strong linear force through the grips. The timing belt attaches to a set of carts guided by steel shaft rails. These shafts would function as a skeletal structure of the device as well as guide the grips in a linear path up and down the device. The second prototype increases efficiency and confort by slimming down the size of the mechanism while increasing the size of the grips.
Prototypes
Actuation
The actuation of the device is provided by a single 35kg/cm servo motor controlled by an arduino uno microcontroller. The servo drives a timing belt that attaches to and drives the grips. Each grip is designed to have a -10mm to 10mm travel range. I mounted and tested othe motor types. Using a stepper motor provided a decent amount of speed to the grip movement, but did not provide nearly enough torque to create a haptic feel. A brushed DC motor was tested and proved that it could provide torque, but did not have a sufficient ammount of speed or control for rapid testing. I added a belt gear drive to the servo system in attempt to increase its speed but keep a decent amount of torque, but the servo would stall from resistance torque from the grip.
Tracking
To impliment tracking for the haptic device, I 3D printed a mount to hold an oculus rift touch controller to the top of the haptic controller.
Interfacing
I used Unity game enigne to create a VR demo environemnt to integrate with the device. I'm using serial communication to read and write signals from Unity to the arduino to sync up to impacts in VR to the haptic feedback of the controller. I use Unity to design a VR sword that I can track the velocity data and collision status to determine the type of collision and send the appropriate status flags to the arduino to actuate the motor in the controller.
In action
Here is a clip of my project in action at The Museum of Science and Industry during Robot Block Party. Here, visitors of Chicago MSI get to see and experience robotics projects built by students from local Universities. I got to field test my VR swordfighting demo with visitors all day, gathering feedback from civilian perspectives and learning the robustness of the mechanisms of the device.