Advanced Nonlinear Control for an Omnidirectional Spherical Robot
Integrating Aerial and Ground Mobility
Davide Spitaleri
1a
, Gianluca Pepe
1b
, Maicol Laurenza
2c
, Silvia Milana
1d
,
Flavio Ceccarelli
1
and Antonio Carcaterra
1e
1
Department of Mechanical and Aerospace Engineering, University “La Sapienza”, Eudossiana street, 18, Rome, Italy
2
Department of Engineering, Niccolò Cusano University, Don Carlo Gnocchi street, 3, Rome, Italy
Keywords: Spherical Drone, Rolling Robot, Nonlinear Control, Model-Based Control, Hybrid Dynamic System.
Abstract: This paper presents an innovative control strategy for an overactuated omnidirectional spherical drone,
capable of both flying and rolling on the ground. The control system, based on Feedback Local Optimality
Control (FLOP), utilizes a comprehensive dynamic model that facilitates smooth transitions between flight
and rolling modes, optimizing energy efficiency and enhancing maneuverability. Key features include an
advanced decision-making mechanism for contact detection and a constrained control allocation algorithm
that respects physical limitations. Virtual simulations have demonstrated the control system's robustness and
responsiveness. This spherical drone design not only extends the capability to navigate complex environments
but also enables energy conservation during ground transport.
1 INTRODUCTION
In recent years, mobile robotics has increasingly
focused on spherical robots due to their agility and
stability in complex scenarios, making them ideal for
industrial inspections, exploration of rugged terrains,
urban search and rescue operations in difficult
environment (Diouf et al., 2024). Integrating in a single
system the flight capabilities of traditional multicopters
with the ability to roll on surfaces offers unique
versatility and energy-saving modes during ground
transport. However, the realization of such systems
remains challenging, necessitating innovations in
mechanics, sensing, and control. Current solutions
often present significant limitations that hinder the
widespread adoption of such robots in real
applications. Simpler designs mount traditional coaxial
or quadrotor UAVs inside a protective cage using
connecting rods, but these underactuated
configurations typically suffer from low control
capability, especially in rolling maneuvers (Hou et al.,
a
https://orcid.org/0009-0009-4285-7567
b
https://orcid.org/0000-0002-1444-7765
c
https://orcid.org/0000-0002-3493-0965
d
https://orcid.org/0000-0001-9484-0315
e
https://orcid.org/0000-0002-0355-3925
2013; Zhou et al., 2010). Quadrotors with variable-
pitch propellers, offer versatile operations on land,
water and in the air, but are complex to manage and
maintain (Yao et al., 2021). Improved maneuverability
can be achieved with configurations allowing relative
rotation between the quadrotor and the shell along a
connecting rod equipped with ball bearings, but this
solution favours rolling in one direction (Dudley et al.,
2015; Kalantari & Spenko, 2014). Complete
omnidirectional motion in flight and rolling can be
attained with spherical flying robots equipped with a 3-
axis gimbal mechanism. This design absorbs impacts
by allowing the external cage to rotate passively,
though it introduces high mechanical complexity (Atay
et al., 2021; Briod et al., 2014). Finally, a hybrid aerial
and ground mobility robot with a fully actuated
multirotor system rigidly connected to the spherical
shell offers promising omnidirectional mobility but
requires further development to fully evaluate control
and maneuverability in real-world scenarios (Sabet et
al., 2019).
684
Spitaleri, D., Pepe, G., Laurenza, M., Milana, S., Ceccarelli, F. and Carcaterra, A.
Advanced Nonlinear Control for an Omnidirectional Spherical Robot Integrating Aerial and Ground Mobility.
DOI: 10.5220/0013020300003822
In Proceedings of the 21st International Conference on Informatics in Control, Automation and Robotics (ICINCO 2024) - Volume 1, pages 684-691
ISBN: 978-989-758-717-7; ISSN: 2184-2809
Copyright © 2024 by Paper published under CC license (CC BY-NC-ND 4.0)
Among the various solutions, omnidirectional
flying spherical robots with reversible propellers,
over-actuated and gimbal-less, represent an emerging
and promising area of research, offering high
versatility with reduced mechanical complexity and
improved structural robustness. However, this
configuration requires more sophisticated control to
manage impact moments and transitions between
flight and ground rolling movement, such as in
landing and take-off operations. To pursue this
objective, in this study we implemented a nonlinear
control algorithm that optimizes performance both in
flight and rolling, and that can effectively manage the
transitions during landing and take-off operations.
The Feedback Local Optimality Principle (FLOP)
control, belonging to a special class of optimal
controllers named Variational Feedback Controllers
(Pensalfini et al., 2017; Pepe et al., 2018; Pepe et al.,
2023; Pepe et al., 2019), allows for the integration of
nonlinear behaviors, typical of spherical attitude
control (Spitaleri et al., 2024), and for following
assigned trajectories in feedback. The validation of
the algorithm has been carried out through numerical
simulations in a multibody environment, testing the
robustness of the controller. The control hardware is
emulated in the Simulink MathWorks virtual
environment, where both the hardware and its
integrated sensors are simulated, allowing for
comprehensive testing and development without the
need for physical components.
The paper is organized as follows: Section 2
describes the design of the newly assembled drone;
Section 3 presents the equations of motion that
characterize a rolling-flying sphere; Section 4 details
the control system design; and Section 5 presents
numerical results through simulations in flight,
rolling and mixed modes.
2 SPHERICAL ROBOT DESIGN
The spherical robot developed in this study features a
structure composed of three main elements, as
depicted in Figure 1: an internal central unit, an
external spherical frame, and eight cross-shaped rods.
The internal central part houses the battery and
electronic components, while the external spherical
frame allows for rolling and provides protection. The
aluminium rods connect the internal part to the
external frame of radius 𝑅, ensuring structural
rigidity and enabling the mounting of eight rotors in
a star configuration, one for each rod, as proposed in
(Brescianini & D’Andrea, 2018). The over actuation
and the specific arrangement allow the motors to push
uniformly in different directions, ensuring
omnidirectional control. The other parts of the robot's
chassis are 3D printed from polymer material (PLA),
with the spherical shell featuring a thin and lattice-
like geometry that provides both lightness and
robustness, minimize aerodynamic interference and
ensures smooth rolling. The central unit includes the
Pixhawk 6X flight computer running the open-source
PX4 control software. The onboard sensor system
comprises three six-axis MEMS inertial units, two
barometers, and a magnetometer, offering
stabilization and noise reduction. The robot's rotors
consist of brushless outrunner motors connected to
fixed-pitch, three-blade symmetric propellers capable
of generating variable thrust in both rotational
directions. The electric motors are controlled by two
ESCs, each with four independent outputs that
modulate the voltage applied to the motors via pulse-
width modulation (PWM) control and can reverse the
direction of motor rotation. The six-cell 3300 mAh
lithium polymer battery provides approximately ten
minutes of hover time, delivering a peak power of 6.5
kW.
Figure 1: The newly assembled spherical robot prototype,
featuring a 0.32 m radius spherical shell with a total weight
of 2.3 kg. The robot is equipped with eight thrust motors
and eight reversible three-bladed propellers. The onboard
hardware is centrally positioned within the shell.
3 DYNAMIC MODEL
The dynamic model of a spherical drone capable of
flying and rolling requires an adaptive modeling
approach depending on the operational conditions: (i)
during flight, the model must account for the mass,
inertial and aerodynamic forces. This involves
analyzing the flight dynamics, which includes the
Advanced Nonlinear Control for an Omnidirectional Spherical Robot Integrating Aerial and Ground Mobility
685
thrust of the rotors; (ii) during rolling, it is necessary
to introduce a holonomic constraint that allows
replicating the reaction force of the support plane and
the tangential friction force. The entire dynamic
model serves a dual purpose: on one hand, it enables
testing and validation of the system in a simulated
environment; on the other hand, it is crucial for
implementing the model-based nonlinear control,
described in the following sections. Given the
omnidirectional spherical behavior of the robot, it is
convenient to express the equations of motion using
quaternions𝒒=
𝑞
,𝑞
,𝑞
,𝑞
, refer to (Nikravesh
et al., 1985). Consequently, the rotation matrix 𝑹
from the body frame
𝑏
to the inertial frame
𝑛
(East-North-Up, ENU) is defined as function of
quaternions. Being 𝝎=𝜔
,𝜔
,𝜔
the body
angular velocity expressed in the inertial reference
frame, the body’s rotational kinematics is described
using quaternions as well through the transformation
matrix 𝑬, i.e.
𝒒
=
𝑬(𝒒)𝝎
. The absolute angular
velocity 𝝎
of the 𝑟
-th rotor comprises two
components: the relative rotation of the electric motor
𝜃
oriented along the unit vector e
of each rotating
frame
𝑟
and the angular velocity component of the
drone 𝝎 (see Figure 2 for further details), leading to:
𝝎
=𝑹
(𝒒)𝑹
(
𝜃
)
𝜃
e
+𝝎=𝜃
e
+2𝑬
𝒒
(1)
Where e
=𝑹
e
now indicates the direction of the
action unit vector of the motor's relative rotation,
expressed in reference frame
𝑛
. The rotation matrix
𝑹
allows transformation from the rotating rotor
reference frame
𝑟
to the body reference frame
𝑏
and is defined by an XYZ rotation sequence 𝑹
=
𝑹
(
𝛼
)
𝑹
(
𝛽
)
𝑹
(
𝜃
)
, with the constant parameters
𝛼
e 𝛽
describing the specific mounting orientation
of the individual stator 𝑟
.
From the outset, we choose to divide the vector of
generalized coordinates into two parts, namely the
body and the rotors, as we intend to use only the body
dynamics, while still including the gyroscopic effects
arising from the rotor dynamics. The differential
equations of the dynamic model are derived using the
Euler-Lagrange formulation with the vector of
generalized coordinates 𝜼=
𝜼
,𝜼
.
Here, 𝜼
=
𝑥,𝑦,𝑧,𝑞
,𝑞
,𝑞
,𝑞
is associated to the rigid body
dynamics, including the coordinates 𝒓=
𝑥 𝑦 𝑧
of
the center of mass G and the orientation described by
quaternions. The rotor rotation coordinates are
collected in 𝜼
= 𝜃
,…,𝜃

. The kinetic energy
𝑇 and potential energy 𝑈 of the body and the N-rotors
𝑟
are:
𝑇=
1
2
𝑚𝒓
𝒓
+
1
2
𝝎
𝑹
𝑰
𝑹
𝝎+
+
1
2
𝑚
𝒓
𝒓
+
1
2
𝝎
𝑹
𝑰
𝑹
𝝎

(2)
𝑈=−𝑚𝒓
𝒈− 𝑚
𝒓
𝒈

(3)
where 𝑚 and 𝑰
are respectively the mass and inertia
matrix of the robot, including the spherical shell,
frame, stator part of the electric motors, onboard
electronics and batteries; 𝑚
and 𝑰
are the mass and
inertia matrix of the rotor part of the electric motors,
including the propeller; 𝒈=
0 0 𝑔
is the
gravitational acceleration vector; 𝒓
=𝒓+𝑹
𝒅
represents the position of the center of mass of the
rotating parts, with 𝒅
the fixed geometric
arrangement vector of the i-th rotor relative to the
barycenter G, expressed in the body frame
𝑏
.
The Lagrangian is defined as the difference
between the kinetic and potential energy of the
system ℒ=𝑇𝑈, and is associated with the
problem's constraint conditions. For this reason, the
extended Lagrangian
, which includes holonomic
constraints, is introduced:
(𝜼,𝜼
˙
,𝜆,𝑡)=
(𝜼,𝜼
˙
,𝑡)+𝜆
𝜓
(𝜼,𝑡)
(4)
where the Lagrange multipliers 𝜆
are associated
with the constraint equations 𝜓
(𝜼,𝑡)=0 . It is
important to note that, when representing the motion
of a rigid body in 3D-space using quaternions, a
holonomic constraint must be introduced to ensure
the quaternion unit norm condition:
𝜓
q
(
𝜼
)
=
𝒒
−1=0
(5)
In rolling mode, an additional holonomic constraint is
required to express the contact with a support plane,
assumed in this case to be horizontal:
𝜓
c
(
𝜼
)
=𝑧𝑅=0
(6)
Proceeding with the Euler-Lagrange formulation,
the following differential equations are obtained:
𝑑
𝑑𝑡
∂𝜼
˙
−
∂𝜼
=𝜆
𝜕𝜓
𝜕𝜼
+𝜆
𝜕𝜓
𝜕𝜼
+𝝉
𝑑
𝜓
𝑑𝑡
=0 ,
𝑑
𝜓
𝑑𝑡
=0
(7)
Where 𝝉 is the vector of generalized forces acting on
the robot, detailed in the following paragraph. The
first system equation (7) can be rearranged in the
classic form, comprising the mass matrix 𝑴(𝜼), the
Coriolis matrix 𝑪(𝜼,𝜼
˙
), the gravitational force vector
𝜻(𝜼), and the matrix 𝚿(𝜼) associated to the vector of
ICINCO 2024 - 21st International Conference on Informatics in Control, Automation and Robotics
686
Lagrange multipliers 𝝀=𝜆
,𝜆
for the
corresponding holonomic constraints:
𝑴
(
𝜼
)
𝜼
+𝑪
(
𝜼,𝜼
)
𝜼
+𝜻
(
𝜼
)
=𝚿
(
𝜼
)
𝝀+𝝉
(8)
The first seven rows of equation (8) describe the rigid
body dynamics, while the remaining rows pertain to
the rotor dynamics. The vector 𝝉 expresses the
generalized forces acting on the robot, coming from:
the thrust forces 𝒇
=𝑓
𝑒
generated by propellers
along their respective axes of rotation; the contact
forces 𝒇
generated by the rolling surface and the
spherical shell through the contact point C (see Figure
2); the aerodynamic resistance torques from the
propellers 𝒕
=𝑡
𝑒
and the torques from the
electric motors 𝒕
=𝑡
𝑒
. In our case, the
contribution produced by aerodynamic drag force
acting on the sphere is neglected because of the low
operating translational speed. Due to the typically
high values of the rotors, around tens of thousands of
RPM, the body is significantly influenced by the
Coriolis terms associated to 𝜼
. In contrast, the
rotors’ dynamics is not directly affected by Coriolis
terms and is typically faster than the body's dynamics
because of a shorter transient time. To develop a
model suitable for the controller, we streamline the
system by substituting 𝜼
, obtained from the last
eight rows of equation (8), into the first rows related
to body dynamics. In the end, the new compact
system model, along with the corresponding
constraint equations, takes the form:
𝑴
𝜼
+𝑪

𝜼
+𝑪

𝜼
+𝜻
=
𝜕𝜓
q
𝜕𝜼
𝜆
q
+
𝜕𝜓
𝜕𝜼
𝜆
+𝝉
+𝝉
𝑑
𝜓
q
𝑑𝑡
=0 ,
𝑑
𝜓
𝑑𝑡
=0
(9)
with 𝑴
=𝑴

−𝑴

𝑴


𝑴

. The remaining
forces and torques include those generated by contact
interactions and by the electromotive torques 𝒕
:
𝝉
=
𝒇
,2𝑬
(
𝒅
𝒇
)
(10)
𝝉
=
𝑘𝒕

2𝑬 𝒅
𝑘𝒕
−𝒕

(11)
In fact, experimental bench tests show a linear
relationship 𝑓
=𝑘𝑡
between the thrust forces of
the rotors and their electromotive torque through a
constant parameter 𝑘 (as further explained in Section
4.2). The contact force vector 𝒇
is simply the
tangential friction force, directed along the velocity of
the contact point 𝒓
and defined as:
𝒇
=
𝒓
𝒓
𝜇
(
𝜎
)
𝜆
(12)
Where the Lagrange multiplier 𝜆
represents the
normal reaction force of the plane, while the friction
coefficient
𝜇
is selected as a nonlinear function of the
relative slip 𝜎=
𝒓
given by 𝜇
(
𝜎
)
=𝜇
tanh
(
𝜖𝜎
)
,
with 𝜇
the dynamic friction coefficient and 𝜖 a
smoothing coefficient.
When the drone is in flight, the governing
equation (9) is simplified by removing the contact
constraint 𝜓
with the corresponding Lagrange
multiplier 𝜆
, and the vector of contact interaction 𝝉
.
Finally, the set of second-order differential equations
describing the robot’s motion in rolling and flight
modes can be reduced to affine first-order systems to
optimally utilize the FLOP control algorithm
described in the next section. Defining the state vector
as 𝒙=𝜼
,𝜼
,
𝜆
𝑑𝑡,
𝜆
𝑑𝑡
∈ℝ

for the
rolling mode and 𝒙=𝜼
,𝜼
,
𝜆
𝑑𝑡
∈ℝ

for
the flying mode, we have:
𝒙
=𝝓𝒙,𝜼
𝑟
+𝑫
(
𝒙
)
𝒕
(13)
Where 𝒕
=𝑡
,…𝑡
,…,𝑡

collects the
rotors’ electromotive torques and is considered the
control action of our system. Here, 𝝓𝒙,
𝜼
𝑟
highlights the parametric dependence on the motor
RPMs, appropriately estimated from the commands
sent to the electric motor controllers.
Figure 2: Model of the flying-rolling sphere, showing the
inertial coordinate system 𝑥,𝑦,𝑧 translated in G; the
sphere velocity vectors 𝒓
, 𝝎; the i-th rotor axis 𝑒
along
with its relative velocity 𝜃
; the contact point velocity 𝒓
;
and the contact, thrust and gravity forces.
4 CONTROL SYSTEM DESIGN
The control architecture designed for the autonomous
navigation of the drone is illustrated in Figure 3. The
flight operator can plan a trajectory 𝒙
(𝑡), that
Advanced Nonlinear Control for an Omnidirectional Spherical Robot Integrating Aerial and Ground Mobility
687
Figure 3: Architecture of the Control System designed for the spherical drone, which receives as input the target trajectory to
be followed and the virtualized onboard sensor data and gives as output the PWM signal to the virtual model.
includes both flight segments and rolling segments.
The control system receives this trajectory and
onboard sensor data as inputs and outputs PWM
commands to the electric motors controllers. The
control system consists of five sequential blocks: (i)
the State Estimator assesses the drone's position,
orientation, and translational and rotational
velocities; (ii) the Decision System and Contact
Detection determines whether the drone is in flight,
rolling, landing, or take-off phases; (iii) the FLOP
Control Algorithm calculates the desired "fictitious"
force and torque actions needed to follow the
trajectory; (iv) the Constrained Control Allocation
Algorithm converts the desired actions into physical
actions, specifically the rotors’ electromotive torques
𝑡
, while respecting actuators limits; (v) the Motor
Commands maps the electromotive torques to
commands for the ESCs. To test and tune the control
system, we developed a virtual reference model that
simulates the dynamics in a multibody environment.
In the State Estimator block, the drone's state
estimation is achieved by properly processing data
from the sensors. Specifically, the system's
orientation is estimated using accelerometer,
gyroscope, and magnetometer data from the IMU
platform, implementing filtering and data fusion
techniques typical of the Attitude and Heading
Reference System (AHRS) To enhance the position
and velocity estimates, a Kalman filter was
implemented, integrating accelerometer data and
GPS data from an RTK (Real-Time Kinematic) dual-
antenna system, which provides centimeter-level
accuracy with an update frequency of 10 Hz.
The Decision System, based on onboard sensor
measurements and the output from the Contact
Detection System, determines the operating state of
the drone, such as being in free flight or in rolling
contact. The Contact Detection System analyzes the
vertical acceleration data provided by the IMU and
compares it with the acceleration predicted by both
the rolling contact model (9) and the associated free-
flight model. The system then identifies the state
based on which predicted acceleration value is closest
to the measured data and select the corresponding
model to employ in the control algorithm. A properly
defined moving average filter helps the evaluation
system to reduce false positives caused by noisy
measurements and potential signal oscillations.
4.1 Nonlinear FLOP Control
The control system designed for guiding and
controlling the drone is a nonlinear control type
known as FLOP (Pepe et al., 2018). Instead of
directly providing the 𝑁 electromotive torques 𝑡
as
control variables, this system uses seven fictitious
actions 𝒖=
𝑢
,…,𝑢
. These actions include three
translational forces along the drone's body axes 𝑥𝑦𝑧
and four pseudo-torque actions affecting the
orientation described by quaternions. This approach
allows for the subsequent resolution of a control
allocation problem for the electromotive torque
variables, taking into account the actual constraints
that exist. This process is explained in more detail in
the following section. As illustrated in (Pepe et al.,
2018), the FLOP technique utilizes an affine
reference dynamic model of the type (13), linear in 𝒖,
to provide an approximate solution to the optimal
local control problem of a constrained minimization
problem of the form:
min
𝒖
J =
1
2
(
𝒙−𝒙
)
𝑸
(
𝒙−𝒙
)
+
1
2
𝒖
𝑹𝒖 𝑑𝑡
Subject to: 𝒙
=𝝓
(
𝒙
)
+𝑩𝒖
(14)
ICINCO 2024 - 21st International Conference on Informatics in Control, Automation and Robotics
688
The control vector 𝒖 is premultiplied by the input
matrix 𝑩, properly derived by introducing the
fictitious actions in our model. The solution provided
by the FLOP technique yields an explicit feedback
control formulated as:
𝒖=𝑹

𝑩
𝜕𝝓
𝜕𝒙
1
Δ𝑡
𝑰

𝑸
(
𝒙−𝒙
)
+𝑩
𝒙
−𝝓
(
𝒙
)
(15)
Here, 𝑸 and 𝑹 are matrices containing the control
tuning gains, Δ𝑡 is a positive control parameter, and
the symbol + denotes the pseudo-inverse of matrix
𝑩.
4.2 Constrained Control Allocation
and Motor Command
To determine the necessary electromotive torques for
controlling the drone, a constrained allocation
problem is solved, which involves a linear
programming problem outlined as follows:
min
𝒕
𝜒
𝑩𝒖 − 𝑫𝒕
+
𝜒
𝒕
−𝒕
Subject to: 𝒕
|
𝒕
|
≤𝒕
(16)
The goal is to minimize the sum of two terms, each
weighted by a scaling factor, 𝜒
. The first term, the
most critical, requires that the electromotive torques
𝒕
multiplied by the associated Jacobian matrix 𝑫
closely match the "fictitious" components 𝒖
suggested by the FLOP through 𝑩. The second term
ensures that the new 𝒕
is as close as possible to the
𝒕
determined in the previous time step to obtain a
smoother control action. Moreover, the minimization
problem (16) is constrained by the hard limits that the
electromotive torques 𝒕
must be within the actual
maximum and minimum values, denoted by 𝒕
and
𝒕

, representing the lower and upper boundaries,
respectively.
Finally, the Motor Command block is responsible
for mapping the electromotive torques from the
Constrained Control Allocation to the corresponding
PWM commands to be sent to the ESCs, defined here
in percentage terms. Based on the hypothesis
described in (Brescianini & D’Andrea, 2018), the
PWM signal can be expressed as a polynomial
function of the electromotive torque, defining the
conversion map:
𝑃𝑊𝑀
=𝑐
𝑡
+𝑐
𝑡
⋅𝑠𝑖𝑔𝑛𝑡
+𝑐
(17)
Using a load cell, a series of experimental
measurements were conducted directly on the motor-
propeller assembly to determine the operating points
related to thrust force and transmitted torque. The
conversion map was then analytically calculated by
determining the values of 𝑐
=218.98 Nm,𝑐
=
41.96
Nm
and 𝑐
=50 through a least-squares
problem. Additionally, the coefficient 𝑘=131.14
introduced in (11) was evaluated.
5 NUMERICAL SIMULATION
The system was tested using numerical simulations in
the Simscape multibody environment within
MATLAB & Simulink, serving as a tool for design
support and verification of the control system. The
virtual model comprises a multibody setup with 14-
degree-of-freedom, six for the sphere and eight for the
rotors, and with specific modifications that introduce
misalignments compared to the model used in the
control algorithm. This testing and validation
approach allowed us to assess the robustness of the
algorithm under the following conditions: uncertainty
in the system's mass and inertia of about 5%; actual
electromotive torques with a random variation of
around 10%; thrust forces and aerodynamic torques
on the blades misaligned by up to 10%; contact
dynamics calculated using the penalty method, where
the normal force 𝒇
and tangential friction force 𝒇
are modelled differently:
𝒇
=
0,0,
𝑓
,
𝒇
=
𝒓
𝒓
𝜇
𝑓
𝑓
=
𝑘
𝛿+𝑐
𝛿
𝛿≥0, 𝛿
≥0
𝑘
𝛿𝛿0,𝛿
<0
0𝛿<0
(18)
where 𝛿=𝑅𝑧 is the virtual penetration of the
sphere into the plane, 𝑘
and 𝑐
are the contact
stiffness and damping, respectively, and the friction
coefficient 𝜇 is defined as a piecewise linear function
of the slip. The virtualization of the sensors was
implemented by introducing noise signals into the
state measured from the virtual system to emulate the
real onboard sensors of the Pixhawk 6X.
The numerical simulations include three types of
tests: flight mode control, ground rolling mode
control, and a mixed mode with landing and take-off.
5.1 Flying Mode Test
The first test was conducted to verify the drone's
performance in flight mode, independently
controlling its position and orientation along a
predetermined trajectory. The drone was tasked with
following a helical trajectory with a oscillation period
of 10 s, while maintaining a constant arbitrary angular
velocity
𝝎
. The simulation results, shown in Figure
Advanced Nonlinear Control for an Omnidirectional Spherical Robot Integrating Aerial and Ground Mobility
689
4 demonstrate that the robot can follow the assigned
trajectory well, both in position and orientation, with
a settling position error less than 0.3 m despite
starting from an initial condition different from the
trajectory's start point.
Figure 4: Flying mode test results, showing the position
trajectory in 3D view (a) and the attitude via quaternion (b).
5.2 Rolling Mode Test
A second simulation was conducted to assess the
performance of ground rolling mobility. In this case,
the robot was subjected to a hard maneuvering test
under low-traction conditions, simulating an icy
surface with a dynamic friction coefficient of 0.1.
Additionally, the control system was assumed to be
unaware of the actual traction conditions, considering
a dynamic friction coefficient of 0.5 into (12). This
allows to test the system's robustness under
unexpected slippery conditions. The target trajectory
involved a sharp curve of radius 0.5 m, to be
navigated at a speed of 2 m/s. The results shown in
Figure 5 indicate that the maximum deviation from
the target was about 20 cm, considered satisfactory
given the challenging conditions of the test.
Figure 5: Tracked trajectory in rolling mode.
5.3 Mixed Mode
The final test evaluated the drone's ability to
transition between flight and rolling modes. The robot
Figure 6: Results of the simulation in mixed mode, showing the behavior of the spherical drone during the three phases of
landing, rolling on ground and take-off.
ICINCO 2024 - 21st International Conference on Informatics in Control, Automation and Robotics
690
was tasked with three phases: landing, rolling, and
take-off, while maintain a constant target speed 𝑥
of
0.5 m/s (Figure 6Figure 6). During landing and take-
off, a controlled vertical speed 𝑧
of 0.3 m/s was
required at specific key times. Before landing, the
control system did not have information about the
contact plane's location and imposed a constant
descent speed, until the Decision and Contact
Detection system identified contact around the 4th
second mark, and promptly switched to rolling
control. Due to the low speed of impact, there was no
noticeable bounce, and the motors were managed by
the controller to achieve the desired rolling motion,
resulting in a significant drop in the required power.
At the 16th second mark, the take-off phase was
initiated and the Contact Detection system, unaware
of the take-off command, automatically recognized
the new flight state and subsequently enabled the free
flight control, where the orientation became stable
again and the required power increased accordingly.
6 CONCLUSIONS
This study presents a comprehensive approach to the
design and control of a flying-rolling spherical drone.
The key contributions include the development of a
nonlinear control system, referred to as FLOP, which
effectively manages the drone’s complex dynamics in
both aerial and ground-based operations. The control
architecture integrates state estimation, decision-
making, and force allocation to achieve precise
control in varying operational modes, including
flight, rolling, landing, and take-off. Numerical
simulations validated the proposed control methods,
demonstrating the drone's ability to follow planned
trajectories and maintain stability under different
conditions. Future work involves applying the FLOP
algorithm to the newly constructed prototype and
conducting experimental tests to validate its
performance and robustness in real-world scenarios.
REFERENCES
Atay, S., Bryant, M., & Buckner, G. (2021). The Spherical
Rolling-Flying Vehicle: Dynamic Modeling and
Control System Design. Journal of Mechanisms and
Robotics, 13(5).
Brescianini, D., & D’Andrea, R. (2018). An omni-
directional multirotor vehicle. Mechatronics, 55, 76-93.
Briod, A., Kornatowski, P., Zufferey, J.-C., & Floreano, D.
(2014). A Collision-resilient Flying Robot. Journal of
Field Robotics, 31(4), 496-509.
Diouf, A., Belzile, B., Saad, M., & St-Onge, D. (2024).
Spherical rolling robots—Design, modeling, and
control: A systematic literature review. Robotics and
Autonomous Systems, 175, 104657.
Dudley, C. J., Woods, A. C., & Leang, K. K. (2015). A
micro spherical rolling and flying robot. 2015
IEEE/RSJ International Conference on Intelligent
Robots and Systems (IROS),
Hou, K., Sun, H. X., Jia, Q. X., Zhang, Y. H., Wei, N. Z.,
& Meng, L. (2013). Analysis and Design of Spherical
Aerial Vehicle's Motion Modes. Applied Mechanics
and Materials, 411-414, 1836-1839.
Kalantari, A., & Spenko, M. (2014). Modeling and
Performance Assessment of the HyTAQ, a Hybrid
Terrestrial/Aerial Quadrotor. IEEE Transactions on
Robotics, 30(5), 1278-1285.
Nikravesh, P. E., Wehage, R. A., & Kwon, O. K. (1985).
Euler Parameters in Computational Kinematics and
Dynamics. Part 1. Journal of Mechanisms,
Transmissions, and Automation in Design, 107(3), 358-
365.
Pensalfini, S., Coppo, F., Mezzani, F., Pepe, G., &
Carcaterra, A. (2017). Optimal control theory based
design of elasto-magnetic metamaterial. Procedia
Engineering, 199, 1761-1766.
Pepe, G., Antonelli, D., Nesi, L., & Carcaterra, A. (2018).
Flop: Feedback local optimality control of the inverse
pendulum oscillations. Proceedings of ISMA 2018 -
International Conference on Noise and Vibration
Engineering and USD 2018 - International Conference
on Uncertainty in Structural Dynamics, Leuven.
Pepe, G., Doria, A., Roveri, N., & Carcaterra, A. (2023).
Vibration energy harvesting for cars: semi-active piezo
controllers. Archive of Applied Mechanics, 93(2), 663-
685.
Pepe, G., Laurenza, M., Antonelli, D., & Carcaterra, A.
(2019). A new optimal control of obstacle avoidance for
safer autonomous driving. 2019 AEIT International
Conference of Electrical and Electronic Technologies
for Automotive, AEIT AUTOMOTIVE 2019,
Sabet, S., Agha-Mohammadi, A. A., Tagliabue, A., Elliott,
D. S., & Nikravesh, P. E. (2019). Rollocopter: An
Energy-Aware Hybrid Aerial-Ground Mobility for
Extreme Terrains. 2019 IEEE Aerospace Conference,
Spitaleri, D., Pepe, G., Laurenza, M., Milana, S., &
Carcaterra, A. (2024). Enhancing Spherical Rolling
Robot Control for Slippery Terrain. 2024 13th
International Workshop on Robot Motion and Control
(RoMoCo),
Yao, Y., Deng, Z., Zhang, X., & Lv, C. (2021). Design and
Implementation of a Quadrotor-Based Spherical Robot.
2021 IEEE 5th Advanced Information Technology,
Electronic and Automation Control Conference
(IAEAC),
Zhou, Q. L., Zhang, Y., Qu, Y. H., & Rabbath, C. A. (2010).
Dead reckoning and Kalman filter design for trajectory
tracking of a quadrotor UAV. Proceedings of 2010
IEEE/ASME International Conference on Mechatronic
and Embedded Systems and Applications,
Advanced Nonlinear Control for an Omnidirectional Spherical Robot Integrating Aerial and Ground Mobility
691