Force Control


Position control is good for many tasks but sometimes we need to be able to control the force that the tool tip applies to the environment. A classical example is one where we want a tool to adjust to the shape of a unknown surface so that it makes full contact with it. This can be done by applying a constant downwards force and letting the manipulator adjust to the shape of the surface.


Lets begin by considering energy, in cartesian coordinates energy is the product of force and distance, like wise in joint space coordinates energy is the product of torque and joint displacement. Now lets equate these two energies:

 F^T \Delta x =W=\tau^T \Delta \theta

Since the Jacobian definition is  \dot x = J \dot \theta then for very small values of  \Delta (in the limit in fact), it will hold true that  \Delta x = J \Delta \theta

So by substituting the above equation into the one where the Cartesian and joint energies are equated, we have:

 F^T J \Delta \theta =\tau^T \Delta \theta

So this can be rewritten without  \Delta \theta

 F^T J =\tau^T

 J^T F =\tau

The above Jacobian transpose method is often used in force control as it gives a relation between the static joint torques and the static manipulator forces. Be aware though that this only applies to static(i.e no motion) situations and that it does not include the effects of friction. A simple method of fixing these problems is to just consider them as a sort of disturbance force which can then be removed by a disturbance observer as follows.

I adapted this system from [1] and changed the model based resultant force estimation to a sensor based one because I think its simpler and better. If you dont have a force sensor but you know the mass of your manipulator then you can just estimate  F^{sens} as  m\ddot x

 Next: Biped Basics

Previous: Position Control


[1] Naoki Oda, Toshiyuki Murakami, and Kouhei Ohnishi. A robust control stratergy
of redundant manipulator by workspace observer. IEEJ D, 115(8):991–998, 1995.



 Posted by at 12:14 pm

  2 Responses to “Force Control”

  1. thanks, but last line is transpose(J)*F=tau.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">