\DeclareAcronym

ASLshort = ASL, long = Autonomous Systems Lab \DeclareAcronymOMAVshort = OMAV, long = Omnidirectional Micro Aerial Vehicle \DeclareAcronymMAVshort = MAV, long = Micro Aerial Vehicle \DeclareAcronymUAVshort = UAV, long = Unmanned Aerial Vehicle \DeclareAcronymDoFshort = DoF, long = degrees of freedom \DeclareAcronymPBCshort = PBC, long = passivity-based control \DeclareAcronymPHshort = PH, long = Port-Hamiltonian \DeclareAcronymNDTshort = NDT, long = non-destructive testing \DeclareAcronymPEMSshort = PEMS, long = Power and Energy Monitoring System \DeclareAcronymWTCshort = WTC, long = wrench tracking controller \DeclareAcronymPTCshort = PTC, long = pose tracking controller \DeclareAcronymMBEshort = MBE, long = momentum-based wrench estimator \DeclareAcronymASICshort = ASIC, long = Axis-Selective Impedance Control \DeclareAcronymMPCshort = MPC, long = Model Predictive Control \DeclareAcronymMPPIshort = MPPI, long = Model Predictive Path Integral \DeclareAcronymAPhIshort = APhI, long = Aerial Physical Interaction \DeclareAcronymLLEshort = LLE, long = Largest Lyapunov Exponent \DeclareAcronymICBFshort = ICBF, long = Integral Control Barrier Function \DeclareAcronymCBFshort = CBF, long = Control Barrier Function \DeclareAcronymCOMshort = CoM, long = Center of Mass \DeclareAcronymAMshort = AM, long = Aerial Manipulator \DeclareAcronymMRshort = MR, long = Mixed Reality \DeclareAcronymARshort = AR, long = Augmented Reality \DeclareAcronymVRshort = VR, long = Virtual Reality \DeclareAcronymHRIshort = HRI, long = Human-Robot Interaction \DeclareAcronymRLshort = RL, long = Reinforcement Learning \DeclareAcronymPPOshort = PPO, long = Proximal Policy Optimization \DeclareAcronymPETGshort = PETG, long = Polyethylene Terephthalate Glycol \DeclareAcronymTPUshort = TPU, long = Thermoplastic Polyurethanes \DeclareAcronymNASA-TLXshort = NASA-TLX, long = NASA Task Load Index \DeclareAcronymMDshort = MD, long = mental demand \DeclareAcronymPDshort = PD, long = physical demand \DeclareAcronymTDshort = TD, long = temporal demand \DeclareAcronymEFshort = EF, long = effort \DeclareAcronymPEshort = PE, long = performance \DeclareAcronymFRshort = FR, long = frustration \DeclareAcronymSNRshort = SNR, long = signal-to-noise ratio \DeclareAcronymANOVAshort = ANOVA, long = Analyse of Variance \DeclareAcronymFTshort = F/T, long = force and torque, short-indefinite = an, long-indefinite = a \DeclareAcronymBBTshort = BBT, long = Box and Block Test \DeclareAcronymABBTshort = ABBT, long = Aerial Box and Block Test \DeclareAcronymMOCAPshort = MOCAP, long = Motion Tracking System

Design of a Flexible Robot Arm for Safe Aerial Physical Interaction

Julien Mellet1, Andrea Berra2, Achilleas Santi Seisa3, Viswa Sankaranarayanan3,
Udayanga G.W.K.N. Gamage4, Miguel Ángel Trujillo Soto2, Guillermo Heredia5,
George Nikolakopoulos3, Vincenzo Lippiello1, Fabio Ruggiero1
The research leading to these results has been supported by the AERO-TRAIN project, European Union’s Horizon 2020 research and innovation program under the Marie Skłodowska-Curie grant agreement No 953454. The authors are solely responsible for its content.1PRISMA Lab, Department of Electrical Engineering and Information Technology, University of Naples Federico II Naples, Italy.2CATEC, Advanced Center for Aerospace Technologies, Seville, Spain.3Robotics and AI Team, Department of Computer, Electrical and Space Engineering, LuleåUniversity of Technology, Luleå, Sweden.4Automation and Control Group, Department of Electrical Engineering and Photonics, Technical University of Denmark, Denmark.5Robotics, Vision, and Control Group School of Engineering, University of Seville Seville, Spain.Corresponding author’s e-mail: julien.mellet@unina.it.
Abstract

This paper introduces a novel compliant mechanism combining lightweight and energy dissipation for aerial physical interaction. Weighting 400 g at take-off, the mechanism is actuated in the forward body direction, enabling precise position control for force interaction and various other aerial manipulation tasks. The robotic arm, structured as a closed-loop kinematic chain, employs two deported servomotors. Each joint is actuated with a single tendon for active motion control in compression of the arm at the end-effector. Its elasto-mechanical design reduces weight and provides flexibility, allowing passive-compliant interactions without impacting the motors’ integrity. Notably, the arm’s damping can be adjusted based on the proposed inner frictional bulges. Experimental applications showcase the aerial system performance in both free-flight and physical interaction. The presented work may open safer applications for \acMAV in real environments subject to perturbations during interaction.

I INTRODUCTION

Traditionally, \acUAVs focused on tasks like surveillance and aerial imaging, but the demand for these platforms to engage in physical interactions is rising [1, 2, 3]. This demand is especially relevant in situations where human intervention may pose risks or practical challenges, such as inspecting remote or hazardous environments, maintaining tall structures, or handling dangerous substances [4, 5, 6].

Aerial manipulation has emerged as a burgeoning research subject field, encompassing a variety of robotic manipulators for physical interaction with the environment [2]. However, this field faces challenges, notably the need to equip aerial platforms for such tasks while maintaining stability. Common approaches involve rigid manipulator links mounted directly on \acUAVs [1, 7], requiring dynamic control to manage interaction forces at the end-effector [4].

Motivated by the comparison between soft and rigid manipulation [8], this article aims to surpass conventional rigid robotic systems’ limitations. We seek to enhance environmental interaction capabilities, stability, and vibration dampening in \acUAV operations by implementing a flexible, compliant robotic manipulator system [9].

Refer to caption
Figure 1: Aerial platform making contact through the proposed compliant robot arm.

I-A Related Work

In recent years, compliant robotic mechanisms found applications in various fields. For instance, they were used in bi-manual industrial manipulation [10], low-cost cooking applications [11], and robotic surgery [12]. However, applying these solutions in aerial manipulation is challenging due to the necessity for lightweight and robust designs. Aerial manipulation faces challenges such as reactive forces that affect safety, limited payload capacity, and the complexity of accurately estimating the position of the end-effector in the global frame [13]. These concerns should be addressed when designing an aerial manipulator. Rigid and flexible manipulators offer distinct advantages and drawbacks, with compliance emerging as a critical asset for effective aerial manipulation.

In this concept, a new aerial platform with a soft continuum arm was introduced in [14]. Although it showed promising features, its assessment was limited to simulation, revealing oscillation effects. Additionally, its workspace was constrained, and dependent on the drone’s extension. Our approach addresses these limitations, enabling the drone to hover while the arm operates, enhancing dexterity.

In other works, the origami delta manipulator was employed for aerial manipulation [15], recognized for its robustness and precision. Despite its advantages, this arm presents complexities in its kinematics, cost implications, and a notable drawback in unwanted folding, which can endanger the aerial platform. A similar setup was introduced in [16], featuring a hybrid model-based algorithm for aerial manipulation. Importantly, this method is versatile and applicable to various types of \acMAVs and manipulators. While these designs are lightweight, they exhibit safety issues.

In [17], an aerial manipulator composed of a multirotor and a compliant arm with angular and linear deflections is proposed. While it offers advantages in terms of position accuracy and energy consumption, its effectiveness diminishes when the compliant arm is rotated, unlike our approach, which efficiently employs revolute joints. Moreover, their system stores kinetic energy instead of dissipating it. In [18], the authors introduced a 3-\acDoF robotic arm for aerial manipulation with shoulder pitch and elbow pitch joints. However, it was only tested on a fixed-base bench and lacked validation in an actual aerial manipulation mission.

I-B Contributions

Considering the described gaps, our contributions are i) the design of a lightweight compliant manipulator that improves robotics \acAPhI capabilities, ii) including safe passive energy dissipation, and iii) qualitative evaluation of the proposed mechatronic system in real-world aerial conditions.

II SYSTEM DESCRIPTION

An ideal robot arm for \acAPhI should keep the aerial platform stable and absorb part of the impact at contact. Even if standard interaction strategies try to minimize velocity before contact, an unwanted bounce would remain after impact with the surface. We present both the platform and the contact mechanism of our mechatronic system.

II-A Aerial Robot Description

The aerial mission’s configuration is established within the inertial world frame, denoted as Wsubscript𝑊\mathcal{F}_{W}caligraphic_F start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT, which consists of a fixed origin OWsubscript𝑂𝑊O_{W}italic_O start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT and unit axes 𝒙W,𝒚W,𝒛Wsubscript𝒙𝑊subscript𝒚𝑊subscript𝒛𝑊{\bm{x}_{W},\bm{y}_{W},\bm{z}_{W}}bold_italic_x start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT , bold_italic_y start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT , bold_italic_z start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT (see Fig. 1). These axes are positioned such that 𝒛Wsubscript𝒛𝑊\bm{z}_{W}bold_italic_z start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT aligns opposite to the gravitational force. The state of the aerial robot is defined in the body frame, referred to as Bsubscript𝐵\mathcal{F}_{B}caligraphic_F start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT, which includes the origin OBsubscript𝑂𝐵O_{B}italic_O start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT located at the \acCOM of the robot, and the 𝒙Bsubscript𝒙𝐵\bm{x}_{B}bold_italic_x start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT axis oriented towards the robot’s front. To represent the system’s spatial state, we utilize the vector 𝒑B3subscript𝒑𝐵superscript3\bm{p}_{B}\in\mathbb{R}^{3}bold_italic_p start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT to express the position of OBsubscript𝑂𝐵O_{B}italic_O start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT concerning Wsubscript𝑊\mathcal{F}_{W}caligraphic_F start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT. Furthermore, the orientation of Bsubscript𝐵\mathcal{F}_{B}caligraphic_F start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT concerning Wsubscript𝑊\mathcal{F}_{W}caligraphic_F start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT is characterized by the rotation matrix 𝑹BW𝖲𝖮(3)superscriptsubscript𝑹𝐵𝑊𝖲𝖮3\bm{R}_{B}^{W}\in\mathsf{SO}(3)bold_italic_R start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT ∈ sansserif_SO ( 3 ). Finally, we denote the body linear and angular velocities as 𝒗B,𝝎B3subscript𝒗𝐵subscript𝝎𝐵superscript3\bm{v}_{B},\;\bm{\omega}_{B}\in\mathbb{R}^{3}bold_italic_v start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT , bold_italic_ω start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT, respectively. With these quantities defined, we can describe the Lagrangian dynamic model as in [1]

𝑴[𝒗˙B𝝎˙B]+𝒄(𝝎B)[𝒗B𝝎B]+𝒈(𝑹BW)=𝝉c+𝝉ext,𝑴matrixsubscriptbold-˙𝒗𝐵subscriptbold-˙𝝎𝐵𝒄subscript𝝎𝐵matrixsubscript𝒗𝐵subscript𝝎𝐵𝒈superscriptsubscript𝑹𝐵𝑊subscript𝝉𝑐subscript𝝉ext\bm{M}\begin{bmatrix}\bm{\dot{v}}_{B}\\ \bm{\dot{\omega}}_{B}\end{bmatrix}+\bm{c}(\bm{\omega}_{B})\begin{bmatrix}\bm{v% }_{B}\\ \bm{\omega}_{B}\end{bmatrix}+\bm{g}(\bm{R}_{B}^{W})=\bm{\tau}_{c}+\bm{\tau}_{% \text{ext}},bold_italic_M [ start_ARG start_ROW start_CELL overbold_˙ start_ARG bold_italic_v end_ARG start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL overbold_˙ start_ARG bold_italic_ω end_ARG start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] + bold_italic_c ( bold_italic_ω start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ) [ start_ARG start_ROW start_CELL bold_italic_v start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL bold_italic_ω start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] + bold_italic_g ( bold_italic_R start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT ) = bold_italic_τ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT + bold_italic_τ start_POSTSUBSCRIPT ext end_POSTSUBSCRIPT , (1)

with body inertia matrix 𝑴6×6𝑴superscript66\bm{M}\in\mathbb{R}^{6\times 6}bold_italic_M ∈ blackboard_R start_POSTSUPERSCRIPT 6 × 6 end_POSTSUPERSCRIPT, wrench command 𝝉c6subscript𝝉𝑐superscript6\bm{\tau}_{c}\in\mathbb{R}^{6}bold_italic_τ start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT, external interaction wrench 𝝉ext6subscript𝝉extsuperscript6\bm{\tau}_{\text{ext}}\in\mathbb{R}^{6}bold_italic_τ start_POSTSUBSCRIPT ext end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT, gravity wrench 𝒈(𝑹BW)6𝒈superscriptsubscript𝑹𝐵𝑊superscript6\bm{g}(\bm{R}_{B}^{W})\in\mathbb{R}^{6}bold_italic_g ( bold_italic_R start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT ) ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT, centrifugal, and Coriolis wrench 𝒄(𝝎B)6𝒄subscript𝝎𝐵superscript6\bm{c}(\bm{\omega}_{B})\in\mathbb{R}^{6}bold_italic_c ( bold_italic_ω start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ) ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT. We adopt the impedance controller in [1] adapted to the multirotor dynamic model described in [19]. This allows us to steer the aerial robot and safely interact with the remote environment with additional impedance compliance. The closed-loop dynamics can thus be described with,

𝑴v[𝒗˙B𝝎˙B]+𝑫v[eveω]+𝑲v[epeR]=𝝉^ext.subscript𝑴𝑣matrixsubscriptbold-˙𝒗𝐵subscriptbold-˙𝝎𝐵subscript𝑫𝑣matrixsubscript𝑒𝑣subscript𝑒𝜔subscript𝑲𝑣matrixsubscript𝑒𝑝subscript𝑒𝑅subscript^𝝉ext\bm{M}_{v}\begin{bmatrix}\bm{\dot{v}}_{B}\\ \bm{\dot{\omega}}_{B}\end{bmatrix}+\bm{D}_{v}\begin{bmatrix}e_{v}\\ e_{\omega}\end{bmatrix}+\bm{K}_{v}\begin{bmatrix}e_{p}\\ e_{R}\end{bmatrix}=\hat{\bm{\tau}}_{\text{ext}}.bold_italic_M start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT [ start_ARG start_ROW start_CELL overbold_˙ start_ARG bold_italic_v end_ARG start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL overbold_˙ start_ARG bold_italic_ω end_ARG start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] + bold_italic_D start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT [ start_ARG start_ROW start_CELL italic_e start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_e start_POSTSUBSCRIPT italic_ω end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] + bold_italic_K start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT [ start_ARG start_ROW start_CELL italic_e start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] = over^ start_ARG bold_italic_τ end_ARG start_POSTSUBSCRIPT ext end_POSTSUBSCRIPT . (2)

We denote with 𝑴v6subscript𝑴𝑣superscript6\bm{M}_{v}\in\mathbb{R}^{6}bold_italic_M start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT the virtual inertia, 𝑫v6subscript𝑫𝑣superscript6\bm{D}_{v}\in\mathbb{R}^{6}bold_italic_D start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT the damping, and 𝑲vsubscript𝑲𝑣\bm{K}_{v}bold_italic_K start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT the stiffness as parameters of the controller, while 𝝉^ext6subscript^𝝉extsuperscript6\hat{\bm{\tau}}_{\text{ext}}\in\mathbb{R}^{6}over^ start_ARG bold_italic_τ end_ARG start_POSTSUBSCRIPT ext end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT is the external wrench applied on the platform. Besides, we define

𝐞psubscript𝐞𝑝\displaystyle\mathbf{e}_{p}bold_e start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT =𝑹BW(𝒑B𝒑B,d),\displaystyle=\bm{R}_{B}^{W}{{}^{\top}}\left(\bm{p}_{B}-\bm{p}_{B,d}\right),= bold_italic_R start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ⊤ end_FLOATSUPERSCRIPT ( bold_italic_p start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT - bold_italic_p start_POSTSUBSCRIPT italic_B , italic_d end_POSTSUBSCRIPT ) , (3a)
𝐞Rsubscript𝐞𝑅\displaystyle\mathbf{e}_{R}bold_e start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT =12(𝑹B,dW𝑹BW𝑹BW𝑹B,dW),absent12superscriptsuperscriptsubscript𝑹𝐵d𝑊superscriptsuperscriptsubscript𝑹𝐵𝑊topsuperscriptsubscript𝑹𝐵𝑊superscriptsuperscriptsubscript𝑹𝐵d𝑊top\displaystyle=\frac{1}{2}\left(\bm{R}_{B,\text{d}}^{W}{{}^{\top}}\bm{R}_{B}^{W% }-\bm{R}_{B}^{W}{{}^{\top}}\bm{R}_{B,\text{d}}^{W}\right)^{\vee},= divide start_ARG 1 end_ARG start_ARG 2 end_ARG ( bold_italic_R start_POSTSUBSCRIPT italic_B , d end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ⊤ end_FLOATSUPERSCRIPT bold_italic_R start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT - bold_italic_R start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ⊤ end_FLOATSUPERSCRIPT bold_italic_R start_POSTSUBSCRIPT italic_B , d end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT ∨ end_POSTSUPERSCRIPT , (3b)
𝐞vsubscript𝐞𝑣\displaystyle\mathbf{e}_{v}bold_e start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT =𝑹BW(𝒗B𝒗B,ref),\displaystyle=\bm{R}_{B}^{W}{{}^{\top}}\left(\bm{v}_{B}-\bm{v}_{B,\text{ref}}% \right),= bold_italic_R start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ⊤ end_FLOATSUPERSCRIPT ( bold_italic_v start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT - bold_italic_v start_POSTSUBSCRIPT italic_B , ref end_POSTSUBSCRIPT ) , (3c)
𝐞ωsubscript𝐞𝜔\displaystyle\mathbf{e}_{\omega}bold_e start_POSTSUBSCRIPT italic_ω end_POSTSUBSCRIPT =ωB𝑹BW𝑹B,dWωB,d,absentsubscript𝜔𝐵superscriptsubscript𝑹𝐵𝑊superscriptsuperscriptsubscript𝑹𝐵d𝑊topsubscript𝜔𝐵𝑑\displaystyle=\omega_{B}-\bm{R}_{B}^{W}{{}^{\top}}\bm{R}_{B,\text{d}}^{W}% \omega_{B,d},= italic_ω start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT - bold_italic_R start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT ⊤ end_FLOATSUPERSCRIPT bold_italic_R start_POSTSUBSCRIPT italic_B , d end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT italic_ω start_POSTSUBSCRIPT italic_B , italic_d end_POSTSUBSCRIPT , (3d)

with 𝒑B,dsubscript𝒑𝐵𝑑\bm{p}_{B,d}bold_italic_p start_POSTSUBSCRIPT italic_B , italic_d end_POSTSUBSCRIPT and 𝑹B,dWsuperscriptsubscript𝑹𝐵d𝑊\bm{R}_{B,\text{d}}^{W}bold_italic_R start_POSTSUBSCRIPT italic_B , d end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT the desired position and orientation, respectively, and ()superscript\left(\cdot\right)^{\vee}( ⋅ ) start_POSTSUPERSCRIPT ∨ end_POSTSUPERSCRIPT the Vee operator to extract a vector from a skew-symmetric matrix.

II-B Robot Arm Description

Attached to the \acUAV, there is the robot arm with inertial frame corresponding to platform body frame Bsubscript𝐵\mathcal{F}_{B}caligraphic_F start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT. Its current pose is described by the frame A={OA,𝒙A,𝒚A,𝒛A}subscript𝐴subscript𝑂𝐴subscript𝒙𝐴subscript𝒚𝐴subscript𝒛𝐴\mathcal{F}_{A}=\{O_{A},\bm{x}_{A},\bm{y}_{A},\bm{z}_{A}\}caligraphic_F start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT = { italic_O start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT , bold_italic_x start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT , bold_italic_y start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT , bold_italic_z start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT } with origin OAsubscript𝑂𝐴O_{A}italic_O start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT attached at the tip of the end-effector (see Fig. 1). We denote the position and velocity of the robot arm tip with 𝒑A3subscript𝒑𝐴superscript3\bm{p}_{A}\in\mathbb{R}^{3}bold_italic_p start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT and 𝒗A3subscript𝒗𝐴superscript3\bm{v}_{A}\in\mathbb{R}^{3}bold_italic_v start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT, both expressed with respect to Asubscript𝐴\mathcal{F}_{A}caligraphic_F start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT.

Since we assume compliance of the arm, the dynamic relation between the end-effector pose and force value is modeled in Asubscript𝐴\mathcal{F}_{A}caligraphic_F start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT as

𝐌A𝒗˙AA+𝐃A𝒗AA+𝐊A𝒑A=FA,subscript𝐌𝐴superscriptsubscript˙𝒗𝐴𝐴subscript𝐃𝐴superscriptsubscript𝒗𝐴𝐴subscript𝐊𝐴subscript𝒑𝐴subscript𝐹𝐴\mathbf{M}_{A}\dot{\bm{v}}_{A}^{A}+\mathbf{D}_{A}\bm{v}_{A}^{A}+\mathbf{K}_{A}% \bm{p}_{A}=-F_{A},bold_M start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT over˙ start_ARG bold_italic_v end_ARG start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_A end_POSTSUPERSCRIPT + bold_D start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT bold_italic_v start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_A end_POSTSUPERSCRIPT + bold_K start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT = - italic_F start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT , (4)

where FA3subscript𝐹𝐴superscript3F_{A}\in\mathbb{R}^{3}italic_F start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT represents the linear interaction force of the end-effector with the environment. The inherent inertia, damping properties, and stiffness of the proposed compliant mechanism are 𝐌A3×3subscript𝐌𝐴superscript33\mathbf{M}_{A}\in\mathbb{R}^{3\times 3}bold_M start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT, 𝐃A3×3subscript𝐃𝐴superscript33\mathbf{D}_{A}\in\mathbb{R}^{3\times 3}bold_D start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT and 𝐊A3×3subscript𝐊𝐴superscript33\mathbf{K}_{A}\in\mathbb{R}^{3\times 3}bold_K start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 × 3 end_POSTSUPERSCRIPT. Section III discusses the parameter values given by the design of the proposed compliant mechanism.

II-C Inverse Kinematics of Arm

To ensure versatility and fault tolerance, we decouple the control of the aerial platform and the control of the robot arm. The multirotor is actuated with the closed-loop low-level attitude controller, while the robot arm is presented in the open-loop form.

Refer to caption
Figure 2: Denavit–Hartenberg parameters of the robot arm for inverse kinematic (left) with transformation from 4subscript4\mathcal{F}_{4}caligraphic_F start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT to Asubscript𝐴\mathcal{F}_{A}caligraphic_F start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT done by rotation around xaxis𝑥𝑎𝑥𝑖𝑠x-axisitalic_x - italic_a italic_x italic_i italic_s where y4=zAsubscript𝑦4subscript𝑧𝐴y_{4}=z_{A}italic_y start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT = italic_z start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT. Triangle formulation for simplifying the inverse kinematics (right).
Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 3: Comparison of the theoretical kinematics for inverse kinematics, its design into a compliant mechanism, and the real adjusted design. Both idle extension and impact compression (transparent) geometry are presented.

The Denavit-Hartenberg convention (Fig. 2) involves a transformation from 4subscript4\mathcal{F}_{4}caligraphic_F start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT to Asubscript𝐴\mathcal{F}_{A}caligraphic_F start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT via rotation around the x𝑥xitalic_x-axis (𝒚4=𝒛Asubscript𝒚4subscript𝒛𝐴\bm{y}_{4}=\bm{z}_{A}bold_italic_y start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT = bold_italic_z start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT). The end-effector position can be resolved using a geometric method,

p40=p10+𝑹10(p21+𝑹21(p32+𝑹32p43)),superscriptsubscript𝑝40superscriptsubscript𝑝10superscriptsubscript𝑹10superscriptsubscript𝑝21superscriptsubscript𝑹21superscriptsubscript𝑝32superscriptsubscript𝑹32superscriptsubscript𝑝43p_{4}^{0}=p_{1}^{0}+\bm{R}_{1}^{0}(p_{2}^{1}+\bm{R}_{2}^{1}(p_{3}^{2}+\bm{R}_{% 3}^{2}p_{4}^{3})),italic_p start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT = italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT + bold_italic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ( italic_p start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT + bold_italic_R start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT ( italic_p start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + bold_italic_R start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_p start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ) ) , (5)

where pij3superscriptsubscript𝑝𝑖𝑗superscript3p_{i}^{j}\in\mathbb{R}^{3}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT and 𝑹ij3superscriptsubscript𝑹𝑖𝑗superscript3\bm{R}_{i}^{j}\in\mathbb{R}^{3}bold_italic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT are the position and rotation in i𝑖iitalic_i with respect to j𝑗jitalic_j, respectively. Given the kinematic structure as a series of a four-bar mechanism, the last link is always parallel to the first one,

p03=p04[l400].superscriptsubscript𝑝03superscriptsubscript𝑝04superscriptmatrixsubscript𝑙400topp_{0}^{3}=p_{0}^{4}-\begin{bmatrix}l_{4}&0&0\end{bmatrix}^{\top}.italic_p start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT = italic_p start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT - [ start_ARG start_ROW start_CELL italic_l start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT end_CELL start_CELL 0 end_CELL start_CELL 0 end_CELL end_ROW end_ARG ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT . (6)

Since axes x1y1z1subscript𝑥1subscript𝑦1subscript𝑧1x_{1}-y_{1}-z_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - italic_y start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - italic_z start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT are parallel to x4y4z4subscript𝑥4subscript𝑦4subscript𝑧4x_{4}-y_{4}-z_{4}italic_x start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT - italic_y start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT - italic_z start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT in Fig. 2 (a), the inverse kinematics can be simplified using the relationship in Fig. 2 (b). The angle θ2subscript𝜃2\theta_{2}italic_θ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is described by

θ2=(πα),subscript𝜃2𝜋𝛼\theta_{2}=-(\pi-\alpha),italic_θ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = - ( italic_π - italic_α ) , (7)

where α𝛼\alphaitalic_α is determined using the cosine rule,

a2=b2+c22bccos(α),superscript𝑎2superscript𝑏2superscript𝑐22𝑏𝑐𝛼\displaystyle a^{2}=b^{2}+c^{2}-2bc\cos(\alpha),italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - 2 italic_b italic_c roman_cos ( italic_α ) , (8a)
α=cos1(b2+c2a22bc),𝛼superscript1superscript𝑏2superscript𝑐2superscript𝑎22𝑏𝑐\displaystyle\alpha=\cos^{-1}\left(\dfrac{b^{2}+c^{2}-a^{2}}{2bc}\right),italic_α = roman_cos start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( divide start_ARG italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 2 italic_b italic_c end_ARG ) , (8b)

with b=l2𝑏subscript𝑙2b=l_{2}italic_b = italic_l start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, c=l3𝑐subscript𝑙3c=l_{3}italic_c = italic_l start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT and a=y32(x3l1)2𝑎superscriptsubscript𝑦32superscriptsubscript𝑥3subscript𝑙12a=\sqrt{y_{3}^{2}-(x_{3}-l_{1})^{2}}italic_a = square-root start_ARG italic_y start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - ( italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG. Then we can compute θ3subscript𝜃3\theta_{3}italic_θ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT that is not actuated,

θ3=β+δ,subscript𝜃3𝛽𝛿\theta_{3}=\beta+\delta,italic_θ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = italic_β + italic_δ , (9)

with,

δ=tan1(y3x3)=atan2(y3,x3),𝛿superscript1subscript𝑦3subscript𝑥3𝑎superscript2subscript𝑦3subscript𝑥3\displaystyle\delta=\tan^{-1}\left(\dfrac{y_{3}}{x_{3}}\right)=a\tan^{2}(-y_{3% },x_{3}),italic_δ = roman_tan start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( divide start_ARG italic_y start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_ARG start_ARG italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_ARG ) = italic_a roman_tan start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( - italic_y start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) , (10a)
β=cos1(a2+c2b22ac),𝛽superscript1superscript𝑎2superscript𝑐2superscript𝑏22𝑎𝑐\displaystyle\beta=\cos^{-1}\left(\dfrac{a^{2}+c^{2}-b^{2}}{2ac}\right),italic_β = roman_cos start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( divide start_ARG italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 2 italic_a italic_c end_ARG ) , (10b)
a=y32(x3l1)2𝑎superscriptsubscript𝑦32superscriptsubscript𝑥3subscript𝑙12\displaystyle a=\sqrt{y_{3}^{2}-(x_{3}-l_{1})^{2}}italic_a = square-root start_ARG italic_y start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - ( italic_x start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT - italic_l start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG (10c)

Finally, θ1subscript𝜃1\theta_{1}italic_θ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is calculated such that,

θ1=γδ,subscript𝜃1𝛾𝛿\theta_{1}=\gamma-\delta,italic_θ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_γ - italic_δ , (11)
γ=cos1(b2+a2c22ab).𝛾superscript1superscript𝑏2superscript𝑎2superscript𝑐22𝑎𝑏\gamma=\cos^{-1}\left(\dfrac{b^{2}+a^{2}-c^{2}}{2ab}\right).italic_γ = roman_cos start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( divide start_ARG italic_b start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_a start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 2 italic_a italic_b end_ARG ) . (12)

The desired joint angles are then tracked with a PID controlling the servomotors, ensuring precise motion execution as elucidated in the subsequent section.

III MECHANICAL DESIGN

This section describes and justifies the design of the proposed robot arm with its manufacturing process.

III-A Kinematic Model

We assume the multirotor near hovering and with forward horizontal velocity along 𝒙Bsubscript𝒙𝐵\bm{x}_{B}bold_italic_x start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT. Thus, we propose to use a 2-\acDoFs closed-loop kinematic chain. It consists of stacking in a series of two four-bar parallelograms. This design gives a relatively large workspace and keeps the end-effector horizontal at moving in translation.

As presented in [9], a rigid body mechanism can be transformed into a compliant mechanism by swapping rigid hinges to flexure hinges. In this last case, the hinge is done thanks to section reduction of the beam. Using soft materials, deflection at rotating the joint can be modeled by a rotational spring with an idle position (see Sec. III-B).

Because we want the robot arm to absorb kinetic energy, we want the idle position corresponding to the deployed configuration. Thus, the soft mechanism is in natural extension and goes in flexion at physical impact. We further name the parallelogram as absorption unit of our mechanism.

III-B Absorption Unit

Refer to caption
Figure 4: Elasto-mechanical scheme of the absorption unit with rotational spring at the joints angle θ𝜃\thetaitalic_θ in black, and θ=0𝜃0\theta=0italic_θ = 0 in gray.

The four-bar mechanism gives the inherent wanted spring effect with the compliant hinges. The following presents our proposed strategy for adding the damping through the motion. For a given parallelogram, the rotation over the crank shows some points keeping equidistance. These points describe ideal arcs of circles. We draw two of them with 𝒞1subscript𝒞1{\cal{C}}_{1}caligraphic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and 𝒞2subscript𝒞2{\cal{C}}_{2}caligraphic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in dotted lines in Fig. 4. They describe a path with no friction. The core principle is further to propose a bulge shape giving the aimed friction along θ𝜃\thetaitalic_θ.

Considering the material in its elastic limit, soft hinges give the mechanism both rotational spring and linear spring effect, respectively, around their center of rotation and along links. Firstly, the model is composed of two parallel springs creating a normal force at bulges in a single point. We consider this force parallel to the linear spring. After rotation of an angle θ𝜃\thetaitalic_θ in Fig. 4, elongation of the spring is Δh=|hh0|Δsubscript0\Delta h=|h-h_{0}|roman_Δ italic_h = | italic_h - italic_h start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT |. According to Hooke’s law, the spring force is

Fk=kΔh=kr,subscript𝐹𝑘𝑘Δ𝑘𝑟F_{k}=-k\Delta h=-kr,italic_F start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = - italic_k roman_Δ italic_h = - italic_k italic_r , (13)

with k𝑘kitalic_k the equivalent elastic coefficient of linear springs, and r+𝑟superscriptr\in\mathbb{R}^{+}italic_r ∈ blackboard_R start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT is the positive difference function of θ𝜃\thetaitalic_θ defined by the bulge shape. This last is an adjustable parameter depending on the targeted damping. At a given angle θ𝜃\thetaitalic_θ, a higher value of r𝑟ritalic_r will create more friction.

Secondly, the model is composed of four rotational springs creating tangential forces on bulges along the rotation. The torque τκsubscript𝜏𝜅\tau_{\kappa}italic_τ start_POSTSUBSCRIPT italic_κ end_POSTSUBSCRIPT is analog to the linear one

τκ=κθ=rFκ,subscript𝜏𝜅𝜅𝜃𝑟subscript𝐹𝜅\tau_{\kappa}=-\kappa\theta=rF_{\kappa},italic_τ start_POSTSUBSCRIPT italic_κ end_POSTSUBSCRIPT = - italic_κ italic_θ = italic_r italic_F start_POSTSUBSCRIPT italic_κ end_POSTSUBSCRIPT , (14)

with κ𝜅\kappaitalic_κ the torsion coefficient of the compliant hinge and Fκsubscript𝐹𝜅F_{\kappa}italic_F start_POSTSUBSCRIPT italic_κ end_POSTSUBSCRIPT the tangential force at contact of bulges. This torsion force pushes the arm into its idle extended position.

According to Coulomb’s law of friction for dry surfaces, the model can be approximated with

FfμFn,subscript𝐹𝑓𝜇subscript𝐹𝑛F_{f}\leq\mu F_{n},italic_F start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ≤ italic_μ italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , (15)

where Ffsubscript𝐹𝑓F_{f}italic_F start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT is the friction force parallel to the surface and opposed to movement, μ𝜇\muitalic_μ is the coefficient of friction, and Fnsubscript𝐹𝑛F_{n}italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is the normal force applied on each surface. The friction coefficient μ𝜇\muitalic_μ is empirical and can be found in tables. It depends on the material and the asperities of the two surfaces. The static friction coefficient μssubscript𝜇𝑠\mu_{s}italic_μ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT is generally higher than the coefficient of kinetic friction μ𝜇\muitalic_μ. There is a maximum force Fmaxsubscript𝐹𝑚𝑎𝑥F_{max}italic_F start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT to reach, to begin the slide of one surface onto another,

Fmax=μsFn.subscript𝐹𝑚𝑎𝑥subscript𝜇𝑠subscript𝐹𝑛F_{max}=\mu_{s}F_{n}.italic_F start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT = italic_μ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT italic_F start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT . (16)

The surface will start to slide as soon as Fmaxsubscript𝐹𝑚𝑎𝑥F_{max}italic_F start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT is exceeded. Considering the mechanism in motion, we can then combine (13) and (15) such that

Fkrμk.subscript𝐹𝑘𝑟𝜇𝑘F_{k}\leq r\mu k.italic_F start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ≤ italic_r italic_μ italic_k . (17)

Since the mechanism creates a pure rotation we can consider the total torque τtotalsubscript𝜏𝑡𝑜𝑡𝑎𝑙\tau_{total}italic_τ start_POSTSUBSCRIPT italic_t italic_o italic_t italic_a italic_l end_POSTSUBSCRIPT output of the mechanism in motion (i.e., without considering Eq. 16),

τtotal=τκ+rFk=r(Fκ+Fk),subscript𝜏𝑡𝑜𝑡𝑎𝑙subscript𝜏𝜅𝑟subscript𝐹𝑘𝑟subscript𝐹𝜅subscript𝐹𝑘\tau_{total}=\tau_{\kappa}+rF_{k}=r(F_{\kappa}+F_{k}),italic_τ start_POSTSUBSCRIPT italic_t italic_o italic_t italic_a italic_l end_POSTSUBSCRIPT = italic_τ start_POSTSUBSCRIPT italic_κ end_POSTSUBSCRIPT + italic_r italic_F start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_r ( italic_F start_POSTSUBSCRIPT italic_κ end_POSTSUBSCRIPT + italic_F start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) , (18)

that is

τtotalr2μkrκθ.subscript𝜏𝑡𝑜𝑡𝑎𝑙superscript𝑟2𝜇𝑘𝑟𝜅𝜃\tau_{total}\leq r^{2}\mu k-r\kappa\theta.italic_τ start_POSTSUBSCRIPT italic_t italic_o italic_t italic_a italic_l end_POSTSUBSCRIPT ≤ italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_μ italic_k - italic_r italic_κ italic_θ . (19)

We can therefore notice that the output torque τtotalsubscript𝜏𝑡𝑜𝑡𝑎𝑙\tau_{total}italic_τ start_POSTSUBSCRIPT italic_t italic_o italic_t italic_a italic_l end_POSTSUBSCRIPT depends on the shape of the bulges with r𝑟ritalic_r and on the current angle θ𝜃\thetaitalic_θ.

III-C Compliant Mechanism Design

In the standard mechanism, the use of metallic bolts and bearings is often neglected in the total weight of a mechanism. Nevertheless, for aerial platforms, every gram matters. We want to take advantage of additive manufacturing by combining soft materials and not using any metallic parts. The idea is to reduce the inertial effect of the arm on the platform.

Starting from the kinematic design presented in Fig. LABEL:fig:kinematic-design and adding the absorption theory of Sec. III-B, we proposed the ideal compliant robot arm of Fig. LABEL:fig:compliant-design. The mechanism must be fine-tuned, such as in Fig. LABEL:fig:manufactured-design. Additive manufacturing imperfections on elasto-mechanical behaviors cannot be predicted accurately, so we propose differentiating the real mechanism from the ideal one with several printing iterations. We noticed slight deflection of the \acPETG-carbon fiber links of the four-bar mechanism, as well as small displacement of the \acTPU hinges’ center of rotation.

Refer to caption
Figure 5: Compliant robot arm mechanical design with main components highlighted.

Rigid links of the proposed compliant mechanism are 3D-printed in \acPETG-carbon fiber to ensure stiffness, while hinges and bulges are in \acTPU to provide flexibility and friction. All components are tightly assembled.

III-D Actuation Unit

Even if the compliance could have been controlled with a motor-actuated admittance filter, here, the external absorption capabilities are passive. Nevertheless, arm actuation is done in compression, in the opposite direction of idle extension position. This proposed way to actuate the arm firstly makes the position control possible and, secondly, keeps safe passive impact dissipation possible with no effect on the actuators.

As shown in Fig. 5, to keep the robot arm inertia as low as possible, we deported the actuation unit in the opposite direction. The force is transferred through a tendon mechanism. It comprises pulleys attached by a cable going inside a tube from the actuator to the actuated part. The tube acts as the cable housing, firmly attached from both ends, providing protection and guidance while ensuring that the actuation operates effectively. By adjusting the tension of the inner cable, the actuated pulleys move as the actuators do. Thanks to the rotational spring of the soft joints, motors have only to pull in one direction to reach the equilibrium position.

One can notice that cable housing is fixed such that at actuation, compliance of the mechanism disengages the frictional bulges. Also, to adjust the cable tension at the idle position, the position-adjustable tube housing can be slid. It is located on the actuation unit, tangential to the pulley, and is firmly secured.

IV EXPERIMENTAL DEMONSTRATION

This section presents the evaluation of the proposed flexible solution in the context of \acAPhI. In particular, we focus on evaluating two critical aspects: the influence of the robotic arm on the multirotor performance in free flight and the shock absorption performance of the arm when going in contact with a surface. Table I presents the components used for the experimental application.

Component Name Weight [g]
Servo Dynamixel XC430-W150-T 231.8
Robotic Arm Flexible Arm 167.6
Aerial Platform Tarot 650 Custom 3553.6
TABLE I: Flexible arm components and weights

IV-A Influence on The Platform

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 6: Flight test results with the proposed soft arm. Acceleration (LABEL:fig:free_flight_test_acc), angular velocity (LABEL:fig:free_flight_test_gyro), servos angular position (LABEL:fig:free_flight_test_servo) and its reference (dashed lines) obtained during flight test. The transparent shadow represents the unfiltered measurements. The solid line is a filtered version for the graph’s clarity

This first experiment evaluate the physical impact of the robotic arm on the multirotor platform. To test it, we perform a stabilized flight with the \acMAV while an operator controls the robot arm. In this context, even minimized by our design, the motion of the arm generates some inertial forces and torques into the body frame that may disturb the platform’s state. The results have been presented in Fig. 6.

The measured acceleration and angular rate on the \acMAV body frame are plotted in Fig. LABEL:fig:free_flight_test_acc and Fig. LABEL:fig:free_flight_test_gyro, while the servo motor actuation is presented in Fig. LABEL:fig:free_flight_test_servo. Some perturbations have been noticed on the platform. During the experiment, it appears that 𝒗˙B,xsubscriptbold-˙𝒗𝐵𝑥\bm{\dot{v}}_{B,x}overbold_˙ start_ARG bold_italic_v end_ARG start_POSTSUBSCRIPT italic_B , italic_x end_POSTSUBSCRIPT and 𝒗˙B,ysubscriptbold-˙𝒗𝐵𝑦\bm{\dot{v}}_{B,y}overbold_˙ start_ARG bold_italic_v end_ARG start_POSTSUBSCRIPT italic_B , italic_y end_POSTSUBSCRIPT had similar behavior, remaining centered in 00 without exceeding |𝒗˙B|=0.2subscriptbold-˙𝒗𝐵0.2|\bm{\dot{v}}_{B}|=0.2| overbold_˙ start_ARG bold_italic_v end_ARG start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT | = 0.2 m/s2. A maximum acceleration of 88-8- 8 m/s2 along the z-axis has been measured at t=8.1𝑡8.1t=8.1italic_t = 8.1 s.

In the same way, for angular rate measurement, we observe analogous comportment on the x and the y-axis. Both are centered in 00 and maximum value of 0.490.490.490.49 rad/s are visible at t=17.9𝑡17.9t=17.9italic_t = 17.9 s for ωB,xsubscript𝜔𝐵𝑥\omega_{B,x}italic_ω start_POSTSUBSCRIPT italic_B , italic_x end_POSTSUBSCRIPT, and at t=8.7𝑡8.7t=8.7italic_t = 8.7 s for ωB,ysubscript𝜔𝐵𝑦\omega_{B,y}italic_ω start_POSTSUBSCRIPT italic_B , italic_y end_POSTSUBSCRIPT.

However, they appear to be sporadic behavior, and they do not manifest any trend or correlation with the motion of the arm from Fig. LABEL:fig:free_flight_test_servo. Therefore, it can be deduced that the forces and torques generated by the arm affect only slightly the platform, demonstrating a stable behavior during free flight.

One crucial aspect manifested in Fig. LABEL:fig:free_flight_test_servo is the discrepancy between the desired position (dotted line) and the servo-achieved position (solid line) for specific extreme values. This difference is evident at angles corresponding to the points where the total torque τtotalsubscript𝜏𝑡𝑜𝑡𝑎𝑙\tau_{total}italic_τ start_POSTSUBSCRIPT italic_t italic_o italic_t italic_a italic_l end_POSTSUBSCRIPT (refer to Eq.  (19)) reaches its maximum value during the rotation. This phenomenon indicates a limitation in reaching these angles due to the limited power of servomotors.

IV-B Shock Absorption

To study the energy dissipation capabilities of the proposed platform, we perform impact tests. It consisted of coming in contact with a surface at a given velocity along the x-axis with the aerial manipulator near hovering. The test has been performed at different velocities, with the proposed flexible arm and a rigid stick for comparison. As depicted in Fig. 7, the platform equipped with the rigid arm displays prominent peaks in acceleration upon contact reaching 𝒗˙B=30subscriptbold-˙𝒗𝐵30\bm{\dot{v}}_{B}=-30overbold_˙ start_ARG bold_italic_v end_ARG start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT = - 30 m/s2. In contrast, the platform featuring the proposed solution with a soft arm reveals a lack of acceleration peaks during contact. This test demonstrates better shock absorption capabilities of the flexible arm with respect to the standard solution, resulting in safer interaction of the aerial manipulator with the environment.

Refer to caption
(a)
Refer to caption
(b)
Figure 7: Comparison of acceleration force generated during impact test with a rigid stick (LABEL:fig:impact_flight_test_rigid) arm and with flexible arm (LABEL:fig:impact_flight_test_soft). Dashed vertical lines highlight the time instances where the platform collides with the interaction surface. The transparent shadow represents the unfiltered measurements while the solid line is a filtered version.

By measuring platform velocity before impact and after impact in case of bounce, we can estimate the energy absorbed in impact. We compare two impacts with similar velocities. For the rigid stick third measured interaction, the aerial robot impacted the surface with an absolute velocity of vx=0.626subscript𝑣𝑥0.626v_{x}=0.626italic_v start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT = 0.626 m/s and bounced with vx=0.219subscript𝑣𝑥0.219v_{x}=0.219italic_v start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT = 0.219 m/s. We noticed a slight deformation of the surface, that dissipated some of the energy. Thus, Ec=0.6797subscript𝐸𝑐0.6797E_{c}=0.6797italic_E start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = 0.6797 J have been dissipated. On the other hand, the aerial platform with our compliant mechanism at the fourth measured interaction had a slightly higher velocity vx=0.675subscript𝑣𝑥0.675v_{x}=0.675italic_v start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT = 0.675 m/s. The platform remained in contact, so the arm absorbed Ec=0.9005subscript𝐸𝑐0.9005E_{c}=0.9005italic_E start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = 0.9005 J. Our system shows better energy dissipation at higher speeds and, therefore, greater stability on impact for safer contact.

V CONCLUSION

We developed a lightweight, shock-absorbing, and actuated compliant robot arm. Our approach for \acAPhI includes admittance control for the platform, robot arm inverse kinematics, and careful material selection for weight reduction.

Our work demonstrated that the compliant robot arm has negligible influence on free flight, thanks to tendon-based actuation compensating for arm weight. We explored the arm’s compliance during \acAPhI, emphasizing the advantages of flexible manipulators with compliant hinges and frictional elements to minimize system weight and complexity while improving impact energy dissipation.

Our future works aim to address end-effector position tracking challenges, closing the control loop to enhance overall accuracy with the platform controller. We also plan to study scalability into other application scenarios.

References

  • [1] K. Bodie, M. Brunner, M. Pantic, S. Walser, P. Pfändler, U. Angst, R. Siegwart, and J. Nieto, “Active interaction force control for contact-based inspection with a fully actuated aerial vehicle,” IEEE Transactions on Robotics, vol. 37, no. 3, pp. 709–722, 2021.
  • [2] A. Ollero, M. Tognon, A. Suarez, D. Lee, and A. Franchi, “Past, present, and future of aerial robotic manipulators,” IEEE Transactions on Robotics, vol. 38, no. 1, pp. 626–645, 2022.
  • [3] M. Tognon, H. A. T. Chávez, E. Gasparin, Q. Sablé, D. Bicego, A. Mallet, M. Lany, G. Santi, B. Revaz, J. Cortés, and A. Franchi, “A truly-redundant aerial manipulator system with application to push-and-slide inspection in industrial plants,” IEEE Robotics and Automation Letters, vol. 4, no. 2, pp. 1846–1851, 2019.
  • [4] F. Ruggiero, V. Lippiello, and A. Ollero, “Aerial manipulation: A literature review,” IEEE Robotics and Automation Letters, vol. 3, no. 3, pp. 1957–1964, 2018.
  • [5] X. Meng, Y. He, and J. Han, “Survey on aerial manipulator: System, modeling, and control,” Robotica, vol. 38, no. 7, p. 1288–1317, 2020.
  • [6] J. Aleotti, G. Micconi, S. Caselli, G. Benassi, N. Zambelli, M. Bettelli, and A. Zappettini, “Detection of nuclear sources by uav teleoperation using a visuo-haptic augmented reality interface,” Sensors, vol. 17, no. 10, 2017.
  • [7] M. A. Trujillo, J. R. Martinez-de Dios, C. Martin, A. Viguria, and A. Ollero, “Novel aerial manipulator for accurate and robust industrial ndt contact inspection: A new tool for the oil and gas inspection industry,” Sensors, vol. 19, no. 6, 2019.
  • [8] D. Trivedi, C. D. Rahn, W. M. Kier, and I. D. Walker, “Soft robotics: Biological inspiration, state of the art, and future research,” Applied bionics and biomechanics, vol. 5, no. 3, pp. 99–117, 2008.
  • [9] M. Ling, L. L. Howell, J. Cao, and G. Chen, “Kinetostatic and Dynamic Modeling of Flexure-Based Compliant Mechanisms: A Survey,” Applied Mechanics Reviews, vol. 72, no. 3, p. 030802, 01 2020.
  • [10] L. Baccelliere, N. Kashiri, L. Muratore, A. Laurenzi, M. Kamedula, A. Margan, S. Cordasco, J. Malzahn, and N. Tsagarakis, “Development of a human size and strength compliant bi-manual platform for realistic heavy manipulation tasks,” 09 2017.
  • [11] M. Quigley, A. Asbeck, and A. Ng, “A low-cost compliant 7-dof robotic manipulator,” in 2011 IEEE International Conference on Robotics and Automation.   IEEE, 2011, pp. 6051–6058.
  • [12] Y. Sun, S. Song, X. Liang, and H. Ren, “A miniature soft robotic manipulator based on novel fabrication methods,” IEEE Robotics and Automation Letters, vol. 1, no. 2, pp. 617–623, 2016.
  • [13] R. Ladig, H. Paul, R. Miyazaki, and K. Shimonomura, “Aerial manipulation using multirotor uav: a review from the aspect of operating space and force,” Journal of Robotics and Mechatronics, vol. 33, no. 2, pp. 196–204, 2021.
  • [14] R. Szász, M. Allenspach, M. Han, M. Tognon, and R. K. Katzschmann, “Modeling and control of an omnidirectional micro aerial vehicle equipped with a soft robotic arm,” in 2022 IEEE 5th International Conference on Soft Robotics (RoboSoft).   IEEE, 2022, pp. 01–08.
  • [15] E. Cuniato, C. Geckeler, M. Brunner, D. Strübin, E. Bähler, F. Ospelt, M. Tognon, S. Mintchev, and R. Siegwart, “Design and control of a micro overactuated aerial robot with an origami delta manipulator,” arXiv preprint arXiv:2305.01961, 2023.
  • [16] D. Tzoumanikas, F. Graule, Q. Yan, D. Shah, M. Popovic, and S. Leutenegger, “Aerial manipulation using hybrid force and position nmpc applied to aerial writing,” arXiv preprint arXiv:2006.02116, 2020.
  • [17] A. Suarez, M. Perez, G. Heredia, and A. Ollero, “Cartesian aerial manipulator with compliant arm,” Applied Sciences, vol. 11, no. 3, p. 1001, 2021.
  • [18] A. Suarez, G. Heredia, and A. Ollero, “Lightweight compliant arm with compliant finger for aerial manipulation and inspection,” in 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2016, pp. 4449–4454.
  • [19] A. Ollero and B. Siciliano, Aerial Robotic Manipulation.   Springer, 2019.