I have a question regarding the dynamic model of a robotic manipulator. It is commonly written as follows: $$ \tau = M(q)\ddot{q} + C(q,\dot{q})\dot{q} + G(q) + J^\intercal F_{ext} $$ From what I have seen, the equation $\tau_{ext}=J^\intercal F_{ext}$ only holds true at very low velocities, so authors usually remove the velocity and acceleration terms and write: $$ \tau = G(q) + J^\intercal F_{ext} $$ So my question is, what happens when our task is highly dynamic with high velocities and accelerations ?


2 Answers 2

  1. The first equation is always true. So at high velocities and accelerations, you use the first equation. See this

  2. At low velocities $\dot{q}<<$ and low accelerations $\ddot{q} <<$, the first two terms are negligible, and thus you use the last equation.

  3. $\tau_{ext} = J^T F_{ext}$ is also always true. It is the contribution of external forces. See this

  4. There are control laws, when you want to exert a desired force $F_d$ at the environment, when the end effector does not move (thus $\dot{q}=0$ and $\ddot{q}=0$): $$\tau_{control} = J^T F_{d}$$ and this can be even more precise if you add the gravity term. This leads to your last equation. See this

  • 1
    $\begingroup$ So if I understand correctly, (3) is always true even at high velocities, but it is the (4) that assumes a quasistatic condition, right ? $\endgroup$ Jul 14, 2023 at 14:36
  • $\begingroup$ Yes, but (4) is a control law, it doesn't describe the dynamics. The dynamics are again : $M\ddot{q} + C \dot{q} + G + J^T F_{ext}= \tau_{control} = J^T F_d $ . In quasistatic conditions, $\dot{q}$ and $\ddot{q}$ are negligible, and thus $J^TF_{ext} =\tau_{control}-G$ $\endgroup$ Jul 17, 2023 at 8:25

I suggest you bring all the external forces on the same side i.e., consider

$$ M \ddot{q} + C \dot{q} + G = \tau - J^T F_{\text{ext}} $$

This equation is always valid.

On the right member, there is the net external force acting on the joints (a vector in the joint space). Vector $\tau$ is the force (or torque for revolute joints) in the joint space determined by the controller. Force $F_{\text{ext}}$ is the force (in the task space) exerted by the hand over the environment (non-zero only if the hand is in contact with the environment). The reaction force, $-F_{\text{ext}}$, is the force (in the task space) exerted by the environment on the robot's hand. Using the concept of kineto-static, we know that we can determine the force from the environment reflected back on the joints (in the joint space) using the transpose of the (Geometric) Jacobian. Therefore, $-J^T F_{\text{ext}}$ is the force on the joint determined by contact with the environment.

If the arm is pushing toward a concrete wall (static situation) the joints' velocities and accelerations are zero, from which $\tau = J^T F_{\text{ext}}$ that is the results you have from the kineto-static analysis. Roughly speaking, the force exerted by the arm on the environment must be exactly compensated by the force (torque) on the joints from the controller.


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.