“Leggrope walk”: strategy for walking on fragile irregular slopes as a quadruped robot by force distribution
 Yuichi Ambe^{1}Email author and
 Fumitoshi Matsuno^{1}
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 manmade 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 “leggrope 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 robot Irregular terrain Fragile environment Force distribution Walking strategyBackground
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 [7–10]. 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 [13–16]. 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 [17–20]. 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 “leggrope 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, tippoint forces in the xyz directions are distributed using a standard Quadratic Programing method such that the friction and leggrope 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 leggrope 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 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 
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\) 
 \(\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
Strategy of leggrope walk
In this section, we describe the strategy of the leggrope 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 leggrope walk; and finally, we explain the consequent onecycle 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 leggrope 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
 (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)
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 leggrope movement. By using this movement, the robot can distinguish a safe region for its locomotion.
The leggrope 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}}\) (“gropereaction”) 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 leggrope movement, we let the movement of the COG of the robot be negligible for a simple formulation.
Leggrope walk
 A
Move the COG of the robot standing on four legs.
 B
Reduce the force of the groping leg to 0 gradually without any movement.
 C
Swing the groping leg to the point of the leggrope and make the leg touch down.
 D
Apply the force to the ground with the groping leg gradually, up to \(R_{\mathrm{ref}}\) (leggrope 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 gropereaction \(R_{\mathrm{ref}}\) to the environment by using force distribution in all steps.
To execute the leggrope 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 leggrope
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 leggrope 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
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 gropeforce 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 gropeforce, and the magnitude of the vertical force for the other three legs less than that of the gropeforce. 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.
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 leggrope 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 leggrope movement.
Force distribution problem
The geometrical relations were calculated to conduct the leggrope movement. Here, the force distribution method is proposed based on these relations, and guarantees slippage avoidance.
Robot dynamics
 \({\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]}\)
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
Minimization problem
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 onecycle leggrope 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 leggrope The gropereaction 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 leggrope 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 leggrope 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 leggrope 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 leggrope walk, which means that the force distribution method works well. The critical inclination angle of the leggrope 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 a conclusion, the proposed force distribution method achieves suitable torque inputs, taking account of slippage for the leggrope walk in various environments.
Experiments
Setting
 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 leggrope.
 B′
Move the groping leg up gradually until the normal reaction becomes 0 without any other movement.
 C
Swing the groping leg to the point of the leggrope and make the leg touch down.
 D′1
Move the COG to the position for the leggrope standing on four legs. As a result, the normal reaction of the groping leg increases gradually.
 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 leggrope 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 leggrope) (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 leggrope 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 gropereaction 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
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 leggrope step (Step D’). However, the gropereaction \(R_{\mathrm{ref}}\) can be applied in the leggrope 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 gropereaction \(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 (backlash of joints, flexibility of joints induced by PD controller, etc.). This sudden attitude change causes nonnegligible 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 leggrope 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 leggrope is not so large. Recent dynamical walking strategies for legged robots [25–29] 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 [14–16]. 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 leggrope 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 leggrope 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
References
 McGhee RB, Frank AA (1968) On the stability properties of quadruped creeping gaits. Math Biosci 3:331–351. doi:https://doi.org/10.1016/00255564(68)900904 View ArticleMATHGoogle Scholar
 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:https://doi.org/10.1109/ICAR.1991.240685
 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:https://doi.org/10.1109/ROBOT.2001.932550
 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:https://doi.org/10.1109/IROS.2003.1250693
 Estremera J, de Santos PG (2002) Free gaits for quadruped robots over irregular terrain. Int J Robot Res 21(2):115–130View ArticleGoogle Scholar
 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:https://doi.org/10.1109/TRO.2005.852256 View ArticleGoogle Scholar
 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
 Zhou D, Low KH, Zielinska T (2000) An efficient footforce distribution algorithm for quadruped walking robots. Robotica 18:403–413View ArticleGoogle Scholar
 MartinsFilho LS, Prajoux R (2000) Locomotion control of a fourlegged robot embedding realtime reasoning in the force distribution. Robot Auton Syst 32(4):219–235. doi:https://doi.org/10.1016/S09218890(99)001281 View ArticleGoogle Scholar
 Li Z, Ge SS, Liu S (2014) Contactforce 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:https://doi.org/10.1109/TNNLS.2013.2293500 View ArticleGoogle Scholar
 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
 Murphy MP, Saunders A, Moreira C, Rizzi AA, Raibert M (2011) The LittleDog robot. Int J Robot Res 30(2):145–149View ArticleGoogle Scholar
 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
 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
 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
 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
 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:https://doi.org/10.1109/ICRA.2013.6631036
 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
 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:https://doi.org/10.1109/AIM.2003.1225137
 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:https://doi.org/10.1109/ICMLA.2013.39
 Kamegawa T, Suzuki T, Otani K, Matsuno F (2010) Detection of footholds with Leggrope and safety walking for quadruped robots on weak terrain. J Robot Soc Japan 28(2):215–222 in JapaneseView ArticleGoogle Scholar
 Ambe, Y, Matsuno, F (2012) Leggropewalk–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:https://doi.org/10.1109/IROS.2012.6385798
 Chen JS, Cheng FT, Yang KT, Kung FC, Sun YY (1999) Optimal force distribution in multilegged vehicles. Robotica 17:159–172View ArticleGoogle Scholar
 Erden MS, Leblebicioglu K (2007) Torque distribution in a sixlegged robot. IEEE Trans Robot 23(1):179–186. doi:https://doi.org/10.1109/TRO.2006.886276 View ArticleGoogle Scholar
 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
 Hyun DJ, Seok S, Lee J, Kim S (2014) High speed trotrunning: Implementation of a hierarchical controller using proprioceptive impedance control on the MIT Cheetah. Int J Robot Res 33(11):1417–1445View ArticleGoogle Scholar
 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
 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:https://doi.org/10.1109/TRO.2014.2360493 View ArticleGoogle Scholar
 Raibert M, Blankespoor K, Nelson G, Playter R, the BigDog Team (2008) BigDog, the roughterrain quadruped robot. In: The 17th IFAC World Congress, pp 10822–10825Google Scholar