 Research Article
 Open Access
 Published:
“Leggrope walk”: strategy for walking on fragile irregular slopes as a quadruped robot by force distribution
ROBOMECH Journal volume 3, Article number: 7 (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.
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 [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 developed robot (Fig. 1a) consists of a body and four legs, each of which has three active joints with servomotors. A threeaxis 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.
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
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
The following two walking strategies are proposed to achieve safe locomotion for a legged robot on fragile terrain.

(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.
The following relation is satisfied if the targeted region does not collapse during the leggrope movement.
In addition, if walking strategy 2 is satisfied, the robot can walk without causing those footholds that have been already probed to collapse.
Leggrope walk
On the basis of the above leggrope movement, the concrete oneleg cycle walking strategy (leggrope 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.

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
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
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:
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\) (“gropeforce”). 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 leggrope 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 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.
The magnitude of the vertical force of each leg \(f_n\) needs to be less than the gropeforce \(f_{\mathrm{ref}}^n\) and this condition is represented as
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.
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.
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 leggrope 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
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 gropeforce \(f_{\mathrm{ref}}^{\mathrm{grp}}\), and the magnitudes of the vertical forces of the other legs are less than those of the gropeforce \(f_{\mathrm{ref}}^{i}\) and \(f_{\mathrm{ref}}^{j}\), are described as
where \(h_{\mathrm{ref}}^{\mathrm{grp}} = f_{\mathrm{ref}}^{\mathrm{grp}} / Mg\). Using Eqs. 7 and 8 yields
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 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
The respective dynamic equations of the robot body and its legs are represented as follows.
 \({\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 nonsingular matrix. Let the kinematic motion be designed to avoid the singular condition and to fulfill the geometrical relation of leggrope (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.
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 onetoone 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 leggrope.
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:
and horizontal force elements also need to satisfy the following inequality constraints for preventing slippage:
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.
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 leggrope 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\).
In addition, in Step B of the leggrope 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 leggrope 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 leggrope walk.
where \(\hat{A}_i\) and \(\hat{\varvec{b}}_i\) represent the equality constraints of Eq. 13 and the leggrope, \(\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.
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 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 an example of one leggrope 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 leggrope 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.
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
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 leggrope walk sequence consists of the following five steps.

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
The robot climbs a simple slope (\(\theta = \pi /12\), \(\psi = 0\) [rad]) using the proposed leggrope 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 leggrope step (Step D′), as marked with black circles. However, the magnitude of each normal force is less than \(R_{\mathrm{ref}}\), except for the leggrope step D′. The other four trials also have the same properties. Hence, we can say that the leggrope walk is achieved successfully, as we expected.
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.
References
 1.
McGhee RB, Frank AA (1968) On the stability properties of quadruped creeping gaits. Math Biosci 3:331–351. doi:10.1016/00255564(68)900904
 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–130
 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
 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–85
 8.
Zhou D, Low KH, Zielinska T (2000) An efficient footforce distribution algorithm for quadruped walking robots. Robotica 18:403–413
 9.
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:10.1016/S09218890(99)001281
 10.
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:10.1109/TNNLS.2013.2293500
 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)
 12.
Murphy MP, Saunders A, Moreira C, Rizzi AA, Raibert M (2011) The LittleDog robot. Int J Robot Res 30(2):145–149
 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)
 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–235
 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–258
 16.
Kolter JZ, Ng AY (2011) The Stanford LittleDog: A learning and rapid replanning approach to quadruped locomotion. Int J Robot Res 30:150–174
 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.5509309
 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 Leggrope and safety walking for quadruped robots on weak terrain. J Robot Soc Japan 28(2):215–222 in Japanese
 22.
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: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–172
 24.
Erden MS, Leblebicioglu K (2007) Torque distribution in a sixlegged robot. IEEE Trans Robot 23(1):179–186. doi:10.1109/TRO.2006.886276
 25.
Estremera J, Waldron KJ (2008) Thrust control, stabilization and energetics of a quadruped running robot. Int J Robot Res 27(10):1135–1151
 26.
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–1445
 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–1020
 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
 29.
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–10825
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.
Author information
Additional files
40648_2016_46_MOESM1_ESM.pdf
40648_2016_46_MOESM2_ESM.mp4
40648_2016_46_MOESM3_ESM.mp4
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Received
Accepted
Published
DOI
Keywords
 Quadruped robot
 Irregular terrain
 Fragile environment
 Force distribution
 Walking strategy