# ARSS: A Novel Aerial Robot Performs Tree Pruning Tasks

Authors: Hao Xu; Zhong Yang; Le Chang; Kaiwen Lu; Changliang Xu; Qiuyan Zhang
Journal: Discrete Dynamics in Nature and Society
 (2020)

---

## Abstract

In this article, we present a novel aerial robot with a suspended saw (ARSS) for pruning trees that are close to electric power lines. The Robot’s movement process includes free flight and aerial pruning. We first established a dynamic model and designed a controller based on the Active Disturbance Rejection Control (ADRC) on the model. Aiming at the problem of saw swing and residual oscillation during the free flight movement, we adopt the linear state feedback to design a swing angle controller. Finally, we use Matlab/Simulink and CoppeliaSim for simulation, and the simulation results verify the effectiveness and feasibility of the controller.


---

## Body

## 1. Introduction

As Aerial Robots are increasingly deployed in a broad spectrum of real-world, there is a growing demand to broaden their application scenario [1]. The Robot has the advantages of small size, strong maneuverability, and the ability to hover at a fixed point. It has become an excellent aerial work platform, and it has been used in cargo transportation [2], spraying pesticides [3], etc. Tree barrier pruning is a new application of aerial robots. A tree barrier is a tree that grows near the power line. Its branches will grow between the power lines and may cause a short circuit on the power line. These problems are caused due to contact tree branches with wires of power towers. This contact is one of the significant reasons for interrupting power services. The traditional method is that a person carries a pruning tool to climb the tree to cut the branches that will cause a short circuit of the power line. This method is hazardous and quickly causes personal injury. However, using aerial robots to carry pruning tools and fly to the vicinity of the branches to be cut will improve work efficiency and safety.Moreover, the installation position of the cutting tool on the aerial Robot will cause differences in modeling and control. To the best of our knowledge, the pruning tool can be installed on the top [4–6], front [7], and bottom of the fuselage [8]. The branches that need to be cut are generally at the crown of the tree. Moving the drone to the top of the tree can improve the pruning efficiency. Therefore, our design is to install the pruning tool under the fuselage through a rope hanging method. This installation method is the mode for a multirotor helicopter with suspended loads [9]. When the robot performs tasks, there are several difficulties to overcome. First, because of the movement of the fuselage and its own inertia, the load will swing in the air. The swing will increase the control difficulty and model uncertainty of the robot. Second, due to the limited space under the fuselage and the problem that the shape of the load does not match the fuselage, there are a lot of restrictions on the choice of load.To the best of our knowledge, research on the multirotor helicopter with suspended loads has been receiving attention, and many effective control methods have been proposed. In [10], a nonlinear controller based on the backstepping control algorithm is designed so that the drone can still perform a good trajectory tracking when the hanging load swings significantly; Alothman and Gu [11] uses a differential smoothing method to design a four-rotor UAV controller with suspended load, which realizes the trajectory generation and tracking of this system; Faust et al. [12] denotes an iterative linear-quadratic optimal controller, which realizes the trajectory tracking control of the UAV and suppresses the swing of the hanging load. Palunko et al. [13] adopts a reinforcement learning method to train the helicopter flight control system and realize the trajectory planning of hanging load. In [14], the researchers studied the take-off process of a quadcopter drone with a load. Yang et al. [15] solved the problem of the quadrotor achieving safe take-off under the condition that the hanging load is unknown, and the simulation results confirmed the effectiveness of its algorithm. Complex network theory [16, 17] can plan the tasks of aerial robots.However, the research results of multirotor drones with hanging systems are remarkable, but many methods still have some limitations. The controller designed in [10] can achieve reasonable trajectory tracking control but does not control the position of the hanging load. The control effect of the controller designed in [11, 12] is significant, but the controller is complex and requires high computing resources for the onboard computer. The controller in [13] can only be used under a load of a specific weight. When changing the load, reinforcement learning is required again, and the portability is not good. The authors of [14, 15] focused on the take-off and landing issues, but did not focus on the entire flight process. References [16, 17] only analyze and prove mission planning but do not involve specific controller design.In this article, we present the ARSS, an Aerial Robot with Suspended Saws. ARSS can use the hanging saw to cut and clean horizontally growing tree barrier. In order to solve the model uncertainty and disturbance in the execution of aerial pruning tasks, we used the Active Disturbance Rejection Control (ADRC) [18] to design the controller. The main components of ADRC include Tracking-Differentiator (TD) [19], Extended State Observer (ESO) [20, 21], and Nonlinear State Error Feedback (NLSEF) [22], all of which we have covered. We summarize the contributions as follows:(1)
A novel a novel aerial robot can prune trees well.(2)
As the position and attitude are controlled by the ADRC method without linearizing the system model, this robot system can achieve better control results when it is far from the equilibrium point, and the system has high robustness.(3)
In addition, the controller has a simple structure and does not require high calculation speed of the onboard microprocessor.In the rest of the article, we first discuss the dynamic model of ARSS; next, the controller based on ADRC is introduced including attitude control, position control and control allocation. We also verified the entire Robot under Matlab/Simulink and CoppeliaSim. Finally, we give some conclusions and future work.


## 2. Mathematical Model

### 2.1. Coordinates and Conventions

Overall, two coordinate frames were used. The inertial frameEOE,XE,YE,ZE is fixed on the ground, and its z axis points upward. And the body frame BOB,XB,YB,ZB is fixed on the COG, the z axis of the frame points upward, as seen in Figure 1. The Suspended Saws system is shown in Figure 2, L is the length of the rope, and l is the distance from the motor axis to the COG. ϕL is the angle between the projection of the connecting rod in the ObXbZb plane and the zb axis, θL is the angle between the connecting rod and the above projection.Figure 1
The inertial and body frames.Figure 2
The suspended saws system.


### 2.2. Assumptions

For the sake of model simplicity and algorithm efficiency, the following assumptions were made:(1)
The body structure is rigid and symmetric(2)
The geometric center and CoG of the Robot are the same(3)
The rope is rigid, non-stretchable, and of no quality(4)
The load is always under the body


### 2.3. Notation

Throughout the article, we use right-hand rules for the coordinate system. The attitude angles of the body areθ,ϕ,ψT∈ℝ3 including Pitch angle θ, Roll angle ϕ, and Yaw angle ψ, and p,q,rT∈ℝ3 denote the angular velocity in the body frame. x,y,zT∈ℝ3 denotes the position in the inertial frame.The matrixREB stands for the rotation matrix that rotates a vector represented in the inertial frame E to the body frame B. The rotation matrix is defined as(1)REB=cθcψcθsψ−sθsθsφcψ−cφsψsθsφsψ+cφcψcθsφsθcφcψ+sφsψsθcφsψ−sφcψcθcφ,where REB∈SO3,SO3≜R|RTR=I3,detR=1,R∈ℝ3×3 with s⋅ representing the sine and c⋅ the cosine.


### 2.4. Body Dynamic Model

For the modeling of the body dynamics, the Newton–Euler formalism was used. The Equilibrium equation is as follows:(2)Mx¨y¨z¨=FxFyFz,Ibp˙q˙r˙+pqr×Ibpqr=τxτyτz,with M being the mass of the aerial Robot and Ib the moment of inertia. Ib is defined as follows:(3)Ib=I11−I12−I13−I12I22−I23−I13−I23I33,where I12, I13, I23 are smaller than I11, I22, I33, respectively. Define(4)Ix=I11,Iy=I22,Iz=I33.The solution to equation (3) is(5)Ib=diagIx,Iy,Iz.According to equation (4), the forces FB=FxFyFzT and torques τB=τxτyτzT∈ℝ3 act on the COG of the body. Then the relation between angular velocity p,q,rT and attitude angle θ,ϕ,ψT can expressed as(6)pqr=Rcϕ˙θ˙ψ˙,Rc=10−sinθ0cosϕsinϕcosθ0−sinϕcosϕcosθ.Regardless of external disturbances, the aerial Robot is mainly subjected to the gravity in the negative direction of theOeXe axis and the lift Fi, i=1,2,3,4 generated by the four rotors pointed by the positive direction of the ObZb axis. Fi is related to lift coefficient CT and rotating speed ωi, which is given by(7)Fi=CTωi2.Therefore, letFt be the total lift so that(8)Ft=∑i=14Fi=CT∑i=14ωi2.According to equation (1), FB=FxFyFzT is obtained as follows:(9)FxFyFz=RTEB00−Ft+00mg=−cosϕsinθcosψ+sinϕsinψFt−cosϕsinθsinψ−sinϕcosψFtmg−cosϕcosθFt.Based on assumption (2), the resultant torque is mainly generated by the lift and counter torque at the rotor that does not pass through the center of mass, while gravity does not produce torque. The torque generated by the rotor lift constitutes the moment around the ObXb and ObYb axis, and the antitorque of the rotor constitutes the moment around the ObZb axis, given by(10)τx=L−F1+F2+F3−F4,τy=LF1+F2−F3−F4,τz=CMω12−ω22+ω32−ω42,where L is the distance between the center point of the rotor and the centroid of the Robot.On the basis of Equations (8) and (10), one has(11)τxτyτz=−CTLCTLCTL−CTLCTLCTL−CTL−CTLCM−CMCM−CMω12ω22ω32ω42.By combining Equations (2), (9), and (11), the body dynamic model is expressed as(12)x¨=−cosϕsinθcosψ+sinϕsinψFtm,y¨=−cosϕsinθsinψ−sinϕcosψFtm,z¨=g−cosϕcosθFtm,p˙=Iy−IzIxqr+1Ixτx,q˙=Iz−IxIypr+1Iyτy,r˙=Ix−IyIzpq+1Izτz.


### 2.5. Suspended Saws Model

For the modeling of the saws dynamics, the Lagrange formalism was used. Its general form is the following:(13)ddt∂ℒ∂Θ˙−∂ℒ∂Θ=Q,where ℒΘ,Θ˙=kΘ,Θ˙−uΘ, kΘ,Θ˙ represents the kinetic energy and uΘ expresses potential energy; Θ denotes the generalized coordinate and Q is generalized forces.As shown in Figure1, the equation set from Saws position xL,yL,zL to the body position x,y,z is further obtained as(14)xL=x+lcosθLsinϕL,yL=y+lsinθL,zL=z−lcosθLcosϕL,where l represents the rod length.Combining equation (14), kinetic energy kΘ,Θ˙ is expressed as(15)kΘ,Θ˙=12Mx˙2+y˙2+z˙2+12mx˙L2+y˙L2+z˙L2.Then potential energy is(16)uΘ=Mgz+mgzL.Among the saws dynamic model, generalized coordinateΘ=x,y,z,θL,ϕLT and generalized forces Q=Fx,Fy,Fz,0,0T. By combining equations (13)–(17), the ARSS dynamic model is expressed as(17)MΘΘ¨+CΘ,Θ˙+GΘ=Q,where(18)MΘ=M+m00mlcθLcϕL−mlsθLsϕL0M+m00mlcθL00M+mmlcθLsϕLmlsθLcϕLmlcθLcϕL0mlcθLsϕLml2cθL20−mlsθLsϕLmlcθLmlsθLcϕL0ml2,CΘ,Θ˙=000−mlcθLsϕLϕ˙L+sθLcϕLθ˙L−mlsθLcϕLϕ˙L+cθLsϕLθ˙L0000−mlsθLθ˙L000mlcθLcϕLϕ˙L−sθLsϕLθ˙L−mlsθLsϕLϕ˙L−cθLcϕLθ˙L000−ml2cθLsϕLθ˙L−ml2cθLsϕLϕ˙L000ml2cθLsϕLϕ˙L0,GΘ=00M+mgmglcθLsϕLmglsθLcϕLT,Q=REBT00FtT00=FxFyFz00T,(19)x¨=mlM+mc3θsϕϕ˙2+cθsϕθ˙2+1MM+m−msin2ϕcos2θ−mMsinθcosθsinϕFy+mMsinϕcosϕcos2θFz,y¨=mlM+mcos2θsinθϕ˙2+sinθθ˙2−mMsinθcosθsinϕFx+1+mMcos2θFy+mMsinθcosθcosϕF,z¨=−mlM+mcos3θcosϕϕ˙2+cosθcosϕθ˙2+mMM+msinϕcosϕcos2θFx−mMM+msinθcosθcosϕFy+1MM+mM+m−mcos2ϕcos2θFz−g,(20)LcosθLϕ¨L−2lsinθLθ˙Lϕ˙L+cosϕLx¨+z¨+gsinϕL=0,Lθ¨L+lsinθLcosθLϕ˙L2+gcosϕLsinθL−sinϕLsinθLx¨+cosθLy¨+cosϕLsinθLz¨=0.


## 2.1. Coordinates and Conventions

Overall, two coordinate frames were used. The inertial frameEOE,XE,YE,ZE is fixed on the ground, and its z axis points upward. And the body frame BOB,XB,YB,ZB is fixed on the COG, the z axis of the frame points upward, as seen in Figure 1. The Suspended Saws system is shown in Figure 2, L is the length of the rope, and l is the distance from the motor axis to the COG. ϕL is the angle between the projection of the connecting rod in the ObXbZb plane and the zb axis, θL is the angle between the connecting rod and the above projection.Figure 1
The inertial and body frames.Figure 2
The suspended saws system.


## 2.2. Assumptions

For the sake of model simplicity and algorithm efficiency, the following assumptions were made:(1)
The body structure is rigid and symmetric(2)
The geometric center and CoG of the Robot are the same(3)
The rope is rigid, non-stretchable, and of no quality(4)
The load is always under the body


## 2.3. Notation

Throughout the article, we use right-hand rules for the coordinate system. The attitude angles of the body areθ,ϕ,ψT∈ℝ3 including Pitch angle θ, Roll angle ϕ, and Yaw angle ψ, and p,q,rT∈ℝ3 denote the angular velocity in the body frame. x,y,zT∈ℝ3 denotes the position in the inertial frame.The matrixREB stands for the rotation matrix that rotates a vector represented in the inertial frame E to the body frame B. The rotation matrix is defined as(1)REB=cθcψcθsψ−sθsθsφcψ−cφsψsθsφsψ+cφcψcθsφsθcφcψ+sφsψsθcφsψ−sφcψcθcφ,where REB∈SO3,SO3≜R|RTR=I3,detR=1,R∈ℝ3×3 with s⋅ representing the sine and c⋅ the cosine.


## 2.4. Body Dynamic Model

For the modeling of the body dynamics, the Newton–Euler formalism was used. The Equilibrium equation is as follows:(2)Mx¨y¨z¨=FxFyFz,Ibp˙q˙r˙+pqr×Ibpqr=τxτyτz,with M being the mass of the aerial Robot and Ib the moment of inertia. Ib is defined as follows:(3)Ib=I11−I12−I13−I12I22−I23−I13−I23I33,where I12, I13, I23 are smaller than I11, I22, I33, respectively. Define(4)Ix=I11,Iy=I22,Iz=I33.The solution to equation (3) is(5)Ib=diagIx,Iy,Iz.According to equation (4), the forces FB=FxFyFzT and torques τB=τxτyτzT∈ℝ3 act on the COG of the body. Then the relation between angular velocity p,q,rT and attitude angle θ,ϕ,ψT can expressed as(6)pqr=Rcϕ˙θ˙ψ˙,Rc=10−sinθ0cosϕsinϕcosθ0−sinϕcosϕcosθ.Regardless of external disturbances, the aerial Robot is mainly subjected to the gravity in the negative direction of theOeXe axis and the lift Fi, i=1,2,3,4 generated by the four rotors pointed by the positive direction of the ObZb axis. Fi is related to lift coefficient CT and rotating speed ωi, which is given by(7)Fi=CTωi2.Therefore, letFt be the total lift so that(8)Ft=∑i=14Fi=CT∑i=14ωi2.According to equation (1), FB=FxFyFzT is obtained as follows:(9)FxFyFz=RTEB00−Ft+00mg=−cosϕsinθcosψ+sinϕsinψFt−cosϕsinθsinψ−sinϕcosψFtmg−cosϕcosθFt.Based on assumption (2), the resultant torque is mainly generated by the lift and counter torque at the rotor that does not pass through the center of mass, while gravity does not produce torque. The torque generated by the rotor lift constitutes the moment around the ObXb and ObYb axis, and the antitorque of the rotor constitutes the moment around the ObZb axis, given by(10)τx=L−F1+F2+F3−F4,τy=LF1+F2−F3−F4,τz=CMω12−ω22+ω32−ω42,where L is the distance between the center point of the rotor and the centroid of the Robot.On the basis of Equations (8) and (10), one has(11)τxτyτz=−CTLCTLCTL−CTLCTLCTL−CTL−CTLCM−CMCM−CMω12ω22ω32ω42.By combining Equations (2), (9), and (11), the body dynamic model is expressed as(12)x¨=−cosϕsinθcosψ+sinϕsinψFtm,y¨=−cosϕsinθsinψ−sinϕcosψFtm,z¨=g−cosϕcosθFtm,p˙=Iy−IzIxqr+1Ixτx,q˙=Iz−IxIypr+1Iyτy,r˙=Ix−IyIzpq+1Izτz.


## 2.5. Suspended Saws Model

For the modeling of the saws dynamics, the Lagrange formalism was used. Its general form is the following:(13)ddt∂ℒ∂Θ˙−∂ℒ∂Θ=Q,where ℒΘ,Θ˙=kΘ,Θ˙−uΘ, kΘ,Θ˙ represents the kinetic energy and uΘ expresses potential energy; Θ denotes the generalized coordinate and Q is generalized forces.As shown in Figure1, the equation set from Saws position xL,yL,zL to the body position x,y,z is further obtained as(14)xL=x+lcosθLsinϕL,yL=y+lsinθL,zL=z−lcosθLcosϕL,where l represents the rod length.Combining equation (14), kinetic energy kΘ,Θ˙ is expressed as(15)kΘ,Θ˙=12Mx˙2+y˙2+z˙2+12mx˙L2+y˙L2+z˙L2.Then potential energy is(16)uΘ=Mgz+mgzL.Among the saws dynamic model, generalized coordinateΘ=x,y,z,θL,ϕLT and generalized forces Q=Fx,Fy,Fz,0,0T. By combining equations (13)–(17), the ARSS dynamic model is expressed as(17)MΘΘ¨+CΘ,Θ˙+GΘ=Q,where(18)MΘ=M+m00mlcθLcϕL−mlsθLsϕL0M+m00mlcθL00M+mmlcθLsϕLmlsθLcϕLmlcθLcϕL0mlcθLsϕLml2cθL20−mlsθLsϕLmlcθLmlsθLcϕL0ml2,CΘ,Θ˙=000−mlcθLsϕLϕ˙L+sθLcϕLθ˙L−mlsθLcϕLϕ˙L+cθLsϕLθ˙L0000−mlsθLθ˙L000mlcθLcϕLϕ˙L−sθLsϕLθ˙L−mlsθLsϕLϕ˙L−cθLcϕLθ˙L000−ml2cθLsϕLθ˙L−ml2cθLsϕLϕ˙L000ml2cθLsϕLϕ˙L0,GΘ=00M+mgmglcθLsϕLmglsθLcϕLT,Q=REBT00FtT00=FxFyFz00T,(19)x¨=mlM+mc3θsϕϕ˙2+cθsϕθ˙2+1MM+m−msin2ϕcos2θ−mMsinθcosθsinϕFy+mMsinϕcosϕcos2θFz,y¨=mlM+mcos2θsinθϕ˙2+sinθθ˙2−mMsinθcosθsinϕFx+1+mMcos2θFy+mMsinθcosθcosϕF,z¨=−mlM+mcos3θcosϕϕ˙2+cosθcosϕθ˙2+mMM+msinϕcosϕcos2θFx−mMM+msinθcosθcosϕFy+1MM+mM+m−mcos2ϕcos2θFz−g,(20)LcosθLϕ¨L−2lsinθLθ˙Lϕ˙L+cosϕLx¨+z¨+gsinϕL=0,Lθ¨L+lsinθLcosθLϕ˙L2+gcosϕLsinθL−sinϕLsinθLx¨+cosθLy¨+cosϕLsinθLz¨=0.


## 3. Controller Design

The general aerial Robot only needs to control the position and attitude, and ARSS not only needs to control the position and attitude, but also needs to control the swing angle of suspended saw. The position change of the Robot will cause the saw swing. If the swing angle is not controlled, the saw may swing violently, affecting the robot stability, so it is necessary to control the swing angle of the suspended saw. ADRC has the advantages of low model dependence and strong anti-disturbance, and it has good applicability to ARSS with complex model and large disturbance.In this section, we present a baseline controller for the ARSS platform. The controller is based on ADRC including attitude and position control, and uses a linear state feedback to design the swing angle controller. The controller is a double-loop structure, the outer loop is position control, and the inner one is attitude control. Control structure shown in Figure3.Figure 3
The control diagram of ARSS.


### 3.1. Attitude Control

The attitude controller controls the attitude angle a, so equation (6) needs to be transformed to obtain the expression of Euler angle. Because the expression contains a large number of non-linear elements and coupling terms, a common solution is the small angle approximation method, which limits the attitude angle change in a small range, so that the Euler angle change ϕ˙,θ˙,ψ˙ is approximately equal to the angular velocity p,q,r. However, such a processing method can only allow the controller to have a good control effect within a small range of attitude angle changes. If the attitude angle changes too much, the performance of the controller will be greatly reduced. The other method is to add a layer of angular velocity loop on the basis of the small angle approximation method to make the attitude controller into a double-loop structure. Although this method has a certain effect, it will make the structure of the controller very complicated and many parameters, it is difficult to adjust the parameters.ADRC can solve this problem well. ADRC has low dependence on the mathematical model of the controlled object. It can treat the coupling item as an unmodeled part of the system and compensate the coupling item by Extended State Observer (ESO). Therefore, we adopt ADRC to design ARSS attitude controller.First, the derivative of equation (6) can be obtained:(21)p˙q˙r˙=Rcϕ¨θ¨ψ¨+0−cosθ0−sinϕ−sinϕsinθcosϕcosθ−cosϕ−sinϕcosθ−cosϕsinθϕ˙θ˙θ˙ψ˙ϕ˙ψ˙.Then, combining equations (3)–(5) with equation (21), one has(22)p˙q˙r˙=Ib−1diagIy−Iz,Iz−Ix,Ix−Iyqrprpq+Ib−1τxτyτz.Consequently,(23)ϕ¨θ¨ψ¨=Rc−1Ib−1diagIy−Iz,Iz−Ix,Ix−Iyqrprpq+Rc−1Ib−1τxτyτz−Rc−10−cosθ0−sinϕ−sinϕsinθcosϕcosθ−cosϕ−sinϕcosθ−cosϕsinθϕ˙θ˙θ˙ψ˙ϕ˙ψ˙,where Rc is reversible and k is an integer when θ≠2k+1π/2 and ϕ≠2k+1π/2.Equation (23) is very complicated and there are non-linear and coupling terms, it is very difficult to design the controller directly for this model. ADRC can simplify the model and treat the nonlinear and coupling terms as unmodeled parts. Consequently, the equation (23) becomes(24)ϕ¨θ¨ψ¨=s1p,q,r,ϕ,θ,ψ,ϕ˙,θ˙,ψ˙s2p,q,r,ϕ,θ,ψ,ϕ˙,θ˙,ψ˙s3p,q,r,ϕ,θ,ψ,ϕ˙,θ˙,ψ˙+u1u2u3,u1u2u3=Rc−1Ib−1U2U3U4,where s1,s2,s3 denote coupling and nonlinear part, u1,u2,u3 are virtual control and the relationship with input torque is shown in equation (24). From this, the desired control input can be obtained(25)U2U3U4=IbRcu1u2u3=Ix0−Ixsinθ0IycosϕIysinϕcosθ0−IzsinϕIzcosϕcosθu1u2u3.Here, the math model required by the attitude controller can be obtained, the decoupling of pitch, roll and yaw is completed, and this multiple input multiple output (MIMO) model is converted into three single-input single-output (SISO) subsystems. From equation (25), these subsystems are second-order linear systems.Taking the roll angleθ for example, we established the ADRC attitude controller to roll motion, and the structure diagram is shown in Figure 4.Figure 4
Structure diagram in rolling channel.Whenz1=θ, z˙1=θ˙, equation (24) is rewritten as(26)z˙1=z2,z˙2=s2p,q,r,ϕ,θ,ψ,ϕ˙,θ˙,ψ˙+u2+wθ,θ=z1,where wθ represents the disturbance to θ; s2p,q,r,ϕ,θ,ψ,ϕ˙,θ˙,ψ˙+wθ represents the sum of internal and external disturbances estimated by the Expanded State Observer (ESO). Equation (26) complies with the second-order form of the ADRC standard and can be designed as a second-order attitude controller. The specific design steps are as follows:


#### 3.1.1. Design TD

TD is shown in equation (27):(27)v1k+1=v1k+Tv2k,v2k+1=v2k+Tfh,fh=fhanv1k−vk,v2k,r,h,where vk is the desired pitch angle θd which is given by the position controller, v1k is the tracking signal of θd, and v2k is the derivative of v1k. T is the sampling period of the discrete signal, fhanv1k−vk,v2k,r,h is the nonlinear function, and its expression is as follows:(28)d=rh,d0=dh,y=v1k−vk+hv2k,a0=d2+8ry1/2,a=v2k+a0−d2,y>d0,v2k+yh,y≤d0,fhan=−rad,a≤d0,−rsgna,a>d0,where r and h are adjustable gains. r is called the fast factor, and a suitably large one can achieve a faster tracking speed; h is called the filter factor, and the larger the h, the better the filtering effect. But the increase of h will bring about an increase in phase delay, generally h takes 5∼10T.


#### 3.1.2. Design ESO

The ESO is as shown in equation (29)(29)e=z1k−yk,z1k+1=z1k+Tz2k−β01e,z2k+1=z2k+Tz3k−β02fale,α1,δ+buk,z3k+1=z3k−Tβ03fale,α2,δ,where yk denotes the actual pitch angle of θ; z1 is the estimated value of θ, z2 is the estimated value of θ˙, z3 is the estimated value of total disturbance; u represents the virtual control u2 which mentioned in equation (24), and b=1.


#### 3.1.3. Design SEF

We use the fastest control synthesis function, which is expressed as(30)u0=−fhane1,ce2,r,h,where r and h are consistent with the description in equation (29), c denotes damping coefficient. When c∈0,1, the system. Underdamped; when c>1, the system overdamped.From equation (30), the control output u0 of SEF can be obtained，then combining equation (31) to compensate for disturbances observed by ESO, we get the total control output u2 of the rolling channel. Equation (31) is(31)u=u0−z3b,where z3 and b are the same as equation (29)Using the same method, the control outputsu1, u3 of the roll, yaw channel attitude controllers can be obtained, respectively. In this case, according to equation (25), the control input U2,U3,U4T is acquired. The attitude controller is shown in Figure 5.Figure 5
Attitude controller structure diagram.


### 3.2. Position Control

When designing a position controller, we need to control the position of the aerial Robot and suspended saw. The position change will cause the swing of the saw. If the swing angle is not controlled, the saw may swing violently, affecting the stability of the aerial Robot, so it is necessary to control the swing angle of the hanging saw. ADRC has the advantages of low model dependence and strong anti-disturbance, and it has good applicability to ARSS with more complex models and larger disturbances.Similar to the attitude controller, equation (12) is rewritten as(32)x¨y¨z¨=s1θ,θ˙,ϕ,ϕ˙s2θ,θ˙,ϕ,ϕ˙s3θ,θ˙,ϕ,ϕ˙+u1u2u3,where(33)u1u2u3=T−1FxFyFz.T is defined as follows:(34)T=1MM+m−ms2ϕLc2θL−mMsθLcθLsϕLmMsϕLcϕLc2θL−mMsθLcθLsϕL1+mMc2θLmMsθLcθLcϕLmsϕLcϕLc2θLMM+mmsθLcθLcϕLMM+mM+m−mc2ϕLc2θLMM+m.During the flight of the Aerial Robot, the swing angle of the suspended saw is small. According to the Small-Angle Approximation, the approximate solution is given by(35)sinϕL≈ϕL,cosϕL≈1,sinθL≈θL,cosθL≈1.Thus, equations (19) and (20) are simplified as(36)x¨+lϕ¨L+gϕL=0,y¨+lθ¨L+gθL=0.The ARSS is decomposed into the aerial robot part of the standard second-order model and the suspended saw part of the linear model. Position control is changed to control the aerial Robot while ensuring the stability of the linear part, so that the saw swing during flight is gradually reduced.First, design the position controller of the aerial robot part. Similar to the attitude controller, equation (32) is converted into three SISO subsystems, and these subsystems are second-order standard.Takingx for example. When z1=x and z˙1=x˙, equation (32) is rewritten as(37)z˙1=z2,z˙2=u1+wx,x=z1,where wx represents the disturbance to x and u1 denotes virtual control. Similar to the attitude controller, the specific design steps are as follows.


#### 3.2.1. Design TD

TD is defined as(38)v1k+1=v1k+Tsv2k,v2k+1=v2k+Tsfh,fh=fhanv1k−vk,v2k,r,h,where vk is the desired position xd which is given by the position controller, v1k is the tracking signal of xd, and v2k is the derivative of v1k. Ts is the sampling period of the discrete signal. r and h are adjustable gains. fhanv1k−vk,v2k,r,h is the non-linear function, and its expression is as follows:(39)d=rh,d0=dh,y=x1+hx2,a0=d2+8r|y|1/2,a=x2+a0−d2,y>d0,x2+yh,y≤d0,fhan=−rad,a≤d0,−rsgna,a>d0.


#### 3.2.2. Design ESO

The ESO is shown as(40)e=z1k−yk,z1k+1=z1k+Tz2k−β01e,z2k+1=z2k+Tz3k−β02fale,α1,δ+buk,z3k+1=z3k−Tβ03fale,α2,δ,where yk denotes the actual position x; z1 is the estimated value of x, z2 is the estimated value of x˙, and z3 is the estimated value of total disturbance wx; u represents the virtual control u1 and b=1; β01, β02, β03, α1 and α2 are parameters.fal∗ is a non-linear function, and its expression is shown as(41)fale,α,δ=eδ1−α,e≤δ,eαsigne,e≤δ,where α and δ are parameters, with 0<α<1 and δ>0.


#### 3.2.3. Design State Error Feedback (SEF)

The position control does not have strict requirements for fast response, so a linear SEF with simple structure and easy parameter adjustment can be used. We have(42)u0=β1fale1+β2fale2,where β1 and β2 are parameters.From equation (40), we compensate the disturbances observed by ESO, we get the total control output u2 of the channel x. With the same method, the output and of the other two channels can be obtained, and the required control amount can be obtained according to equation (25). The position controller structure is shown in Figure 6.Figure 6
Position controller structure diagram.


### 3.3. Suspended Saw Controller

In the Suspended Saw model,ϕL and θL describe the swing state of the suspended saw. ϕL denotes the angle between the projection of the connecting rod in the ObXbZb plane and the zb axis, the acceleration of the aerial Robot in the x and z axes will affect ϕL. Similarly, the acceleration in the y-axis and z-axis directions will affect θL. The height and horizontal position are generally not controlled at the same time, so the influence of the acceleration in the z-axis direction on the swing angle can be ignored. Considering that ARSS performs position control, it also needs to control swing angle, equation (36) is rewritten as(43)u1′=u1−K1ϕ˙L−K2ϕL,u2′=u2−K3θ˙L−K4θL.When designing the position controller, the linear dynamic compensation method of ADRC is used to transform the non-linear model of the aerial Robot into a series model, that is,(44)x¨=u1′,y¨=u2′.Then, combining equations (43) and (44) with equation (36), the system is described by(45)lϕ¨L−K1ϕ˙L+g−K2ϕL=0,lθ¨L−K3θ˙L+g−K4θL=0,where Ki,i=1,…,4 are gains.For this linear closed-loop system, sufficient and necessary conditions for its asymptotic stability are that all the characteristic roots are in the left half of the complex plane; that is, the real parts of all the characteristic roots are all negative. According to the Routh criterion, its characteristic roots are all in the left half of the complex plane and need to satisfy(46)l>0,−K1>0,g−K2>0,−K3>0,g−K4>0.As long as the parameterKi satisfies, the swing angle of the hanging saw can be gradually stabilized.


## 3.1. Attitude Control

The attitude controller controls the attitude angle a, so equation (6) needs to be transformed to obtain the expression of Euler angle. Because the expression contains a large number of non-linear elements and coupling terms, a common solution is the small angle approximation method, which limits the attitude angle change in a small range, so that the Euler angle change ϕ˙,θ˙,ψ˙ is approximately equal to the angular velocity p,q,r. However, such a processing method can only allow the controller to have a good control effect within a small range of attitude angle changes. If the attitude angle changes too much, the performance of the controller will be greatly reduced. The other method is to add a layer of angular velocity loop on the basis of the small angle approximation method to make the attitude controller into a double-loop structure. Although this method has a certain effect, it will make the structure of the controller very complicated and many parameters, it is difficult to adjust the parameters.ADRC can solve this problem well. ADRC has low dependence on the mathematical model of the controlled object. It can treat the coupling item as an unmodeled part of the system and compensate the coupling item by Extended State Observer (ESO). Therefore, we adopt ADRC to design ARSS attitude controller.First, the derivative of equation (6) can be obtained:(21)p˙q˙r˙=Rcϕ¨θ¨ψ¨+0−cosθ0−sinϕ−sinϕsinθcosϕcosθ−cosϕ−sinϕcosθ−cosϕsinθϕ˙θ˙θ˙ψ˙ϕ˙ψ˙.Then, combining equations (3)–(5) with equation (21), one has(22)p˙q˙r˙=Ib−1diagIy−Iz,Iz−Ix,Ix−Iyqrprpq+Ib−1τxτyτz.Consequently,(23)ϕ¨θ¨ψ¨=Rc−1Ib−1diagIy−Iz,Iz−Ix,Ix−Iyqrprpq+Rc−1Ib−1τxτyτz−Rc−10−cosθ0−sinϕ−sinϕsinθcosϕcosθ−cosϕ−sinϕcosθ−cosϕsinθϕ˙θ˙θ˙ψ˙ϕ˙ψ˙,where Rc is reversible and k is an integer when θ≠2k+1π/2 and ϕ≠2k+1π/2.Equation (23) is very complicated and there are non-linear and coupling terms, it is very difficult to design the controller directly for this model. ADRC can simplify the model and treat the nonlinear and coupling terms as unmodeled parts. Consequently, the equation (23) becomes(24)ϕ¨θ¨ψ¨=s1p,q,r,ϕ,θ,ψ,ϕ˙,θ˙,ψ˙s2p,q,r,ϕ,θ,ψ,ϕ˙,θ˙,ψ˙s3p,q,r,ϕ,θ,ψ,ϕ˙,θ˙,ψ˙+u1u2u3,u1u2u3=Rc−1Ib−1U2U3U4,where s1,s2,s3 denote coupling and nonlinear part, u1,u2,u3 are virtual control and the relationship with input torque is shown in equation (24). From this, the desired control input can be obtained(25)U2U3U4=IbRcu1u2u3=Ix0−Ixsinθ0IycosϕIysinϕcosθ0−IzsinϕIzcosϕcosθu1u2u3.Here, the math model required by the attitude controller can be obtained, the decoupling of pitch, roll and yaw is completed, and this multiple input multiple output (MIMO) model is converted into three single-input single-output (SISO) subsystems. From equation (25), these subsystems are second-order linear systems.Taking the roll angleθ for example, we established the ADRC attitude controller to roll motion, and the structure diagram is shown in Figure 4.Figure 4
Structure diagram in rolling channel.Whenz1=θ, z˙1=θ˙, equation (24) is rewritten as(26)z˙1=z2,z˙2=s2p,q,r,ϕ,θ,ψ,ϕ˙,θ˙,ψ˙+u2+wθ,θ=z1,where wθ represents the disturbance to θ; s2p,q,r,ϕ,θ,ψ,ϕ˙,θ˙,ψ˙+wθ represents the sum of internal and external disturbances estimated by the Expanded State Observer (ESO). Equation (26) complies with the second-order form of the ADRC standard and can be designed as a second-order attitude controller. The specific design steps are as follows:


### 3.1.1. Design TD

TD is shown in equation (27):(27)v1k+1=v1k+Tv2k,v2k+1=v2k+Tfh,fh=fhanv1k−vk,v2k,r,h,where vk is the desired pitch angle θd which is given by the position controller, v1k is the tracking signal of θd, and v2k is the derivative of v1k. T is the sampling period of the discrete signal, fhanv1k−vk,v2k,r,h is the nonlinear function, and its expression is as follows:(28)d=rh,d0=dh,y=v1k−vk+hv2k,a0=d2+8ry1/2,a=v2k+a0−d2,y>d0,v2k+yh,y≤d0,fhan=−rad,a≤d0,−rsgna,a>d0,where r and h are adjustable gains. r is called the fast factor, and a suitably large one can achieve a faster tracking speed; h is called the filter factor, and the larger the h, the better the filtering effect. But the increase of h will bring about an increase in phase delay, generally h takes 5∼10T.


### 3.1.2. Design ESO

The ESO is as shown in equation (29)(29)e=z1k−yk,z1k+1=z1k+Tz2k−β01e,z2k+1=z2k+Tz3k−β02fale,α1,δ+buk,z3k+1=z3k−Tβ03fale,α2,δ,where yk denotes the actual pitch angle of θ; z1 is the estimated value of θ, z2 is the estimated value of θ˙, z3 is the estimated value of total disturbance; u represents the virtual control u2 which mentioned in equation (24), and b=1.


### 3.1.3. Design SEF

We use the fastest control synthesis function, which is expressed as(30)u0=−fhane1,ce2,r,h,where r and h are consistent with the description in equation (29), c denotes damping coefficient. When c∈0,1, the system. Underdamped; when c>1, the system overdamped.From equation (30), the control output u0 of SEF can be obtained，then combining equation (31) to compensate for disturbances observed by ESO, we get the total control output u2 of the rolling channel. Equation (31) is(31)u=u0−z3b,where z3 and b are the same as equation (29)Using the same method, the control outputsu1, u3 of the roll, yaw channel attitude controllers can be obtained, respectively. In this case, according to equation (25), the control input U2,U3,U4T is acquired. The attitude controller is shown in Figure 5.Figure 5
Attitude controller structure diagram.


## 3.1.1. Design TD

TD is shown in equation (27):(27)v1k+1=v1k+Tv2k,v2k+1=v2k+Tfh,fh=fhanv1k−vk,v2k,r,h,where vk is the desired pitch angle θd which is given by the position controller, v1k is the tracking signal of θd, and v2k is the derivative of v1k. T is the sampling period of the discrete signal, fhanv1k−vk,v2k,r,h is the nonlinear function, and its expression is as follows:(28)d=rh,d0=dh,y=v1k−vk+hv2k,a0=d2+8ry1/2,a=v2k+a0−d2,y>d0,v2k+yh,y≤d0,fhan=−rad,a≤d0,−rsgna,a>d0,where r and h are adjustable gains. r is called the fast factor, and a suitably large one can achieve a faster tracking speed; h is called the filter factor, and the larger the h, the better the filtering effect. But the increase of h will bring about an increase in phase delay, generally h takes 5∼10T.


## 3.1.2. Design ESO

The ESO is as shown in equation (29)(29)e=z1k−yk,z1k+1=z1k+Tz2k−β01e,z2k+1=z2k+Tz3k−β02fale,α1,δ+buk,z3k+1=z3k−Tβ03fale,α2,δ,where yk denotes the actual pitch angle of θ; z1 is the estimated value of θ, z2 is the estimated value of θ˙, z3 is the estimated value of total disturbance; u represents the virtual control u2 which mentioned in equation (24), and b=1.


## 3.1.3. Design SEF

We use the fastest control synthesis function, which is expressed as(30)u0=−fhane1,ce2,r,h,where r and h are consistent with the description in equation (29), c denotes damping coefficient. When c∈0,1, the system. Underdamped; when c>1, the system overdamped.From equation (30), the control output u0 of SEF can be obtained，then combining equation (31) to compensate for disturbances observed by ESO, we get the total control output u2 of the rolling channel. Equation (31) is(31)u=u0−z3b,where z3 and b are the same as equation (29)Using the same method, the control outputsu1, u3 of the roll, yaw channel attitude controllers can be obtained, respectively. In this case, according to equation (25), the control input U2,U3,U4T is acquired. The attitude controller is shown in Figure 5.Figure 5
Attitude controller structure diagram.


## 3.2. Position Control

When designing a position controller, we need to control the position of the aerial Robot and suspended saw. The position change will cause the swing of the saw. If the swing angle is not controlled, the saw may swing violently, affecting the stability of the aerial Robot, so it is necessary to control the swing angle of the hanging saw. ADRC has the advantages of low model dependence and strong anti-disturbance, and it has good applicability to ARSS with more complex models and larger disturbances.Similar to the attitude controller, equation (12) is rewritten as(32)x¨y¨z¨=s1θ,θ˙,ϕ,ϕ˙s2θ,θ˙,ϕ,ϕ˙s3θ,θ˙,ϕ,ϕ˙+u1u2u3,where(33)u1u2u3=T−1FxFyFz.T is defined as follows:(34)T=1MM+m−ms2ϕLc2θL−mMsθLcθLsϕLmMsϕLcϕLc2θL−mMsθLcθLsϕL1+mMc2θLmMsθLcθLcϕLmsϕLcϕLc2θLMM+mmsθLcθLcϕLMM+mM+m−mc2ϕLc2θLMM+m.During the flight of the Aerial Robot, the swing angle of the suspended saw is small. According to the Small-Angle Approximation, the approximate solution is given by(35)sinϕL≈ϕL,cosϕL≈1,sinθL≈θL,cosθL≈1.Thus, equations (19) and (20) are simplified as(36)x¨+lϕ¨L+gϕL=0,y¨+lθ¨L+gθL=0.The ARSS is decomposed into the aerial robot part of the standard second-order model and the suspended saw part of the linear model. Position control is changed to control the aerial Robot while ensuring the stability of the linear part, so that the saw swing during flight is gradually reduced.First, design the position controller of the aerial robot part. Similar to the attitude controller, equation (32) is converted into three SISO subsystems, and these subsystems are second-order standard.Takingx for example. When z1=x and z˙1=x˙, equation (32) is rewritten as(37)z˙1=z2,z˙2=u1+wx,x=z1,where wx represents the disturbance to x and u1 denotes virtual control. Similar to the attitude controller, the specific design steps are as follows.


### 3.2.1. Design TD

TD is defined as(38)v1k+1=v1k+Tsv2k,v2k+1=v2k+Tsfh,fh=fhanv1k−vk,v2k,r,h,where vk is the desired position xd which is given by the position controller, v1k is the tracking signal of xd, and v2k is the derivative of v1k. Ts is the sampling period of the discrete signal. r and h are adjustable gains. fhanv1k−vk,v2k,r,h is the non-linear function, and its expression is as follows:(39)d=rh,d0=dh,y=x1+hx2,a0=d2+8r|y|1/2,a=x2+a0−d2,y>d0,x2+yh,y≤d0,fhan=−rad,a≤d0,−rsgna,a>d0.


### 3.2.2. Design ESO

The ESO is shown as(40)e=z1k−yk,z1k+1=z1k+Tz2k−β01e,z2k+1=z2k+Tz3k−β02fale,α1,δ+buk,z3k+1=z3k−Tβ03fale,α2,δ,where yk denotes the actual position x; z1 is the estimated value of x, z2 is the estimated value of x˙, and z3 is the estimated value of total disturbance wx; u represents the virtual control u1 and b=1; β01, β02, β03, α1 and α2 are parameters.fal∗ is a non-linear function, and its expression is shown as(41)fale,α,δ=eδ1−α,e≤δ,eαsigne,e≤δ,where α and δ are parameters, with 0<α<1 and δ>0.


### 3.2.3. Design State Error Feedback (SEF)

The position control does not have strict requirements for fast response, so a linear SEF with simple structure and easy parameter adjustment can be used. We have(42)u0=β1fale1+β2fale2,where β1 and β2 are parameters.From equation (40), we compensate the disturbances observed by ESO, we get the total control output u2 of the channel x. With the same method, the output and of the other two channels can be obtained, and the required control amount can be obtained according to equation (25). The position controller structure is shown in Figure 6.Figure 6
Position controller structure diagram.


## 3.2.1. Design TD

TD is defined as(38)v1k+1=v1k+Tsv2k,v2k+1=v2k+Tsfh,fh=fhanv1k−vk,v2k,r,h,where vk is the desired position xd which is given by the position controller, v1k is the tracking signal of xd, and v2k is the derivative of v1k. Ts is the sampling period of the discrete signal. r and h are adjustable gains. fhanv1k−vk,v2k,r,h is the non-linear function, and its expression is as follows:(39)d=rh,d0=dh,y=x1+hx2,a0=d2+8r|y|1/2,a=x2+a0−d2,y>d0,x2+yh,y≤d0,fhan=−rad,a≤d0,−rsgna,a>d0.


## 3.2.2. Design ESO

The ESO is shown as(40)e=z1k−yk,z1k+1=z1k+Tz2k−β01e,z2k+1=z2k+Tz3k−β02fale,α1,δ+buk,z3k+1=z3k−Tβ03fale,α2,δ,where yk denotes the actual position x; z1 is the estimated value of x, z2 is the estimated value of x˙, and z3 is the estimated value of total disturbance wx; u represents the virtual control u1 and b=1; β01, β02, β03, α1 and α2 are parameters.fal∗ is a non-linear function, and its expression is shown as(41)fale,α,δ=eδ1−α,e≤δ,eαsigne,e≤δ,where α and δ are parameters, with 0<α<1 and δ>0.


## 3.2.3. Design State Error Feedback (SEF)

The position control does not have strict requirements for fast response, so a linear SEF with simple structure and easy parameter adjustment can be used. We have(42)u0=β1fale1+β2fale2,where β1 and β2 are parameters.From equation (40), we compensate the disturbances observed by ESO, we get the total control output u2 of the channel x. With the same method, the output and of the other two channels can be obtained, and the required control amount can be obtained according to equation (25). The position controller structure is shown in Figure 6.Figure 6
Position controller structure diagram.


## 3.3. Suspended Saw Controller

In the Suspended Saw model,ϕL and θL describe the swing state of the suspended saw. ϕL denotes the angle between the projection of the connecting rod in the ObXbZb plane and the zb axis, the acceleration of the aerial Robot in the x and z axes will affect ϕL. Similarly, the acceleration in the y-axis and z-axis directions will affect θL. The height and horizontal position are generally not controlled at the same time, so the influence of the acceleration in the z-axis direction on the swing angle can be ignored. Considering that ARSS performs position control, it also needs to control swing angle, equation (36) is rewritten as(43)u1′=u1−K1ϕ˙L−K2ϕL,u2′=u2−K3θ˙L−K4θL.When designing the position controller, the linear dynamic compensation method of ADRC is used to transform the non-linear model of the aerial Robot into a series model, that is,(44)x¨=u1′,y¨=u2′.Then, combining equations (43) and (44) with equation (36), the system is described by(45)lϕ¨L−K1ϕ˙L+g−K2ϕL=0,lθ¨L−K3θ˙L+g−K4θL=0,where Ki,i=1,…,4 are gains.For this linear closed-loop system, sufficient and necessary conditions for its asymptotic stability are that all the characteristic roots are in the left half of the complex plane; that is, the real parts of all the characteristic roots are all negative. According to the Routh criterion, its characteristic roots are all in the left half of the complex plane and need to satisfy(46)l>0,−K1>0,g−K2>0,−K3>0,g−K4>0.As long as the parameterKi satisfies, the swing angle of the hanging saw can be gradually stabilized.


## 4. Evaluation

In this section, we present our experiment. In each experiment, we simulate a complete tree-barrier removal task. Each task is divided into two stages: free flight and aerial pruning. The controller was tested in simulation, which used CoppeliaSim [23] as a physics environment and to model the Robot. The controller is programmed under MATLAB/Simulink. Table 1 summarizes the numerical values used to simulate, and Table 2 shows the controller parameters. The parameters in Table 2 are adjusted by a parameter self-learning algorithm CARLA-ADRC [24].Table 1
Simulation parameters.
ParameterValueM8.5 kgl0.4 mm1.0 kgL1.0 mg9.81 m/s2Table 2
Controller parameters.
ADRCϕθψxyzTD-r300030003000444TD-h0.010.010.010.010.010.01ESO-β01100010001000100010001000ESO-β02197641976419764197641976419764ESO-β03462902462902462902462902462902462902ESO-α10.50.50.50.50.50.5ESO-α20.250.250.250.250.250.25ESO-δ0.0010.0010.0010.0010.0010.001ESO-b111111SEF-c0.951.050.95———SEF-r108.73108.73108.73———SEF-h0.050.050.05———SEF-k1———5050400SEF-k2———414150All experiments have considered numerical indicators, including integral of squared of tracking error, integral of squared of control signal. In the next section, we will choose one experiment sample to explain.


### 4.1. Attitude Control Experiment

First, verify the attitude controller and design the attitude tracking experiment. For example, the desired signals of roll, pitch, and yaw of 10° are given in the first, fourth, and seventh seconds, respectively. The experiment result is shown in Figure7.Figure 7
Attitude tracking response.It can be seen from Figure7 that the attitude controller can quickly track the desired signal, in which the tracking response time of pitch and roll angle is 1 s, the tracking response time of the yaw angle is 1.3 s, and there is no overshoot in each channel of the attitude angle. It proves that the attitude controller has good speed and stability.


### 4.2. Free-Flight Experiments

When performing the pruning task, we first fly ARSS to a desired position close to the tree. Suppose that in an experiment, the ARSS is controlled to fly to the desired position2,2,1.5T∈ℝ3 in the inertial frame. At 0 s, give an 1.5 m step signal in the z axis; at 5 s, give a 2 m step signal in the x-axis; at 10 s, give a 2 m step signal in the y-axis, and then keep hovering. The simulation duration is 25 s in total. The curves of position and swing angle during the simulation are shown in Figure 8.Figure 8
Position and Swing angle during simulation. (a) Position tracking response. (b) Swing angle tracking response.
(a)(b)It can be seen from Figure8(a) that because the swing of the saw cannot be too large, the aerial Robot cannot fly too fast, so the transition process of the TD link arrangement is relatively smooth. The response curve shows that the position error in the x and y axes is always kept within 0.4 m, and there is no overshoot; the error in the x-axis is kept within 0.05 m, and there is no overshoot. It is verified that the position controller has faster tracking speed and accuracy.Figure8(b) shows the tracking response curve of the swing angle. It can be seen that the swing angle is always controlled within 6°. The maximum swing angle appeared in 8 s and 13 s, respectively, reached 5.7°. This is because the deceleration occurs when the ARSS is close to the expected position at this time. After 2 s, the swing angle has dropped to within 2°, and when ARSS hovers, it can gradually stabilize to the equilibrium point and remain stable. This shows that the swing angle controller can well reduce the swing amplitude of the saw and can gradually stabilize after reaching the destination.


### 4.3. Aerial Pruning Experiments

The purpose of ARSS is to perform tree pruning operations. The pruning process is difficult to describe accurately, and the cutting process is not exactly the same for tree bars of different thickness. This experiment will simulate the cutting of a 6 cm diameter tree branch growing laterally to verify the controller. In the early stage, through the actual branch cutting experiment on the ground, the test results were counted and empirical conclusions were drawn: to cut a tree branch with a diameter of 6 cm, a squeezing force of 2 N is required between the saw and the branch, and contact with the tree barrier 2 s, the swing angle reaches −11.5 deg. It can be calculated from this that the body needs to be 20 cm ahead of COG of the saw in the direction of advancement. Considering that the saw diameter used in this article is 14 cm and the branch diameter is 6 cm, so during the cutting process, the flying platform needs to be 0.1 m in front of the tree branch. In this process, the saw will also receive a cutting force of 50 N.Based on the above analysis, the cutting process can be approximated as follows: the saw is in continuous contact with the branch for 2 s at a swing angle of −11.5 deg and disturbed by a cutting force of 50 N. The experimental process is designed as follows: the initial state of ARSS is hovering, and a tree barrier is placed at a distance of 1 m from the ARSS. On the 0 s, give a step signal of 1.1 m in thex-axis and set the desired swing angle to −11.5 deg. After the aerial Robot reaches the desired position, hover for 2 s and then perform the cutting operation. During this process, a cutting force of 50 N is applied to the saw, and then a step signal of 2 m on the x-axis is given and the desired swing angle is set to 0°, leaving the Working area. The entire simulation process lasts 20 s. This test mainly tests the position of the X direction and the performance of the swing angle controller, so only the curve of the x-axis position and the swing angle during the simulation process is given, as shown in Figures 9 and 10.Figure 9
Position changes of ARSS during the pruning.Figure 10
Swing angle changes of ARSS during the pruning.In order to more intuitively explain the simulation results, the simulation process is divided into four stages, as shown in Figure11.Figure 11
Snapshots of ARSS during the pruning.
(a)(b)(c)(d)From Figure11, ARSS made contact with the tree barrier in 2.2 s, and the swing angle before contact was 2 deg (in Figure 11(a)). After the contact, due to the tree barrier blocking the saw, the saw stayed at the position of 1 m, while the flying platform continued to fly, reached 1.1 m in the 3.2 s and hovered, the swing angle gradually increased to −11.5 deg, and keep the angle until 5.2 s (in Figure 11(b)). After the pruning is completed, due to the loss of the barrier to the saw, the saw quickly swings forward. Under the action of the swing angle controller, it reaches a maximum of 7 deg, and stays within 7 deg when going to the destination (in Figure 11(c)), and it can gradually stabilize after reaching the destination (in Figure 11(d)). In terms of position control, the Robot can always quickly track the desired position, and the maximum tracking error is within 0.4 m. After reaching the destination, due to the need to control the swing angle, there is an overshoot of 0.1 m, which can gradually stabilize after a period of time. The experiments demonstrated that the position controller and the swing angle controller can complete the task of aerial pruning well.


## 4.1. Attitude Control Experiment

First, verify the attitude controller and design the attitude tracking experiment. For example, the desired signals of roll, pitch, and yaw of 10° are given in the first, fourth, and seventh seconds, respectively. The experiment result is shown in Figure7.Figure 7
Attitude tracking response.It can be seen from Figure7 that the attitude controller can quickly track the desired signal, in which the tracking response time of pitch and roll angle is 1 s, the tracking response time of the yaw angle is 1.3 s, and there is no overshoot in each channel of the attitude angle. It proves that the attitude controller has good speed and stability.


## 4.2. Free-Flight Experiments

When performing the pruning task, we first fly ARSS to a desired position close to the tree. Suppose that in an experiment, the ARSS is controlled to fly to the desired position2,2,1.5T∈ℝ3 in the inertial frame. At 0 s, give an 1.5 m step signal in the z axis; at 5 s, give a 2 m step signal in the x-axis; at 10 s, give a 2 m step signal in the y-axis, and then keep hovering. The simulation duration is 25 s in total. The curves of position and swing angle during the simulation are shown in Figure 8.Figure 8
Position and Swing angle during simulation. (a) Position tracking response. (b) Swing angle tracking response.
(a)(b)It can be seen from Figure8(a) that because the swing of the saw cannot be too large, the aerial Robot cannot fly too fast, so the transition process of the TD link arrangement is relatively smooth. The response curve shows that the position error in the x and y axes is always kept within 0.4 m, and there is no overshoot; the error in the x-axis is kept within 0.05 m, and there is no overshoot. It is verified that the position controller has faster tracking speed and accuracy.Figure8(b) shows the tracking response curve of the swing angle. It can be seen that the swing angle is always controlled within 6°. The maximum swing angle appeared in 8 s and 13 s, respectively, reached 5.7°. This is because the deceleration occurs when the ARSS is close to the expected position at this time. After 2 s, the swing angle has dropped to within 2°, and when ARSS hovers, it can gradually stabilize to the equilibrium point and remain stable. This shows that the swing angle controller can well reduce the swing amplitude of the saw and can gradually stabilize after reaching the destination.


## 4.3. Aerial Pruning Experiments

The purpose of ARSS is to perform tree pruning operations. The pruning process is difficult to describe accurately, and the cutting process is not exactly the same for tree bars of different thickness. This experiment will simulate the cutting of a 6 cm diameter tree branch growing laterally to verify the controller. In the early stage, through the actual branch cutting experiment on the ground, the test results were counted and empirical conclusions were drawn: to cut a tree branch with a diameter of 6 cm, a squeezing force of 2 N is required between the saw and the branch, and contact with the tree barrier 2 s, the swing angle reaches −11.5 deg. It can be calculated from this that the body needs to be 20 cm ahead of COG of the saw in the direction of advancement. Considering that the saw diameter used in this article is 14 cm and the branch diameter is 6 cm, so during the cutting process, the flying platform needs to be 0.1 m in front of the tree branch. In this process, the saw will also receive a cutting force of 50 N.Based on the above analysis, the cutting process can be approximated as follows: the saw is in continuous contact with the branch for 2 s at a swing angle of −11.5 deg and disturbed by a cutting force of 50 N. The experimental process is designed as follows: the initial state of ARSS is hovering, and a tree barrier is placed at a distance of 1 m from the ARSS. On the 0 s, give a step signal of 1.1 m in thex-axis and set the desired swing angle to −11.5 deg. After the aerial Robot reaches the desired position, hover for 2 s and then perform the cutting operation. During this process, a cutting force of 50 N is applied to the saw, and then a step signal of 2 m on the x-axis is given and the desired swing angle is set to 0°, leaving the Working area. The entire simulation process lasts 20 s. This test mainly tests the position of the X direction and the performance of the swing angle controller, so only the curve of the x-axis position and the swing angle during the simulation process is given, as shown in Figures 9 and 10.Figure 9
Position changes of ARSS during the pruning.Figure 10
Swing angle changes of ARSS during the pruning.In order to more intuitively explain the simulation results, the simulation process is divided into four stages, as shown in Figure11.Figure 11
Snapshots of ARSS during the pruning.
(a)(b)(c)(d)From Figure11, ARSS made contact with the tree barrier in 2.2 s, and the swing angle before contact was 2 deg (in Figure 11(a)). After the contact, due to the tree barrier blocking the saw, the saw stayed at the position of 1 m, while the flying platform continued to fly, reached 1.1 m in the 3.2 s and hovered, the swing angle gradually increased to −11.5 deg, and keep the angle until 5.2 s (in Figure 11(b)). After the pruning is completed, due to the loss of the barrier to the saw, the saw quickly swings forward. Under the action of the swing angle controller, it reaches a maximum of 7 deg, and stays within 7 deg when going to the destination (in Figure 11(c)), and it can gradually stabilize after reaching the destination (in Figure 11(d)). In terms of position control, the Robot can always quickly track the desired position, and the maximum tracking error is within 0.4 m. After reaching the destination, due to the need to control the swing angle, there is an overshoot of 0.1 m, which can gradually stabilize after a period of time. The experiments demonstrated that the position controller and the swing angle controller can complete the task of aerial pruning well.


## 5. Discussion and Conclusions

Throughout the development of ARSS, a range of issues were encountered on which we are developing a novel aerial platforms. While building the novel robot for the tree pruning has a range of advantages, it also has the following limitations:(1)
Physical testing still needs to be carried out in future research.(2)
The control of the swing angle is linearized by a Small-Angle-Approximation to the dynamic model, and the model uncertainty cannot be completely solved.(3)
The knife and saw will generate force after contact with the tree. The research does not directly control the force, but indirectly realizes the force control through the control of the position, attitude and swing angle.However, the article introduces how a novel aerial robot can realize flying motion and aerial pruning and designs a position and attitude controller based on the ADRC method, and a swing angle controller via the linear SEF method. The methodology not only realize the fast, accurate, and stable flight movement to the specified position, but also effectively suppress the swing of the hanging load and the residual oscillation after reaching the specified position. The control effect is remarkable, with good speed and robustness.



---

*Source: 8883655-2020-10-14.xml*