Development of Add-On Planar Translational Driving System for Aerial Manipulation with Multirotor Platform

: We propose an add-on planar translational driving system (ATD) which can be equipped on a multirotor platform for aerial manipulation. The device is lightweight and consists of three ducted fans controlled via an on-board CPU. It uses a simple control method and enables a multirotor to perform positioning and generate force in two dimensions while keeping the airframe horizontal. By translating the multirotor without changing attitude, it can more smoothly and easily perform many types of aerial manipulation tasks with higher positioning accuracy. In this paper, we mainly show the design, modeling, and control of the ATD. Several preliminary experiments were performed to verify the positioning accuracy and effectiveness of the system. In addition, we successfully performed the push and pull task using a rigid arm.


Introduction
The multirotor type unmanned aerial vehicle (UAV), which is simply called a drone, has increased in popularity in the consumer industry and industrial applications in the last 10 years. Because of their flight stability, easier operation, and autonomy, they are not only useful for hobbyist applications, but also for industrial applications such as civil engineering surveys, security, agriculture, infrastructure inspections, logistics, remote sensing [1], and many other fields. In addition, in high-altitude tasks which can pose danger to human workers, such as maintenance of bridges, tunnel roofs, windmill blades, dam walls, and high-voltage electric lines, assistance by multirotor UAVs can be a promising application. The technique of physical interaction with the environment by using a manipulator attached to the aerial robot is called "aerial manipulation", and many studies are focused on it [2][3][4]. In previously reported studies, a robotic gripper or arm is equipped on the bottom of the multirotor to perform the manipulation task downward from the body frame [5], on its side for contact inspection [6], or on its top for perching on a high altitude place [7,8], torsional task [9], and contact inspection of the roof [10]. Although several aerial manipulation tasks are successfully performed in these studies, it is still challenging to realize both the positioning and manipulation task with high accuracy. Traditional multirotors are able to take-off and land vertically on the ground and can move vertically while keeping the attitude of the body horizontal. However, it requires tilting the airframe for translating and generating contact force in horizontal direction. This motion affects the multirotor to perform the task not so smoothly. In addition, to stop the multirotor in horizontal direction after it moves, it requires break-like motion by quickly tilting the airframe in opposite direction. These movements make it difficult for the multirotor to move finely to accurately position itself and often prevents performing smooth manipulation tasks. Therefore, to realize aerial manipulation task in higher accuracy, it is desirable that the translation and attitude control of the multirotor be separated.
To perform the position and attitude control of multirotor independently, which is impossible with a typical multirotor, several studies on novel platform development are reported in [11][12][13][14][15][16][17]. An omnidirectional aerial vehicle with unidirectional thrusters fixed to its airframe is proposed in [11,12]. The control algorithm was designed by [11] and the aerial robot was developed to perform the translation and attitude control on SE(3) separately [12]. Another approach for realizing positing and attitude independently is by tilting the rotors of a multirotor [13,14]. In [13], a quad tilt rotor UAV is developed and successfully showed hovering of the quad rotor with a 90 deg pitch angle. In [14], the design and optimal control of a novel omnidirectional vehicle that can exert a wrench in any orientation while maintaining efficient flight configurations is presented. In [15,17], a novel multi-linked type of multirotor is developed and performed a manipulation task [16]. In all of these studies, new aerial robot hardware structures and control techniques are needed to put them to practical use. On the other hand, many flight controllers that can fly typical multirotors with high stability are already in the market and are widely being used. The availability of these platforms, which are used in today's major applications such as aerial photography and transportation, is convenient and leads to greater reach. Therefore, we focus on utilizing a typical type of multirotor. To realize position and attitude control independently with typical type of multirotor, we propose an add-on planar translational driving system (hereafter, ATD), which consists of three ducted fans arranged to generate thrust in the horizontal direction, as shown in Figure 1a. Three ducted fans generate thrust in any direction on the horizontal plane, allowing the multi-rotor aircraft to move while keeping its attitude horizontal. As a result, fine position control becomes easy, and the positioning ability is improved.
In this study, we mainly designed ATD and its control laws. Then, several preliminary experiments were performed to verify the accuracy of positioning and effectiveness of the system in aerial manipulation. The concept description of the ATD is provided in Section 2. Section 3 presents the kinematics, control laws, and system of ATD. Section 4 presents the force measurement of ATD to verify how much force currently works on the multirotor. Section 5 discusses comparison between the ATD control with the multirotor control. Section 6 evaluates the experiments of position control and translational movement in different directions. Moreover, we show push and pull operations performed using a rigid arm for verifying the possibility of aerial manipulations. Section 7 concludes this paper and discusses about future work.

Concept of ATD
In order for a normal multirotor UAV to move horizontally, it is necessary to appropriately change the balance of the propellers rotation speed and tilt the aircraft. As a result, a propulsive force in the horizontal direction can be obtained. To move in the horizontal direction while keeping the attitude of the aircraft horizontal, it is sufficient to add a driving force that generates thrust in the horizontal direction. Furthermore, to move in any direction of the horizontal plane, it is necessary to be able to generate a thrust vector in any direction. For this, at least three drive sources are required. The main features of the proposed ATD are based on the concept as follows.
(1) The ATD allows the multi-rotor aircraft to move horizontally while keeping its attitude horizontal. This leads to easier and fine position control, and the positioning accuracy can be improved. (2) When applying a force to an object sideways in aerial work, the attitude of the aircraft is horizontal, so the force can be applied continuously and stably. Moreover, the addition of ATD increases the force that can be generated compared to the case of a normal multirotor aircraft alone. (3) The vertical thrust is generated by the multirotor aircraft, and the horizontal thrust is generated by ATD. Since these can be controlled independently, the structure makes it easy to generate horizontal force at any given height of the multi-rotor aircraft. (4) While moving horizontally using ATD, the driving force of the multi-rotor aircraft can be devoted to keeping the altitude and attitude of the aircraft constant. Therefore, it may become robust due to disturbances such as wind. (5) The proposed ATD is add-on type and can be retrofitted to a multirotor, which means it can work with any of typical multirotors, from hobby to industrial ones.
The system can be useful for various applications; for example, in some contact or non-contact inspection tasks, by keeping attitude of multirotor horizontal, the task can be done more easily and smoothly while staying nearer the target surfaces in a narrow space (Figure 1b), roof (Figure 1c), or walls ( Figure 1d). Moreover, it also can be useful for increasing accuracy of some tasks which requires multirotor generating force in horizontal direction without changing its attitude, such as high pressure cleaning or painting tasks.
To construct ATD, to be equipped on a typical multirotor UAV, we use ducted fan as the main actuator unit, which is lightweight, compact, and able to generate relatively high thrust. The generated thrust from ATD acts on the multirotor to allow it to translate and generate the force in horizontal direction. At least three forces applied in a plane are required for positioning a body in that plane. Three or more ducted fans are required to generate thrust in any direction on the horizontal plane. In this research, we designed and manufactured ATD using three ducted fans, which is the minimum configuration.

Mechanical Structure
To construct ATD, to be equipped on a typical multirotor UAV, we use ducted fan as the main actuator unit, which is lightweight, compact, and able to generate relatively high thrust. The generated thrust from ATD acts on the multirotor to allow it to translate and generate the force in horizontal direction. At least three forces applied in a plane are required for positioning a body in that plane. The structure of ATD is shown in Figure 2a. Three ducted fans are placed every 120 degrees and set as Y-configurations, so that a well-balanced force can be generated by the combination of any of two thrusts of ducted fans. To avoid exhaust from the ducted fan from being affected by the downwash of the multirotor's propellers, the ducted fans are mounted outside the propeller radius of the multirotor. ATD comprises three ducted fans, power module, PCA9685-I2C to PWM interface, ESC, and a CPU board (LattePanda Alpha 864). The ducted fan is 50 mm in diameter and can generate 0.95 kg of maximum thrust. The CPU board is used for processing feedback control. The distance L from ducted fan can be set depending on the size of multirotor platform. The specifications of the device are summarized in Table 1.
To control ATD, for any feasible control force F, the output thrust of three ducted fans should be calculated. According to the arrangement of ducted fans, the model of ATD is shown in Figure 2b. The coordination is defined as the same as the multirotor body frame. F 1 , F 2 , and F 3 show the output thrusts of the ducted fans. The blocked region in Figure 2b is the feasible control force volume which is mixed by thrust of three ducted fans. The region can be separated into S 1 , S 2 , and S 3 and given as follows.  In Equations (1)-(3), ±k represents the slope of F 1 and F 2 based on the coordination, and the value is ± √ 3 3 . F max shows the maximum output thrust of ducted fan. Thus, for any feasible force F, output thrust of ducted fans [F 1 F 2 F 3 ] T can be given by as follows.
The input thrust of ducted fan u i with its output thrust F i is u i ∝ F i , and we define the equation as follows.
In Equation (5), ζ and C are constants, and these parameters are estimated in Section 3.

Components of the System
The proposed system (shown in Figure 1a) consists of a multirotor UAV with ATD. The multirotor platform is constructed using DJI F550 frame (the diameters of the body and propellers are 550 and 238 mm, respectively) and DJI N3 flight controller. High level control for the multirotor navigation is achieved by the communication link between the flight controller and the on-board CPU. The pictures of ATD with multirotor system is shown Figure 3. The coordination is defined as the same as in Figure 2. RealSense T265 is used for estimating velocity of the UAV.
Through the communication between flight controller of the multirotor and the onboard CPU, we constructed the system, as shown in Figure 4, based on ROS(Robot Operating System). In the figure, the processes inside the CPU board block shows ROS nodes what we mainly developed and data flow shows the topics being published and subscribed in each nodes. Constructing the system using ROS improves the reusability of the system, and additional devices can be easily integrated into the system. To verify positioning accuracy of ATD with multirotor, a motion capture system is used for estimating the position. In the system, the state estimator summarizes converted sensor feedback and transmits necessary values to UAV and ATD controller. The I2C interface receives control input of three ducted fans and converts it to desired PWM signal using Python library of PCA9685. The UAV controller includes roll and pitch angle, yaw angle rate, throttle (vertical velocity/thrust), and enable/disable brake-like motion as control inputs. The brake-like motion of the multirotor will effect the flight, if it is enabled with the ATD control. Thus, we designed three different control modes, namely position control mode, manual ATD control mode, and manual UAV control mode, by making a switch based on CH5 position on the remote controller (RC) (shown in Figures 3 (side view) and 4). These control modes are described as follows. • Position control mode allows the multirotor to translate automatically by keeping body frame horizontal. In the UAV controller, control inputs of roll and pitch angle are set to 0, yaw angle rate is controlled automatically, throttle is controlled manually, and break-like motion is disabled. In the ATD controller, the ducted fans are controlled automatically.
• Manual ATD control mode allows the operator to control the multirotor manually and translate it with fixed attitude of the airframe. In the UAV controller, the control inputs are set the same as in position control mode. The ATD controller is designed based on CH1∼2 input values on the RC for operating the multirotor translating in horizontal, and a brake-like motion is designed for stopping the multirotor immediately after the operation. • Manual UAV control mode allows the operator to control the multirotor manually which is same as typical operation. The UAV's roll and pitch angle, yaw rate, and throttle are set based on RC input of CH1∼4 and brake-like motion is enabled. The ducted fans in the ATD controller are disabled.  Through our designed system with three different control modes, the system allows the operator to easily switch desired control mode depending on the task. In the position control mode, the horizontal position and heading direction of multirotor are controlled automatically, and the operator only needs to adjust its height. It makes some inspection tasks much easier than when controlling the multirotor normally, such as the cases shown in Figure 1d. It can be realized by adding sensors such as LIDAR or RGB-D camera to our system for localization. On the other hand, it can be useful for performing some aerial manipulation tasks by switching to manual ATD control mode from UAV control mode. It allows an aerial manipulator to reach smoothly to the manipulated target.

Control
To design the controller of the multirotor and ATD corresponding to the three control modes described above, we defined control inputs of the multirotor as u roll /u pitch (roll and pitch angle), u yaw (yaw angle rate), u throttle (vertical velocity), and u brake (1 and 0 for enable/disable brake-like motion) and for ATD as u x /u y (thrust inputs in x(roll)/y(pitch) axis), and u 1 -u 3 (thrust inputs of three ducted fans). The RC input of CH1∼CH5 values are set to u ch1 ∼ u ch5 (u chi ∈ {1, −1}, i = 1, . . . , 5).
In the case of position control mode, the control inputs of multirotor and ATD can be given by u roll = 0, u pitch = 0, u yaw = K pyaw e yaw + K dyawėyaw , u throttle = K th u ch4 , u brake = 0 u = [u x ; u y ], u = K p e pos + K dėpos , (u ch5 = 1) In Equation (6), for the UAV controller, K pyaw and K dyaw are control gain of PD controller in yaw axis and e yaw is the yaw angle error between target direction and its heading direction. K th is the parameter for adjusting vertical velocity of the multirotor. In the ATD controller, K p , K p and K d are the control gain of PD controller for position control by ATD, and e pos is the position error in x and y axis.
In the case of manual ATD control mode, the control inputs can be given as follows: In Equation (7), in the UAV controller, θtaryaw, θyaw, and θyaw(0) are target yaw angle, current yaw angle, and initial yaw angle of the airframe. K vyaw is the parameter for adjusting yaw angle rate. Through calculation, yaw angle of multirotor can be controlled manually. In the ATD controller, v is the estimated velocity of multirotor. K f max is the control gain for the RC input values. K v is the control gain for the damping control that allows multirotor to stop immediately after operating the ATD.
In the case of manual UAV control mode, the control inputs are given by u roll = K θmax u ch1 , u pitch = K θmax u ch2 , u yaw = K pyaw e yaw + K dyawėyaw , u throttle = K th u ch4 , u brake = 1 ; u = [0; 0] (u ch5 = −1) (8) In Equation (8), in the UAV controller, K θmax is the control gain for the RC input values, and it corresponds to the maximum feasible control input of roll and pitch angles. e yaw is calculated the same as in Equation (7). In the ATD controller, the control input in x and y axis are given as 0 to disable the ATD control.
Through Equations (6)-(8), calculated control inputs for the multirotor are converted to desired PWM signal in the flight controller and sent to ESCs to control the propellers. In the ATD controller, control inputs of u = [u x ; u y ] are converted to thrust inputs of ducted fans [u 1 u 2 u 3 ] T according to Equations (4) and (5), converted to the desired PWM signal, and sent to ESCs to control the ducted fans.To generate the PWM signal, an I2C to PWM interface (PCA9685 board) board is used with its Python library in the CPU. A range of input values were chosen for control by experimentally checking the change in the fan's speed from minimum to maximum for the given inputs. According to that, the minimum and maximum values were set as 150 and 535, respectively (e.g., the values 1000-2000 in Python control program are mapped to generate pulses in the range 1-2 ms at the output of PCA9685) at the frequency of 70 Hz. The process is shown in Figure 4.

Force Measurement of ATD
To verify the force generated by ATD on multirotor while it is flying, and to obtain the relation between thrust input with output force of ducted fans, we measured the force of ATD. The experimental setup is shown in Figure 5. To avoid the thrust of propellers from affecting the measurement results, we put the ATD with multirotor on the ground and fixed it to a force gauge using a wire. To reduce the friction between multirotor and ground, we fixed three ball-bearings (in this case, coefficient of friction is 0.05) under ATD and adjusted the thrust of the multirotor to slightly less than its total weight (3 kg including battery). Therefore, the friction between multirotor and ground can be ignored. In the experiment, we set the heading direction of the multirotor as the same as the wire by controlling yaw angle of the multirotor. The thrust input of ducted fan was set from 90% and reduced by 5% until 10%. The output force data were recorded for a duration of 5 s for each input. The experimental result of the measurement is shown in Figure 6. The graph shows average value of the measured force for the thrust inputs and the dotted line shows its linear approximation, which is given by y = 0.0826x + 0.1274. In the graph, the small graph shows the recorded data of force during a 5-s interval, when the thrust input was at 60%. Accordingly, we verified if the output thrust is stable for the input thrust. The parameters ζ and C in Equation (5) can be decided based on this experiment.

Comparison of the Performance between ATD with Multirotor Control
To compare the performance of the ATD control and multirotor control, comparative experiments were performed. Both experiments were done with manual control. In the case of ATD control, if the input thrust in y axis (see Figure 3) is 50%, the output force can be estimated as 4.9 N (according to Figure 6). To generate the same force in y axis in the case of multirotor control, the pitch angle should be controlled to about 10 degrees. Thus, the experiment was done by translating the multirotor at the same force with a different control mode (ATD control mode and UAV control mode). To fix the control input to desired values, we reset the end points of the sticks in the RC transmitter. By limiting the maximum input value from the transmitter, the value can be fixed since we are fully bringing down the stick. The multirotor can perform brake-like motion after releasing the stick of RC transmitter in both control modes.
The experimental results are shown in Figure 7. The figure shows velocity in y axis and pitch angle change of the multirotor in different control modes. In the case of UAV control, the velocity was increased more quickly than in the case of ATD control, but, since we released the stick, the brake-like motion was performed autonomously by controlling its pitch angle in the opposite direction, and it was observed to be much larger than when translating the multirotor. Continuous images of the motion are shown in Figure 8a. In addition, it took 1.2 s to completely stop the body frame in horizontal direction. In the case of the ATD control, although velocity was increased more slowly than in the case of UAV control, it was increased more smoothly. It took 0.5 s to completely stop the body frame in horizontal direction from when the multirotor started to perform brake-like motion. Continuous images of the motion are shown in Figure 8b. During the flight, the attitude of multirotor remained stable. Through the experiments, we verified that the ATD control was successfully able to translate the multirotor by keeping the attitude horizontal including brake-like motion, and it can be helpful for the multirotor to move finely to accurate position and perform smooth aerial manipulation tasks.

Experiments
To assess efficiency of the ATD with multirotor system, several preliminary experiments were performed with motion capture system, and the experiment of push and pull operation was performed outdoors.

Position Control
The target position and initial position of multirotor was set to [0, 0] and [−1, −1] on x and y axes. In the experiment, we switched to position control mode after the multirotor took off from the ground. The experimental result is shown in Figure 9. In the figure, the top graph shows position of the multirotor in x and y axis and the bottom graph shows roll and pitch angle of multirotor during the flight. The average position error was 0.0358 m on x-axis and 0.0188 m on y-axis, and it was in the region ±0.05 m. During the flight, the attitude of multirotor (Figure 9, bottom) was in the region ± 2 degree, therefore the body frame can be considered to be kept horizontal.

Experiment of Translational Movement in Different Directions
The experiment was performed for verifying how much the direction shifts while the ATD is translating the multirotor. The experimental setup is shown in Figure 11 (left). The target position was set 0.5 m away from the initial position at 30-degree intervals. The experimental result is shown in Figure 11 (right). The multirotor was observed to be translated almost straightly when the target position was on x and y axes. For the other target positions, it shifted about five degrees from the desired direction. It is caused by design error of ATD and control error from ESC of the ducted fans, but the direction error was absorbed since it was able to reach target position.

Experiment of Push and Pull Operation
To verify if it possible to perform the aerial manipulation tasks with our system, we demonstrated a push and pull task. To perform the task, we equipped a rigid arm (the weight and length were 0.1 kg and 0.4 m, respectively) to the multirotor airframe. and a 3D printed disk-like object was fixed to the tip of the arm. The manipulated target was a nail-like object, and it was inserted to the vertical plate tightly. In the experiment, we used the manual ATD control mode to operate the multirotor. The external wind velocity during the experiment was 2-3 m/s. Continuous images of push and pull task are shown in Figure 12. Although wind disturbed the flight sometimes, both push and pull were successfully performed smoothly. During the flight, attitude of multirotor was kept horizontal (roll and pitch angles were in the region of ±2 degree), as shown in Figure 13. In addition, we also tried the task by the UAV control mode, but it was challenging to operate the multirotor finely and impossible to push/pull the target object with such a rigid arm. Through the experiment, we verified that it was possible to perform the manipulation tasks, and it was much easier to perform the task than by controlling multirotor normally.

Conclusions
In this study, we proposed and developed an add-on planar translational driving system (ATD) which is equipable to a typical type of multirotor for aerial manipulation. The device allows multirotor translating motion by keeping the attitude horizontal. This motion allows a multirotor to perform manipulation tasks easily, such as contact or non-contact inspections. To allow the operator to easily control the ATD with multirotor, three different control modes were designed, and the operator can switch among the control modes from RC transmitter. To verify the generated force from the ATD actually works on multirotor, we measured its force and verified relations between input thrust with output force. According to the measurement result, comparison of the performance between the ATD with multirotor control was performed, especially to observe the difference of brake-like motions. To verify positioning accuracy, i.e., to verify if it actually keeps the attitude of the multirotor stable while translating, how finely the position control can be performed, and if the translational movement can be performed in any direction, several preliminary experiments were performed. Finally, to verify the possibility of aerial manipulation by employing our system, a push and pull task was performed outdoors in an environment with wind velocity of 2-3 m/s. During the experiments, the ATD was observed to work as expected.
In future work, we are going to improve the design and control law of our system to allow for higher accuracy positioning and performing the task with much robustness. We also plan to develop several applications such as inspection of high-rise buildings and high pressure cleaning tasks by employing our system. Furthermore, implementing autonomous localization for our system will allow the multirotor to perform aerial manipulation at a higher precision.