## 11.5. Force Control

#### 11.5. Force Control

This video describes Jacobian-transpose-based force control for a robot, both with and without end-effector force-torque feedback.

The goal of force control is to apply a desired end-effector wrench to the environment. Conceptually, you should imagine the end-effector is encased in a concrete wall, so that it can create a wrench in any direction.

This is the equation of motion for a robot applying an end-effector wrench F_tip. Typically in force control tasks the robot is stationary or only moving very slowly, so we can eliminate the terms that depend on velocity or acceleration. Our force-and-torque-balance equation is then tau equals g plus J-transpose F_tip. If our model of the gravitational forces and torques is g-tilde and the desired wrench is F_d, this is a reasonable force control law. The robot applies the joint forces and torques needed to balance gravity plus the added forces and torques needed to generate the desired endpoint wrench. The only feedback needed to implement this control law is joint angle feedback, to calculate the Jacobian-transpose and the gravity model. This is force control without end-effector force feedback.

To improve force control, we could equip the robot with a force-torque sensor at its end-effector, as you see in this photo. A six-axis force-torque sensor measures the end-effector wrench. With this wrench feedback, we can replace the feedforward wrench command F_d with the sum of the feedforward wrench, plus a proportional gain times the wrench error, where the wrench error is defined as F_d minus the actual wrench, plus an integral gain times the integral of the wrench error. This is PI force feedback control with a feedforward term and gravity compensation. The PI feedback controller theoretically allows the elimination of steady-state wrench error if there is a constant wrench disturbance, as might occur if there is modeling error in the gravity compensation.

A derivative term is not typically used in a force controller for several reasons. First, in our simple rigid-body modeling of the robot, the lack of dynamics between the joint forces and torques and the wrench at the end-effector does not support the use of a derivative term. Second, force-torque sensors are typically rather noisy devices. Taking the derivative of a noisy measurement, as would be required to calculate a derivative term, only amplifies the noise. In practice, force-torque readings are typically low-pass filtered to try to average out some of the sensor noise.

In the next video, we combine motion control and force control to get hybrid motion-force control.