Introduction

Forthcoming robots are expected to assist humans in hazardous areas to perform tasks such as the maintenance and inspection of plants, disaster response, construction operations, and demining [1, 2]. Hence, such robots will be used in a various scenarios including structured or unstructured environments, flat or rough terrain, indoor or outdoor, and narrow spaces. Recently, wheel-based and crawler robots have been widely used given their high-mobility mechanisms [3]. A wheel-based robot generally has limitations in locomotion over rough terrain. A crawler robot has no such limitation, however, its mechanism has another problem in stability when applied in different types of terrain. On the other hand, legged robots have been proposed as a general solution for any type of terrain [4,5,6]. In fact, legs allow the robot to flexibly select the contact points for locomotion, thus becoming suitable even for irregular terrain.

In narrow spaces such as pipes or ducts, which are inaccessible to humans, robots can be useful for inspection and repair tasks. For instance, specialized robots equipped with sensors, such as a cameras, have been successfully employed for inspection tasks in these spaces [7,8,9], whereas repair tasks require manipulation capabilities. Figure 1 shows a specialized limb mechanism robot, called ASTERISK, which has 6 limbs [10]. Each limb is defined as a leg with mechanisms for both locomotion and basic manipulation. Hence, this robot could be applied for repair tasks in narrow spaces, provided it has the required motion abilities. However, related research has not considered legged robots, which can provide an efficient motion and manipulation solution for tasks in narrow spaces.

Fig. 1
figure 1

Limb mechanism robot ASTERISK

In this paper, we propose new gait strategies for locomotion in narrow spaces, particularly for climbing. In addition, we introduce a model to reduce power consumption when applying the strategies. This paper is organized as follows. In “Limb mechanism robot ASTERISK” section, we detail the limb mechanism robot ASTERISK. Then, we propose the gait strategies in “Proposed gait strategies” section. In “Evaluation of gait strategies” section, initial simulation and experimental results are presented. From these results, we propose a power efficiency model in “Power efficiency model” section, whose evaluation is presented in “Power efficiency evaluation” section. Finally, our conclusions are drawn in “Conclusion” section.

Limb mechanism robot ASTERISK

As mentioned above, the limb mechanism robot called ASTERISK has 6 limbs that can be used for either locomotion or manipulation. The ASTERISK limbs are radially attached to the body at even intervals, as shown in Fig. 1. This arrangement allows homogenous mobility and omnidirectional manipulation.

Overall, ASTERISK has 18 DOF given the 3 rotational joints per limb, as illustrated in Fig. 2. In addition, the symmetric structure of ASTERISK provides the same workspace for each limb. ASTERISK weights 2.67 kg, and has a height of 180 mm at its normal standing posture. Each joint is actuated by a Dynamixel DX-117 servo (ROBOTIS, Korea) that includes a servo motor, a reduction gear, a control unit, and a communication interface. The servos can generate enough torque to support ASTERISK by using only three limbs.

Fig. 2
figure 2

ASTERISK limb diagram

Proposed gait strategies

Static model between parallel walls

To balance the robot posture against two parallel walls, we consider the pressing force at the tip of each limb, as depicted in Fig. 3. The distance between the body of robot and walls is decided by the workspace of each legs and preliminary experiments.

Fig. 3
figure 3

Robot equilibrium between walls

And, as the assumption of the model, the leg tips do not slip on the wall. In the case of actual robot system, the functions are realized by silicon rubber to keep stable holding. The equilibrium equations of force and moment are given by

$$\begin{aligned} M \varvec{g} + \sum _{i=1}^{6} \varvec{f_i} = \varvec{0} \end{aligned}$$
(1)
$$\begin{aligned} M \varvec{p_g} \times \varvec{g} + \sum _{i=1}^{6} \left( \varvec{p_i} \times \varvec{f_i}\right) = \varvec{0} \end{aligned}$$
(2)

where \(\varvec{p_i}\) and \(\varvec{p_g}\) are the vectors corresponding to the tip position of limb i and the center of gravity with respect to the robot coordinate system, respectively, M is the mass of the robot, \(\varvec{f_i}\) is the vector of the force exerted at the tip of limb i by the wall, \(\varvec{g}\) is the gravitational acceleration vector, which is expressed as \(\varvec{g} = \left( 0, 0, -g \right) ^T\), and \(\varvec{F_i}\) is the reactive force to \(\varvec{f_i}\), such that

$$\begin{aligned} \varvec{f_i} = - \varvec{F_i} \end{aligned}$$
(3)

where

$$\begin{aligned} {\left\{ \begin{array}{ll} f_i = 0 &\quad \text {the limb is in a swing phase} \\ f_i > 0 &\quad \text {the limb is in a support phase} \end{array}\right. } \end{aligned}$$
(4)

Gait strategies to climb on parallel walls

To climb up between the walls by legged robot, there are several strategies. As the first challenge of climbing up the parallel walls, we propose two types of gait strategies for ASTERISK, namely, vertical-body climbing gait, illustrated in Fig. 4a, and horizontal-body climbing gait, illustrated in Fig. 4b. The control of both strategies rely on (1) and (2), and consider 2 swing limbs that move simultaneously and 4 support limbs that exert force against the walls. The numbers in Fig. 4 indicate the swing limb sequence. The difference among the strategies is the ASTERISK posture when climbing the parallel walls and the motion sequence.

Fig. 4
figure 4

Proposed gait strategy Left figure is the vertical-body climbing gait. Right figure is the horizontal-body climbing gait.

Static model of gait strategies

For the proposed gait strategies, we considered that the swing limbs move symmetrically across the robot z axis to simplify (1) and (2). Then, by splitting vector \(\varvec{f_i}\) of the force exerted at the tip of limb i and tip position vector \(\varvec{p_i}\) of limb i into their respective components, \((f_{ix},f_{iy},f_{iz})\) and \((p_{ix},p_{iy},p_{iz})\). If limb m and limb n were pair for each gate, the following equalities are established:

$$\begin{aligned} f_{m x} + f_{n x}= & {} 0,\end{aligned}$$
(5)
$$\begin{aligned} f_{m y} + f_{n y}= & {} 0,\end{aligned}$$
(6)
$$\begin{aligned} f_{m z} - f_{n z}= & {} 0,\end{aligned}$$
(7)
$$\begin{aligned} p_{m x} + p_{n x}= & {} 0,\end{aligned}$$
(8)
$$\begin{aligned} p_{m y} + p_{n y}= & {} 0,\end{aligned}$$
(9)
$$\begin{aligned} p_{m z} - p_{n z}= & {} 0,\end{aligned}$$
(10)
$$\begin{aligned} l_m - l_n= & {} 0. \end{aligned}$$
(11)

Therefore, (1) and (2) become

$$\begin{aligned} \sum _{i=1}^{6} f_{iz} - Mg = 0, \end{aligned}$$
(12)
$$\begin{aligned} \sum _{i=1}^{6} \left( p_{ix} f_{iy} \right) + \sum _{i=1}^{6} \left( p_{iy} f_{ix} \right) = 0. \end{aligned}$$
(13)

Eq. (12) represents the equilibrium of forces along the z axis, and (13) represents the equilibrium of moments around the z axis.

Evaluation of gait strategies

Simulations

For a preliminary evaluation of the proposed gait strategies, we developed a dynamics simulator based on the Open Dynamics Engine, ODE [11]. Specifically, we replicated ASTERISK and the experimental environment in the simulator. The ASTERISK structure, i.e., its body and links, were represented by simple 3D objects. The joint characteristics, such as compliance and maximum torque, were retrieved from the Dynamixel servo specifications. Other common parameters for the two strategies are listed in Table 1. The parameter about coefficient of static friction between limb and wall are obtained through preliminary experiment. We set the distance between the walls to 60 cm and 70 cm for the vertical-body climbing gait and horizontal-body climging gait, respectively, according to the limb workspace. Because of the body posture for wall, the workspace of each leg is different. For example, the capable contact area on top legs for vertical-body climbing gait is small compared with the contact area of middle legs of the gait. On the other hand, horizontal-body climbing gait has larger workspace for all legs compared with vertical-body climbing gait. Thus, we set the different distance for two types of gaits.

Table 1 Simulation parameters

Simulation outcomes are shown in Fig. 5, where some parameters, such as the pushing force and limb positions, were empirically chosen. Both gait strategies were successfully executed most of the time, but the robot lost balance and fell in some situations. Hence, these outcomes suggest that robust control for body rotation should be considered.

Fig. 5
figure 5

Simulation outcomes using the proposed gait strategies Left figure is the vertical-body climbing gait. Right figure is the horizontal-body climbing gait

Experiments with real robot

After verifying the feasibility of both gait strategies in simulations, we implemented them on an real environment using the ASTERISK robot. The applicable parameters were the same as those for the simulation (Table 1). In addition, the two walls consisted of acrylic boards, and the limb tips were made of silicon rubber to increase friction. In the experiments, we manually set the robot near the ground and between the walls as its initial starting position.

Experimental outcomes are shown in Figs. 6 and 7 for the two gait strategies, where ASTERISK performed a cycle of the corresponding strategies. In each figure, bottom figures describes the drawing to be easy to understand the motion of upper figures.

Fig. 6
figure 6

Vertical-body climbing gait sequence

Fig. 7
figure 7

Horizontal-body climbing gait sequence

Overall, ASTERISK successfully executed several gait cycles during the experiments. Figure 8 shows the servo torque variations over a cycle during vertical-body climbing gait, where \(\tau _i\) denotes the torque at joint i. The torque output suitably agrees with that obtained from the simulations. One gate cycle takes around 6s. However, the gate cycle is sometimes extend to approximately 12s, because of delays of servo feedback. Figure 8 shows that different servos exhibit high torques, which may cause servo failures. Therefore, the load at each servo should be reduced to improve the gait strategy performance.

Fig. 8
figure 8

Servo torque evolution during vertical-body climbing gait a Limb from pair 1, b Limb from pair 2, c Limb from pair 3

Power efficiency model

To improve the proposed gait strategies and prevent servo failure, we applied a power efficiency model that aims to reduce the output torque [12]. The servo motors at the joints of ASTERISK are DC powered, and hence their output torque is proportional to the current:

$$\begin{aligned} \tau = k_\tau \cdot I, \end{aligned}$$
(14)

where \(\tau \) is the servo torque, I is the current, and \(k_\tau \) means a torque constant. Likewise, power is proportional to current at a constant voltage:

$$\begin{aligned} P = V \cdot I, \end{aligned}$$
(15)

where P is the power and V is the voltage. Finally, electrical energy E is obtained by integrating power over time:

$$\begin{aligned} E = \int P dt. \end{aligned}$$
(16)

From Eqs. (14)–(16), the required energy is proportional to the total servo torque consumed over the period. Hence, minimizing the output torque corresponds to a power efficiency strategy. Fig. 8 shows an increase in the torque of the support limbs. Therefore, we focus on the motor torque at these limbs for the power efficiency model.

Even for small torques, a pressing force that depends on the limb position and posture should be exerted by ASTERISK [13]. Therefore, the limb position and posture should be first improved. Specifically, we calculated the torque to provide sufficient force at the tip of the limb within the limb workspace. Then, we selected the limb position and posture that minimize the sum of output torques during a cycle. To obtain above information, the sum of output torque for all point in workspace of a leg is calculated by statics of leg. The overview of output analysis is shown in Fig. 9.

Fig. 9
figure 9

Limb evaluation to minimize output torque

We determined the relationship between joint torques and tip force from inverse statics by using the diagram in Fig. 10, and obtained:

$$\begin{aligned} \varvec{\tau } = \left( \begin{array}{c} \tau _1 \\ \tau _2 \\ \tau _3 \end{array} \right) = \varvec{J}^T \varvec{F}, \end{aligned}$$
(17)

where \(\varvec{\tau }\) is the torque vector with components \(\tau _1\), \(\tau _2\), and \(\tau _3\), \(\varvec{F}\) is the force vector at the limb tip, and \(\varvec{J}^T\) is the transpose of the Jacobian matrix, which depends on the joint angles and the length of each limb link, and is given by

$$\begin{aligned} \varvec{J}^T = \left( \begin{array}{c} \left( \varvec{a_1} \times \left( \varvec{p} - \varvec{q_1} \right) \right) ^T \\ \left( \varvec{a_2} \times \left( \varvec{p} - \varvec{q_2} \right) \right) ^T \\ \left( \varvec{a_3} \times \left( \varvec{p} - \varvec{q_3} \right) \right) ^T \end{array} \right) , \end{aligned}$$
(18)

where \(a_i\) is the rotation direction vector of joint i, \(\varvec{p}\) is the position vector of the limb tip, and \(\varvec{q_i}\) is the position vector of joint i. Force vector F is given by

$$\begin{aligned} \varvec{F} = \frac{Mg}{N_{support}} \left( \begin{array}{c} \frac{1}{\mu } \\ 0 \\ - 1 \\ \end{array} \right) , \end{aligned}$$
(19)

where \(N_{support}\) is the number of support limbs. The z component of this vector is the minimum necessary to satisfy (12). Then, we define evaluation function T as

$$\begin{aligned} T = \int _{cycle} \left( | \tau _1 | + | \tau _2 | + | \tau _3 | \right) dt, \end{aligned}$$
(20)

because it is difficult to simultaneously minimize all the joint torques in a limb. Instead, we minimize the sum of the absolute values of \(\tau _1\), \(\tau _2\) and \(\tau _3\), which are calculated from (17) over a cycle. We determined the best trajectory for each supporting limb during a cycle from the minimum among evaluation functions at every position and posture. We assumed that each best trajectory follows a vertical line direction.

Fig. 10
figure 10

Inverse statics relating tip force and joint torques

Power efficiency evaluation

In this study, we only applied the power efficiency model to the vertical-body climbing gait. The evaluation functions are depicted according to the contact point on the wall as color maps in Fig. 11. Because of ASTERISK symmetric design, we only analyzed one limb per pair of corresponding limbs, thus Fig. 11 shows three cases (one side of top legs, middle legs, bottom legs in the case of vertical-body climbing gait).

Fig. 11
figure 11

Evaluation function values according to contact point a Limb from pair 1, b Limb from pair 2, c Limb from pair 3

The coordinate values are expressed with respect to the robot coordinate system, and the red lines represent the best trajectories of the support limbs. The position and posture on these trajectories satisfy (13). To guarantee stability, we omitted the area between −30 and 30 mm along the y axis from the analysis.

To verify these results, we implemented them in the real robot. The corresponding servo torque evolution is shown in Fig. 12. And, the experimental scene is shown in Fig. 13. Figure 12a shows that a some torques, such as \(\tau _3\), are larger than those in Fig. 8a. However, the total output torque, as defined in the evolution function, decreased about 18% compared with the results from section. Therefore, the power consumption also decreased in the same amount.

Fig. 12
figure 12

Servo torque evolution during vertical-body climbing gait using power efficiency model a Limb from pair 1, b Limb from pair 2, c Limb from pair 3

Fig. 13
figure 13

Experimental scene of vertical-body climbing gait considering power efficiency model

Conclusion

In this paper, we propose two new gait strategies for the limb mechanism robot ASTERISK to climb on parallel walls. Both strategies, vertical-body climbing gait and horizontal-body climbing gait, consider two swing limbs and four support limbs. For vertical-body climbing gait, the body of the robot remains upright, whereas for horizontal-body climbing gait, the body of the robot remains horizontal, i.e., parallel to the ground. We verified the feasibility of the proposed gait strategies through simulations and real robot experiments. In addition, we evaluated a power efficiency model that may prevent servo failures. This model also improved the position and posture of the robot limbs, and reduced the total torque during climbing.

As future work, we aim to improve the robot stability during motion using the proposed strategies. In addition, ASTERISK will be tested for a climbing task within an in-pipe environment.