Elio Saade
Note

Equivariant Reinforcement Learning for Quadrotor UAV

Overview

The paper exploits the rotational symmetry of a quadrotor about the vertical gravity axis to improve the sample efficiency of reinforcement learning for low-level control of the quadrotor. The policy maps the quadrotor state directly to its four motor thrusts for position stabilization. A standard policy treats horizontally rotated versions of the same flight condition as different inputs, even though they require the same motor commands when actions are represented in the body-fixed frame.

The authors map every state to a canonical representative of its rotational equivalence class before passing it to the actor and critic. This removes one continuous input dimension and makes the learned policy and value functions invariant to arbitrary rotations about the gravity direction. The approach is applied to TD3 and SAC and improves their convergence in simulation.

S1S^1 Symmetry of Quadrotor

The quadrotor state and action are

s=(x,v,R,Ω),a=(T1,T2,T3,T4),s=(x,v,R,\Omega), \qquad a=(T_1,T_2,T_3,T_4),

where x,v∈R3x,v\in\mathbb{R}^3 are expressed in the inertial frame, R∈SO(3)R\in SO(3) maps body coordinates to inertial coordinates, and Ω∈R3\Omega\in\mathbb{R}^3 is expressed in the body frame.

The paper shows that the rotations around the vertical gravity axis result in equivalent states:

Equivariant_RL_UAV.png

In the image, gravity points into the screen and e⃗1\vec{e}_1 and e⃗2\vec{e}_2 form the world horizontal plane (parallel to the ground).

The body-frame quantities Ω\Omega and aa remain numerically unchanged because their reference frame rotates with the vehicle. Their corresponding inertial-frame quantities are still rotated through RR. In other words, in the image, the rotor that is on the inner side of the circle remains on the inner side after rotation; so, the action vector does not change.

Writing the quadrotor dynamics as s˙=F(s,a)\dot{s}=F(s,a), they satisfy

F∘gθ=gθ∘F.F\circ g_\theta=g_\theta\circ F.

where gθg_{\theta} is the rotation of states and actions by an angle θ\theta starting from e⃗1\vec{e}_1.
Thus, rotating a valid state-action trajectory about e⃗3\vec{e}_3 produces another valid trajectory. Two trajectories are equivalent when one is a vertical-axis rotation of the other, and the equivalence class

[s,a]={gθ(s,a):θ∈S1}[s,a]=\{g_\theta(s,a):\theta\in S^1\}

contains all horizontally rotated versions of the same control problem.

Equivariant RL

For a group action gg, assume that the dynamics are equivariant and the reward is invariant:

F∘g=g∘F,r∘g=r.F\circ g=g\circ F, \qquad r\circ g=r.

Given a policy π\pi, its transformed policy is

π~(s~)=gπ(g−1s~).\widetilde{\pi}(\widetilde{s}) =g\pi(g^{-1}\widetilde{s}).

The corresponding value functions satisfy

Vπ=Vπ~∘g,V_\pi=V_{\widetilde{\pi}}\circ g,

and the optimal policy is equivariant:

π∗∘g=g∘π∗.\pi^*\circ g=g\circ\pi^*.

For the selected quadrotor symmetry, the group action on motor thrusts is the identity. Therefore, the optimal policy, value function, and action-value function are invariant across each state orbit:

π∗(gθs)=π∗(s),\pi^*(g_\theta s)=\pi^*(s), V∗(gθs)=V∗(s),Q∗(gθs,a)=Q∗(s,a).V^*(g_\theta s)=V^*(s), \qquad Q^*(g_\theta s,a)=Q^*(s,a).

Rather than constructing specialized equivariant layers, the authors choose one representative from each state orbit. For a state with horizontal position (x1,x2)(x_1,x_2), they use

[θ]=−atan2⁡(x2,x1),[s]=g[θ]s.[\theta]=-\operatorname{atan2}(x_2,x_1), \qquad [s]=g_{[\theta]}s.

This rotates the state so that

[x]2=0.[x]_2=0.

The same rotation is applied to xx, vv, and RR, while Ω\Omega remains unchanged. Since [x]2[x]_2 is always zero, it is removed from the neural network input. The actor and critic receive

([x]1,[x]3,[v],[R],[Ω])∈R17([x]_1,[x]_3,[v],[R],[\Omega])\in\mathbb{R}^{17}

instead of the original 18-component matrix representation of the state.

The actor maps the canonical state directly to body-frame motor commands,

a=π([s]),a=\pi([s]),

and the critic estimates

Q([s],a).Q([s],a).

No action transformation is needed because the motor commands are invariant under the selected group action. Consequently, all states differing only by a vertical-axis rotation generate the same network input, so experience is shared across the entire S1S^1 equivalence class.

Connections

Direct relationships to this note.