Keywords

1 Introduction

Nowadays, unmanned aerial platforms are mainly used for observation. Augmenting their functionality by adding manipulative devices would significantly broaden their roles. Gripping and dispatching payload would allow to perform transportation and rescue missions. This is also an attractive perspective for industry allowing new methods in production logistic chains - supply from the air. Multirotor flying platforms are a popular choice: “Quadrotors are considered to be most flexible and easy to modify. In the same way that the wheeled mobile robots was the testing ground of much of the fundamental work in robotic vehicle mobility throughout the 1990s, the quadrotor platform is emerging as the fundamental research platform of choice for aerial robotics research to investigate problems related to three-dimensional mobility and in-flight perception.” [4]. Academic research labs as well as private business are actively working in that field.

Control issues related to multirotor platforms equipped with manipulator arms are still a matter of research. They constitute a set of problems called MM-UAV (Mobile Manipulating Unmanned Aerial Vehicles). Not many research groups investigate such issues. Most of them are focused on approaches utilizing computer vision to close a feedback loop. Motion Capture Systems are used for that goal. Example of such solution is a work of a group from Seoul National University (Intelligent Control Systems Laboratory), which uses on-board manipulator with 2 DOF. The demonstration tasks are precise point-to-point payload transfers [1].

Remarkable results have been obtained at Pennstate University in Filadelphia (GRASP Lab Team), where control problems of multirotor swarm were investigated. In 2013, members of the team have published a paper on the in-flight capturing of the payload from one platform to another. Following a biomimetic approach, they tried to mimic the behaviour of the eagle capturing a prey [3, 7]. Published results of tests confirm the advanced state of the art. However, it is worth to mention that aerial vehicle in that experiment was controlled by external system composed of highest performance motion capture system (Vicon) and computer calculating the trajectory. Transferring the control to the on-board control system makes the task much more challenging and difficult. So far only a group from Drexel University has published papers describing a concept of such solution involving a dual arm on-board manipulation system [2, 5, 6]. Some results addressing platform stabilization are reported based on the mathematical modeling and simulation of the system. On the webpage of the Drexel group some movies illustrating tests on the real platform with single- and dual-arm system (2 DOF arms) are presented.

Due to the limited computing capabilities of on-board computers, it may be useful to determine which parameters of manipulators have the greatest impact on the behaviour of the platform in the air. Assuming fixed values or using linear approximation of some functions would reduce the computational complexity of the planned control algorithms. This article analyses the influence of various manipulators’ parameters on the behaviour of manipulator platform in air.

This paper is composed as follows: Sect. 2 - description of the kinematical model of the overall system, Sect. 2.1 - compensation of the static disequilibrium for platform’s attitude, Sect. 2.2 - calculation of variable centre of gravity, Sect. 2.3 - calculation of a variable tensor of inertia, Sect. 2.4 - analysis of the change of static configuration. The paper is summarised with description of future research plans.

2 Kinematics of the Aerial Platform Equipped with Dual-Arm Manipulation System

To calculate direct kinematic transform for the dual-arm system, D-H transform matrices have been defined for every arm (Table 1). Coordinate systems at manipulators’ end-points in resting position have been rotated to align them with base coordinate system. Coordinate systems for the consecutive joints have been introduced according to D-H rules.

Table 1. Denavitt-Hartenberg notation for ARM1 and ARM2 manipulators (Fig. 1)
Fig. 1.
figure 1

Dimensions and D-H notation of axes of manipulator arms

Calculated transforms for particular joints with regard to the base system:

$$\begin{aligned} ^{i-1}A_{i}=RotZ(\theta _i)\cdot TranZ(d_i)\cdot TranX(a_i)\cdot RotX(\alpha _i) \end{aligned}$$
(1)

where: A - matrix defining coordinate system of particular joint according to D-H notation, RotZ, TranZ, TranX, RotX - elementary transformation matrices, \(i-1\) - lower joint of the manipulator, i - current joint, \(d_i,\theta _i,a_i,\alpha _i\) - geometrical parameters of arm segments.

$$\begin{aligned} ^{0}A_{1}=\begin{bmatrix} 0&0&1&0\\ -1&0&0&a_1\\ 0&-1&0&d_1\\ 0&0&0&1 \end{bmatrix}, \end{aligned}$$
(2)
$$\begin{aligned} ^{0}A_{2}=\begin{bmatrix} 0&1&0&0\\ -\cos (\theta {}_1)&0&-\sin (\theta {}_1)&a_1\\ \sin (\theta {}_1)&0&\cos (\theta {}_1)&d_1\\ 0&0&0&1 \end{bmatrix}, \end{aligned}$$
(3)
$$\begin{aligned} ^{0}A_{3}=\begin{bmatrix} \sin (\theta {}_2)&0&\cos (\theta {}_2)&0\\ -\cos (\theta {}_1)\cdot \cos (\theta {}_2)&\sin (\theta {}_1)&\cos (\theta {}_1)\cdot \sin (\theta {}_2)&-a_1-d_2\cdot \sin (\theta {}_1)\\ -\cos (\theta {}_2)\cdot \sin (\theta {}_1)&-\cos (\theta {}_1)&\sin (\theta {}_1)\cdot \sin (\theta {}_2)&d_1+d_2\cdot \cos (\theta {}_1)\\ 0&0&0&1 \end{bmatrix}, \end{aligned}$$
(4)
$$\begin{aligned} ^{0}A_{4}=\begin{bmatrix} \cos (\theta {}_4)\cdot \sin (\theta {}_2)&\cos (\theta {}_2)&\sin (\theta {}_2)\cdot \sin (\theta {}_3)&0\\ c_{21}&\cos (\theta {}_1)\cdot \sin (\theta {}_2)&c_{23}&-a_1-d_2\cdot \sin (\theta {}_1)\\ c_{31}&\sin (\theta {}_1)\cdot \sin (\theta {}_2)&c_{33}&d_1+d_2\cdot \cos (\theta {}_1)\\ 0&0&0&1\\ \end{bmatrix}. \end{aligned}$$
(5)

where:

$$ \begin{array}{rcl} {{}^0A}_{i} &{} = &{} {{{}^0}A}_{1} \cdot {{{}^1}A}_{2} \cdot ... \cdot {{}^{i-1}}A_{i}\\ c_{21}&{}=&{}\sin (\theta {}_1)\cdot \sin (\theta {}_3)-\cos (\theta {}_1)\cdot \cos (\theta {}_2)\cdot \cos (\theta {}_3)\\ c_{31}&{}=&{}-\cos (\theta {}_1)\cdot \sin (\theta {}_3)-\cos (\theta {}_2)\cdot \cos (\theta {}_3)\cdot \sin (\theta {}_1)\\ c_{23}&{}=&{}-\cos (\theta {}_3)\cdot \sin (\theta {}_1)-\cos (\theta {}_1)\cdot \cos (\theta {}_2)\cdot \sin (\theta {}_3)\\ c_{33}&{}=&{}\cos (\theta {}_1)\cdot \cos (\theta {}_3)-\cos (\theta {}_2)\cdot \sin (\theta {}_1)\cdot \sin (\theta {}_3) \end{array} $$

2.1 Compensation of Static Components of the System Reaction Angles

Static components of reaction angles are determined as angles of rotation of the platform due to the change of configuration of manipulator arms during single sampling period, assuming the thrust of all rotors is maintained. Such angles are calculating according to the following formulas:

$$\begin{aligned} \eta _n = \mathop {\iint }\limits ^{t+\varDelta t}_{t} \varPsi _n dt dt \end{aligned}$$
(6)

where: \(\eta _x, \eta _y\) - reaction angle of the platform in relation to axis n (x or y), \(\varDelta t\) - current sampling period, \(\varPsi _n\) - angular acceleration around axis n, k - sample index.

Angular acceleration is calculated with the following formula:

$$\begin{aligned} \varPsi _n = \frac{Ms_n}{I_n} \end{aligned}$$
(7)

where: \(Ms_n\) - resulting torque in axis n (x or y), \(I_n\) - moment of inertia affecting axis n, described in Sect. 2.3). Resulting torques are calculated according to the equation:

$$\begin{aligned} Ms_n=MsR_n + \sum \limits _{j=1}^{2} \sum \limits _{i=2}^{4} ARM\{j\}\_Ms\{i\}_n \end{aligned}$$
(8)

where: \(MsR_n\) - torques in axis n, result of the gravity with regard to platform’s centre of mass (including modules M1), j - arm number (ARM1, ARM2), i - manipulator module number, \(ARM\{j\}\_Ms\{i\}_n\) - force torque in axis n, due to gravitation at centre of mass of the appropriate arm segment. These torques are calculated according to the following trigonometrical equations (visualised in Fig. 2):

$$\begin{aligned} \begin{aligned} Ms_n&= SMS_n \cdot \sqrt{AM_n^2+AM_z^2}\\ SMS_n&= sgn(\zeta ) \cdot \sqrt{Wg_n^2+Wg_z^2} \cdot cos(\zeta )\\ \zeta&= 360-90-90-\eta -(90-\epsilon ) = 90-\eta +\epsilon \\ \eta&= arctan\left( \frac{Wg_z}{Wg_n} \right) \Rightarrow arctan2\left( Wg_z,Wg_n \right) \\ \epsilon&= arctan\left( \frac{AM_z}{AM_n} \right) \Rightarrow arctan2\left( AM_z,AM_n \right) \\ Wg_n&= m \cdot g \cdot vg_n\\ Wg_z&= m \cdot g \cdot vg_z\\ vg&= R_x^T \cdot R_y^T \cdot R_z^T \cdot \left[ \begin{array}{ccc} 0&0&1 \end{array} \right] ^T \end{aligned} \end{aligned}$$
(9)

where: \(Ms_n\) - force torques in axis n (x or y), \(SMS_n\) - component of the gravity vector perpendicular to the distance between centre of mass of a given segment and its rotation axis, sgn() - modified signum function, returning 1, 0 and 1, respectively for negative, zero, and positive arguments, \(\zeta \), \(\eta \), \(\epsilon \) - angles shown in Fig. 2, Wg - vector of the gravity for the robot or arm’s segment under consideration, m robot’s or manipulator’s segment mass, g gravitational acceleration, vg - gravity field versor obtained by multiplying the inverted matrices of Tait-Bryan by z-axis versor. It allows to determine the orientation of force torques while the aerial platform is tilting.

Fig. 2.
figure 2

Trigonometrical dependencies used to calculate force torques (Eq. 9)

Fig. 3.
figure 3

Centres of masses’ geometrical representation in particular segments of manipulators

2.2 Determining Centres of Gravity

Using transform matrices of particular joints of manipulators transforms mass centres of moving segments (m2, m3, m4 in Fig. 3), while mass of fixed segment M1 has been included in platform mass:

$$\begin{aligned} AM_{i}={{{}^{0}}A}_{i}\cdot Tran(m_{xyz}) \cdot pp \end{aligned}$$
(10)

where: AM - coordinates of the mass centre of the manipulator segment in reference frame of the robot, \(Tran(m_{xyz})\) - matrix determining mass centre of the segment with regard to coordinate frame of its joint, \(i-1\) - lower joint of the manipulator, i - manipulator joint, \(m_{xyz}\) - coordinates of the mass centres of segments m2, m3, m4 (Fig. 3), \(pp = \begin{bmatrix} 0&0&0&1 \end{bmatrix}^T\) - centre of the robot’s base reference frame.

$$\begin{aligned} AM_2=\begin{bmatrix} m2_y\\ -a_1-\cos (\theta {}_1)\cdot m2_x-\sin (\theta {}_1)\cdot m2_z\\ d_1+\cos (\theta {}_1)\cdot m2_z-\sin (\theta {}_1)\cdot m2_x\\ 1 \end{bmatrix} \end{aligned}$$
(11)
$$\begin{aligned} AM_3=\begin{bmatrix} e_{11}&e_{21}&e_{31}&1 \end{bmatrix}^T \end{aligned}$$
(12)

where:

$$\begin{aligned} \begin{aligned} e_{11}&= \cos (\theta {}_2)\cdot m3_z + \sin (\theta {}_2)\cdot m3_x\\ e_{21}&= \sin (\theta {}_1)\cdot m3_y - d2\cdot \sin (\theta {}_1) - a_1 - \cos (\theta {}_1)\cdot \cos (\theta {}_2)\cdot m3_x + \cos (\theta {}_1)\cdot \sin (\theta {}_2)\cdot m3_z\\ e_{31}&= d_1 + d_2\cdot \cos (\theta {}_1) - \cos (\theta {}_1)\cdot m3_y - \cos (\theta {}_2)\cdot \sin (\theta {}_1)\cdot m3_x + \sin (\theta {}_1)\cdot \sin (\theta {}_2)\cdot m3_z \end{aligned} \end{aligned}$$
(13)
$$\begin{aligned} AM_4=\begin{bmatrix} f_{11}&f_{21}&f_{31}&1 \end{bmatrix}^T \end{aligned}$$
(14)

where:

$$\begin{aligned} \begin{aligned} f_{11}&= \cos (\theta {}_2)\cdot m4_y + \cos (\theta {}_3)\cdot \sin (\theta {}_2)\cdot m4_x + \sin (\theta {}_2)\cdot \sin (\theta {}3)\cdot m4_z\\ f_{21}&= m4_x\cdot (\sin (\theta {}_1)\cdot \sin (\theta {}_3) - \cos (\theta {}_1)\cdot \cos (\theta {}2)\cdot \cos (\theta {}_3)) - \sin (\theta {}_1)\cdot d_2 - a_1 \\&\quad - m4_z\cdot (\cos (\theta {}_3)\cdot \sin (\theta {}_1) + \cos (\theta {}_1)\cdot \cos (\theta {}_2)\cdot \sin (\theta {}_3)) + \cos (\theta {}_1)\cdot \sin (\theta {}_2)\cdot m4_y\\ f_{31}&= d_1 + \cos (\theta {}_1)\cdot d_2 - m4_x\cdot (\cos (\theta {}_1)\cdot \sin (\theta {}_3) + \cos (\theta {}_2)\cdot \cos (\theta {}_3)\cdot \sin (\theta {}_1)) \\&\quad + m4_z\cdot (\cos (\theta {}_1)\cdot \cos (\theta {}_3) - \cos (\theta {}_2)\cdot \sin (\theta {}_1)\cdot \sin (\theta {}_3)) + \sin (\theta {}_1)\cdot \sin (\theta {}_2)\cdot m4_y \end{aligned} \end{aligned}$$
(15)

2.3 Derivation of Moments of Inertia

Using transform matrices of manipulator’s centre, (Sect. 2.2) the formula for the overall system’s moment of inertia with regard to x and y axes, depending on arms configuration, has been derived:

$$\begin{aligned} I_n=IR_n + \sum \limits _{j=1}^{2} \sum \limits _{i=2}^{4} ARM\{j\}\_m\{i\} \cdot (ARM\{j\}\_r\{i\}_n)^2 \end{aligned}$$
(16)

where: \(IR_n\) - moments of inertia of the platform (including M1 modules) with regard to the axis n (x or y), j - arm number (ARM1, ARM2), i - joint number, m - mass of the segment, \(ARM\{j\}\_m\{i\}\) - mass of the i-th segment of the j-th arm, \(ARM\{j\}\_r\{i\}_n\) - distance from the gravity centre of the given segment to the given axis of rotation - calculated for each arm according to formulas:

$$\begin{aligned} \begin{aligned} r\{i\}_x=\sqrt{AM_{i_y}^2+AM_{i_z}^2}\\ r\{i\}_y=\sqrt{AM_{i_x}^2+AM_{i_z}^2} \end{aligned} \end{aligned}$$
(17)

2.4 Analysis of the Influence of the Change of System’s Configuration on Platform

The mathematical model described above has been used to evaluate such factors as manipulators dimensions, their mass, and the influence of platform tilting on reaction angles in three scenarios. The case of symmetric arms with regard to xz and yz planes was taken into account. Both arms are identical and have 3 DOF. The symmetry of the system is fixed according to the xz plane.

Fig. 4.
figure 4

The reaction angle in three different configurations

First configuration considers both arms pointing down (base configuration - all configuration variables are equal to zero) (Fig. 4a). In that case, the centre of gravity does not shift along x and y axes. In second case, both arms are rotated by \(-45^\circ \) (Fig. 4b). In third configuration, one arm is rotated by \(90^\circ \) according to base configuration (Fig. 4c). All rotations are performed around the x-axis of the platform.

Firstly, the influence of dimensions of manipulators and masses of their segments on values of reaction angles is investigated. Reference parameters of manipulators are given in captions in Figs. 1 and 3. To establish influence of the mass, base parameters have been scaled by factor from 0.5 to 2.0. Reaction angles have been normalized in three cases for every considered value of the parameter. Comparing normalized graphs of reaction angles for different dimensions and masses we can conclude that the most important factor is the system configuration as it affects the distribution of gravity centres of manipulators’ segments. Both dimensions and masses influence the static stability (reaction angles) in similar way and are evident only in asymmetric configuration (case 2). In the second analysis, the impact of platform’s tilt on values of reaction angles was investigated. It is worth to mention that angle beta (rotation around axis y) has minor influence as has been expected. The reaction angle around x axis is approximately proportional to the rotation of the platform around that axis. Parameters of that relationship depend on the system configuration. Reaction angles depend mostly on configuration of manipulators. Another significant factor is the orientation of the aerial platform in relation to earth’s gravity vector. In that case, dimensions and distribution of masses play minor role. However, reaction angles with regard to both axes are sensitive to those parameters. All of the mentioned parameters should be taken into account in estimating the static part of reaction angles of the aerial platform.

3 Conclusions and Further Research

Considered ranges of reaction angles demonstrate the significant impact on the flying platform’s behaviour, namely on its position and attitude. This has to be taken into account while designing algorithms that compensate the variable configuration. The calculated values of reaction angles can be used as measures of disturbances in regulators stabilizing the flight of the platform. In the case of manipulators’ movements in one plane it is possible to approximate the effect of the platform’s rotation on the reaction angle by a linear function with a coefficient depending on the configuration. This ratio may be defined by the function derived from the model. Next step is to verify the results of the above calculus in the experiment with the physical platform.