Rotation Jacobian from rotation matrix

classical-mechanicsrigid transformationrotations

Consider a system of rigid bodies, possibly constrained by holonomic and nonholonomic constraints and let $q$ be a set of generalized coordinates, uniquely describing the state of the system. Suppose there is a body $\mathcal{B}$ and let $\mathcal{W}$ denote the world coordinate frame. It is well known that there exists a matrix $J_{R,\mathcal{B}}$ such that ${}_{\mathcal{W}}\omega_{\mathcal{B}}=J_{R,\mathcal{B}}\,\dot{q}$, where ${}_{\mathcal{W}}\omega_{\mathcal{B}}$ is the angular velocity of $\mathcal{B}$ expressed in world frame coordinates. Lastly, let $R_{\mathcal{B},\mathcal{W}}$ denote the rotation matrix from a frame fixed to body $\mathcal{B}$ to the world coordinate frame.

I suspect that
$$J_{R,\mathcal{B}}(q)=\sum\limits_{i=1}^{3}r_{i,\times}(q)\cdot\frac{\partial r_i}{\partial q}(q),$$
where $r_i$ is the $i$th column of $R_{\mathcal{B},\mathcal{W}}$ and $r_{i,\times}$ denotes the skew-symmetric matrix such that $r_{i,\times}\,t=r_{i}\times t$ for $t\in\mathbb{R}^3$.

Please provide a proof or disproof for this claim.

Best Answer

The world-frame angular velocity is the derivative of the body's orientation $R(q[t])$ at time $t$. This is a tangent vector on $SO(3)$ and there are several ways to represent it. Since $SO(3)$ is a Lie group, the tangent plane at $R(q[t])$ can be identified with a rotation of tangent plane at $I$, and traditionally the axis-angle vector $\omega_{\mathcal{B}}(t)$ in body coordinates is the corresponding element $[\omega_{\mathcal{B}}(t)]_\times$ of the Lie algebra:

$$R(q[t]) \omega_{\mathcal{B}}[t]_{\times} = \frac{dR(q[t])}{dt}.$$

And of course since $\mathcal{W}\omega_{\mathcal{B}} = R \omega_{\mathcal{B}},$ $$R(q[t]) \left( R(q[t])^T \mathcal{W} \omega_{\mathcal{B}}[t]\right)_{\times} = \left(\mathcal{W} \omega_{\mathcal{B}}[t]\right)_{\times} R(q[t]) = \frac{dR(q[t])}{dt},$$ where the first equality uses the cross-product identity $R(a\times b) = Ra \times Rb$.

Now this equation can be transformed into yours with some algebra: for any test vector $v$, \begin{align*} v\cdot \mathcal{W}\omega_{\mathcal{B}} &= \frac{1}{2}\left(v_{\times} : \left(\mathcal{W}\omega_{\mathcal{B}}\right)_{\times}\right)\\ &= \frac{1}{2}\operatorname{tr}\left(v_\times^T \frac{dR}{dt}R^T \right)\\ &= \frac{1}{2}\operatorname{tr}\left(R^T v_\times^T \frac{dR}{dt}\right)\\ &= \frac{1}{2}\sum_i e_i^T R^T v_\times^T \frac{dR}{dt}e_i\\ &= \frac{1}{2}\sum_i r_i^T v_\times^T \frac{dr_i}{dt}\\ &= \frac{1}{2}\sum_i -v^T [r_i]_\times^T \frac{dr_i}{dq}\dot q\\ &= v \cdot \frac{1}{2} \sum_i -[r_i]^T_\times \frac{dr_i}{dq} \dot q\\ &= v \cdot \left[\frac{1}{2}\sum_i [r_i]_\times \frac{dr_i}{dq}\right] \dot q, \end{align*} where I've used various properties like antisymmetry of the cross-product, skew-symmetry of the cross-product matrix, etc.

That leaves a factor of $\frac{1}{2}$ between our formulas that I cannot reconcile.

Related Question