From my understanding, self motion refers to a set of joint velocities which doesn't cause any cartesian motion on the end-effector. Here, by motion it is meant both linear and angular components or just the linear one?

For example, in the Franka Emika Panda manipulator (7 DOF), if I move only the last revolut joint, I make the end-effector rotating in-place (i.e. its orientation changes while its position not). The cartesian linear velocity is obviously null, but the end-effector is subject to a non-zero angular velocity. Can we still talk about self motion?


1 Answer 1


The example you have given is not self-motion - and I believe you understand why already. Even though the end-effector does not change position, it does change orientation. Mathematically speaking, this means the output of our end-effector forward kinematics function has changed with our most recent motion. So - we can simply define null-motion (self-motion) as any joint velocity which once applied to our robot's joints do not change the output of our forward kinematics. This is equivalent to the following constraint:

$$ \dot{\mathbf{x}} = \mathbf{J}(\mathbf{q})\dot{\mathbf{q}} = 0 $$

where $\dot{\mathbf{x}}$ is the end-effector task space velocity, $\mathbf{q}$ is the current joint configuration, $\dot{\mathbf{q}}$ is the current joint velocity, and $\mathbf{J}(\cdot)$ is the geometric Jacobian. Now, what aspects of the forward kinematics function you care about are up to you. If you do not care about orientation, one might relax null-motion to the following constraint:

$$ \dot{\mathbf{x}} = \mathbf{J}(\mathbf{q})\dot{\mathbf{q}} = \begin{bmatrix} 0 \\ \omega \end{bmatrix} $$

where $\omega$ is some arbitrary angular velocity.

Some notes:

  • If the number of joints your robot has is equal to the number of task space degree's of freedom, null-motion is only achievable at singular configurations.
  • Given $n$ joints, $m$ task space DoFs, and $n \gt m$ - The null space or null space projection matrix can be solved as $(I - \mathbf{J}^{\dagger}\mathbf{J})$, where $\mathbf{J}^{\dagger}$ is the pseudo-inverse of the geometric Jacobian. Any $\dot{\mathbf{q}}$ such that $\dot{\mathbf{q}} = (I - \mathbf{J}^{\dagger}\mathbf{J})\dot{\mathbf{r}}$, where $\dot{\mathbf{q}}, \dot{\mathbf{r}} \in \mathbb{R}^{n}$, will result in no end-effector motion. see here.
  • When $n \gt m$, null-motion lies on what are referred to as self-motion manifolds. These manifolds are typically of $n-m$ dimension and act as continuous solutions to the inverse kinematics problem. This also means that we can continuously move through our null-space without discontinuity - although for the case of revolute joints we will return to our original starting configuration eventually.

Your Answer

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

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