# Exponential coordinates

Suppose we want to perform a rotation around axis $$\hat{\omega}_s$$ in the $$\{s\}$$ frame, by some rate of rotation $$\dot{\theta}$$. The angular velocity of frame $$\{b\}$$ in frame $$\{s\}$$ is then $$\omega_s = \dot{\theta}\hat{\omega}_s$$. As the $$\{b\}$$ frame rotates, its x-axis traces out a circle, and its linear velocity is in a direction tangent to this circle, computed as $$\dot{\hat{x}}_b = \omega_s \times \hat{x}_b$$. Similarly, $$\dot{\hat{y}}_b = \omega_s \times \hat{y}_b$$ and $$\dot{\hat{z}}_b = \omega_s \times \hat{z}_b$$.

More compactly, $$\dot{R}_{sb} = [\dot{\hat{x}}_b \;\dot{\hat{y}}_b \;\dot{\hat{z}}_b ] = [\omega_s]R_{sb}$$.

$$\hat{\omega}\theta$$ is called the exponential coordinates, and is an alternative representation to the rotation matrix.

Suppose now that instead of a frame, we have a vector $$p(t)$$, rotating around $$\hat{\omega}$$ - we want to know the its location after it rotates an angle $$\theta$$. From the equation above, substituting $$p(t)$$ instead of $$R_{sb}$$ we get that $$\dot{p}(t) = [\hat{\omega}]\times p(t)$$, which has solution $$p(t) = e^{[\hat{\omega}]\theta}p(0)$$.

This means that rotation around the axis $$\hat{\omega}$$ with angle $$\theta$$, $$R(\hat{\omega},\theta)$$ is equivalent to the matrix exponential $$e^{[\hat{\omega}\theta]}$$. In fact, expanding the Taylor series for the matrix exponential yields Rodrgiuez's formula.

$R(\hat{\omega},\theta) = \mathbf{I} + \sin(\theta)[\hat{\omega}] + (1-\cos(\theta))[\hat{\omega}]^2 = e^{[\hat{\omega}\theta]}$

This also reveals the relationship between so(3) and SO(n) with $$n=3$$ since the matrix exponential takes $$[\hat{\omega}\theta] \in so(3)$$ to $$R \in SO(3)$$, meanwhile the matrix logarithm does the inverse.

## References

Lynch, Kevin M., and Frank C. Park. 2017. Modern Robotics: Mechanics, Planning, and Control. 1st ed. USA: Cambridge University Press.

Created: 2022-03-13 Sun 21:44

Validate