Hoffmann Et Al Quadrotor DASC04
Hoffmann Et Al Quadrotor DASC04
Hoffmann Et Al Quadrotor DASC04
Introduction
Aerial multi-vehicle testbeds are typically
expensive and complex platforms, often requiring
large open spaces to operate. Fixed-wing aircraft
also have constraints on maneuverability whereas (a) A photograph of two flyers.
conventional helicopters are dynamically and
structurally complex, expensive, and hard to
control. In order to circumvent these issues in the
development of a multi-vehicle testbed at Stanford
University, a quadrotor helicopter was proposed as
the base vehicle.
The quadrotor helicopter, or X4 flyer, has four
fixed-pitch rotors mounted at the four ends of a
simple cross frame. Owing to symmetry, this
vehicle is dynamically elegant, inexpensive, and
simple to design and construct. It is an omni-
directional vehicle, and has no almost constraints on
its motion. It can be flown in tight spaces and does
not require large safety distances to operate. These
facts make it an ideal candidate for a versatile and (b) Configuration of the system.
user-friendly multi-agent testbed.
Figure 1: A photograph of the STARMAC.
The goals are to use STARMAC as a testbed well as each of the relevant hardware components.
for recent algorithms in decentralized optimization A description of the software architecture on
[1,2], in which each vehicle in the group will STARMAC follows. The paper then describes the
compute its optimal trajectory, which avoids all flyer dynamics used as a basis for estimator and
other vehicles, online using a Nash bargaining controller design, and continues with the resulting
formulation which assumes only partial knowledge estimation and control techniques implemented on
of the entire system state. In addition, the testbed the flyers. The paper then presents flight test results
will be used for validation of multi-player game for a single flyer achieving autonomous hover
algorithms. As a future goal, there are plans to control. Finally, the future directions of the project
equip each flyer with varied sensor suites, including are outlined, including a discussion of current
cameras, and use STARMAC as a validation theoretical developments to be implemented on
platform for distributed sensing algorithms. STARMAC in the near term.
∑ [ −T z
4
F = − q ∞ SC D e W + m g + i B − Di e W ]
i =1
(1.1)
∑[Q z
4
M= i B + Ri e Wi + Di (ri × e Wi ) + Ti (ri × z B )]
i =1
(1.2)
The reason for the four-rotor design now Figure 3: X4 Flyer Free Body Diagram.
becomes apparent. This configuration takes If we make the rather reasonable assumption
advantage of the symmetry in the system and that the STARMAC helicopter is a planar vehicle,
cancels out several moments. The rotors can be then we can further simplify the terms ri ⋅ z B to a
grouped into the front-back pair, and the left-right
pair. Suppose the pairs rotate in opposite directions. simple multiplication by a moment arm l. Further, if
There are then two rotors spinning clockwise and we consider operating points close to hover, then
two rotors spinning anti-clockwise. The yawing we can assume the drag terms Di and the total drag
moments generated by the rotors cancel out to zero. D to be small. We can also assume that the angular
A rolling moment can be generated by speeding up rates p, q, and r are small. Assume that the aircraft
one of the motors in the left-right pair and slowing is symmetric about the x, y, and z axes. Then, by
the other by the same amount. Similarly, a pitching the perpendicular axis theorem
moment can be generated by speeding up one of the I = I xx = I yy = I zz / 2
motors in the front-back pair and slowing down the
other by the same amount. A yawing moment can
be generated by speeding up one pair and slowing
down the other by the same amount. Note that in
each the above cases, the only effect is the
Rotational Dynamics
generation of a single moment. The sum of rotor The moment of inertia tensor I is assumed
thrusts is held constant. diagonal, as described previously, the exact
governing moment equation is given by
In fact, the symmetry effects extend even Iω B + ω B × I ωB = M
further. A single rotor in forward flight also
∑ [Q z
4
generates a moment perpendicular to its axis of = i B + Ri e Wi + Di (ri × e Wi )
rotation, which we denoted by Ri. However, in this i =1
configuration, the rolling moments Ri also cancel +Ti (ri × z B )] (1.3)
out due to the opposite directions of rotation. This
cancellation takes place as long as the net angular If we assume small perturbations about hover,
momentum of all four rotors is zero (this holds at all we make the following approximations: The rotor
times except during transients). Even in this case, rolling moments Ri are negligible. Since the vehicle
owing to small inertias and large moment arms, the is planar and symmetric, the drag terms Di (ri × eWi)
changes in thrust are small, so the differences in only apply on the left-right rotor pair, and they
rotor speeds will be small. The resulting rotor cancel out. The rotor drag moments are given by Qi
rolling moments will be much smaller. For this = KrTi. Let the perturbation angular rates be p, q and
reason, we will neglect the rotor rolling moments Ri r. We now have
in subsequent discussions.
Since this is near hover, we ignore the drag terms
Ip = − Iqr + l (T4 − T2 ) and use rotation matrices corresponding to the Euler
angles to get
I q = − Ipr + l (T1 − T3 ) (1.4)
&x& 0 0
2 Ir = K r (T1 + T3 − T2 − T4 ) m &y& = Rψ ⋅ Rθ ⋅ Rφ ⋅ 0 + 0 (1.8)
z −T
mg
If we also assume that the angular rates are small &&
and thus neglect their products, the equations
become linear, and we can cast them in matrix form where Rψ , Rθ , Rφ are the rotation matrices
as follows.
corresponding to the Euler angle rotations ψ , θ , φ .
T1 If these angles are small, then
I 0 0 p & 0 −l 0 −l
0 I
0 q& =
l 0 −l 0
T2 &&
x 1 ψ −θ 0 0
0 0 2 I r& − Kr
T
− K r 3 m &&
y = −ψ 1 φ
0 + 0 (1.9)
Kr Kr
T4 z
&& θ
−φ 1
−T mg
(1.5)
The body angular rates are easily related to the
State Estimation
inertial Euler angle rates, ϕ& , θ&,ψ& , when the Euler
Attitude and attitude rate estimation is not
angles themselves are small. This is indeed the case required, as it is already performed in the IMU as
if the perturbations from hover are small. Then, the received from MicroStrain. We found these sets of
Euler angle rates are approximately equal to the signals to be both accurate and reliably noise free at
body angular rates. Thus, we get moderate vibration amplitudes, although they do
T1
decay at maximum flyer thrust levels. Acceleration
I 0 0 φ&& 0 −l 0 −l data was quite noisy throughout the flyer operating
T2
0 θ&&
0
regime, and so attitude information is used instead
0 I =
l 0 −l
T of direct acceleration measurements in the
0 0 2 I ψ&& K r − Kr Kr − K r 3 estimation of translational acceleration.
T4
Altitude estimation using a Kalman filter was
(1.6)
necessary in order to determine altitude rate, as it
We observe that the equations are decoupled. This was not sensed directly, and the characteristics of
is the form of equations for rotational dynamics the Sodar sensor proved quite difficult to manage.
used for the inner-loop controller design. The problem lay in receiving false echoes due to
motor noise, and as such, we added acceleration
limited reasonability checks to the data, and
Translational dynamics
selected the first available measurement that
Define the total thrust in the body frame as satisfied the limits from a list of up to 17
T = T1 + T2 + T3 + T4 measurements stored by the unit during each
measurement. Ultimately, an IR sensor for a
If the position vector of the cg in the inertial limited portion of the flight envelop was added to
reference frame is r, the translational dynamics can augment the Sodar signal where possible.
be written as follows
Position estimation uses both GPS position and
m&r& = −q∞ SCD e W + mg + ∑[−T z i B − Di e Wi ] velocity measurements, as well as attitude
information in a Kalman filter to update the position
(1.7) and velocity estimates at 10 Hz. The GPS data is
used to correct for integration bias of the small
angle approximated accelerations derived from the
attitude information.
Controller Synthesis ∂φ
u= x2 + v (1.13)
This section outlines the approach used for ∂x1
control of the X4 flyer. Wherever possible, the
simplest linear controllers were used, and only where v is an arbitrary part of the control input
where the situation required were more complex which will be defined subsequently. Then (1.12)
nonlinear effects considered, as in the altitude becomes
control loop, for example. V& = sv + s ∆( x, g ) (1.14)
where
y if | y | ≤ 1
sat ( y ) =
sign( y ) if | y | > 1
and ε is a positive constant. The resulting the
control input u for the altitude loop control is given
by
∂φ s Figure 4: STARMAC in flight
u= x2 − K ( x) ⋅ sat (1.21)
∂x1 ε
Future Direction
Attitude loop control STARMAC stands to become a unique testbed
An inner loop attitude controller was designed that will enable the implementation of many
using for the simplified second order rotational cutting-edge multi-agent control techniques in an
dynamics model described by equation (1.6), using easy-to-use real-world environment. The system has
standard LQR techniques. The cost matrix Q was been designed to accommodate 4-6 flyers. As the
chosen such that angular deviations were penalized individual flyer design nears completion, additional
more than rate deviations. Also, the pitch and roll flier are being constructed Implementation of the
loops were penalized identically, with a reduced waypoint tracking algorithm and of the computation
penalty on the yaw deviations. This controller was cluster is to be completed.
implemented in floating point onboard the X4 flyer. Once completed, the aim is to implement
The control inputs for each rotor corresponding to decentralized optimization techniques that allow the
pitch, roll and yaw are computed separately, and flyers to act as individual agents in a system, and
then added to the altitude input and the nominal coordinate, or compete, to achieve system level
thrust to yield the net thrust value for each rotor. goals such as collision avoidance and formation
This controller worked well at low thrust levels, but flight. Such work will see individual decision
performance at higher thrust levels was degraded makers communicating in the computation cluster
owing to the increased vibration levels. This was to arrive at team decisions.
solved by implementing a softer attitude controller
with lower costs on attitude deviations. This An exciting field of research that could be
improved noise rejection at the cost of tracking investigated using the STARMAC platform is that
performance. of vision based navigation and control. There
remains sufficient payload available on the current
flyer design to incorporate a small wireless camera,
Flight Test Results and such a development project would further
Figure 4 shows a STARMAC flyer in the air. expand the opportunities available for discovery
Figure 5 (overleaf) shows altitude, roll, and pitch using the STARMAC testbed.
data for a STARMAC flyer in hover, tracking
commanded altitude and attitude. The test was run
outdoors, and attitude deviations reflect manual
attitude command inputs to counteract wind
disturbances. The altitude command was held
constant. However, net vertical thrust changes with
attitude and this effect is not currently accounted for
Altitude
250
200
150
z (cm)
100
50
0
0 5 10 15 20 25 30 35 40 45
Time (s)
Pitch
20
Angle (degrees)
10
-10
-20
0 5 10 15 20 25 30 35 40 45
Time (s)
Roll
20
Angle (degrees)
10
-10
-20
0 5 10 15 20 25 30 35 40 45
Time (s)