Control of an Omnidirectional UAV for Transportation and Manipulation Tasks

: This paper presents a motion control scheme for a new concept of omnidirectional aerial vehicle for transportation and manipulation tasks. The considered aerial platform is a novel quadrotor with the capability of providing multi-directional thrust by adding an actuated gimbal mechanism in charge of modifying the orientation of the frame on which the four rotors are mounted. The above mechanical design, differently from other omnidirectional unmanned aerial vehicles (UAVs) with tilted propellers, avoids internal forces and energy dissipation due to non-parallel propellers’ axes. The proposed motion controller is based on a hierarchical two-loop scheme. The external loop computes the force to be applied to the vehicle and the reference values for the additional joints, while the inner loop computes the joint torques and the moment to be applied to the multirotor. In order to make the system robust with respect to the external loads, a compensation of contact forces is introduced by exploiting the estimate provided by a momentum based observer. The stability of the motion control scheme is proven via Lyapunov arguments. Finally, two simulation case studies prove the capability of the omnidirectional UAV platform to track a 6-DoFs trajectory both in free motion and during a task involving grasping and transportation of an unknown object.


Introduction
In recent years, the use of aerial robotic platforms, due to their nearly unlimited motion space, has become popular in many applications scenarios, e.g., inspection and maintenance services [1], data collection and exploration operations [2], and precision agriculture [3]. More and more frequently, aerial robots are involved in tasks requiring both autonomous flight and physical interaction capabilities, such as assembly of structures in remote environments, object grasping [4], and payload transportation [5,6].
The most popular configuration of vertical take off and landing (VTOL) unmanned aerial vehicle (UAV) is that of a multi-rotor vehicle, i.e., an aerial vehicle equipped with four or more coplanar propellers, which offers the best trade-off between mobility, simplicity, and cost. The main drawback of classical multi-rotor vehicles is that they are underactuated systems, since thrusts generated by propellers are directed along parallel axes, orthogonal to the plane of the propellers [7]. Therefore, in order to change its position and/or counteract external disturbances, rotation of vehicle's body is required: thus, only four degrees of freedom (DOFs) are left to execute the task assigned to the UAV. This limitation may become severe in some applications that might benefit from availability of all six DOFs, e.g., manipulation tasks involving contact with the environment [8], and/or limit the disturbance counteraction capabilities of the system. To overcome this problem, in recent years, platforms with multi-directional thrust have been designed. One of the most common approaches is based on the use of tilted propellers, e.g., as in [9,10]. The overactuated platforms require additional motors for tilting the propellers, and this has the negative effect of increasing the system weight and the complexity of the control for handling both vertical and lateral air flows. Such a problem can be overcame by adopting hexarotors with tilted propellers, e.g., as in [11], where each rotor is mounted in a fixed configuration rotated about two axes. More efficient solutions are proposed in [12,13]. More in detail, in [12], an additional motor is added in order to tilt all propellers at the same time, in such a way as to reduce the energy consumption and the total mass, allowing to drive the platform from a configuration energetically efficient, but underactuated to a fully actuated but less efficient one. In [13], an hexarotor with independently tiltable rotors is designed; the tilting angle of the rotors is computed online via a suitable control allocation scheme. This platform by exploiting its bi-directional thrusters can apply forces in any direction, while for the other platforms using uni-directional thrusters, the forces are usually limited in the upper hemisphere. An interesting analysis conducted in [14] proved that, for unidirectional thrusters, the minimum number of rotors in order to achieve omnidirectional forces is seven. Such analysis leads to the platform in [15], which is equipped with seven propellers, whose tilting angles are computed according to the optimization procedure in [14] and guarantee the omnidirectional property of the platform, while enforcing equal sharing of the desired forces between the propellers.
The previous solutions, do not avoid internal wrenches caused by counteracting actuators and require redundant control inputs. In order to overcome this problem, in [16], a quadrotor vehicle is designed, with the tilting angle of the propellers simultaneously controlled by two additional actuators via a parallelogram mechanism. In this way, only six inputs are adopted to control six degrees of freedom (DOFs), and the thrust generated by all propellers is always aligned along the same direction, thus avoiding energy dissipation due to internal wrench. A similar configuration has been proposed in [17], where a new concept of omnidirectional aerial vehicle, named ODQuad, is designed in particular for transportation and manipulation tasks. The ODQuad is a quadrotor with the capability of providing multi-directional thrusts by rotating the frame on which the four rotors are mounted through two actuated rotational joints realizing a two-axis (roll and pitch) gimbal mechanism.
For classical underactuated multi-rotors, several controllers have been proposed, mostly based on linear approaches [18,19], often requiring model linearization about a set of equilibrium conditions. Such controllers allow to achieve satisfactory performance near the design conditions and in hovering conditions, but performance degradation is usually observed when the aircraft moves away from these conditions. To overcome these drawbacks, nonlinear controllers have been designed, including model predictive control [20], backstepping and sliding mode techniques [21,22], adaptive control [23], impedance control [24,25], and geometric control [26]. More recently, data-based control approaches have been designed for achieving high-performance trajectory tracking with UAVs: in detail, in [27], an innovative iterative learning control algorithm is proposed based on an estimation of repetitive disturbances to improve the learning performance.
Regarding the omnidirectional aerial platforms, the most common control approach is feedback linearization, aimed at decoupling the six DOFs that can be controlled separately. Such approaches are model-based; the nonlinear dynamical effects are compensated, and then the thrust is derived from the inversion of the control allocation matrix. Some examples of feedback linearization approaches can be found in [11,16,28]. One of the main issues occurring in feedback linearization is that the actuator saturation can destabilize the system. Solutions to this drawback have been proposed. In [29], the six inputs of a coplanar hexarotor are mapped in a four dimensional task output (i.e., the total thrust and the three moment components) via a weighted pseudoinverse. In [30], for constant position and attitude references, input saturation is avoided by resorting to an approach based on the explicit reference governor, which provides constraint handling capabilities by suitably manipulating the derivative of the applied reference [31]. In [32], a general geometric tracking controller for time-varying references is proposed, which also takes into account the bounds on the lateral control force.
The aim of this paper is to present a novel motion control scheme for the ODQuad vehicle [17] and to test it both in free-space motion and in the presence of external distur-bances, such as the contact with an object during a task of manipulation and transportation. More in detail, a model-based feedback linearization controller is proposed that computes the reference signals using a hierarchical two-loop scheme: the outer loop is a position controller aimed at computing the global thrust force and the reference values for the pitch and roll angles of the gimbal mechanism; then, in the inner loop, an attitude and gimbal controller, on the basis of these references, computes the moments acting on the quadrotor and the joint torques. A preliminary version of such a scheme has been introduced in [17]; here, two contribution are added: (i) the stability analysis of the system, based on Lyapunov arguments; and (ii) the extension to the case of contact with an object with the compensation of the interaction wrench performed via an online estimator. Finally, in order to prove the effectiveness of the approach, simulation case studies have been developed, in which the controller is tested in a non-ideal context by considering model uncertainties and sensor noise.
It is worth pointing out that, although the ODQuad is conceived to perform tasks both in free space and involving interaction with the environment, the aim of this paper is to design and validate the first building block of the whole control architecture, namely the motion control. Notice that the sole motion controller presented in this paper cannot tackle interaction with the environment and needs to be integrated in an interaction control scheme (e.g., impedance control, hybrid force/position control).
The paper is organized as follows. In Section 2, the mechanical design of the ODQuad is reported and detailed; Section 3 reports both the kinematic and dynamic models, which will be exploited by the control law. The two-loop control scheme is presented in Section 4, while its stability properties are analyzed in Section 5. Section 6 reports the formulation of the control laws in the presence of contact with an object during transportation or manipulation tasks. Section 7 reports the simulation results and finally some conclusions are drawn.

ODQuad: A Novel Omnidirectional Quadrotor
The ODQuad vehicle, firstly introduced in [17], is an omnidirectional quadrotor composed of the following three components: • A platform, hosting computing hardware, electronics, batteries, and sensors; • A rotor frame that supports the propellers; • A mobile frame that connects the platform and the rotor frames with the roll and pitch rotational joints.
The first rotational joint connects the platform to the mobile frame (roll joint, see Figure 1a), while the other joint (pitch joint, see Figure 1b) connects the mobile frame to the rotor frame. Both the joints are actuated by servo motors equipped with angular position sensors.  Differently from the common multi-rotor design, the ODQuad is able to change the orientation of the total thrust with respect to the horizontal plane without modifying the platform orientation by moving the roll and pitch joints. This allows one to have all the six DOFs available for the platform motion. In the current design, due to mechanical constraints, the roll and pitch joints can be moved in a range from −25 deg to 25 deg.
The mechanical limits imposed to the roll and pitch joints limit the solid angle that the total trust could span. Thus, according to the taxonomy introduced in [33], it could be more appropriate to refer to the ODQuad as a platform with multi-directional thrust instead of an omnidirectional platform, but in practical applications and in the absence of acrobatic maneuvers, the spanned wrench space is enough to guarantee the fulfillment of the most common tasks.
In order to derive the ODQuad's kinematics, let us define the following coordinate frames: • The inertial coordinate frame, Σ{O, x, y, z} • The coordinate frame Σ 0 {O 0 , x 0 , y 0 , z 0 }, attached to the platform in such a way that the axis x 0 coincides with the axis of the roll joint • The coordinate frame Σ 1 {O 1 , x 1 , y 1 , z 1 }, attached to the mobile frame in such a way that the axis x 1 coincides with the axis of the pitch joint • The coordinate frame Σ 2 {O 2 , x 2 , y 2 , z 2 }, attached to the rotor frame in such a way that the axis x 2 coincides with x 1 .
The reference frames Σ 0 , Σ 1 , and Σ 2 have the same origin, i.e., O 0 ≡ O 1 ≡ O 2 , while the relative orientation is expressed by the following rotation matrices: where α is the pitch angle, β is the roll angle, and R j i denote the rotation matrix expressing the orientation of Σ i with respect to Σ j .

Modeling
The dynamic model of the system has been derived in [17] according the Euler-Lagrange formulation, using the following generalized coordinates: where p 0 ∈ IR 3 is the position of O 0 with respect to the inertial frame, φ 0 = [φ θ ψ] T ∈ IR 3 is the vector of roll-pitch-yaw angles, which express the platform orientation with respect to the inertial frame, and δ = [α β] T ∈ IR 2 collects the roll-pitch joint positions.

Kinematics
To properly derive the dynamic model of the system, the position and velocities of the center of mass (CoM) of the ODQuad components, i.e., platform, mobile frame, and propeller's frame, have to be computed. To this aim, let us define three new reference frames: Σ C 0 , Σ C 1 and Σ C 2 , attached, respectively, to the CoM of the platform (C 0 ), mobile frame (C 1 ) and propeller's frame (C 2 ). The linear and angular velocities of Σ C * , ( * = 0, 1, 2), can be expressed in terms of the generalized coordinates as the vector r * ,C * denotes the position of C * with respect to O * , ( * = 0, 1, 2), expressed in the inertial frame; T(φ 0 ) is the matrix relating the derivative of the roll-pitch-yaw angles, φ 0 , to the angular velocity, ω 0 [34]; I 3 and O 3 are the (3 × 3) identity and null matrices, respectively; 0 3 is the (3 × 1) null vector; while x * is the first column of R * ( * = 0, 1), which is the rotation matrix expressing the orientation of the frame Σ * with respect to the inertial frame.

Dynamics
The dynamic model can be written in compact form as where M(q) ∈ IR 8×8 is the symmetric and positive definite inertia matrix m i (i = 0, 1, 2) is the mass of the ith component (platform, rotor frame, and mobile frame) of the ODQuad, M i is its inertia tensor expressed in the inertial frame. The matrix C(q,q) ∈ IR 8×8 collects the Coriolis and centrifugal terms The vector g(q) ∈ IR 8 contains the generalized gravitational forces The vector η collects the external generalized forces acting as inputs, i.e., where f 0 and µ 0 are the force and moment, respectively, acting on the platform, and τ δ ∈ IR 2 are the torques acting on the roll-pitch joint. The force f 0 depends on the four propellers' thrusts, σ i (i = 1, . . . , 4), that are directed along the z 2 axis. Therefore, the total force acting on the platform, expressed in Σ 2 , has the following expression, The input f 0 can be derived from f 2 , expressed in the inertial frame where R 2 represents the orientation of the frame Σ 2 with respect to the inertial one. Analogously, the moment µ 0 can be written as where µ 2 is the moment generated by the propellers expressed in frame Σ 2 . In turn, f 2 and µ 2 can be expressed as [7] f z where l > 0 is the distance of each rotor from O 2 , c = γ d /γ t , while γ d and γ t are the drag and thrust coefficients, respectively.
The torque vector τ δ is given by the sum of the torques generated by the joint actuators, τ c , and the effect of the thrusts on the joints where For control design purposes, the matrices in (5) can be written as block matrices The block decomposition allows us to rearrange the dynamic model (5) as where the arguments of the matrices have been dropped for compactness.

Motion Control
The proposed motion control is a two-loop model-based scheme inherited from [35]: the outer loop performs the position controller, while the inner loop controls the platform orientation and the roll-pitch joint position. A sketch of the control block scheme is reported in Figure 2. More in detail, the position controller is in charge of computing the force, f 0 , to be exerted to the vehicle's platform in order to achieve the desired vehicle's position trajectory and the reference angles, α des and β des , for the roll-pitch joints. The reference angles are fed to the inner loop, which computes, on the basis of the platform's desired orientation, both the torques τ c for the roll-pitch joint actuators and the moment µ 0 .

Remark 1.
It is worth noticing that the ODQuad, differently from usual underactuated quadrotors, allows us to control both position and orientation, provided that the assigned orientation, φ 0,d , can be reached without violation of the limit of roll and pitch angles of the gimbal mechanism (i.e., α, β ∈ [−25, +25] deg for the current design).

Outer Loop: Position Controller
The outer control loop is designed to track the assigned position by introducing a virtual control vector aimed at linearizing the position dynamics. In order to design the control law, it is worth rewriting Equation (14) as where it has been assumed M pδ O 3×2 , with O 3×2 the (3 × 2) null matrix. This assumption allows to decouple the inner and the outer loop. Hence, on the basis of (17), the force to be exerted to the platform is computed as where the auxiliary inputs γ * ( * = p, φ) are defined as and K D, * , K P, * , K I, * ( * = p, φ) are symmetric and positive definite gain matrices.

Remark 2.
The position control law is designed on the basis of (17) in lieu of (14), because (14) depends on δ, and thus computing f 0 would have required the reference values for δ not available at this stage.
Once the force f 0 is determined, it is possible to compute the reference values for the roll-pitch angles by exploiting (10) and the expression of R 0 1 and R 1 2 . More in detail, let us express f 0 in the frame Σ 0 , i.e., Then, in view of (10), it is By considering (1), the following relation can be derived Therefore, the desired values of the joints angles and the total thrust to be provided by the propellers are given by The desired velocity and acceleration of the roll-pitch joints can be derived by numerical differentiation; in practice, since α des and β des are affected by noise, it is recommended to use suitable robust-to-noise filters. An effective approach is detailed in [35], where the time-varying filter proposed in [36] is adopted in order to compute both the first and second time-derivatives of the reference values.

Remark 3.
In view of (23), it could be noted that (25) and (26)  The assumption of total thrust always being non-null is a reasonable assumption for vehicles not involved in acrobatic maneuvers.

Inner Loop: Attitude and Roll-Pitch Controller
Once the reference values for roll-pitch angles, δ d = [α des , β des ] T , and their derivatives, δ d andδ d , have been determined, the auxiliary input γ δ is computed as where K D,δ , K P,δ and K I,δ are symmetric and positive definite gain matrices. Therefore, the moment to be applied to the platform and the joint torques can be computed similarly to (18) In view of (11), the commanded total moment to be provided by the four propellers, µ 2 , can be computed as Finally, the rotor thrusts can be computed via (12) as

Stability Analysis
By folding the control inputs (18), (28), and (29) into the ODQuad dynamics (14)-(16), the following set of equations can be written where 0 2 is the (2 × 1) vector of zeros. By adding and subtracting M pδ γ δ , (32) can be rearranged in the form By defining the vector γ and the block matrix M as where O 2 and O 2×3 are, respectively, the (2 × 2) and (2 × 3) null matrices, Equations (33)- (35) can be rewritten in the following compact form: where 0 8 is the (8 × 1) vector of zeros. By exploiting Equations (19), (20) and (27), the following error dynamics is obtained: where e = q d − q, with q d = [p T 0,d , φ T 0,d , δ T d ] T , and the matrices K ( = {I, P, D}) are Define the state vector z = z T 1 , z T 2 , z T 3 T = e T , e T ,ė T T and rewrite (37) in the state space form asż which can be rewritten aṡ where I 8 and O 8 are the (8 × 8) identity and null matrices, respectively. In other words, the system (39) can be seen as a nominal linear system (ż = Kz) with a perturbation term γ. Since matrix K is in block companion form and can be proven to be Hurwitz [37], the nominal system is exponentially stable. As for the perturbation term, the following property of the inertia matrix can be exploited [34,38]: Property 1. M is symmetric and positive definite; therefore, if λ min (·) (λ max (·)) denotes the minimum (maximum) eigenvalue, it is Thus, based on Property 1, the following holds: Regarding matrix M, it is worth considering the explicit expression of its sole non-null block (6), i.e., where x 0 and x 1 are unit vectors and all the other elements are constant and depend on the system's geometrical and inertial properties. Thus, its norm is constant Finally, the term γ can be written in the explicit form as The following assumption on the planned trajectory is made: Therefore, the non-null block of the perturbation term can be rewritten as sum of two terms The first term, in view of (41), (43) and of Assumption 1, is norm-bounded ∀ t The second term in (44) is a vanishing perturbation (in the sense of [39]), since the following chain of inequalities holds: where k M = max{ K P , K D , K I }.
Thus, by recurring to the theory of perturbed systems [39], the effects of the two perturbation terms can be summarized as follows: • by virtue of Lemma 9.1 in [39], the origin of the system (39), under the vanishing perturbation is an exponentially stable equilibrium; • by virtue of Lemma 9.2 in [39], the origin of the system (39), under the non-vanishing bounded perturbation is uniformly bounded.
By exploiting the linearity of the nominal system (39), it can be stated that, under Assumption 1, the error z is uniformly bounded. Moreover, if the planned acceleration vanishes after a time instant t f ∈ T , the error converges to zero exponentially.

Interaction Wrench Compensation
In tasks involving contact with the environment, e.g., manipulation or cooperative transportation, the capability of exerting both forces and moments without modifying the orientation of the load make the omnidirectional platforms preferable with respect to standard multirotors [8,40].
Moreover, even in simple transportation tasks, it is of the utmost importance to react to external disturbances due to contact with the object by compensating the wrench exerted by the object. Namely, an estimation of the wrench exerted by the object on the vehicle is fed back to the controller as an additional term in (18), (28), and (29). In fact, in the presence of contact with an object, the dynamics (5) of the ODQuad becomes where J C is the Jacobian matrix that relates the velocity of the contact point to the velocity of the generalized coordinates q, and h C is the wrench exerted by the object on the contact point of the ODQuad. Given an estimate,ĥ C , of h C , the control outputs (18), (28), and (29) become where J C, f , J C,µ , and J C,τ are obtained from J C by selecting, respectively, the first three columns, the forth to sixth columns, and the last two columns.

Wrench Estimation
In order to measure the wrench exerted by the object on the ODQuad, a force/torque sensor could be mounted on the contact point robot-object [6]. This is usually capable to provide a reliable measure, but increases both the cost and the weight of the robot. In the aerial robotics field, a more viable solution is the adoption of a wrench estimator, which can provide a sufficiently accurate estimation [8].
In this work, the interaction wrench, exerted by the manipulated object on the vehicle, has been estimated via a momentum-based observer [41]. With reference to the system dynamics (47), the angular momentum ν can be computed as Let us recall the following property of dynamic model (5) [34,38]: There always exists a choice of C, such thaṫ M(q) = C(q,q) + C T (q,q).
By exploiting Property 2 and model (5), the time-derivative of (49) can be expressed aṡ An estimate of h C is, then, computed aŝ where t and t 0 are the current and initial time instant, respectively, K o is a positive definite gain matrix, and J † C is the right pseudo-inverse of the Jacobian matrix.
The estimation dynamics is˙ĥ which is a first-order low-pass dynamic system. Under the assumption of constant or slowly varying interaction wrench,ĥ C converges to h C when t → ∞ for any positive definite gain matrix K o . The matrix K o is chosen as a trade-off between the convergence rate and the filtering properties of the observer: larger values of the gains allow faster convergence, while smaller values allow us to filter the high-frequency noise.

Simulation Results
The proposed controller has been tested via numerical simulation in the MATLAB © SimMechanics environment. The geometric and dynamic parameters of the ODQuad as well as details on the multi-body SimMechanics model can be found in [17]. In order to verify the effectiveness and the robustness of the controller, simulations in free-space motion and in the presence of contact with an object have been conducted. In the first one, in order to show the capability of controlling both position and orientation at same time, a trajectory in free-space has been commanded to the vehicle platform; in the latter simulation, the behavior in the presence of a task requiring grasp and transportation of an object has been tested.
The following realistic assumptions have been considered: • reliable, but noisy, measurements of the platform position and orientation are available, e.g., provided by a motion capture system and an IMU; • white noise has been added to measures of the platform position (with standard deviation 10 −2 m) and orientation (with standard deviation 10 −2 rad); • the angular positions of the roll and pitch joints are available via sensors usually integrated into the servomotors, while the angular velocities are obtained via numerical filtering. Thus, the orientation of the rotor frame relative to the platform frame can be computed via (1); • centrifugal and Coriolis terms have been neglected in control laws (18), (28), and (29); • viscous friction has been included in the simulation model but not considered in the control design.
The control gains that are reported in Table 1 have been tuned via a trial-and-error procedure by taking into account that the internal loop must be faster than the outer one and with the goal of minimizing the tracking error. The observer gain is reported in Table 2, and it has been set via a trial-and-error procedure by looking for the best trade-off between the convergence rate and the robustness to measurement noise. Table 1. Gain matrices for the auxiliary inputs (19), (20) and (27).

Gain
Value  In order verify the trajectory tracking capabilities, in the first simulation case study, time-varying desired position (see Figure 3a) and orientation (see Figure 3b) are commanded to the ODQuad platform. As previously remarked, it is worth noticing that, differently from common quadrotors, motion involving all six degrees of freedom can been assigned.  The obtained results are reported in Figure 4a,b in terms of position (p 0,d − p 0 ) and orientation (φ 0,d − φ 0 ) errors. In both cases, satisfactory performance is achieved, since the maximum position error is about 5 mm along the axes x and y and 15 mm along the z axis, while the orientation error oscillates around zero, with some peaks below 5 deg.
The performance of the internal control loop is measured by the roll-pitch joint tracking errors ((α des − α) and (β des − β)), reported in Figure 5. Furthermore, in this case, the peak error is below 5 deg, and the oscillation magnitude is about 2 degrees.    The second simulation case study is aimed to prove the controller robustness in the presence of an external disturbance. In this case, the control outputs (18), (28), and (29) are replaced by (48). A task involving grasping and transportation of an object has been considered: the ODQuad moves to the grasping point, grasps the object, and then rigidly holds it during its motion. Figure 6 shows some snapshots of the simulation. The position tracking error, reported in Figure 7a, increases along the z axis during the grasping phase (at about 10 s), as expected, and comes back to the initial value after 3 s. In other words, after an initial transition due to the first contact with the object, the wrench estimator allows to correctly compensate the effect of the additional load attached to the vehicle. Then, during the transportation, an error is experienced along the y axis and in the platform orientation (with a peak of about 6 deg), probably due to the dynamics of the gimbal mechanism. Figure 8a reports the roll-pitch joint tracking errors: the roll and pitch errors during the transportation oscillate between −5 and 5 deg. Figure 8b reports the actuation torques of the roll-pitch joints: it can be noticed that, even in the presence of an external load, the required effort can be easily obtained via off-the-shelf motors. Finally, the estimated interaction forces and torques, computed via the observer (52), are reported in Figure 9a,b. In detail, the force along z axis correctly converges to the load weight (Figure 9a), while small forces along x and y axes are experienced during the transportation, due to the object inertia and the unmodeled ODQuad's dynamics (Coriolis and friction terms are neglected both in controller and in observer). Regarding the estimated torques (Figure 9b), small torques are experienced around the x and y axes due to the misalignment during the motion between the object and the platform CoM.

Discussion
This paper has reported the design and verification of a model-based motion control scheme for an omnidirectional UAV, the ODQuad, enriched with a wrench estimation approach to manage situations in which contact with the external environment is involved. Verification has been carried out via simulations, where the simulation model includes several real-world effects (e.g., measurement noise, unmodeled friction). The results confirm that the adopted control scheme achieves satisfactory performance in terms of tracking capabilities of free-space motion as well as of correct estimation and compensation of the contact wrench. This work is part of a long-term project aimed at developing a complete prototype of the ODQuad. Ongoing work is indeed focused on the mechanical, hardware, and software development of the ODQuad. Current research work is focused on the experimental verification of the designed control scheme on the developed prototype, as well as on the design and verification of interaction control schemes for tasks involving contact with the external environment.
Funding: This research received no external funding.

Institutional Review Board Statement: Not applicable.
Informed Consent Statement: Not applicable.

Conflicts of Interest:
The authors declare no conflict of interest.