CHARM LAB ME20N2014/Mini Susana

Mini Susana

The Mirror Gripper

Project team members: Mini Racker and Susana Martinez

Mini (left) and Susana (right) with the
Mirror Gripper at the Haptics Open House.

Certain devices (like the surgical robots in the CHARM lab or the claws in typical arcade claw games) allow a user to manipulate the real world with tools other than his/her hands. For this project, we were interested in creating a robot with this capability, incorporating haptic technology so the user could control the device with more precision. Specifically, we wanted to build a robot that mirrors the gripping motion of the user. Using force-sensitive resistors, we created the Mirror Gripper. The Gripper is composed of two “fingers” that close a distance proportional to the force the user applies to a squeezable ball at any given moment. We wanted to make our creation wearable, allowing it to function as a low tech prosthetic. (We accomplished this by putting together slap bands, duron, and elastic to create an arm brace.) Finally, we wanted to add haptic feedback that would allow the user to feel when the robot “fingers” were gripping an object. Though we did not have time to implement this stage of the project, it would be relatively simple to extend our design to achieve this final goal; we would just have to fix two vibration motors to the ball the user squeezes and add commands for those motors to the code. In the end, the Mirror Gripper did much of what we wanted it to do, giving every user a fun and effective robotic gripping experience.


As we brainstormed ideas, we discovered that we were both interested in how mechanical devices mimic human motions. Gripping was a motion that we determined would be feasible to replicate with a haptic device given our limited time and materials, and would have applications in various fields. For instance, a device with gripping action that mirrors the user’s force input can function as a sort of prosthetic when the user has lost some ability to grip (by scaling the user’s force, the device can grip harder than the user can). Additionally, a haptic gripper could allow a user to grab an object in a distant location through teleoperation. Or, with many grippers responding to a single input, the user could handle several real-world objects with a single motion, an ability that might be beneficial in production. Designing the gripper so that it responds to the amount of force a user applies allows the user greater control over how the device interacts with objects. (The user might want the device to grip with varying forces or to adjust how the gripper moves depending on the object’s size.) Ideally, the device would also provide force feedback to the user when it is firmly gripping an object. With such feedback, the user would understand when she is applying exactly the right amount of force to hold an object. Ultimately, then, the goal of this project was to build a device that would respond to a user’s force and could hold an object the way a human can.


We designed the Mirror Gripper like an extension to the human arm. In that sense, it is sort of like a prosthetic device that could potentially assist a person unable to use enough force in their fingers to hold something. The finger-like design is reminiscent of a robotic hand in an extremely simple form. A much more advanced version would actually look like a hand, like the Bebionic 3 ( Since we were focused on a simpler version (the Bebionic 3 is extremely cool but also extremely difficult to create), our design more closely resembles claws from a claw machine game (example here: and claw toys (example here:


Hardware design

We designed the Mirror Gripper to be a wearable device, for which the hapkits are positioned upside down at an angle to mimic the appearance of a claw or two-fingered hand. In order to build the device this way, we modified the original hapkit design, decreasing material to make it lighter to wear.

We cut off some of the surface area of the base and added four holes to able to screw them to a surface, as shown in the file that corresponds to the ModifiedHapkit. To connect the hapkits, we designed the Haptic Board (see file “Haptic Board”) that was produced from a board of ¼” acrylic and a laser cutter and bent it to form a 140o angle. We redesigned the sector pulley (see file “SectorPulley”) to limit it to a total of 60o. The redesign was needed to scale the desired movement of the sectors.

Since the acrylic and attachments to the hapkits are quite heavy, we made the brace support out of materials that are lightweight but capable of holding the device without buckling. The supports were cut from thick durand boards. Smaller durand pieces were then hot glued to the supports and slap wristbands, which we chose to use since they can be be adjusted to each person’s arm. The stress ball was added to the design since it is easy for the user to hold in one hand and squeeze. (because it is squishable). Force sensitive resistors were attached to the ball and the arduino board in order to sense how much force a person was using to squeeze (the user had to place their middle finger and thumb on the FSRs).

Software design

The software for the Mirror Gripper is relatively straightforward. The two hapkits are not connected electronically; we simply uploaded the same code (with a few small variations) to each one. After calibrating the hapkits individually, we extended the ME20N hapkit base code by assigning a desired angle, theta, for the sector pulley. This angle is linearly dependent on the reading of the FSR, which we found varied between 0 (for no force) and approximately 650 (for the most force we could apply.) When the FSR reading is 0, the desired angle is -20, putting the hapkit handle far from the center of the advice (opening the gripper). When the FSR reading is maximal, the desired angle is 20, snapping the finger closed. (For the other hapkit, we had to provide the same action.) We also added code so if the desired theta ever exceeds 20 or is less than -20, it is reset to be within the bounds again. Then, we used a force feedback loop of the form: force = constant * (desired theta – current theta) + damping. Since the thetas have large values, we set the constant, k, to a small value. This function moves the handle to the desired position, with the damping smoothing the motion by preventing the motor from becoming unstable.


The user puts on the device by inserting her arm through elastic band up to the elbow, then closing the other snap band around her wrist. Before operating the device, each hapkit must be reset by pressing the rest button with the sector pulleys at the 0 position (because the position calibration tends to shift.) Then, the user should grab the ball, with her thumb on one FSR and her middle finger on the other. By applying force with those two fingers, she can control the robotic “fingers” on the device. The more she squeezes, the closer together the “fingers” move. As she operates the device, she can use the “fingers” to grab objects, then lift her arm to pick them up.

The weight of the Mirror Gripper did pose some challenges for making the device wearable. Though every user who tried was able to wear it, it was heavy and required a good amount of effort to hold. It was much easier to operate the device when the user supported it with the other arm. If we were to alter the device, we would lighten the apparatus (by whittling down the hapkit bases even more and making the acrylic base into a thinner frame). We would also put more time into making the arm brace, bending pieces of acrylic for the arm bands and drilling holes in them to attach the gripping mechanism. This would allow the user to wear the device without needing to exert lots of upward force.

Several people at the open house asked us if this device provides force feedback to the user. Though our current model does not, with additional time, we could improve the device by adding vibration motors underneath the FSRs. We would then program the gripper to respond when the desired position of the handle differed from the current position for more than a couple seconds, indicating that an object held between the grippers was hindering movement. When this occurred, the motors would provide vibration feedback to the user, allowing her to sense when the device was gripping an object.

How it's used:


Thanks to Professor Allison Okamura for providing parts and endless help with troubleshooting, to Akzl Pultorak for teaching us how to use Solidworks, to Jeanny Wang for her help 3D printing, and to the mysterious elf (one of Allison’s grad students) who printed parts for us after we had both left for Thanksgiving break. Thank you also to our Haptics classmates for being really excited about our project and allowing us to test the device on them.


  • This is the arduino file that reads one FSR, converts the user's force to a desired position for one "finger" (modified hapkit handle), and moves the "finger" to the desired position.
  • This is the adobe illustrator file for our modified sector pulley, which covers half the number of degrees as that of a standard hapkit and has cutouts on the handle to insert the neoprene pieces.
  • This is the file for our modified hapkit base, which is smaller than the original, and includes holes to screw it into the bended acrylic board.
  • This is the file for our acrylic board, to which both hapkits are attached.