# Nontumbling Gait for Multilegged Robots and Its Directional Normalized Energy Stability Margin

Authors: Evgeny Lazarenko; Satoshi Kitano; Shigeo Hirose; Gen Endo
Journal: ISRN Robotics
 (2013)

---

## Abstract

This paper discusses the importance of a nontumbling gait, a gait that allows  preventing complete tumbling of the robot. Nontumbling gait is made possible by the effect of the swing leg which may contact the ground even when the robot is affected by an external disturbance. Such an effect is present in both static walking and dynamic walking. Stability criterion required to maintain the nontumbling gait is then considered and proposed through generalized directional normalized energy stability margin. The validity of the introduced criterion is evaluated by a tumbling experiment with a simplified walking robot model. The concept is also applied to the gait control of the newly developed walking robot TITAN-XIII.


---

## Body

## 1. Introduction

Over the past few years the development of various multilegged robots has gained significant traction. However, most of the advances have been made in the direction of mechanical design and high-level control systems. There has been little discussion about such important subject as stability of multi-legged locomotion, and most of the scholars continue to rely on normalized energy stability margin, or NESM [1]. In one of our previous works we proposed a directional normalized energy stability Margin [2], or Sθ, which allowed us to estimate robot’s stability at any given direction. In this paper, we will further investigate the properties and possible applications of DNESM Sθ. We will do so through the discussion about the effect that swinging leg may have on the stability of a multi-legged robot during its motion.


## 2. Nontumbling Gait

When a multi-legged robot cannot maintain a planned stable walking or running due to some disturbance, for example, wind, its movement can be described by one of the two tumbling states: complete tumbling, and partial tumbling (it should be noted that under tumbling we understand a disruption of a planned walking sequence under the influence of external disturbance). Complete tumbling is a state when robot tumbles until its body hits the ground, whereas partial tumbling is a state when robot inclines, but does not overturn due to the effect of the swing legs which hit the ground and help to maintain standing posture. Figures1 and 2 illustrate partial tumbling in detail.Crawling gait and subsequent rotation after the application of external disturbing energy.
(a)
Crawling gait
(b)
Crawling gait after the application of disturbing input energyEiTrotting gait and possible subsequent rotations in case of application of external disturbing energy.
(a)
Trotting gait before the application of disturbing energy
(b)
Trotting gait after the application of disturbing energy, case of forward tilting
(c)
Trotting gait after the application of disturbing energy, case of backward tiltingLet us assume that the robot is performing a statically stable crawling gait and maintaining stability by forming a supporting triangle with legsP1, P3, and P4. Disturbance energy Ei is applied to the body of the robot as shown in Figure 1(a). When disturbance energy Ei is large, robot may start tumbling around the line connecting P1 and P4, and the swing leg P2 may hit the ground. If disturbance energy is very large, the robot may overturn completely. However, if it is not, robot will maintain a standing posture with a newly formed supporting polygon P1P2P4. This latter state is what we call a partial tumbling in a static walking.Let us assume that the robot is preforming a dynamically stable trot gait and maintaining a planned dynamic motion while keeping the ZMP of the body on the line connectingP1 and P4. Disturbance energy Ei is applied as shown in Figure 2(a). If disturbance energy Ei is very large, the robot may tumble completely. However, if it is not, the robot will maintain a standing posture with a newly formed supporting polygon P1P2P4 in case of Figure 2(b) or P1P3P4 in case of Figure 2(c). This latter state is what we call a partial tumbling in a dynamic walking.Both complete and partial tumbling are, of course, not desirable, and they should be avoided. From practical viewpoint, however, partial tumbling is acceptable, unlike complete tumbling, because it would not damage the body, and resuming normal walking sequence or running in case of partial tumbling is not difficult from the control system standpoint.Until now, there were many discussions about the stability criteria for statically stable walking, such as: static stability margin [3], energy stability margin [4], normalized energy stability margin [1], energy stability margin accounting for dynamic effects [5, 6], and, finally, directional normalized energy stability margin. But all of these criteria only consider the conditions required to maintain a statically stable posture and never consider the phenomena that happen when tumbling occurs.As for the stability of dynamic walking, as far as we know, the discussion about it has not been done before, and dynamic walking was considered unstable from the beginning. In this context, an idea about “stability” being an intrinsic property of dynamic walking may sound contradictory.From practical viewpoint, even if normal planned walking motion is disrupted, it is important to prevent complete tumbling and turn it into partial tumbling, because this may help to prevent robot’s damage and to return to normal static or dynamic walking.We would like to specifically define the gait that prevents complete tumbling and turns it into partial tumbling as a “nontumbling gait,” or “NT gait.” We would also like to discuss about the conditions that should be met in order to perform an NT Gait.


## 3. Generalized Concept of the Directional Normalized Energy Stability Margin, orSθ

### 3.1. Definition of Directional Normalized Energy Stability Margin

In order to generate an NT gait resistant to large disturbing forces applied to robot’s body from any direction, our first step was to introduce Directional Normalized Stability Margin, a new stability criterion that takes into account the dynamic effects of a tumbling motion, including the effect of the swinging leg when it forms a new ground foothold, as well as a directional disturbing force.We proposedSθ before and defined it as the minimum amount of input energy Ei applied in the form of horizontal force with a yaw angular direction θ required to tumble an object, divided by weight mg of the robot itself. DNESM Sθ was expressed as follows:
(1)Sθ=Eimg|θ.In this criterion, we assume the phenomenon of instantaneous time, when robot’s movement is measured in discrete time snapshots; therefore, even thoughV(Ei) is created by a certain input force which is, in turn, caused by an input energy Ei, we may neglect such parameters as acceleration under the influence of that force, feet slipping, and so forth. Input energy Ei is applied to the center of gravity of the object in the form of force F(Ei) that acts in the horizontal plane on the yaw angle θ and generates velocity V(Ei).


### 3.2. Calculation ofSθ

Let us summarize the calculation ofSθ for a walking robot with an n-legged supporting posture.We assume that a walking robot is affected by an input energyEi that generates horizontal input velocity V(Ei) of the CG (Figure 3). Yaw direction θ of V(Ei) is variable, and its magnitude is defined by the amount of energy required to overturn the robot. Additionally, robot body has a horizontal velocity Vb. Therefore, we are considering that rotational velocity V(V(Ei),Vb)r is generated by both V(Ei) and Vb.Figure 3
Rotation of CG around the edge of the supporting polygon under the influence of external disturbanceEi for robot standing in an arbitrary posture. Pi are footholds, and Pi* are their projections on a horizontal plane. V(Ei) is input velocity, created by external disturbance energy Ei, and Vb is robot’s body velocity. S1 is the plane of CG rotation around P1P2, and S2 is a vertical plane of an unstable equilibrium above P1P2. Other variables are defined in Section 3.P
i and Pj are neighboring ground contact points. Edges of the supporting polygon and CG of the robot may be denoted as Pi,j, and G(xG,yG,zG) correspondingly.Main condition for overturning the robot is moving its CG from initial positionG to a position G(i,j)max—an unstable equilibrium in rotation around Pi,j axis.Thus,Sθ for the edge of the supporting polygon connecting ith and jth foothold may be easily computed through (2):
(2)Sθ=12g(2gHi,jZi,j-VbBi,jbodyBi,j)2.Variables, necessary for computation ofSθ via (2), can be calculated through the following equations.(1)
Hi,j, height difference between original CG position G and its highest possible position G(i,j)max above Pi,j:
(3)Hi,j=G(i,j)maxz-Gz,
where
(4)G(i,j)max=Ci,j∥Pi,j∥P^i,j+cosφmax(PiG-Ci,j∥Pi,j∥P^i,j)+sinφmaxAi,j∥Pi,j∥+Pi,
for which
(5)Ai,j=[(yj-yi)(zG-zi)-(yG-yi)(zj-zi)-(xj-xi)(zG-zi)+(xG-xi)(zj-zi)(xj-xi)(yG-yi)-(xG-xi)(yj-yi)],Ci,j=(xG-xi)(xj-xi)+(yG-yi)(yj-yi)+(zG-zi)(zj-zi).
Also, a maximum angular displacement of robot’s CG φmaxi,j can be found as
(6)φmaxi,j=arctan(Dij),
where
(7)Di,j=(xj-xi)(yG-yi)-(xG-xi)(yj-yi)∥Pi,j∥(zG-zi)-(Ci,j/∥Pi,j∥)(zj-zi).(2)
CoefficientZi,j for a Pi,j axis:
(8)Zi·j2=(Bi,j∥Pi,j×PiG∥2)2Ai,jTAi,j,
for which coefficient
(9)Bi,j=[((yj-yi)(zG-zi)-(yG-yi)(zj-zi))cosθ+(-(xj-xi)(zG-zi)+(xG-xi)(yj-yi))sinθ].(3)
Similarly, coefficientBi,jbody:
(10)Bi,jbody=[((yj-yi)(zG-zi)-(yG-yi)(zj-zi))cosγ+((xG-xi)(yj-yi)-(xj-xi)(zG-zi)+(xG-xi)(yj-yi))sinγ],
where γ is the direction angle of robot’s body velocity Vb.


### 3.3. Expansion ofSθ for the Generalized Case of Partial Tumbling

As it was explained above, in presence of the swinging leg, when disturbing force is high enough to cause robot’s rotation around a given edge of the supporting polygon, the leg may block robot’s motion. In order to explain this tumbling sequence in detail, let us refer to Figure1. There are two possible stages of rotation, and we will refer to them as “first rotation” and “second rotation.”We will be using the case of a crawling gait pictured in Figure1 as an illustration to our explanation and subsequent calculations.In case of Figure1, first rotation is a rotation of robot’s CG around P1P4 edge of the supporting polygon P1P3P4 (top view diagram shown in Figure 4(a)). If input energy Ei is sufficient, and so is input velocity V(Ei), it may force the robot to overturn around P1P4. If that is the case, leg P3 loses its contact with the ground, while leg P2, on contrary, gains it. This motion results in a change of the supporting polygon from P1P3P4 to P1P4P2 (Figures 1(b) and 4(b)).Sequence of destabilized motion (partial tumbling) after the application of disturbing input energyEi.
(a)
First rotation
(b)
Second rotation, variant with tumbling aroundP2P4 lineIf initial disturbing energyEi is high enough, robot’s movement can continue in a second rotation phase either around P2P4 (in S2 plane, Figure 4(b)) or around P1P2 (in S3 plane, Figure 5), depending on the position of the swinging leg P2 and direction of motion of the CG.Figure 5
Second rotation, variant with tumbling aroundP1P2 line.For the purpose of illustration, let us suppose that second rotation occurs aroundP2P4, as in Figure 4(b). Let us discuss the process of calculation of Sθ in such case in detail.


#### 3.3.1. Calculation ofSθ for the First Rotation

For the first rotation, we will not be calculating a typicalSθ as the one we discussed before. This is because previously we were suggesting that disturbance input energy Ei should be sufficient to rotate CG around P1P4 edge on angle φmax. But in case of partial tumbling, the motion of robot’s CG is constrained by existing swing leg (e.g., P2). Thus, it needs to be moved on angle δ, or the angular distance which swing leg P2 should travel before hitting the ground (Figure 6).Figure 6
Side view of the first rotation.In such case, we can substitute angleθmax with angle δ. Therefore, we must first calculate angle δ based on the coordinates of swing leg P2 before its collision with the ground. It can be expressed as
(11)δ=arctan(z2d2),
where z2 is the height of the swing leg P2 and d2 is the distance between projection of P2 on a horizontal plane and P1P4 edge of the supporting polygon.In turn, distanced2 can be easily calculated as
(12)d2=(y1-y4)x2+(x4-x1)y2+(x1y4-x4y1)(y1-y4)2+(x4-x1)2.New position of robot’s CG in rotation aroundP1P4 edge can be calculated from (4) by substituting φmax with δ which can be found through (11) and (12):
(13)Gfirst=C1,4∥P1,4∥P^1,4+cosδ(P1G-C1,4∥P1,4∥P^1,4)+sinδA1,4∥P1,2∥+P1.KnowingGfirst, the new position of CG, we can calculate the height difference H1,4 between it and initial position G:
(14)H1,4=Gfirstz-Gz.Also, from (9), we can define coefficient B1,4, and, from (8), we can calculate Z1,4. Subsequently, from (2), it is easy to find Sθfirst for P1P4 edge of the supporting polygon:
(15)Sθfirst=12g(2gH1,4Z1,4-VbB1,4bodyB1,4)2.


#### 3.3.2. Calculation ofSθ for the Second Rotation

It is important to highlight that after the first rotation, the robot’s body acquires a residual velocityVres (Figures 4(b) and 6). Projection of this residual velocity on a horizontal plane represents a body velocity Vbsecond, which is an initial condition for the second rotation.Another important point is that we cannot vary angleθsecond (direction of the input velocity Vsecond(Ei)) during the second rotation. This is because robot’s motion in this stage is not independent but is only a continuation of the motion initiated at the stage of first rotation under the influence of previously applied disturbance energy Ei. Thus, the directions of Vresh, horizontal projection of residual velocity, and input velocity for the second rotation Vsecond(Ei) coincide. Therefore, the physical meaning of Sθ for the second rotation is how much energy is required to overturn the robot around the edge of the supporting polygon in addition to the existing residual energy from the first rotation (represented in the form of residual velocity Vres).In such case,Sθsecond can be calculated through (2), with a consideration that θsecond=γsecond, and Vb=Vresh. Thus, B2,4=B2,4body, and equation for its calculation will look like
(16)B2,4=[((y4-y2)(zG-z2)-(yG-y2)(z4-z2))cosθsecond+(-(x4-x2)(zG-z2)+(xG-x2)(y4-y2))sinθsecond].Height differenceH2,4 must be calculated in regard to Gfirst, position of CG after the first rotation:
(17)H2,4=G2,4z-Gfirstz.Finally, (2) for calculation of Sθsecond can be written as
(18)Sθsecond=12g(2gH2,4Z2,4-Vresh)2.After all those calculations, computedSθ for both rotations, expressed in (15) and (18), can be combined, thus giving an understanding of total dynamic normalized energy stability margin for a given posture in presence of the swinging leg:
(19)Sθtotal=Sθfirst+Sθsecond,
where Sθfirst represents an energy required to perform first rotation and Sθsecond represents an additional energy required for robot to continue tumbling motion.


## 3.1. Definition of Directional Normalized Energy Stability Margin

In order to generate an NT gait resistant to large disturbing forces applied to robot’s body from any direction, our first step was to introduce Directional Normalized Stability Margin, a new stability criterion that takes into account the dynamic effects of a tumbling motion, including the effect of the swinging leg when it forms a new ground foothold, as well as a directional disturbing force.We proposedSθ before and defined it as the minimum amount of input energy Ei applied in the form of horizontal force with a yaw angular direction θ required to tumble an object, divided by weight mg of the robot itself. DNESM Sθ was expressed as follows:
(1)Sθ=Eimg|θ.In this criterion, we assume the phenomenon of instantaneous time, when robot’s movement is measured in discrete time snapshots; therefore, even thoughV(Ei) is created by a certain input force which is, in turn, caused by an input energy Ei, we may neglect such parameters as acceleration under the influence of that force, feet slipping, and so forth. Input energy Ei is applied to the center of gravity of the object in the form of force F(Ei) that acts in the horizontal plane on the yaw angle θ and generates velocity V(Ei).


## 3.2. Calculation ofSθ

Let us summarize the calculation ofSθ for a walking robot with an n-legged supporting posture.We assume that a walking robot is affected by an input energyEi that generates horizontal input velocity V(Ei) of the CG (Figure 3). Yaw direction θ of V(Ei) is variable, and its magnitude is defined by the amount of energy required to overturn the robot. Additionally, robot body has a horizontal velocity Vb. Therefore, we are considering that rotational velocity V(V(Ei),Vb)r is generated by both V(Ei) and Vb.Figure 3
Rotation of CG around the edge of the supporting polygon under the influence of external disturbanceEi for robot standing in an arbitrary posture. Pi are footholds, and Pi* are their projections on a horizontal plane. V(Ei) is input velocity, created by external disturbance energy Ei, and Vb is robot’s body velocity. S1 is the plane of CG rotation around P1P2, and S2 is a vertical plane of an unstable equilibrium above P1P2. Other variables are defined in Section 3.P
i and Pj are neighboring ground contact points. Edges of the supporting polygon and CG of the robot may be denoted as Pi,j, and G(xG,yG,zG) correspondingly.Main condition for overturning the robot is moving its CG from initial positionG to a position G(i,j)max—an unstable equilibrium in rotation around Pi,j axis.Thus,Sθ for the edge of the supporting polygon connecting ith and jth foothold may be easily computed through (2):
(2)Sθ=12g(2gHi,jZi,j-VbBi,jbodyBi,j)2.Variables, necessary for computation ofSθ via (2), can be calculated through the following equations.(1)
Hi,j, height difference between original CG position G and its highest possible position G(i,j)max above Pi,j:
(3)Hi,j=G(i,j)maxz-Gz,
where
(4)G(i,j)max=Ci,j∥Pi,j∥P^i,j+cosφmax(PiG-Ci,j∥Pi,j∥P^i,j)+sinφmaxAi,j∥Pi,j∥+Pi,
for which
(5)Ai,j=[(yj-yi)(zG-zi)-(yG-yi)(zj-zi)-(xj-xi)(zG-zi)+(xG-xi)(zj-zi)(xj-xi)(yG-yi)-(xG-xi)(yj-yi)],Ci,j=(xG-xi)(xj-xi)+(yG-yi)(yj-yi)+(zG-zi)(zj-zi).
Also, a maximum angular displacement of robot’s CG φmaxi,j can be found as
(6)φmaxi,j=arctan(Dij),
where
(7)Di,j=(xj-xi)(yG-yi)-(xG-xi)(yj-yi)∥Pi,j∥(zG-zi)-(Ci,j/∥Pi,j∥)(zj-zi).(2)
CoefficientZi,j for a Pi,j axis:
(8)Zi·j2=(Bi,j∥Pi,j×PiG∥2)2Ai,jTAi,j,
for which coefficient
(9)Bi,j=[((yj-yi)(zG-zi)-(yG-yi)(zj-zi))cosθ+(-(xj-xi)(zG-zi)+(xG-xi)(yj-yi))sinθ].(3)
Similarly, coefficientBi,jbody:
(10)Bi,jbody=[((yj-yi)(zG-zi)-(yG-yi)(zj-zi))cosγ+((xG-xi)(yj-yi)-(xj-xi)(zG-zi)+(xG-xi)(yj-yi))sinγ],
where γ is the direction angle of robot’s body velocity Vb.


## 3.3. Expansion ofSθ for the Generalized Case of Partial Tumbling

As it was explained above, in presence of the swinging leg, when disturbing force is high enough to cause robot’s rotation around a given edge of the supporting polygon, the leg may block robot’s motion. In order to explain this tumbling sequence in detail, let us refer to Figure1. There are two possible stages of rotation, and we will refer to them as “first rotation” and “second rotation.”We will be using the case of a crawling gait pictured in Figure1 as an illustration to our explanation and subsequent calculations.In case of Figure1, first rotation is a rotation of robot’s CG around P1P4 edge of the supporting polygon P1P3P4 (top view diagram shown in Figure 4(a)). If input energy Ei is sufficient, and so is input velocity V(Ei), it may force the robot to overturn around P1P4. If that is the case, leg P3 loses its contact with the ground, while leg P2, on contrary, gains it. This motion results in a change of the supporting polygon from P1P3P4 to P1P4P2 (Figures 1(b) and 4(b)).Sequence of destabilized motion (partial tumbling) after the application of disturbing input energyEi.
(a)
First rotation
(b)
Second rotation, variant with tumbling aroundP2P4 lineIf initial disturbing energyEi is high enough, robot’s movement can continue in a second rotation phase either around P2P4 (in S2 plane, Figure 4(b)) or around P1P2 (in S3 plane, Figure 5), depending on the position of the swinging leg P2 and direction of motion of the CG.Figure 5
Second rotation, variant with tumbling aroundP1P2 line.For the purpose of illustration, let us suppose that second rotation occurs aroundP2P4, as in Figure 4(b). Let us discuss the process of calculation of Sθ in such case in detail.


### 3.3.1. Calculation ofSθ for the First Rotation

For the first rotation, we will not be calculating a typicalSθ as the one we discussed before. This is because previously we were suggesting that disturbance input energy Ei should be sufficient to rotate CG around P1P4 edge on angle φmax. But in case of partial tumbling, the motion of robot’s CG is constrained by existing swing leg (e.g., P2). Thus, it needs to be moved on angle δ, or the angular distance which swing leg P2 should travel before hitting the ground (Figure 6).Figure 6
Side view of the first rotation.In such case, we can substitute angleθmax with angle δ. Therefore, we must first calculate angle δ based on the coordinates of swing leg P2 before its collision with the ground. It can be expressed as
(11)δ=arctan(z2d2),
where z2 is the height of the swing leg P2 and d2 is the distance between projection of P2 on a horizontal plane and P1P4 edge of the supporting polygon.In turn, distanced2 can be easily calculated as
(12)d2=(y1-y4)x2+(x4-x1)y2+(x1y4-x4y1)(y1-y4)2+(x4-x1)2.New position of robot’s CG in rotation aroundP1P4 edge can be calculated from (4) by substituting φmax with δ which can be found through (11) and (12):
(13)Gfirst=C1,4∥P1,4∥P^1,4+cosδ(P1G-C1,4∥P1,4∥P^1,4)+sinδA1,4∥P1,2∥+P1.KnowingGfirst, the new position of CG, we can calculate the height difference H1,4 between it and initial position G:
(14)H1,4=Gfirstz-Gz.Also, from (9), we can define coefficient B1,4, and, from (8), we can calculate Z1,4. Subsequently, from (2), it is easy to find Sθfirst for P1P4 edge of the supporting polygon:
(15)Sθfirst=12g(2gH1,4Z1,4-VbB1,4bodyB1,4)2.


### 3.3.2. Calculation ofSθ for the Second Rotation

It is important to highlight that after the first rotation, the robot’s body acquires a residual velocityVres (Figures 4(b) and 6). Projection of this residual velocity on a horizontal plane represents a body velocity Vbsecond, which is an initial condition for the second rotation.Another important point is that we cannot vary angleθsecond (direction of the input velocity Vsecond(Ei)) during the second rotation. This is because robot’s motion in this stage is not independent but is only a continuation of the motion initiated at the stage of first rotation under the influence of previously applied disturbance energy Ei. Thus, the directions of Vresh, horizontal projection of residual velocity, and input velocity for the second rotation Vsecond(Ei) coincide. Therefore, the physical meaning of Sθ for the second rotation is how much energy is required to overturn the robot around the edge of the supporting polygon in addition to the existing residual energy from the first rotation (represented in the form of residual velocity Vres).In such case,Sθsecond can be calculated through (2), with a consideration that θsecond=γsecond, and Vb=Vresh. Thus, B2,4=B2,4body, and equation for its calculation will look like
(16)B2,4=[((y4-y2)(zG-z2)-(yG-y2)(z4-z2))cosθsecond+(-(x4-x2)(zG-z2)+(xG-x2)(y4-y2))sinθsecond].Height differenceH2,4 must be calculated in regard to Gfirst, position of CG after the first rotation:
(17)H2,4=G2,4z-Gfirstz.Finally, (2) for calculation of Sθsecond can be written as
(18)Sθsecond=12g(2gH2,4Z2,4-Vresh)2.After all those calculations, computedSθ for both rotations, expressed in (15) and (18), can be combined, thus giving an understanding of total dynamic normalized energy stability margin for a given posture in presence of the swinging leg:
(19)Sθtotal=Sθfirst+Sθsecond,
where Sθfirst represents an energy required to perform first rotation and Sθsecond represents an additional energy required for robot to continue tumbling motion.


## 3.3.1. Calculation ofSθ for the First Rotation

For the first rotation, we will not be calculating a typicalSθ as the one we discussed before. This is because previously we were suggesting that disturbance input energy Ei should be sufficient to rotate CG around P1P4 edge on angle φmax. But in case of partial tumbling, the motion of robot’s CG is constrained by existing swing leg (e.g., P2). Thus, it needs to be moved on angle δ, or the angular distance which swing leg P2 should travel before hitting the ground (Figure 6).Figure 6
Side view of the first rotation.In such case, we can substitute angleθmax with angle δ. Therefore, we must first calculate angle δ based on the coordinates of swing leg P2 before its collision with the ground. It can be expressed as
(11)δ=arctan(z2d2),
where z2 is the height of the swing leg P2 and d2 is the distance between projection of P2 on a horizontal plane and P1P4 edge of the supporting polygon.In turn, distanced2 can be easily calculated as
(12)d2=(y1-y4)x2+(x4-x1)y2+(x1y4-x4y1)(y1-y4)2+(x4-x1)2.New position of robot’s CG in rotation aroundP1P4 edge can be calculated from (4) by substituting φmax with δ which can be found through (11) and (12):
(13)Gfirst=C1,4∥P1,4∥P^1,4+cosδ(P1G-C1,4∥P1,4∥P^1,4)+sinδA1,4∥P1,2∥+P1.KnowingGfirst, the new position of CG, we can calculate the height difference H1,4 between it and initial position G:
(14)H1,4=Gfirstz-Gz.Also, from (9), we can define coefficient B1,4, and, from (8), we can calculate Z1,4. Subsequently, from (2), it is easy to find Sθfirst for P1P4 edge of the supporting polygon:
(15)Sθfirst=12g(2gH1,4Z1,4-VbB1,4bodyB1,4)2.


## 3.3.2. Calculation ofSθ for the Second Rotation

It is important to highlight that after the first rotation, the robot’s body acquires a residual velocityVres (Figures 4(b) and 6). Projection of this residual velocity on a horizontal plane represents a body velocity Vbsecond, which is an initial condition for the second rotation.Another important point is that we cannot vary angleθsecond (direction of the input velocity Vsecond(Ei)) during the second rotation. This is because robot’s motion in this stage is not independent but is only a continuation of the motion initiated at the stage of first rotation under the influence of previously applied disturbance energy Ei. Thus, the directions of Vresh, horizontal projection of residual velocity, and input velocity for the second rotation Vsecond(Ei) coincide. Therefore, the physical meaning of Sθ for the second rotation is how much energy is required to overturn the robot around the edge of the supporting polygon in addition to the existing residual energy from the first rotation (represented in the form of residual velocity Vres).In such case,Sθsecond can be calculated through (2), with a consideration that θsecond=γsecond, and Vb=Vresh. Thus, B2,4=B2,4body, and equation for its calculation will look like
(16)B2,4=[((y4-y2)(zG-z2)-(yG-y2)(z4-z2))cosθsecond+(-(x4-x2)(zG-z2)+(xG-x2)(y4-y2))sinθsecond].Height differenceH2,4 must be calculated in regard to Gfirst, position of CG after the first rotation:
(17)H2,4=G2,4z-Gfirstz.Finally, (2) for calculation of Sθsecond can be written as
(18)Sθsecond=12g(2gH2,4Z2,4-Vresh)2.After all those calculations, computedSθ for both rotations, expressed in (15) and (18), can be combined, thus giving an understanding of total dynamic normalized energy stability margin for a given posture in presence of the swinging leg:
(19)Sθtotal=Sθfirst+Sθsecond,
where Sθfirst represents an energy required to perform first rotation and Sθsecond represents an additional energy required for robot to continue tumbling motion.


## 4. Basic Tumbling Experiment with Consideration about the Swinging Leg

As in our previous study on Directional Normalized Energy Stability Margin [2], we validated the calculation of Sθ by performing a numerical simulation and then conducting a tumbling experiment with a simple model of a robot, measuring Sθ manually and comparing our results with a simulation for the same model.In order to perform a validation ofSθ with swinging leg consideration, we conducted an experiment with a similar, but slightly modified setup.Tumbling experiment setup is shown in Figure7(a). It consisted of the following elements: a pendulum with a hammer 1 (mass: 470 g) attached to a connecting rod 2 and rotating on a shaft 3; a robot model 4 (mass: 490 g) with lightweight legs (mass of each leg is 2.3 g), Figure 7(b); as mass of the legs is small compared to mass of the body, they can be neglected; supporting pillars 5; rotary table 6 for positioning the body against hammer 1, and a vertical scale 7 for measuring the value of Sθ.Experimental setup.
(a)
Impact table
(b)
Robot body model 4 (swing leg height is 5 mm), before first rotation
(c)
Robot body model after first rotationFor the purposeSθ validation, body 4 also had an additional “swinging” leg—a shorter leg elevated 5 mm above the surface. After the application of impact force and subsequent first rotation around an edge of the existing supporting polygon, swinging leg prevented overturning and helped to create a secondary supporting polygon (second rotation stage).Experimental process was done to measure the lowest height of the pendulum that defined a corresponding potential energy required to overturn the body around the edge of a secondary supporting polygon. After several iterations for each angular position, we were able to make a measurement ofSθ with a certain precision.Results of the experiment were then compared to the results of numerical simulation for the tumbling model and are shown in Figure8.Figure 8
Experimental results (shown as dots) and derivedSθ accounting for existence of the swinging leg (shown as a red line). DNESM Sθ for P1P2P3 supporting polygon without swinging leg consideration is presented for comparison (shown in black).


## 5. Discussion about Actual Application ofSθ

Currently, we are developing a new walking robot, TITAN-XIII (Figure9). This is a lightweight machine built specifically for research on gait control and stability of multi-legged locomotion. Although work on the robot is not yet completed, we decided to apply the theory of Sθ and examine stability of TITAN-XIII beforehand.Figure 9
TITAN-XIII walking robot.To do that, we developed a numerical simulation based on the geometry of TITAN-XIII performing a trotting gait, and calculatedSθ in all stages of motion for all edges of all possible supporting polygons. Main purpose of such simulation was to measure the minimum of Sθ throughout the motion sequence and suggest ways to improve locomotion stability, thus creating a Non-Tumbling gait for a particular robot.Subsections below discuss the specifics of the simulation and its results.


### 5.1. Simulation Assumptions

Similar to previous simulations, walking simulation was done with the following assumptions.(i)
External energyEi is supplied to the system in a horizontal plane, and, thus, V(Ei) lays in the horizontal plane as well.(ii)
Friction in the footholds is infinite, and slipping does not occur.(iii)
Legs are massless, and robot’s mass is concentrated in the body.(iv)
Angular velocity of the bodyωb=0.(v)
Simulation is conducted with an assumption that the surface is flat.(vi)
In simulated trotting gait, change of the supporting pair of legs happens instantaneously.


### 5.2. Parameters of Robot’s Motion

The equations used to control CG position and its velocity are as follows.Position of CG is calculated as(20)Gx(t)=Aest+Be-st,
where A=(V0/s+x0)/2, B=(-V0/s+x0)/2, s=g/Gz(t).CG velocity is calculated as(21)Vb(t)=s(Aest-Best),
and minimum initial velocity is V0=-Gx0g/Gz0.As it is clear from (21) and Figure 11, robot’s body velocity is the highest in the beginning of each step. As the motions progress, it decreases, and, at the point when robot’s CG is located above the supporting line, robot’s body velocity reaches its minimum. After this, it enters a phase of acceleration and reaches minimum initial velocity V0 towards the end of the current step and the beginning of the next step.Such sophisticated velocity control, despite introducing rapid acceleration and deceleration, allows achieving greater speed and greater stability of the posture. Specifics of this approach are discussed in [7].In the context of validation ofSθ, consideration of robot’s body velocity Vb brings the simulation closer to real life and allows making better judgements about the applicability of Sθ.We have conducted several types of simulation where robot was performing a step of a trot gait. Simulation types are as follows.(i)
Varying swing leg height.(ii)
Varying CG height.(iii)
Varying velocity simulations.


### 5.3. Locomotion Stability Map

Simulation that we performed, was based on a trot gait with a fixed stride (150 mm). We were calculating the minimumSθ throughout the motion sequence. By varying the wideness of the posture, we obtained different minimum measurements of Sθ. Each simulation was conducted in 30 different configuration positions across the service area for that particular stride (service area for 150 mm stride is shown in dark grey in Figure 10, and M is the middle point of the stride).Figure 10
Areas of minimumSθ for TITAN-XIII walking robot performing a trotting gait with a fixed stride. The best Sθ=0.055 m.Behavior ofSθ throughout the step of TITAN-XIII walking robot.
(a)
(b)Position of a stride’s middle pointM defined the posture.Simulation allowed us to generate a stability map, a simple representation of safe and unsafe postures and footholds (Figure10). Light green areas represent zones with most stable postures, while pinkish areas show most unstable postures.


### 5.4. Direction of MinimumSθ during Motion

Firstly, we studied basic behavior ofSθ, such as the changes in direction of minimum Sθ during a step of our model of TITAN-XIII. Although walking cycle consists of two steps performed by interchanging pairs of legs, due to symmetrical nature of the examined walk, it is enough to consider only one step.Changes ofSθ throughout one step of a simulated TITAN-XIII walking robot performing trot gait are presented in Figure 11, and actual contour of Sθ for each measurement can be seen in Figure 12.Figure 12
Contour ofSθ throughout the step of TITAN-XIII walking robot.It is interesting to notice that, during the motion, direction of minimumSθ changes (Figure 12). From Figure 11, it is clear that this happens because of the changes of robot’s velocity (Figure 11). Additionally, the way Sθ changes throughout the step is not trivial. In points 0 to 2, stability is low as the velocity is high and directed forward. As the decrease of body velocity Vb becomes significant, stability increases (points 3 to 5), achieving its maximum in point 5, where velocity is minimum, and posture is effectively a square. Sθ starts decreasing in point 6 and achieves a local minimum in point 8, but because a pair of swinging legs is moved forward and velocity is not yet high enough, the minimum stability is directed backwards.A sudden increase of stability in point 9 is of particular interest. It occurs because of the increase of velocity (directed forward) that counteracts the negative effect of the swinging pair of legs which affectSθ and decrease it in the backward direction.Finally, at point 10, when the step is finished and another pair of legs becomes supporting,Sθ equals to measurement in point 0, and contours in 0 and 10 are symmetrical.It is important to highlight that this simple analysis shows that Directional Normalized Energy Stability Margin (orSθ) can be used to estimate stability of multi-legged robot in every moment throughout the motion. Not only it provides the insights about which phase of the step is most stable and unstable, but it also shows interesting effects that posture and velocity control may have on stability during walking.


### 5.5. Varying Height of the Swing Leg

In order to gain more insights about how different parameters of robot’s posture influenceSθ, we performed a simulation with varying swing leg height: 5, 10, and 15 mm above the ground for each series of the simulation. Position of robot’s CG remained at 232 mm above the ground.Dependency betweenSθ and height of the swing leg is shown in Figure 13. It is clear that the increase of swing leg height results in decrease of multi-legged locomotion stability, as indicated by Sθ.Figure 13
Behavior ofSθ in case of increasing swing leg height.


### 5.6. Varying Height of Robot’s CG

Previous simulations were conducted with a consideration that robot’s center of gravity has a constant height of 232 mm above the surface (default height of the CG of TITAN-XIII). In order to understand how the decrease of CG height influences locomotion stability, we performed a set of experiments where CG height was gradually decreased to 200 mm.As one can see from results of the simulation presented in Figure14, decrease of robot’s CG height allows achieving a significant increase in locomotion safety. By lowering CG we were able to increase minimum Sθ to 73 mm. Thus, 16% decrease in CG, height resulted in 33% increase in Sθ.Figure 14
Behavior ofSθ in case of decreasing CG height.


### 5.7. Varying Constant Velocity

Finally, in order to understand the effect which body velocity has on safety margin, we performed a series of simulations where robot’s velocity was constant throughout the motion sequence but was incrementally increased in each modeling session. Four velocities considered were 0.1 m/s, 0.2 m/s, 0.3 m/s, and 0.4 m/s (maximum possible velocity for TITAN-XIII walking robot is 0.7 m/s).It is obvious that an increase in the velocity would result in a decline of safety. Results of the simulation are shown in Figure15. As one can see from the plot, the decrease of stability caused by increase in velocity is essentially linear.Figure 15
Linear decline ofSθ caused by the increase of robot’s body velocity.


### 5.8.Sθ as a Source of Insights about Design of Multilegged Robots

TITAN-XIII walking robot, shown in Figure9, was specifically designed for experiments in gait control and locomotion stability of multi-legged vehicles. Before building the robot, we agreed that from design standpoint, it would be better to pursue an insect-type construction, instead of a more widespread mammal type. By insect type (Figure 16(a)), we mean a robot design which allows wide postures with an ability to position center of gravity at a low height. Mammal-type design, on the contrary, presupposes a narrow posture (Figure 16(b)) and high position of the CG.Insect and mammal postures.
(a)
Insect type posture (wide; CG height is low)
(b)
Mammal type posture (narrow/elongated; CG is elevated)Insect-type design of TITAN-XIII was justified by the fact that insects, due to their wide postures, have greater stability than mammals. However, such proposition lacked scientific backing. So far, there has been no significant research that aimed at studying quantitative estimation of the advantage which insect-type design has over mammal type in terms of stability.Now, Directional Normalized Energy Stability Margin gives us an insight into how significantly different those two types of design/postures are in terms of stability. We have compared stability of insect and mammal postures presented in Figure16. Apart from one being wider than the other, insect-type posture featured a CG height of 200 mm, while mammal-type posture had 232 mm height (not the highest TITAN-XIII is capable of, but, nevertheless, suitable for illustration).As a result, minimum stability margin for insect posture was 73 mm, and minimum stability margin for mammal posture was only 11 mm, which constitutes only 15,1% of the stability of an insect-type posture.Stability map provided in Figure10 may serve as an additional illustration of the fact that not only more narrow postures have reduced stability as we suspected before, but that in case of narrow mammal-type postures, stability is reduced radically.


## 5.1. Simulation Assumptions

Similar to previous simulations, walking simulation was done with the following assumptions.(i)
External energyEi is supplied to the system in a horizontal plane, and, thus, V(Ei) lays in the horizontal plane as well.(ii)
Friction in the footholds is infinite, and slipping does not occur.(iii)
Legs are massless, and robot’s mass is concentrated in the body.(iv)
Angular velocity of the bodyωb=0.(v)
Simulation is conducted with an assumption that the surface is flat.(vi)
In simulated trotting gait, change of the supporting pair of legs happens instantaneously.


## 5.2. Parameters of Robot’s Motion

The equations used to control CG position and its velocity are as follows.Position of CG is calculated as(20)Gx(t)=Aest+Be-st,
where A=(V0/s+x0)/2, B=(-V0/s+x0)/2, s=g/Gz(t).CG velocity is calculated as(21)Vb(t)=s(Aest-Best),
and minimum initial velocity is V0=-Gx0g/Gz0.As it is clear from (21) and Figure 11, robot’s body velocity is the highest in the beginning of each step. As the motions progress, it decreases, and, at the point when robot’s CG is located above the supporting line, robot’s body velocity reaches its minimum. After this, it enters a phase of acceleration and reaches minimum initial velocity V0 towards the end of the current step and the beginning of the next step.Such sophisticated velocity control, despite introducing rapid acceleration and deceleration, allows achieving greater speed and greater stability of the posture. Specifics of this approach are discussed in [7].In the context of validation ofSθ, consideration of robot’s body velocity Vb brings the simulation closer to real life and allows making better judgements about the applicability of Sθ.We have conducted several types of simulation where robot was performing a step of a trot gait. Simulation types are as follows.(i)
Varying swing leg height.(ii)
Varying CG height.(iii)
Varying velocity simulations.


## 5.3. Locomotion Stability Map

Simulation that we performed, was based on a trot gait with a fixed stride (150 mm). We were calculating the minimumSθ throughout the motion sequence. By varying the wideness of the posture, we obtained different minimum measurements of Sθ. Each simulation was conducted in 30 different configuration positions across the service area for that particular stride (service area for 150 mm stride is shown in dark grey in Figure 10, and M is the middle point of the stride).Figure 10
Areas of minimumSθ for TITAN-XIII walking robot performing a trotting gait with a fixed stride. The best Sθ=0.055 m.Behavior ofSθ throughout the step of TITAN-XIII walking robot.
(a)
(b)Position of a stride’s middle pointM defined the posture.Simulation allowed us to generate a stability map, a simple representation of safe and unsafe postures and footholds (Figure10). Light green areas represent zones with most stable postures, while pinkish areas show most unstable postures.


## 5.4. Direction of MinimumSθ during Motion

Firstly, we studied basic behavior ofSθ, such as the changes in direction of minimum Sθ during a step of our model of TITAN-XIII. Although walking cycle consists of two steps performed by interchanging pairs of legs, due to symmetrical nature of the examined walk, it is enough to consider only one step.Changes ofSθ throughout one step of a simulated TITAN-XIII walking robot performing trot gait are presented in Figure 11, and actual contour of Sθ for each measurement can be seen in Figure 12.Figure 12
Contour ofSθ throughout the step of TITAN-XIII walking robot.It is interesting to notice that, during the motion, direction of minimumSθ changes (Figure 12). From Figure 11, it is clear that this happens because of the changes of robot’s velocity (Figure 11). Additionally, the way Sθ changes throughout the step is not trivial. In points 0 to 2, stability is low as the velocity is high and directed forward. As the decrease of body velocity Vb becomes significant, stability increases (points 3 to 5), achieving its maximum in point 5, where velocity is minimum, and posture is effectively a square. Sθ starts decreasing in point 6 and achieves a local minimum in point 8, but because a pair of swinging legs is moved forward and velocity is not yet high enough, the minimum stability is directed backwards.A sudden increase of stability in point 9 is of particular interest. It occurs because of the increase of velocity (directed forward) that counteracts the negative effect of the swinging pair of legs which affectSθ and decrease it in the backward direction.Finally, at point 10, when the step is finished and another pair of legs becomes supporting,Sθ equals to measurement in point 0, and contours in 0 and 10 are symmetrical.It is important to highlight that this simple analysis shows that Directional Normalized Energy Stability Margin (orSθ) can be used to estimate stability of multi-legged robot in every moment throughout the motion. Not only it provides the insights about which phase of the step is most stable and unstable, but it also shows interesting effects that posture and velocity control may have on stability during walking.


## 5.5. Varying Height of the Swing Leg

In order to gain more insights about how different parameters of robot’s posture influenceSθ, we performed a simulation with varying swing leg height: 5, 10, and 15 mm above the ground for each series of the simulation. Position of robot’s CG remained at 232 mm above the ground.Dependency betweenSθ and height of the swing leg is shown in Figure 13. It is clear that the increase of swing leg height results in decrease of multi-legged locomotion stability, as indicated by Sθ.Figure 13
Behavior ofSθ in case of increasing swing leg height.


## 5.6. Varying Height of Robot’s CG

Previous simulations were conducted with a consideration that robot’s center of gravity has a constant height of 232 mm above the surface (default height of the CG of TITAN-XIII). In order to understand how the decrease of CG height influences locomotion stability, we performed a set of experiments where CG height was gradually decreased to 200 mm.As one can see from results of the simulation presented in Figure14, decrease of robot’s CG height allows achieving a significant increase in locomotion safety. By lowering CG we were able to increase minimum Sθ to 73 mm. Thus, 16% decrease in CG, height resulted in 33% increase in Sθ.Figure 14
Behavior ofSθ in case of decreasing CG height.


## 5.7. Varying Constant Velocity

Finally, in order to understand the effect which body velocity has on safety margin, we performed a series of simulations where robot’s velocity was constant throughout the motion sequence but was incrementally increased in each modeling session. Four velocities considered were 0.1 m/s, 0.2 m/s, 0.3 m/s, and 0.4 m/s (maximum possible velocity for TITAN-XIII walking robot is 0.7 m/s).It is obvious that an increase in the velocity would result in a decline of safety. Results of the simulation are shown in Figure15. As one can see from the plot, the decrease of stability caused by increase in velocity is essentially linear.Figure 15
Linear decline ofSθ caused by the increase of robot’s body velocity.


## 5.8.Sθ as a Source of Insights about Design of Multilegged Robots

TITAN-XIII walking robot, shown in Figure9, was specifically designed for experiments in gait control and locomotion stability of multi-legged vehicles. Before building the robot, we agreed that from design standpoint, it would be better to pursue an insect-type construction, instead of a more widespread mammal type. By insect type (Figure 16(a)), we mean a robot design which allows wide postures with an ability to position center of gravity at a low height. Mammal-type design, on the contrary, presupposes a narrow posture (Figure 16(b)) and high position of the CG.Insect and mammal postures.
(a)
Insect type posture (wide; CG height is low)
(b)
Mammal type posture (narrow/elongated; CG is elevated)Insect-type design of TITAN-XIII was justified by the fact that insects, due to their wide postures, have greater stability than mammals. However, such proposition lacked scientific backing. So far, there has been no significant research that aimed at studying quantitative estimation of the advantage which insect-type design has over mammal type in terms of stability.Now, Directional Normalized Energy Stability Margin gives us an insight into how significantly different those two types of design/postures are in terms of stability. We have compared stability of insect and mammal postures presented in Figure16. Apart from one being wider than the other, insect-type posture featured a CG height of 200 mm, while mammal-type posture had 232 mm height (not the highest TITAN-XIII is capable of, but, nevertheless, suitable for illustration).As a result, minimum stability margin for insect posture was 73 mm, and minimum stability margin for mammal posture was only 11 mm, which constitutes only 15,1% of the stability of an insect-type posture.Stability map provided in Figure10 may serve as an additional illustration of the fact that not only more narrow postures have reduced stability as we suspected before, but that in case of narrow mammal-type postures, stability is reduced radically.


## 6. Conclusion and Future Work

In this paper, we discussed the effect that swing leg has on stability of multi-legged robots. We introduced the idea of Non-Tumbling Gait, which relies on the phenomenon occurring during tumbling of the robots when the swing leg contacts the ground and prevents overturning of the robot.We have also explored the relationship between Non-Tumbling Gait and Directional Normalized Energy Stability Margin, orSθ. Sθ was suggested as a stability criterion suitable for maintaining Non-Tumbling Gait. The validity of this choice was evaluated by a tumbling experiment with a simplified model of a walking robot. Additionally, the concepts of Non-Tumbling Gait and Sθ were applied to searching an optimal posture for the new quadruped walking robot, TITAN-XIII.In our future work we will further study the application of Non-Tumbling Gait andSθ in different settings, both in numerical simulations, with additional dynamic effects (e.g., compliance in the joints, ground friction, etc.), and also on various types of walking robots available at Fukushima Robotics Lab.



---

*Source: 317396-2013-08-18.xml*