A long-reach robotic arm is useful for applications such as nuclear plant decommissioning, inspection, and firefighting. However, for such arms, a small external reaction force can result in large loads on proximal arm actuators because of long moment arms. This problem was previously solved by specialized arm designs that compensate external reaction forces. However, these arm designs are hard to be applied to other arms or customized to different missions. To overcome these difficulties, in this paper, we propose a modular thrust generating concept inspired by wristwatch designs, called flying watch, which can be attached to a robotic arm with mission-dependent attachment styles (attachment positions and orientations) and cooperate with actuators to enhance arm strength. We first introduce flying watch concept, design, and dynamics. Then we propose two levels of watch-actuator cooperation in quasistatic situations by introducing a problem called Watch Actuator Cooperation for Arm Enhancement (WACAE) and providing an example solution. The first level of cooperation is only watches adapt their thrusts to minimize actuator loads, which is generally applicable to varieties of arms. The second level cooperation is that not only do the watches adapt their thrusts but also the actuators cooperatively position the watches to optimal positions and orientations to counteract external reaction forces, which is suitable for redundant arms and can counteract external reaction forces more effectively. Finally, we present simulations to verify that flying watches can significantly reduce actuator loads using both levels of watch-actuator cooperation (the first level by 36.9% and the second level by 43.7%).

Introduction

A long-reach robotic arm is usually designed for applications such as nuclear power plant decommissioning, [1, 2] inspection, [3,4,5], and firefighting [6]. Some arms, such as [2,3,4], are redundant since long arms for those applications usually need to operate in environments filled with obstacles and the redundant Degree of Freedom (DOF) can negotiate the obstacles.

One major problem for designing and operating a long-reach arm is that a small external reaction force exerted on the arm may result in a large load on proximal actuators that can exceed their actuation ability because of long moment arms. Here the external reaction forces are reaction forces from the external environment that include gravity.

To solve this problem, previous studies focus on designing specialized arms with certain force compensation mechanisms. These arms can be classified into two classes, passive force compensating arms and active force compensating arms, based on whether an energy source is required for force compensation. Regarding passive force compensating arms, in [3], a 20-m-long arm with helium balloon body was proposed to carry small loads like camera. The torque of gravity was passively counteracted by the buoyancy of helium. In [4], a 9.5-m-long modular arm with spring based weight compensation mechanisms was built for inspection of an ITER related nuclear fusion device. Additionally, some gravity compensating arm designs based on springs [7, 8] and weight [9] may also be used for designing passive force compensating arms. Regarding active force compensating arms, in [1, 2, 10], specialized coupled tendon-driven arms that can compensate gravity were proposed. In [5, 6], arms that apply water jets to counteract gravity were proposed. In [11, 12], arms with passive joints driven by thrusts to counteract external reaction forces were proposed.

However, specialized arm designs have two major problems. (1) They are difficult to be customized to different missions. (2) Their designs are difficult to be applied to other long arms. For example, the arm designed in [11] can counteract gravity using thrusts, which is useful for carrying sensors and picking up objects. However, if we want the arm to push aside objects on the ground, the external reaction force is horizontal and the arm may not be able to provide sufficient end effector forces. Therefore, the arm in [11] cannot be customized to different missions. For pushing objects aside, the arm design in [12] is suitable since it can counteract external reaction forces in different directions using thrusts. However, adapting the arm design in [12] to the existing arm in [11] requires significant mechanism modification on the arm in [11].

Therefore, how to more easily give a long arm higher strength to counteract larger external reaction forces and better versatility to accomplish more missions is an interesting and practical question. In order to answer this question, in this paper, we propose a modular concept called flying watch as shown in Fig. 1, which can be attached to a robotic arm using mission-dependent attachment styles and enhance arm strength by cooperating with arm actuators. The structure of this paper is as follows. We will first propose the flying watch concept in “Flying watch concept” section. Then we will present the design of flying watch in “Flying watch design” section. Next we will introduce the dynamics of flying watch in “Flying watch dynamics” section. After that, we will propose two levels of watch-actuator cooperation for arm enhancement in quasistatic situations in “Flying watch based arm enhancement” section. Then, we will use simulations to verify the effectiveness of flying watches in quasistatic situations in “Simulation” section. Finally, this paper will be concluded in “Conclusion” section.

The contributions of this paper are as follows. (1) Proposing a modular attachable concept, called flying watch, that can enhance arm strength by attaching to the arm and adapt to different missions by changing its attachment styles. (2) Proposing two levels of arm enhancement watch-actuator cooperation in quasistatic situations by introducing a problem called Watch Actuator Cooperation for Arm Enhancement (WACAE) and providing an example solution. (3) Verifying through simulations that flying watch can effectively reduce the maximum arm actuator loads through watch-actuator cooperation.

Flying watch concept

People with different wrist dimensions and demands (such as time keeping and health monitoring, etc.) wear different wristwatches. In order to adapt to users’ diverse wrist dimensions and demands, wristwatches come with different sizes and functions and watch bands are adjustable and usually replaceable.

Similarly, robotic arms have different designs and are demanded to achieve different missions. Inspired by the wristwatch designs and thrust actuated arm designs [5, 6, 11, 12], we imagine there could be a watch-like thrust generating module that also come with different sizes, actuation abilities, and adjustable and replaceable watch bands so that such modules can be attached to different robotic arms with mission-dependent attachment styles and cooperate with arm actuators to enhance arm strength. We call this concept flying watch.

Flying watch concept is further illustrated in Fig. 2. Multiple flying watches are attached to a long-reach robotic arm. All joints of the long arm are actuated by motors and the flying watches generate thrusts in cooperation with the existing arm motors to enhance arm strength (or in other words, reduce the maximum motor loads). The position and orientation of watch thrusts depend on attachment styles of the watches. By changing the attachment style, multiple watches can enhance the same arm in different ways to adapt to different missions. For example, when the long arm in Fig. 2 is required to pick up a heavy object as shown in Fig. 2a, four flying watches are attached with their thrust generating axes on vertical plane in order to counteract gravity. When the long arm is required to push heavy debris on the ground in different directions as shown in Fig. 2b, two watches are attached with thrust generating axes on the vertical plane and the other two watches are attached with thrust generating axes on the horizontal plane. Such attachment style helps counteracting arm gravity and horizontal reaction forces from debris.

Our concept is closely related to researches about specialized robotic arm designs actuated by propeller thrusts [11, 12] or water jets [5, 6]. However, our concept is different from these previous researches in two aspects. Firstly, these previous researches focused on specialized arms which cannot easily adapt to different missions or be applied to other arms. Instead of focusing on arm designs, our study is targeted on an attachable module that can enhance robotic arms and can adapt to different missions by changing its attachment styles. The concept has a watch-like design in order to be attached to robotic arms and a compact sandwich-like propeller arrangement (two propellers wrapping an attached link). Such concept and design have never been proposed by previous research. Secondly, the purpose of the arm thrusters in those previous research is to drive passive joints instead of reducing actuator loads. On the contrary, the purpose of flying watch is to reduce actuator loads by cooperating with existing arm actuators. Such cooperation between thrusters and arm actuators is never explored in previous research. We will explore such cooperation by proposing a problem call WACAE and providing an example solution.

Additionally, our concept is also relevant to researches about aerial transformation and manipulation such as [13, 14] because propeller thrusts are applied in combination with actuators. Our concept is different from those researches in that our flying watch is designed only for manipulators with bases on the ground.

Flying watch design

Design requirements

As an initial physical experiment in the future, we plan to test flying watches on an existing planar arm in our lab, called Planar Inspection Arm (PIA). This arm is chosen for our future experiment because it is originally designed for inspecting only horizontal plane using end effector sensors and the arm motors are generally not strong enough to support the arm weight when the workspace is not horizontal. In order to demonstrate flying watches can enhance the strength of an existing arm, we will attach two flying watches to PIA to enhance its strength so that it can work on a 30° slope plane with regard to horizon plane. PIA and the planned attachment style are shown in Fig. 3 and the specification of PIA is shown in Table 1. The flying watches are attached on the middle of links.\(l_{1}\), \(l_{2}\), and \(l_{3}\) are corresponding link length. \(m_{1}\), \(m_{2}\), and \(m_{3}\) are corresponding link mass. \(T_{1}\) and \(T_{2}\) are the thrusts of flying watch 1 and flying watch 2. In this paper, we will design a flying watch prototype that can accomplish this mission.

Therefore, based on flying watch concept mentioned in “Flying watch concept” section and for future physical verifications, we can summarize the following design requirements. (1) The flying watch should have adjustable and removable watch band and be able to be attached to a robotic arm. (2) The flying watch should be able to generate enough thrusts for future physical verifications on PIA. (3) The flying watch as a module should be lightweht m. (4) The flying watch should be low-cost and easy to build so that it is easily available for the public.

Propulsion mechanism design

Previous works of thrust driven arm designs [11, 12] installed propellers on extruded bar structures, which can be naturally derived from drones. In particular, in [12], four propellers are installed on a cross shape extruded structure with different orientations as an actuation unit, which can generate thrusts in different directions. However, these propeller arrangements using extruded structures are not compact and increase the chance of collisions. For compactness and simplicity, we used a sandwich-like propeller arrangement (two propellers wrapping an attached link) for flying watch and each flying watch only generate thrusts along one axis. The two propellers rotate in opposite directions to cancel reaction torques.

The counter-rotating propellers can be driven by one motor with certain transmission mechanisms. However, since the distance between the propellers needs to adapt to the attached arm diameter and designing transmission mechanisms that can adapt to such distance change is difficult, we decided to use two motors to independently drive the two propellers. Applying independent motors also gives a flying watch robustness to motor failure and allows the rotation speed of the propellers to be controlled independently, which may negotiate aerodynamic interference between the two propellers.

Based on the mentioned design, we selected two Tarot 4114 motors with Tarot 1555 carbon fiber propellers for a flying watch. The propeller has a diameter of 381 mm which can be fit on PIA links. Based on the required current of Tarot 4114 motors, Two FLYFUN-40A-V5 motor drivers are selected to independently drive the motors. The motor driver is lightweight (46 g) and small (\(48 \times 28 \times 14\) mm) and should be attached close to a flying watch to avoid power loss on cables. Regarding power supply, instead of adopting built-in batteries like a wristwatch, we choose to connect flying watch with external power source at the arm base using cables because batteries suitable for flying watches are too heavy. Regarding control signals, they can be transmitted wirelessly using Bluetooth or Zigbee. However, for simplicity, we used wires for our first prototype.

Attachment mechanism design

In a typical wristwatch design, a length adjustable shaft is used as a joint between a watch case and a watch band. The length adjustable shaft can be removed in order to replace watch band. The watch band length can be adjusted by watch band closures such as buckles and loop and hook fasteners. Similar to the wristwatch design and for 3D printability, we used fixed bar structures for watch case joints and loops of double-sided loop and hook tape as watch bands as shown in Fig. 4. The watch case has two fixed bars for mounting watch bands, three holes for mounting a motor and a dent to let motor cables go through. Also the watch case is glued with a rubber pad on the back to increase friction. The watch case dimensions are derived so that it can be attached to PIA links. The loop and hook tape (TRUSCO) used for watch band has high strength and durability and negligible tensile elongation. The watch band is easily replaceable and can be adjusted by changing its overlapping length. As a result, the watch can be attached to PIA or other similar arms.

The flying watch design is lightweight, easy to build, and low-cost. The prototype in Fig. 4 has a mass of 450 g The total additional mass resulting from a flying watch is 542 g (one watch + 2 motor drivers). The total mass of a link and a joint of PIA is 1152 g. Therefore, the flying watch is lightweight compared with the mass of PIA. The watch case can be 3D printed and all other parts are easy to find in market. The assembly process of a flying watch takes about 10 min and the total cost of a flying watch is about 210 US dollars.

Thrust and watch band strength test

In order to ensure that flying watch can generate enough thrust for future physical verifications on PIA and the watch band have enough strength, we need test the property of thrust generation and the watch band.

We first compute how much thrust is necessary for the physical experiment on PIA. Assuming there is no friction and the arm mass is equally distributed and the arm is fully supported by flying watches, from Fig. 3, we can obtain the following quasistatic equations for PIA when it is horizontally stretched (the required thrust is the largest in this configuration).

In (1) and (2), \(g^{\prime} = gsin\left( {\frac{\pi }{6}} \right)\) is the component of gravity acceleration along the 30° slope. We can calculate from (1) and (2) that the minimum thrust of a flying watch should be 9.72 N.

After obtaining the minimum required thrust, we tested the thrust of the propeller. The propeller thrust is controlled by the duty ratio of PWM signal given to the motor driver. Also the voltage given to the motor driver can influence the thrust. We used a device as shown in Fig. 5 to test the relation between propeller thrust/torque and PWM duty ratio of the motor driver under different voltages given to the motor driver. We found when working at the maximum input voltage of the motor driver (25.2 V), the motor easily overheats and loses speed due to heat protection. We tested several voltages and finally selected 14.8 V for flying watches. With this voltage, the propeller can generate a maximum thrust of 9.7 N with a reaction torque of 0.21 Nm. The reaction torque of one propeller is not negligible compare to the maximum torque of the joints, which justifies our design of canceling reaction torque using two counter-rotating propellers. With two propellers, a watch can approximately double the maximum thrust and generate 19.4 N thrust, which is enough for supporting PIA on a 30° slope.

Now we test the adhesive strength of the loop and hook watch band. Since two propellers wrap an arm link, the thrust from one propeller is always supported by arm link. Therefore, the watch band only need to endure the thrust of the other propeller. Also the watch band needs to generate enough pressure so that the friction between the watch and arm link prevents the watch sliding. In our test, we fixed one side of a watch band (a loop of double-sided loop and hook tape) and use a force gauge to pull the other side of the band until the overlapping part separates. We found that 10 mm overlapping length can endure 56.5 N shearing force, which is enough for enduring the thrust. In practice, we used 46 mm overlapping length for flying watch band and found it is appropriate to ensure enough friction to avoid sliding. For bigger flying watch with higher thrust, it is also possible to use lashing straps to build watch bands.

We successfully attached two flying watches to PIA for demonstration as shown in Fig. 6. Both flying watches can generate thrusts properly.

Flying watch dynamics

In this section, we derive the Equation of Motion (EOM) of a fully actuated arm attached with \(N_{f}\) flying watches. Such EOM helps understanding how flying watch can cooperate with arm actuators to enhance arm strength.

\(E\) is the total kinetic energy of the arm. \(t\) is time. \(\varvec{ q}\) is the generalized coordinate describing arm configuration and its k th component is \(\varvec{q}_{k}\). \(\varvec{Q}\) is the generalized force and its \(k\) th component is \(\varvec{Q}_{k}\).

The virtual forces \(\varvec{Q}\) in (3) need to be substituted with actual forces or torques in order to make (3) more useful. The relation of virtual forces and actual forces can be find through the definition of virtual work as follows.

\(U\) is the total potential energy of the arm. \(\varvec{\tau}\) is the actuator load vector, whose real dimensions depend on the actuator mechanism (e.g. Nm for revolute actuators and N for prismatic actuators). \(\varvec{F}_{e}\) is the external reaction force and torque on the end effector. \(\varvec{p}\) is the position and orientation of the end effector. \(\varvec{T}_{k}\) is the thrust generated by the \(k\)th flying watch. \(\varvec{r}_{k}\) is the position vector of the \(k\)th flying watch.

To simplify (4), we need to substitute \(\delta \varvec{p}\) and \(\delta \varvec{r}_{k}\) with changes of generalized coordinates \(\updelta\varvec{q}\). This can be done using the following kinematics relations.

J and \(\varvec{J}_{k}^{f}\) are the jacobian matrices of the end effector and the \(k\)th flying watch. Substituting \(\delta \varvec{p}\) and \(\delta \varvec{r}_{k}\) in (4) using (5) and (6), (4) can be simplified as

\(s_{k}\) and \(\varvec{a}_{k} \varvec{ }\) are the scale and the unit direction vector of the thrust (minus sign of \(s_{k}\) indicates the thrust direction is opposite to \(\varvec{a}_{k}\)). We can substitute \(\varvec{T}_{k}\) in (9) using (12) and obtain

In (13), \(\varvec{s} = \left[ {s_{1} , \ldots , s_{k} } \right]^{T}\) is the collection of thrust magnitudes of all \(N\) flying watches. Equation (15) is EOM of a fully actuated arm with \(N_{f}\) flying arm attached.

Equation (15) is different from typical EOM of robotic arm in that it has an additional term \(- \varvec{R}\left( \varvec{q} \right)\varvec{s}\) that represents the effect of a group of flying watches to actuator loads. \(\varvec{R}\), the attachment style matrix, is a function of generalized coordinates \(\varvec{q}\) parameterized by the attachment style parameters (the positions and orientations of flying watches referring to local frames of arm links). It incorporates all information about the position and orientation of flying watches. \(\varvec{s}\), on the other hand, incorporates all information about thrust magnitudes.

Now we have understood the dynamics of flying watch in general cases. In the following sections, we will explore watch-actuator cooperation in quasistatic situations. In such situations, (15) can be simplified as

In previous sections, we introduced the concept, design, and dynamics of flying watches. In this section, based on flying watch dynamics, we will discuss two levels of cooperation between watch and arm actuators for arm enhancement in quasistatic situations.

In order to enhance arm strength, the loads of the actuators need to be reduced using the effects of flying watches. As understood in “Flying watch dynamic” section, the effect of flying watch on actuator loads depends on two factors. The position and orientation of flying watches (as represented by \(\varvec{R}\)) and the thrust magnitudes (as represented by \(\varvec{s}\)). From these two factors, we can imagine two levels of cooperation between watch and arm actuators. The first level is only flying watches adapt their thrust magnitudes to minimize the actuator loads. In such case only the magnitudes of flying watch thrusts are optimized. The second and higher level is not only do watches adapt their thrusts but also actuators corporately position the watches to the optimal positions and orientations to minimize the actuator loads. In such cases, both watch thrust magnitudes and watch positions and orientations are optimized. This higher level of cooperation would more effectively reduce the actuator loads. However, it cannot be applied when the arm is not redundant or when the operator wants more control on the arm configuration. We formulate the mentioned two levels cooperation problem as follows and call such problem Watch Actuator Cooperation for Arm Enhancement (WACAE).

\(\varvec{s}_{l}\) and \(\varvec{s}_{h}\) are the lower and upper bounds of thrust magnitudes \(\varvec{s}\). \(\varvec{q}_{l}\) and \(\varvec{q}_{h}\) are the lower and upper bounds of generalized coordinates \(\varvec{q}\) resulting from mechanism constraints. \(\varvec{p}_{d}\) is the desired end effector position and orientation. \(f\) is a function representing forward kinematics. For the first level cooperation, generalized coordinates \(\varvec{q}\) can be regard as a constant. \(C\) is the maximum normalized actuator load as follows. The \(i\)th component of \(\varvec{\tau}^{\varvec{*}}\) is defined as \(\varvec{\tau}_{\varvec{i}}^{\varvec{*}} =\varvec{\tau}_{\varvec{i}} /\varvec{\tau}_{\varvec{i}}^{\varvec{m}}\). \(\varvec{\tau}_{\varvec{i}}\) is the load that the \(i\)th joint withstands and \(\varvec{\tau}_{\varvec{i}}^{\varvec{m}}\) is the maximum load that the \(i\)th joint can withstand. The normalized actuator load for a joint represents how much potential for withstanding load that joint has used up. The joint with the maximum normalized actuator load is the bottleneck when the arm is counteracting external reaction forces. Therefore, we define the cost function as the maximum normalized actuator load.

In words, WACAE is about optimizing thrust magnitudes and generalized coordinates constrained by forward kinematics, watch thrust capacity, and arm mechanism in order to minimize the maximum normalized actuator load. The WACAE solution makes the watches cooperate with arm actuators to reduce actuator loads. This problem is not explored by previous researches [5, 6, 11, 12] which only use thrusts to drive passive joints. However, WACAE is important since its solution can be used to enhance the strength of a long robotic arm. We already know some long arms need this kind of enhancement. For example, our lab developed a 10-m long arm with a payload capacity of 10 kg called super dragon [2]. We hope to improve its payload so that it can carry more sensors and we think that is achievable by attaching flying watches.

An example solution

WACAE is a nonconvex and nonlinear optimization problem. For such problem, a local optimal solution can theoretically be found by several existing optimization solvers, such as SNOPT [15] and LOQO [16], as well as arm configuration optimization methods EEIK [17] and ODLS [18]. Since proposing a new optimization solver or comparing the performance of existing optimization methods is not the interest of this paper, for simplicity, we used a modification of our previous methods EEIK [17] and ODLS [18] to solve WACAE. In the following, we present this modification as an example solution of WACAE in order to show the solvability of WACAE and for future comparison and improvement. The major difference between the example WACAE solution and EEIK and ODLS is that the example solution includes additional procedures to optimize thrusts and handle upper and lower bounds of thrusts and generalized coordinates.

In order to make this paper self-contained, we will first briefly explain Lockable Inverse Kinematics (LIK) and Automatic Optimizable Dimension Searching (AODS) proposed in [17, 18], which are components of EEIK and ODLS. After that we will present the example solution of WACAE.

Firstly, regarding LIK, it is about solving inverse kinematics while fixing certain generalized coordinates to given values. LIK is previously solved by Lockable Damped Least Squares method (LDLS) in [17, 18]. However, there is no bound on generalized coordinates. Those bound are necessary for solving WACAE in this paper. Therefore, we write LIK as the following optimization problem and use interior point method to solve it. For simplicity, we express the process of solving LIK as \(\varvec{q} = {\text{LIK}}\left( {\varvec{\mu},\varvec{ L},\varvec{ p}_{d} ,\varvec{V}_{l} ,\varvec{V}_{h} } \right)\).

\(\varvec{\mu}\) is the index of the locked generalized coordinates. \(\varvec{V}\) is the unlocked generalized coordinates and \(\varvec{L}\) is the locked generalized coordinates. \(\varvec{q}\) is a vector including all generalized coordinates. \(f\left( {\varvec{V};\varvec{L}} \right)\) is the forward kinematics, which is a function of \(\varvec{V}\) parameterized by \(\varvec{L}\). \(\varvec{V}_{l}\) and \(\varvec{V}_{h}\) are vectors respectively representing the lower and upper bounds of \(\varvec{V}\). The optimization problem tries to minimize the Euclidean distance between the desired and current end effector positions and orientations given the bounds on unlocked generalized coordinates \(\varvec{V}\).

We will also need Inverse Kinematics (IK) with generalized coordinate bounds to compute arm configuration when arm configuration does not need optimization. Similarly, we can write IK with bounds as the following optimization problem and use interior point method to solve it. \(f\left( \varvec{q} \right)\) is still the forward kinematics, which we express it as a function of \(\varvec{q}\).

Secondly, regarding AODS, it is a method to automatically search for optimizable dimensions of the generalized coordinates. More specifically, given the desired end effect position and orientation \(\varvec{p}_{d}\) and the arm configuration \(\varvec{q}\), AODS searches for \(N_{r}\) dimensions of generalized coordinates indexed by \(\varvec{\xi}\) that can be optimized to minimize a certain cost function C.

The pseudocode of AODS is shown in Algorithm 1. Initially, in step 1, AODS uses LIK to add a small value \(\in\) to each dimension of \(\varvec{q}\) and record how much the cost function changes compared to the added small value. \(i^{c}\) means the complement index of \(i\), which is the index of all generalized coordinates other than \(i\). For a certain dimension, if the change is not zero, this dimension can influence the cost function and is optimizable. Then in step 2, \(N_{r}\) optimizable dimensions of \(\varvec{q}\) indexed by \(\varvec{\xi}\) is selected.

After reviewing LIK and AODS, we move forward to introduce the example WACAE solution. The major difficulty of solving WACAE is that the generalized coordinates \(\varvec{q}\) are constrained by nonlinear and nonconvex forward kinematics and each dimension of \(\varvec{q}\) is not independent. We firstly used LIK to eliminate the forward kinematics and simplify WACAE to the following problem.

In the simplified WACAE, \(\varvec{\xi}\) is the index of the optimizable redundant dimensions \(\varvec{q}_{r}\), which can be obtained using AODS. After simplification, the optimization variables are changed from \(\varvec{q}\) to \(\varvec{q}_{r}\), each dimension of which is independent. The simplified WACAE only has box shape constraints on \(\varvec{s}\) and \(\varvec{q}_{r}\) and can be solved with gradient descent. Since \(\varvec{s}\) and \(\varvec{q}_{r}\) have different physical meanings and could be high dimensional, in order to avoid ill-conditioned hessian matrix and reduce the dimension of each optimization step, we update \(\varvec{s}\) and \(\varvec{q}_{r}\) iteratively using gradient descent. The pseudocode of the example solution is shown in Algorithm 2.

In this pseudocode, the example solution takes desired end effector position and orientation (\(\varvec{p}_{d}\)), constraints (\(\varvec{s}_{l} ,\varvec{s}_{h} ,\varvec{q}_{l} , \varvec{q}_{h}\)), and index of optimizable generalized coordinates (\(\varvec{\xi}\)) as input and outputs the optimal thrust scales (\(\varvec{s}^{ *}\)) and generalized coordinates \(\varvec{q}^{\varvec{*}}\). In step 1, \(\varvec{s}\) and \(\varvec{q}\) are initialize to satisfy constraints. \(\varvec{q}\) can also be initiated by IK instead of LIK. In step 2–3, \(\varvec{s}\) and \(\varvec{q}\) are updated iteratively. BLS\(\left( {\varvec{x}, \varvec{d}, \gamma \left( \varvec{x} \right)} \right)\) in these steps means to search an appropriate step size of \(\varvec{x}\) along \(\varvec{d}\) for minimizing \(\gamma\) using backtracking line search [19]. Two kinds of restoring process are added to gradient descent in order to satisfy the box constraints on \(\varvec{s}\) and \(\varvec{q}\). (1) In updating processes, if some dimension of \(\varvec{s}\) or \(\varvec{q}_{r}\) goes beyond constraints, that dimension is restored to its original value. (2) After updating \(\varvec{s}\) or \(\varvec{q}\), if the cost function increases, then \(\varvec{s}\) or \(\varvec{q}\) goes back to the original values. With no loss of generality, we explain these restoring processes using step 2. The first kind of restoring process is equivalent to constructing an updating direction \(\varvec{\psi}\) by setting some dimensions of the opposite gradient \(-\varvec{\delta}_{\varvec{s}}\) to zero so that \(\varvec{s}\) cannot go beyond constraints in these dimensions. If we use a small enough step size \(t > 0\) so that the cost function can be linearly approximated, the cost function after updating is \(C\left( {\varvec{s} + t\varvec{\psi},\varvec{q}} \right) \approx C\left( {\varvec{s},\varvec{q}} \right) +\varvec{\delta}_{\varvec{s}}^{\text{T}} \left( {\varvec{s} + t\varvec{\psi}- \varvec{s}} \right)\, = \, C\left( {\varvec{s},\varvec{q}} \right) + t\varvec{\psi}^{\varvec{T}}\varvec{\delta}_{\varvec{s}}\). Since \(\varvec{\psi}^{\varvec{T}}\varvec{\delta}_{\varvec{s}} < 0\), \(C\left( {\varvec{s} + t\varvec{\psi},\varvec{q}} \right) < C\left( {\varvec{s},\varvec{q}} \right)\). Therefore if the updating step size \(t > 0\) is small enough for linear approximation of the cost function, the first kind of restoring process can reduce the cost function and ensure the box constraints. The second kind of restoring process check whether the updated cost function really decreases in case that the step size is not small enough. In step 4, the iteration stops when some criteria are met. Some simple criteria include setting the maximum number of iterations and the minimum acceptable decrease of the cost function. For the first level watch-actuator cooperation, step 3 can be skipped.

Simulation

In this section, we simulate a redundant arm attached with flying watches and check whether the flying watches can reduce the maximum normalized actuator load through watch-actuator cooperation. In the simulations, we applied varieties of external reaction forces to the end effector under different end effector positions and evaluate the effect of flying watches on the maximum normalized actuator loads. In the following, we will first introduce the simulation setup. Then we will detail the simulation process. Finally, we will present and discuss the simulation results.

Regarding the simulation setup, we used Matlab to simulate a 9-DoF arm with 8 flying watches attached as shown in Fig. 7. The base frame is represented by purple arrows and the end effector frame is represented by red arrows. The rotation axes of flying watches are represented by arrows on cylinders. Green cylinders represent flying watches with rotation axes on vertical planes. Yellow cylinders represent flying watches with rotation axes on horizontal planes. The distance between two flying watches on the same link is 0.5 m. Since this distance is larger than the diameter of the propeller (0.381 m), the two flying watches on the same link do not collide with each other. The distance between a flying watch and the closest joint is 0.3 m. Under this distance, we can calculate the safe joint rotation range that prohibits the flying watches on both sides of a joint colliding is from − 101.2° to 101.2°. The arm is made of CFRP and has an inner diameter of 96 mm and thickness of 2 mm. The simulation arm design is derived from an existing long-reach arm in our lab [2]. In our future experiments, all joints on PIA are identical. In our simulations, we also assume that all joints of the simulation arm are identical. We set the maximum thrust of flying watch to 18 N based on our thrust test in “Thrust and watch band strength test” section.

Regarding the simulation process, in a simulation case, we positioned the end effector at a certain position and applied a certain force on the end effector. Then we compare the maximum actuator loads with and without flying watch attached. More specifically about the end effector positions, since the first joint of the simulation arm rotates in yaw direction, for simplicity, the end effector is positioned on XOZ plane of the base frame. In different cases, the X coordinate of the end effector ranges from 2 to 8 m with a step size of 1 m and the Z coordinate ranges from − 7.7 to 8.3 m with a step size of 2 m. Both coordinates referred to the base frame. The end effector frame always coincides with the base frame. More specifically about the force applied on the end effector, in different cases, the force ranges from 0 to 125 N with a step size of 25 N and has directions along positive or negative direction of X, Y, or Z of the base frame. When flying watches are attached, since joint 6–8 have flying watches on both sides, we ensure that these joints range from − 90° to 90°. Since this range is narrower than the safe joint rotation range (from − 101.2° to 101.2°), the flying watches on both sides of a joint do not collide. For joint 1 (base joint), the range is from negative infinity to positive infinity since it is not related to flying watch collision. For other joints, the ranges are from − 165° to 165° so that adjacent links do not overlap. When no flying watch is attached, joint 6–8 range from − 165° to 165°. Other joint ranges do not change.

For a certain case, in order to compare the maximum normalized actuator loads with and without flying watches attached, we define the reduction rate of the maximum normalized actuator load (the cost function \(C\)), \(\zeta\), as follows. \(C_{NO\_FW}\) is the maximum normalized actuator load without flying watch attached. \(C_{FW}\) is the maximum normalized actuator load under the first or second level watch-actuator cooperation. Both \(C_{NO\_FW}\) and \(C_{FW}\) are summed over all cases concerned.

Reduction rate \(\zeta\) reflects how much flying watches have reduced the maximum normalized actuator loads.

Some implementation details are as follows. Regarding the stopping criteria of the example WACAE solution, we use a very high maximum number of iterations (1000) and a very small minimum acceptable decrease of the cost function (\(10^{ - 7}\)) in order to approximate the real local minimal very precisely. When implementing the LIK and IK, the maximum end effector error is 10 mm. We found it is possible (probability = 14.3%) that LIK did not reduce the end effector error under 10 mm in step 1 of the example WACAE solution. We did not include these cases when computing the reduction rate of WACAE and computing the probability that WACAE is helpful, since no optimization really happened. When implementing AODS, for simplicity, we only compute \({\text{LIK}}\left( {i, \varvec{q}\left( i \right) + \in , \varvec{p}_{\varvec{d}} ,\varvec{q}_{\varvec{l}} \left( {i^{c} } \right), \varvec{q}_{\varvec{h}} \left( {i^{c} } \right)} \right)\) in Step 1 instead of \({{\left( {C\left( {s,{\text{LIK}}\left( {i,q(i) + \in ,p_{d} ,q_{l} (i^{c} ),q_{h} (i^{c} )} \right)} \right) - C\left( {s,{\text{LIK}}\left( {i,q(i),p_{d} ,q_{l} (i^{c} ),q_{h} (i^{c} )} \right)} \right)} \right)} \mathord{\left/ {\vphantom {{\left( {C\left( {s,{\text{LIK}}\left( {i,q(i) + \in ,p_{d} ,q_{l} (i^{c} ),q_{h} (i^{c} )} \right)} \right) - C\left( {s,{\text{LIK}}\left( {i,q(i),p_{d} ,q_{l} (i^{c} ),q_{h} (i^{c} )} \right)} \right)} \right)} \in }} \right. \kern-0pt} {\in}}\). If \({\text{LIK}}\left( {i, \varvec{q}\left( i \right) + \in , p_{d} ,q_{l} \left( {i^{c} } \right), q_{h} \left( {i^{c} } \right)} \right)\) exists, then the \(i\)th generalized coordinate can change without changing the end effector configuration. Therefore we regard the \(i\)th generalized coordinate as optimizable. If no flying watch is attached or the attached flying watches are working under the first level watch-actuator cooperation, IK is used to compute arm configurations. Since all joints of the simulation arm are identical, we do not need to divide the torque of a joint by the maximum torque the joint can withstand when computing the cost function in the simulations.

Until now, we have detailed the simulation setup and process, in the following, we will present and discuss the simulation results.

Firstly, we visualize some cases in our simulations in Figs. 8, 9, 10, 11, 12 and 13. The base frame is shown in Figs. 8, 9, 10, 11, 12 and 13. The positive directions of the X, Y, and Z axis of the base frame are respectively shown using magenta, black, and green line segments with one end at the origin of the base frame. The absolute values of joint torques of these cases are shown in Table 2. The positions of end effector of Figs. 8, 9, 10, 11, 12 and 13 are all [4,0,2.3]. The base joints are represented by the red dots and other joints are represented by black dots. The cyan lines on the joints represent the torques of the joints. The end effectors are represented by black dots. The external reaction forces are represented by green lines on the end effector. The flying watch thrusts are represented by red lines. When the first level watch-actuator cooperation is used, the arm is represented by magenta lines. When the second level watch-actuator cooperation is used, the arm is represented by blue lines.

We can see by comparing Figs. 8 and 9 that the second level watch-actuator cooperation can achieve a higher reduction rate with relatively small watch thrusts. By comparing Figs. 10 and 11, when the second level watch-actuator cooperation is applied, we can observe that more horizontal thrusts are positioned closer to the end effector to obtain larger moment arms to counteract the horizontal external reaction force. From Fig. 10 and Table 2, we can also notice that the first level watch-actuator cooperation achieves a negative reduction rate in Fig. 10, which means the situation of operating watches performs worse than the situation in which no watch is attached. This is because when flying watches are attached, joint 6–8 have narrower rotation ranges to avoid flying watch collisions and the arm configuration with less actuator loads may not be available due to the narrower joint rotation ranges. However, we found in most cases operating flying watches helps to reduce the maximum actuator load. The probability that the first level watch-actuator cooperation helps to reduce the maximum actuator load is 95.41% and the probability that the second level watch-actuator cooperation helps to reduce the maximum actuator load is 98.99%. By comparing Figs. 12 and 13, we can also see when the second level watch-actuator cooperation is applied, higher reduction rate can be achieved with smaller thrusts.

Secondly, we summarize the overall simulation results in Table 3. From Table 3, we can see both levels of watch-actuator cooperation can significantly reduce the maximum actuator load by more than 36%. The second level cooperation is statistically more effective than the first level cooperation. However, for a single case, we found sometimes the second level cooperation may result in lower reduction rate than the first level cooperation. The probability that the second level cooperation performs better than the first level cooperation is 73.9%. We believe such phenomenon happens because the example WACAE solution only find local minimal instead of global minimum.

In order to further understand the composition of the reduction rate of the second level cooperation, we removed the mass of flying watches on arm links and skipped step 2 in the example WACAE solution, which means the example solution will only optimize arm configuration. The result is also shown in Table 3. We found only arm configuration optimization will result in a much lower reduction rate (8.7%) than the second level watch-actuator cooperation (43.7%). Therefore, we can understand both optimal flying watch thrusts and optimal watch positions and orientations play a role in enhancing the arm strength.

Thirdly, we tested the computation speed of the WACAE example solution. The computer we used has Intel i7 CPU (Frequency = 2.00 GHz) and 8 GB RAM. For simplicity, we changed the step size of end effector positions in X direction from 1 to 2 m. In each axis, the external reaction force of − 100 N, − 50 N, 0 N, 50 N, and 100 N are sampled for testing computation speed. The speed results are shown in Table 4.

From Table 4, we can see the example WACAE solution is only suitable for offline thrust planning. However, since we used a very high maximum iteration number and very small minimum acceptable decrease of the cost function for the example WACAE solution in order to approximate the real minimal very precisely, the computation speed can be increased by reducing the maximum iteration number and increasing the minimum acceptable decrease of the cost function. From Table 4, we can also observe significant variation of computation time. We believe this is because the number of flying watches (8 flying watches) and the arm degree of freedom (9 DOF) are high. Even though the example solution optimizes thrusts and arm configuration iteratively, in each step (step 2 or step 3 in Algorithm 2), the search spaces still have diverse and complicated high-dimension geometries.

Conclusion

In this paper, we presented a modular watch-like concept, flying watch, which can be attached to robotic arms with mission-dependent attachment styles and generate thrusts in cooperation with arm actuators to enhance arm strength. Our concept is different from previous research in that it can be attached to an arm in a mission-dependent way and cooperate with actuators to enhance arm strength. We first introduced the concept, design, and dynamics of flying watch. Then two levels of watch-actuator cooperation in quasistatic situations is proposed by introducing a problem, WACAE, and providing an example solution. After that, the simulation results confirmed that flying watches can effectively enhance a robotic arm through watch-actuator cooperation.

We believe flying watch provides an important option to enhance long robotic arms. In the future, physical verification of flying watches on PIA will be done. Additionally, we will physically examine the aerodynamic interference between the two propellers on a flying watch.

References

Horigome A, Yamada H, Endo G, et al (2014) Development of a coupled tendon-driven 3D multi-joint manipulator. In: 2014 IEEE international conference on robotics and automation (ICRA). https://doi.org/10.1109/icra.2014.6907730

Endo G, Horigome A, Takata A (2019) Super dragon: a 10-m-long-coupled tendon-driven articulated manipulator. IEEE Robot Automation Lett 4:934–941. https://doi.org/10.1109/lra.2019.2894855

Takeichi M, Suzumori K, Endo G, Nabae H (2017) Development of a 20-m-long Giacometti arm with balloon body based on kinematic model with air resistance. In: 2017 IEEE/RSJ international conference on intelligent robots and systems (IROS). https://doi.org/10.1109/iros.2017.8206097

Keller D, Perrot Y, Gargiulo L, et al (2008) Demonstration of an ITER relevant remote handling equipment for Tokamak close inspection. In: 2008 IEEE/RSJ international conference on intelligent robots and systems. https://doi.org/10.1109/iros.2008.4650808

Rico JAS, Endo G, Hirose S, Yamada H (2017) Development of an actuation system based on water jet propulsion for a slim long-reach robot. ROBOMECH J. https://doi.org/10.1186/s40648-017-0076-4

Ando H, Ambe Y, Ishii A et al (2018) Aerial hose type robot by water jet for fire fighting. IEEE Robot Automation Lett 3:1128–1135. https://doi.org/10.1109/lra.2018.2792701

Endo G, Yamada H, Yajima A, et al (2010) A passive weight compensation mechanism with a non-circular pulley and a spring. In: 2010 IEEE international conference on robotics and automation. https://doi.org/10.1109/robot.2010.5509797

Morita T, Kuribara F, Shiozawa Y, Sugano S (2003) A novel mechanism design for gravity compensation in three dimensional space. In: Proceedings 2003 IEEE/ASME international conference on advanced intelligent mechatronics (AIM 2003). https://doi.org/10.1109/aim.2003.1225089

Hirose S, Ishii T, Haishi A (2003) Float arm V: hyper-redundant manipulator with wire-driven weight-compensation mechanism. In: 2003 IEEE international conference on robotics and automation (Cat No03CH37422). https://doi.org/10.1109/robot.2003.1241623

Horigome A, Endo G, Suzumori K, Nabae H (2016) Design of a weight-compensated and coupled tendon-driven articulated long-reach manipulator. In: 2016 IEEE/SICE international symposium on system integration (SII). https://doi.org/10.1109/sii.2016.7844064

Endo G, Hagiwara T, Nakamura Y, et al (2018) A proposal of super long reach articulated manipulator with gravity compensation using thrusters. In: 2018 IEEE/ASME international conference on advanced intelligent mechatronics (AIM). https://doi.org/10.1109/aim.2018.8452705

Yang H, Park S, Lee J, et al (2018) LASDRA: Large-size aerial skeleton system with distributed rotor actuation. In: 2018 IEEE international conference on robotics and automation (ICRA). https://doi.org/10.1109/icra.2018.8460713

Zhao M, Kawasaki K, Chen X, et al (2017) Whole-body aerial manipulation by transformable multirotor with two-dimensional multilinks. In: 2017 IEEE international conference on robotics and automation (ICRA). https://doi.org/10.1109/icra.2017.7989606

Zhao M, Anzai T, Shi F et al (2018) Design, modeling, and control of an aerial robot dragon: a dual-rotor-embedded multilink robot with the ability of multi-degree-of-freedom aerial transformation. IEEE Robot Automation Lett 3:1176–1183. https://doi.org/10.1109/lra.2018.2793344

Andrei N (2017) A SQP algorithm for large-scale constrained optimization: SNOPT. In: Continuous nonlinear optimization for engineering applications in GAMS technology Springer optimization and its applications. https://doi.org/10.1007/978-3-319-58356-3_15

Pan S, Ishigami G (2017) Strategy optimization for energy efficient extraterrestrial drilling using combined power map. IEEE Robot Autom Lett 2:1980–1987. https://doi.org/10.1109/lra.2017.2709912

SP carried out the main part of this research and drafted the manuscript. GE contributed to the concept, design, and simulation of flying watch and revised the manuscript. All authors read and approved the final manuscript.

Competing interests

The authors declare that they have no competing interests.

Availability of data and materials

The datasets used and/or analysed during the current study are available from the corresponding author on reasonable request.

Funding

Present study includes the result of Advanced Research and Education Program for Nuclear Decommissioning (ARED) entrusted to Tokyo Institute of Technology by the Ministry of Education, Culture, Sports, Science and Technology of Japan (MEXT) (Number:14532863). This work was also partially based on the results obtained from a project commissioned by the New Energy and Industrial Technology Development Organization (NEDO) (Number: 15657497).

ARED supported the construction of PIA. NEDO supported implementation of flying watch.

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Author information

Authors and Affiliations

Department of Mechanical Engineering, Tokyo Institute of Technology, 2-12-1 Ookayama, Meguro-ku, Tokyo, 152-8550, Japan

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.