# The Visual-Inertial-Dynamical Multirotor Dataset

Kunyi Zhang1,2,∗, Tiankai Yang1,2,∗, Ziming Ding1,2, Sheng Yang3,
Teng Ma3, Mingyang Li3, Chao Xu1,2 and Fei Gao1,2 This work was supported by
the National Key Research and Development Program of China (Grant NO.
2020AAA0108104), Alibaba Innovative Research (AIR) Program, and National
natural Science Foundation of China under Grant 62003299.1State Key Laboratory
of Industrial Control Technology, Institute of Cyber-Systems and Control,
Zhejiang University, Hangzhou 310027, China.2Huzhou Institute, Zhejiang
University, Huzhou 313000, China.3Alibaba DAMO Academy Autonomous Driving Lab,
Hangzhou 311121, China.E-mail: {kunyizhang<EMAIL_ADDRESS>Equal
contributors.

###### Abstract

Recently, the community has witnessed numerous datasets built for developing
and testing state estimators. However, for some applications such as aerial
transportation or search-and-rescue, the contact force or other disturbance
must be perceived for robust planning and control, which is beyond the
capacity of these datasets. This paper introduces a Visual-Inertial-Dynamical
(VID) dataset, not only focusing on traditional six degrees of freedom (6-DOF)
pose estimation but also providing dynamical characteristics of the flight
platform for external force perception or dynamics-aided estimation. The VID
dataset contains hardware synchronized imagery and inertial measurements, with
accurate ground truth trajectories for evaluating common visual-inertial
estimators. Moreover, the proposed dataset highlights rotor speed and motor
current measurements, control inputs, and ground truth 6-axis force data to
evaluate external force estimation. To the best of our knowledge, the proposed
VID dataset is the first public dataset containing visual-inertial and
complete dynamical information in the real world for pose and external force
evaluation. The dataset111https://github.com/ZJU-FAST-Lab/VID-Dataset and
related files222https://github.com/ZJU-FAST-Lab/VID-Flight-Platform are open-
sourced.

##  I Introduction

As the demand of GPS-denied navigation increases, state estimators play an
indispensable role in the real-time estimation of accurate robot poses.
However, in many applications, there is an pressing requirement for the
estimation of contact forces or other disturbances. For instance, in aerial
transportation and delivery, drones are required to operate under a heavy
payload, thus forming a multi-rigid body [1], whose mathematical model needs
to be recognized online. In aerial manipulation, a drone equipped with a
manipulator [2, 3] also requires precise force feedback to stabilize itself.
Moreover, in autonomous flight with severe winds [4, 5, 6], the absence of an
accurate external disturbances estimation significantly harms the
effectiveness of planning and control. In response to the above, we propose a
dataset containing multirotor dynamics as well as visual and inertial data.

In the decade, there are several datasets [7, 8, 9, 10, 11] for state
estimation of aerial robots have been proposed. These datasets typically
provide exteroceptive sensing, including imagery and range measurements, and
proprioceptive data such as inertial measurements, for developing onboard pose
estimation algorithms. The EUROC dataset [7] pioneers the visual-inertial
benchmarking for drones, where a collection of sequences with accurate ground
truth is presented. Although the EUROC dataset significantly pushes the
boundary of visual SLAM, it only contains motions with moderate speed, thus
not applicable to aggressive flights. The Zurich Urban MAV [8] dataset
contains long-distance data recorded from a tethered multirotor flying in an
urban environment without highly accurate ground truth. The Upenn Fast Flight
[9] provides challenging sequences of fast speed and changing illumination but
lacks ground truth as well. Recently, UZH proposes a first-person-view (FPV)
dataset [10] to challenge the capability of existing state estimation
algorithms in extreme conditions. This dataset consists of visual, event, and
inertial streams collected in aggressive flights. Besides, the Blackbird
Dataset [11] also targets high-speed applications. It provides fruitful scenes
with photorealistic image rendering and also includes motor speed sensors.

Figure 1: Multirotor platform built for the dataset |  EuRoC MAV [7] |  Zurich Urban MAV [8] |  UPenn Fast Flight [9] |  UZH FPV dataset [10] |  Blackbird dataset [11] | Ours
---|---|---|---|---|---|---
Cameraa | 20$Hz$ | 20$Hz$ | 40$Hz$ | 30/50$Hz$ | 120/60$Hz^{e}$ | 60$Hz^{Synced}$
IMU | 200$Hz$ | 10$Hz$ | 200$Hz$ | 500/1000$Hz$ | 100$Hz$ | 400$Hz^{Synced}$
Segmentation | n/a | n/a | n/a | n/a | 60$Hz$ | n/a
Ground truth | 100$Hz$ | n/a | n/a | 20$Hz$ | 360$Hz$ | 100/5$Hz$
RTK | n/a | n/a | n/a | n/a | n/a | 5$Hz$
Control inputsb | n/a | n/a | n/a | n/a |  190$Hz$ | 100$Hz^{Synced}$
Tachometerc | n/a | n/a | n/a | n/a |  190$Hz$ | 1000$Hz^{Synced}$
Ammeterc | n/a | n/a | n/a | n/a | n/a | 1000$Hz^{Synced}$
6-axis force sensord | n/a | n/a | n/a | n/a | n/a | 100$Hz$
TABLE I: Multirotor datasets comparison. ${{}^{\emph{a}}}$ Frequencies are
expressed as (general image)/(range image). ${{}^{\emph{b}}}$ Control inputs
mean the veritable inputs to motors, including target rotor speeds and motor
currents. ${{}^{\emph{c}}}$ Both are measurements of rotor speed and motor
current. ${{}^{\emph{d}}}$ Sensor data from a 6-axis force sensor.
${{}^{\emph{e}}}$ Visual environments are synthesized in photorealistic
simulation. ${{}^{\emph{Synced}}}$ Sensor data are time-synchronized in the
VID dataset.

Thanks to the above-mentioned public datasets, state estimation algorithms
have been significantly improved in the last decade. The early visual odometry
systems, such as SVO [12], ORB-SLAM [13] and DSO [14] estimate 6-DoF poses
with merely images. Modern IMU-aided visual odometry systems, including MSCKF
[15], Vins-Mono [16], OpenVINS [17] and ORB-SLAM3 [18], opt to utilize
accelerometer and gyroscope as kinematic inputs to get more accurate state
estimation. Besides, model-based visual-inertial odometry VIMO [19] and
visual-inertial-dynamics state estimation VID-Fusion [20], which
simultaneously estimate the pose and the external force, are a trending
research topic emergent in the recent SLAM community. Since a multirotor’s
dynamical characteristics can be determined entirely from the rotor model
[21], dynamics is considered as a new information source that can further help
state estimation, especially for highly aggressive motions. These estimators
also obtain the external force, torque, or disturbance applied to the vehicle
in real-time as a byproduct.

Nevertheless, few datasets focus on the dynamical characteristics of
multirotor platforms to support the aforementioned researches. The Blackbird
dataset [11] takes one step towards this by providing a model of multirotor
dynamics, which is simply described as the sum of all motor speeds and their
corresponding thrusts. There are four additional motor speed sensors (as
tachometers) embedded in the multirotor with customized optical motor
encoders, and the thrust coefficient measured from experiments conducted in a
wind tunnel. However, there are some drawbacks existing in the Blackbird
dataset. Firstly, only one propeller thrust coefficient is provided to
represent all. Actually for a multirotor, the thrust coefficients usually vary
(as in TABLE III). Secondly, the Blackbird dataset is insufficient for
interactive perception of the environment due to the absence of ground truth
of external force.

Figure 2: Flight platform with coordinates.

To bridge this gap and lay the foundation for developing a dynamics-aided
state estimator for multirotors, we herein present the VID dataset with
complete dynamical characteristics. The distinctive features of the VID
dataset compared with others are demonstrated in TABLE I. Besides, there are
several unique contributions of this work:

  1. 1.

An available and completely public dataset for pose and external force
estimation, which includes visual, inertial and dynamical data as well as the
ground truth of external forces and poses.

  2. 2.

An open-sourced flight platform equipped with versatile sensors for more
advanced applications, along with fully identified dynamical and inertial
parameters.

  3. 3.

A general and exhaustive hardware synchronization solution for time alignment
of images, inertial measurements, control inputs, rotor speeds, and motor
currents, which leads to better sensor fusion.

##  II Datasets

###  II-A Flight platform

The platform (as in Fig. 1) is modified from a 650mm wheelbase
multirotor333https://www.dji.com/cn/matrice100. To get high-precision
measurements of rotor speed and motor current, a motor with a pair of
orthogonal Hall position sensors and a current sampling
unit444https://www.robomaster.com/zh-CN/products/components/general/M3508 is
selected as the propulsion unit. There are a depth
camera555https://www.intelrealsense.com/depth-camera-d435i, a IMU integrated
with the flight controller666https://www.dji.com/cn/n3, a customized circuit
board2 installed with 2 microcontrollers, separately for motor control (Ctrl-
MCU) and hardware synchronization (Sync-MCU), and a
computer777https://www.dji.com/cn/manifold-2 for data collection equipped on
the multirotor. Here, we list common parameters of the multirotor and onboard
sensors in TABLE II and show the relevant coordinates in Fig. 2. The hardware
system framework is shown in Fig. 3.

Figure 3: Hardware system framework (Red lines: sync pluses)

###  II-B Data sources

####  II-B1 Rotor speed and motor current

The motor feedbacks rotor speed and current messages with the Controller Area
Network (CAN) at 1000$Hz$. The Sync-MCU monitors the above messages and sends
them to the onboard computer by a Universal Asynchronous Receiver Transmitter
(UART). The units of rotor speed and current are revolutions-per-minute
($rpm$) and $\frac{{20}}{{{2^{16}}}}A$.

####  II-B2 Control input

The flight controller continuously generates control commands and sends them
out by Pulse Width Modulation (PWM) waves. The Ctrl-MCU measures the waves to
get 100$Hz$ target rotor speeds and uses a PID regulator with feedforward
compensation to calculate target motor currents at 100$Hz$. Then, the Ctrl-MCU
sends the control inputs (target rotor speeds and motor currents) to the CAN
bus, and the Sync-MCU converts the above CAN messages to UART packs and sends
them to the computer.

####  II-B3 IMU

The IMU measures acceleration, angular velocity and magnetometer data at
400$Hz$.

####  II-B4 Camera

The camera offers stereo imagery and range measurements at 60$Hz$.

###  II-C Hardware time synchronization

To improve the quality of sensor fusion, the above onboard sensors are
hardware synchronized by electronic pulses. Fig. 3 illustrates the relevant
devices, pulses and dataflow. When the time synchronization system starts to
work, the flight controller generates a pulse-per-sec (PPS) and marks the IMU
data corresponding to the pulse (one pulse every 400 IMU data). The camera
generates a 60$Hz$ pulse, which corresponds to the time when the camera starts
to expose. The Sync-MCU monitors both above pulses and stamps them with its
internal time. Besides, the Sync-MCU stamps the rotor speeds and motor
currents from the CAN bus when receiving them. After the pulse messages are
checked and processed, the data from different reference systems are aligned
to the system.

###  II-D Ground truth

####  II-D1 Indoor pose

In an ${18m\times 9m\times 3.5m}$ indoor environment, we use a motion capture
system888https://www.vicon.com/hardware/cameras/vantage composed of 15 cameras
to provide the multirotor’s 6-DOF pose at $100Hz$.

####  II-D2 Outdoor pose

In a ${100m\times 35m}$ outdoor parking environment (Fig. 4), the multirotor
is equipped with a Global-Navigation-Satellite-System (GNSS)
receiver999https://www.zhdgps.com, which subscribes to a Real-Time Kinematic
(RTK) location service101010https://mall.qxwz.com/market/services/FindCM and
receives the multirotor’s pose at $5Hz$.

Figure 4: Experiment place. (1) Outdoor scene in a parking lot. (2) Indoor
scene when recording data.

####  II-D3 External force

As shown in Fig. 4, we fix a 6-axis force
sensor111111https://robotiq.com/products/ft-300-force-torque-sensor on the
ground. Indoors, we use an elastic rope with one end fixed on the force sensor
and the other end pulling the multirotor to obtain the ground truth of the
external forces acting on the multirotor during flight.

Figure 5: Propulsion system unit test (Seq. 19). (1) Target rotor speed and measured rotor speed; (2) Target motor current and measure motor current; (3) The thrust measured by the force sensor and the thrust fitted from rotor speed; (4) The torque measured by the force sensor and the torque fitted by rotor speed and motor current.  Prop. | Value | Description | Prop. | Value | Description
---|---|---|---|---|---
$l$ | 650 $mm$ | Distance wheelbase | propeller | 13 $\times$4.4 $inch$ | Propeller model
$\eta_{n}$ | 1 $rpm$ | Resolution of tachometera | $\sigma_{n}$ | 1.459 $rpm/\sqrt{Hz}$ | Noise density of tachometera
$\eta_{I}$ | 1.2207${e^{-3}}A$ | Resolution of ammetera | $\sigma_{I}$ | 4.950${e^{-2}}A/\sqrt{Hz}$ | Noise density of ammetera
$\sigma_{g}$ | 0.001 $rad/s/\sqrt{Hz}$ | Noise density of gyr.b | $\sigma_{b_{g}}$ | 3.500e-5 $rad/s^{2}/\sqrt{Hz}$ | Gyr. random walk biasb
$\sigma_{a}$ | 0.100 $m/s^{2}/\sqrt{Hz}$ | Noise density of acc.b | $\sigma_{a_{g}}$ | 4.000e-3 $m/s^{3}/\sqrt{Hz}$ | Acc. random walk biasb
$\eta_{f}$ | [0.1, 0.1, 0.1] $N$ | Noise of force sensorc | $\eta_{m}$ | [5e-3, 5e-3, 3e-3] $N\cdot m$ | Noise of torque sensorc
$T{{}_{I}^{C}}$ | [1.8875e-1, 1.75e-3, 5.55e-2] $m$ | Trs. IMU $\rightarrow$ camerad,e | $T{{}_{I}^{G}}$ | [0.0, 0.0, 9.25e-3] $m$ | Trs. IMU $\rightarrow$ geometricd,f
Image size | 640px$\times$480px | Image width and height | baseline | 50$mm$ | Distance between stereo pair
TABLE II: Multirotor characteristics. ${{}^{\emph{a}}}$ Characteristics of the
rotor tachometers and the motor ammeters are statistically calibrated.
${{}^{\emph{b}}}$ IMU calibration result by Allan covariance.
${{}^{\emph{c}}}$ Noise of force sensor parameters are tested by static
experiments. ${{}^{\emph{d}}}$ ${T_{A}^{B}}$ represents translation from A
frame to B frame in A frame. ${{}^{\emph{e}}}$ Camera extrinsic translation
parameter from CAD model. ${{}^{\emph{f}}}$ We define the center of the
multirotor as the geometric center with the same direction as the IMU frame,
which is obtained from the CAD model.

##  III Data validation

###  III-A Dynamical system modelling

In order to establish the complete dynamics of the multirotor, a basic
aerodynamic modelling of a single propeller propulsion system is required.
Here, the Rankine-Froude momentum theorem [22] models the steady-state thrust
$T$ (unit: $N$) and counter torque $M$ (unit: $N\cdot m$) generated by a
hovering rotor, as shown below:

$\displaystyle T$ $\displaystyle:=C_{T}\rho AR^{2}\omega^{2},$ (1)
$\displaystyle M$ $\displaystyle:=C_{M}\rho AR^{3}\omega^{2},$

where, for any rotor, ${C_{T}}$ is the thrust coefficient, ${C_{M}}$ is the
torque coefficient. ${\rho}$ is the density of air, ${A}$ is the rotor disk
area, ${R}$ is the radius of rotor and ${\omega}$ is the angular velocity.
${C_{T}}$ and ${C_{M}}$ depend on rotor geometry and profile. We replace
angular velocity ${\omega}$ (unit: ${rad/s}$) with the rotor speed ${n}$
(unit: ${rpm}$), and briefly express Eq. (1) as the following lumped
parameters:

$\displaystyle T$ $\displaystyle=k{{}_{t}}n{{}^{2}},$ (2) $\displaystyle M$
$\displaystyle=k{{}_{m}}n{{}^{2}}+J{{}_{r}}\dot{n},$

where, $k{{}_{t}}$, $k{{}_{m}}$ and $J{{}_{r}}$ mean thrust coefficient,
counter torque coefficient and rotor’s moment of inertia of z-axis,
respectively. It should be noted that, compared with Eq. (1), Eq. (2) adds the
additional torque generated when the rotor accelerates and decelerates [23].

In order to identify the above models, we mount a motor fixed with a propeller
to the 6-axis force sensor, and obtain the model parameters by analyzing its
tachometer and thrust data. Fig. 5 shows the aerodynamics of a propulsion
unit, the complete identification parameters are listed in the TABLE III. The
thrust coefficients of the four channels are similar, but the torque
coefficients differ significantly, especially between the clockwise and
counterclockwise propellers.

|  $k{{}_{t}}$ $(N/rpm^{2})$ |  $k{{}_{m}}$ $(N\cdot m/rpm^{2})$ |  $J{{}_{r}}$ $(kg\cdot m^{2})$ |  $k{{}_{I}}$ $(N\cdot m/A)$
---|---|---|---|---
$1$ | 2.6890$e$-7 | -5.6343$e$-9 | -9.8316$e$-6 | -2.7506$e$-5
$2$ | 2.8190$e$-7 | 4.7180$e$-9 | 8.5648$e$-6 | 2.2204$e$-5
$3$ | 2.7263$e$-7 | -5.7012$e$-9 | -9.7166$e$-6 | -2.7694$e$-5
$4$ | 2.7741$e$-7 | 4.8260$e$-9 | 9.8131$e$-6 | 2.1910$e$-5
TABLE III: Propeller dynamics model. The number represents the designed
multirotor’s rotor or motor channel, counting from the upper right corner
counterclockwise. A negative sign means the opposite direction.

Apart from rotor speed ${n}$, motor armature current $I{{}_{m}}$ is also
provided for redundant input resource. The counter torque provided by the
rotor is equivalent to the output torque of the motor, and according to
electric machinery [24], the latter is proportional to the armature current.
We can build another torque model as follows:

$\displaystyle M$ $\displaystyle=M{{}_{e}}-M{{}_{0}}$ (3)
$\displaystyle=k{{}_{I}}(I{{}_{m}}-I{{}_{0}}),$

where $k{{}_{I}}$ is the current torque coefficient. $I{{}_{0}}$ and
$M{{}_{0}}=k{{}_{I}}I{{}_{0}}$ represent actual no-load current and no-load
torque, respectively. In other words, we can only drive the rotor to rotate if
armature current $I{{}_{m}}$ is greater than $I{{}_{0}}$. The forth chart of
Fig. 5 also adds a comparison with Eq. 3. The corresponding current torque
coefficients of the multirotor are also shown in TABLE III. Besides, the
relationship of rotor speed and motor current can be derived from Eq. 2 and 3
and formulated as follow:

$\displaystyle
I_{m}=\frac{k{{}_{m}}n^{2}+J{{}_{r}}\dot{n}}{k{{}_{I}}}+I{{}_{0}},$ (4)

which is shown in Fig. 6.

###  III-B Rotor speed and motor current

Figure 6: Comparison of the relationship between rotor speed and current with
measured value and fitting model (Seq. 19).

For more rapid motor response, we use corresponding motor current calculated
by Eq. 4 to output to the ESC, rather than controlling the motor directly by
PWM on our platform. In order to verify the accuracy of the rotor speed and
motor current and the validity of dynamical model of the propulsion unit, we
compare target rotor speed and its corresponding motor current with their
measured values in the same sequence demonstrated in Fig. 5. As shown, the
actual (measured) values can closely track the target values by the
aforementioned method. In fact, however, neither of them can reach the
theoretical maximum due to the insufficient driving forces of the ESCs. By the
way, the measured motor current data is drawn after filtering due to the high
noise level.

###  III-C Calibration

In order to make better use of the sensor data, it is of great importance to
get the characteristics of the sensors themselves, the extrinsic parameters
between different sensors and the inertial parameters of the flight platform.

The extrinsic parameters between the IMU and the camera are calibrated by
Kalibr [25] or measured from CAD drawings. IMU intrinsic parameters are
calibrated by Kalibr-allan121212https://github.com/ethz-asl/kalibr/wiki/IMU-
Noise-Model. Besides, we also quantitatively analyze the noise characteristics
of the rotor tachometers and current ammeters. More detailed information can
be found on the website1.

Figure 7: Pose estimation of various algorithms in different sequences.

##  IV Experiments

###  IV-A Pose estimation

Robust and accurate pose estimation is beneficial for external force
estimation, so we select two scenarios to show the accuracy of some state-of-
the-art algorithms before external force estimation. OpenVINS, ORB-SLAM3 and
VINS-Fusion work with binocular images and inertial measurements, Vins-Mono
takes monocular images and inertial measurements, VIMO and VID-Fusion add some
dynamical model and rotor speed compared to Vins-Mono. The last two regard the
multirotor as a mass point model, so we input the algebraic sum of the 4
propeller thrusts (as described in III-A) as the driving force to the
algorithms. It is worth mentioning that, all algorithms take the same camera
intrinsic, extrinsic parameters, imu parameters, and dynamics parameters with
loop-closure disabled.

As shown in Fig. 7, OpenVINS, Vins-Mono, VIMO and VID-Fusion outperform over
the other two algorithms, yet VIMO and VID-Fusion with extra dynamical
information do not show a significant improvement over Vins-Mono in indoor
sequences. ORB-SLAM3 works best outdoors, while OpenVINS hangs due to the
presence of a moving vehicle in the initial field of view. Evaluation results
are provided by [26]. The VID dataset is competent for the evaluation of
vision-based pose estimation algorithms, and we choose Vins-Mono, which works
relatively well indoors, to do a comparative test in external force
estimation.

###  IV-B External force estimation

The external force estimation performance of VID-Fusion and VIMO is evaluated
in three scenarios including flights without load (seq. 13), with load (seq.
16) and with a elastic rope (seq. 17). Fig. 9 illustrates that both algorithms
can sense and estimate the weight of the load during flight and the ground
support after landing, which corresponds to the multirotor weight withoutload.
But VIMO can not estimate the force correctly after the multirotor is loaded,
mainly because it models the external force as a zero-mean noise. Fig. 8
demonstrates the external force estimation from the rope pulling experiment
(seq. 17). Both algorithms can barely track the change in the contact force
(the force transmitted by the rope), but also have errors in the z-axis.

Figure 8: External force estimation with a pulling rope. Figure 9: External
force estimation with loads. Figure 10: Pose estimation of VID-Fusion, VIMO
and Vins-Mono. Figure 11: IMU acceleration bias estimation.

To explore the two algorithms in more detail, Vins-Mono is chosen to compare
their pose and acceleration bias estimation in the same scenarios.

####  IV-B1 without load

The three algorithms have similar performance in pose estimation (Fig. 10-a)
and all the estimated acceleration biases converge to the same value (Fig.
11-a).

####  IV-B2 with a fixed load

Although VIMO and VID-Fusion perform better in pose estimation (Fig. 10-b),
the former could not estimate external force correctly (Fig. 9) with a
different convergence of bias estimation (Fig. 11-b).

####  IV-B3 external force changes

In the scenario where a rope is attached between the multirotor and the force
sensor, there is little difference among the three algorithms in pose
estimation (Fig. 10-c). VIMO and VID-Fusion can’t track the external force
ideally (Fig. 8), which may lead to biased estimation of acceleration bias
(Fig. 11-c).

##  V Discussion and future work

###  V-A Conclusion

In this paper, we develop a multirotor platform carrying various time-
synchronized sensors. Besides, we present the VID multirotor dataset for state
and external force estimation. By several experiments, we validate the
utilities of our proposed dataset and identify some problems with existing
algorithms in external force estimation.

  1. 1.

VIMO and VID-Fusion estimate a joint external force through the known
dynamical model. Once the mass and the thrust coefficients are provided
inaccurately, they would be counted in the external force.

  2. 2.

In both algorithms, the multirotor dynamics do not contribute significantly to
pose estimation either in the absence of external forces or in the presence of
a constant load. And if the external force varies, it affects the bias
estimation, or worse, would cause the estimator to crash when the external
force changes too much, for example, during take-off or landing.

  3. 3.

It is not reasonable to treat all forces other than thrust as a combined
external force, since there is such as drag force that can be modeled during
flight.

###  V-B Limitations

Our dataset still has several known limitations which need to be addressed in
the near future.

  1. 1.

It is unaggressive flight data, because of insufficient motor power.

  2. 2.

It is inconvenient to provide the ground truth of external torques during
flight.

  3. 3.

It is abscent to provide more detailed and accurate model and its parameters
instead of the individually identified propulsion units during flight.

###  V-C Future work

It is our sincere hope that the VID dataset will facilitate scientific
research and industrial applications in related fields.

In the future, we plan to improve the capabilities of drones by equipping more
perceptual sensors (such as event camera or lidar), offering more detailed
parameters, recording more aggressive and challenging sequences, providing
ground truth of external torques which are lacking currently.

## References

  * [1] C. Y. Son, H. Seo, D. Jang, and H. J. Kim, “Real-time optimal trajectory generation and control of a multi-rotor with a suspended load for obstacle avoidance,” _IEEE Robotics and Automation Letters_ , vol. 5, no. 2, pp. 1915–1922, 2020.
  * [2] S. Kim, S. Choi, H. Kim, J. Shin, H. Shim, and H. J. Kim, “Robust control of an equipment-added multirotor using disturbance observer,” _IEEE Transactions on Control Systems Technology_ , vol. 26, no. 4, pp. 1524–1531, 2018.
  * [3] D. Lee, D. Jang, H. Seo, and H. Jin Kim, “Model predictive control for an aerial manipulator opening a hinged door,” in _2019 19th International Conference on Control, Automation and Systems (ICCAS)_ , 2019, pp. 986–991.
  * [4] H. Seo, D. Lee, C. Y. Son, C. J. Tomlin, and H. J. Kim, “Robust trajectory planning for a multirotor against disturbance based on hamilton-jacobi reachability analysis,” in _2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_. IEEE, 2019, pp. 3150–3157.
  * [5] J. Ji, X. Zhou, C. Xu, and F. Gao, “Cmpcc: Corridor-based model predictive contouring control for aggressive drone flight,” in _International Symposium on Experimental Robotics_. Springer, 2020, pp. 37–46.
  * [6] Y. Wu, Z. Ding, C. Xu, and F. Gao, “External forces resilient safe motion planning for quadrotor,” _IEEE Robotics and Automation Letters_ , vol. 6, no. 4, pp. 8506–8513, 2021.
  * [7] M. Burri, J. Nikolic, P. Gohl, T. Schneider, J. Rehder, S. Omari, M. W. Achtelik, and R. Siegwart, “The euroc micro aerial vehicle datasets,” _The International Journal of Robotics Research_ , vol. 35, no. 10, pp. 1157–1163, 2016.
  * [8] A. L. Majdik, C. Till, and D. Scaramuzza, “The zurich urban micro aerial vehicle dataset,” _The International Journal of Robotics Research_ , vol. 36, no. 3, pp. 269–273, 2017.
  * [9] K. Sun, K. Mohta, B. Pfrommer, M. Watterson, S. Liu, Y. Mulgaonkar, C. J. Taylor, and V. Kumar, “Robust stereo visual inertial odometry for fast autonomous flight,” _IEEE Robotics and Automation Letters_ , vol. 3, no. 2, pp. 965–972, 2018.
  * [10] J. Delmerico, T. Cieslewski, H. Rebecq, M. Faessler, and D. Scaramuzza, “Are we ready for autonomous drone racing? the uzh-fpv drone racing dataset,” in _2019 International Conference on Robotics and Automation (ICRA)_. IEEE, 2019, pp. 6713–6719.
  * [11] A. Antonini, W. Guerra, V. Murali, T. Sayre-McCord, and S. Karaman, “The blackbird uav dataset,” _The International Journal of Robotics Research_ , p. 0278364920908331, 2020.
  * [12] C. Forster, M. Pizzoli, and D. Scaramuzza, “Svo: Fast semi-direct monocular visual odometry,” in _2014 IEEE international conference on robotics and automation (ICRA)_. IEEE, 2014, pp. 15–22.
  * [13] R. Mur-Artal, J. M. M. Montiel, and J. D. Tardos, “Orb-slam: a versatile and accurate monocular slam system,” _IEEE transactions on robotics_ , vol. 31, no. 5, pp. 1147–1163, 2015.
  * [14] J. Engel, V. Koltun, and D. Cremers, “Direct sparse odometry,” _IEEE transactions on pattern analysis and machine intelligence_ , vol. 40, no. 3, pp. 611–625, 2017.
  * [15] M. Li and A. I. Mourikis, “High-precision, consistent ekf-based visual-inertial odometry,” _The International Journal of Robotics Research_ , vol. 32, no. 6, pp. 690–711, 2013.
  * [16] T. Qin, P. Li, and S. Shen, “Vins-mono: A robust and versatile monocular visual-inertial state estimator,” _IEEE Transactions on Robotics_ , vol. 34, no. 4, pp. 1004–1020, 2018.
  * [17] P. Geneva, K. Eckenhoff, W. Lee, Y. Yang, and G. Huang, “Openvins: A research platform for visual-inertial estimation,” in _2020 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2020, pp. 4666–4672.
  * [18] C. Campos, R. Elvira, J. J. G. Rodríguez, J. M. Montiel, and J. D. Tardós, “Orb-slam3: An accurate open-source library for visual, visual–inertial, and multimap slam,” _IEEE Transactions on Robotics_ , vol. 37, no. 6, pp. 1874–1890, 2021.
  * [19] B. Nisar, P. Foehn, D. Falanga, and D. Scaramuzza, “Vimo: Simultaneous visual inertial model-based odometry and force estimation,” _IEEE Robotics and Automation Letters_ , vol. 4, no. 3, pp. 2785–2792, 2019.
  * [20] Z. Ding, T. Yang, K. Zhang, C. Xu, and F. Gao, “Vid-fusion: Robust visual-inertial-dynamics odometry for accurate external force estimation,” in _2021 IEEE International Conference on Robotics and Automation (ICRA)_. IEEE, 2021, pp. 14 469–14 475.
  * [21] R. Mahony, V. Kumar, and P. Corke, “Multirotor aerial vehicles: Modeling, estimation, and control of quadrotor,” _IEEE Robotics and Automation magazine_ , vol. 19, no. 3, pp. 20–32, 2012.
  * [22] J. Leishman, _Principles of Helicopter Aerodynamics_ , ser. Cambridge Aerospace Series. Cambridge University Press, 2016. [Online]. Available: https://books.google.co.jp/books?id=uscAMQAACAAJ
  * [23] J. Svacha, J. Paulos, G. Loianno, and V. Kumar, “Imu-based inertia estimation for a quadrotor using newton-euler dynamics,” _IEEE Robotics and Automation Letters_ , vol. 5, no. 3, pp. 3861–3867, 2020.
  * [24] S. Chapman, _Electric Machinery Fundamentals_. McGraw-Hill, 2012.
  * [25] P. Furgale, J. Rehder, and R. Siegwart, “Unified temporal and spatial calibration for multi-sensor systems,” in _2013 IEEE/RSJ International Conference on Intelligent Robots and Systems_ , 2013, pp. 1280–1286.
  * [26] Z. Zhang and D. Scaramuzza, “A tutorial on quantitative trajectory evaluation for visual(-inertial) odometry,” in _IEEE/RSJ Int. Conf. Intell. Robot. Syst. (IROS)_ , 2018.