Implementing a Compliant Controller for a 6-DoF Robot Arm


Compliant Movement

Movement by an External Force

Compliant Controller
Non-Compliant Controller

The compliant controller allows for the arm's end-effector to easily be moved out of the way of an external force. On the other hand, the standard non-compliant controller is quite stiff, and doesn't allow for much compliance in the movement of the arm. As a result, it can be much less safe for the user to be in close proximity to it.

Set to Target Position

Compliant Controller
Non-Compliant Controller

We hardcode movement of the arm to the left. We see that in the case of the non-compliant controller, this movement is so forceful that it can knock a 2kg basket of towels off of the table. On the other hand, the compliant controller limits the force it applies. The overlay shows how the arm eventually reaches the desired position once the basket is removed.

Teleoperation

Crushing a Can

Compliant Controller
Non-Compliant Controller

With just a single hit, the non-compliant controller crushes the can beyond reshaping. On the other hand, with the compliant controller, after multiple hits, the can can still be reshaped back to its original form.

Pick and Place

Compliant Controller
Non-Compliant Controller

We show that while the non-compliant controller may result in the arm being slightly weaker, it is plenty sufficient for a standard task. Empirically, the teleoperation for this task is also easier for the user as the motors are more forgiving.