I'm implementing a force controller on a robotic arm, where the force input comes from torque sensors in the joints. I have calculated the cartesian force on the end-effector from the joint torques, and I can move the arm by setting cartesian velocities.

I'm trying to make a simple admittance controller to move the arm with as little resistance as possible. The controller can therefore be written most simply as a = 1/m * F. Where we want the virtual mass, m, to be as small as possible. The problem is that since F is derived from torque sensors in the arm, it is not completely independent from the acceleration. Therefore, the acceleration is amplified for each iteration and ends up oscillating wildly.

I have tried putting on a damper C*v on the controller, but it needs a lot of damping to decrease the oscillations, which makes the robot hard to move again.

Any tips on what could be done to get rid of these feedback oscillations?

  • $\begingroup$ Are you compensating for gravity? $\endgroup$
    – SteveO
    May 7, 2019 at 16:29
  • $\begingroup$ Yes, the gravity is subtracted from the force input $\endgroup$ May 8, 2019 at 5:38
  • $\begingroup$ We need more info regarding the model and the actual controller you are using. $\endgroup$
    – CroCo
    Jun 14, 2019 at 14:18

1 Answer 1


You can try the following.

Set an admittance you want as

$ F_e = m_d \ddot q + c_d \dot q$

then, you can solve for $q$ as the velocity reference

$q_r = \frac{F_e - m_d \ddot q_r}{c_d}$

and approximate the acceleration through a forward euler with the velocity commands as

$\ddot q _r = \frac{q_{r_{k}}- q_{r_{k-1}}}{dt}$

and insert that in the equation.

note that $F_e$ is the difference from what you get from the torque sensors in the joints (that is the torque between the motors and eternal force) minus your model that includes not only gravity but coriolis and cetrifugal and mass, for which you also need to use the acceleration (filtered).

so $F_e = \tau_{sensors} - \tau_{robot model}$.

All this ideas are exposed in

Bekker, M., Pedersen, R.L., Mendez, J.D., Rasmussen, M.H., & Bak, T. (2018). Implementation of Admittance Control on a Construction Robot Using Load Cells. 2018 IEEE Conference on Control Technology and Applications (CCTA), 273-279.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.