Crazyswarm PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Crazyswarm: A Large Nano-Quadcopter Swarm

James A. Preiss , Wolfgang Honig , Gaurav S. Sukhatme, and Nora Ayanian

Abstract We define a system architecture for a large swarm


of miniature quadcopters flying in dense formation indoors. The
large number of small vehicles motivates novel design choices
for state estimation and communication. For state estimation,
we develop a method to reliably track many small rigid bodies
with identical motion-capture marker arrangements. Our com-
munication infrastructure uses compressed one-way data flow
and supports a large number of vehicles per radio. We achieve
reliable flight with accurate tracking (< 2 cm mean position
error) by implementing the majority of computation onboard,
including sensor fusion, control, and some trajectory planning.
We provide various examples and empirically determine latency
and tracking performance for swarms with up to 49 vehicles.
Fig. 1. The Crazyflie 2.0 miniature quadcopter with four motion-capture
markers, LED expansion board (not visible), and battery.
I. INTRODUCTION
Quadcopters are a popular robotic platform due to their numbers of quadcopters; (b) we demonstrate interactivity
agility, simplicity, and wide range of applications. Most with the swarm; and (c) we use a commercially available
research quadcopters are large enough to carry cameras and platform and provide our source code online.
smartphone-grade computers, but they are also expensive and The Flying Machine Arena at ETH Zurich supports both
require a large space to operate safely. For very large swarms, single- and multi-robot experiments. An overview of the
smaller quadcopters are more attractive. The reduced size system architecture and applications is given in [3]. Unlike
of these vehicles motivates different system design choices our work, the position controller runs offboard, making the
compared to a typical setup for larger vehicles in smaller system less robust to packet drops. The additional compu-
numbers. tational power is used for a latency compensation algorithm
Here we describe the system architecture for a swarm of to improve accuracy for high-speed flights.
49 very small quadcopters operating indoors. The vehicles UAVs have been used to demonstrate swarming algorithms
use a motion-capture system for localization and commu- outdoors on fixed wing [4], [5] and quadcopter [6] platforms
nicate over three shared radios. Our system uses off-the- with up to 50 vehicles. Our platform uses a smaller vehi-
shelf hardware and performs most computation onboard. We cle, allowing us to execute such experiments indoors in a
publish the software as open-source1 , making our work easily laboratory environment.
reusable for other researchers. To our knowledge, the system Quadcopter swarms have been featured in the media as
described here is the largest indoor quadcopter swarm to date, well. A world record for the most UAVs airborne simul-
and the largest number of quadcopters controlled per radio. taneously was set in 2015 with 100 quadcopters flying
II. RELATED WORK outdoors [7]. In 2016, a TED talk featured about 35 nano-
quadcopters flying without a net above a crowd indoors
Unmanned Aerial Vehicle (UAV) swarms have been used using an ultra-wideband localization system [8]. However,
indoors for formation flight and collaborative behaviors, not many technical details about both solutions are publicly
outdoors to demonstrate swarming algorithms, and in the available. Our solution requires a motion-capture system,
media for artistic shows. allows dense formations, and shows good scalability.
Kushleyev et al. describe the design, planning, and control
of a custom micro quadcopter with experiments involving up III. VEHICLE
to 20 vehicles [1]. The groups infrastructure is described The Crazyflie 2.0 quadcopter (Fig. 1). measures 92
in [2]. While key aspects are similar, our work differs millimeters between diagonally opposed motor shafts and
in the following ways: (a) our architecture is designed to weighs 27 grams with a battery. It contains a 32-bit, 168-
reduce communication bandwidth and scales better to larger MHz ARM microcontroller with floating-point unit that is
capable of significant onboard computation. Software and
*Equal contributors.
All authors are with the Department of Computer Science, University of hardware are both open-source. The Crazyflie communicates
Southern California, Los Angeles, CA, USA. with a PC over the Crazyradio PA, a 2.4 GHz USB radio that
Email: {japreiss, whoenig, gaurav, ayanian}@usc.edu transmits up to two megabits per second in 32-byte packets.
This work was partially supported by the ONR grants N00014-16-1-2907
and N00014-14-1-0734, and the ARL grant W911NF-14-D-0005. Our payload of motion-capture markers and an LED light
1 https://github.com/USC-ACTLab/crazyswarm expansion board brings the Crazyflies mass to 33 grams.
Point- number of locations to place a marker, making it impos-
cloud Motor
(100 Hz) Values Controller
sible to form 49 unique arrangements that can be reliably
(500 Hz) distinguished. Therefore, we obtain only raw point clouds
Script from the motion-capture system, and implement our own
Object IMU
State object tracker based on the Iterative Closest Point (ICP) al-
Tracker
(ICP) Pose Array EKF
gorithm [13] that handles identical marker arrangements. Our
Radio Setpoint method is initialized with known positions, and subsequently
2.4 GHz updates the positions with frame-by-frame tracking.
Server (ROS) Trajectory Planner

Base Station PC Onboard MCU A. Initialization


Fig. 2. Diagram of major system components. A point cloud of markers With identical marker arrangements for each vehicle, the
detected by a motion-capture system is used to track the quadcopters. object tracker needs some additional source of information
All estimated poses are broadcasted using three radios. Planning, state
estimation, and control run onboard each vehicle at 500 Hz.
to establish the mapping between vehicle identities (radio
addresses) and spatial locations. We currently supply this
This reduces battery life from the listed seven minutes to information with a configuration file containing a fixed initial
six minutes, and results in a peak thrust-to-weight ratio of location for each vehicle. However, it is not feasible to
1.8. The systems dynamics and empirically determined place each vehicle at its exact configured position before
parameters have been discussed in [9] and [10]. every flight. To allow for small deviations, we perform a
The Crazyflies small size makes it suitable for indoor nearest-neighbor search within a layout-dependent radius
flight in dense formations. It can survive high-speed crashes about the initial position, and try ICP with many different
due to its low inertia and poses little risk to humans. initial guesses for vehicle yaw. We accept the best guess only
if its resulting alignment error is low (less than 1 mm mean
IV. ARCHITECTURE OVERVIEW squared Euclidean distance between aligned points).
Our system architecture is outlined in Fig. 2. We track the In future work we plan to eliminate the configuration file,
vehicles with a VICON motion-capture system using passive using either infrared LEDs or programmed small motions for
spherical markers. While the motion-capture system creates vehicle self-identification via the motion-capture system.
a single point of failure, we chose it over alternatives due to
its high performance: typical position errors are less than one B. Frame-to-frame Tracking
millimeter [3]. In comparison, a state-of-the-art decentralized Each frame, we acquire a raw point cloud from the motion-
localization system using ultra-wideband radio triangulation capture system. For each object, we use ICP to register the
[11] showed position errors of over 10 centimeters, too large marker positions corresponding to the objects last known
for dense formations. While vision-based methods are both pose against the entire scene point cloud. This process
accurate and decentralized [12], the required cameras and is independent for each object, so it can be executed in
computers necessitate a much larger vehicle. parallel. This approach assumes that there are no prolonged
In contrast to related systems [2], [3], we implement the occlusions during the duration of the flight. We limit ICP
majority of in-flight computation onboard. The base station to five iterations, which allows operation at 75 Hz with 49
sends complete trajectory descriptions to the vehicle in the robots using our computer hardware.
form of polynomials, ellipses, etc. For external feedback, Motion-capture systems sometimes deliver a point cloud
the base station broadcasts vehicle poses using three radios with spurious or missing points; if undetected, this may
operating on separate channels. cause tracking errors. To mitigate these errors, we compute
The main onboard loop runs at 500 Hz. In each loop cycle, linear and angular velocities from the ICP alignments and
the vehicle reads its Inertial Measurement Unit (IMU) and reject physically implausible values as incorrect alignments.
runs the state estimator, trajectory evaluator, and position In combination with our on-board state estimation, a few
controller. Messages with external pose estimates arrive missing frames do not cause significant instabilities, making
asynchronously and are fused into the state estimate on the tracking reliable in practice.
next cycle.
Since the full trajectory plan is stored onboard, the system VI. STATE ESTIMATION
is robust to significant radio packet loss. If a packet is
dropped, the vehicle relies on its IMU to update the state To reduce communication bandwidth requirements and
estimate. We quantify our systems stability against simulated maintain robustness against temporary communication loss,
packet loss in Section XI-C. we fuse motion-capture and IMU measurements onboard
in an Extended Kalman Filter (EKF). The filter is driven
V. OBJECT TRACKING by IMU measurements at 500 Hz and estimates the states
Standard rigid-body motion-capture software such as (p, v, q) where p R3 is the vehicles position, v R3 is
Vicon Tracker requires a unique marker arrangement its velocity, and q S 3 is the unit quaternion transforming
for each tracked object. The Crazyflies small size limits the the vehicles local coordinate frame into world coordinates.
The system inputs are the accelerometer and gyroscope matrix thus provides a space for optimizing the trajectory for
measurements, am and m , respectively. The dynamics are: objectives such as min-risk [18] or observability [17] while
implicitly satisfying the waypoint and continuity constraints.
p = v, v = q am g, q = 12 (m )q, (1)
Additional constraints, such as thrust or angular velocity
where g is the gravity vector in world coordinates, (m ) limits, are expressed as nonlinear inequalities in a general-
is the quaternion multiplication matrix of m as defined purpose nonlinear optimization solver.
in [14], and denotes quaternion-vector rotation. The Our framework supports piecewise polynomials uploaded
motion-capture system directly measures p and q, resulting from the base station or built into the firmware image.
in a trivial measurement model.
B. Online Single-Piece Polynomials
Our EKF implementation follows the indirect error-state
approach [14], [15], where IMU measurements drive a For short trajectories, a single polynomial can be suf-
dynamics integration and the filter estimates the error and ficient. We implement an online single-piece polynomial
covariance of this integration. This method avoids the prob- planner for tasks such as vertical takeoff/landing and linear
lematic extra dimension when representing a 3-DOF unit movement between hover points. This planner computes a
quaternion by four numbers. Whereas [14], [15] estimate closed-form solution for a degree-7 polynomial starting at the
accelerometer and gyroscope bias in the EKF, we have current state in (p, v, p, , ) and ending at a desired state
... in
found that these biases do not drift significantly during the variables. For linear movements, we restrict p = 0
the same ...
Crazyflies battery life. During several six-minute test flights and = = 0, which results in a closed-form solution for
we found the maximum drift of any axis of the accelerometer the polynomial coefficients.
to be 0.07 m/s2 and the maximum drift of any axis of the
C. Ellipses
gyroscope to be 0.0018 rad/s. Therefore, we measure biases
on a level floor at startup and subtract these measurements Elliptical motion is useful for demonstrations because it
for the duration of the flight. We also omit higher-order can generate a range of visually appealing behaviors from
dynamics approximation terms, as we have found their effect few parameters. Ellipses are parameterized by their center,
unmeasurable in experiments. axes, period, and phase, and are infinitely differentiable, so
the differentially flat transformation applies.
VII. PLANNING Commanding a quadcopter to switch from hovering to
We select a set of onboard trajectory planning methods that elliptical motion produces a large step change in the con-
require a small amount of information exchange between the troller setpoint, potentially causing instability. Our system
base station PC and the vehicles. Compared to architectures overcomes this issue by using the single-piece polynomial
that evaluate trajectories on a PC and transmit attitude and planner to plan a trajectory that smoothly accelerates into the
thrust controls at a high rate [2], [3], we shift some planning ellipse, iteratively replanning with longer time horizons until
effort onboard to reduce the needed radio bandwidth. it achieves a trajectory that respects the vehicles dynamic
Quadcopter dynamics are differentially flat in the outputs limits. The procedure is general and can be used to plan a
y = (p, ), where is the yaw angle in world coordi- smooth start from hover for any periodic trajectory.
nates [16]. This means that the controls required to execute
D. Interactive Avoid-Obstacle Mode
a trajectory in state space are functions of y and a finite
number of its time derivatives. We take advantage of this The planners discussed so far can follow predefined paths,
fact and plan trajectories in y using functions that are at but are not suitable for dynamically changing environments.
least four times differentiable. For the case of a single, moving obstacle at a known location,
such as a human, we use a specialized avoid-obstacle mode.
A. Piecewise Polynomials The planner is fully distributed and only needs to know the
Piecewise polynomials are widely used to represent quad- quadcopters position p, its assigned home position phome ,
copter trajectories. It is straightforward to construct a piece- and the obstacles position pobst . Let d be the vector between
wise polynomial that satisfies given waypoint and conti- the current position and the obstacle to avoid:
nuity constraints. For a k-dimensional, q-piece, d-degree
d = p pobst , = kdk2 . (3)
polynomial, the k q (d + 1) polynomial coefficients are
concatenated into a single row vector c. Waypoint and The new desired position pdes can be computed as a
continuity constraints are then expressed as linear systems: weighted displacement from the home position, where we
cTw = w, cTc = 0, (2) move further away if the obstacle is close:
 
f d
where w is a concatenated vector of waypoint values in both pdes = phome + max , max , (4)
y and its derivatives, and Tw and Tc are both simple banded + 2
matrices obtained from the time values of the piece breaks. where f is a scalar gain and max limits displacment,
Constructions of Tw , Tc , and w are detailed in [17]. preventing collisions when appropriately small relative to the
With a suitably high polynomial degree, the combined sys- robot spacing. This is similar to a potential field approach.
tem (2) is underdetermined. The left null space of the system The attraction to the home position is encoded in (4) by
TABLE I
IX. CONTROL
C ONSECUTIVE PACKETS DROPPED ( SEE TEXT FOR DETAILS .)
Our controller is based on the nonlinear position controller
Delay 0 1 2 3 4 5+
of [16], augmented with integral terms for position and yaw
3 ms 54458 2 280 1174 0 0
10 ms 51755 4111 4 1 0 0 error. The control input is the current state (p, v, q, m )
and the setpoint in position pdes , velocity vdes , acceleration
pdes , yaw des , and angular velocity des .
displacing from phome rather than p. Instead of using the The controller is a cascaded design with an outer loop for
computed pdes directly as control input, we compute a position and an inner loop for attitude. Both loops implement
smooth trajectory with bounded velocity and acceleration. PID feedback terms; the outer position loop adds feedforward
terms from the trajectory plan. We define position and
VIII. COMMUNICATION velocity errors as
We use two different kinds of communication: request- ep = pdes p, ev = vdes v
response and broadcasting. Request-response is primarily
used for configuration while the Crazyflie is still on the respectively, and compute the desired force vector as follows:
ground. This includes uploading a trajectory, changing flight Z t
parameters such as controller gains, and assigning each Fdes = Kp ep + Ki ep dt + Kv ev + mg + mpdes , (5)
0
Crazyflie to a group. Broadcasting is used during the flight
to minimize latency for position feedback, and to achieve where Kp , Ki , and Kv are positive diagonal gain matrices.
synchronized behavior for taking off, landing, starting a The desired body rotation matrix Rdes is a function of
trajectory, etc. Broadcast commands can be restricted to Fdes and des . The orientation error is computed as
subsets of the swarm by including a group ID number. 1 
eo = RT Rdes RdesT
R ,
Our communication does not use a standard transport 2
layer and hence, we need to handle sporadic packet drops where R is the matrix form of the attitude quaternion q and
as part of our protocol. In order to achieve low latency, () is the vee operator mapping SO(3) R3 . The desired
we do not aim for guaranteed packet delivery, but rather moments are then computed with another PID controller:
for a high probability of reliable communication. In our Z t
protocol, all commands are idempotent, so they can be Mdes = Ko eo + Km eo dt + K (des ) (6)
received multiple times without any side effects. This allows 0
us to repeat request-response commands until acknowledged with positive diagonal gain matrices Ko , Km , and K . A
or until a timeout occurs. Swarm-coordination commands, simple linear transformation can compute the desired squared
such as taking off, do not wait for an acknowledgement rotor speeds from Mdes and the projection of Fdes to the
but are repeated several times for a high probability that body z axis, as shown in [16].
all Crazyflies receive the command. Since external pose This controller is identical to the one presented in [16]
estimates are send at a high fixed rate every 10 ms, there except for the added integral terms. The position error
is no need to explicitly repeat such messages. integral in (5) compensates for battery voltage drop over time
Empirically, for repeated commands, the likelihood of (z-part) and unbalanced center of mass due to asymmetries
packet loss depends on the rate at which the command is (x, y-parts). From the attitude error integral in (6), we only
repeated. We show this effect in Table I. We count the use the z-component, which compensates for inaccuracies in
number of consecutive packets dropped from 0 (no packet yaw due to uneven wear on propellers and motors. Manual
dropped) to 5+ (5 or more consecutive packets dropped) for trimming and part replacement can compensate for such
10000 packets sent to six Crazyflies. The results show that issues on a single vehicle, but is not feasible on a large fleet.
repeating messages 5 times every 3 ms for swarm coordina-
tion commands is likely to reach all Crazyflies. Furthermore, X. SOFTWARE TOOLS
it is very unlikely to drop more than five consecutive position Many routine tasks become non-trivial when working with
updates, which is sufficient for stable control. 49 robots. We have developed command-line tools for mass
For 49 vehicles we use three radios, with each vehicle rebooting, firmware updates, firmware version query, and
permanently assigned to one radio. We broadcast positions p battery voltage checks over the radio. A power-save mode
as 24-bit fixed-point numbers and compress quaternions q turns off the main microcontroller and LED ring while
into 32 bits by transmitting the smallest three values in leaving the radio active, permitting powering on the Crazyflie
reduced precision and reconstructing the largest value from remotely. We can execute such commands and disable or
the unit quaternion property kqk2 = 1. Compression allows enable subsets of the swarm using a graphical user interface.
us to fit two position updates in one 32-byte radio packet A Python scripting layer supports development of complex
without degrading the measurements beyond their inherent multi-stage formation flight plans.
noise level. Furthermore, we transmit two such radio packets Our decision to perform significant computation onboard
per USB request to the Crazyradio PA, allowing us to complicates in-flight debugging due to constrained radio
broadcast the pose of up to four Crazyflies per USB request. telemetry bandwidth and limited permanent storage for logs.
25 2.5

Avg. Euclidean Tracking Error [cm]


Communication (3 radios)
20 2.0
Tracking (3 threads)
Latency [ms]

VICON
15 1.5

10 1.0

5 0.5

0 0.0
0 10 20 30 40 50 1 2x2 3x3 4x4 5x5 6x6 7x7
Number of Crazyflies Crazyflie Formation
Fig. 3. Software-estimated latency for different swarm sizes, averaged Fig. 4. Measured tracking performance for different swarm sizes, averaged
over 2000 measurements. The actual latency is 3 ms higher in all cases. over the swarm and duration of the flight. The error bars show the standard
The latency grows linearly with the swarm size and the largest portion is deviation. The performance decreases in bigger swarms because of the
due to the motion-capture system. additional aerodynamic effects between the quadcopters.

To ease this problem, we structure major onboard procedures overall runtime. The communication latency increases in
as platform-independent modules. We use the SWIG package increments of four added Crazyflies per radio because of
to generate Python bindings to these modules, allowing our compression algorithm (see section VIII.) Estimated total
firmware-in-the-loop testing in simulation via Python scripts. latency ranges from 8 ms to 23 ms.
The physical measurements show that the actual latency
XI. EXPERIMENTS
is a fixed 3 ms longer than the estimated numbers, resulting
Our experiments quantify system performance and demon- in an actual latency of 26 ms for the full 49-vehicle swarm.
strate the overall capabilities of our architecture. All experi-
ments are conducted in a 6 m 6 m 3 m motion-capture B. Tracking performance
space using a VICON Vantage system with 24 cameras.
We estimate the tracking performance by integrating the
Vicon Tracker obtains the marker point clouds on a
overall Euclidean position error for a flight, excluding takeoff
PC with Windows 7, Xeon E5-2630 2.2 GHz, and 16 GB
and landing. The flight path for each Crazyflie is a figure-8
RAM. Our software is written in C++ using ROS Kinetic
repeated three times, with 0.76 m/s average speed and 1.5 m/s
for visualization and scripting and is running on a PC with
maximum speed. This trajectory is moderately fast for a
Ubuntu 16.04, Xeon E5-2630 2.2 GHz, and 32 GB RAM.
small quadcopter, reaching a maximum roll angle of 20 deg.
To reduce latency, we do not use any ROS messages in the
We try different square swarm sizes, ranging from 1 to
critical path between receiving data from the motion-capture
7 7, in a grid layout with 0.5 m spacing, flying at the same
system and broadcasting estimated poses to the Crazyflies.
height. This tight formation causes additional aerodynamic
Sample flight videos are part of the supplemental material.
disturbances, which affect the controller performance.
A. Latency Our average error is shown in Fig. 4. The error is below
The total time delay between physical movement and 2 cm per quadcopter even when the whole swarm is flying.
arrival of the corresponding position feedback message to the However, as visible in the supplemental video, the attitude
firmware significantly affects overall system performance [3]. controller starts to oscillate more to compensate for the
Latency increases with swarm size due to both computational additional airflow.
and communication overhead. We estimate the latency in
C. Effect of Position Update Rate on Hover Stability
two ways: first, we use the Vicon DataStream SDK to
query an estimate of the motion-capture system latency, and We quantify the effect of position update rate on stability
instrument our code to estimate the runtime of our own by varying the update rate from the maximal 100 Hz down
software components. Second, we verify those numbers in to 2 Hz and measuring the mean Euclidean position error at
the physical setup by inducing a sudden change in yaw to the hover state. Results are shown in Table II. The range between
Crazyflie. The delay between the immediate onboard IMU 100 Hz and 10 Hz shows virtually no change. At 2 Hz, the
response and the corresponding change in external position system is still stable but shows significant oscillations. This
measurement captures the full system latency. We read these demonstrates our systems robustness against communication
values in real time via a JTAG debug adapter. loss during operation.
The estimated latencies from the base station software
are shown in Fig. 3. The latency grows roughly linearly TABLE II
with the number of objects to track, with the largest portion H OVER POSITION ERROR AS A FUNCTION OF POSITION UPDATE RATE .
caused by the motion-capture system (up to 14 ms for the
Position Rate [Hz] 100 10 5 3.3 2.5 2
49-robot case). Object tracking and communication using Avg. Tracking Error [cm] 0.58 0.68 0.91 1.48 1.95 2.18
the Crazyradio is done in separate threads, reducing the
such as EKF variances and controller gains, is available at
https://github.com/USC-ACTLab/crazyswarm.
In future work, we plan to improve reliability by detecting
controller failures, improving object tracking failure recov-
ery, and including better planning methods which take aero-
dynamic effects such as downwash into account explicitly.
We have made all software components available as open-
source, and hope that our work will have a significant impact
as a testbed for experimental verification of existing and new
UAV swarming algorithms. In general, our system can serve
as a foundation for a wide range of future work in multi-
robot planning, coordination, and control.
R EFERENCES
Fig. 5. Forty-nine Crazyflies flying in a 4-layer rotating pyramid formation.
The bottom layer is 3 m 3 m with 0.5 m spacing between vehicles. [1] A. Kushleyev, D. Mellinger, C. Powers, and V. Kumar, Towards a
swarm of agile micro quadrotors, Autonomous Robots, vol. 35, no. 4,
pp. 287300, 2013.
D. Coordinated Formation Flight [2] N. Michael, D. Mellinger, Q. Lindsey, and V. Kumar, The grasp
multiple micro-uav testbed, IEEE Robotics & Automation Magazine,
To demonstrate our scripting layer, we use a formation vol. 17, no. 3, pp. 5665, 2010.
of 49 Crazyflies flying in a rotating pyramid as shown in [3] S. Lupashin, M. Hehn, M. W. Mueller, A. P. Schoellig, M. Sherback,
Fig 5. The Crazyflies are initially placed in a 7 7 grid with and R. DAndrea, A platform for aerial robotics research and demon-
stration: The flying machine arena, Mechatronics, vol. 24, no. 1, pp.
0.5 m spacing. The takeoff is done in four different layers, 4154, 2014.
with the user triggering the next action using a joystick or [4] S. Hauert, S. Leven, M. Varga, F. Ruini, A. Cangelosi, J. Zufferey, and
keyboard. The script initially assigns each Crazyflie a group D. Floreano, Reynolds flocking in reality with fixed-wing robots:
Communication range vs. maximum turning rate, in IEEE/RSJ Int.
number, according to its layer, and uploads the parameters Conf. on Intelligent Robots and Systems (IROS), 2011, pp. 50155020.
for its ellipse to execute later. Because of the grouping, the [5] T. H. Chung, M. R. Clement, M. A. Day, K. D. Jones, D. Davis,
takeoff of a whole layer can be achieved at the same time and M. Jones, Live-fly, large-scale field experimentation for large
numbers of fixed-wing UAVs, in IEEE Int. Conf. on Robotics and
with broadcast messages. After all Crazyflies are in the air, Automation (ICRA), 2016, pp. 12551262.
the online planner plans a trajectory to smoothly enter the [6] G. Vasarhelyi, C. Viragh, G. Somorjai, N. Tarcai, T. Szorenyi,
ellipse. The user can decide when to end the rotation, which T. Nepusz, and T. Vicsek, Outdoor flocking and formation flight
with autonomous aerial robots, in IEEE/RSJ Int. Conf. on Intelligent
causes another replanning onboard to reach a hover state Robots and Systems (IROS), 2014, pp. 38663873.
above the initial takeoff location. Finally, landing is done [7] Intel and Ars Electronica Futurelab, Drone 100, world record for
using the same groups, minimizing aerodynamic disturbances the most UAVs airborne simultaneously, http://www.spaxels.at/show
drone100.html, 2015.
during landing. [8] R. DAndrea, Meet the dazzling flying machines of the future, TED
Talk, 2016.
E. Swarm Interaction [9] B. Landry, Planning and control for quadrotor flight through cluttered
environments, Masters thesis, MIT, 2015.
A human operator is holding (or wearing) an object [10] J. Forster, System identification of the crazyflie 2.0 nano quadro-
with motion-capture markers. We track the position of that copter, Bachelors Thesis, ETH Zurich, 2015.
[11] A. Ledergerber, M. Hamer, and R. DAndrea, A robot self-
object and broadcast its position alongside the positions of localization system using one-way ultra-wideband communication, in
all quadcopters over the radio. Using the onboard planner IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), 2015,
described in section VII-D, each Crazyflie computes its pp. 31313137.
[12] M. Faessler, F. Fontana, C. Forster, E. Mueggler, M. Pizzoli, and
desired position, which avoids collisions with the obstacle D. Scaramuzza, Autonomous, vision-based flight and live dense 3d
or other quadcopters. mapping with a quadrotor micro aerial vehicle, Journal of Field
Robotics, vol. 1, 2015.
[13] P. J. Besl and N. D. McKay, A method for registration of 3-d shapes,
XII. CONCLUSIONS Trans. Pattern Anal. Mach. Intell., vol. 14, no. 2, pp. 239256, 1992.
[14] N. Trawny and S. I. Roumeliotis, Indirect Kalman filter for 3D
We have described a system architecture for robust, syn- attitude estimation, University of Minnesota, Dept. of Comp. Sci.
chronized, dynamic control of the largest indoor quadcopter & Eng., Tech. Rep. 2005-002, 2005.
swarm to date. Our system fully utilizes the vehicles on- [15] S. Weiss and R. Siegwart, Real-time metric state estimation for
modular vision-inertial systems, in IEEE Int. Conf. on Robotics and
board computation, allowing for robustness against unreli- Automation (ICRA), 2011, pp. 45314537.
able communication and a rich set of trajectory planning [16] D. Mellinger and V. Kumar, Minimum snap trajectory generation and
methods requiring little radio bandwidth. Tests show good control for quadrotors, in IEEE Int. Conf. on Robotics and Automation
(ICRA), 2011, pp. 25202525.
scalability for both latency and tracking performance with [17] K. Hausman, J. Preiss, G. S. Sukhatme, and S. Weiss, Observability-
respect to the swarm size. For a swarm of 49 vehicles, aware trajectory optimization for self-calibration with application to
only 3 radios are required and we obtain a latency be- UAVs, IEEE Robotics and Automation Letters, 2017.
[18] J. Muller and G. S. Sukhatme, Risk-aware trajectory generation with
low 30 ms, allowing moderately aggressive flight maneuvers application to safe quadrotor landing, in IEEE/RSJ Int. Conf. on
using onboard state estimation with mean tracking errors Intelligent Robots and Systems (IROS), 2014, pp. 36423648.
below 2 cm. Our full source code, including tuned parameters

You might also like