# Rotation Jacobian from rotation matrix

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.

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.