<<

IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED FEBRUARY, 2021 1

The Catenary Robot: Design and Control of a Cable Propelled by Two Quadrotors

Diego S. D’antonio, Gustavo A. Cardona, and David Saldana˜

Abstract—Transporting objects using aerial robots has been widely studied in the literature. Still, those approaches always assume that the connection between the quadrotor and the load is made in a previous stage. However, that previous stage usually requires human intervention, and autonomous procedures to locate and attach the object are not considered. Additionally, most of the approaches assume cables as rigid links, but manipulating cables requires considering the state when the cables are hanging. In this work, we design and control a catenary robot. Our robot is able to transport hook-shaped objects in the environment. The robotic system is composed of two quadrotors attached to the two ends of a cable. By defining the catenary with five degrees of freedom, in 3-D, orientation in the z-axis, and span, we can drive the two quadrotors to track a given trajectory. We validate our approach with simulations and real robots. We present four different scenarios of experiments. Our numerical solution is computationally fast and can be executed in real-time. Index Terms—Aerial Systems: Applications; Mobile Manipu- lation; Cellular and Modular Robots Fig. 1: The catenary robot, composed of a pair of quadrotors attached to the two ends of a cable. Controlling the lowest point, span and orientation of the curve, the catenary robot can I.INTRODUCTION be used to interact and pull objects, in this case, an umbrella. N recent years, aerial robots have become popular in Video available at: https://youtu.be/3SaKKjl6os0 I industry and academia because of their low cost and a large number of applications. Especially in object transportation, aerial vehicles such as quadrotors have demonstrated to be localize where the load is due to the length is fixed. Flexible effective as a solution. Some of the main applications of cables allow stretching, thus small disturbances do not affect quadrotors are: delivering last-mile packages for retail and the performance of linked quadrotors too much. Nevertheless, wholesale companies [1]; transporting supplies to disaster localizing the load might suffer errors caused by vibrations. areas [2]; accessing dangerous areas for humans such as forest Despite the work that has been done extensively in the fires [3], and delivering medicines and food such as needed in suspended load transportation field, all the approaches assume remote regions. that the connection between the quadrotor and the load is Quadrotors can overcome payload restrictions by cooperat- made in a previous stage. However, that previous stage usually ing with others to manipulate and transport objects that are requires human intervention, and autonomous procedures to either suspended or attached. In the aerial robotics literature, locate and attach the object are not considered. Additionally, there is a large number of works that tackle the problem of most of the approaches assume cables are rigid links, but cable-suspended load transportation, using either one quadro-

arXiv:2102.12519v2 [cs.RO] 2 Mar 2021 manipulating cables requires to consider the case when the tor [4], [5] or multiple [6], [7], [8]. In the case of multiple cables are hanging. In this work, we design and control a quadrotors, there are two well-known approaches, the point- catenary robot as in Fig. 1, where a cable is attached to mass load, and multiple contact points. In the point mass two quadrotors, allowing it to take its natural form caused approach all the cables go to the same contact point in the mass by gravity and describing a catenary curve [10]. Catenary [8]. In the multiple contact approach, the robots are attached dynamics has been studied before [11], including applications to different places on the load, which makes the problem more in robotics such as obstacle avoidance with a hanging cable challenging since it involves rotational dynamics in addition. or servoing visual approaches [12], [13], [14]. There are also On the other hand, rigid cables [7] and flexible cables [9]. With applications of lifting a hose with multiple quadrotors [15]. rigid cables, quadrotors are more susceptible to disturbances However, those approaches were not developed with cable generated by other linked quadrotors. However, it is easier to manipulation in mind. It is crucial to find a reference point Manuscript received: October, 15, 2020; Revised December, 13, 2020; for the catenary to attach to objects and manipulate them. We Accepted February, 8, 2021. choose the lowest point of the curve as the reference because it This paper was recommended for publication by Editor Pauline Pounds upon evaluation of the Associate Editor and Reviewers’ comments. can be used to attach objects. In this work, we consider objects D. Salazar-D’antonio, G. A. Cardona, and D. Saldana˜ are with that have embedded hooks in their shape, making them easy the Autonomous and Intelligent Robotics Laboratory (AIRLab) at to be pulled without knotting or tightening. Some examples Lehigh University, PA, USA:{diego.s.dantonio, gcardona, saldana}@lehigh.edu of these objects are shown in Fig. 2. Digital Object Identifier (DOI): see top of this page. The main contributions of this paper are twofold. First, we 2 IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED FEBRUARY, 2021

Fig. 2: Objects that naturally have one or multiple hooks in their shape. a) an umbrella has a hook shape in its handle. b) A chair has narrow parts allowing a cable to go through them. c) A saxophone has a hook shape in its neck. d) A bicycle can be pulled passing a cable through its handlebar or its saddle. propose a versatile robot, called catenary robot, that is able to Fig. 3: Coordinate frames of a catenary robot. navigate in the environment and to get attached to objects with a hook-like shape. Second, we develop a trajectory- tracking method that controls the pose and the shape of the The catenary frame {C}, has its origin at the lowest point catenary curve. In the state of the art, the cable is modeled as of the catenary curve. Assuming that the catenary is always a chain based on many links and joints but controlling such a on a vertical plane, called the catenary plane. The x-axis of mechanism is highly expensive since each join increases the {C} is normal to the catenary plane, and y-axis of {C} is dimensions of the configuration space. In contrast, our method defined by the unitarian vector of the catenary curve offers a fast numerical solution. at its lowest point. The orientation of the catenary frame with W respect to {W} is described by the rotation matrix RC . II.THE CATENARY ROBOT In this paper, we assume that the robot moves slow enough such that the cable does not swing. Therefore, the catenary Cables offer a versatile way to interact and transport objects, can only rotate with respect to its z-axis. We denote the yaw but usually it is challenging to find a way to attach cables angle of the catenary by ψ , and therefore its rotation matrix to objects in an autonomous way. In this work, we want to C is W R = Rot (ψ ), where Rot is a function that returns manipulate a cable using quadrotors in a way that it can be C Z C Z the rotation matrix of an angle in the z-axis. The quadrotors attached to hooks or objects with hook shapes, some of these can keep a static orientation for the yaw angle but rotations objects can be seen in Fig. 2. Once the cable is attached around the center of the reference point can create torsion on to the object, other methods in the literature can be used for the cable. Therefore, we want the yaw angle of the quadrotors transportation [6], [7], [8]. The cable, hanging from the two to be the same as the yaw angle of the catenary. quadrotors, adopts the form of the catenary curve, which varies The cable hangs from its two end points forming a catenary depending on the position of the quadrotors, mostly in their curve [10], starting at point x and ending at point x . The altitude difference. This lead us to the problem of finding a A B of the curve in the catenary frame is way to control the pose of the lowest point of the cable and the ⎡ ⎤ shape of the catenary curve. Our robot is defined as follows. ⎢ 0 ⎥ ⎢ ⎥ ( ) = ⎢ r ⎥ Definition 1 (Catenary robot). A catenary robot or flying α r ⎢ ⎥ , (1) ⎢ ‰ r − Ž ⎥ catenary is a mechanical system composed of a cable with ⎣ a cosh a 1 ⎦ two quadrotors attached to its ends. Note that when the cable where r ∈ [−s, s] is the parameter of the curve; the variable s is hanging from the two quadrotors and there are no objects is equal to half of the span of the catenary (see Fig. 3); and colliding with the cable, this naturally adopts a catenary curve the value a ∈ R≥0 can be obtained by using the equation of form. The cable is flexible and non-stretchable. the length of the catenary as The catenary robot is illustrated in Fig. 3. The World ` s frame, {W}, is a fixed coordinate frame with its z-axis = a sinh ‹  . (2) 2 a pointing upwards. The reference point is the lowest point of 3 Here we know the length of the cable ` and the distance s the catenary in {W}, denoted by xC ∈ R . The quadrotors are indexed as A and B, and its locations in {W } are denoted that comes from the location of the quadrotors. Since, this 3 3 equation is transcendental, meaning that it is not possible to by xA ∈ R and xB ∈ R , respectively. We assume that the quadrotors are always at the same altitude. In the case solve a analytically, we will have to use a numerical solution. of perturbations, the controller has to drive them back to the In the catenary frame, the lowest point of the curve is α(0) = 0 C same high. Both quadrotors have same mass m and inertia in {C}, and the location of the robots are α(−s) = xA, and ( ) =C tensor J. The cable has a length ` and a mass mC . Each α s xB. quadrotor has a frame, denoted by {A} and {B}; the origin of Each quadrotor has four propellers that generate a total each frame is located at its center of mass, the x-axis points to thrust fi and a torque vector τ i. The translational and ro- the front of the robot, and the z-axis points in the direction of tational dynamics of each quadrotor i ∈ {A, B} are described the rotors. The orientation of quadrotors A and B with respect by the -Euler , W to the world frame are described by the rotation matrices RA W W W m¨xi = −mg e3 + Rifie3 + RC ti, (3) and RB in SO(3), respectively. The desired x-axis of each quadrotor is parallel to the x-axis of the catenary frame. Jω˙ i = −ωi × Jωi + τ i, (4) S. D’ANTONIO et al.: THE CATENARY ROBOT: DESIGN AND CONTROL OF A CABLE PROPELLED BY TWO QUADROTORS 3

⎡ ⎤ ⊺ ⎢ 0, ⎥ where g is the gravity constant, e3 = [0, 0, 1] , ωi is the ⎢ ⎥ ⎢ −s,¨ ⎥ angular velocity, and the vector ti is the tension that ⎢ ⎥ ⎢ 2˙a ‰ s˙ − sa˙ Ž sinh ‰ s Ž ⎥ the cable generates on the ith quadrotor. ⎢ a a2 a ⎥ C = ⎢ 2 ⎥ Using a geometric controller [16], we can drive the robots ¨xA ⎢ +a ‰ s˙ − sa˙ Ž cosh ‰ s Ž ⎥ . (10) ⎢ a a2 a ⎥ to a desired attitude W Rd, and thrust f d. In this way, the ⎢ 2sa˙ 2 2a ˙ s˙ sa¨ s¨ s ⎥ i i ⎢ +a Š 3 − 2 − 2 +  sinh ‰ Ž ⎥ thrust in the z-axis of the quadrotor can be used to pull the ⎢ a a a a a ⎥ ⎢ +a¨ ‰cosh ‰ s Ž − 1Ž ⎥ cable in any direction. The force vector in {W} generated by ⎣ a ⎦ each quadrotor is C In a similar way, the position and derivatives of the point xB = W C fi fi Ri e3, are obtained by evaluating (1) in s, i.e., α(s) = xB. In these equations, we still need to compute the variable of the catenary the thrust vector is obtained by multiplying the rotation matrix W a and its derivatives. Derivating (2), of its attitude, i.e. RA, and the thrust generated by the motors, i.e. f , in the z-axis of the body frame. sa˙ s s A 0 = ‹s˙ −  cosh ‹  + a˙ sinh ‹  , (11) The configuration space of the catenary curve is associated a a a with its position, orientation, and span. The sag depends on s˙ sa˙ 2 s s˙ sa˙ s the length of the cable and the span, but the length is fixed, 0 =a ‹ −  sinh ‹  + 2˙a ‹ −  cosh ‹  (12) a a2 a a a2 a making the sag a function of the span. Each quadrotor offers 2sa˙ 2 2˙as˙ sa¨ s s four inputs, and the catenary curve is described using five + Œ − − + s¨‘ cosh ‹  + a¨ sinh ‹  . variables, satisfying the condition of the system to be fully a2 a a a a actuated. The objective of this work is to control the catenary The equations (2), (11) and (12) are transcendental and we in its configuration space. cannot analytically solve our variables of interest a and its derivatives. However, we need those values to control the cate- III.TRAJECTORY TRACKINGAND CONTROL nary, so in each control iteration, we compute them by solving these equations numerically using the bisection method [17]. Given a desired trajectory for the catenary robot, specified In order to reduce the torsion of the cable, we want to make by its reference point, xC (t), orientation ψ(t), and span s(t), the quadrotors to always point in the direction of the normal we design a controller to track the trajectory using the control = d W vector of the catenary plane. Therefore, ψi ψ . In this way, inputs of the quadrotors fi and Ri, i ∈ {A, B}. An overview we convert the inputs of the catenary in trajectories for the of the control architecture is illustrated in Fig. 4. The first quadrotors. block receives the trajectory of the catenary robot and converts it into trajectories for the position of each quadrotor. The second block tracks the trajectory based on the attitude of B. Tracking controller the quadrotors. Finally, an attitude controller in SO(3) in the Using the desired position, velocity and acceleration of each third block. quadrotor, we can compute the errors in the trajectory as d d ep = xi − xi, and ev = ˙xi − ˙xi. A. Trajectory of the quadrotors Using a geometric controller [16], each quadrotor can be Our first step is to convert the trajectory of the catenary, driven to generate a thrust force vector f . Our desired force defined by x (t), ψ(t), and s(t), into the trajectory of the i C vector drives the tracking errors to zero, and compensates for quadrotors, xd (t), and xd (t), including its first, and second A B the gravity force and the tension generated by the cable derivatives. The desired location, velocity and acceleration of each quadrotor i ∈ {A, B} in the world frame with respect to d d W fi = Kpep + Kvev + m¨xi − mge3 + RC ti, u (13) the catenary frame are where Kp and Kv are positive proportional matrices that drive d d W C xi = xC + RC(ψ) xi, (5) position and velocity errors to zero as time increases. ti is d d W C W C the tension in the catenary frame in A, B and its direction ˙x = ˙x + R˙ C(ψ) xi + RC(ψ) ˙xi, (6) i C is tangent to the catenary curve. A well-known result from d = d + W ¨ ( ) C + W ( ) C ¨xi ¨xC RC ψ xi RC ψ ¨xi the catenary curve [10] is that tension at any point is t = W C ⊺ +2 R˙ C(ψ) ˙xi. (7) [0, ±w a, w z] , where w = m~` is weight of rope per unit length. Then, evaluating in the two ends, we obtain C The point xA and its derivatives can be computed using the C ⊺ C ⊺ span of the catenary that comes from the function s(t). By tA = 0, −w a, w zA , tB = 0, w a, w zB . C evaluating the catenary function α at −s, i.e., α(−s) = xA, we can obtain the point C x and compute its derivatives It is important to highlight that the tension increases with the A mass of the cable; requiring to increase the tilting angle of the ⎡ ⎤ ⎢ 0, ⎥ quadrotors to compensate the tension. ⎢ ⎥ C = ⎢ −s, ⎥ In order to drive the robot to generate the force vector, we xA ⎢ ⎥ , (8) ⎢ ‰ ‰ s Ž − Ž ⎥ can control its attitude in SO(3). The desired rotation matrix ⎣ a cosh a 1 ⎦ ⎡ ⎤ is defined by the unitarian vectors ⎢ 0, ⎥ C ⎢ ⎥ d d d d ˙x = ⎢ −s,˙ ⎥ , (9) f z × xi y × z A ⎢ ⎥ zd = i , yd = i , and xd = i i , ⎢ a˙ ‰cosh ‰ s Ž − 1Ž + ‰s˙ − sa˙ Ž sinh s ⎥ i d i d i d d ⎣ a a a ⎦ Yfi Y Yzi × xiY Yyi × zi Y 4 IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED FEBRUARY, 2021

Fig. 4: Control architecture for the catenary robot.

where the vector xi comes from the desired orientation of the quadrotor, which is the same as the catenary, i.e. xi = Rotz(ψ)e1. Then the desired rotation matrix is W d d d d Ri = xi , yi , zi  . The thrust is then computed as d W d fi = fi ⋅ Ri e3. The proof of the stability properties of this controller to gen- d erate the desired force fi can be found in [16]. By generating the desired force in (13), we can track the desired position and compensate for the gravity force and the cable’s tension. d Our desired points xi , i ∈ {A, B}, and their derivatives come from the numerical solution. Although there is an error associated with the approximation, the feedback controller can compensate for it during running time. The important part Fig. 5: 3D trajectories of the quadrotors and the catenary is that the error does not accumulate over time since the d tracking a span s(t) and yaw ψ(t) trajectories while xC is numerical approximation has to be performed in each control static. loop.

IV. EXPERIMENTS fixed. We set the length of the cable as ` = 2 m, its mass as To test the catenary robot, we designed four different mC = 7.6 gr, in the quadrotor mass m = 132 g. The trajectory 1 d experiments . First, we track a trajectory where the catenary is defined by xC = [0, 0, 0.4], d point xC is driven to xC , and then it remains static while the span and yaw orientation oscillate. We demonstrate that ψ(t) = t~10, and s(t) = 0.35 + 0.15 cos(t). even when the robots are moving around, the lowest point will remain at the same location once that this point is reached. The result of the simulation is shown in Fig. 5. The desired This experiment is performed in both simulation and actual trajectories are denoted by the red dashed lines, the lowest robots. Additionally, we change the cables to demonstrate the point is in green solid line and the path of the quadrotors { } effect of increasing the weight of the cable. When the weight is A, B are in blue and black solid lines, respectively. It can be seen the catenary robot is able to lead the lowest point big enough it affects the motion of the catenary robot and it is 0 d necessary to consider it in the model so the thrust compensates from xC to xC in finite time and remain there for the rest of the extra force. Second, we define a trajectory of the catenary the simulation. In the same way, the desired trajectory for the to move through obstacles that require accurate motion. Even span is perfectly tracked by the controller. Our next step is though we do not have direct measurements of the curve, we tracking the same trajectory with an actual catenary robot. are able to track a trajectory, based on the catenary equations from Section III. In our third experiment, we interact with B. Catenary robot design and attach to an umbrella handle (an object with a naturally hook-shaped attach point) by controlling the lowest point In our experimental testbed, we used the Crazyflie-ROS o the catenary curve. Finally, the last experiment considers framework [18] to command the robots. For the localization the transportation of a hook-shaped object. We generate a of the quadrotors, we use the motion capture system (Opti- trajectory that allows the catenary robot to self-attach to the track) operating at 120 Hz. The quadrotors internally measure object and lift it to take it to another place in the environment. their angular velocities using their IMU sensors. The original geometric controller in the firmware of the Crazyflie robot extended to include the tension of the cable. Since the original A. Simulation: Varying span and yaw Crazyflie has a low payload (< 10 g), we designed a quadrotor In this simulation, we implemented the dynamic equations with brushless motors based on the crazybolt controller; its from (3) and (4), and our controller in Matlab. We tested with weight is 131.99 g and its payload is 128 g. a trajectory that describes a flower-like shape by var ying the span and yaw of the trajectory while maintaining the point xC C. Experiments with actual robots 1The source code for simulations and actual robots is available at https://github.com/swarmslab/Catenary_Robot The experiments for the catenary robot are the following. S. D’ANTONIO et al.: THE CATENARY ROBOT: DESIGN AND CONTROL OF A CABLE PROPELLED BY TWO QUADROTORS 5

0.5 1 refC refC ) xA ) xA m

0.0 m ( 0 xB xB ( x

x xC xC 0.5 1 − − 0 20 40 60 80 100 120 140 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 0.5 0.5 ) )

m 0.0 ( m

y 0.0 ( y 0.5 − 0 20 40 60 80 100 120 140 0.5 − 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 1.0

) 1.0 m ) ( z m 0.5 0.5 ( z

0 20 40 60 80 100 120 140 0.0 2 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 ) 0.5 1 ) Rad (

ψ 0 0.0 rad ( ψ 0 20 40 60 80 100 120 140 0.5 − 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5

) 0.4 0.6 m ( s ) 0.4 m

0.2 (

s 0.2 0 20 40 60 80 100 120 140 t(s) 0.0 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 t(s) xA xA desired xB Fig. 7: Results of Experiment 2: position of quadrotors xB desired xC {A, B}, xA, xB, and the lowest point of the catenary xC are xC desired shown in light blue, olive, and blue respectively. All desired trajectories are in dashed red lines. We show the signal in x- axis, y-axis, z-axis, yaw-angle ψ, and s span of the catenary.

1.4 1.2 Experiment 1.2 Flying with different types of cables: We

z 1.0

( m 0.4 perform the previous experiment with different types of cables. ) 0.8 − A rope, a steel cable, and a plastic chain with a weight of 0.6 0.2 − 6.23, 14.17, and 56.39 g respectively. For the first and second 0.4 0.0 ) m ( cable, their weight is so low that the tension that it generates x 0.2 0.4 − 0.2 is neglectable. For the third cable, it is necessary to include − 0.0 0.4 0.2 tension term t in the controller for stabilizing the flight. As a y(m) i 0.4 result, the quadrotors will fly tilting outwards to compensate the tension from the cable. Fig. 6: Results of Experiment 1: the position of quadrotors Experiment 2. Trajectory tracking: In this experiment, the xA, xB and the catenary point xC with respect to each axis. goal is to maintain a constant altitude of the lowest catenary Additionally the evolution of yaw-angle ψ and span s with d point while moving in the x-axis. The trajectory is xc (t) = their respecting desired trajectories that are in dashed red lines. [t, 0, 0.3], ψd = 0, and ⎧ ≤ < ⎪ 0.3 0 t 4π s(t) = ⎨ 0.3 + 0.6 sin(t) 4π ≤ t < 5π . (14) Experiment 1.1 Varying span and yaw: Performing the ⎪ ⎩⎪ 0.3 5π ≤ t < ∞ same experiment of the simulation in Fig. 5 but now using the actual robot. We present the results of the trajectory tracking As shown in Fig. 7, the lowest point of the catenary starts to in Fig. 6 for in x-, y-, and z-axis, as well as the yaw angle and follow the trajectory having an error in the y-axis and x-axis span. Here is possible to see how the real implementation has close to zero. When the point starts to change as expected d a larger error in comparison with the simulation that assumes by xc (t), the quadrotors change the position making the span perfect conditions. It can be seen that there is an error while greater to maintain the lowest point at the same altitude. The maintaining the lowest point of the catenary in a static location, average error in position is µx = 0.04, µy = 19e − 3, and which is close to zero in the x- and y-axis, but the z-axis µz = 0.8, and its standard deviations σx = 58e−3, σy = 28e−3, has a small oscillating error. The average error in position is σz = 0.25. Similar to the previous experiment z and s are the µx = 23e − 3, µy = 19e − 3, and µz = 90e − 3, and its standard most sensitive variables and they are mainly affected by the deviations σx = 22e − 3, σy = 34e − 3, σz = 0.2. The errors for variation in span after 12.5 seconds. yaw-angle ψ(t) and span s(t) are µψ = 10.7e−3, µs = 3.5e−3, Experiment 3. Pulling an umbrella: We want to use the and their standard deviation σψ = 6e − 3, and σs = 0.17. As catenary robot to interact with objects. By driving the robot in a result, we can say that the z-coordinate and the span s are the proper manner, it can be used to pull objects with hook- the most sensitive variables. like shapes. In this case, we design a trajectory that allows 6 IEEE ROBOTICS AND AUTOMATION LETTERS. PREPRINT VERSION. ACCEPTED FEBRUARY, 2021

V. CONCLUSIONSAND FUTURE WORK ref 1 C ) xA In this work, we proposed a robotic system, called the cate- m 0 xB (

x xC nary robot, composed of a cable propelled by two quadrotors. 1 − We designed a controller to track trajectories for the five de- 0 10 20 30 40 50 60 grees of freedom of the catenary: position in three dimensions, 1

) yaw orientation, and span. Each degree of freedom can be m (

y 0 controlled independently based on the generated by the quadrotors. By estimating and controlling the catenary, we 0 10 20 30 40 50 60 showed that it is possible to interact with objects that have hook-like shapes, e.g., an umbrella that has a hook shape in ) 1 m

( its handle. We have demonstrated the successful functionality z of our system in simulation and actual robots. In a future work, 0 0 10 20 30 40 50 60 we want to use the catenary robot to manipulate object without 2.5 hook-shapes. )

0.0 rad (

ψ REFERENCES 2.5 − 0 10 20 30 40 50 60 [1] D. Bamburry, “Drones: Designed for product delivery,” Design Manage- 0.6 ment Review, vol. 26, no. 1, pp. 40–48, 2015.

) 0.4 [2] J. Cacace, A. Finzi, V. Lippiello, M. Furci, N. Mimmo, and L. Marconi, m

( “A control architecture for multiple drones operated via multimodal s 0.2 interaction in search & rescue mission,” in 2016 IEEE International 0.0 Symposium on Safety, Security, and Rescue Robotics (SSRR), pp. 233– 0 10 20 30 40 50 60 239, IEEE, 2016. t(s) [3] D. Kinaneva, G. Hristov, J. Raychev, and P. Zahariev, “Early forest fire detection using drones and artificial intelligence,” in 2019 42nd Inter- Fig. 8: Results of Experiment 3: Attaching to the handle national Convention on Information and Communication Technology, of an umbrella. the position of quadrotors xA, xB and the Electronics and Microelectronics (MIPRO), pp. 1060–1065, IEEE, 2019. [4] K. Sreenath, N. Michael, and V. Kumar, “Trajectory generation and catenary point xC with respect to each axis. Additionally the control of a quadrotor with a cable-suspended load-a differentially-flat evolution of yaw-angle ψ and span s with their respecting hybrid system,” in 2013 IEEE International Conference on Robotics and desired trajectories that are in dashed red lines. Automation, pp. 4888–4895, IEEE, 2013. [5] P. J. Cruz and R. Fierro, “Cable-suspended load lifting by a quadrotor uav: hybrid model, trajectory generation, and control,” Autonomous Robots, vol. 41, no. 8, pp. 1629–1643, 2017. [6] Michael Nathan, Fink Jonathan, and Kumar Vijay, “Cooperative manip- ulation and transportation with aerial robots,” vol. 30, 11 2009. [7] K. Sreenath and V. Kumar, “Dynamics, control and planning for co- the catenary robot to pull the handle of an umbrella. The operative manipulation of payloads suspended by cables from multiple procedure has three stages. First, the robot takes off to be quadrotor robots,” in Robotics: Science and Systems, 2013. [8] G. Cardona, D. Tellez-Castro, and E. Mojica-Nava, “Cooperative trans- placed in an initial location above ground. Second, the robot portation of a cable-suspended load by multiple quadrotors,” IFAC- moves from the initial location to the front of the umbrella. PapersOnLine, vol. 52, no. 20, pp. 145–150, 2019. Third, the lowest point of the catenary is right bellow the [9] P. Kotaru, G. Wu, and K. Sreenath, “Differential-flatness and control of quadrotor(s) with a payload suspended through flexible cable(s),” in hook of the umbrella handle and then the catenary robot pulls 2018 Indian Control Conference (ICC), 2018. the umbrella. We generate the minimum snap trajectory [19] [10] E. H. Lockwood, A book of . Cambridge University Press, 1967. for following waypoints ([[−1.6, −0.1, 0.6], [0.0, −0.2, 0.6], [11] M. Laranjeira, C. Dune, and V. Hugel, “Catenary-based visual servoing for tethered robots,” in 2017 IEEE International Conference on Robotics [0.6, 0.17, 0.509], [0.8, 0.7, 1.]]) and fixing the desired span and Automation (ICRA), pp. 732–738, 2017. at s = 0.3. It is noticeable that the catenary robot is able to [12] B. Galea and P. G. Kry, “Tethered flight control of a small quadrotor follow the generated trajectories by following the waypoints. robot for stippling,” in 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 1713–1718, 2017. This is illustrated in Fig. 8 through the evolution in time of the [13] X. Xiao, Y. Fan, J. Dufek, and R. Murphy, “Indoor uav localization using position of quadrotors xA, xB, catenary point xC , span s, and a tether,” in 2018 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR), pp. 1–6, 2018. yaw-angle ψ. The average error in position is µx = 17e − 3, [14] S. Abiko, A. Kuno, S. Narasaki, A. Oosedo, S. Kokubun, and µy = 92e − 3, and µz = 0.59, and its standard deviations M. Uchiyama, “Obstacle avoidance flight and shape estimation using σx = 1.06, σy = 0.37, σz = 0.2. The errors for yaw-angle ψ(t) catenary curve for manipulation of a cable hanged by aerial robots,” in 2017 IEEE International Conference on Robotics and Biomimetics and span s(t) µψ = 6e − 3, µs = 28e − 3, and their standard (ROBIO), pp. 2099–2104, 2017. deviation σψ = 1.9, and σs = 0.50e − 3. Notice that around [15] P. Kotaru and K. Sreenath, “Multiple quadrotors carrying a flexible hose: time 35 s the catenary robot starts to slightly deviate from the dynamics, differential flatness and control,” in International Federation desired trajectory, this is given by the extra tension generated of Automatic Control World Congress (IFAC), July 2020, to appear. [16] T. Lee, M. Leok, and N. H. McClamroch, “Geometric tracking control by the umbrella which is not considered in the model. of a quadrotor uav on se (3),” in 49th IEEE conference on decision and control (CDC), pp. 5420–5425, IEEE, 2010. [17] R. L. Burden and J. D. Faires, “2.1 the bisection ,” Numerical Experiment 4. Transporting a hook-shaped object: We analysis, pp. 46–52, 1985. interact with an object that has a hook-shape. The catenary [18] W. Honig¨ and N. Ayanian, Flying Multiple UAVs Using ROS, pp. 83– robot follows a trajectory that allows it to pull the object, 118. Springer International Publishing, 2017. [19] D. Mellinger and V. Kumar, “Minimum snap trajectory generation and lift it, and place it in a different location. Here is important to control for quadrotors,” in 2011 IEEE International Conference on note that it is necessary to include the mass of the object in the Robotics and Automation, pp. 2520–2525, 2011. model to generate the proper control input that accomplishes the transportation task.