Open Access

“Leg-grope walk”: strategy for walking on fragile irregular slopes as a quadruped robot by force distribution

ROBOMECH Journal20163:7

https://doi.org/10.1186/s40648-016-0046-2

Received: 1 October 2015

Accepted: 19 February 2016

Published: 12 March 2016

Abstract

Problems can often occur when a legged robot attempts to walk on irregular or damaged terrain, such as in search and rescue missions during natural and man-made disasters. In some cases, the ground beneath the robot will collapse because of the pressure of its weight, causing the machine to lose its foothold and topple over. This is a point to which we as designers must pay careful attention when designing a robot. Thus, in such irregular areas, the robot should walk carefully so as not to collapse its footholds. To attempt to solve this problem, we proposed the “leg-grope walk” method which allows a quadruped robot to avoid stumbling or causing a large collapse of the surrounding area on weak horizontal planes. Specifically, when the robot puts its foot on the ground, it applies some excess force on the ground and confirms whether the foothold is likely to collapse, so as to choose a foothold will not collapse. In this study, we extended this method to weak and irregular slopes, where slippage needs to be considered. A new walking method was designed using a force distribution method. To validate the method, we show simulation results from force distribution and robotic experiments in various environments. These results demonstrate that our method allows a robot to walk carefully without slipping or stumbling, even when its foothold is lost.

Keywords

Quadruped robotIrregular terrainFragile environmentForce distributionWalking strategy

Background

Search and rescue workers face a dangerous and difficult task when they attempt to rescue survivors after a disaster, because they are at risk of getting caught in a secondary disaster. Despite this, they must search quickly because the survival rate drastically drops over time. This is why recently many organizations have begun to use robots in search and rescue missions to decrease the risk to human life. The terrain in rescue scenarios is often very rough, giving legged robots an advantage over wheeled and tracked vehicles. That advantage comes from legged robots’ redundancy; therefore, we focused our research on this type of robot.

To walk competently on irregular terrain, stability is a key issue for quadruped robots. The first research on quadruped robots focused on static walking, where the center of the gravity (COG) is always in the supporting leg polygon [1]. Hirose et al. [2] built a series of quadruped robots (TITAN) that could stably climb up a set of stairs. A stability criterion, the Normalized Energy Stability Margin, was proposed to evaluate the stability of walking [3]. A walking gait with a large stability margin was also proposed [4]. Estremera and Santos proposed a free gait, which allows the quadruped robot (SILO4) to have a statically stable gait by searching for optimal footholds [5, 6]. Many researchers have also suggested the force distribution method to prevent slippage on irregular terrains in simulations [710]. Currently, there is a real robot that can avoid slippage by distributing contact forces optimally using joint torque control [11].

However, to walk on irregular terrain continuously, it is also important to generate the path where the robot is to walk, as well as footholds based on geometric information. Path planning on irregular terrain has been much improved through the Learning Locomotion program conducted by the Defense Advanced Research Project Agency (DARPA). In that project, several researchers showed that a quadruped robot, LittleDog [12], could climb over rough terrain by searching for optimal footholds if the geometrical information about the environment and the robot position were known [1316]. A team at the Florida Institute for Human and Machine Cognition has proposed many algorithms, such as a fast foothold planning method and a new parametrized gait generator, which can generate static and dynamic walking [14]. Similarly, a team from the University of Southern California proposed the terrain template concept to teach the robot what consists of suitable terrain for footholds  [15]. Finally, the Stanford LittleDog has many learning algorithms installed, focusing on recovery and stabilization methods to combat problems such as unexpected slippage [16].

It is important to obtain further information about the environment, including the relevant geometric information, to achieve stable walking. Some researchers have focused on terrain classification based on haptic feedback [1720]. Hoepfinger et al. [17] estimated surface friction by applying forces on the foothold. This haptic feedback is associated with the foothold shape and can be used to estimate the friction of an untouched foothold using geometrical data. Tokuda et al. [19] proposed a method to estimate fragile footholds using the foot’s center of force and pressure changes. Although their quadruped robot could detect when a foothold was collapsing, they did not propose how to make the robot walk on fragile terrain without stumbling.

Thus, in this study, we propose a stable walking method for fragile irregular terrain. We focus on how to detect fragile footholds with haptic information, and how to walk stably using this information. We do not focus on the path planning algorithm, because this is not one of our main aims.

Previously, we proposed a walking method named the “leg-grope walk” method, and discussed the validity of this strategy based on our experiments on a fragile horizontal plane [21]. According to this method, when the robot puts its foot on the ground, it applies some excess force and confirms whether the foothold is stable, and then chooses a foothold that does not collapse. In addition, the robot walks slowly so as not to apply force over probed reaction, avoiding foothold collapse. This algorithm allowed the robot to walk safely while avoiding stumbling on horizontal planes.

In this paper, the environment is extended to an irregular slope, where slippage must be considered. Hence, in the proposed strategy, tip-point forces in the x-y-z directions are distributed using a standard Quadratic Programing method such that the friction and leg-grope constraints (explained later) are satisfied. The simulation results of the force distribution on various terrains are shown to evaluate the validity of the method. We also carried out walking experiments with the robot, not only on a slope but also on irregular terrain, to evaluate the validity of our method. Our results indicate the validity of the leg-grope walk method. This paper is the extension of our published conference paper [22], and extend our previous findings to include: (1) the simulation results of the force distribution; (2) walking experiments with the robot; and (3) a detailed explanation of the method.

Methods

Quadruped robot and model

The developed robot (Fig. 1a) consists of a body and four legs, each of which has three active joints with servomotors. A three-axis force sensor is installed on each toe to sense a resultant force vector. An attitude sensor and an accelerometer are equipped on the center of the robot body. The parameters of the robot are presented in Table 1.
Table 1

The parameters of the robot

Parameters (m)

Value

Parameters (kg)

Value

Body width

0.15

Body mass

4.54

Body length

0.29

Link1 mass

0.03

Link1 length

0.072

Link2 mass

0.35

Link2 length

0.109

Link3 mass

0.25

Link3 length

0.172

Whole mass

7.06

Fig. 1

Quadruped robot: a robot and b, c model

Fig. 2

Process of the leg-grope walk for a right front leg. a stick figures of the robot and b time response of normal reaction of the right front leg. Step A: the robot moves COG standing on four legs. Step B: the robot reduces the force of the groping leg without any movement. Step C: the robot swings the groping leg to the point of the leg-grope. Step D: the robot applies the force to the ground gradually up to \(R_\mathrm{{ref}}\)

Fig. 3

Admissible region patterns. a The region for the COG when three legs (position \(\varvec{p}_{i,j,k}\)) are on the ground and b The region for the groping leg when the COG (position \(\varvec{p}_{g}\)) is fixed on \(O_\mathrm{G}-x_\mathrm{G}y_\mathrm{G}\) plane. Admissible regions are colored gray. These patterns are classified depending on the relation of variables \(h^i_\mathrm{ref}\), \(h^j_\mathrm{ref}\), \(h^k_\mathrm{ref}\) and \(h^\mathrm{grp}_\mathrm{ref}\) as shown in Table 2. On figure b, \(\triangle {\varvec{p}_g \varvec{p}_i \varvec{p}_j}\) and \(\triangle {\varvec{p}_g \varvec{b} \varvec{a}}\) are simillar and the relation is \((1 - h_\mathrm{{ref}}^\mathrm{{grp}}) \left| \varvec{p}_g - \varvec{p}_j \right| = h_\mathrm{{ref}}^\mathrm{{grp}} \left| \varvec{p}_g - \varvec{a} \right|\)

Table 2

The relations of variables \(h^i_\mathrm{ref}\), \(h^j_\mathrm{ref}\), \(h^k_\mathrm{ref}\) and \(h^\mathrm{grp}_\mathrm{ref}\) in Fig. 3

Number

Conditions

a-(1)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^j \le 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^k \le 1, \, h_{\mathrm{ref}}^k + h_{\mathrm{ref}}^i \le 1\)

a-(2)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^j > 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^k \le 1, \, h_{\mathrm{ref}}^k + h_{\mathrm{ref}}^i \le 1\)

a-(3)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^j \le 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^k > 1, \, h_{\mathrm{ref}}^k + h_{\mathrm{ref}}^i \le 1\)

a-(4)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^j \le 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^k \le 1, \, h_{\mathrm{ref}}^k + h_{\mathrm{ref}}^i > 1\)

a-(5)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^j > 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^k > 1, \, h_{\mathrm{ref}}^k + h_{\mathrm{ref}}^i \le 1\)

a-(6)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^j > 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^k \le 1, \, h_{\mathrm{ref}}^k + h_{\mathrm{ref}}^i > 1\)

a-(7)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^j \le 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^k > 1, \, h_{\mathrm{ref}}^k + h_{\mathrm{ref}}^i > 1\)

a-(8)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^j > 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^k > 1, \, h_{\mathrm{ref}}^k + h_{\mathrm{ref}}^i > 1\)

b-(1)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^{\mathrm{grp}} < 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^{\mathrm{grp}} < 1\)

b-(2)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^{\mathrm{grp}} \ge 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^{\mathrm{grp}} < 1\)

b-(3)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^{\mathrm{grp}} < 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^{\mathrm{grp}} \ge 1\)

b-(4)

\(h_{\mathrm{ref}}^i + h_{\mathrm{ref}}^{\mathrm{grp}} \ge 1, \,h_{\mathrm{ref}}^j + h_{\mathrm{ref}}^{\mathrm{grp}} \ge 1\)

Figure 1b, c shows the leg and the front view of the quadruped model of the robot. The body and the links of the legs are rigid. We name the legs of the robot \(L_1\), \(L_2\), \(L_3\), and \(L_4\), starting clockwise from the left front leg. Each leg i has three links and joints, and we name them Links i1, i2 and i3 and Joints i1, i2 and i3 starting from the root of leg. Joint i1 of Leg i is a yaw joint that allows the leg to move from back to front. Joints i2 and i3 are pitch joints that allow the leg to be lifted up and down. The coordinate frames and variables of the robot are described as follows (see also Fig. 1b, c).
\(\Sigma _{\mathrm{G}}\):: 

\(O_{\mathrm{G}}-x_{\mathrm{G}}y_\mathrm{G}z_\mathrm{G}\). A base coordinate frame fixed at the environment. \(z_\mathrm{G}\) axis: opposite direction of gravity.

\(\Sigma _\mathrm{R}\):: 

\(O_\mathrm{R}-x_\mathrm{R}y_\mathrm{R}z_\mathrm{R}\). A robot coordinate frame fixed at the center of the robot body. \(z_\mathrm{R}\) axis: vertical direction of the robot. \(x_\mathrm{R}\) axis: forward direction of the robot.

\(\Sigma _{i\mathrm{S}}\):: 

\(O_{i\mathrm{S}}-x_{i\mathrm{S}}y_{i\mathrm{S}}z_{i\mathrm{S}}\). A contact coordinate frame fixed at the contact point of \(L_i\). \(z_{i\mathrm{S}}\) axis: direction of normal reaction. \(x_{i\mathrm{S}}\) axis: direction of gradient of the contact plane.

M:: 

Total mass of the robot

g:: 

Gravitational acceleration

\(\theta _i\):: 

Angle between \(z_\mathrm{G}\) and \(z_{i\mathrm{S}}\) axis (i.e. angle of gradient of the slope where \(L_i\) contacts)

\({\varvec{r}_\mathrm{R}}\) :: 

Position vector of the origin of \(\Sigma _\mathrm{R}\)

\(\phi _{\mathrm{{r,p,y}}}\):: 

roll \(\phi _\mathrm{r}\), pitch \(\phi _\mathrm{p}\) and yaw \(\phi _\mathrm{y}\) angles of the robot

\({\varvec{q}_B}\) :: 

\(=[ {\varvec{r}_B}^T \, \phi _r \, \phi _p \, \phi _y ]^T \in R^{6 \times 1}\)

\(\theta _{ij}\):: 

Angle of the Joint ij

\({\varvec{q}_{Li}}\) :: 

\(=[ \theta _{i1} \, \theta _{i2} \, \theta _{i3}]^T \in R^{3 \times 1}\)

\(\tau _{ij}\) :: 

Torque that is input to the joint j of \(L_i\)

\({\varvec{\tau }}_i\) :: 

\(=[ \tau _{i1} \, \tau _{i2} \, \tau _{i3}]^T \in R^{3 \times 1}\)

\({\varvec{f}_i}\):: 

Resultant force vector of \(L_i\) applied by ground

\({\varvec{R}_i}\):: 

Normal reaction vector of the leg \(L_i\)

\({\varvec{P}_g}\):: 

Position vector of the COG of the robot

\({\varvec{P}_i}\):: 

Position vector of the contact point of \(L_i\)

\({\varvec{p}_g}\in {R^{2}}\):: 

Vector projected \({\varvec{P}_g}\) on \(O_\mathrm{G}-x_\mathrm{G}y_\mathrm{G}\) plane

\({\varvec{p}_i}\in {R^2}\):: 

Vector projected \({\varvec{P}_i}\) on \(O_\mathrm{G}-x_\mathrm{G}y_\mathrm{G}\) plane

Unless otherwise noted, the vectors are defined in the base coordinate frame \(\Sigma _\mathrm{G}\).

Strategy of leg-grope walk

In this section, we describe the strategy of the leg-grope walk as described in [22]. First, we define the type of fragile irregular terrain used in this study; next, we outline the basic strategy of the leg-grope walk; and finally, we explain the consequent one-cycle walking movement for a leg.

Definition of fragile terrain

For the purpose of this study, we used a fragile and uneven environment for the target area in which our legged robot walks. This environment is defined as to be like an area with scattered debris and collapsed buildings, on which surfaces may collapse when put under external forces such as the pressure from a robot’s leg. We define the threshold of normal reaction as \(R_{\mathrm{break}}\in R^1(>0)\) to an area of the environment, and assume that this area collapses if the external normal force is over \(R_{\mathrm{break}}\). When a robot moves on such areas, it is necessary for it to find strong footholds so as to avoid stumbling and falling. To check for fragile areas, the robot applies some excess force to the environment to confirm whether it collapses or not. A dangerous foothold for robot locomotion is defined as a region that satisfies \(R_{\mathrm{break}} \le R_{\mathrm{max}}\), where \(R_{\mathrm{max}} \in R^1(> 0)\) is the maximum value of the normal reaction that is applied to all legs during one walking cycle, except for the leg-grope movement, which will be explained in the next section Walking methods. For simplicity, we assume that the contact area of any leg is a point and that the contact point of any leg is on a smooth surface where a normal reaction can be defined. In addition, we assume that the robot has a geometrical 3D map of the environment.

Walking method

The following two walking strategies are proposed to achieve safe locomotion for a legged robot on fragile terrain.
  1. (1)

    Examine whether a foothold candidate, which a robot will use for its locomotion, can stand up to a certain value of external force \(R_{\mathrm{ref}} \in R^1\). In addition, it must be guaranteed that the robot will not fall down even if the foothold collapses.

     
  2. (2)

    Satisfy the condition that the maximum normal reaction for all legs \(R_{\mathrm{max}}\) needed for walking is less than \(R_{\mathrm{ref}}\) set in the walking strategy 1 while the robot walks on fragile terrain.

     

In particular, we call walking strategy 1 a leg-grope movement. By using this movement, the robot can distinguish a safe region for its locomotion.

The leg-grope movement is an action by which a robot checks whether a targeted region will collapse, statically; that is, the robot applies force gradually to the targeted region until the normal reaction of a groping leg is over a given value \(R_{\mathrm{ref}}\) (“grope-reaction”) when standing on four legs. If the targeted region collapses in this movement, the robot can remain standing on the other three legs without falling down. When the robot is performing the leg-grope movement, we let the movement of the COG of the robot be negligible for a simple formulation.

The following relation is satisfied if the targeted region does not collapse during the leg-grope movement.
$$\begin{aligned} R_{\mathrm{ref}} < R_{\mathrm{break}}. \end{aligned}$$
(1)
In addition, if walking strategy 2 is satisfied, the robot can walk without causing those footholds that have been already probed to collapse.

Leg-grope walk

On the basis of the above leg-grope movement, the concrete one-leg cycle walking strategy (leg-grope walk) of a quadruped robot is explained in four steps (Fig. 2). Figure 2a represents the status of the robot in following Steps A–D in the case of groping using the right front leg. Figure 2b represents the time response of the normal reaction of the groping leg in each step.
  1. A

    Move the COG of the robot standing on four legs.

     
  2. B

    Reduce the force of the groping leg to 0 gradually without any movement.

     
  3. C

    Swing the groping leg to the point of the leg-grope and make the leg touch down.

     
  4. D

    Apply the force to the ground with the groping leg gradually, up to \(R_{\mathrm{ref}}\) (leg-grope movement) with a movement small enough to ignore the movement of the COG. Even if the foothold collapses during this step, the robot can still keep its pose stable by standing on the other three legs. Thus, the robot can repeat this procedure from Step C to find a stable foothold.

     

It is guaranteed that the robot will not slip or apply normal force over the grope-reaction \(R_{\mathrm{ref}}\) to the environment by using force distribution in all steps.

To execute the leg-grope walk, the admissible region to which the COG can be moved in Step A and the admissible region on which the groping leg can be placed in Step D should be considered. Furthermore, the way to distribute optimal forces of the legs should be formulated. The geometrical regions of the COG’s position and the contact point of the groping leg are shown in the next subsection, the formulation of force distribution is then shown in the following subsection, and the simulation and experimental results are shown in the “Results and discussion” section.

Geometrical relation of leg-grope

In this section, an admissible region of the position of the COG and that of the contact point of groping leg are derived. For easy derivation, we assume that the force vector \(\varvec{f}_i\) is parallel to the direction of gravity; in other words, the friction force is determined uniquely. We only consider the static equilibrium because the leg-grope is carried out without any movement as in Fig. 2. First, we show the equilibrium of force and moment of the robot system, and next, we show the admissible geometrical regions of the position of the COG and the contact point for the groping leg.

Equilibrium of force and moment

Under the above assumptions, in the case where three legs \(L_i, L_j, L_k\) are on the ground (which we represent as \(\Delta (L_i,L_j,L_k)\)), the equilibrium of force and moment of the robot is written as
$$\begin{aligned} 1 - h_i - h_j - h_k&= 0, \nonumber \\ {\varvec{p}_g} - h_i {\varvec{p}_i} - h_j {\varvec{p}_j} - h_k {\varvec{p}_k}&= 0, \end{aligned}$$
(2)
where \(h_n = |{\varvec{f}_n}| / Mg\) \((n = 1,2,3,4)\). Note that these equations consist of the projected vectors and \(h_n\). The relationship between \(R_n = |{\varvec{R}}_n|\) (magnitude of normal reaction of leg \(L_n\)) and \(f_n = |{\varvec{f}_n}|\) (magnitude of force which the robot applies) is described as follows, because of the assumption about friction:
$$\begin{aligned} R_n = f_n \cos \theta _n. \end{aligned}$$
(3)
Hence, the confirmation of condition (whether the foothold collapsed or not) by applying normal force to the targeted area up to \(R_{\mathrm{ref}}\), is the same as the confirmation by applying vertical force to the targeted area up to \(f_{\mathrm{ref}}^{n} \equiv R_{\mathrm{ref}}/\cos \theta _n\) (“grope-force”). We need to select \(R_{\mathrm{ref}}\) to fulfill the inequality \(Mg/3 \le f_{\mathrm{ref}}^n \le Mg\). When the robot stands statically on three legs, the largest magnitude of force \(f_i\) on those three legs is larger than Mg / 3. Hence, the lower bound of \(R_{\mathrm{ref}}\) should be Mg / 3 to satisfy walking strategy 2. The upper bound means that the maximum force that a robot can apply statically in the leg-grope movement should be Mg.

Admissible region of COG and contact point of groping leg

To employ the walking method, we need to determine the position to which the robot moves its COG in Step A of Fig. 2, and also determine the position where the groping leg can apply force to the ground in Step D of Fig. 2.

The admissible region of the position of the COG is determined such that the magnitude of the vertical force of each leg does not exceed that of the grope-force when the robot stands on three legs (Step B of Fig. 2). The admissible region of the contact point for the groping leg is determined such that the magnitude of the vertical force of the groping leg larger than that of the grope-force, and the magnitude of the vertical force for the other three legs less than that of the grope-force. In fact, the vertical force of one of the three legs is assumed to be zero (we call this leg the “float leg” ), because the groping leg can apply the maximum force when one of the other legs is floating.

Let us consider the state \(\Delta (L_i,L_j,L_k)\) in Step A of Fig. 2, and the residual leg is described as the groping leg \(L_{\mathrm{grp}}\). Let leg \(L_k\) be the float leg in Step C of Fig. 2 without loss of generality. With this situation, we calculate the admissible region of the position of the COG and that of the contact point for the groping leg on \(O_\mathrm{G}-x_\mathrm{G}y_\mathrm{G}\) plane.

Admissible region of COG In the state \(\Delta (L_i,L_j,L_k)\), the admissible region of the position of the COG \(\pi _g (L_i,L_j,L_k)\) is calculated as follows.

The magnitude of the vertical force of each leg \(f_n\) needs to be less than the grope-force \(f_{\mathrm{ref}}^n\) and this condition is represented as
$$\begin{aligned} \left\{ \begin{array}{l} 0 < h_i \le h_{\mathrm{ref}}^i\\ 0 < h_j \le h_{\mathrm{ref}}^j\\ 0 < h_k \le h_{\mathrm{ref}}^k, \end{array} \right. \end{aligned}$$
(4)
where \(h_{\mathrm{ref}}^n \equiv f_{\mathrm{ref}}^n/Mg\). Using these constraints (Eq. 4) and Eq. 2, the projected position of the COG can be represented as follows.
$$\begin{aligned} \left\{ \begin{array}{l} 0 < h_i \le h_{\mathrm{ref}}^i\\ 0 < h_j \le h_{\mathrm{ref}}^j\\ 0 <1 - h_i - h_j \le h_{\mathrm{ref}}^k , \end{array} \right. \end{aligned}$$
(5)
$$\begin{aligned} {\varvec{p}_g} = \{ h_i {\varvec{p}_i} + (1 - h_i) {\varvec{p}_k} \} + h_j({\varvec{p}_j} - {\varvec{p}_k}). \end{aligned}$$
(6)
By changing the parameters \(h_i\) and \(h_j\) under the constraints (Eq. 5), an admissible region of the COG \(\pi _g (L_i,L_j,L_k)\) can be calculated based on Eq. 6. The region \(\pi _g (L_i,L_j,L_k)\) is classified into eight geometrical patterns (Fig. 3a) under the relations of variables \(h_{\mathrm{ref}}^i, h_{\mathrm{ref}}^j\) and \(h_{\mathrm{ref}}^k\) (see Table 2). We also represent the region \(\pi _g (L_i,L_j,L_k)\) as the gray triangle in Fig. 4a for a specific example (\(h^i_{\mathrm{ref}} = h^j_{\mathrm{ref}} = h^k_{\mathrm{ref}} = 1 / 2\)). This example is a special case of a-(1) in Table 2, where all conditions satisfy the equality.
Admissible region of groping leg for fixed COG with a particular float leg The region \(\pi _{{\mathrm{grp}},g} (L_i,L_j,L_{\mathrm{grp}})\), which is the admissible region of the contact point of the groping leg for a fixed COG, is calculated as follows.
Fig. 4

Process to determine the region where the groping leg can be set. This figure shows the process in the case (\(h_\mathrm{{ref}}^i = h_\mathrm{{ref}}^j = h_\mathrm{{ref}}^k = h_\mathrm{{ref}}^\mathrm{{grp}} = 1/2\)) on \(O_\mathrm{G}-x_\mathrm{G}y_\mathrm{G}\) plane. In figure a, when three legs (position \(\varvec{p}_{i,j,k}\)) are on the ground, the admissible region of COG can be calculated as in the gray triangle, where each top point of the gray triangle is the middle point of the side of \(\triangle {\varvec{p}_i \varvec{p}_j \varvec{p}_k}\). Then, in figure b, the admissible region of the groping leg for fixed COG (position \(\varvec{p}_g\)) and a particular float leg (\(L_k\)) can be calculated as in the dark gray triangle, where the dark gray triangle and \(\triangle {\varvec{p}_i \varvec{p}_j \varvec{p}_g}\) are congruent. In figure c, the admissible region of the groping leg for all admissible COG positions (grey triangle in figure a for a particular float leg (\(L_k\)) can be calculated as in the gray trapezoid. Finally, in figure d, by repeating the same procedure for the other float legs (\(L_{i,j}\)), the admissible region of groping leg can be calculated as in the gray triangle

Fig. 5

Definition of the environment where the robot walks in the simulation. The robot walks on a simple slope whose inclination angle is \(\theta\). The angle between the walking direction and the gradient vector of the slope is defined as \(\psi\)

Fig. 6

Geometrical relations of leg-grope for the simulation and experiments. Each figure shows the relation in the case of the groping leg a \(L_2\), b \(L_1\), c \(L_3\) and d \(L_4\) on \(O_\mathrm{G}-x_\mathrm{G}y_\mathrm{G}\). For one walking cycle, the robot moves its COG and swings four groping legs \(L_2\), \(L_1\), \(L_3\) and \(L_4\) in sequence by following these geometrical relations. In each graph (ad), an arrow and a red rectangle represent the moving direction of the robot and the shape of the robot body, respectively. The blue square point is the targeted point of the groping leg, and the other three points (two black circles and black triangle) represent the contact points of the other three legs. The biggest black triangle region represents the supporting leg polygon, except for the groping leg. The green triangle region represents the admissible region of the COG \(\pi _g\), and the green asterisk point represents the targeted position of the COG. The blue triangle region represents the admissible region of the position of the groping leg for the COG \(\pi _{\mathrm{{grp}},g}\), where the float leg is shown by the black triangle point

Because the groping leg \(L_{\mathrm{grp}}\) can apply the maximum force when one of the legs is floating, we consider leg \(L_k\) as the float leg in the leg-grope movement. Then, we consider the state \({\Delta }(L_i,L_j,L_{\mathrm{grp}})\). From Eq. 2, the equilibrium of force and moment is represented as
$$\begin{aligned} 1 - \hat{h}_i - \hat{h}_j - {h_{\mathrm{grp}}}&= 0, \nonumber \\ {\varvec{p}_g} - \hat{h}_i {\varvec{p}_i} - \hat{h}_j {\varvec{p}_j} - {h_{\mathrm{grp}}} {\varvec{p}_{\mathrm{grp}}}&= 0, \end{aligned}$$
(7)
where the variables of Eq. 7 are distinguished from the ones used before by using a hat “ \(\hat{}\) ”. The conditions where the magnitude of the vertical force of the groping leg \(f_{\mathrm{grp}}\) is larger than that of the grope-force \(f_{\mathrm{ref}}^{\mathrm{grp}}\), and the magnitudes of the vertical forces of the other legs are less than those of the grope-force \(f_{\mathrm{ref}}^{i}\) and \(f_{\mathrm{ref}}^{j}\), are described as
$$\begin{aligned} \left\{ \begin{array}{l} \displaystyle h_{\mathrm{ref}}^{\mathrm{grp}}\le h_{\mathrm{grp}} < 1\\ 0 < \hat{h}_i \le h_{\mathrm{ref}}^i\\ 0 < \hat{h}_j \le h_{\mathrm{ref}}^j, \end{array} \right. \end{aligned}$$
(8)
where \(h_{\mathrm{ref}}^{\mathrm{grp}} = f_{\mathrm{ref}}^{\mathrm{grp}} / Mg\). Using Eqs. 7 and 8 yields
$$\begin{aligned} {{\varvec{p}_{\mathrm{grp}}} = {\varvec{p}_g} + \frac{\hat{h}_i}{1-\hat{h}_i-\hat{h}_j} ({\varvec{p}_g} - {\varvec{p}_i}) + \frac{\hat{h}_j}{1-\hat{h}_i-\hat{h}_j}({\varvec{p}_g} - {\varvec{p}_j})}, \end{aligned}$$
(9)
$$\begin{aligned} \left\{ \begin{array}{l} \displaystyle 0 < \frac{\hat{h}_i}{1-\hat{h}_i-\hat{h}_j} \le \frac{h_{\mathrm{ref}}^i}{h_{\mathrm{ref}}^{\mathrm{grp}}}\\ \displaystyle 0 < \frac{\hat{h}_j}{1-\hat{h}_i-\hat{h}_j} \le \frac{h_{\mathrm{ref}}^j}{h_{\mathrm{ref}}^{\mathrm{grp}}}.\\ \end{array} \right. \end{aligned}$$
(10)
The region \(\pi _{{\mathrm{grp}},g} (L_i,L_j,L_{\mathrm{grp}})\), which is represented by Eqs. 9 and 10, is classified into four geometrical patterns (Fig. 3b) under the relations of the variables \(h_{\mathrm{ref}}^i, h_{\mathrm{ref}}^j\) and \(h_{\mathrm{ref}}^{\mathrm{grp}}\) (see Table 2). Based on the specific example, as shown in Fig. 4a, we can represent the region \(\pi _{{\mathrm{grp}},g} (L_i,L_j,L_{\mathrm{grp}})\) as the dark gray triangle in Fig. 4b for a fixed \(\varvec{p}_g\) represented in Fig. 4b as an example.

Admissible region of the groping leg for all admissible COG positions with a particular float leg Since leg \(L_k\) is the float leg, the admissible region \(\pi _{\mathrm{grp}} (L_i,L_j,L_{\mathrm{grp}})\) of the contact point for the groping leg considering an admissible region of COG is calculated as follows. This region is obtained as the union of the regions \(\pi _{{\mathrm{grp}},g} (L_i,L_j,L_{\mathrm{grp}})\) for all \({\varvec{p}_g}\) in \(\pi _g (L_i,L_j,L_k)\). The region \(\pi _{\mathrm{grp}}\) is represented as the gray trapezoid in Fig. 4c for the specific example related to Fig. 4a.

Admissible region of groping leg The case where leg \(L_k\) is assumed to be a float leg in the leg-grope movement was explained above. Here, the same process is done for legs \(L_i\) and \(L_j\). The region \(\pi _{\mathrm{grp, all}} (L_i,L_j,L_k)\), which is the whole admissible region of the contact point for the groping leg, is obtained as the union of the regions \(\pi _{\mathrm{grp}}\) of the three potential float legs together. The region \(\pi _{\mathrm{grp, all}}\) is represented as the gray triangle in Fig. 4d for the specific example related to Fig. 4a.

As we explained above, the robot can place the groping leg on the region \(\pi _{\mathrm{grp, all}}\), and the position of the COG in \(\pi _{g}\) should be chosen to realize the desired position for the groping leg. Practically, we can locate the positions of the COG and the groping leg inside of the regions (i.e., apart from the boundaries) to tolerate modeling errors and the COG shift in the leg-grope movement.

Force distribution problem

The geometrical relations were calculated to conduct the leg-grope movement. Here, the force distribution method is proposed based on these relations, and guarantees slippage avoidance.

Robot dynamics

The respective dynamic equations of the robot body and its legs are represented as follows.
$$\begin{aligned} M_B({\varvec{q}}) \ddot{{\varvec{q}}} + {\varvec{h}}_B({\varvec{q}}, \dot{{\varvec{q}}}) + {\varvec{g}}_B({\varvec{q}}) + J_B{\varvec{f}} = {\varvec{0}} \in R^{6 \times 1},\end{aligned}$$
(11)
$$\begin{aligned} M_L({\varvec{q}}) \ddot{{\varvec{q}}} + {\varvec{h}}_L({\varvec{q}}, \dot{{\varvec{q}}}) + {\varvec{g}}_L({\varvec{q}}) + J_L{\varvec{f}} = {\varvec{\tau }} \in R^{12 \times 1}. \end{aligned}$$
(12)
\({\varvec{q}}\):: 

\(=[{\varvec{q}}_B^T \,\, {\varvec{q}}_{L1}^T \,\, {\varvec{q}}_{L2}^T \,\, {\varvec{q}}_{L3}^T \,\, {\varvec{q}}_{L4}^T]^T \in R^{18 \times 1};\)

\({\varvec{f}}\):: 

\(=[{\varvec{f}}_1^T \,\, {\varvec{f}}_2^T \,\, {\varvec{f}}_3^T \,\, {\varvec{f}}_4^T]^T \in R^{12 \times 1};\)

\({\varvec{\tau}}\):: 

\(=[ {\varvec{\tau }}_{1}^{T} \,\, {\varvec{\tau }}_{2}^{T} \,\, {\varvec{\tau }}_{3}^{T} \,\, {\varvec{\tau }}_{4}^{T}]^T \in R^{12 \times 1};\)

\({M_B({\varvec{q}})}\):: 

\({\text{Inertia } \text{matrix } \text{of } \text{the } \text{body} \, [6 \times 18]};\)

\({M_L({\varvec{q}})}\):: 

\({\text{Inertia } \text{matrix } \text{of } \text{the } \text{legs } \,[12 \times 18]};\)

\({{\varvec{h}}_B({\varvec{q}}},\, \dot{{\varvec{q}}})\):: 

vector defining centrifugal and Coriolis effects of the body [6 × 1];

\({{\varvec{h}}_L({\varvec{q}},\,\dot{{\varvec{q}}})}\):: 

vector defining centrifugal and Coriolis effects of the legs [12 × 1];

\({\varvec{g}}_B({\varvec{q}})\):: 

\({\text{vector } \text{of } \text{the } \text{gravity } \text{terms } \text{of } \text{the } \text{body }\,[6 \times 1]};\)

\({{\varvec{g}}_L({\varvec{q}})}\):: 

\({\text{vector } \text{of } \text{the } \text{gravity } \text{terms } \text{of } \text{the } \text{legs } \,[12 \times 1]};\)

\({J_B}\):: 

\({\text {Jacobian matrix of the body}\, [6 \times 12].};\)

\({J_L}\):: 

\({\text{Jacobian } \text{matrix } \text{of } \text{the } \text{legs } [12 \times 12]}\)

Unless the leg is in the singular configuration (\(\theta _{i3} = n\pi\) (where n is an integer)), \(J_L\) is a non-singular matrix. Let the kinematic motion be designed to avoid the singular condition and to fulfill the geometrical relation of leg-grope (that is, the \(({\varvec{q}}, \dot{{\varvec{q}}}, \ddot{{\varvec{q}}})\) are given at each time step); the above equations can be represented as follows.
$$\begin{aligned} {\varvec{b}}= A {\varvec{\tau }},\end{aligned}$$
(13)
$$\begin{aligned} {\varvec{f}}= J_L^{-1} ({\varvec{\tau }} - {\varvec{\tau }_o}), \end{aligned}$$
(14)
where \({\varvec{b}} \in R^{6 \times 1}\), \(A \in R^{6 \times 12}\) and \({\varvec{\tau }}_o \in R^{12 \times 1}\) are calculated from (Eqs.11 and 12) with designed \(({\varvec{q}}, \, \dot{{\varvec{q}}} , \, \ddot{{\varvec{q}}})\) (see Additional file 1: Appendix S1 for detail). The vector \({\varvec{\tau }}\) consists of 12 components and fulfills six linear equality constraints (Eq. 13) (which consist of the equilibrium of force and moment). \({\varvec{\tau }}\) has a one-to-one relation with the force vector \({\varvec{f}}\) as Eq. 14. Hence, at each time step, we need to determine the optimal vector \({\varvec{\tau }}\) that fulfils the six equality constraints (Eq. 13), avoids slippage, and also fulfills the constraints for the leg-grope.

To date, various methods for force distribution problems have been proposed. For example, methods based on a pseudo inverse matrix method [9], a linear programming method (LP method) [7], and a quadratic programming method (QP method) [23, 24] were proposed. In this study, the standard QP method is applied to consider inequality constraints and a quadratic evaluation function as follows.

Constraints

Slippage avoidance For a leg \(L_i\) that stands on the ground, a normal force must satisfy the following inequality to assure definite foot contact:
$$\begin{aligned} {}^{i\mathrm{S}}f_{iz} \ge 0, \end{aligned}$$
(15)
and horizontal force elements also need to satisfy the following inequality constraints for preventing slippage:
$$\begin{aligned} \sqrt{ ({}^{i\mathrm{S}}f_{ix} )^2 + ( {}^{i\mathrm{S}}f_{iy} )^2 } \le \mu \, |{}^{i\mathrm{S}}f_{iz}|, \end{aligned}$$
(16)
where \(\mu\) is the coefficient of static friction, and \(({}^{i\mathrm{S}}f_{ix}, {}^{i\mathrm{S}}f_{iy}, {}^{i\mathrm{S}}f_{iz})\) are the components of \({\varvec{f}_i}\) on the contact coordinate frame \(\Sigma _{i\mathrm{S}}\). To apply the QP method, Eq. 16 is changed to linear inequality constraints that are tighter than the original one as follows.
$$\begin{aligned} \displaystyle - \frac{\mu }{\sqrt{2}} {}^{i\mathrm{S}}f_{iz} - \frac{1}{\sqrt{2}} {}^{i\mathrm{S}}f_{ix} - \frac{1}{\sqrt{2}} {}^{i\mathrm{S}}f_{iy}&\le -s, \nonumber \\ \displaystyle - \frac{\mu }{\sqrt{2}} {}^{i\mathrm{S}}f_{iz} + \frac{1}{\sqrt{2}} {}^{i\mathrm{S}}f_{ix} + \frac{1}{\sqrt{2}} {}^{i\mathrm{S}}f_{iy}&\le -s, \end{aligned}$$
(17)
$$\begin{aligned} \displaystyle - \frac{\mu }{\sqrt{2}} {}^{i\mathrm{S}}f_{iz} + \frac{1}{\sqrt{2}} {}^{i\mathrm{S}}f_{ix} - \frac{1}{\sqrt{2}} {}^{i\mathrm{S}}f_{iy}&\le -s, \nonumber \\ \displaystyle - \frac{\mu }{\sqrt{2}} {}^{i\mathrm{S}}f_{iz} - \frac{1}{\sqrt{2}} {}^{i\mathrm{S}}f_{ix} + \frac{1}{\sqrt{2}} {}^{i\mathrm{S}}f_{iy}&\le -s, \end{aligned}$$
(18)
where \(s \ge 0\) is defined as the safety margin on the friction constraints, and represents the minimum safety margin within the friction constraints pyramid. Hence, by maximizing s, slippage avoidance may be further enhanced.
Constraints for leg-grope To ensure that the magnitude of the normal force is less than \(R_{\mathrm{ref}}\), the following inequality must be satisfied for each stance leg \(L_i\).
$$\begin{aligned} {}^{iS}f_{iz} \le R_{\mathrm{ref}} .\end{aligned}$$
(19)
In addition, in Step B of the leg-grope walk, \({}^{k\mathrm{S}}f_{kz}\) for the groping leg \(L_k\) is constrained to decrease linearly to zero as shown in Fig. 2b. In Step D of the leg-grope walk, \({}^{k \mathrm{S}}f_{kz}\) for the groping leg \(L_k\) is constrained to increase linearly to \(R_{\mathrm{ref}}\) as shown in Fig. 2b. We derive the geometrical relations by assuming that the force vector \(\varvec{f}_i\) is parallel to the direction of gravity. Hence, the normal reaction of the groping leg can be distributed to be \(R_{\mathrm{ref}}\) by making the force vector \(\varvec{f}_i\) parallel to the direction of gravity.

Minimization problem

Adding the safety margin s to the primary variable \({\varvec{\tau }}\), the QP formulation is represented as follows for each Step i (\(i =\)A, B, C and D) of the leg-grope walk.
$$\begin{aligned} { \hat{\varvec{\tau }}} = \left[ \begin{array}{c} {\varvec{\tau }} \\ s \end{array} \right] _{13 \times 1},\,\,\,\, {\hat{\varvec{b}}}_i = \hat{A}_i { \hat{\varvec{\tau }}},\,\, \,\, \,\,\,\, \hat{G}_i { \hat{\varvec{\tau }}} \le {\hat{\varvec{d}}}_i, \end{aligned}$$
(20)
where \(\hat{A}_i\) and \(\hat{\varvec{b}}_i\) represent the equality constraints of Eq. 13 and the leg-grope, \(\hat{G}_i\) and \(\hat{\varvec{d}}_i\) represent the inequality constraints (see Additioanl file 1: Appendix S1 for detail). These matrixes and vectors are determined by designed kinematic motion \(({\varvec{q}}, \, \dot{{\varvec{q}}} , \, \ddot{{\varvec{q}}})\) at each time step.
The minimized evaluation function is composed of three terms.
$$\begin{aligned} \Phi ( { \hat{\varvec{\tau }}}) = C {\hat{\varvec{\tau }}} + \frac{1}{2} {\hat{\varvec{\tau }}}^T W_{\tau } {\hat{\varvec{\tau }}} + \frac{1}{2} ({\hat{\varvec{\tau }}} - {\hat{\varvec{\tau }}}_{b})^T W_c ({ \hat{\varvec{\tau }}} - {\hat{\varvec{\tau }}}_{b}), \end{aligned}$$
(21)
$$\begin{aligned} C&= [{\varvec{0}}_{1 \times 12} \, | \, h_s]_{1 \times 13},\nonumber \\ W_{\tau }&= \left[ \begin{array}{cc} \text {diag}[h_{\tau 1},h_{\tau 2},.....,h_{\tau 12}] &{} {\varvec{0}}_{12 \times 1} \\ {\varvec{0}}_{1 \times 12} &{} 0 \end{array} \right] _{13 \times 13},\nonumber \\ W_{c}&= \left[ \begin{array}{cc} \text {diag}[h_{c1},h_{c2},.....,h_{c12}] &{} {\varvec{0}}_{12 \times 1} \\ {\varvec{0}}_{1 \times 12} &{} 0 \end{array} \right] _{13 \times 13}, \end{aligned}$$
(22)
where \({\varvec{\tau }_b}\) is the vector of the input torque of the previous time step. C is a weight vector for maximizing the safety margin s, \(W_{\tau }\) is a weight matrix for minimizing the norm of the torque, and \(W_C\) is a weight matrix for evaluating the continuity of the torque. Note that \(h_s < 0\), \(h_{\tau 1\cdots 12} > 0\), \(h_{c1\cdots 12} > 0\). Then, \(W_{\tau }\) and \(W_C\) are positive definite.

By solving the QP formulation for each time step, the input torque of each joint can be calculated, and by using this torque, the optimal force distribution can be achieved. The simulation results for the force distribution are shown in the next section.

Results and discussion

Simulation

In this section, the simulation results for the force distribution are shown.

Setting

In the simulation, the robot walks on various slopes in various directions using the proposed one-cycle leg-grope walk. The inclination angle of the slope and the angle of walking direction are represented as \(\theta\) [rad] and \(\psi\) [rad], respectively, as shown in Fig. 5. We solve the force distribution problem for various \(\theta = (-\pi /2 , \, \pi / 2)\) and \(\psi = [-\pi /2, \, \pi /2]\) with the following conditions.

Conditions for the geometrical relations of leg-grope The grope-reaction is set as \(R_{\mathrm{ref}} = \frac{1}{2} Mg \cos \theta\) depending on \(\theta\). The robot swings its four legs \(L_2\), \(L_1\), \(L_3\) and \(L_4\) in sequence using the explained leg-grope walk method. The contact point of each groping leg (\(L_2\), \(L_1\), \(L_3\) and \(L_4\)) and the COG are represented on \(O_\mathrm{G}-x_\mathrm{G}y_\mathrm{G}\) in Fig. 6.

Conditions for the force distribution We designed the robot body and leg movement to fulfill the above geometrical relations, while the maximum acceleration and velocity of the robot body are set as \(a_\mathrm{{max}} = 0.15 \, [\mathrm{m}/\mathrm{s}^2]\) and \(v_\mathrm{{max}} = 0.1\, [\mathrm{m}/\mathrm{s}]\), respectively. In addition, the designed movement keeps the robot body parallel to the surface. The detail of this kinematic motion is explained in Additional file 1: Appendix S2. Based on this kinematic motion, we solve the force distribution problem formulated in the “Methods” section.

The parameters for the evaluation function are set as \(h_s = -2\), \(h_{\tau 1\cdots 12} = 1\) and \(h_{c1\cdots 12} = 80\). As \(-h_s\) and \(h_{\tau 1\cdots 12}\) become larger, slippage avoidance and energy saving are further enhanced, respectively. However, the torque output changes abruptly when a leg touches down or lifts off. Additionally, as \(h_{c1\cdots 12}\) becomes larger, smooth torque output is further enhanced. In this simulation, we use a larger value for \(h_{c1\cdots 12}\) to ensure a smooth torque output.

The coefficient of static friction and time step of force distribution are set as \(\mu = 0.45\) and \(dt=15\) [ms], respectively. We used the MATLAB function “quadprog” with a computer (CPU: Core i7 4 GHz; Memory: 16 GB) for the calculation.

Results

In simulation, the robot performs the leg-grope walk successfully when the magnitude of the inclination angle \(\theta\) is less than around 0.40 [rad]. If the inclination angle is less than that critical value, the robot performs well irrespective of the walking direction \(\psi\). When the magnitude of the inclination angle \(\theta\) is over the critical value, the robot cannot avoid slippage and fails in the leg-grope walk.

If a rigid body is static on the slope, the maximum absolute inclination angle to avoid slippage is calculated as \(\theta = \arctan (\mu ) = 0.42\) [rad]. This value is close to the critical inclination angle for the leg-grope walk, which means that the force distribution method works well. The critical inclination angle of the leg-grope walk is slightly smaller than that of the rigid body because the robot applies additional forces to accelerate its body. We also confirmed that the computational time to solve this force distribution problem is less than the period of one walking cycle in all cases.

As an example of one leg-grope walk cycle, Fig. 7 shows the time response of the elements of the force vector \(\varvec{f_i}\) on the contact coordinate \(\Sigma _{i\mathrm{S}}\) at \((\theta , \, \psi ) = (\pi /12, \, 0)\). Dotted horizontal lines represent the value of \(R_{\mathrm{ref}}\). As time goes by, the robot moves its COG by standing on four legs and decreasing the normal reaction of the groping leg (Steps A and B), swings the groping leg to the point to be probed (Step C), and probes the foothold by applying the reference force \(R_{\mathrm{ref}}\) (Step D). The robot repeats this procedure for four groping legs \(L_2, L_1, L_3\) and \(L_4\) in order. The areas that the robot successfully applies the normal force \(R_{\mathrm{ref}}\) in the leg-grope step (Step D) are marked with black circles. However, the magnitude of the normal forces except for Step D are less than \(R_{\mathrm{ref}}\). Figure 8 represents the time response of the safety margin of the friction s. This result shows that the safety margin s is assured and is never negative, which means that slippage does not occur. Figure 9 shows the time response of the torque inputs. The torque inputs depend smoothly on time, as our design of the minimized evaluation function of the QP formulation intended.
Fig. 7

Time response of the force distributions on \(\Sigma _{i\mathrm{S}}\) of the simulation. Each leg applies normal reaction \(R_\mathrm{{ref}}\) in the leg-grope movement as marked with the black circles. Aside from that, each normal reaction is less than \(R_\mathrm{{ref}}\). The red line, the blue line and the green line represent the \(z_{i\mathrm{S}}\), \(y_{i\mathrm{S}}\) and \(x_{i\mathrm{S}}\) elements of the force with respect to \(\Sigma _{i\mathrm{S}}\), respectively. Each dotted horizontal line represents \(R_\mathrm{ref}\)

Fig. 8

Time response of the safety margin of the friction s of the simulation. The value is never less than 0, which means that distributed forces prevent slippage successfully

Fig. 9

Time response of the torque inputs of the simulation. The value changes smoothly

Fig. 10

Process of the leg-grope walk for the leg 1 on \(O_\mathrm{G}-x_\mathrm{G}y_\mathrm{G}\) for experiments. The black circles are the contact points of the leg toe. The green triangle and blue triangle represent the admissible region of the COG and the groping leg, respectively. Step A’: the robot moves the COG inside of the admissible region of the COG while standing on four legs. Step B’,C: the robot moves the groping leg up and swings it to the point of the leg-grope, and the leg touches down. Step D’-1: the robot moves the COG to the position for the leg-grope. Step D’-2: the robot pushes the groping leg down gradually until the normal reaction is over \(R_\mathrm{ref}\)

As a conclusion, the proposed force distribution method achieves suitable torque inputs, taking account of slippage for the leg-grope walk in various environments.

Experiments

Setting

To demonstrate the effectiveness of the proposed method, we also carried out some experiments with the real robot. However, the results of the force distribution could not be used, because the joints of the robot were controlled not by torque inputs but by position inputs. Hence, we only consider the geometrical relations of the leg grope walk by following the assumption about friction. The leg grope movement (Step D) is replaced by two steps: Steps D′-1 and D′-2 as in the following description. The modified leg-grope walk sequence consists of the following five steps.
  1. A′

    Move the COG of the robot inside of the admissible region of COG while standing on four legs. The COG is placed more with in the leg supporting polygon than the COG position for the leg-grope.

     
  2. B′

    Move the groping leg up gradually until the normal reaction becomes 0 without any other movement.

     
  3. C

    Swing the groping leg to the point of the leg-grope and make the leg touch down.

     
  4. D′-1

    Move the COG to the position for the leg-grope standing on four legs. As a result, the normal reaction of the groping leg increases gradually.

     
  5. D′-2

    Put down the groping leg gradually until the normal reaction is over \(R_{\mathrm{ref}}\) without any other movement.

     

Figure 10 shows an example of this leg-grope walk. Note that Steps A′ and D′-1 allow the robot to get a large stability margin in a swing movement (the COG is placed more within the leg supporting polygon than the COG position for the leg-grope) (Fig. 10). Note that Steps B′, D′-1 and D′-2 allow the robot to apply the force using position control.

We demonstrated one cycle of walking with the proposed method on a simple slope and an irregular slope to validate the robot being able to apply the force over \(R_{\mathrm{ref}}\) to the foothold to probe the environment. We also demonstrated that even if the robot’s foothold collapsed during the leg-grope movement, the robot did not stumble.

We conducted three trials for each experiment, and show one of them as a typical result. In these experiments, the angle of the slope and the grope-reaction are set as \(\pi /12\) [rad] and \(R_{\mathrm{ref}} = \frac{1}{2} Mg \cos (\pi /12)\), respectively. The robot swings its four legs \(L_2\), \(L_1\), \(L_3\) and \(L_4\) in sequence, and the contact point of each groping leg (\(L_2\), \(L_1\), \(L_3\) and \(L_4\)) and the COG position for groping are represented on \(O_\mathrm{G}-x_\mathrm{G}y_\mathrm{G}\) in Fig. 6, as in the simulation.

Result of walking on a simple slope

The robot climbs a simple slope (\(\theta = \pi /12\), \(\psi = 0\) [rad]) using the proposed leg-grope walk, as in the simulation result. Figure 11 shows the time response of the elements of the force vector \(\varvec{f_i}\) on the contact coordinate \(\Sigma _{i\mathrm{S}}\) of one walking cycle of experiments. In Fig. 11, dotted horizontal lines represent the value of \(R_{\mathrm{ref}}\). As time goes by, the robot moves its COG while standing on four legs, decreases the normal reaction of the groping leg (Steps A’ and B’), swings the groping leg to the point to be probed (Step C), and probes the foothold by applying the grope reaction \(R_{\mathrm{ref}}\) (Step D’). We repeat this procedure for four groping legs \(L_2, L_1, L_3\) and \(L_4\) in order. We find that the robot applies the normal force to the ground over \(R_{\mathrm{ref}}\) in the leg-grope step (Step D′), as marked with black circles. However, the magnitude of each normal force is less than \(R_{\mathrm{ref}}\), except for the leg-grope step D′. The other four trials also have the same properties. Hence, we can say that the leg-grope walk is achieved successfully, as we expected.
Fig. 11

Time response of the resultant forces of the experiment on the simple slope. Each leg applies normal reaction over \(R_\mathrm{{ref}}\) in the leg-grope movement as marked with the black circles. Aside from that, each normal reaction is less than \(R_\mathrm{{ref}}\). The red line, the blue line and the green line represent the \(z_{i\mathrm{S}}\), \(y_{i\mathrm{S}}\) and \(x_{i\mathrm{S}}\) elements of the resultant force with respect to \(\Sigma _{i\mathrm{S}}\), respectively. Each dotted horizontal line represents \(R_\mathrm{ref}\)

Fig. 12

Time response of the resultant force of the experiment on the irregular slope. Each leg applies normal reaction over \(R_\mathrm{{ref}}\) in the leg-grope movement as marked with the black circles. Aside from that, each normal reaction is less than \(R_\mathrm{{ref}}\). The method of representation is the same as in Fig. 11

Fig. 13

Time responses of attitudes and \(z_\mathrm{R}\)-axis acceleration in the case of foothold collapse. The robot keeps its attitude angles (roll and pitch angle) and never stumbles when and after the foothold of leg \(L_1\) collapses

Fig. 14

Time response of the resultant force in the case of foothold collapse. When the foothold of leg \(L_1\) collapses, the ground reaction becomes zero, as shown with the black circle. Conversely, the normal reactions of the other legs are still less than \(R_\mathrm{{ref}}\) after the collapse, except for the impulse as shown with the blue circle. The method of representation is the same as in Fig. 11

Result of walking on an irregular slope

We also carried out the experiment on an irregular slope. The environment consists of slopes whose inclination angle is \(\theta = \pi /12\) [rad], but the directions of the gradient vectors are not the same, as shown in Fig. 1a. Figure 12 shows the time response of the elements of the force vector \(\varvec{f_i}\) on the contact coordinate \(\Sigma _{i\mathrm{S}}\). The representation of the figure is the same as in Fig. 11. We find that the magnitude of the normal force is less than \(R_{\mathrm{ref}}\), except for the leg-grope step (Step D’). However, the grope-reaction \(R_{\mathrm{ref}}\) can be applied in the leg-grope step, as shown with black circles. The other four trials also have the same properties. Hence, we conclude that the robot also performs well on the irregular slope. A video of this experiment is contained in Additional file 2.

Result in the case of foothold collapse

In this experiment, the robot climbs a simple slope that is the same as the previous one. The grope-reaction \(R_{\mathrm{ref}}\) and contact points of the legs are set to the same way as the previous ones. We set the foothold of leg \(L_1\) as fragile enough to collapse while walking. The robot stops walking after the detection of the foothold collapse. Figure 13 shows the time response of the attitude and the \(z_\mathrm{R}\)-axis acceleration of the robot body. At the marked time (around 35 [s]), the foothold of the leg \(L_1\) collapsed. We found that the robot attitude changed by approximately 2 degrees only, and it never fell when and after the environment collapse. Figure 14 shows the time response of the elements of the force vector \(\varvec{f_i}\) on the contact coordinate \(\Sigma _{i\mathrm{S}}\). The magnitude of the normal force of each leg (\(f_{z_{iS}}\) on Fig. 14) is almost less than \(R_{\mathrm{ref}}\), although that of leg \(L_2\) is larger than \(R_{\mathrm{ref}}\) at very short moments near the collapse (a blue circle on Fig. 14). The sudden loss of one foothold induces a sudden change in body attitude (Fig. 13) because the leg is not rigid (back-lash of joints, flexibility of joints induced by PD controller, etc.). This sudden attitude change causes non-negligible acceleration and forces over \(R_{\mathrm{ref}}\) (Figs. 13 and 14). Although this is the limitation caused by design failure, the method is practical enough to allow the robot to walk without stumbling. The other four trials also have the same properties. A video of this experiment is also included and can be found in Additional file 3.

Conclusion

We propose the leg-grope walk on fragile irregular terrain considering slippage by force distribution. In simulation, the proposed method successfully derives the torque inputs to distribute the forces appropriately considering slippage avoidance. We also conducted various robotic experiments, and show the effectiveness of the method. The robot can walk stably by probing footholds step by step. Even if the foothold collapses, the robot can keep its posture and never stumbles. Thus, we conclude that the proposed method is useful for robots to walk safely on fragile irregular terrain.

As limitations, foothold collapse based on slippage is not considered in this study, although we ensure that the robot fulfils friction cone constraints. The force distribution method is not demonstrated with the robot, because the joints of the robot are designed to be controlled by position inputs. Thus, we carried out the robotic experiments based on the geometric relation by following the assumption about the friction. However, the experiments show that the method is still practical. In the future, we need to design a robot whose joints are controlled by torque inputs to demonstrate the effectiveness of the force distribution method.

Practically, the robot cannot walk fast, because the method is designed based on static equilibrium and the region for the leg-grope is not so large. Recent dynamical walking strategies for legged robots [2529] may outshine the proposed strategy in terms of walking speed. However, our walking strategy must be useful in a situation where scattered debris or a fragile environment should not be further compromised. This is the only method that allows robots to walk safely by making the magnitude of the normal reaction as small as possible. We think that a robot should change its walking strategy depending on the terrain, as LittleDog does [1416]. If the terrain is flat, the robot can use a fast gait. However, if the terrain is fragile, we believe that our method will be useful.

It would be interesting in future work to combine this method and the terrain classification methods [17]. For example, terrain that is found to be fragile using the leg-grope walk can be used as learning data for terrain classification to estimate fragile footholds in advance, which compensates for the slow walking speed of the leg-grope walking method.

Declarations

Authors' contributions

All authors conceived and designed the algorithms and experiments. YA carried them out and wrote the paper. Both authors read and approved the final manuscript.

Acknowledgements

The authors thank Yuji Sato for his useful comments and help on the development of the robot, and Shinya Aoi for his useful comments on the manuscript.

Competing interests

The authors declare that they have no competing interests.

Open AccessThis 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.

Authors’ Affiliations

(1)
Department of Mechanical Engineering and Science, Kyoto University

References

  1. McGhee RB, Frank AA (1968) On the stability properties of quadruped creeping gaits. Math Biosci 3:331–351. doi:10.1016/0025-5564(68)90090-4 View ArticleMATHGoogle Scholar
  2. Hirose S, Yoneda K, Arai K, Ibe T (1991) Design of prismatic quadruped walking vehicle TITAN VI. In: The 5th International Conference on Advanced Robotics, vol. 1, pp. 723–728. doi:10.1109/ICAR.1991.240685
  3. Hirose S, Tsukagoshi H, Yoneda K (2001) Normalized energy stability margin and its contour of walking vehicles on rough terrain. In: IEEE International Conference on Robotics and Automation (ICRA), pp 181–186. doi:10.1109/ROBOT.2001.932550
  4. Konno A, Ogasawara K, Hwang Y, Inohira E, Uchiyama M (2003) An adaptive gait for quadruped robots to walk on a slope. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp 589–594. doi:10.1109/IROS.2003.1250693
  5. Estremera J, de Santos PG (2002) Free gaits for quadruped robots over irregular terrain. Int J Robot Res 21(2):115–130View ArticleGoogle Scholar
  6. Estremera J, de Santos PG (2005) Generating continuous free crab gaits for quadruped robots on irregular terrain. IEEE Trans Robot 21(6):1067–1076. doi:10.1109/TRO.2005.852256 View ArticleGoogle Scholar
  7. Klein CA, Kittivatcharapong S (1990) Optimal force distribution for the legs of a walking machine with friction cone constraints. IEEE Trans Robot Autom 6(1):73–85View ArticleGoogle Scholar
  8. Zhou D, Low KH, Zielinska T (2000) An efficient foot-force distribution algorithm for quadruped walking robots. Robotica 18:403–413View ArticleGoogle Scholar
  9. Martins-Filho LS, Prajoux R (2000) Locomotion control of a four-legged robot embedding real-time reasoning in the force distribution. Robot Auton Syst 32(4):219–235. doi:10.1016/S0921-8890(99)00128-1 View ArticleGoogle Scholar
  10. Li Z, Ge SS, Liu S (2014) Contact-force distribution optimization and control for quadruped robots using both gradient and adaptive neural networks. IEEE Trans Neural Netw Learn Syst 25(8):1460–1473. doi:10.1109/TNNLS.2013.2293500 View ArticleGoogle Scholar
  11. Marco H, Christian G, Michael B, Mark H, Roland S (2013) Walking and running with StarlETH. In: The 6th International Symposium on Adaptive Motion of Animals and Machines (AMAM)Google Scholar
  12. Murphy MP, Saunders A, Moreira C, Rizzi AA, Raibert M (2011) The LittleDog robot. Int J Robot Res 30(2):145–149View ArticleGoogle Scholar
  13. Byl K, Shkolnik A, Prentice S, Roy N, Tedrake R (2008) Reliable dynamic motions for a stiff quadruped. In: The 11th International Symposium on Experimental Robotics (ISER)Google Scholar
  14. Neuhaus PD, Pratt JE, Johnson MJ (2011) Comprehensive summary of the institute for human and machine cognition’s experience with LittleDog. Int J Robot Res 30(2):216–235View ArticleGoogle Scholar
  15. Kalakrishnan M, Buchli J, Pastor P, Mistry M, Schaal S (2011) Learning, planning, and control for quadruped locomotion over challenging terrain. Int J Robot Res 30(2):236–258View ArticleGoogle Scholar
  16. Kolter JZ, Ng AY (2011) The Stanford LittleDog: A learning and rapid replanning approach to quadruped locomotion. Int J Robot Res 30:150–174View ArticleGoogle Scholar
  17. Hoepflinger MA, Hutter M, Gehring C, Bloesch M, Siegwart R (2013) Unsupervised identification and prediction of foothold robustness. In: IEEE International Conference on Robotics and Automation (ICRA), pp 3293–3298. doi:10.1109/ICRA.2013.6631036
  18. Hoepflinger MA, Remy CD, Hutter M, Spinello L, Siegwart R (2010) Haptic terrain classification for legged robots. In: IEEE International Conference on Robotics and Automation (ICRA), pp 2828–2833. doi:10.1109/ROBOT.2010.5509309Google Scholar
  19. Tokuda K, Toda T, Koji Y, Konyo M, Tadokoro S, Alain P (2003) Estimation of fragile ground by foot pressure sensor of legged robot. In: IEEE/ASME International Conference on Advanced Intelligent Mechatronics, vol 1. pp 447–453. doi:10.1109/AIM.2003.1225137
  20. Degrave J, van Cauwenbergh R, Wyffels F, Waegeman T, Schrauwen B (2013) Terrain classification for a quadruped robot. In: 12th International Conference on Machine Learning and Applications (ICMLA), 2013, vol 1. pp 185–190. doi:10.1109/ICMLA.2013.39
  21. Kamegawa T, Suzuki T, Otani K, Matsuno F (2010) Detection of footholds with Leg-grope and safety walking for quadruped robots on weak terrain. J Robot Soc Japan 28(2):215–222 in JapaneseView ArticleGoogle Scholar
  22. Ambe, Y, Matsuno, F (2012) Leg-grope-walk–walking strategy on weak and irregular slopes for a quadruped robot by force distribution. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp 1840–1845. doi:10.1109/IROS.2012.6385798
  23. Chen JS, Cheng FT, Yang KT, Kung FC, Sun YY (1999) Optimal force distribution in multilegged vehicles. Robotica 17:159–172View ArticleGoogle Scholar
  24. Erden MS, Leblebicioglu K (2007) Torque distribution in a six-legged robot. IEEE Trans Robot 23(1):179–186. doi:10.1109/TRO.2006.886276 View ArticleGoogle Scholar
  25. Estremera J, Waldron KJ (2008) Thrust control, stabilization and energetics of a quadruped running robot. Int J Robot Res 27(10):1135–1151View ArticleGoogle Scholar
  26. Hyun DJ, Seok S, Lee J, Kim S (2014) High speed trot-running: Implementation of a hierarchical controller using proprioceptive impedance control on the MIT Cheetah. Int J Robot Res 33(11):1417–1445View ArticleGoogle Scholar
  27. Semini C, Barasuol V, Boaventura T, Frigerio M, Focchi M, Caldwell DG, Buchli J (2015) Towards versatile legged robots through active impedance control. Int J Robot Res 34(7):1003–1020View ArticleGoogle Scholar
  28. Hutter M, Gehring C, Hopflinger MA, Blosch M, Siegwart R (2014) Toward combining speed, efficiency, versatility, and robustness in an autonomous quadruped. IEEE Trans Robot 30(6):1427–1440. doi:10.1109/TRO.2014.2360493 View ArticleGoogle Scholar
  29. Raibert M, Blankespoor K, Nelson G, Playter R, the BigDog Team (2008) BigDog, the rough-terrain quadruped robot. In: The 17th IFAC World Congress, pp 10822–10825Google Scholar

Copyright

© Ambe and Matsuno. 2016