Force control
Based on Sections 9.1 and 9.2 of Robotics: Modelling, Planning and Control.
Needs and methods
The control of the interaction between the manipulator and the environment is crucial for the execution of tasks where:
The end-effector (EE) has to manipulate an object (e.g. assembly).
The EE has to perform an operation with a tool on a surface (e.g. polishing).
In these tasks, the environment sets constraints on the geometric paths that can be followed by the end-effector. Therefore, constrained motions have to be planned and controlled.
Using only a motion control strategy, the execution of the constrained motion tasks may fail because of unavailability of:
The accurate kinematic/dynamic model of the manipulator.
The accurate geometric model and mechanical features of the environment.
Force control is required, which can be:
Direct force control, like the hybrid force/motion strategies, when force measurements are available.
Indirect force control, like compliant control strategies, that rely on motion schemas.
Passive compliance
Consider two rigid bodies elastically coupled, with coincident reference frames in the absence of interaction forces and moments.
Consider now a relative displacement:
with \(d\boldsymbol{v}_{rs} = \boldsymbol{v}_s - \boldsymbol{v}_r\) being a vector of linear and angular velocities of S w.r.t. R.
The following force can be associated to this displacement:
where:
\(K\) = stiffness matrix
\(k_f\) = translational stiffness matrix
\(k_{\mu}\) = rotational stiffness matrix
\(k_c\) = coupling stiffness matrix
Also,
Remote Center of Compliance (RCC)
The Remote Center of Compliance (RCC) devices are devices mounted between the last link of the robot and the end-effector to introduce a passive compliance with the following features:
Null coupling stiffness matrix
High stiffness along some axis and low stiffness along the others, e.g., in a peg-in-a-hole task, we have a high stiffness along the axis of the hole and a low one along the others.
Te RCC devices convert contact forces into corrective motions.
Their disadvantage is their low versatility.
Active compliance
Use of a PD controller with gravity compensation scheme
Consider the motion control scheme composed of a PD controller with gravity compensation in the operational space.
The control law is:
With \(K_P\) and \(K_D\) positive definite, the error tends asymptotically to zero.
If, however, a contact occurs, a reaction force appears between the end-effector and the environment, and the error cannot disappear.
Considering the reaction force \(\boldsymbol{h}_e\), the dynamic model of the manipulator is:
At the equilibrium (\(\dot{\boldsymbol{q}} = \boldsymbol{q} = 0\)), we have:
Recalling that:
Then:
That is, this control scheme behaves as a generalized spring in the operational space with stiffness \(K_P\).
Linear behavior in tranlation / non-linear behavior in orientation
If \(K_P\) is a diagonal matrix, then there is a linear behavior regarding translations, but not regarding rotations, since the equivalent forces \(\boldsymbol{h}_A\) depend on the end-effector orientation.
With \(T(\boldsymbol{\phi}_e)\) dependant on the chosen Euler angles \((\varphi, \theta, \psi)\)), e.g.:
Variant to achieve a linear behavior also in orientation
We can consider a new definition of the error in the operational space in order to achieve a linear behavior also in orientation and make it easy to define \(K_P\) for a given desired behavior:
Let \(T_e\) and \(T_d\) be the current and desired end-effector poses, respectively.
Then the current pose, \(T_e\), expressed w.r.t. the desired reference frame is:
with:
Now, let’s define the error \(\boldsymbol{\tilde{x}}\) (w.r.t. the desired reference frame):
where \(\boldsymbol{o}^d_{d,e}\) are the Euler angles corresponding to \(R^d_e\).
The time derivative \(\dot{\boldsymbol{\tilde{x}}}\) is computed as follows:
Time derivative of \(\boldsymbol{o}^d_{d,e}\):
Time derivative of \(\boldsymbol{\phi}_{d,e}\):
In matrix form, \(\dot{\tilde{\boldsymbol{x}}}\) is:
With this definition of the error, the control scheme and the control law are:
At the equilibrium point \((\boldsymbol{\dot q} = \boldsymbol{\ddot q} = 0)\) the dynamics is reduced to:
Now, consider a differential displacement \(d \tilde{\boldsymbol{x}} = \dot{\tilde{\boldsymbol{x}}} \big|_{\tilde{\boldsymbol{x}} = 0} dt\)
If XYZ Euler angles are used then:
And:
This is a decoupled active compliance scheme. \(K_P\) acts as a generalized spring between the current and desired EE poses, expressed in the desired reference frame.
Now a compliant behaviour can be easily defined from the geometry and mechanical features of the environment.
Compliant behaviour in a compliant environment
Consider now a compliant environment, i.e., the reaction force is proportional to the deformation of the environment:
It can be illustrated with a two-link planar arm pushing a wall in the \(x\)-direction.
With a compliant control scheme, we have seen in the previous section that (dropping the supersindex):
The end-effector pose error \(d \boldsymbol{x}_{d,e}\) depends on the environment rest position \(\boldsymbol{x}_r\) and on the desired one \(\boldsymbol{x}_d\), and the interaction between the end-effector and the environment is influenced by the respective weight of the compliances coded in the (normally) diagonal matrices \(K_P\) and \(k\):
In the direction of high stiffness of the manipulator (values of \(K_P\) greater than those of \(k\)), the environment complies and:
The manipulator is able to reach the desired pose:
The reaction force depends on the stiffness of the environment:
In the direction of low stiffness of the manipulator (values of \(K_P\) smaller than those of \(k\)), the manipulator complies and:
The manipulator is stopped at the environment rest position:
The reaction force depends on the stiffness of the manipulator: