1. Introduction
Aerial manipulation has emerged as a critical research domain, with applications spanning industrial maintenance, inspection, and assembly tasks in challenging environments. Examples of application of these systems include the inspection of infrastructure like wind turbines, nuclear facilities, and bridges, as well as archaeological site exploration and sensor deployment in hard-to-reach locations [
1]. These tasks leverage the maneuverability of Unmanned Aerial Vehicles (UAVs) equipped with robotic manipulators, collectively referred to as aerial manipulators or Unmanned Aerial Manipulators (UAMs).
UAMs combine the capabilities of UAVs, which provide mobility, with robotic arms that enable physical interaction with the environment. The most common UAV configuration is a multicopter, due to its hovering capabilities and high maneuverability in three-dimensional space. These platforms are often coupled with serial robotic arms for enhanced workspace and dexterity, making them suitable for complex tasks such as grasping, assembly, and inspection [
2].
Despite their potential, UAMs face significant challenges, particularly because the UAV base is not fixed and is subject to external disturbances, such as wind gusts. These disturbances complicate the control of the UAM and can compromise the precision of the manipulator’s end-effector positioning. Additionally, the dynamic coupling effect between the manipulator and the UAV base further exacerbates these issues. The movement of the manipulator generates reaction forces and torques that destabilize the UAV, affecting its attitude and position [
3].
Two main control approaches have been explored to address these challenges: coupled and decoupled control. In the coupled approach, the entire dynamic system, including the UAV base and the manipulator, is modeled and controlled as a single entity [
4]. Decoupled control, on the other hand, treats the UAV and the manipulator as separate systems, relying on robust controllers or disturbance observers to compensate for interaction forces [
5]. A third approach, known as the partially coupled strategy, combines elements of both: the UAV and manipulator are controlled independently, but interaction forces are estimated or measured to improve coordination. This strategy leverages additional sensing to mitigate disturbances while maintaining computational simplicity [
6,
7].
Initial research on free-flying robotic systems, originally conducted for space robotics applications, has laid a robust foundation for methodologies that are highly applicable also to aerial manipulation. The use of these methods with UAMs suggests a promising pathway for addressing challenges in this field. Researchers have came up with methodologies such as the Generalized Jacobian matrix to develop inverse kinematics control schemes for floating-base manipulators [
8,
9]. These strategies have proven instrumental in enabling precise positioning for floating-base systems and have been effectively adapted to manage the challenges of dynamic coupling in aerial platforms [
10]. The Generalized Jacobian approach was further developed in [
6], where it was extended for aerial manipulation in order to consider also gravity and UAV control forces.
Another possibility that was explored to counter the dynamic coupling effect was to employ redundant arms. For example, ref. [
11] presents a method for the solution of the inverse kinematics that leverages redundancy to locally minimize the torque exerted on the base by the manipulator.
Closed-Loop Inverse Kinematics (CLIK) [
12] algorithms incorporate a feedback loop in the solution of the inverse kinematics of manipulators, improving the trajectory tracking capabilities even in the presence of external disturbances. These algorithms were applied to aerial manipulators in [
13,
14]. In [
15], CLIK approach for UAMs is further developed to operate at the acceleration level, addressing real-world disturbances like wind and sensor noise.
Many other advanced control approaches are currently under development to address the complex challenges posed by aerial manipulators. Among these, optimization-based techniques like Non-linear Model Predictive Control (nMPC) [
16,
17] have been employed to handle the nonlinear dynamics of these systems. Also non-linear [
18], adaptive [
19], and Reinforcement-Learning-based [
20] controllers have been applied to this field with good results. These methods offer improved performance but involve significantly higher computational complexity.
In addition to control strategies, mechanical design modifications have been investigated to mitigate the dynamic coupling effect. These include strategies such as counter-balancing mechanisms [
21,
22,
23], balanced manipulators [
24,
25], and the use of compliant or passive elements to decouple the UAV base from the manipulator [
26].
Also in this paper, a mechanical approach is exploited to reduce the dynamic coupling effect between a serial manipulator and a UAV. Specifically, we consider a non-actuated revolute joint between the UAV and the manipulator, which reduces the torque transmitted from the manipulator to the UAV, enhancing the stability of the system. Typically, inverse kinematics methods based on differential kinematics cannot be used in the presence of a non-actuated joint. Therefore, a novel method to solve this problem is proposed in this paper. The approach is validated by exploiting a simulation framework developed in MATLAB to solve the kinematics and dynamics of free-flying manipulators.
The remainder of this paper is organized as follows:
Section 2 outlines the background theory and the methodologies used; in
Section 3, the solution of the inverse kinematics of the manipulator with the non-actuated joint is derived;
Section 4 introduces the simulation setup, including the parameters and the validation methodology;
Section 5 presents the results of simulations and discusses the performance of the proposed approach; and finally,
Section 6 summarizes the contributions and outlines potential directions for future research.
3. Inverse Kinematics of the Manipulator with a Non-Actuated Revolute Joint
In order to solve the inverse kinematics of a manipulator attached to a mobile base through a non-actuated revolute joint, the dynamics of the system must be considered. In fact, the motion of actuated joints causes a motion of the base and the rotation of the passive joint. Also, external forces acting on the base and on the end-effector cause undesired motion of the robot. The effects of base motion and external forces on the end effector are described in
Section 2.3; thus, it can be considered and compensated for in the solution of the inverse kinematics. However, before using Equation (
12), the acceleration of the non-actuated joint must be expressed as a function of the acceleration of the actuated joints.
Inverting Equation (
3) and using Equation (
4), the acceleration of the base is expressed as a function of joint acceleration and external forces:
If one of the joints is free, the corresponding component of
is null; alternatively, if this joint is not actuated but is subject to damping, the corresponding component of
is proportional to the joint velocity. This is exploited to express the acceleration of the free joint in terms of the acceleration of actuated joints. Substituting (
13) in (
4), the following relationship between joint accelerations is found:
in (
14) the following definitions are used for brevity:
Then, the acceleration of the non-actuated joint (the first joint) is expressed as a function of the acceleration of other joints selecting the first row of (
14) and isolating
:
where
if the first joint is free, or
if the damping of the first joint is considered. It is worth noticing that the following derivation is still valid even if the non-actuated joint is not the first joint. Therefore, introducing the vector of actuated joints
, joint accelerations are expressed as:
where
is the identity matrix. Rewriting Equation (
18) in a concise form gives:
where:
Substituting (
19) in (
12) and solving for the actuated joint accelerations gives the inverse kinematics equation:
If the manipulator is redundant (i.e., the dimension of
is larger than the dimension of
), infinite solutions of
that achieve the desired end-effector acceleration exist. For a redundant manipulator, the matrix
is not square and cannot be inverted. The additional degree of freedom of the system can be exploited to satisfy additional tasks such as the minimization of joint accelerations. The solution that minimizes the acceleration of the actuated joints can be obtained by replacing the inverse of
with its Moore–Penrose right pseudo-inverse (see [
6,
28] for more details on the derivation).
The reduction in the reaction torque on manipulators is a topic that has also been addressed in recent times for fixed-base manipulators ([
29]). The use of a passive joint can be a simple approach to reduce the reaction torque also in this case. The inverse kinematics method can be applied to a manipulator attached to a fixed base through a non-actuated joint imposing null
in the above procedure. In this case the relationship between the acceleration of all of the joints and the actuated joints becomes:
with:
Finally, substituting (
21) in (
7) and solving for the actuated joint accelerations yields the following inverse kinematics equation:
4. Simulation Setup
The algorithm described in the previous sections was implemented in a MATLAB simulator (MATLAB release 2024a), which recursively solves the kinematics and dynamics of free-base robotic systems. The simulator solves the system through a time discretization; a timestep of 0.001 s was used for the solution of the differential inverse kinematics.
In particular, at each timestep
k, generalized forces and inertia matrices are calculated based on the current state of the UAM. The generalized forces acting on the system are: controls
and
, forces and torques due to gravity, forces due to the payload, and Coriolis and centrifugal terms
and
. Base acceleration is calculated using Equation (
13). The acceleration of actuated joints are calculated through the inverse kinematics Equation (
20), while the acceleration of the non-actuated joints can be retrieved from Equation (
19). The state of the UAM at timestep
is computed by numerical integration of
and
. The diagram describing the simulation procedure is depicted in
Figure 2.
For each manipulator, the inverse kinematic algorithm was tested by considering two scenarios: the tracking of a trajectory with the end-effector, and a load picking task.
4.1. Simulation Model
The parameters of the model employed to carry out the numerical validation of the algorithm are referred to real-world equipment available at our laboratory. The UAV base refers to the S1000 Spreading Wings octocopter (depicted in
Figure 1) manufactured by DJI (Shenzen, China). Its mass is denoted with
and the moment of inertia with
. Their values are reported in
Table A1. The first joint of the manipulator cannot be placed on the UAV CoG because of physical rescritions; the vector
from UAV CoG to the first joint is described in
Table A1.
The manipulator parameters refer to the Trossen WidowX 250s Mobile arm. The values for the masses and the moments of inertia of the links were retrieved from the manipulator URDF file that the manufacturer provides on GitHub [
30]. Since simulations were performed for a planar problem, we considered only the joints that allow rotations around the axis
: shoulder, elbow, and wrist-angle joints. Other physical joints were considered as fixed joints, and inertial parameters of the physical links were merged consequently to construct the equivalent planar model of the manipulator. For the sake of simplicity, the CoGs of the links were considered laying on the connection line between consecutive joints. The inertial parameters (
,
) of the equivalent links, lengths of the equivalent links
, and distances
between the joint
i and the CoG of the equivalent link
i are listed in
Table A2.
For completeness, joint limits of the equivalent manipulator are reported in
Table A3.
To validate the method for a redundant manipulator, in
Section 5.3 simulations are conducted with a 4-links serial manipulator. The additional link has the same dimensions and inertial properties of the first link and is placed between the base and the first link.
A schematic representation of the UAM system comprising the external forces is illustrated in
Figure 3.
4.2. Trajectory Tracking Task
In the first scenario, the end-effector was required to follow a circular trajectory of diameter m; the orientation of the end-effector was free. The trajectory was described through an acceleration profile () with continuity of its first derivative (i.e., trajectory with jerk continuity).
At the beginning of the simulation, the CoG of the manipulator and the CoG of the UAV were vertically aligned; thus, the UAM was in a stable equilibrium configuration and the initial position of the end-effector was defined. The joint angles in the initial equilibrium configuration of the 3-DOF and of the 4-DOF manipulator are reported in
Table 2.
The desired trajectory and acceleration profiles of the end-effector are shown in
Figure 4.
For this trajectory, the damping of the non-actuated joint was set to 0 Ns/rad.
4.3. Load-Picking Task
The second scenario simulates the UAM picking a mass of
kg from the ground. The task was divided into the following stages: first, the end-effector moves along a line with a displacement of 10 cm in the horizontal direction and 10 cm in the vertical direction in 6 s; then, the end-effector maintains its position for 2 s and the load is grasped at
s; from
s to
s, the end-effector returns to its initial position; and finally, the end-effector is required to maintain its position for 3 s. The first part of the backward motion (8 s <
t < 14 s) is slower to avoid a fast variation of the load force, which would cause a large altitude drop of the UAV. As in the trajectory tracking task, the desired trajectory was described through an acceleration profile with jerk continuity. The trajectory and the desired acceleration profiles of the end-effector are shown in
Figure 5.
The load was considered as a generalized force applied to the end-effector () in the dynamics and in the inverse kinematics equations.
The first three terms of
were the sum of three terms: weight force, inertial force, and contact force between load and ground; friction of the contact was neglected. The contact between the load and the ground was modeled through a vertical spring of stiffness
with unloaded height of the spring
. No torque was exerted on the end-effector; thus, the last three therms of
were null:
Here
is the Heaviside function;
g is the acceleration of gravity;
and
are the horizontal and vertical acceleration of the end-effector, respectively; and
is the height of the end-effector. The stiffness of the contact (
) was set to 500 N/m.
Typically, the damping of real joints is not negligible; thus, the damping of the non-actuated joint was set to 0.1 Ns/rad in this task.
5. Simulation Results
5.1. Manipulator with Fixed Base
First, the algorithm was tested considering the manipulator attached to a fixed base through the undamped revolute joint. This case corresponds to a WidowX 250s robotic arm modified substituting the actuated shoulder joint with a free revolute joint.
The joint angles calculated through our approach for the trajectory tracking task are reported in
Figure 6 together with the torque applied on the non-actuated joint. Resulting joint angles respected the joint limits reported in
Table A3. The calculated torque on the non-actuated joint was negligible (maximum value below
Nm) and was due to discretization error; a reduction in the timestep used for the solution of the inverse kinematics would result in a reduction in this torque. Stroboscopic views of the manipulator following the circular trajectory are reported in
Figure 7. The position error due to the time discretization was below
m at all times during the simulation.
After the first case, the manipulator attached to a fixed base through the damped revolute joint performing the load picking task was solved. The stroboscopic views of the manipulator performing the task are shown in
Figure 8, while joint angles and torque on the first joint are reported in
Figure 9. As expected, the torque on the first joint is not negligible because of the presence of the damper. When the load is grasped, there is a sharp increase in the torque applied to the base (up to
Nm) and some vibrations are triggered; however, these vibrations quickly disappear because of the presence of the damper.
It is worth noticing that, when the manipulator is not moving, the largest contribution to the torque on the first joint is due to gravity. Therefore, at the end of the simulation, the combined CoG of the manipulator and the payload must be vertically aligned to the first joint. For this reason, final joint angles are different from initial joint angles. Also in this case, joint limits are satisfied and the position error was below m.
5.2. Manipulator on the UAV
The method described in
Section 3 was applied to the aerial manipulator described in
Section 4.1 in the Matlab environment. The PID controller described in
Section 2.1 was used to maintain the altitude of the UAV and to contrast its rotation. The torque applied by the manipulator on the UAV CoG during the tasks was analyzed, since it affects the UAV motion.
First, the trajectory tracking task without the damper on the first joint was considered. The stroboscopic views for this task are shown in
Figure 10, and resulting joint angles and torque applied by the manipulator on the UAV CoG are reported in
Figure 11. The rotation of the UAV and its translation on the plane are shown in
Figure 12. At half of the trajectory, when the end-effector motion is faster, there is an increase in the torque applied by the manipulator on the UAV CoG (note that this torque is due to the reaction forces acting on the non-actuated joint); however, this torque does not cause significant rotations of the UAV. Therefore, the translation of the UAV is mainly due to the inertia of the manipulator.
As in previous simulations, joint limits (see
Table A3) are satisfied and the position error of the end-effector is below
m.
Secondly, the 3-DOF UAM with a damper on the non-actuated joint performing the load picking task was considered. The corresponding stroboscopic views are shown in
Figure 13, calculated joint angles and torque applied by the manipulator on the UAV CoG are shown in
Figure 14, and UAV rotation and translation are shown in
Figure 15.
As for the case with fixed base, when the load is grasped, there is an increase in the torque applied by the manipulator on the UAV and damped vibrations are triggered. This torque peaks at Nm. A similar trend is visible in the UAV rotation.
Due to the small rotation of the UAV rotation (maximum value is
rad), the thrust force
is almost vertical throughout the simulation, and negligible external forces act on the UAM along the
x direction. Therefore, in the first stage of the motion, while the end-effector moves to reach the load towards positive abscissa, the UAV translates towards negative abscissa. Moreover, the UAV translates towards positive abscissa while the load is lifted, and the final
x position of the UAV is
m. This is due to the absence of significant torque between the manipulator and the UAV, and similar behavior was observed in [
6].
The altitude of the UAV is significantly affected when the load is grasped; in fact, the UAV control did not increase the thrust force instantaneously and an altitude drop of m is visible.
Joint limits were satisfied, and the maximum position error of the end-effector is below
m. Even though a passive joint is used, the performance of the novel inverse kinematic procedure in terms of end-effector trajectory fidelty is comparable with the performance of previous works that used approaches based on differential kinematics ([
6]).
5.3. Redundant Manipulator on the UAV
Finally, the inverse kinematics approach was tested on the redundant 4-DOF manipulator. The stroboscopic views for the trajectory tracking task are shown in
Figure 16, joint angles and torque applied by the manipulator on the UAV CoG are shown in
Figure 17, and UAV rotation and translation are shown in
Figure 18.
The torque applied by the manipulator on the UAV is comparable with the non-redundant case (see
Figure 11), and the UAV rotation is negligible.
The trend of the UAV translation is similar to the non-redundant case (see
Figure 12); however, the translation is larger because of the increased inertia of the manipulator.
The position error of the end-effector remained below m during the simulation.
The load picking task was solved with the 4-DOF UAM. In this task, the damping of the free joint was considered. The stroboscopic views for this case are shown in
Figure 19, resulting joint angles and torque applied by the manipulator on the UAV CoG are plotted in
Figure 20, and UAV rotation and translation are shown in
Figure 21.
As for other load picking cases considered in this paper (see
Section 5.1 and
Section 5.2), the grasping of the load causes a sharp increase in the torque and triggers damped vibrations.
The trend of UAV rotation and translation is similar to the non-redundant case, but the redundant manipulator enables the reduction in the maximum x position ( m against m).
Position error of the end-effector was below
m. Again, the position error is comparable with the one obtained in [
6].
6. Conclusions
In this paper, a novel approach for the solution of the inverse kinematics of a serial manipulator with a floating base and a non-actuated joint was proposed. The method is based on the differential Kinematics resolved at the acceleration level. The motion of the base is calculated and compensated for by exploiting the Generalized Jacobian. The equations of motion are used to take into account the presence of external forces acting on the system; moreover, these are used to relate the motion of the non-actuated revolute joint with that of the actuated ones. The equations were generalized to redundant serial manipulators and characterized to the case with fixed base.
The method was tested in Matlab for a planar aerial manipulator. In order to reduce the torque disturbance on the UAV, the non-actuated joint was placed between the UAV and the robotic arm. Two tasks were considered: the tracking of a trajectory with the end-effector, and the picking of a payload from ground; both the tasks were executed with a non-redundant and with a redundant manipulator. The novel approach of this paper showed small horizontal displacement of the UAV due to the reduction in torque disturbance. In particular, the horizontal displacement of the UAV was comparable or smaller than the vertical displacement, while it can be much higher without the minimization of the disturbance (as shown in [
6]). The effectiveness of the method for a manipulator attached to a fixed base through a non-actuated joint was also tested. Our method was able to follow the desired trajectory with the advantage of a reduced torque on the base.
A possible development of this work is the inclusion of constraints (such as joint limits) in the solution of the inverse kinematics, for instance, by defining a constrained least squares problem. Moreover, environmental disturbances that cannot be modeled (like wind gusts) or modeling errors (for instance in the contact force) were not considered in this work, and CLIK algorihtms can be developed to counteract the effect of these disturbances. Finally, in real applications to aerial manipulators the method could be integrated with sensors (such as UAV’s IMUs or vision systems) to estimate the state of the UAM.