This paper addresses the issue of controller complexity for multirotor aerial manipulator (AM) implementation by utilizing a special class of fully actuated hexrotor within the framework of a firmware, which allows standard multirotor actuation modes. Using this platform, manipulator and vehicle dynamics are decoupled, making the airframe inherently more robust than standard multirotor for trajectory tracking in AM applications. Furthermore, its unique design allows for the implementation of modular control strategies. The proposed rotor orientation model makes it possible to decouple the dynamics, allowing full analytical development of the optimal solution. A methodology for analysis, control allocation, and design of this special class of hexrotor is presented, and the implementation of a custom flight stack is demonstrated using a hexrotor prototype in closed-loop flight testing. The flight stack developed is compliant with the open-source ArduPilot Mega (APM) firmware, allowing it to take advantage of all generic multirotor control algorithms. Experimental results are presented to demonstrate feasibility of the system.
Introduction
An aerial manipulator (AM) is an unmanned aerial vehicle (UAV), which physically interacts with its environment via one or several active mechanical systems. One of the more difficult challenges to address in the development of an AM is the consideration of dynamic coupling for both the UAV and manipulation platforms. This challenge has been approached in several ways in the recent past. One approach is to rely on a hierarchical control scheme for a coupled quadcopter and manipulator system to converge end-effector target position [1,2]. Control algorithms such as this often result in long reference convergence times due to the precision requirements of the end effector. One way to improve precision is to increase the number of actuated joints in the manipulator system, though this necessarily increases model complexity. To handle redundancy in actuation of the manipulator, the work described in Ref. [3] sought to develop a general model for multidegree-of-freedom manipulator control for an AM. The authors utilized the Newton–Euler method for estimation of base interactions between the quadrotor and manipulator, and Lyapunov-based model reference adaptive control to adapt propulsion system dynamics and aerodynamic conditions for improved performance of the derived controller. As demonstrated in Ref. [4], redundant degree-of-freedom (DOF) manipulators can aid in convergence of target trajectories for the end effector; however, implementation of the manipulator in their experiment introduced divergence phenomena associated with flight stability and the AM coupling.
Hybrid control methods have also been presented for use with AM platforms. The work presented in Ref. [5] offers design, simulation, and experimental validation of an interaction controller for an underactuated quadcopter AM. Hybrid control for the quadcopter is used to switch between a free-flight control mode and a contact-control mode. In more recent implementations of robust control for AMs, concepts of cyclopassivity, Lagrangian dynamics, and interconnection and damping assignment passivity-based control are used in a two-dimensional model and experiment in Ref. [6], and closed-loop inverse kinematics control for an AM was implemented with integral correction in Ref. [7].
Many works describe the improvement of manipulator trajectory tracking; however, AM control toward improved flight stabilization has also been investigated. In Ref. [8], a unique take on task prioritization control method is presented that utilized the manipulator to perform a secondary flight stabilization task. A redundant manipulator is used to augment the main visual-servoing task to minimize changes to the platform's center of gravity.
Much of the work performed toward advancing classical AM control methods focuses on the improved stability and performance of the coupled manipulator and multirotor system. The need for much of the more complex coupling considerations would be eliminated, however, if the aerial platform developed were fully actuated. Classical multirotors are a class of UAV that utilizes multiple rotors to direct maximum control effort into the production of lift and rolling, pitching, and yawing torque. The design allows pilots to easily stabilize the platform in hover. However, the platform suffers from a lack of controllability as it lacks any means of producing forward or lateral body-fixed forces. It must affect coupled rolling and pitching maneuvers to produce forward and lateral motion. This is the main contributor to reduced performance of multirotor AM trajectory tracking. While fully actuated platforms have been developed by several groups including Refs. [9] and [10], these airframes do not see widespread use in AM application likely due to their unique dynamic formulations. How these platforms respond to saturation effects is fundamentally incompatible with classical multirotor control strategies; however, one unique class of fully actuated multirotor, which simulates classical hexrotor saturation effects, was developed by Langkamp [11]. The rotors in this design differ from a classical parallel configuration through relative rotations of each rotor via variable pitch cant angles. The design results in full controllability, while sacrificing overall flight efficiency and stability. In Ref. [12], a fixed-pitch version of the design, which describes force and form closure, arbitrary wrench rejection, dynamic modeling of the platform, and dexterous flight, was presented. Optimization of the design was discussed in Ref. [13] as it relates to flight efficiency; however no metric for forward and lateral force expression is presented. Their analysis used a genetic algorithm, which numerically sought an optimal solution for rotor orientations. While fundamentally different in control allocation, nonparallel hexrotors offer similar considerations toward attitude and altitude control to that of parallel hexrotors. The class of hexrotor developed in Ref. [14] in this sense has broader implications in AM development than those of Refs. [9] and [10]. This platform would be controllable as a parallel hexrotor, be capable of relatively high efficiency in hover, and maintain the capability for decoupled fully actuated AM implementation.
The FAST-Hex developed by Ryll et al. [14] and nonplanar hex developed by Langkamp [11] are two platforms, which relate specifically to aerial manipulation. While neither of these works presented flight test data, they introduced a modular type of hexrotor, which may fly as either a parallel hexrotor or a nonparallel fully actuated hexrotor at varying degrees of tilt. This type of platform has direct implications on aerial manipulation as it can balance in situ environment observation and interaction. For small or zero tilt implementation, the variable pitch hexrotor will hover at high efficiency, while in close quarters, the nonparallel hexrotor will be capable of dexterous flight at regulated attitude. This provides the end user with a highly adaptable UAV.
Compared to the optimal design presented in Ref. [13], the work developed in this paper presents an analytical rather than numerical solution to the design problem of the nonparallel hexrotor UAV. This is made possible using a more physically representative rotor orientation model. The way in which the transformations are described decouples the dynamics, allowing full analytical development of the optimal solution. At the time of this writing, very little modeling toward design metrics has been presented in the literature for the fully actuated hexrotor. Thus, one of the main contributions of this work is to develop several impactful design metrics, which relate saturation effects to directional control allocation. These metrics may be used toward useful stability and control analyses for improved flight performance. Careful consideration of existing multirotor control architecture was taken into account when developing the prototype. As a relative newcomer to the multirotor airframe class, this platform requires firmware, which complies with existing architecture to make it a viable contender in AM applications. This work demonstrates the feasibility and implementation of such a firmware in a fully developed prototype.
This paper is divided into five sections. The final analytical rotor orientation solution is developed in the first three sections through the description of a novel rotor orientation model, rotor frame dynamics, and full rank motor mapping, while the fourth section proposes several optimization metrics, which should be considered at the design phase of an airframe's construction. In the fifth section, experimental validation of the model, objective functions, and implementation of an APM compliant modular custom firmware is presented.
Rotor Orientation
The orientation of a single UAV rotor can be described using three independent Euler rotation parameters, αi, βi, and γi. In this study, a rotor frame {i} describes the designed transform of a single rotor relative to {B}, the body-fixed-frame (BFF) for any hexrotor UAV. Transformations are defined using basis notation as is developed in Ref. [15]. The nonparallel hexrotor design introduced in Ref. [11] is considered, where arbitrary rotation is included in the design characterization as in Ref. [13]. The introduced sub-stage frame is used to represent the rotor orientation of a standard parallel hexrotor, where denotes the rotor position relative to {B}. This sub-stage description is useful for comparison of nonparallel and parallel airframes of similar specification toward the definition of useful design objective functions.
The frame of a parallel hexrotor is defined via the transformation from the UAV body fixed frame {B} to the frame for any one of the six rotors as depicted in Fig. 1. In this configuration, the thrust Ti and drag Qi produced by the ith rotor in the rotor frame contribute to the UAV body-fixed frame force and torque profile along parallel , where frame has been rotated about ZB by some angle γi. Each frame is translated along respective rotor arms by , where , and L is the UAV cross-span. In this analysis, it was assumed that all motor arms are of equal length as is the case in commercial parallel multirotor designs.
It should be noted that this rotation definition differs from that of [13] fundamentally. While it also spans the orientation field, this rotation scheme reduces the number of necessary design parameters describing hover efficiency and forward and lateral force production of the platform. The first and second rotor rotations occur on parallel axes, which requires that βi independently determines the projection of the resultant thrust and drag vectors on ZB, and conversely the forward/lateral force plane rather than a mixed Euler expression for total angular displacement.
Rotor Frame Dynamics
where the ith rotor speed is denoted ωi. may assume a value of −1 for counterclockwise propeller spin, or 1 for clockwise spin. The constant parameters b and d are introduced to describe the rotor thrust and torque scaling, respectively, as thrust and drag are proportional to the square of rotor speed [18]. Eq. (3) can be derived by defining and and resolving and Vectors and denote the total force and torque quantities generated by a single ith rotor. The use of linear models with slopes b and d for and has been described in several works including Refs. [18] and [19]. Experimental validation for the linear fit values was performed using the setup shown in Fig. 3, and the thrust and drag trends, along with the flight controller command to rotor output mapping, are provided in Figs. 4 and 5.
where Ir is introduced to represent the bulk rotor inertia [20], and is the BFF angular velocity.
Formulation of and is identical for both parallel and nonparallel airframes. is determined by the total mass of the airframe m and gravitational constant g. It is assumed that the center of gravity lies on the origin of {B}, . represents all dynamic effects not presented in the general model; thus, it is not discussed here.
With these modified multirotor dynamics, it is possible to construct a fully actuated airframe. In Sec. 4, the family of solutions, which promote a full-rank motor mapping, is established.
Development of a Full Rank Motor Mapping
The row vector bases Ei of map the user control effort to a space sharing directionality with the force/torque space.
In this formulation, represents some scaling functions, which consider saturation effects and map the user desired effort to the rotor space . The normed user control effort can then be described, where , and .
where satisfaction of the linear system in Eq. (15) ensures linear independence of E1 and E2 from E3, E4, E5, and E6, and satisfaction of the nonlinear system in Eq. (16) ensures linear independence of E1 from E2, and and .
What remains in the definition of an appropriate E and solution set is to match the limiting design factors introduced by the physics model regarding E1, E2, and .
Decomposition of the Control Effort
where is the diagonal scaling vector reduced to a single design parameter.
The values of β, αi, and qi can be determined via optimization of appropriate objective functions. The most obvious metrics to evaluate performance for this AM is hovering efficiency and maximum expressible forward/lateral plane force; however, examination of torque expression must also be performed to ensure flight stability.
Objective Functions
It should be noted that the diagonal elements of the scaling matrix shown in Eq. (26) have direct correlations between the scaling of effective power and the force/torque space.
While drag effects dominate yaw torque production in standard hexrotor configurations, thrust torque effects dominate roll and pitch effects. However, nonparallel hexrotor torque expressions are coupled. The variable τxy is introduced to represent the planar torque projection scaling onto the forward/lateral plane, while τz is used to represent yaw torque scaling in Fig. 6 for tests performed using the motors shown in the rig in Fig. 3.
It should be noted that the thrust torque effects tend to dominate drag torque effects in scaling because thrust coefficient b for a rotor/propeller pairing are generally on the order of 102 larger than drag coefficient d. Depending on the design configuration of the nonparallel fully actuated hexrotor outlined in this paper, conservative and aggressive designs present two sets of τxy and τz. The difference between conservative and aggressive designs depends on the spin parameter qi relative to αi. To demonstrate the physical interpretation of torque scaling, the two design angles of and need to be noted in Fig. 6.
In Eq. (33), the allowable forward force Fx must be constrained due to the saturation of the rotors. Rotors speeds can neither exceed the maximum value ωmax, nor produce negative spin. This constraint is expressible as a function of the variable . This was found through inspection of the rotor mapping and constraining the instantaneous output of the rotors ωi by . The ratio relates the total maximum rotor output of the platform to its total mass. In this way, the characteristics of any hexrotor of this type may be accounted for this study. Figure 6 shows the calculated ranges of total forward force, Fx, as a function of β for the described initial prototype and several arbitrary Tratio.
Experimental Verification
Of the four unique solutions, which satisfy the design outlined in this paper, a conservative design was chosen due to its relatively smaller effect on torque expression, where ; thus, , and . The constant β was chosen to be because it provides adequate forward/lateral force expression for initial testing, while offering a limited effect on roll/pitch torque scaling at 88% that of a standard hexrotor. The prototype was built using a Flamewheel 550 frame, where custom motor mounts were printed to specification to the total cross-span. The total cross-span was then . To facilitate flight control, a Pixhawk and an Odroid XU4 were utilized within the robot operating system framework. Global user commands are sent to the Pixhawk via RC or MAVROS message, while real-time local control is affected using the developed custom flight stack. The additional degrees of control were incorporated in custom flight modes added to the ArduPilot firmware. The novelty of this flight stack is its ability to seamlessly transition between standard hexrotor control allocation and nonparallel hexrotor control midflight. In practice, the 4 RC channels utilized in standard hexrotor control methods for throttle, roll, pitch, and yaw are reallocated to control throttle, forward, lateral, and yaw efforts as in Fig. 7. Roll and pitch are set to regulate to 0 radians as this is the most stable roll/pitch state. The prototype was mounted to a six-axis force/torque sensor as shown in Fig. 7 for saturation testing. The limit of saturation for decoupled forward force generation is presented in Fig. 8. Total referenced force was interpolated from the throttle command at 15 N. It was posed at the objective function phase of the design that maximum expressible forward/lateral force a maximum planar force expression of . The slight difference in the measured saturated forward force expression and expected can be attributed to the asymmetry in design as was outlined in Fig. 6. Since there are six rotors at discrete locations, the total planar force scaling cannot be allocated evenly radially.
A simplified overview of the custom flight stack written for the platform is shown in Fig. 9. This flight stack applies six degrees of control over XY force production, throttle, roll, pitch, and yaw. At the user's command, the platform flight mode selector highlighted in yellow will switch RC channel 1 and 2 functions toward XY control or roll/pitch control. The controller that is not selected is regulated to the signal. All signal inputs are corrected to a desired internal control reference. This internal control reference is mixed with the other control signals to ensure stable flight. The added XY controller, attitude controller, and throttle controller signals are used in the AP_Motors library threaded code. Here, the servo output is developed by mixing the control signals toward saturation correction and applied to a motor mask. The mask outputs the six rotor signals necessary to achieve fully actuated flight to the electronic speed controller hardware, which actuates the motors.
For initial closed-loop flight testing, an Optitrack motion tracking system was used within MAVROS to generate velocity references for the prototype toward autonomous tracking of a desired position and pose as shown in Fig. 10.
The resulting position and pose plots from the closed-loop flight test are shown in Figs. 11 and 12. The signals xr, yr, zr, , θr, and ψr denote position and pose references sent from custom robot operating system code, while signals xf, yf, zf, , θf, and ψf show the measured position and pose signals reported by Optitrack.
Conclusions
In this paper, an analytical justification for the design of a fully actuated hexrotor was presented. It was shown that for the outlined control allocation assumption, there exist four unique solutions, which provide decoupled fully actuated flight, while maintaining compatibility with existing multirotor control architecture. By adhering to the control allocation assumption, existing control architecture was applied to the platform seamlessly through the development of a custom flight stack based on and compatible with the AruPilot ArduCopter flight stack. A qualitative set of objective functions were introduced, which may be applied to any AM application, which considers flight time, forward/lateral force expression, and flight stability. The most difficult consideration for design is that of torque scaling. While roll pitch torque expression can be accounted for with little modification, yaw torque expression drastically increases with design β due to the addition of thrust effects. Experimental testing verified the concept of asymmetric constraints on control scaling, and the feasibility of flight using the custom flight controller.
Future work includes improvement of the attitude controller and XY tracking before AM testing. Aerial manipulation tests will be performed to assess its effect on end-effector tracking and disturbance rejection. As proposed by Langkamp [11], an actuated tilt mechanism would greatly improve AM performance. The proposed flight stack allows a UAV to fly using the 4DOF controller for throttle, roll, pitch, and yaw, or a 6DOF controller for forward, lateral, throttle, roll, pitch, and yaw. With this setup it is possible to pilot the prototype as a standard hexrotor over longer distances with high efficiency, then transition to the fully actuated control scheme during dexterous AM maneuvers. Indeed, the development of the dynamic model and control allocation mapping ensures that for stable altitude and attitude, a decoupled XY controller may be considered of the input-affine form with zero-drift. Stability guarantees of works describing standard hexrotor altitude and attitude dynamics apply to this design, where saturation and scaling effects must be considered. Lastly, because the developed flight stack is based on APM Firmware, open-source development of this platform is possible with the addition of the modular flight mode selector.
Acknowledgment
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s).
Funding Data
National Science Foundation (Grant No. 1430328).
Savanna River Nuclear Solution, LLC (Contract No. 0000217400).