## Abstract

This paper presents the dynamic modeling and control of a bi-modal, multirotor vehicle that is capable of omnidirectional terrestrial rolling and multirotor flight. It focuses on the theoretical development of a terrestrial dynamic model and control systems, with experimental validation. The vehicle under consideration may roll along the ground to conserve power and extend endurance but may also fly to provide high mobility and maneuverability when necessary. The vehicle uses a three-axis gimbal system that decouples the rotor orientation from the vehicle’s terrestrial rolling motion. A dynamic model of the vehicle’s terrestrial motion is derived from first principles. The dynamic model becomes the basis for a nonlinear trajectory tracking control system suited to the architecture of the vehicle. The vehicle is over-actuated while rolling, and the additional degrees of actuation can be used to accomplish auxiliary objectives, such as power optimization and gimbal lock avoidance. Experiments with a hardware vehicle demonstrate the efficacy of the trajectory tracking control system.

## 1 Introduction

Multi-modal or hybrid mobile robots continue to draw attention from researchers due to their versatility and success in traversing unknown and unstructured terrain. Such vehicles show particular promise in subterranean operations, where long endurance and high mobility are required [1–7]; these are often competing requirements for a single locomotion mechanism, whereas a judicious combination of complementary locomotion mechanisms can provide both efficiency and mobility.

A bi-modal locomotion combination that has recently received attention from researchers is that of a multirotor, rolling-flying vehicle (MRFV) [6,8–14]. MRFVs contain a multirotor vehicle at their core, combined with a means of rolling locomotion. The rotors provide the sole source of propulsion, whether rolling or flying. This arrangement combines the mobility and maneuverability of multirotor flight with the efficiency of rolling locomotion, making MRFVs attractive candidates for subterranean operations. One of the earliest MRFVs is the Hy-TAQ [13], which places a quadrotor at the center of a cylindrical cage with a single axis of rotation to permit forward rolling. Takahashi et al. [11] and Atay et al. [10] create and analyze two-wheeled MRFVs which permit yawing without slipping.

A key challenge for researchers has been to demonstrate controlled, terrestrial trajectory tracking of MRFVs in closed-loop; most authors do not discuss nor design a control system and only [10] reports any experimental, closed-loop control system data from a hardware prototype. One reason for this is the existence of a constrained (or preferential) rolling direction enforced by the kinematic constraints of the rolling mechanism (e.g., wheels ([9,11,12]), cylindrical cage ([6,13,14])). This means that the orientation of the multirotor vehicle is coupled to the motion of the rolling mechanism. As a result, when an obstacle or disturbance is encountered at the rolling mechanism, (e.g., a bump in terrain), the multirotor, and therefore propulsion direction, is affected. This effect is exacerbated as the distances between wheels (or lengths of cylindrical cages) increase. This makes trajectory tracking control difficult on all but the most benign terrains, i.e., smooth, flat ground. One strategy to address this challenge is to decouple the multirotor from the terrestrial rolling mechanism. Mizutani et al. [15] accomplish this by suspending the multirotor vehicle within a series of nested gimbals that are surrounded by a spherical cage; the cage may rotate compliantly in response to encountering an obstacle while leaving the multirotor vehicle within unperturbed. A commercial embodiment of this strategy is the Elios^{™} by Flyability^{™} (Paudex, Switzerland), which is an inspection drone surrounded by a protective cage. Though both systems contain a gimbal system within a spherical cage, neither is intended to locomote by rolling; both are flying vehicles, and the gimballed cage helps the vehicles remain stable in flight despite collisions with obstacles. Other researchers have enclosed multirotor vehicles within static (i.e., nongimballed) protective cages [16,17]. However, these vehicles are not capable of (nor intended for) rolling locomotion because they cannot control the orientation of their rotors with respect to their cages.

### 1.1 Contributions.

The spherical multirotor rolling-flying vehicle (SRFV) presented in this paper consists of a quadrotor suspended within a three-axis gimbal system that is surrounded by a spherical cage. An image of the SRFV appears in Fig. 1. The gimbals permit the quadrotor within to rotate independently of the spherical cage, while the cage serves as the rolling mechanism and protects the vehicle. Therefore, the SRFV combines the virtues of the MRFV of [8–10] (i.e., aerial mobility and maneuverability, terrestrial efficiency) with the benefits of a decoupling gimbal mechanism and a spherical cage.

In particular, the SRFV’s gimbal and spherical cage arrangement reduces the sensitivity of the quadrotor’s orientation to terrain disturbances (as in Ref. [15]), which helps address the control challenge faced by existing MRFVs. Additionally, using a spherical cage (rather than wheels or a cylindrical cage) places the point at which the vehicle contacts the terrain nearer to the vehicle’s center. This reduces the moment arm through which disturbance forces caused by the terrain produce deleterious disturbance moments. Furthermore, the spherical cage makes contact with the terrain at one (or a few closely spaced) point(s), meaning that *differences* in the terrain between contact points are less likely to generate large disturbance moments; this is a significant advantage over a wheeled or cylindrical MRFV wherein the distance between the terrain contact points is typically as large as the vehicle itself. Taken together, these characteristics reduce the SRFV’s sensitivity to terrain disturbances compared with existing MRFVs. Additionally, the kinematic independence of the SRFV’s quadrotor and spherical cage permits controlled, omnidirectional rolling; the SRFV’s three-axis gimbal system decouples the rotor orientation from the cage orientation so that the SRFV can generate thrust is any direction, irrespective of the direction of terrestrial rolling motion. This contrasts with existing MRFVs, which can only generate thrust in a vertical plane that is parallel to the direction of terrestrial rolling motion. As a result, the SRFV offers inherent advantages in terrestrial mobility compared with existing MRFVs.

Several authors use off-the-shelf (OTS) flight controllers on their MRFVs, e.g., PixHawk [14], ArduCopter [13]. Others retrofit a complete OTS quadrotor vehicle with a rolling mechanism and use the onboard flight controller [12,15]. These controllers are inherently limited as they are designed to control flying multirotor vehicles. Their limitations as they relate to control, control allocation, and power optimization are discussed in Ref. [10]. In particular, OTS quadrotor controllers and control allocation methods limit the quadrotor’s range in pitch and roll. As a result, most of the thrust produced by an OTS quadrotor controller is directed vertically, which does no work to propel a terrestrial vehicle on flat ground. Such limitations reduce the potential energetic benefits of the SRFV’s rolling mode and prohibit complete control of the rotors’ thrust direction. This paper presents a novel, terrestrial control system for the SRFV which permits thrust generation in any direction; the quadrotor’s pitching and rolling range are unlimited.

The control system design is based on a terrestrial dynamic model of the SRFV. The model considers the translational and rotational dynamics of the quadrotor and spherical cage, along with nonholonomic rolling constraints. This paper is the first to produce a dynamic model of the SRFV.

Additionally, the SRFV is over-actuated while rolling. This paper describes how the additional degrees of actuation can be used to optimize SRFV operation by controlling the ground reaction normal force. The result is a control system that leverages the SRFV’s over-actuation to simultaneously accomplish control and optimization objectives.

### 1.2 Outline.

This paper is organized as follows: Sec. 2 develops a six-DOF dynamic model of the SRFV’s terrestrial motion using the Newton–Euler method of mechanics. The nonholonomic kinematics of the SRFV are derived, providing a method for vehicle odometry. Section 3 utilizes this model to design a trajectory tracking control system for terrestrial motion, the output of which is the two-dimensional position of the SRFV upon a horizontal plane. In addition, this section describes how the vehicle is over-actuated while rolling and discusses methods for optimizing the performance of the SRFV by leveraging the extra degrees of actuation. Section 4 describes a hardware embodiment of the SRFV, along with a description of the sensors required to implement the trajectory tracking controller. Section 5 presents simulation results and empirical results obtained from the hardware embodiment of the SRFV, both of which demonstrate favorable trajectory tracking.

## 2 Modeling

### 2.1 Mathematical Nomenclature.

This section briefly describes the mathematical conventions and nomenclature used to derive the terrestrial dynamic model of the SRFV. Lowercase, uppercase, and double struck sub- and superscripts refer to points, bodies, and coordinate reference frames, respectively. The position vector $rabC$ represents the position of point *b* relative to point *a* resolved (i.e., expressed) in the ℂ coordinate frame of reference. $rab,pC$ indexes the element of $rabC$ in the *p*-direction, where *p* can be *x*, *y*, or *z*. The velocity vector $Dr\u02d9abC$ is the derivative with respect to (i.e., measured by an observer fixed in) reference frame $D$ of the position of point *b* relative to point *a* resolved in coordinate frame ℂ. The acceleration vector $EDr\xa8abC$ is the derivative with respect to reference frame $E$ of the derivative with respect to reference frame $D$ of the position of point *b* relative to point *a* resolved in coordinate frame ℂ. The angular velocity $\omega ABC$ is the angular velocity of frame $B$ with respect to frame $A$ resolved in frame ℂ. The angular acceleration $D\omega \u02d9ABC$ is the derivative with respect to frame $D$ of the angular velocity of frame $B$ with respect to frame $A$ resolved in frame ℂ. $[a]x$ represents the skew-symmetric matrix formed from the elements of the vector $a$ such that $[a]xb=a\xd7b$. $CAB$ is a rotation matrix that transforms a vector’s frame of resolution from $A$ to $B$ such that $rB=CABrA$. A hat over a vector quantity indicates a unit vector, e.g., the unit vector of $r$ is $r^$. $i^$, $j^$ and $k^$ represent the orthonormal basis vectors of ℝ^{3} so that $i^=[100]T,$$j^=[010]T$, and $k^=[001]T$.

### 2.2 Model Formulation.

This section presents the mathematical model of the SRFV’s terrestrial motion.

(1) Bodies and reference frames

Figure 2 contains schematic diagrams of the SRFV rolling upon a rough, horizontal, inertial plane. The vehicle is modeled as a rigid body *A* (the quadrotor, small interior rings) suspended within three, nested, massless gimbals *G*_{1} (vertical ring), *G*_{2} (horizontal ring), and *G*_{3} (horizontal rod) that create a three-dimensional (3D) pendulum. The gimbals are housed within a perfectly spherical shell *B* (thin outer circles) that rolls without slipping on the inertial plane. The outermost gimbal *G*_{1} is fixed to the interior of the spherical shell. The center of both the spherical shell and the gimbal assembly is point *b*. Reference frame $I$ is an inertial reference frame fixed to the plane at point *i*, and reference frames $A$ and $B$ are attached to bodies *A* and *B*, respectively. Reference frame $B$ is attached to body *B* at point *b*, i.e., the geometric center of the spherical shell. The center-of-mass (CoM) of *A* is at point *a*, and does not necessarily coincide with *b*, but is offset by a distance *h* (not labeled in Fig. 2) in the negative $y^A$-direction, i.e., $rbaA=[00\u2212h]T$. Point *b* is fixed in bodies *A* and *B* so that rotation of *A* with respect to *B* occurs about point *b*.

*b*projected in the $x^I$-$y^I$ plane, the gimbal angles

*β*

_{1},

*β*

_{2}, and

*β*

_{3}, and the orientation of the $A$ with respect to $I$, parameterized by a quaternion $qIA$. Therefore, the generalized coordinates are

(2) Gimbals

*A*is free to rotate about point

*b*(via the gimbal assembly) within the sphere

*B*so that the orientations of $A$ and $B$ are independent. The rotation matrix relating $A$ and $B$ is a function of the gimbal angles

*β*

_{1},

*β*

_{2}, and

*β*

_{3}, which are associated with

*G*

_{1},

*G*

_{2}, and

*G*

_{3}, respectively:

*R*

_{p}(

*θ*) represents a rotation of

*θ*radians about the

*p*-axis, where

*p*∈ {

*x*,

*y*,

*z*}. That is, the

*G*

_{1}rotates about the shared

*z*-axis of $B$ and

*G*

_{1},

*G*

_{2}rotates about the shared

*y*-axis of

*G*

_{1}and

*G*

_{2}, and

*G*

_{3}rotates about the shared

*x*-axis of

*G*

_{2}and

*G*

_{3}. The angular velocity $\omega BA$ is related to the gimbal rates by

*G*

_{q}gimbal for

*q*∈ {1, 2, 3}. That is, $\beta \u02d9q$ is the angular velocity that would be measured by a rotary encoder at the

*q*th gimbal joint. Although rotation between $A$ and $B$ is unconstrained, a dissipative moment due to gimbal bearing friction is modeled as an equal and opposite reaction moment $Mb$ between

*A*and

*B*. Therefore

*b*

_{i}is a viscous damping coefficient associated with gimbal

*G*

_{i}. Additionally, the free-body diagrams of Fig. 3 indicate that there is an equal and opposite reaction force $Fb$ between bodies

*A*and

*B*at point

*b*. Note that other moments internal to the gimbals (i.e., those orthogonal to gimbal rotation) are neglected because the gimbals are kinematically modeled as an unrestricted 3D pendulum. As a result, physical gimbal lock phenomena are not predicted by the model presented in this section. Lastly, because the gimbals are massless, $Mb$ and $Fb$ are sufficient to describe the direct reactions between bodies

*A*and

*B*.

(3) Rolling reactions

*B*contacts the plane at point

*c*so that $rbcI=[00\u2212R]$, where

*R*is the radius of sphere

*B*. The ground contact force $Fc$ acts on

*B*at the point

*c*. This force includes both the normal and rolling reaction forces. A moment due to rolling resistance $Mrr$ is applied to, and opposes the motion of, the sphere

*B*. Assume that $Mrr$ is proportional to normal force

*F*

_{N}, which is the component of $Fc$ in the $I$ frame

*z*-axis direction, i.e., $FN=z^ITFc$, where $z^I$ is the unit vector in the direction of the $I$ frame

*z*-axis. Then, if $Mrr$ is in a direction opposing the motion of

*B*

*c*

_{rr}is a terrain-dependent coefficient of rolling resistance and the definition of

*C*

_{rr}∈ ℝ

^{3×3}follows from Eq. (5).

(4) Control inputs

*A*. Because of the fixed orientation of the rotors, $FR$ is entirely in the $z^A$-direction, i.e., $FRA=FR,zAk^$. As a result

*i*th rotor as

*T*

_{i}and

*Q*

_{i}, respectively. By invoking the hover assumption, which is standard in the quadrotor literature [18],

*T*

_{i}and

*Q*

_{i}can be expressed as

_{i}is the angular velocity of the

*i*th rotor about its axis, and

*k*

_{Q}and

*k*

_{T}are the rotor torque and thrust constants, respectively. Therefore, the control $u$ can be expressed in terms of the thrusts

*L*is the perpendicular distance of each rotor to point

*a*projected in the

*x*-

*y*plane of $A$,

**T**∈ ℝ

^{4×1}is a vector of thrusts, and the definition of

*c*

_{rotor}follows from Eq. (8).

(5) Equations of motion for body

(spherical shell)*B*

*B*in Fig. 3(b). Summing forces yields

*B*about its CoM

*b*, yields

*I*

_{bB}is an inertia tensor of body

*B*about point

*b*. Substituting Eq. (5) into (10) results in

*B*:

(6) Equations of motion for body

(quadrotor)*A*

*A*in Fig. 3(a)

*A*about point

*b*, yields

*I*

_{bA}is an inertia tensor of body

*A*about point

*b*. Invoking the transport theorem, the velocity and acceleration kinematics of

*A*are

(7) Solving the equations of motion

*f*∈ ℝ

^{6×1}and g ∈ ℝ

^{6×4}follow from Eq. (27), and the superscript $A$ indicates that all quantities in the parentheses are resolved in the $A$ frame. Note that g in this context is not to be confused with the gravitational acceleration $g$ from the dynamic model.

(8) Generalized velocity

*B*plus 3D orientation of

*B*plus 3D orientation of

*A*), the motion of the system is confined to a six-dimensional subspace of the configuration space. This is due to the nonholonomic rolling constraints on the system; the linear velocity $Ir\u02d9ib$ is completely determined by $\omega IB$ according to Eq. (12). As a result, Eq. (27) is sufficient to completely describe the motion of the system. To see this, resolve Eq. (12) in the $I$ frame and isolate the

*x*- and

*y*-components:

Since $CAI$ is a function of $qIA$ and $CAB$ is a function of $\beta $, $q\u02d9$ only depends on $\omega IAA$, $\omega IBA$, and $q$.

## 3 Control System Design

In this section, a closed-loop, trajectory tracking control system is developed to control the terrestrial motion of the SRFV.

### 3.1 Control System Objectives.

The objective of the control system is to force point *b* of the SRFV to track a trajectory in the *x*-*y* plane of the inertial frame $I$. The control system consists of an outer position control loop and an inner orientation control loop, which is a common practice in the control of flying quadrotors [19]. However, a trajectory tracking controller intended for a conventional *flying* quadrotor is not appropriate for the *terrestrial* control of the SRFV. A flying quadrotor tracks a three-dimensional (3D) position (or velocity) in the inertial frame, and a heading angle. However, while on the ground, the SRFV only tracks a two-dimensional (2D) position (or velocity) in the inertial frame; altitude, and heading angle control are unnecessary. Therefore, there are only two quantities that must be tracked by the SRFV’s terrestrial controller, rather than the four required to control a flying quadrotor. As a result, the SRFV is over-actuated while rolling. In fact, there are two “extra” degrees of actuation which can be used to optimize the terrestrial operation of the SRFV. First, the actuation mechanism that would otherwise control the heading of a flying quadrotor may be used by the SRFV to avoid gimbal lock while rolling. Second, the component of the control force $FR$ in the $z^I$ direction (denoted $FR,zI$) can be directly prescribed while rolling. This force, which is typically used to control altitude in a conventional quadrotor, can instead be used to reduce the normal reaction between the SRFV and ground, thereby reducing rolling resistance. This phenomenon is discussed in detail by Ref. [8], and techniques to leverage this additional degree of control to minimize power consumption or maximize range are discussed by Ref. [20]. Other normal force optimization strategies could achieve a desired tradeoff between minimizing power consumption and minimizing the impact that the SRFV has on the surrounding environment, or the audible noise generated by the rotors. Note that OTS quadrotor controllers are not capable of arbitrarily prescribing $FR$, i.e., the range over which they can control roll and pitch is limited.

### 3.2 Control System Description.

*x*- and

*y*-components of a desired control force $FR,desI$ to be synthesized by the SRFV’s rotors. The

*z*-component of $FR,desI$ is specified directly to control the vehicle normal force, as described above. Recall from Sec. 2.2.4 that the control force $FR$ is constrained to be in the $z^A$ direction, which is normal to the plane of the rotors. That is

*x*- and

*y*-components of the desired angular acceleration $I\omega \u02d9IA,desA$ that would regulate the RPN error to zero. This desired angular acceleration is termed $\alpha des$, i.e., $\alpha des\u2261[I\omega \u02d9IA,x,desAI\omega \u02d9IA,y,desA]T$. Both the kinematic equations of the RPN error and the $I\omega \u02d9IAA$ equations of motion are nonlinear, so feedback linearization is used to determine the control $u\u2261[FR,zAMRAT]T$. The feedback linearized equations, which are underdetermined, are augmented with equations for $FR,zA$ and $MR,zA$ prior to solving. Thus, the solutions of $MR,xA$ and $MR,yA$ are informed by the auxiliary objectives of $FR,zA$ and $MR,zA$. $MR,zA$ may be chosen freely, or determined via a gimbal lock avoidance algorithm, while the value of the control $FR,zA$ is assigned to be the component of $FR,desI$ in the true $z^AI$ direction:

### 3.3 Odometry.

### 3.4 Position Controller Design.

The goal of the position controller is to force the *x*- and *y*-components of $ribI$ to track a desired trajectory $(ribI,Ir\u02d9ibI,IIr\xa8ibI)des$ in the *x*-*y* plane. The plant model used to design the position control system is a simplified version of the dynamic model derived in Sec. 2.2. The simplifying assumptions are

- –
The body

*B*is a uniform, spherical shell so that $IbBI=IbBB$ is a diagonal matrix, and the principal moments of inertia are identical, i.e., $IbB,xxB=IbB,yyB=IbB,zzB$. Therefore $I\omega IB\xd7IbBI\omega IB=0$ in Eq. (23). - –
The rolling resistance coefficient

*c*_{rr}= 0, therefore*C*_{rr}= 0_{3×3}. Rolling resistance provides open-loop damping, which is desirable from a stability perspective. Therefore, we do not attempt to compensate for rolling resistance, which could lead to instability if the estimate of*c*_{rr}were uncertain. Since the terrain characteristics are not known a priori, the most conservative action is to assume*c*_{rr}= 0. - –
Gimbal viscous friction is negligible, i.e.,

*b*_{1}=*b*_{2}=*b*_{3}= 0, therefore $Mb=0$. As with rolling resistance, gimbal friction is a source of stability and is difficult to quantify. - –
$h=0\u2234rba=0$. The result of this assumption is that $FR$ is the only control affecting $ribI$.

*x*- and

*y*-components of $IIr\xa8ibI$ are decoupled and linear, so the control for each component can be designed separately using state feedback. Moreover, the two designs will be identical. Let

*e*

_{j}represent the error in the

*j*th component of $ribI$, i.e., $ej\u2261rib,j,desI\u2212rib,jI$, where

*j*can be

*x*or

*y*. The differential equation describing the evolution of the error is

*v*

_{j}such that

*e*

_{j}→ 0. The assumptions outlined at the beginning of this section can result in a steady-state error due to modeling inaccuracies, particularly the assumption that

*B*is perfectly spherical and that

*c*

_{rr}= 0. To combat this, we also require that $e\u02d9j\u21920$, which results in an integrator in the control law. The state feedback control law is chosen to be

*K*= [

*K*

_{1}

*K*

_{2}

*K*

_{3}] are selected using LQR or pole-placement. The final control law is

If the integrator is not desired or unnecessary, it can be omitted by placing the first pole at the origin, resulting in *K*_{1} = 0. In the broader context of the entire trajectory tracking control system, the control law Eq. (37) specifies the *x*- and *y*-components of $FR,desI$ which, together with prescribed value of $FR,z,desI$ from the normal force optimization strategy, are the input to the RPN controller.

### 3.5 Rotor-Plane-Normal Controller.

An RPN control system is described in this section. The goal of the RPN controller is to force $z^A$ to align with $z^A,des$, where $z^A,desI=F^R,desI$. The plant model used to design the RPN control system is a simplified version of the dynamic model derived in Sec. 2.2. The simplifying assumptions are identical to those from the position controller design (Sec. 3.4) with the exception that the *h* = 0 assumption is relaxed; the CoM of *A* does not have to coincide with the center of the sphere *B*.

*γ*between $z^A$ and $z^A,des$, as shown in Fig. 5. Therefore, the magnitude of $eRPN$ is $sin\gamma 2$ and the direction of $eRPN$ is normal to both $z^A$ and $z^A,des$. This is a desirable error metric because the magnitude of $sin\gamma 2$ is maximum when

*γ*= ±

*π*radians, and the direction of $eRPN$ is in the direction of $A$-frame rotation that will bring $z^A$ and $z^A,des$ into alignment. Differentiating Eq. (40) yields

*c*

_{1}and

*c*

_{2}follow from Eq. (47). Resolving Eq. (47) in the $A$ frame yields

*x*-,

*y*-, and

*z*-directions, only $eRPN,xA$ and $eRPN,yA$ are independently controlled because $eRPN,zA=0$, always. Note that this does

*not*imply that $Ie\u02d9RPN,zA=0$ nor that $IIe\xa8RPN,zA=0$. Furthermore, while $IIe\xa8RPNA\u2208R3\xd71$, only two inputs (namely $I\omega \u02d9IA,xA$ and $\omega \u02d9IA,yA$) determine its evolution. That is, the third column of $c1A$ is always zeros. An intuitive explanation is that only two controls are required to specify a direction, such as $z^A$, in ℝ

^{3}. Therefore, only the dynamics of $IIe\xa8RPN,xA$ and $IIe\xa8RPN,yA$ are prescribed, and this is accomplished via $I\omega \u02d9IA,xA$ and $\omega \u02d9IA,yA$. To that end, define a variable $\u03f5$ such that

*x*-,

*y*-directions, so a single controller will be designed and applied to each axis. As with the position control system, a state feedback controller of the form

*ε*

_{j}is the

*j*-component of the of $\u03f5$ and the gains

*K*= [

*K*

_{1}

*K*

_{2}

*K*

_{3}] are selected using LQR or pole-placement. An integral term ensures that $z^A\u2192z^A,des$ even in the presence of modeling errors and disturbances, such as uncertainty in

*h*. As before, if the integrator is not desired nor necessary, it can be omitted by placing the first pole at the origin, resulting in

*K*

_{1}= 0. With the virtual control defined, (51) is substituted into (50) and solved for $\alpha $. The result is the desired value of $\alpha $ (i.e., $I\omega \u02d9IA,xA$ and $\omega \u02d9IA,yA$) necessary to achieve $\u03f5\u21920$, which is referred to as $\alpha des$

*z*-axis. This moment cannot influence $\u03f5\xa8$ because $\u03f5$ is invariant under rotation about the $A$ frame

*z*-axis; $MR,zA$

*only*influences $I\omega \u02d9IA,zA$, and $I\omega \u02d9IA,zA$ does

*not*influence $\u03f5\xa8$. That is, $\u03f5\xa8$ only depends on $I\omega \u02d9IA,xA$ and $I\omega \u02d9IA,yA$, i.e $\alpha .$ This fact motivates the definition of a control variable that excludes $MR,zA$. Define $u3\u2261[FR,zAMR,xAMR,yA]T$ and rewrite Eq. (54) as

Note that $FR,zA$ cannot be partitioned out in this way because the first column of $[I2\xd7202\xd71]gA$ is nonzero, indicating that $FR,zA$ does influence $\alpha $. Equation (61) is the control law for the RPN controller, which forces $z^A$ to track $z^A,des$ while simultaneously controlling normal force and avoiding gimbal lock, if desired. Formulating the control law thus requires a second-order and third-order matrix inverse and produces an identical result to (58). Lastly, note that only $MR,xA$ and $MR,yA$ are strictly required to control the trajectory of the SRFV; the use of $MR,zA$, which is particularly inefficient, can be avoided if desired.

### 3.6 Control Allocation.

However, if the elements of $T$ are constrained to be positive, as is the case for most rotors (i.e., the rotors only rotate in one direction), then (62) cannot be used because it may prescribe a negative thrust. Therefore, a constrained control allocation method must be used that solves (8) such that all elements of $T$ are positive. If the control allocation solution is constrained, then $u$ cannot be exactly realized. The control allocation solution is more likely to be constrained if $FR,zA$ is small or $|MRA|$ is large, as these conditions make Eq. (62) more likely to produce negative $T$ values [10]. The control allocation solution for flying quadrotors is usually unconstrained owing to a large desired $FR,zA$ required to support the quadrotor’s weight in flight. In the case of the SRFV in terrestrial mode, the desired $FR,zA$ is considerably smaller since the vehicle rests on the ground. As a result, the SRFV is more likely to have a constrained control allocation solution, meaning that $FR,zA$ is larger than desired. Therefore, $FR,desI$ is not synthesized exactly. Since $FR,desI$ is the control for the position (see Sec. 3.4), a constrained control allocation solution can affect the performance of the trajectory tracking controller. Rough, uneven terrain also has a negative effect on tracking performance (see empirical results in this paper), however rough terrain, characterized by a large *c*_{rr} value, requires large $FR,zA$ values. Therefore, the control allocation solution is less likely to be constrained in such cases.

## 4 Hardware Embodiment

A hardware embodiment of the SRFV is constructed to test the trajectory tracking controller. An image of the hardware SRFV appears in Fig. 6(a) with notable mechanical hardware components indicated. The “spherical shell” of the SRFV is a 42-faced geodesic icosahedral cage constructed of carbon fiber rods. The rods are joined at 80 vertices by 3D-printed joints. The quadrotor body is made of composite carbon fiber and balsa wood sheet (DragonPlate^{®}, Elbridge, NY). Gimbals *G*_{1} and *G*_{2} are custom rings made of carbon fiber sleeve set in epoxy, whereas *G*_{3} is a bearing-mounted carbon fiber rod passing through the quadrotor body. The gimbals are nested within the cage and are supported by double ball bearings at each end. The angles and angular rates of the gimbals are measured by three quadrature encoders, one per gimbal. Two slip rings permit passing electronic cables through the bore of the gimbals’ shafts. The outer slip ring passes power and encoder signals from *G*_{1} to the inner slip ring. The inner slip ring passes these cables, plus power and encoder signals from *G*_{2}, to the control board mounted on the quadrotor body. The INS provides orientation and angular rate data (i.e., $CAI$ and $\omega IAA$) to the control board. Although the focus of this paper is the SRFV’s terrestrial locomotion, the SRFV can demonstrate controlled flight and has a thrust-to-weight of approximately two.

Figure 6(b) is an image of the SRFV’s custom electronic control board. The control board contains an ARM Cortex-M7 microcontroller (STMicroelectronics^{™} STM32F767ZIT6U, Geneva, Switzerland) operating at 216 MHz. The microcontroller reads the gimbal encoders, INS (VectorNav Technologies^{®} VN-200, Dallas, TX), backup INS (Bosch^{®} BNO055, Farmington Hills, MI), and altimeter (Bosch^{®} BMP388), plus senses battery voltage and current to estimate power, communicates serially with two Zigbee radios (Digi^{®} XBee Pro S2C, Hopkins, MN) for telemetry and control commands, respectively, generates pulse-width-modulated signals to drive the four motor controllers (Crazepony^{™} BL Heli 32, Shenzhen, China), and executes all control algorithms. These tasks all occur in a hardware-timed interrupt that executes at 1 kHz. The average time to execute the interrupt is 370 *μs*. Power is provided by a 3-cell (11.1 V) Lithium-polymer battery.

The mathematical model parameters describing the hardware SRFV appear in Table 1. Moment of inertia values are estimated based on the mass and geometry of the vehicle. The *c*_{rr} value is estimated based on the terrain (uneven grass) on which the empirical experiments are carried out. The rotor characteristics *k*_{T} and *k*_{Q} are measured directly using a load cell on a test stand.

Parameter | Value |
---|---|

R (m) | 0.25 |

h (m) | 0.02 |

L (m) | 0.085 |

m_{A} (kg) | 0.8 |

m_{B} (kg) | 0.29 |

$IbA,xxA,IbA,yyA$ (kg-m^{2}) | 0.0027 |

$IbA,zzA$(kg-m^{2}) | 0.0053 |

$IbB,zzB$ (kg-m^{2}) | 0.0121 |

c_{rr} | 0.035 |

b_{1}, b_{2}, b_{3} (N-m/(rad/s)) | 2.5 × 10^{−4} |

k_{T} (N/(rad/s)) | 2.5344 × 10^{−6} |

k_{Q} (N-m/(rad/s)) | 3.5653 × 10^{−8} |

Parameter | Value |
---|---|

R (m) | 0.25 |

h (m) | 0.02 |

L (m) | 0.085 |

m_{A} (kg) | 0.8 |

m_{B} (kg) | 0.29 |

$IbA,xxA,IbA,yyA$ (kg-m^{2}) | 0.0027 |

$IbA,zzA$(kg-m^{2}) | 0.0053 |

$IbB,zzB$ (kg-m^{2}) | 0.0121 |

c_{rr} | 0.035 |

b_{1}, b_{2}, b_{3} (N-m/(rad/s)) | 2.5 × 10^{−4} |

k_{T} (N/(rad/s)) | 2.5344 × 10^{−6} |

k_{Q} (N-m/(rad/s)) | 3.5653 × 10^{−8} |

## 5 Results

The efficacy of the control system is evaluated via simulation studies and experiments with the hardware SRFV. The simulation and empirical results are presented in this section.

### 5.1 Simulation Setup.

^{®}. This system is shown in the block diagram of Fig. 4. The model parameters used in the simulations are based on the parameters of the hardware SRFV (Sec. 4), and are listed in Table 1. The SRFV is simulated by numerically integrating the equations of motion and the kinematic relationships presented in Eqs. (38) and (29), respectively. Care must be taken when numerically integrating the equations of motion to ensure that the frame of resolution is the same as the frame with respect to which differentiation occurs. Therefore, the transport theorem is used so that differentiation of angular velocity in the equations of motion is with respect to the $A$ frame. The transport theorem indicates that

*c*

_{rotor}is defined in Eq. (8).

### 5.2 Control System Parameters.

All components of the trajectory tracking control system are executed in simulation. To permit comparison of simulated and empirical results, the desired control system pole locations used to generate the simulations are identical to those deployed on the hardware embodiment of the SRFV. The pole locations for the position control system and RPN control system are chosen based on the performance of the hardware SRFV. While better performing control systems can be achieved in simulation by choosing more aggressive pole locations, such designs do not yield acceptable performance of the hardware SRFV because of unmodeled actuator dynamics; parametric and modeling uncertainties in the rotor and electric motor result in $T$ synthesis errors. Furthermore, it is observed from both simulation and empirical results that the error integrator is not necessary in either the position or RPN controllers. The closed-loop pole locations for the position control system are *λ*_{1} = 0, *λ*_{2} = −8, and *λ*_{3} = −47. The pole *λ*_{1} = 0 results in the state feedback gain *K*_{1} = 0, indicating that the integrator is unused. Likewise, the closed-loop pole locations for the RPN control system are *λ*_{1,RPN} = 0 and *λ*_{2,3,RPN} = −1.95 ± 2.81*i*. The desired trajectory is a figure-eight pattern: $rib,desI=[sin(2\pi 10t)2sin(2\pi 20t)]T$. For simplicity of implementation, $Iz^\u02d9A,des$ and $IIz^\xa8A,des$ are assumed to be zero, as their calculation requires numerically differentiating or filtering $z^A,des$, which comes from the position controller. For both the simulated and empirical studies, the gimbal lock avoidance block is disabled so that $MR,zA=0$. Also, $FR,z,desI$ is set at 0.5 N.

### 5.3 Simulated Results.

Figure 7 shows the results of the simulation. The SRFV trajectory tracking control system demonstrates good tracking performance (Figs. 7(a) and 7(c)); the mean of the position error norm $\Vert e\Vert \xaf$ is 0.0545 m. The vehicle is initially at rest, which explains the large, transient deviation from the command seen near the origin in Fig. 7(c). Beyond this transient the mean error norm is 0.0475 m. Figure 7(b) shows the RPN controller tracking the desired control force $FR,desI$. Note that $FRI$ does not appear to track $FR,desI$ well, and that the magnitude of each component of $FRI$ is typically greater than $FR,desI$. Closer inspection shows that $FRI$ has the same shape as $FR,desI$, but with a slightly larger magnitude. In fact, the *direction* of $FRI$ tracks the *direction* of $FR,desI$ well, i.e., $z^A\u2192z^A,des$. The difference in the magnitude of $FRI$ and $FR,desI$ occurs because the control allocation solution is constrained. That is, the moments required to orient the quadrotor body so that $z^A\u2192z^A,desI$ would require negative thrusts. Since the vehicle is not capable of producing negative thrusts, the control allocation solution can only generate the required moments by increasing the total thrust $\Vert FRI\Vert =FR,zA$ beyond that which is desired. So, while the RPN controller effectively controls the direction of $FRI$, the magnitude of each component of $FRI$ is greater than desired.

This can be seen more clearly in Fig. 8, which illustrates the control $u$ and thrust $T$. Figure 8(a) shows that the $FR,zA>FR,z,desA$ for nearly the entire time, indicating that the control allocation solution is constrained. This is reflected in Fig. 8(b), showing the value of the four thrusts. Note that at nearly all times at least one thrust is saturated at zero. The mean RPN error norm $\Vert eRPN\Vert \xaf$ is 0.0512. Nevertheless, the overall trajectory tracking performance remains good.

### 5.4 Empirical Results.

Figure 9 shows the results of the trajectory tracking control system deployed on the hardware SRFV. Approximately 3.5 figure-eight transits are executed. From Fig. 9(b), the mean of the position error norm $\Vert e\Vert \xaf$ is 0.173 m, about three times greater than that predicted by the simulation. The difference is primarily due to unmodeled terrain characteristics. In the simulation, the terrain has a constant rolling resistance coefficient *c*_{rr}, whereas the experiments are carried out on medium length grass with uneven terrain. The evenness of the terrain varies on approximately the same scale as the vehicle size; small bumps, mounds of grass, grassless pockets, and depressions in the terrain on the order of hundreds of millimeters are present. As a result, the vehicle is constantly responding to perturbations in position introduced by the changing terrain. Despite this, the trajectory tracking control system demonstrates good tracking performance with errors on the same scale as the terrain obstacle size. Small gaps in data can be seen in Fig. 9(c). These are artifacts of the data acquisition system buffering and saving the data. The data have been appropriately shifted in time to account for these “blank” periods, which occur for approximately 1 s every 15 s.

Figure 10 shows a composite image of the SRFV tracking a figure-eight trajectory in closed loop. Snapshots from a video of the SRFV executing the trajectory are superimposed to create this image.

Figure 11 illustrates the performance of the RPN controller. To obtain these data, $z^A,desI$ is prescribed manually using a joystick. This ensures sufficient excitation in all directions to demonstrate accurate tracking. Shown in Figs. 11(a) and 11(b) are the *x*- and *y*-components, respectively, of $z^AI$ tracking $z^A,desI$. Figure 11(c) shows *β*_{2} and *β*_{3} as a function of time. The dashed horizontal lines are located at odd multiples of *π*/2, at which point *G*_{2} is in gimbal lock. In general, $z^AI$ closely tracks $z^A,desI$. Exceptions occur when *G*_{2} is close to gimbal lock. An example of such a situation is highlighted by the yellow ellipses; large, brief tracking errors occur when *β*_{2} = − *π*/2.

Comparison of the simulated and empirical data reveal that the trajectory tracking control system performs as expected. Furthermore, the size of the tracking error is considerably less than the overall vehicle size (vehicle diameter is 0.5 m), indicating that the trajectory tracking control system is appropriate for the SRFV.

## 6 Summary

This paper presents the SRFV, a promising alternative to the wheeled/cylindrical MRFV. In addition to exhibiting aerial locomotion *and* omnidirectional rolling, the SRFV is less sensitive to terrestrial disturbances than other MRFVs due to its spherical design and three-axis gimbal apparatus. Furthermore, the SRFV is over-actuated while rolling, providing two additional controls for optimization.

This paper is the first to present a terrestrial dynamic model of the SRFV that considers the translational and rotational dynamics of the multirotor and spherical cage, along with nonholonomic rolling constraints. Additionally, this paper is the first to present the detailed design of an SRFV terrestrial trajectory tracking control system. This novel controller leverages the SRFV’s over-actuation to simultaneously accomplish control and optimization objectives.

A hardware embodiment of the SRFV is presented, along with a description of the sensors required to implement the trajectory tracking controller and optimization algorithms. Furthermore, simulation and empirical results obtained from the hardware embodiment of the SRFV are presented, both of which demonstrate favorable trajectory tracking performance.

Future work involves developing an SRFV that is capable of producing negative thrust so that the control allocation solution will not be constrained so frequently. This permits the complete decoupling of $FR,zA$ from the other elements of $u$, and the control specified by the trajectory tracking controller will be faithfully synthesized. With such a vehicle, an empirical validation of gimbal lock avoidance while tracking a trajectory can be provided. Another future objective is to integrate LiDAR sensors onto the SRFV and demonstrate that LiDAR odometry and mapping (LOAM [21]) can be executed on a rotating platform.

## Acknowledgment

The authors would like to thank Shaphan Jernigan, Tyler Jenkins, and Luis Jimenez for their work in creating the hardware embodiment of the SRFV. Funding for this research was provided by the U.S. Army Research Office and the U.S. Army Special Operations Command under Contract No. W911-NF-13-C-0045.

## Conflict of Interest

There are no conflicts of interest.

## Data Availability Statement

The datasets generated and supporting the findings of this article are obtainable from the corresponding author upon reasonable request. The authors attest that all data for this study are included in the paper.

Springer Handbook of Robotics