This repo contains the CAD and ECAD files needed to construct the force sensor as described in the our paper.
It is organized in the following manner:
- Dual Force Sensor on Tool Assembly (Cadiere_Forceps.sldasm)
- Single Force Sensor Assembly - (large_needle_driver_plus_mounting.sldasm)
- Calibration Assembly (calibration_setup.sldasm)
The most basic assembly which contains the important components to build the force sensor is found in the Single Force Sensor Assembly. The Calibration Assembly contains the designs for two fixtures that are meant to be mounted on to 3-axis translating stages. Please adapt these shapes to your own calibration set up or build your own.
- Force sensor board (ALPS2)
- Amplifier circuit (amplifier_board)
- component library (Parts.lbr)
- Arduino to ROS using Serial (force_sensor_ROS_interface)
The Arduino code requires installing the ROSserial library and the basic linear algebra library. It will send the force values in the local frame of the sensor to ROS as topics.
- script to resolve forces into robot frame (compute_pose.py)
This ROS script will compute the estimated gripper pose in the robot base frame and resolve the force measurements from each sensor frame into this base frame. To correctly compute the forces the min_angle variable should be defined in the compute_jaws_pose function. This must be set so that the script can adjust the reported gripper angle appropriately when is grasp an object. It was developed for dVRK 1.7.
We have you Protolabs for manufacturing the metal components of the force sensor design. Specifically the base is best manufactured using 3D printing with aluminum, while the sensing plate and the gripper jaw can be machined in aluminum.
The optional strain relief can be 3D printed using a high-resolution 3D printer. We have tested the Objet30 in Vero White.
For the PCBs we have used OSHPARK to manufacture the bare boards.
For the for sensor PCB leads, we recommend using 30ga wire. We last purchased them from Adafruit in single rolls.