ssg48 adaptive gripper bilateral teleoperation

Force sensitive grippers for teleoperation and imitation learning


Bilateral teleoperation is a concept that Involves two-way communication where both the operator and the remote device send and receive feedback. The operator controls the device remotely and receives sensory feedback (such as force) from the device to adjust their actions.

The two grippers are virtually coupled to each other, allowing either to act as the master (the haptic interface) or the slave (the manipulator) in the system. We are not using a force sensor at the grippers but are relying on proprioception.



These kind of setup is perfect for:
* Teleoperation
* Imitation learning
* Virtual Environments
* VRΒ 

In example in this clip it is used on 2 SSG48 grippers capable of running that kind of algorithm.

2 ways we can run it:
* Perform PD calculations on PC
* Perform PD calculations on BLDC drivers.

From testing we found that doing calcs on PC works better in case of grippers.

We are using these formulas, we got them from amazing Ben Katz paper, creator of mini cheetah quad: Link to the paper

 𝜏1,𝑖 = 𝐾𝑝(πœƒ2,𝑖 βˆ’ πœƒ1, 𝑖) + 𝐾𝑑( Λ™πœƒ2,𝑖 βˆ’ Λ™πœƒ1,𝑖) βˆ’ 𝐾( Λ™πœƒ1,𝑖)

 𝜏2,𝑖 = 𝐾𝑝(πœƒ1,𝑖 βˆ’ πœƒ2, 𝑖) + 𝐾𝑑( Λ™πœƒ1,𝑖 βˆ’ Λ™πœƒ2,𝑖) βˆ’ 𝐾( Λ™πœƒ2,𝑖)

These formulas describe a control mechanism for a bilateral teleoperation system where:

  • Ο„1\tau_1 and Ο„2\tau_2 are the torques applied to the master and slave devices,
  • Proportional term (Kp(ΞΈ2,iβˆ’ΞΈ1,i))(K_p (\theta_{2,i} - \theta_{1,i})): This term ensures that the master device reacts to the positional difference between the master and slave. If the slave is in a different position from the master, a corrective torque is applied.
  • Derivative term (Kd(ΞΈΛ™2,iβˆ’ΞΈΛ™1,i))(K_d (\dot{\theta}_{2,i} - \dot{\theta}_{1,i})): This term ensures that the master device reacts to the difference in velocity between the master and slave. It helps in smoothing out the motion and counteracts sudden changes.
  • Damping term (βˆ’KΞΈΛ™1,i)(- K \dot{\theta}_{1,i}): This term adds resistance to the motion of the master device to prevent oscillations and provide a more stable and realistic force feedback. Basically adds a feeling of resistance.

By adjusting the gains (KpK_p, KdK_d, and KK), the system can be fine-tuned to achieve the desired balance between responsiveness and stability, providing the operator with realistic and stable force feedback while precisely controlling the remote robot.


Note that the gains used are identical for both grippers, resulting in nearly identical motor torques for each. This means the force felt by the operator at the gripper is very close to the force on the slave side. Dynamically, the operator experiences the friction and inertia of both the master and slave sides, virtually coupled through the controller.

The achievable coupling stiffness was primarily determined by the communication rate between the two grippers. We achieved rates of 500 Hz to 1 kHz, which is sufficient.


Can I run this on my gripper?
You might be able to but you need to satisfy few requirements:
* Low gear reduction (QDD drive) /Β high backdrivability
* Good current sensing and FOC algorithm
* Fast communication between devices
* high bandwidth torque control
* low reflected inertia

Our ssg48 gripper is a rare case that can run this kind of algorithm because of its design.

You can see insides of the gripper here:Β Link
You can also see the complete assembly guide here: Link

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.