Autonomous aerial perching and unperching
using omnidirectional tiltrotor and switching controller
Abstract
Aerial unperching of multirotors has received little attention as opposed to perching that has been investigated to elongate operation time. This study presents a new aerial robot capable of both perching and unperching autonomously on/from a ferromagnetic surface during flight, and a switching controller to avoid rotor saturation and mitigate overshoot during transition between free-flight and perching. To enable stable perching and unperching maneuvers on/from a vertical surface, a lightweight ( ), fully actuated tiltrotor that can hover at pitch angle is first developed. We design a perching/unperching module composed of a single servomotor and a magnet, which is then mounted on the tiltrotor. A switching controller including exclusive control modes for transitions between free-flight and perching is proposed. Lastly, we propose a simple yet effective strategy to ensure robust perching in the presence of measurement and control errors and avoid collisions with the perching site immediately after unperching. We validate the proposed framework in experiments where the tiltrotor successfully performs perching and unperching on/from a vertical surface during flight. We further show effectiveness of the proposed transition mode in the switching controller by ablation studies where large overshoot and even collision with a perching site occur. To the best of the authors’ knowledge, this work presents the first autonomous aerial unperching framework using a fully actuated tiltrotor.
I Introduction
Aerial perching can enhance the energy efficiency and flight duration of multirotors whose hovering consumes a significant amount of energy. Such advantage has led to several studies on perching [1, 2, 3, 4], in particular, on inclined or vertically oriented surfaces. However, most of these studies have primarily concentrated on the act of perching itself, with little attention given to the process of unperching. Investigating unperching is necessary since, without the capability to autonomously unperch, a multirotor that has perched cannot be reused unless manually retrieved by a human operator.
![Refer to caption](extracted/2404.11310v1/figures/thumbnail_v2.3.png)
Since unperching essentially requires perching, we first review research on aerial perching. Most works on aerial perching employed conventional multirotors [2, 1, 4, 5, 6, 7, 8, 9]. However, to perch on a vertical wall or unperch from it, it is necessary to rotate the orientation by nearly . Conventional multirotors, due to their underactuated nature, inevitably experience translational overshoot during such maneuvers, making them unsuitable for operation in narrow or crowded spaces. Furthermore, to achieve robust alignment between the perching site and the multirotor with respect to control errors and measurement inaccuracy, it is essential to independently control both translation and orientation. Although [3] proposed a tiltrotor that can hover at a non-zero pitch angle to address this issue, it has a limitation of encountering singularity in control allocation when perching on surfaces close to . Instead of directly tilting the body orientation by , [9] suggests a perching strategy of first attaching to the vertical surface using a suction cup and a valve with zero pitch angle, and then rotating its body to perch on a vertical surface at pitch. However, this approach may lack fast response in hovering recovery when encountering sudden detachment or slip due to the conventional multirotor being incapable of hovering at pitch angle.
In the aspect of perching mechanism which is an essential factor in aerial perching, most reported mechanisms have not considered unperching motion. Previous works on aerial perching have utilized various materials, such as magnets [2, 3, 5], suction cups [4, 6, 9], Velcro [1], grippers [10, 11, 7], and electroadhesives [8]. Among those methods, our study extends the research on magnet-based methods. One advantage of using magnets is their capability to perch on various structures with ferromagnetic surfaces. However, most magnet-based perching methods employed in aerial robotics involve firmly attaching the magnet to the multirotor, and thus unperching cannot be executed unless the multirotor’s actuation (i.e. thrust force and torque) are utilized. Moreover, using the multirotor’s thrust force and torque for unperching may lead to overshoots in position and orientation immediately after unperching, potentially resulting in collision with the perching site and surrounding objects if not carefully controlled.
In addition to the above mentioned problems regarding multirotor platform and perching/unperching mechanism, we address two issues that can be encountered during aerial perching and unperching: rotor saturation during perching and overshoot after unperching. As shown in the experimental results of [3], treating motion constraints as disturbance during perching can result in rotor saturation. Although control techniques like disturbance estimator can enhance control performance during free-flight by compensating model uncertainties including near-wall effect and thrust efficiency change, they may result in adverse effect like rotor saturation during perching. Rotor saturation can cause a significant control error, potentially leading to unintended detachment, and should be mitigated.
Only a few previous research have addressed aerial unperching [7, 5, 9], and little attention has been given to reducing undesirable overshoot immediately after unperching. The papers [7, 5, 9] only consider unperching from near-zero roll/pitch angles, and undesirable overshoots in the gravity direction are observed in all papers. Since such overshoot may lead to collisions with the perching site or nearby objects, a more effective method for regulating the motion is needed.
To resolve these problems discussed above, we first present a mechanism capable of both perching and unperching using magnets, specifically designed for application in lightweight, fully actuated multirotors ( ). Additionally, we propose a switching controller and motion strategy to prevent rotor saturation and collision with the perching site during the perching and unperching processes. To the best of the authors’ knowledge, this paper introduces the first autonomous aerial unperching even at pitch angle from a vertical wall using a fully actuated tiltrotor as shown in Fig. 1. Contribution of this research can be summarized as follows:
-
1.
We propose an aerial robot that is capable of both perching and unperching on a vertical ferromagnetic wall.
-
2.
We suggest a switching controller and a motion strategy to avoid rotor saturation during perching and overshoot during unperching.
-
3.
We validate the proposed framework in experiments of autonomous aerial perching and unperching on/from a vertical surface.
II Hardware design
This section presents a hardware design for a multirotor-based aerial robot capable of both perching and unperching on a vertical ferromagnetic surface. The robot is mainly composed of the following two:
-
•
a multirotor platform capable of an omnidirectional flight
-
•
a mechanism for both perching and unperching using magnet
Firstly, to achieve more stable perching and unperching, we developed a lightweight aerial robot capable of hovering at arbitrary orientations. The designed aerial robot, similar to [12] in actuation principle, consists of four rotors and four servomotors where each servomotor independently controls the orientation of its respective rotor. While various fully actuated platforms have been explored, many of them suffer from excessive weight (over 3 kg) [13] or hardware limitations preventing omnidirectional flight [14, 15]. In our study, we have developed a relatively lightweight platform (approximately 1 kg, excluding the battery) capable of hovering at arbitrary attitude. The CAD design and the actual drone can be observed in Figs. 2(a), 3.
![Refer to caption](extracted/2404.11310v1/figures/hardware_mechanism_v3.png)
Next, to maintain stable perching while minimizing the static torque caused by self-weight during perching, it is essential to keep the distance from the drone’s center of mass to the perching site as short as possible. Due to the nature of multirotor drones which require a certain gap between rotors to generate sufficient moment and avoid interference between propellers, the length of the drone in the vertical direction (i.e. -axis direction in Fig. 2(a))) can be designed to be much shorter than its length in the forward-backward or lateral directions (i.e. -axes directions in Fig. 2(a)). Based on this observation, we installed the perching/unperching mechanism on the drone’s bottom.
Lastly, as seen in [2, 3], firmly fixing magnets to the drone body has a significant drawback in that once attached, the magnets are difficult to be detached. To address this issue, we propose a perching and unperching mechanism that utilizes magnets in conjunction with a single servo motor, which we refer to as PS (perching & unperching servo) to distinguish it from wrench-generating servomotors (WS) used for the tiltrotor’s actuation. Leveraging the intuition that magnets exert much weaker forces tangentially than in the surface normal direction, we introduce a rotation-based unperching strategy using the servomotor, as illustrated in Fig. 2(c).
We utilized Dynamixel XC330-M288 as a servomotor, weighing approximately 23 g, with a stall torque of 0.93 Nm according to its specifications. Considering the short distance of less than 3 cm from the rotation center of the servo to the magnet, this servo can exert a large tangential force of approximately 30 N, which is sufficient to perform unperching actions when compared to the tiltrotor’s total weight of , including tiltrotor platform, perching/unperching mechanism, and battery. To provide sufficient adhesive force during perching, we configured the hardware with four perching and unperching modules attached to the drone’s bottom surface, as shown in Fig. 2(b).
III Switching controller design
This section presents a switching controller proposed for stable perching and unperching. We control motion during free-flight which corresponds to the flight conditions before perching and after unperching, and we control force during perching considering that motion in all direction is constrained. Then, we suggest a strategy to avoid overshoot and saturation during transition in perching and unperching.
III-A System dynamics
We model system dynamics of the tiltrotor as the following fully actuated rigid body:
(1) | ||||
where , and and are gravitational acceleration, total mass and mass moment of inertia of the tiltrotor. are position measured in the world fixed frame and body angular velocity, and is the rotation matrix describing the orientation of the tiltrotor. is an operator map** a vector in to a skew-symmetric matrix in . Control inputs are , which are forces and torques, and we adopt the control allocation method of [16]. are uncertainty in translation and rotation, for example, contact force and model uncertainty in moment of inertia and center of mass. For multirotors flying with onboard batteries, such uncertainty also includes abrupt thrust efficiency change due to the voltage drop of the batteries.
![Refer to caption](extracted/2404.11310v1/figures/platform_v2.png)
III-B Free-flight controller
During free-flight, we control motion as follows:
(2a) | ||||
(2b) |
The error terms are defined as , , with . For the error of the rotation matrix, we refer to [17] instead of [18] since the referred one shows faster convergence rate. are positive-definite control gains. is the estimated value through the following momentum-based disturbance estimator [19]:
(3) | ||||
As can be found in [20, Lemma 1], by taking a large estimator gain , the estimation error can be maintained to be sufficiently small for all time.
III-C Perching controller
During perching, motion is completely constrained, and the 6-dimensional control inputs are no longer used to control the drone’s motion. Instead, they are utilized for controlling the forces and torques applied to the perched surface. In this research, depending on the situation, either zero force/torque can be generated (), or a force is generated to partially counteract gravity (, ).
III-D Controller during transitions
![Refer to caption](extracted/2404.11310v1/figures/switching_ctrl_law_v6.png)
![Refer to caption](extracted/2404.11310v1/figures/switching_ctrl_law_wo_transition_v2.png)
If transition is not considered separately, only two controllers, i.e. the free-flight controller and the perching controller, would compose the switching controller as shown in Fig. 4(b). However, without sufficient consideration for transition, there is a possibility of rotor saturation due to blind application of a motion controller during perching, or excessive overshoot due to discontinuous control inputs immediately after unperching.
To address these issues, we propose a separate controller in between the free-flight controller and the perching controller, as depicted in Figure 4(a). Here, represents the mode of the switching controller, with for free-flight mode, for perching mode, and for the transition phases. As seen in the block where in Fig. 4(a), the algorithm for disturbance estimation is frozen during all the transition phases, allowing only the nominal controller (N Controller in Fig. 4(a), and in (2a)) to operate. Freezing the disturbance estimator during the transition prevents rotor saturation for not considering motion constraints as disturbance, and activating the nominal controller instead of the perching controller during reduces discontinuity when transitioning to the free-flight controller.
The switching signals among control modes are defined using the contact force in the surface-normal direction and operator inputs . The triggers for transitioning from free-flight to perching and vice versa are assumed to be provided by a human operator. Since it is challenging to precisely determine when perching is successfully achieved, is used to determine the occurrence of perching. If is greater than the threshold , it is deemed that perching has been successfully achieved, and the control mode is switched to perching. Conversely, if decreases below the threshold while in a perching phase, it is considered that the system is ready to transit to free-flight, and the control mode is switched to free-flight. This switching law is illustrated in Fig. 4(a).
IV Perching & unperching strategy
IV-A Perching & unperching signal generation sequence
![Refer to caption](extracted/2404.11310v1/figures/mode_switch_seq_v2.1.png)
In the proposed perching/unperching mechanism, as seen in Fig. 2(c), perching or unperching is achieved by adjusting the angles of the servomotors PS, to which the magnets are attached ( for perching and for unperching). It is crucial to determine when to activate the perching/unperching signal during the controller mode transition. If is set to too late during the transition from free-flight to perching, the PSs may move too close to the contact surface, potentially causing collision as they move. Conversely, if is switched to too early during the transition from perching to free-flight, the actuators, especially wrench-generating servos (WS), may experience large discontinuity in control inputs. This may cause significant overshoot as WS cannot follow the change quickly enough. This overshoot may lead to collision with the contact surface. To address these issues, we introduce the perching/unperching signal for the mechanism immediately after the controller mode switches from to during the transition, as shown in Fig. 5. Additionally, when transitioning from perching to free-flight, is activated for unperching immediately after switches from to .
IV-B Motion planning
![Refer to caption](extracted/2404.11310v1/figures/planning_strategy_v5.png)
To minimize the static torque caused by the distance from the contact surface to the center of gravity during perching, a strategy to perch in a 90-degree tilted configuration is adopted. Furthermore, for perching and unperching, a trajectory was planned by first setting pose setpoints, as shown in Fig. 6 as \small1⃝, \small2⃝, and \small3⃝, and smoothly connecting them. For perching, the setpoint sequence starts with the initial configuration \small1⃝ and progresses as \small1⃝ \small2⃝ \small3⃝, while for unperching, the sequence is set in the reverse order.
When performing perching, a setpoint is placed slightly behind the actual perching site, as shown in Fig. 6 \small3⃝. This is to prevent failures in perching due to measurement errors and control performance errors. Additionally, when unperching, a setpoint is placed slightly away from the perching site in the surface normal direction, as seen in \small2⃝. This reduces the net attraction force that must be overcome during unperching and also allows to avoid collision with the perching site immediately after unperching. Trajectory generation between setpoints was done using the method from [21], where minimum jerk and acceleration trajectories in translation and rotation directions respectively were computed in a closed-form when given initial and terminal conditions.
V Experiments
V-A Setup
![Refer to caption](extracted/2404.11310v1/figures/exp_flowChart_v2.png)
The hardware that we built is shown in Fig. 3. To actuate the tiltrotor, we used 6-inch propellers with Armattan rotors and controlled the rotor’s tilt angle using Dynamixel XC330-M288 servomotors. The magnet-based perching and unperching mechanism also used the same servomotors. For magnets, we used four cylindrical neodymium magnets with the diameter of and the height of . We used a S mAh battery as the power source. Excluding the battery and perching/unperching mechanism, the weight of the tiltrotor itself was approximately 1kg, and the perching and unperching mechanism weighed around 250g. The total weight of the proposed perching/unperching-capable tiltrotor was .
In Fig. 7, we represented the signal flow among algorithms used during experiments. The ground control station (GCS) operated by a human operator makes decisions about whether to perch or unperch (, ). The contact force information used for mode switches between controllers is calculated through a contact force estimator [19]. The motion planner generates trajectories based on the controller’s mode and environmental information () such as the pose of the perching site. For localization, we fused information from the MicroStrain IMU and the motion capture system, Optitrack, to calculate the tiltrotor’s odometry at 400 Hz. All algorithms except for the GCS were executed on an onboard Intel NUC computer. We used Ubuntu 20.04 and ROS for software support.
In this study, we conducted perching and unperching experiments on a ferromagnetic vertical wall to validate the feasibility of the proposed mechanism and controller. We also conducted comparative experiments to demonstrate the superiority of the proposed control method when not applied.
V-B Results
V-B1 Without the proposed method
In this study, we conducted experiments on cases without the mode among the proposed techniques to confirm the necessity of the proposed controller. In cases without the mode, as shown in Fig. 4(b), the system transitions directly from the mode to the mode. We experimented with two scenarios: 1) when and in the mode, and 2) when and in the mode. The experimental results can be observed in Figs. 8 and 9. To comply with page limits, we display only the x and z directional positions and pitch angle, along with the magnitude of orientation errors , showing the most pronounced changes during the experiments.
![Refer to caption](extracted/2404.11310v1/figures/overshoot_v2.png)
The results of the first case can be seen in Fig. 8. As shown in (c), there was a sudden drop in the downward direction immediately after unperching, which posed a risk of collision with the ground. To prevent this, the controller was forcibly turned off, and a safety rope was activated. The graphs represent the values only before pulling the safety rope. As anticipated, the abrupt transition from the mode to the mode resulted in a significant jump in control inputs, especially because the did not track it rapidly enough, leading to a substantial overshoot.
![Refer to caption](extracted/2404.11310v1/figures/collision_v3.png)
The results of the second case, where control inputs in the mode were set to , can be found in Fig. 9. In this case, since were already oriented to offset gravity in the mode, the transition from the mode to the mode did not result in significant changes in the servomotor angles, causing small overshoot in the z-axis direction. However, unlike the previous mode where setpoints were provided in the detachment direction and a motion controller was active to follow them, in this case, the motion controller was not activated during perching. Therefore, control inputs for detaching were not generated in advance, and collision with the perching site immediately after unperching occurred, as shown in Fig. 9(b).
V-B2 With the proposed method
![Refer to caption](extracted/2404.11310v1/figures/result_success_v3.png)
To validate the proposed method, we conducted perching and unperching experiments on a virtual wall with a ferromagnetic surface. Information about the perching site was obtained using Optitrack. The scenario of this experiment is as follows: (1) hover at 0 degrees roll and pitch, (2) transit to a pitch angle, (3) approach the vertical wall and perch, (4) maintain perching for a while, and (5) unperch and finally return to a stationary hover. The result of this experiment can be seen in Fig. 1, and more detailed information can be found in the attached video. Since this experiment was conducted to validate perching and unperching capabilities, we only aimed to maintain the perch during perching. Further research on interaction control after perching is considered as future work. To assist in maintaining the perch during perching, we set and .
Data collected during the experiment, including position , pitch angle , magnitude of the orientation error , PWM, and estimated contact force , can be seen in Fig. 10. In the top two figures, the solid lines represent measurement data, while dashed lines represent the desired trajectory of the corresponding solid lines in the same color. Contact force estimation was not active during free flight, so data was measured only during the modes other than free flight. The shaded regions indicate the controller’s mode, where white, red, black, and blue correspond to , , , and respectively, as indicated in the top right of the figure.
VI Conclusion
In this paper, we proposed an aerial robot design capable of in-flight perching and unperching, along with a switching controller tailored for these tasks. First, we developed a lightweight, fully actuated tiltrotor capable of hovering even at pitching to perform stable perching and unperching on vertical walls, and designed a perching/unperching module. The switching control law was devised to address challenges such as rotor saturation during perching and excessive overshoot immediately after unperching. Moreover, we proposed a simple yet effective strategy to ensure robust perching execution in the presence of measurement and control errors and avoid collisions with the perching site after unperching. We validated our proposed methods through real-world experiments, successfully demonstrating stable in-flight perching and unperching maneuvers. Additionally, an ablation study involving one of the proposed switching control modes confirmed effectiveness of the proposed switching controller in reducing overshoot. Future work will involve analyses and comparative experiments in a wider range of settings to further evaluate our proposed methodologies.
References
- [1] J. Mao, S. Nogar, C. M. Kroninger, and G. Loianno, “Robust active visual perching with quadrotors on inclined surfaces,” IEEE Transactions on Robotics, 2023.
- [2] J. Ji, T. Yang, C. Xu, and F. Gao, “Real-time trajectory planning for aerial perching,” in 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2022, pp. 10 516–10 522.
- [3] D. Lee, S. Hwang, C. Kim, S. J. Lee, and H. J. Kim, “Minimally actuated tiltrotor for perching and normal force exertion,” in 2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2023, pp. 5027–5033.
- [4] S. Liu, Z. Wang, X. Sheng, and W. Dong, “Hitchhiker: A quadrotor aggressively perching on a moving inclined surface using compliant suction cup gripper,” IEEE Transactions on Automation Science and Engineering, 2023.
- [5] K. Yanagimura, K. Ohno, Y. Okada, E. Takeuchi, and S. Tadokoro, “Hovering of mav by using magnetic adhesion and winch mechanisms,” in 2014 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2014, pp. 6250–6257.
- [6] S. Liu, W. Dong, Z. Ma, and X. Sheng, “Adaptive aerial gras** and perching with dual elasticity combined suction cup,” IEEE Robotics and Automation Letters, vol. 5, no. 3, pp. 4766–4773, 2020.
- [7] H. Zhang, E. Lerner, B. Cheng, and J. Zhao, “Compliant bistable grippers enable passive perching for micro aerial vehicles,” IEEE/ASME Transactions on Mechatronics, vol. 26, no. 5, pp. 2316–2326, 2021.
- [8] S. Park, D. S. Drew, S. Follmer, and J. Rivas-Davila, “Lightweight high voltage generator for untethered electroadhesive perching of micro air vehicles,” IEEE Robotics and Automation Letters, vol. 5, no. 3, pp. 4485–4492, 2020.
- [9] H. Tsukagoshi, M. Watanabe, T. Hamada, D. Ashlih, and R. Iizuka, “Aerial manipulator with perching and door-opening capability,” in 2015 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2015, pp. 4663–4668.
- [10] P. Yu, G. Chamitoff, and K. Wong, “Perching upside down with bi-directional thrust quadrotor,” in 2020 International Conference on Unmanned Aircraft Systems (ICUAS). IEEE, 2020, pp. 1697–1703.
- [11] W. R. Roderick, M. R. Cutkosky, and D. Lentink, “Bird-inspired dynamic gras** and perching in arboreal environments,” Science Robotics, vol. 6, no. 61, p. eabj7562, 2021.
- [12] M. Ryll, H. H. Bülthoff, and P. R. Giordano, “A novel overactuated quadrotor unmanned aerial vehicle: Modeling, control, and experimental validation,” IEEE Trans. Control Syst. Technol., vol. 23, no. 2, pp. 540–556, 2015.
- [13] M. Allenspach, K. Bodie, M. Brunner, L. Rinsoz, Z. Taylor, M. Kamel, R. Siegwart, and J. Nieto, “Design and optimal control of a tiltrotor micro-aerial vehicle for efficient omnidirectional flight,” Int. J. Rob. Res., vol. 39, no. 10-11, pp. 1305–1325, 2020.
- [14] P. Zheng, X. Tan, B. B. Kocer, E. Yang, and M. Kovac, “Tiltdrone: A fully-actuated tilting quadrotor platform,” IEEE Robotics and Automation Letters, vol. 5, no. 4, pp. 6845–6852, 2020.
- [15] S. J. Lee, D. Lee, J. Kim, D. Kim, I. Jang, and H. J. Kim, “Fully actuated autonomous flight of thruster-tilting multirotor,” IEEE/ASME Transactions on Mechatronics, vol. 26, no. 2, pp. 765–776, 2021.
- [16] M. Kamel, S. Verling, O. Elkhatib, C. Sprecher, P. Wulkop, Z. Taylor, R. Siegwart, and I. Gilitschenski, “The voliro omniorientational hexacopter: An agile and maneuverable tiltable-rotor aerial vehicle,” IEEE Robotics & Automation Magazine, vol. 25, no. 4, pp. 34–44, 2018.
- [17] Y. Yu and X. Ding, “A global tracking controller for underactuated aerial vehicles: design, analysis, and experimental tests on quadrotor,” IEEE/ASME Transactions on Mechatronics, vol. 21, no. 5, pp. 2499–2511, 2016.
- [18] T. Lee, M. Leok, and N. H. McClamroch, “Geometric tracking control of a quadrotor uav on se (3),” in 49th IEEE conference on decision and control (CDC). IEEE, 2010, pp. 5420–5425.
- [19] T. Tomić, C. Ott, and S. Haddadin, “External wrench estimation, collision detection, and reflex reaction for flying robots,” IEEE Transactions on Robotics, vol. 33, no. 6, pp. 1467–1482, 2017.
- [20] A. Alan, T. G. Molnar, E. Daş, A. D. Ames, and G. Orosz, “Disturbance observers for robust safety-critical control with control barrier functions,” IEEE Control Systems Letters, vol. 7, pp. 1123–1128, 2022.
- [21] D. Brescianini and R. D’Andrea, “Computationally efficient trajectory generation for fully actuated multirotor vehicles,” IEEE Transactions on Robotics, vol. 34, no. 3, pp. 555–571, 2018.