Modeling and Control of a Quadrotor Drone with a Single-Joint Manipulator

In recent years, the quadrotor drone has emerged as a versatile platform for aerial robotics, offering capabilities such as vertical take-off, hovering, and precise slow-speed maneuvers. Its applications have largely been confined to non-contact tasks like surveillance, monitoring, and photography, where interaction with the environment is minimal. However, to expand the utility of the quadrotor drone, there is growing interest in enabling “contact-based” applications, such as object manipulation, inspection, or cleaning, where the drone physically interacts with its surroundings. This necessitates the integration of a manipulator arm onto the quadrotor drone, forming an aerial manipulation system. The addition of a manipulator introduces complex dynamics due to the multi-body interactions and reaction forces exerted on the quadrotor drone during arm actuation. Therefore, accurate modeling and robust control are critical for stable operation. In this work, I focus on a quadrotor drone equipped with a single-joint manipulator, presenting a comprehensive dynamics model and a position control strategy that compensates for disturbances caused by arm movements and external forces.

The quadrotor drone, as a base platform, is inherently underactuated and coupled in its dynamics, making control challenging even without additional payloads. When a manipulator is attached, the system becomes more complex, as the arm’s motion induces reaction forces and moments on the quadrotor drone, potentially leading to instability. To address this, I derive a full-state dynamics model using the Newton-Euler formulation, which accounts for the interactions between the quadrotor drone and the manipulator. This model serves as the foundation for designing a controller that ensures precise position tracking and disturbance rejection. The controller incorporates a disturbance observer to estimate and compensate for reaction torques from the manipulator, along with a feedforward scheme to handle external forces at the end-effector. Through simulations, I demonstrate that this approach allows the quadrotor drone to maintain hover during arm actuation and follow trajectories while subjected to forces, highlighting its robustness in contact scenarios.

This article is structured as follows: First, I describe the system configuration and develop the kinematics and dynamics models for the quadrotor drone with a single-joint manipulator. Next, I detail the position controller design, including the disturbance observer and force feedforward components. Then, I present simulation results for two key scenarios—hover under arm motion and trajectory tracking under external forces—using parameters derived from a realistic quadrotor drone model. Finally, I conclude with insights and directions for future work, such as enhancing control precision with model predictive strategies. Throughout, I emphasize the importance of the quadrotor drone as a core element in aerial manipulation, and I use tables and equations to summarize key aspects.

System Description and Dynamics Modeling

The aerial manipulation system consists of a quadrotor drone base and a single-joint robotic manipulator attached beneath its center of mass. The quadrotor drone is treated as a rigid body with six degrees of freedom (DOF), while the manipulator is modeled as a serial chain with one revolute joint. To analyze the system, I define coordinate frames and establish transformation matrices using the Denavit-Hartenberg (D-H) convention. This allows for a unified representation of positions and orientations across the quadrotor drone and manipulator.

Let the inertial frame be denoted as $\Sigma_g$, and the quadrotor drone body frame as $\Sigma_b$. The manipulator frames include the base frame $\Sigma_{bm}$, the joint frame $\Sigma_1$, and the end-effector frame $\Sigma_2$. The D-H parameters for the manipulator are listed in Table 1, where $q_{bm}$ and $q_1$ are the joint angles, and $L_1$ and $L_2$ are the link lengths. These parameters define the forward kinematics, enabling computation of positions and velocities.

Table 1: D-H Parameters for the Single-Joint Manipulator
Link $\theta$ $d$ $a$ $\alpha$
Link 1 $q_{bm}$ $L_1$ 0 $-90^\circ$
Link 2 $q_1$ 0 $L_2$ $90^\circ$

The rotation matrix from $\Sigma_g$ to $\Sigma_b$ for the quadrotor drone is given by:

$$ R^g_b = \begin{bmatrix} c\psi c\theta & c\psi s\phi s\theta – c\phi s\psi & s\phi s\psi + c\phi c\psi s\theta \\ c\theta s\psi & c\phi c\psi + s\phi s\psi s\theta & c\phi s\psi s\theta – s\phi c\psi \\ -s\theta & c\theta s\phi & c\phi c\theta \end{bmatrix} $$

where $\Theta = [\phi, \theta, \psi]^T$ represents the Euler angles (roll, pitch, yaw) of the quadrotor drone. The kinematics of the manipulator are derived using displacement vectors. For instance, the vector from the manipulator base to the first joint is $\vec{d}_{bm,1} = R^{g}_{bm} [0, 0, L_1]^T$, where $R^{g}_{bm}$ is the rotation matrix from $\Sigma_g$ to $\Sigma_{bm}$. Similar vectors define the centers of mass for the links, such as $\vec{d}_{bm,c1} = \frac{1}{2} \vec{d}_{bm,1}$ for link 1.

To develop the dynamics, I apply the recursive Newton-Euler method. Starting from the end-effector and moving backward, I compute the forces and moments transmitted to the quadrotor drone. Let $\omega_i$ and $v_i$ be the angular and linear velocities of link $i$, with accelerations $\dot{\omega}_i$ and $\dot{v}_i$. For the quadrotor drone, the velocities are $\Omega_q$ and $V_q$. The backward recursion yields:

$$ \begin{aligned} \omega_1 &= \Omega_q \\ v_1 &= V_q + \omega_1 \times d_{bm,1} \\ \omega_2 &= \omega_1 + \dot{q}_1 R^{g}_{bm} R^{bm}_1 [0, 0, 1]^T \\ v_2 &= v_1 + \omega_2 \times d_{1,2} \end{aligned} $$

and for accelerations:

$$ \begin{aligned} \dot{\omega}_1 &= \dot{\Omega}_q \\ \dot{v}_1 &= \dot{V}_q + \dot{\omega}_1 \times d_{bm,1} + \omega_1 \times (\omega_1 \times d_{bm,1}) \\ \dot{\omega}_2 &= \dot{\omega}_1 + (\ddot{q}_1 + \omega_1 \times \dot{q}_1) R^{g}_{bm} R^{bm}_1 [0, 0, 1]^T \\ \dot{v}_2 &= \dot{v}_1 + \dot{\omega}_2 \times d_{1,2} + \omega_2 \times (\omega_2 \times d_{1,2}) \end{aligned} $$

The forces and moments on each link are then calculated. For the end-effector (link 2):

$$ \begin{aligned} F_2 &= F_e + m_2 \left( \dot{v}_1 + \dot{\omega}_2 \times d_{1,c2} + \omega_2 \times (\omega_2 \times d_{1,c2}) + g[0, 0, 1]^T \right) \\ \mu_2 &= -F_2 \times d_{1,c2} + F_e \times d_{2,c2} + I_2 \dot{\omega}_2 + \omega_2 \times (I_2 \omega_2) \end{aligned} $$

where $F_e$ is an external force on the end-effector, $m_i$ and $I_i$ are the mass and inertia matrix of link $i$, and $g$ is gravity. For link 1:

$$ \begin{aligned} F_1 &= F_2 + m_1 \left( \dot{V}_q + \dot{\omega}_1 \times d_{bm,c1} + \omega_1 \times (\omega_1 \times d_{bm,c1}) + g[0, 0, 1]^T \right) \\ \mu_1 &= -F_1 \times d_{bm,c1} + F_2 \times d_{1,c1} + I_1 \dot{\omega}_1 + \omega_1 \times (I_1 \omega_1) + \mu_2 \end{aligned} $$

The reaction force and moment on the quadrotor drone from the manipulator are $f = -F_1$ and $n = -\mu_1$, respectively. The dynamics of the quadrotor drone alone are described by:

$$ \begin{aligned} \ddot{x}_q &= \frac{F_x}{m_q} \\ \ddot{y}_q &= \frac{F_y}{m_q} \\ \ddot{z}_q &= \frac{F_z}{m_q} – g \\ \dot{\omega}_x &= \frac{\tau_\phi + \omega_y \omega_z (I_y – I_z)}{I_x} \\ \dot{\omega}_y &= \frac{\tau_\theta + \omega_z \omega_x (I_z – I_x)}{I_y} \\ \dot{\omega}_z &= \frac{\tau_\psi + \omega_x \omega_y (I_x – I_y)}{I_z} \end{aligned} $$

where $F = [F_x, F_y, F_z]^T = R^g_b [0, 0, T]^T$ is the thrust from the rotors, $\tau = [\tau_\phi, \tau_\theta, \tau_\psi]^T$ is the torque, $m_q$ is the mass of the quadrotor drone, and $I = \text{diag}([I_x, I_y, I_z])$ is its inertia matrix. Combining with the reaction terms, the full system dynamics become:

$$ \begin{bmatrix} m_q & 0 \\ 0 & I \end{bmatrix} \begin{bmatrix} \dot{V}_q \\ \dot{\Omega}_q \end{bmatrix} + \begin{bmatrix} 0 \\ \Omega_q \times I \Omega_q \end{bmatrix} = \begin{bmatrix} F \\ \tau \end{bmatrix} + \begin{bmatrix} f \\ n \end{bmatrix} $$

This model captures the coupling between the quadrotor drone and the manipulator. For simulation and control, I use parameters based on a realistic quadrotor drone platform with a carbon-fiber manipulator, as summarized in Table 2. These values reflect typical inertial properties for such systems.

Table 2: Inertial Parameters for the Quadrotor Drone with Manipulator
Parameter Value Parameter Value
$I_x$ (quadrotor drone) 0.05 kg·m² $m_2$ (link 2 mass) 0.22 kg
$I_y$ (quadrotor drone) 0.07 kg·m² $I_{x2}$ (link 2 inertia) 0.6×10⁻⁶ kg·m²
$I_z$ (quadrotor drone) 0.1 kg·m² $I_{y2}$ (link 2 inertia) 2.9×10⁻³ kg·m²
$m_q$ (quadrotor drone mass) 1.44 kg $I_{z2}$ (link 2 inertia) 2.9×10⁻³ kg·m²
$m_1$ (link 1 mass) 0.019 kg $d$ (rotor distance) 0.32 m
$I_{x1}$ (link 1 inertia) 2.4×10⁻⁶ kg·m² $r$ (propeller radius) 0.195 m
$I_{y1}$ (link 1 inertia) 2.4×10⁻⁶ kg·m² $k_t$ (thrust coefficient) 0.0047
$I_{z1}$ (link 1 inertia) 0.6×10⁻⁶ kg·m² $k_d$ (drag coefficient) 0.000228

The quadrotor drone’s control inputs are defined from rotor speeds $\omega_{ui}$ for $i=1,2,3,4$:

$$ \begin{aligned} U_1 &= k_t \sum_{i=1}^4 \omega_{ui}^2 \\ U_2 &= d k_t (\omega_{u4}^2 – \omega_{u2}^2) \\ U_3 &= d k_t (\omega_{u3}^2 – \omega_{u1}^2) \\ U_4 &= k_d (\omega_{u1}^2 – \omega_{u2}^2 + \omega_{u3}^2 – \omega_{u4}^2) \end{aligned} $$

where $U_1$ is the total thrust, and $U_2, U_3, U_4$ are the torques for roll, pitch, and yaw, respectively. This formulation decouples the control channels to some extent, but the reaction forces from the manipulator introduce disturbances that must be addressed.

Position Controller Design for the Quadrotor Drone with Manipulator

To achieve stable position control for the quadrotor drone under manipulator disturbances, I design a nested controller with an inner attitude loop and an outer position loop. The baseline controller uses PID terms for tracking reference trajectories. However, due to the reaction forces and moments from the manipulator, additional compensation is necessary. I propose a disturbance observer-based scheme with force feedforward to enhance robustness.

The position controller for the quadrotor drone alone follows a standard structure. Given a desired position $[x_r, y_r, z_r]^T$ and yaw angle $\psi_r$, the outer loop computes desired accelerations based on PID errors. For example, in the x-direction:

$$ \ddot{x}_d = k_{p_x} (x_r – x) + k_{i_x} \int (x_r – x) dt + k_{d_x} (\dot{x}_r – \dot{x}) $$

Similar equations apply for $y$ and $z$. The desired thrust in the body frame is then:

$$ T_d = m_q \sqrt{ \ddot{x}_d^2 + \ddot{y}_d^2 + (\ddot{z}_d + g)^2 } $$

and the desired roll and pitch angles are derived from:

$$ \phi_d = \arcsin\left( \frac{m_q (\ddot{x}_d \sin\psi – \ddot{y}_d \cos\psi)}{T_d} \right) $$

$$ \theta_d = \arctan\left( \frac{\ddot{x}_d \cos\psi + \ddot{y}_d \sin\psi}{\ddot{z}_d + g} \right) $$

The inner attitude loop uses PID control to track $\phi_d, \theta_d, \psi_d$, generating torque inputs $\tau_\phi, \tau_\theta, \tau_\psi$. These are mapped to rotor speeds via the input allocation matrix. However, this baseline controller may fail when the manipulator exerts reaction torques $\tau_{dis} = [\tau_{dis,\phi}, \tau_{dis,\theta}, \tau_{dis,\psi}]^T$ on the quadrotor drone. To compensate, I introduce a disturbance observer that estimates $\tau_{dis}$ and feeds it forward.

The disturbance observer structure is shown in Figure 1 (conceptual). Let $G(s)$ be the actual transfer function of the quadrotor drone attitude dynamics, and $G_n(s)$ be the nominal model. The observer estimates the disturbance as:

$$ \hat{\tau}_{dis} = Q(s) \left( \frac{G_n(s) – G(s)}{G(s)} \tau_{com} + \frac{G_n(s)}{G(s)} \tau_{dis} \right) $$

where $Q(s)$ is a low-pass filter, e.g., $Q(s) = \text{diag}\left( \frac{g_1}{s+g_1}, \frac{g_2}{s+g_2}, \frac{g_3}{s+g_3} \right)$, with bandwidths $g_i$ for each Euler angle channel. If $G_n(s) = G(s)$, then $\hat{\tau}_{dis} = Q(s) \tau_{dis}$, providing an estimate of low-frequency disturbances. The compensated torque input becomes:

$$ \tau_{com} = \tau_{des} – \hat{\tau}_{dis} + \tau_{dis} $$

where $\tau_{des}$ is the output from the PID attitude controller. In practice, $\tau_{dis}$ is unknown, but the observer approximates it, improving performance.

Additionally, when the manipulator’s end-effector contacts the environment, external forces $F_{ext} = [F_{ext,x}, F_{ext,y}, F_{ext,z}]^T$ may act on the system. To maintain trajectory tracking, I incorporate a force feedforward term. For horizontal forces, the equivalent torque on the quadrotor drone is approximated via a transfer function $G_d(s)$. The feedforward compensation is:

$$ \tau_{ff} = K G_d(s) F_{ext} $$

where $K = [K_x, K_y]$ is a gain matrix. This torque is added to $\tau_{com}$ to counteract the force effects. The overall control architecture integrates the PID loops, disturbance observer, and force feedforward, ensuring that the quadrotor drone remains stable despite manipulator motions and external interactions.

The control parameters for the simulations are tuned based on the system dynamics. Table 3 lists the PID gains used for the position and attitude loops in the hover scenario, while Table 4 shows parameters for the external force scenario. These values are derived through iterative tuning to achieve desired response characteristics.

Table 3: Control Parameters for Hover Under Arm Actuation
Parameter Value Parameter Value
$k_{d_x}$ 7 $k_{p_\psi}$ 5
$k_{i_x}$ 4 $k_{d_\phi}$ 9
$k_{p_x}$ 2 $k_{d_\theta}$ 8
$k_{d_y}$ 4 $k_{d_\psi}$ 8
$k_{i_y}$ 4 $k_{i_\phi}$ 0.1
$k_{p_y}$ 6 $k_{i_\theta}$ 0.1
$k_{d_z}$ 18 $k_{i_\psi}$ 0.8
$k_{i_z}$ 10 $g_2$ (observer bandwidth) 3
$k_{p_z}$ 1 $g_3$ (observer bandwidth) 0.1
$k_{p_\phi}$ 12
$k_{p_\theta}$ 5
Table 4: Control Parameters for Trajectory Tracking Under External Force
Parameter Value Parameter Value
$k_{d_x}$ 7 $k_{p_\theta}$ 5
$k_{i_x}$ 10 $k_{p_\psi}$ 5
$k_{p_x}$ 2 $k_{d_\phi}$ 9
$k_{d_y}$ 4 $k_{d_\theta}$ 8
$k_{i_y}$ 4 $k_{d_\psi}$ 8
$k_{p_y}$ 6 $k_{i_\phi}$ 0.1
$k_{d_z}$ 18 $k_{i_\theta}$ 0.1
$k_{i_z}$ 10 $k_{i_\psi}$ 0.8
$k_{p_z}$ 1 $K_x$ (feedforward gain) 1
$k_{p_\phi}$ 12 $K_y$ (feedforward gain) 1

This controller design leverages the dynamics model to actively reject disturbances, ensuring that the quadrotor drone can perform precise maneuvers even with a manipulator. The integration of the disturbance observer and feedforward terms is key to handling the complexities introduced by the aerial manipulation system.

Simulation Verification and Results

To validate the proposed controller, I conduct simulations in MATLAB/Simulink using the dynamics model and parameters from Table 2. Two scenarios are tested: hover maintenance during manipulator actuation, and trajectory tracking under external forces on the end-effector. These scenarios represent common challenges for a quadrotor drone in contact-based applications.

In the first scenario, the quadrotor drone is commanded to hover at a fixed position $[0, 0, 5]^T$ meters with zero yaw. The single-joint manipulator is actuated such that joint $q_1$ undergoes a constant angular acceleration of $0.005 \, \text{rad/s}^2$ over a 200-second simulation. This motion induces reaction torques on the quadrotor drone, particularly affecting the pitch angle. I compare the performance of the baseline PID controller (without disturbance observer) and the proposed controller (with disturbance observer).

With the baseline controller, the quadrotor drone experiences significant drift in the x-direction due to uncompensated pitch disturbances. The position error grows over time, as shown in Figure 2 (conceptual). In contrast, with the disturbance observer enabled, the x-position error converges, though with some overshoot. By fine-tuning the PID gains and adding integral action in the attitude loop, the overshoot is reduced to below 0.5 meters. The quadrotor drone maintains hover within acceptable bounds, demonstrating the observer’s effectiveness in estimating and compensating for reaction torques.

Key metrics for this scenario include the root-mean-square (RMS) position error and maximum deviation. With the proposed controller, the RMS error in x is reduced by over 70% compared to the baseline. The quadrotor drone’s attitude angles also show improved stability, with pitch fluctuations minimized. This highlights how the disturbance observer enhances the robustness of the quadrotor drone against manipulator-induced disturbances.

In the second scenario, the quadrotor drone is tasked with tracking a trajectory along the y-direction at a constant velocity of $0.1 \, \text{m/s}$ while an external force $F_{ext,y}$ acts on the end-effector. The force increases linearly from $0.001 \, \text{N}$ to $0.2 \, \text{N}$ over 200 seconds, simulating gradual contact with an environment. I test the baseline controller and the proposed controller with force feedforward.

Without feedforward, the quadrotor drone begins to oscillate in position and attitude as the force reaches approximately $0.19 \, \text{N}$, eventually diverging from the trajectory. This is because the PID loops cannot adequately reject the persistent force disturbance. With force feedforward enabled, the quadrotor drone tracks the trajectory smoothly, with position errors remaining within $0.1 \, \text{m}$ throughout the simulation. The feedforward term effectively cancels the equivalent torque caused by $F_{ext,y}$, allowing the quadrotor drone to maintain stability.

To quantify performance, I compute the trajectory tracking error and control effort. Table 5 summarizes the results for both scenarios, using the proposed controller. The data confirms that the integrated approach—combining disturbance observer and force feedforward—ensures reliable operation for the quadrotor drone under challenging conditions.

Table 5: Simulation Performance Summary for the Quadrotor Drone
Scenario Metric Baseline Controller Proposed Controller
Hover under arm actuation RMS x-error (m) 1.2 0.3
Max pitch deviation (deg) 8.5 2.1
Trajectory under external force RMS y-error (m) 0.5 0.05
Control effort (norm of $\tau$) High, unstable Stable, moderate

These simulations underscore the importance of advanced control strategies for a quadrotor drone equipped with a manipulator. The disturbance observer handles internal dynamics interactions, while force feedforward addresses external disturbances, together enabling precise and robust aerial manipulation. The quadrotor drone, as a platform, proves capable of supporting such tasks when appropriately controlled.

Conclusion and Future Work

In this study, I have presented a comprehensive approach to modeling and controlling a quadrotor drone with a single-joint manipulator. The dynamics model, derived using Newton-Euler recursion, captures the reaction forces and moments between the quadrotor drone and the manipulator, providing a foundation for control design. The proposed position controller incorporates a disturbance observer to compensate for manipulator-induced torques and a force feedforward scheme to reject external disturbances. Simulation results demonstrate that this controller enables the quadrotor drone to maintain hover during arm actuation and track trajectories under external forces, validating its effectiveness for contact-based applications.

The quadrotor drone, as a versatile aerial vehicle, benefits significantly from such control enhancements, expanding its potential in fields like inspection, maintenance, and manipulation. However, there are limitations and opportunities for improvement. For instance, the current controller relies on accurate model parameters; uncertainties in inertia or mass could degrade performance. Future work could explore adaptive control techniques to handle parameter variations. Additionally, the single-joint manipulator is a simplified system; multi-joint arms would introduce more complex dynamics, requiring advanced control strategies like robust or nonlinear methods.

Another direction is to improve position tracking precision. While the PID-based controller with disturbance rejection works well, it may exhibit overshoot or slow response in aggressive maneuvers. Model predictive control (MPC) could be integrated to optimize trajectories while accounting for constraints, potentially yielding better accuracy for the quadrotor drone. Furthermore, real-world implementation would involve sensor noise and delays; thus, state estimation and filtering techniques should be investigated.

In summary, this work contributes to the growing field of aerial manipulation by providing a detailed modeling and control framework for a quadrotor drone with a manipulator. The emphasis on disturbance compensation ensures that the quadrotor drone can operate reliably in interactive environments. As research progresses, such systems will become more capable, enabling the quadrotor drone to perform increasingly complex tasks that require physical contact, ultimately broadening the horizons for autonomous aerial robotics.

Scroll to Top