11  Unicycle

Unicycle Robot (Picture from Choset et al. (2005))

11.1 Dynamics

  • Parameters
    • state space \(\mathcal{X}\)
    • action space \(\mathcal{U}\)
  • State: \(\mathbf{x}= \begin{pmatrix}x, y, \theta, v, \omega\end{pmatrix}^\top \in \mathcal{X}\subset SE(2) \times R^2\)
    • Position \((x,y)^\top\) [m, global frame]
    • Orientation \(\theta\) [rad, global frame]
    • Velocity \(v\) [m/s, global frame]
    • Angular velocity \(\omega\) [rad/s, body frame]
  • Action: \(\mathbf{u}= \begin{pmatrix} a_v, a_\omega \end{pmatrix}^\top \in \mathcal{U}\)
    • Acceleration \(a_v\) [m/s^2, global frame]
    • Angular acceleration \(a_\omega\) [rad/s^2, global frame]
  • Dynamics: \[ \begin{aligned} \dot x &= v \cos \theta \\ \dot y &= v \sin \theta \\ \dot \theta &= \omega\\ \dot v &= a_v\\ \dot \omega &= a_\omega \end{aligned} \]

11.2 Differential Flatness

11.3 Invariance

The dynamics are translation-invariant.

11.4 Controllers

11.4.1 Geometric Controller

11.4.2 Action Mixing

11.5 Useful Parameters

11.5.1 unicycle2_v0

A basic version proposed at (Hönig, Ortiz-Haro, and Toussaint (2022); Ortiz-Haro et al. (2024)) \[ \begin{aligned} \mathcal{X}&= \mathbb R^2 \times [-\pi, \pi] \times [-0.5, 0.5] \times [-0.5, 0.5]\\ \mathcal{U}&= [-0.25, 0.25] \times [-0.25, 0.25] \end{aligned} \]