CHARM LAB ME327/Jared And Sam

Jared And Sam



Isometric view of our 2-DOF planar device.

A Planar 2-DOF Haptic Device for Exploring Gravitational Fields

Project team members: Jared Muirhead, Sam Schorr

For our project, we built a planar, 2 degree-of-freedom haptic device for educational use. The design is based on a 5-bar mechanism. We wanted to build a device that would have the versatility to teach various concepts, but would still be relatively affordable (as the goal is implementation in classrooms). For this reason, we designed a device without a graphical display, that instead uses physical slides that can be changed by hand in order to demonstrate different haptic environments. The core learning objective of our device was to teach about potential fields, such as gravitational or electrical fields. However, it is important to note that the device is adaptable to virtually any planar task (such as navigating mazes or drawing mathematical functions). After building the device, a group of 50 high school students and several high school teachers tested it and responded positively as to its potential for classroom teaching.

Introduction

The objective was to create a device that would allow students to feel gravitational or electrical fields. Since this concept directly relates to force, it is a logical use of haptics. No sensory substitution or training is needed; the user directly experiences real forces. Additionally, gravitational forces naturally result in orbital motions which can be easily observed by the free motion of the end-effector. Williams et al. [1] discussed how haptic devices are especially well suited to the teaching of high school physics, owing to the importance of force in physical systems. He begins by noting that at the time of publication (2002), haptic systems for education were virtually non-existent. This study provides encouraging results for our proposed project, including student feedback, of which the overwhelming majority asserted that the experience was effective in accomplishing educational goals. Wies et al. [2] developed a device and environment for displaying electric fields, though they only used one charge with a uniform charge density sphere. This paper explicitly shows the utility of a haptic device in teaching a force-field type environment.

Background

Many 2-DOF devices have been built before, but predominately with different design criteria from out project. The first design option that we dismissed was a serial linkage. With a serial linkage, sequential links must carry the motor to actuate the next link, or a complicated cabling solution must be used. In our case, we desired to be able to give the system initial conditions and watch the resulting orbit of the end-effector. If the device was carrying large amounts of mass externally, then the inertia of these masses would cause the device motion to be largely governed by the device dynamics rather than the virtual dynamics. Additionally, we desired a system with symmetric linkages so that users would not be distracted by the asymmetry of the device when observing free motion of the end-effector. For this reason, we ruled out a design similar to the MIT Manus [3]. In their paper, Campion and Hayward [4] introduce a 2-DOF, direct drive device called a pantograph. This design is essentially a 5-bar mechanism with one bar grounded. Motors actuate two base bars, and the user places his or her fingers at the intersection of the free bars.

Methods

Mechanical Design and System Analysis

We began by adapting the design of the pantograph from Campion and Hayward [4].

Figure 1. Diagram of the pantograph, Campion, 2011.

The device developed in the paper is relatively small, having a workspace of about 60mm x 110 mm. For our application, we wanted users to be able to explore a workspace the size of a standard 8.5 x 11 sheet of paper (216mm x 279mm).

First, we used the inverse kinematics of the device to design a linkage capable of reaching the entire workspace. The grounded link is 10cm and the moving links are 25cm each. The linkage is shown at the four extremes.

Figure 2. Linkage at extremes of workspace.

Next, we evaluated the Jacobian at each point in the workspace to ensure the device is well conditioned. Our design has maximum condition number 3.4, which is relatively small, and is comparable to that from the original design in the literature.

Figure 3. Condition number of the Jacobian over the workspace.

Furthermore, to ensure a compelling haptic sensation, we wished to maximize the displayable forces at the end-effector. The workspace was discretized into 100 points. At each point, we determined the maximum force that could be displayed in 20 evenly spaced directions, based on the motor stall torque. We then took the smallest of these maximum directional forces at each point and plotted them over the workspace. Using only direct drive (no mechanical advantage) of Maxon RE25 motors, we obtained the following plot:

Figure 4. Maximum displayable force in an arbitrary direction over the workspace (direct drive).

For most of the workspace, the maximum displayable force that we could guarantee in an arbitrary direction was <0.4N, which was considered too small to be compelling. In light of this, we opted to drive the links with a capstan. Using the a capstan ratio of 11.15, we obtained the following maximum force plot:

Figure 5. Maximum displayable force in an arbitrary direction over the workspace (with capstan).

Here, the device is capable of displaying 3 to 4 N in an arbitrary direction over the entire workspace, which is considered more than sufficient for our purposes.

We fully modeled our design in SolidWorks. All links and base pieces are laser-cut acrylic, while the capstan pulley on the motor shaft is 3D printed (similar to ABS).

Figure 6. Isometric view of device.

The user holds the end-effector shaft, which moves over the flat surface. After construction, we decided that we needed to support the end-effector with a caster ball in order to prevent the links from bending while supporting the weight of a user's hand.

Both links are driven with capstan drives, which were re-purposed from the haptic paddles. This is advantageous to those who may already be in possession of haptic paddles. If someone possesses a haptic paddle, he/she could create our device with only some acrylic and a few bearings.

Figure 7. Detail view of capstan.

Figure 8. Isometric View of the laser cut and assembled device.

Mechatronic Design and Control

We used an Arduino Uno for computation and control. From the haptics class, we also had an Ardumoto motor shield. However, we were concerned with overheating this board if running at stall torque on both of our motor simultaneously. For this reason, we ordered a Pololu Dual VNH5019 Motor Driver Shield. However, this motor shield was designed to use Pin 2 (one of only 2 interrupt pins) as a motor direction pin. We initially tried implementation with the default configuration, but quick motions of the motor shaft resulted in missing encoder ticks and a drift of our device position estimate, because one of the encoders was not wired with an interrupt pin. Because of this, we used the Pololu Motor Shield library to change the default pin assignment. Though this vacated pin 2 on the Arduino board for the encoders, we still had the problem that the motor shield was hardwired to accept its motor direction command on the second pin. For this reason, we did not directly stack the shield on the Arduino; we instead used a breadboard to route wires between the Arduino, the Pololu motor shield, and our Ardumoto board that was holding our encoder wiring. This allowed us to use whatever pins we wanted to drive the motor driver board rather than being forced to use corresponding pins on the motor driver board and the Arduino.

Figure 9. Pololu Motor Driver Shield, Arduino Uno, and Ardumoto board from left to right.

The Pololu Motor Driver Shield requires a motor command output between -400 and 400. Our code determines a needed force at the end-effector which is directly related to motor torque, and thus, motor current. Because this motor driver is voltage-commanded, our next step was to calibrate the voltage command to a to a current. We commanded several voltages, locked the motor shaft, and measured the current. The following plots show the result of the calibration.

Figure 10. Linear fit of motor current to Pololu Motor Driver command.

At this point we had all necessary information to begin writing the code. The haptic loop consists of the following steps:

- Read encoders
- Convert encoder counts to motor shaft angles, and then to kinematic angles
- Use the forward kinematics to determine end-effector position
- Based on position and virtual environment, determine end-effector force
- Update the Jacobian based on the current position of the end-effector
- Compute motor torques from the force required and the Jacobian
- Convert the motor torque into current
- Convert the current to motor driver commands

The rate of this loop was not explicitly controlled, but rather was allowed to run as fast as possible.

Educational Demonstration

To showcase the educational benefit of this device we created different environments for users to explore. The simulations consisted of massive objects of varying size, mass, and location. Because electrical Coulomb attraction/repulsion is mathematically identical to gravitation, by changing the sign of the mass, we also simulated repulsive electrical fields.

When outside an object, the force from a the mass is determined from,

F = G*m1*m2 / r^2

Where G is the gravitational constant (in normalized unit of N*m^2 / mass^2 ), m1 is the mass of the object located at the end-effector (arbitrarily set to be 1), m2 is the mass of the body in the workspace and r is the center-to-center distance of the body and end-effector.

Assuming the objects have uniform density, the force within the object is given by,

F = G*m1*m2 * r / radius^3

where radius is the radius of the object. This strategy makes the experienced force smooth, with greatest forces experienced at the edge of the object, decreasing linearly toward the center.

These different environments were created in visual form as different slides that could be inserted into the physical work space. We used MS PowerPoint to make the slides. We envision this device being used for educational purposes in environments where having a dedicated display might not be practical. The slides corresponding with the four programmed environments are shown below.

Environment A is a single massive object located at the center of the workspace. The user feels the force increase linearly with distance toward the edge of the object and then decrease with the inverse square of the distance after exiting. Letting go of the end-effector returns the position to the planet center.

Environment B is two electric charges. Assuming the end-effector has a positive charge, the user can feel repulsive forces from the left and attractive forces from the right.

Environment C is a two-mass system where one is more massive than the other. The user can feel stronger forces from the Earth, and weaker forces from the moon.

Environment D demonstrates an orbit. The Sun at the center attracts the end-effector. By moving tangentially to the attractive force and letting go, the device orbits around the Sun. In an ideal system, this orbit would persist indefinitely, but do to frictional losses, the orbit degrades. We found that adding extra mass on to the end-effector improved how long the orbit persisted.

The video below shows the four environments sequentially.

These 4 environments are a small sample of what could be accomplished with this device. A teacher could simply program an arbitrary environment with our framework, and then create a physical slide for it by printing an image on a piece of paper.

Results

The device was demonstrated at an open-house event with 50 high school students and other visitors. Students' opinions of the device were largely positive. Environments were rendered very smoothly, and some of the users even thought that the device was being controlled with magnets. Several teachers commented on the potential efficacy of the device in the classroom, also citing the benefit that the device does not need a computer, monitor, or other display.

The device ran completely error-free for over 2 hours. The use of a caster ball at the end-effector meant that users did not need to be careful about supporting the weight of their arm, and the device was able to handle any applied load easily. Additionally, there was no encoder drift over time. At the end of the session, the forward kinematics were still accurate.

Future Work

The biggest drawback of the current implementation is orbital motions. As the device moves from one side of the workspace to the other, linkages build up linear and rotational momentum. The force computed to apply at the end-effector has no inertial compensation. For this reason, and because of friction, orbits damp out quickly. We were able to solve this issue partly by adding a large mass to the end-effector. In this way, the mass of the end-effector was increased relative to the mass of the device and orbits were "carried through" for a longer time. Additionally, if we used a higher quality caster ball, it is possible that this would help the feel of the device in all aspects.

Acknowledgements

Thanks to Prof. Allison Okamura, and teaching assistants Ann Majewicz and Nick Colonnese.

Files

CAD Model (complete assembly under Robot.sldasm): Attach:JNM_SS_Cad_model.zip Δ

Arduino Microcontroller Code: Attach:JNM_SS_Final_Code.zip

Matlab Simulations (forward kinematics, inverse kinematics, simulation of tracing the workspace boundary, generation of Jacobian conditioning, maximum/minimum force): Attach:JNM_SS_Matlab_Simulation.zip Δ

Price list of main items used. Those not included were obtained for free. Our total came to $243.96. Attach:PriceList.zip

References

1. R.L Williams, M-Y. Chen, and J.M. Seaton, "Haptics-Augmented High School Physics Tutorials", International Journal of Virtual Reality, vol. 5, no. 1, 2002.

2. E. Wies et al., "Web-based touch display for accessible science education," Haptic human-computer interaction, pp. 52-60, 2001.

3. Hogan, N.; Krebs, H.I.; Charnnarong, J.; Srikrishna, P.; Sharon, A.; , "MIT-MANUS: a workstation for manual therapy and training. I," Robot and Human Communication, 1992. Proceedings., IEEE International Workshop on , vol., no., pp.161-165, 1-3 Sep 1992

4. G. Campion. "The pantograph MK-II: a haptic instrument," The Synthesis of Three Dimensional Haptic Textures: Geometry, Control, and Psychophysics, pp. 45-58, 2011.


Appendix

Checkpoint 1

The goal of the first checkpoint was to have the mechanical design conceptually finalized.

We began by adapting the design of the pantograph, a planar haptic device developed by G. Campion in "The pantograph MK-II: a haptic instrument," The Synthesis of Three Dimensional Haptic Textures: Geometry, Control, and Psychophysics, pp. 45-58, 2005.

Figure 1. Diagram of the pantograph, Campion, 2011.

The device is essentially a 5-bar mechanism where link 5 is grounded, joints 1 and 5 are actuated, and joints 2 and 4 are passive. The parallel design allows larger end-effector forces than would be possible with a serial manipulator.

The pantograph developed in the paper is relatively small, having a workspace of about 60mm x 110 mm. For our application, we wanted users to be able to explore a workspace the size of a standard 8.5 x 11 sheet of paper (216mm x 279mm).

First, we used the inverse kinematics of the device to design a linkage capable of reaching the entire workspace. The grounded link is 10cm and the moving links are 25cm. The linkage is shown at the four extremes.

Figure 2. Linkage at extremes of workspace.

Next, we evaluated the Jacobian at each point in the workspace to ensure the device is well conditioned. Our design has maximum condition number 3.4, which is relatively small, and is comparable to that from the original design in the literature.

Figure 3. Condition number of the Jacobian over the workspace.

Furthermore, to ensure a compelling haptic sensation, we wished to maximize the displayable forces at the end-effector. The workspace was discretized into 100 points. At each point, we determined the maximum force that could be displayed in 20 evenly spaced directions around the end-effector., based on the motor stall torque. We then took the smallest of these maximum directional forces at each point and plotted them over the workspace. Using only direct drive (no mechanical advantage) of Maxon RE25 motors, we obtained the following plot:

Figure 4. Maximum displayable force in an arbitrary direction over the workspace (direct drive).

For most of the workspace, the maximum displayable force that we could guarantee in an arbitrary direction was <0.4N, which was considered too small to be compelling. In light of this, we opted to drive the links with a capstan. Using the same capstan mechanical advantage ratio from the haptic paddle (~20), we obtained the following maximum force plot:

Figure 5. Maximum displayable force in an arbitrary direction over the workspace (with capstan).

Here, the device is capable of displaying a minimum of 7N in an arbitrary direction over the entire workspace, which is considered more than sufficient for our purposes.

We have fully modeled our design in SolidWorks. The parts shown below will be laser-cut acrylic.

Figure 6. Isometric view of device.

The user holds the end-effector shaft, which moves over the green surface. As we begin assembly, if we find the links to be too flexible in bending, we might replace the end-effector shaft with a ball caster to roll over the surface and support the link weight.

Both links are driven with capstan drives, which were re-purposed from the haptic paddles. This is advantageous to those who may already be in possession of haptic paddles. If someone possesses a haptic paddle, he/she could create our device with only some acrylic and a few bearings.

Figure 6. Detail view of capstan.

Checkpoint 2

The goal of the second checkpoint was to build the body of our haptic device. We used black acrylic for a desirable appearance. It took a few iterations of the capstan pulley to make sure that we had the clearance between the motor pulley and sector pulley correct. The only thing left to do for building the device is decide on a caster ball attachment method for the end-effector.

We also ran the cabling for the capstans and verified that the device moves freely through its range of motion.

Additionally, we started the mechatronic design of our system. One of our main goals was to make sure that we had the capability to drive both motors and read encoders at the same time. This was not a default capability using our motor driver shield and our encoders. Each encoder needed to use at least one of the arduino interrupt pins in order to function correctly. Since there were only two interrupt pins on the arduino, we used one interrupt and one normal pin for each encoder. However, the default motor shield was setup to use one of the pins that we needed for interrupts. To bypass this issue, we modified the library of the motor shield to make it output the desired signal on a different pin. However, since the motor shield was hardware setup to receive the signal on the encoder pin, we couldn't directly mount the motor shield on the arduino. For this reason, we used a breadboard to route wires between the arduino, motor shield, and our ardumoto board that was holding our encoders. This allowed us to use whatever pins we wanted rather than being forced to use corresponding pins on the motor driver board and arduino.

We then wanted to check how the commanded voltage of the motor shield corresponded with torque of the motor. We used different commanded voltages with the built in functions of the motor shield. We then observed the current being used by the motor to find what torques the motor was applying at different voltages. In this way, we will be able to command our desired forces.

Checkpoint 3

The first thing we did for checkpoint 3 was to address any issues we thought might manifest from checkpoint 2. The main things we were concerned about were the efficacy of the caster wheel and the slipping of the drive wire on our capstan pulleys. To solve these possible issues, we created new capstan pulleys that had grooves. These grooves caused the wire to have a greater contact patch so that there was no risk of the wire slipping. We also obtained a new caster wheel that rolled better than the first.

To specifically address our checkpoint 3, we completed the project by programming virtual environments.

We wrote code to allow placement of masses at arbitrary locations in the workspace. We also selected the mass of these objects and the gravitational constant for each simulation. Because electrical Coulomb attraction/repulsion is mathematically identical to gravitation, by changing the sign of the mass, we can also simulate repulsive electrical fields.

When outside an object, the force from a the mass is determined from,

F = G*m1*m2 / r^2

Where G is the gravitational constant, m1 is the mass of the object located at the end-effector (arbitrarily set to be 1), m2 is the mass of the body in the workspace and r is the center-to-center distance of the body and end-effector.

Assuming a constant mass density, within the body the force is given by,

F = G*m1*m2 * r / radius^3

where "radius" is the radius of the object. This strategy makes the experienced force smooth, with greatest forces experienced at the edge of the object, decreasing linearly toward the center.

These different environments were created in visual form as different slides that could be inserted into the physical work space. We wanted to envision this device being used for education purposes in environments where having a dedicated display might not be practical. In this way, different environments can be visually and physically observed. The slides corresponding with the four programmed environments are shown below.

Environment A is a single massive object located at the center of the workspace. The user feels the force increase linearly with distance toward the edge of the object and then decrease as the inverse square. Letting go of the end-effector returns the position to the planet center.

Environment B is two electric charges. Assuming the end-effector has a positive charge, the user can feel repulsive forces from the left and attractive forces from the right.

Environment C is a two-mass system where one is more massive than the other. The user can feel stronger forces from the Earth, and weaker forces from the moon.

Environment D demonstrates an orbit. The Sun at the center attracts the end-effector. By moving tangentially to the attractive force and letting go, the device orbits around the Sun. In an ideal system, this orbit would persist indefinitely, but do to frictional losses the orbit degrades. We found that adding extra mass on to the end-effector improved how long the orbit persisted.

The video below shows the four environments sequentially.