 Research Article
 Open Access
 Published:
Virtualdynamicsbased reference gait speed generator for limitcyclebased bipedal gait
ROBOMECH Journal volume 5, Article number: 18 (2018)
Abstract
This paper addresses a reference gait speed generator for limitcyclebased bipedal gait of humanoid robots in order to achieve secure and efficient acceleration and deceleration without falling down at respective gait speeds. The reference gait speed generator is hard to be developed by analytical approaches due to the necessity of barren work for identifying the respective basins of attraction. We challenge this issue by designing virtual dynamics among a robot, a virtual leader point, and a goal, and adapting it according to a falling risk of the robot. The virtual dynamics, which has settling and acceleration times as design parameters, gives the reference speeds derived from states of the robot and the leader point to a gait speeds controller. In the dynamics, the robot’s mass is optimized virtually to maximize efficiency while ensuring stability stochastically by using a selection algorithm for locomotion. Even when there were obstacles or an up slope in traveling courses of simulations, the robot achieved the autonomous traveling from the start to the goal securely. Specific resistance was also kept small in comparison with localstabilitybased walking. The proposed method makes the limitcyclebased bipedal gait more practical and contributes toward replacing the major method that ensures stability of every step.
Introduction
In the research fields of humanoid robots, bipedal gait control to travel in a variety of environments, such as disaster sites, humanliving buildings, etc., is an essential issue. Limitcyclebased bipedal gait [1,2,3,4,5,6,7] has excellent mobility in terms of energy efficiency from utilization of natural dynamics of robots, in contrast to major approach, which wastes the energy to ensure the stability of every step [8, 9]. This approach, however, makes footstep planning (i.e., the robot’s global position control) more challenging compared to the major approach to ensure the stability of every step [10, 11], although a few studies achieved footstep planning by combining several stable gait primitives [7].
Such energyefficient but lesscontrollable gait is therefore suitable for traveling on large and long spaces where the footstep planning is not required. Instead of the footstep planning, gait speed control is easily achieved in the limitcyclebased bipedal gait. Gait speed controllers consist of three types: forward speed control [2,3,4]; sideward speed control [3, 4]; and turning speed control [5, 6, 12]. Our approach, namely quasipassive dynamic autonomous control (QPDAC) with adaptive speed controller (ASC) [4, 5], has achieved all types of speed control. In addition, an autonomous transition between walking and running has been implemented to expand capabilities of the bipedal gait [13].
QPDAC with ASC has solved the gait speed control adaptively, not analytically. This concept may cause falling down when the reference gait speeds are drastically changed, i.e., the adaptation cannot catch up their change. Nevertheless, analytical approaches are unfortunately infeasible to solve due to their complexity.
Therefore, a remaining issue to travel from a start to a goal autonomously is the way to generate secure but efficient reference speeds. We notice that asymptotic stability is expressed as a limit cycle formed by states of the robot. For this reason, the reference speeds should be designed based on the current states, not time, to ensure asymptotic stability.
To this end, we challenge this issue by designing virtual dynamics between the robot and the goal via a virtual leader point (see Fig. 1). This approach is a combination of an artificial potential field concept for mobile robots [14, 15] and a leaderfollower formation for multiple agents [16, 17]. Seto and Sugihara have proposed the similar idea for smooth reaching movement [18], but in contrast, our proposal deals with the way to design parameters of the method and optimizes them in real time according to the surroundings. The virtual leader point is attracted to the goal and repulsed by other environment including obstacles instead of the robot, and consequently, a secure path from the start to the goal is planned autonomously. When the robot follows the leader point within a certain range, the robot reaches the goal while avoiding the obstacles. Such “indirect” interaction between the robot and surroundings restrains drastic change of the reference gait speeds, namely, they are likely to maintain stability of the current states.
However, this reference generator does not guarantee asymptotic stability. Alternatively, more rapid acceleration would be possible. To ensure asymptotic stability and keep high speed for a long time in pursuit of efficiency, the virtual dynamics can be optimized according to a falling risk of the robot by using a selection algorithm for locomotion (SAL) proposed in previous work [19]. SAL optimizes the robot’s mass virtually to maximize an evaluation function, in other words, efficiency within the allowable falling risk, called VMSAL. Note that unlike previous use of SAL, the evaluation function is difficult to be maximized by the change of the virtual mass. This is because a dominant factor to determine the evaluation function is a set of interaction forces and torques, which are difficult to be optimized freely. To solve this problem, such interaction is regarded as stochastic variable [20], and instead of the evaluation function, its expected value is maximized.
To evaluate proposed VMSAL, two types of simulations are carried out, while comparing the case without and with VMSAL. In simulations, the robot achieved the secure and efficient traveling from the start to the goal autonomously. Namely, the robot could travel in the area with obstacles or on a 5° up slope. Specific resistance was fairly small in comparison with walking by a localstabilitybased method conducted in ref. [21].
Our contribution in this paper is not only in system integration from the viewpoint of practicality, but also to expand applicable problems of SAL from the theoretical point of view. Specifically, SAL has solved the optimization problems for discrete variable using deterministic or stochastic objective [19, 22] and for continuous variables using deterministic objective [19, 23] so far. VMSAL corresponds to the optimization for continuous variables using stochastic objective, which has not been solved yet. By enabling SAL to cover this problem, most of the optimization problems for locomotion can be handled with SAL.
Prerequisites for limitcyclebased bipedal gait and its speed control
Passive dynamic autonomous control: PDAC
Let us introduce a method used as the limitcyclebased bipedal gait, called passive dynamic autonomous control (PDAC) [21]. PDAC models the robot as an inverted telescopic pendulum model, which has a point mass m and threedimensional halfspherical coordinates \((\theta , \phi , \ell )\), where \(\theta \in [0, \pi /2]\) means the inclination of the pendulum, \(\phi \in [\pi , \pi ]\) is for the direction of the inclination, and \(\ell \in (0, \infty )\) gives the pendulum length. Here, \(\ell\) is constrained by a virtual holonomic constraint (VHC) for robots in accordance with ref. [24], where all joints of the robot interlock with single state variable: in this paper, it is given by \(\theta\) as \(\ell := \ell (\theta )\). This paper employs the dynamicsbased VHC [13] specifically.
By such VHC, the dynamics of the pendulum, \(\ddot{\theta }\) and \(\ddot{\phi }\), can be analytically integrated as follows:
where g is the gravitational acceleration. \(C_\theta\) and \(C_\phi\) are conserved quantities in each gait step, named PDAC constants. \(M(\theta )\), \(C(\theta )\), and \(L(\theta )\) are substituted for respective terms. In particular, \(L(\theta )\) can be solved under the condition that \(\ell ^3(\theta )\sin \theta\) is integrable. The sign ± in Eq. (2) is simply chosen by the sign of the initial angular velocity of \(\phi\), \(\dot{\phi }_0\). The sign \(\mp\) in Eq. (1) is inverted before and after an apex.
The bipedal gait exposed by PDAC is fully described by given VHC and two PDAC constants. In particular, the gait speeds are given by the combination of two PDAC constants, whose square roots have the same units of angular momentum.
Adaptive speed controller (ASC)
ASC proposed in the previous work [4] controls the translational (forward and sideward) speeds. Let us introduce the principle of ASC. Now, the reference and actual gait speeds are defined as \(v_{x,y}^{\text {ref}} {\text{\,and\,}} {v_{x,y}}\), respectively, where x is the forward direction of the robot is facing and y is the sideward direction orthogonal to it. The origin of coordinate system of the swingleg position \({\varvec{p}_L}\) is on a hip joint, where is geometrically connected to the vicinity of the center of gravity (COG) position.
Forward speed control
Forward speed control is considered on the basis of shifting an equilibrium point of the robot’s mechanical energy. To this end, the momentum of the swing leg is utilized for our solution. As defined in above, PDAC models the robot as the inverted pendulum with a point mass m, but in fact, the mass of the swing leg \(m_L\) is not lost as modeling error. The forward swingup and touchdown positions, \(p_{Lx}^{su}\) and \(p_{Lx}^{td}\), are simply designed based on a capture point [25], while the term of the COG position in the capture point is ignored according to their coordinate system as follows:
where, \(\alpha _x = 0.8\) is the constant to keep locomotion going forward (or backward), and \(\omega\) is the natural frequency of the inverted pendulum \(\omega =\sqrt{g/(\ell (\theta )\cos \theta )}\). \(\iota _x\) is the accumulated term to adapt the swingup amount for the optimal momentum that yields \(v_x^\text{{ref}}\).
Sideward speed control
In the bipedal gait, separation of the limit cycles (asymmetric behaviors) for the right and left legs would lead to a slide motion. The degree of this separation is given as the function of the asymmetric touchdown position of the right and left legs, \(\Delta _y\), namely, it should be adjusted to obtain the reference sideward speed. To this end, the sideward touchdown position \({p_{Ly}^{td}}\) is designed based on the capture point as follows:
where, \(\alpha _y = 1.2\) is the constant to keep locomotion stabilizing. \({d_{L}}\) denotes the half of width between the right and left legs and \({\beta _{L}} \in [0,1]\) means degree of the vicinity of the COG. \(\Delta _y\) is adjusted by the integral term \(\iota _y\) to achieve \({v_y^{\text{ref}}}\) as well as Eq. (3).
Quasipassive dynamic autonomous control (QPDAC)
ASC is insufficient to reach arbitrary goal because its sideward speed control is limited depending on the forward speed. In that case, the turning speed control is additionally required like a vehicle. We have proposed QPDAC in previous work [5] to overcome this problem.
QPDAC adds the angular momentum \(L_w\), which is explicitly generated by rotating a yawaxis hip joint depending on the reference turning speed \(v_w^{\text{ref}}\) as follows:
where, \(I_w\) is an inertia term and approximated as \(m d_L^2\). Note that the adverse effect of this approximation would be small because the contact position on the ground is basically in the vicinity of the rotating hip joint.
\(L_w\) is injected into the PDAC dynamics in Eqs. (1) and (2). The square roots of two PDAC constants, \(C_\theta\) and \(C_\phi\), are the same unit system as the angular momentum. In particular, \(\sqrt{2C_\phi }\) means the conserved angular momentum of \(\phi\) rotation during one gait step. Thus, \(L_w\) can be summed up with \(\sqrt{2C_\phi }\) in Eq. (2) as follows:
where, the definition of \(C(\theta )\) is changed to Eq. (9). In addition, the touchdown position after turning is considered so that \(v_{2x}\) and \(v_{2y}\) in Eqs. (4) and (5) are converted into the one in coordinate system after turning, respectively.
Design of virtual dynamics
Overview
The reference gait speeds, the translational speeds \(v_{x,y}^{\text{ref}}\) and the turning speed \(v_{w}^{\text{ref}}\), are generated only from virtual attractive (sometimes repulsive) dynamics with a virtual leader point. Note that this leader point is regarded as a ghost of the robot, which has the same physical parameters as the robot’s one and goes ahead. The leader point is towed by a goal, while it is repelled by obstacles, such as walls.
Such design of dynamics aims that the robot is indirectly towed by the goal and repelled by the obstacles. This indirect interaction yields secure acceleration and deceleration, which are suitable for the limitcyclebased gait to maintain stability at respective gait speeds, although responsiveness is deteriorated reluctantly.
In this section, an attractive force (and torque) between the robot and the leader point, \(\varvec{f}_L\) (and \(\tau _L\)), and an attractive force between the leader point and the goal, \(\varvec{f}_G\) (and \(\tau _G\)), are designed. They entail the secure reference speeds without falling down at respective gait speeds.
In Appendices A, B, and C, a repulsive force from the obstacles, \(\varvec{f}_O\) (and \(\tau _O\)), and an explorative force to escape from stationary points, \(\varvec{f}_E\), are defined. Although they are not main focus of this study, they should be implemented as a practical matter, as can be seen from many types of previous work [14, 15].
Connection among robot—leaderpoint—goal
Above connection model is shown in Fig. 2, where the connections among the robot, the leader point, and the goal, give subscripts L and G. For instance, dampers and springs for their connections are given as \(c_{L,G}\) and \(k_{L,G}\) respectively. From these dampers and springs, attractive forces \(\varvec{f}_L\) and \(\varvec{f}_G\) are given as follows:
where \(\varvec{\Delta p_L}\) and \(\dot{\varvec{\Delta p_L}}\) are relative distance and velocity between the robot and the leader point, and \(\varvec{\Delta p_G}\) and \(\dot{\varvec{\Delta p_G}}\) are relative distance and velocity between the leader point and the goal. Note that attractive torques \(\tau _L\) and \(\tau _G\) are given in the same manner. In most cases, \(\varvec{f}_L\) and \(\varvec{f}_G\) are directed to \(\varvec{\Delta p_L}\) and \(\varvec{\Delta p_G}\), respectively, since traveling directions of the robot and the leader point would asymptotically converge to the towing directions.
Given parameters for the connections, namely \(c_{L,G}\) and \(k_{L,G}\), are key parameters to generate the secure reference gait speeds. Hence, they are designed by giving following intuitive conditions.
Dynamics between leader point and goal
Firstly, the dynamics between the leader point and the goal is designed. To facilitate intuitive comprehension for design, this dynamics is represented by a damping ratio \(\zeta _G\) and a natural angular frequency \(\omega _G\), instead of \(c_G\) and \(k_G\).
Now, design criteria are given based on two kinds of time. One is a desired time to arrive at the goal in consideration with the robot’s locomotion ability, \(T_s\), and another is an acceleration time to converge on steady states, \(T_a\). These two are highly easy to be given by designer.
When \(T_s\) is assumed to be a settling time of the dynamics (i.e., the damped oscillation), the leader point will converge on the goal nearly on time.
where \(e_s = 0.05\) means that \(T_s\) corresponds to the 5% settling time. Note that the damped oscillation is rarely settled by \(T_s\) since disturbances from the obstacles are frequently caused.
With respect to \(T_a\), it is assumed to be an inflection point of the dynamics. Namely, \(T_a\) is derived by solving equation that the secondorder differential of the damped oscillation with \(\zeta _G<1\) is equal to 0.
where \(\tan ^{1}(x)\) is approximated as \(xx^3/3\) by thirdorder Maclaurin expansion.
From the above design criteria \(T_s\) and \(T_a\), \(\zeta _G\) and \(\omega _G\) are derived as follows:
\(c_G\) and \(k_G\) are derived from \(\zeta _G\) and \(\omega _G\) via their definitions: \(k_G = m \omega _G^2\) and; \(c_G = m \zeta _G \omega _G\). Note that m is translated into I, which means a moment of inertia, for rotational dynamics.
Now, we focus on the constraint, i.e., \(T_s \ge \ln {e_s}^{1} T_a\), given at deriving \(\zeta _G\). To effectively and surely converge to the goal on time, \(T_s\) can be updated every gait step as \(T_s \leftarrow T_s  T_{\text{sup}}\), where \(T_{\text{sup}}\) means the elapsed time at kth gait step. Such updating, however, reaches the limitation \(T_s=\ln {e_s}^{1} T_a\). In that case, \(\zeta _G\) becomes 1, and therefore, the leader point is expected to converge on the goal without oscillation in accordance with the critical damping.
Dynamics between robot and leader point
Secondly, the dynamics between the robot and the leader point is designed. Now, not only \(c_L\) and \(k_L\) but also a damping ratio \(\zeta _L\) and a natural angular frequency \(\omega _L\) are used.
The leader point is required to be naturally in an observable range of the robot, where the robot can observe by a laser sensor or a camera, to allow the robot to avoid the obstacles in surroundings. If the leader point is outside of the observable range, its interaction with the obstacles cannot be calculated. To keep the leader point inside of the observable range, the equilibrium point of \(\varvec{f}_L\) and \(\varvec{f}_G\) should be on the edge of the observable range at least. Namely, \(k_L\) is given from following equilibrium of \(\varvec{f}_L\) and \(\varvec{f}_G\).
where \(R_{obs}\) is the half of radius of maximum observable circle. Note that when the distance between the robot and the leader point meets \(\Vert \varvec{\Delta p_G} \Vert _2 \le R_{obs}\), the above condition would be usually kept, namely, \(k_L\) can be fixed to \(k_L = k_G\).
The robot should not become closer to the goal rather than the leader point due to risk of collision with the obstacles. \(\zeta _L\) is therefore designed to restrict an overshoot of the damped oscillation, in other words, to entail the critical damping, i.e., \(\zeta _L := 1\). From \(k_L\) and \(\zeta _L\), \(c_L\) is given. Now, as another point of view, the derivation of \(k_L\) and \(\zeta _L\) sets the settling time of the dynamics between the robot and the leader point to \(\sqrt{ R_{obs} / \max (R_{obs}, \Vert \Delta p_G \Vert _2) } T_s \le T_s\). This means that the robot will converge on the leader point faster than the time when the leader point converges on the goal, and eventually it will converge on the goal by tracking the leader point by \(T_s\).
Design of rotational dynamics between robot and leader point
The above connection models reveal the translational motions of the robot and the leader point. The rotational motions, however, should be treated because the robot cannot travel omnidirectional without rotation, as mentioned above. Hence, the dampers and the springs, which are the same design for translational motions, are connected to rotate the leader point and the robot by generating attractive torques \(\tau _G\) and \(\tau _L\), respectively. Note that m is replaced with the moment of inertia I in rotation.
Unfortunately, \(\tau _L\) is insufficient to reach the leader point (the goal eventually) in most cases. This is because the sideward speed is absolutely dependent on the forward speed, i.e., the bipedal gait is a nonholonomic system similar to wheeled robots. To overcome this limitation of the sideward speed, an additional rotational torques \(\tau _S\) is required.
Now, the sideward component of \(\varvec{f}_L\) is newly divided into \(\hat{\varvec{f}}_L\) and \(f_S\) in accordance with the limitation of the sideward speed. \(f_S\) is assumed to generate the robot’s rotation, not translation, and therefore, it is converted into \(\tau _S\) as follows:
where \(t_R\) is the robot’s thickness. In addition, \(\mu _S \in (0,1)\) is a rotational friction coefficient, and therefore, the rotational friction works in the direction depending on the directions of rotational speed and \(\tau _S\): if the direction of \(\tau _S\) matches the direction of rotational speed, the friction direction is given to be minus; otherwise, it is given to be plus.
The leader point receives the reaction force \(f_S\), which rotates it. Note that the point of load of \(f_S\) is regarded as the rear of the leader point \(t_R/2\), namely the rotational torques of the leader point is the same as \(\tau _S\) by canceling the sign. This reaction would result in that the robot moves only straight since the attitude error between the robot and the leader point becomes equal to 0 and the sideward error also becomes equal to 0.
Update of reference gait speed
The attractive forces, \(\varvec{f}_L\) (precisely \(\hat{\varvec{f}}_L\), which was replaced into \(\varvec{f}_L\) for simplicity) and \(\varvec{f}_G\), and the rotational torques, \(\tau _L\), \(\tau _G\), and \(\tau _S\), are given in above sections. Besides, the force to avoid the obstacles, \(\varvec{f}_O\) (and \(\tau _O\)), and the force to escape from the stationary points, \(\varvec{f}_E\), are designed in Appendices A, B, and C. Accordingly, the reference gait speed, \(\varvec{v}^{\text{ref}} = (v_x^{\text{ref}}, v_y^{\text{ref}}, v_w^{\text{ref}})^\top\), and the leader point’s position, \(\varvec{p}^L = (p_x^L , p_y^L , p_w^L)^\top\), are updated under the influence of them.
Firstly, \(\varvec{p}^L\) is updated under the condition that all forces and torques designed in this study act on the leader point.
where dt is a control period at tth control step.
Secondly, \(\varvec{f}_L\), \(\tau _L\), and \(\tau _S\) act on the robot to update \(\varvec{v}^{\text{ref}}\). While paying attention to a constraint of update timing, when \(\varvec{v}^{\text{ref}}\) can be updated just after touchdown of swing leg unlike update of \(\varvec{p}^L\), \(\varvec{v}^{\text{ref}}\) are updated as follows:
where \(\sigma _m\) is a variable to adjust the robot’s mass virtually. The way to adjustment of \(\sigma _m\) is introduced in next “Optimization of virtual mass by selection algorithm for locomotion: VMSAL” section.
Confirmation of convergence
To confirm the convergence of the gait speeds, simple numerical simulations are conducted. In the following simulations, the positions of the leader point and the robot are directly updated according to the given virtual dynamics. First simulations are in one dimension: the goal is in 20 m; the settling time is at 30 s; and a disturbance (\(5\) N) will be injected from 10 to 20 s. Second simulations are in three dimensions (x, y, w): two goals are in (10 m, 10 m, 0°) and (0 m, 10 m, 0°); the settling time is at 30 s. The gait speeds converge on the reference gait speeds as given immediately, and the references are updated at about 0.35 s intervals in accordance with the gait step time of the actual robot. \(\sigma _m\) is fixed to 1. Other parameters are the same as Table 1.
Onedimensional simulations
Simulation results are depicted in Fig. 3. When the robot was not disturbed, the robot reached the goal with smooth change of the speed. Even when the robot was disturbed, the robot reached the goal late.
As a remarkable point, the robot accelerated its speed again after the disturbance to catch up. This is the advantage of the virtualdynamicsbased (i.e., the statebased) reference speed generator.
Threedimensional simulations
Simulation results are depicted in Fig. 4. The robot eventually reached the respective goals in both cases, although their routes were not linear. This is because the sideward speed is limited as mentioned in above.
As a remarkable point, the distance between the robot and the leader point seemed to be so far, although it is in the observable range \(R_{obs}\). If this goes on, the robot would not avoid obstacles due to the tracking delay. This risk comes from no consideration of stability in the design of the virtual dynamics. Therefore, an additional design of \(\sigma _m\) to ensure asymptotic stability is proposed in the next section.
Optimization of virtual mass by selection algorithm for locomotion (VMSAL)
Overview
We notice that \(\sigma _m\) changes the robot’s mass virtually so as to adjust trackability to the leader point. If \(\sigma _m\) is smaller than 1, the update of \(\varvec{v}^{\text{ref}}\) is restrained, and such a behavior facilitates the convergence on the limit cycles at current gait speeds; otherwise, it yields rapid acceleration or deceleration in pursuit of speed or stability. Both of these properties are required, but it is difficult to achieve them simultaneously. In this section, therefore, online optimization of \(\sigma _m\) by using SAL [19], called VMSAL, is explained for secure and efficient bipedal gait.
An unconventional key point to apply SAL to the optimization of \(\sigma _m\) is to estimate an expected value of the evaluation function, which is maximized by optimizing \(\sigma _m\). This is because a main factor for the evaluation function is stochastically given by the virtual dynamics designed in above, and \(\sigma _m\) determines just a tendency of its dynamics.
Selection algorithm for locomotion
In general, locomotion has a tradeoff relation between stability and efficiency (e.g., energy efficiency and gait speed). Several approaches to select locomotion, therefore, have been proposed for switching the priority of stability and efficiency according to the situation [19, 26, 27]. SAL is the stateoftheart algorithm among those approaches. SAL is divided into two phases: a recognition phase and a selection phase (see ref. [19] for more details).
In the recognition phase, the robot estimates the many uncertainties for locomotion from sensors: in this paper, zero moment point (ZMP) errors on x and yaxes; a touchdown timing error; a swingleg trajectory error; a step height; and a slope angle. They are integrated stochastically as a falling risk S using a Bayesian network. The structure of the Bayesian network and the connection strength between the nodes are obtained via offline and online learning.
As reported in ref. [19], S is proportional to the change of the gait speed \(\Delta v\). The gaitspeedbased falling risk \(S^v\) is therefore defined as follows:
where \(C_v\) is a coefficient, although it is simplified as 1.
In the selection phase, the robot reveals the desired balance of stability and efficiency, and adjusts the balance toward the desired one by changing its variables of locomotion. Here, the desired balance of stability and efficiency is defined the maximum efficiency within allowable falling risk (in most cases, without falling down). The variable is given as \(\sigma _m\) in this paper (see the next section).
To satisfy the desired balance of stability and efficiency, locomotion reward R is defined by product of a smooth threshold of the allowable falling risk and the efficiency given as a linear combination of the gait speed v and a reciprocal of specific resistance (or cost of transport) \(1/C_{mt}\) [28].
where \(C_{R1} = 100\) and \(C_{R2} = 20\) are coefficients used to adjust the priority between v and \(C_{mt}\). t is the current time step, and \(N = 5\) is the maximum time step used for predicting the falling risk. Further, r designs the shape of the logistic function. \(\gamma _S = 0.8\) is the reliability of the prediction and \(\gamma _S^{\text {reg}}\) is a normalization term.
Assumption for interaction forces as stochastic variables
Maximization of R yields the desired balance of stability and efficiency for locomotion. The virtual mass variable \(\sigma _m\) is therefore newly optimized for the purpose of maximization of R. Now, the role of \(\sigma _m\) has appeared in Eqs. (21) and (22): large/small \(\sigma _m\) strengthens/weakens the influences of given interaction forces and torques. In other words, \(\sigma _m\) can adjust \(\Delta v\) in SAL indirectly.
However, dominant factors for \(\Delta v\) are obviously the interaction forces and torques, \(\varvec{f}_L\), \(\tau _L\), and \(\tau _S\), and therefore, the effect of \(\sigma _m\) for R highly depends on them. This means that \(\sigma _m\) would oscillate if it is optimized by previous SAL, which decides optimal values deterministically.
To solve this problem, the interaction forces and torques are regarded as stochastic variables: i.e., \(\Delta v\) is also regarded as a stochastic variable. In general, when the gait speed v is under the average speed to travel from the start to the goal by \(T_s\), namely \(\bar{v}\), \(\Delta v\) tends to be positive to accelerate; otherwise, \(\Delta v\) tends to be negative to decelerate. Hence, \(\Delta v\) has a skewness depending on v in its distribution.
To represent this skewness, \(\Delta v\) is assumed to be following skew normal distribution \(\mathcal {SN}\) proposed in ref. [20].
where \(\Delta v\) is replaced as x for the sake of convenience. \(\phi\) is the standard normal probability density function with its cumulative distribution function \(\Phi\). This \(\mathcal {SN}\) has three parameters that should be given: a location \(\mu\); a scale \(\sigma\); and a shape \(\lambda\). From these three, its mean \(\mu _{\text {skew}}\), its variance \(\sigma _{\text {skew}}\), and its skewness \(\gamma _{\text {skew}}\) are derived.
Now, these three parameters, \(\mu\), \(\sigma\), and \(\lambda\) are designed according to the behavior of \(\Delta v\). For the sake of convenience, \(\delta\) is defined as follows:
where \(\delta\) is within \([0,\sqrt{2/\pi })\).
With respect to \(\mu\), it is simply designed to be 0. In that case, \(\mu _{\text {skew}}\) is given to be \(\mu _{\text {skew}} = \sigma \delta\).
We can easily assume that \(\sigma\) correlates with \(\sigma _m\) since \(\Delta v\) is proportional to \(\sigma _m\). \(\sigma\) is, however, not actual variance of \(\mathcal {SN}\), which is absolutely proportional to \(\sigma _m\). Thus, the relation between \(\sigma\) and \(\sigma _m\) is given via \(\sigma _{\text {skew}}\) as follows:
where \(\sigma _0\) is default variance of \(\mathcal {SN}\).
Finally, \(\lambda\) is designed to represent the dependency on v.
where \(\lambda _0\) is an initial skewness at \(v = 0\). The case with \(\lambda _0 = 5\) and \(\bar{v} = 0.5\) is illustrated in Fig. 5.
Maximization of expected value of locomotion reward
From the above skew normal distribution, the expected value of R, namely \(E_R\), can be derived as follows:
Note that this integral is hard to calculate analytically. R is therefore approximated by thirdorder Maclaurin expansion, which gives an analytical solution according to properties of probability distribution by using \(\mu _{\text {skew}}\), \(\sigma _{\text {skew}}\), and \(\gamma _{\text {skew}}\). Here, η_{0–3} means 0–3th order terms of R regarding \(\sigma _m\).
To maximize \(E_R\), the virtual mass factor \(\sigma _m\) is optimized by using SAL, called VMSAL. This purpose can be achieved by using the gradient of \(E_R\) with respect to \(\sigma _m\), \(\partial E_R/\partial \sigma _m\). Namely, \(\sigma _m\) should be updated according to the direction of the gradient as follows:
where \(G_\sigma\) is a gain. The gradient is normalized by its maximum value (it would be at \(v = 2\bar{v}\) and \(S = 0.5\)).
One typical sample of the gradient, which has \(\sigma _m = 1\) and other parameters are the same as Table 1, is illustrated in Fig. 6. The gradient in Fig. 6 is divided into five regions to determine the behavior of VMSAL.

1.
Stable state with low speed (the gradient is plus): the robot would accelerate rapidly to get high speed.

2.
Stable state with high speed (the gradient is minus): the robot would keep high speed for efficiency to reach the goal fast.

3.
Unstable state with low speed (the gradient is minus): the robot would keep low speed for stability not to fall down.

4.
Unstable state with high speed (the gradient is plus): the robot would decelerate rapidly to travel carefully.

5.
Highly unstable state (the gradient is almost zero): this region would be out of scope of VMSAL.
These behaviors are certainly reasonable similar to human behaviors, although they are absolutely determined based on the expected value. Namely, we notice that they would not be always expected.
Simulation
Simulation conditions
Robot details
Following two types of simulations are conducted on a simulator named VREP [29]. An using robot model is created based on Gorilla Robot III that has been developed for a prototype of multilocomotion robot [13, 30], as shown in Fig. 7. This model measures whole joint angles by respective encoders, and threeaxis angular velocities by a gyro sensor mounted on the torso, and threeaxis acceleration by an acceleration sensor mounted on the torso. They are used to predict the current COG states. In addition, the environmental map is given in advance, and a laser sensor is assumed to be used to estimate the self location. A contact model between the ground and the foot of the robot is defined as a nonslip model, and to this end, the COG trajectory is forcibly modified under the limitation of the friction pyramid and gravitational acceleration. From the COG trajectory and the swing leg trajectory, the resolved momentum control [9] generates whole joint angles, which are kinematically obtained almost exactly. Note that the above calculation time to generate whole joint angles was confirmed to be less than 1 ms by Intel Core i7 (2.2 GHz), which is the control step time in the following simulations.
Parameters for the robot model and proposed method are summarized in Table 1. Note that torque and angular velocity of all joints are almost limitless for simplicity. Now, the gait speed is represented by a dimensionless format, i.e., a Froude number \(F_{rd}\) calculated by \(v/\sqrt{g\ell _{\text {leg}}}\) (\(\ell _{\text {leg}}\) is a leg length).
Environment details
In the first type of simulation, the robot will go toward the goal: \((p_x, p_y, p_w)\) = (15 m, 15 m, 90°). In the middle of traveling, four pillars are arranged as obstacles to disturb traveling. This simulation is desired to be finished by \(T_s = 45\) s, namely, \(\bar{v}\) is derived to be about 0.2.
In the second type of simulation, the robot will go straight toward the goal: \((p_x, p_y, p_w)\) = (25 m, 0 m, 0°). The settling time is given as \(T_s = 30\) s, namely, \(\bar{v}\) is derived to be about 0.5. When the gait speed of our robot model is over 0.5, the gait will transit to running in pursuit of energy minimization [13, 31], although running is easy to break its balance [32]. A slope with 5° inclination is set on the way, and therefore, the robot should transit to walking again for secureness.
In both types, two cases, without and with VMSAL, are compared to evaluate the performance of VMSAL. In terms of secure traveling, a distance between the robot and the leader point or a phase of the gait formed by \((\theta , \dot{\theta }, \dot{\phi })\) is confirmed. In terms of efficient traveling, the specific resistance \(C_{mt}\) [28] is evaluated.
The above simulations are finished as successful cases when the robot steps into the radius of 0.5 m of the goal at a stopable gait speed (\(F_{rd} < 0.1\)). This stopable gait speed was given from experience of experiments and simulations so far. In failure cases, the COG trajectory cannot be generated by PDAC due to the infeasible initial parameters, and the robot would fall down eventually.
Simulation results
All simulations were recorded in the attached video. In the following, effectiveness of VMSAL is verified from the simulation results (Additional file 1).
Traveling while avoiding obstacles
Geometric trajectories from the start to the goal, ZMP margins, and forward gait speeds were depicted in Figs. 8, 9, and 10, respectively. In both cases, the robot reached the goal while avoiding the obstacles, although the case without VMSAL sometimes had the ZMP on the edge of the support polygons, namely it might be failed to keep the dynamic constraints. In first and last areas (i.e., stable areas), VMSAL yielded the rapid acceleration rather than the case without VMSAL for efficiency. In the obstacles area, VMSAL decreased the gait speed and kept it low for secureness since locomotion was slightly deviated from steady walking to avoid the obstacles, and that caused increase of the falling risk.
As can be seen in these figures, in the case without VMSAL, the robot went through the goal due to insufficient brake, while in the case with VMSAL, the robot could stop near the goal on the first attempt. As a result, respective arrival times were highly different: 49.6 s in the case without VMSAL; and 35.4 s in the case with VMSAL.
To confirm the behavior of VMSAL, observed data were plotted in Fig. 11. The change of \(\sigma _m\) was confirmed as intended, although the behavior resulting from it was not always as expected. In the obstacles area (i.e., the region 4), \(\sigma _m\) became large for secure traveling, and actually, the gait speed was decelerated. The mean \(\sigma _m\) was large, 4.6, since the robot’s state was not stepped in the regions 2 and 3 deeply. This is due to influence of instability by high speed and weak disturbance by obstacles. Such large \(\sigma _m\) instead enabled to stop on the goal as a result, although it is expected to achieve high speed.
Two types of indexes were evaluated in addition to the arrival time (see Fig. 12): the distances between the robot and the leader point \((\Delta r , \Delta \theta )\) for secureness; and the specific resistance \(C_{mt}\) for efficiency. Keeping the distances short yields the gradual update of the gait speeds, which would reduce the risk of falling down by large acceleration/deceleration. Conversely, \(\sigma _m\) optimized by VMSAL tends to make \((\Delta r , \Delta \theta )\) small. Furthermore, such secure acceleration and deceleration yielded rapid convergence to the steady state, namely \(C_{mt}\) became small about half.
Traveling on slope
Timeseries data of ZMP margins and the reference and actual gait speeds were depicted in Figs. 13 and 14. In both cases, the gait transited to running when its speed was over 0.5, while keeping ZMP in the support polygons. The robot failed to travel on the slope in the case without VMSAL due to delayed deceleration to transit to walking. In contrast, the robot started to decelerate the gait speed rapidly before stepping into the slope in the case with VMSAL. Consequently, the robot succeeded in reaching the goal beyond the slope.
To confirm the behavior of VMSAL, observed data were plotted in Fig. 15. A notable difference from traveling in the area with obstacles shown in Fig. 11 appeared in the slope area. Namely, the gait speed was decelerated but the slope kept the falling risk high, and therefore, \(\sigma _m\) became smaller than 1 in the region 3. Small \(\sigma _m\) prevented disturbance caused by unnecessary acceleration and deceleration. This behavior yielded the secureness to succeed in going through the slope, although the arrival time was delayed by about 10 s.
Two indexes were evaluated in addition to the arrival time (see Fig. 16): the phase formed by \((\theta , \dot{\theta }, \dot{\phi })\) to confirm asymptotic stability; and the specific resistance \(C_{mt}\) for efficiency. As can be seen in the phase, the respective gaits (walking on flat, walking on slope, and running) converge to respective limit cycles, namely, asymptotic stability could be judged to be guaranteed. On the other hand, the case without VMSAL (on slope) could not converge to specific limit cycle, and the COG trajectory was failed to be generated by PDAC. Larger \(C_{mt}\) than the case without VMSAL (this data was evaluated until falling) was due to influence of the slope, where potential energy was additionally required. Even in consideration of that point, the case with VMSAL achieved fairly good efficiency in comparison with walking on flat by a localstabilitybased method conducted in ref. [21] (\(C_{mt} = 0.57\) by the actual robot).
Conclusion
In this paper, we achieved the secure and efficient reference gait speed generator, i.e., the virtual dynamics with VMSAL. The virtual dynamics was given among the robot—the leader point—the goal, and designed based on the desired time to arrive at the goal, \(T_s\), and the acceleration time, \(T_a\). Namely, this dynamics enabled the robot to reach the goal on time implicitly if no disturbances were added. The reference gait speeds were generated from this dynamics, however, they did not always maintain the limit cycle at respective gait speeds. Alternatively, more rapid acceleration and deceleration would be possible.
To ensure asymptotic stability and enhance efficiency, SAL optimizes the robot’s mass virtually depending on the gait speed and the falling risk, called VMSAL. This VMSAL aimed to maximize the locomotion reward stochastically. Namely, its expected value was maximized by updating the virtual mass variable \(\sigma _m\) in accordance with its gradient.
As a result, the robot traveled from the start to the goal in two types of environment: one is with the four pillars as obstacles; another is with the 5° up slope. When the robot traveled in the area with these obstacles, VMSAL improved both trackability (i.e., secureness) and the specific resistance (i.e., efficiency) doubled in comparison with the case without VMSAL. When the robot traveled on the slope, VMSAL achieved rapid transition between walking and running according to the gait speed and prevented disturbance caused by unnecessary acceleration and deceleration. Such transition succeeded in traveling even though the case without VMSAL failed to travel.
To regard \(\Delta v\) as the stochastic variable shown in Fig. 5 is a fairly rough assumption, which would cause unexpected behaviors. Future challenge of this research is therefore to reflect observed data into parameters of the stochastic variable for more effective optimization of \(\sigma _m\). Such reflection restrains the behavior contrary to expectation.
References
 1.
McGeer T (1990) Passive dynamic walking. Int J Robot Res 9:62–82
 2.
Hobbelen DGE, Wisse M (2008) Controlling the walking speed in limit cycle walking. Int J Robot Res 27(9):989–1005
 3.
Luo X, Zhu L, Xia L (2015) Principle and method of speed control for dynamic walking biped robots. Robot Auton Syst 66:129–144
 4.
Kobayashi T, Aoyama T, Hasegawa Y, Sekiyama K, Fukuda T (2016) Adaptive speed controller using swing leg motion for 3D limitcyclebased bipedal gait. Nonlinear Dyn 84(4):2285–2304
 5.
Kobayashi T, Sekiyama K, Hasegawa Y, Aoyama T, Fukuda T (2016) Quasipassive dynamic autonomous control to enhance horizontal and turning gait speed control. In: IEEE/RSJ international conference on intelligent robots and systems, pp 5612–5617
 6.
Gregg RD, Righetti L (2013) Controlled reduction with unactuated cyclic variables: application to 3d bipedal walking with passive yaw rotation. IEEE Trans Autom Control 58(10):2679–2685
 7.
Gregg RD, Tilton AK, Candido S, Bretl T, Spong MW (2012) Control and planning of 3d dynamic walking with asymptotically stable gait primitives. IEEE Trans Robot 28(6):1415–1423
 8.
Kajita S, Kanehiro F, Kaneko K, Fujiwara K, Yokoi K, Hirukawa H (2003) Biped walking pattern generation by a simple threedimensional inverted pendulum model. Adv Robot 17(2):131–147
 9.
Kajita S, Kanehiro F, Kaneko K, Fujiwara K, Harada K, Yokoi K, Hirukawa H (2003) Resolved momentum control: humanoid motion planning based on the linear and angular momentum. IEEE/RSJ Int Conf Intell Robots Syst 2:1644–1650
 10.
Kuffner J, Nishiwaki K, Kagami S, Inaba M, Inoue H (2005) Motion planning for humanoid robots. Robot Res 15:365–374
 11.
Perrin N, Stasse O, Baudouin L, Lamiraux F, Yoshida E (2012) Fast humanoid robot collisionfree footstep planning using swept volume approximations. IEEE Trans Robot 28(2):427–439
 12.
Gregg RD, Spong MW (2010) Reductionbased control of threedimensional bipedal walking robots. Int J Robot Res 29(6):680–702
 13.
Kobayashi T, Sekiyama Y, Hasegawa Y, Aoyama T, Fukuda T (2018) Unified bipedal gait for autonomous transition between walking and running in pursuit of energy minimization. Robot Auton Syst 103:27–41
 14.
Khatib O (1986) Realtime obstacle avoidance for manipulators and mobile robots. Int J Robot Res 5(1):90–98
 15.
Deng M, Inoue A, Sekiguchi K, Jiang L (2010) Twowheeled mobile robot motion control in dynamic environments. Robot Comput Integrated Manuf 26(3):268–272
 16.
Das AK, Fierro R, Kumar V, Ostrowski JP, Spletzer J, Taylor CJ (2002) A visionbased formation control framework. IEEE Trans Robot Autom 18(5):813–825
 17.
Asl AN, Menhaj MB, Sajedin A (2014) Control of leaderfollower formation and path planning of mobile robots using asexual reproduction optimization (ARO). Appl Soft Comput 14:563–576
 18.
Seto F, Sugihara T (2010) Motion control with slow and rapid adaptation for smooth reaching movement under external force disturbance. In: IEEE/RSJ international conference on intelligent robots and systems, pp 1650–1655
 19.
Kobayashi T, Aoyama T, Sekiyama K, Fukuda T (2015) Selection algorithm for locomotion based on the evaluation of falling risk. IEEE Trans Robot 31(3):750–765
 20.
Azzalini A (1985) A class of distributions which includes the normal ones. Scand J Stat 12(2):171–178
 21.
Aoyama T, Hasegawa Y, Sekiyama K, Fukuda T (2009) Stabilizing and direction control of efficient 3D biped walking based on PDAC. IEEE/ASME Trans Mech 14(6):712–718
 22.
Kobayashi T, Sekiyama K, Aoyama T, Fukuda T (2015) Canesupported walking by humanoid robot and fallingfactorbased optimal cane usage selection. Robot Auton Syst 68:21–35
 23.
Kobayashi T, Sekiyama K, Aoyama T, Hasegawa Y, Fukuda T (2016) Selection of two armswing strategies for bipedal walking to enhance both stability and efficiency. Adv Robot 30(6):386–401
 24.
Grizzle JW, Abba G, Plestan F (2001) Asymptotically stable walking for biped robots: analysis via systems with impulse effects. IEEE Trans Autom Control 46(1):51–64
 25.
Pratt J, Carff J, Drakunov S, Goswami A (2006) Capture point: a step toward humanoid push recovery. In: IEEERAS international conference on humanoid robot, pp 200–207
 26.
Toda K, Tomiyama K (2007) An adaptive biped gait generation scheme utilizing characteristics of various gaits. In: Humanoid robots, humanlike machines, InTech, New York, pp 228–244
 27.
Saglam CO, Byl K (2014) Quantifying the tradeoffs between stability versus energy use for under actuated biped walking. In: IEEE/RSJ international conference on intelligent robots and systems, pp 2550–2557
 28.
Collins S, Ruina A, Tedrake R, Wisse M (2005) Efficient bipedal robots based on passivedynamic walkers. Science 307:1082–1085
 29.
Rohmer E, Singh SPN, Freese M (2013) VREP: a versatile and scalable robot simulation framework. In: IEEE/RSJ international conference on intelligent robots and systems, pp 1321–1326
 30.
Fukuda T, Hasegawa Y, Sekiyama K (2012) Multilocomotion robotic systems: new concepts of bioinspired robotics. Springer, Berlin
 31.
Srinivasan M, Ruina A (2006) Computer optimization of a minimal biped model discovers walking and running. Nature 439(5):72–75
 32.
Seipel JE, Holmes P (2005) Running in three dimensions: analysis of a pointmass sprungleg model. Int J Robot Res 24(8):657–674
Authors’ contributions
TF, YH, and KS designed and directed the project. TK and TA processed the experimental data, performed the analysis, drafted the manuscript. All authors read and approved the final manuscript.
Acknowledgements
This work was supported by JSPS KAKENHI, GrantinAid for JSPS Fellows, Grant Number 16J05354.
Competing interests
The authors declare that they have no competing interests.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Author information
Additional file
40648_2018_115_MOESM1_ESM.mp4
Additional file 1. Simulation videos: the robot of gray/wine color are with/without VMSAL, respectively; in two scenarios, VMSAL improved the gait stability and efficiency and enabled the robot to stop on the given goals smoothly.
Appendix
Appendix
Appendix A: Avoidance of obstacles
To avoid obstacles, many studies [14, 15] deal with virtual repulsive forces from obstacles to the robot. In limitcyclebased bipedal gait, however, such repulsive forces may deviate the robot’s state from the limit cycle to guarantee stability, thereby causing falling down. This problem can be solved by indirect interaction with the obstacles by means of the leader point, as mentioned in “Overview” section.
Here, the obstacles generating the repulsive forces are restricted to the ones that are in the circle around the leader point with \(R_{obs}\) radius. If Eq. (17) is properly satisfied, this circle would fit into the maximum observable range of the robot. This restriction reduces calculation cost, while ensuring the minimum necessary number of the obstacles.
The repulsive force generated by the ith observed obstacle \(O_i\), \(\varvec{f}_i\), is assumed to be inversely proportional to the square of the distance between \(O_i\) and the leader point, \(r_i\), and the masses of both, \(m_i\) and m. \(r_i\) is given as Mahalanobis distance calculated using major and minor axes of the ellipse covering \(O_i\), \(a_i\) and \(b_i\), as shown in Fig. 17a.
where \(\varvec{p}_i = (p_{ix} , p_{iy})^\top\) is the leader point’s position relative to the coordinate of \(O_i\). The coordinate of \(O_i\) defines its origin on the point, where the leader point may collide, and the y axis as the major axis of the ellipse.
Now, the way to design \(m_i\) and a constant of proportionality \(G_i\) is introduced, although they have been designed experimentally in almost cases of previous studies. This study focuses on kinetic energy by the velocity of the leader point approaching to \(O_i\), given \(v_i\). Note that \(v_i\) is divided into three cases: whether the actual velocity of the leader point \(\varvec{v}^L = (v_x^L , v_y^L)^\top\) intersects \(O_i\); whether \(\varvec{v}^L\) intersects the y axis of \(O_i\); and whether \(\varvec{v}^L\) is not directed to \(O_i\).
The kinetic energy produced by \(v_i\) should be converted into the potential energy stored by the repulsive force field not to collide with \(O_i\). The conversion to the potential energy would be started just after the observation of \(O_i\). The farthest distance at starting the observation is assumed to be \(R_{obs}/b_i\). If conversion to the potential energy is finished at \(\gamma _O R_{obs}/b_i\), where \(\gamma _O \in (0,1)\) is an appropriate magnification, \(m_i\) and \(G_i\) are derived together from the relation between the kinetic and potential energy.
Even when the observation is started at \(R_{obs}/a_i\), which means the closest case, with this design, the kinetic energy is converted into the potential energy since the repulsive force becomes stronger than the farthest case.
From the above, total of the repulsive forces, \(\varvec{f}_O\), is given as follows:
where \(N_O\) is the number of the obstacles in the observable range of the robot.
Appendix B: Rotational torque to contour lines of the gradient
To facilitate avoidance of obstacles and escape from stationary points, it is effective to rotate the attitude of the leader point toward contour lines of the gradient generated by obstacles, as can be seen in Appendix C. Such rotation is assumed to be completed in time \(T_O\), when momentum of the leader point will be consumed by the repulsive force \(\varvec{f}_O\). Finally, the leader point is rotated by dynamics of critical damping, which is designed on the basis of settling time \(T_O\).
Before considering the momentum of the leader point, an average force of \(\varvec{f}_O\), \(\bar{f}_O\), is derived from the relation between work and energy. Namely, \(\varvec{f}_O\) is assumed as a nonconservative force. \(\bar{f}_O\) is derived according to this assumption as follows:
where the minus sign in righthand side of above equation is given since \(\varvec{f}_O\) is the repulsive force.
\(\bar{f}_O\) can be converted into an impulse \(\bar{f}_O T_O\), which is allowed to dissipate the momentum of the leader point. Namely, \(T_O\) is derived from law of conservation of momentum as follows:
By regarding \(T_O\) as the settling time of the critical damping, a damper \(c_O\) and a spring \(k_O\), which are connected between the leader point and the contour line for convergence destination, are given as well as \(c_{L,G}\) and \(k_{L,G}\). The rotational torque \(\tau _O\) is generated from \(c_O\) and \(k_O\) as follows:
where \(\Delta p_w^O\) and \(\dot{\Delta p_w^O}\) are angular difference and its velocity between the leader point and the contour line. Note that the direction of \(\tau _O\), in other words which direction of the contour line becomes targeted, is in accordance with the direction close to a current attitude of the leader point.
Appendix C: Escape from stationary points
As a drawback of the dynamicsbased reference generators, such as an artificial potential field approach, stationary points would be caused from equilibrium of acting forces (i.e., \(\varvec{f}_L\), \(\varvec{f}_G\), and \(\varvec{f}_O\)). The leader point should escape from such stationary points by adding an explorative force \(\varvec{f}_E\). Note that the robot (i.e., the reference gait speeds) does not requrie the explorative force since the robot is towed only by the leader point, namely no stationary points are caused.
\(\varvec{f}_E\) is generated based on the attractive force \(\varvec{f}_G\) (see Fig. 17b). Firstly, a required level of \(\varvec{f}_E\), named \(\lambda _E\), should be considered. When the equilibrium of acting forces occurs, its dominant forces are estimated as \(\varvec{f}_G\) and \(\varvec{f}_O\). Namely, if \(\varvec{f}_G\) and \(\varvec{f}_O\) are not similar vectors to each other, in particular vectors in the opposite direction, \(\varvec{f}_E\) is required. \(\lambda _E\) is therefore given as a cosine similarity between \(\varvec{f}_G\) and \(\varvec{f}_O\).
where \(\lambda _E\) is in the range of [0, 1]. When \(\varvec{f}_G\) and \(\varvec{f}_O\) are opposite vectors to each other, \(\lambda _E\) is fixed to be equal to 1.
Secondly, a direction of \(\varvec{f}_E\) should be considered. This direction is basically given as a tangential direction of the contour lines of \(\varvec{f}_O\) so as to minimize \(\varvec{f}_O\) while avoiding the obstacles. The leader point is rotated along to the contour lines, hence, the direction of \(\varvec{f}_E\) is reasonably given to be the attitude of the leader point \(p_w^L\).
\(\varvec{f}_E\) is therefore designed as follows:
where \({^{\text {E}}R_{\text {G}}}\) is a rotational matrix from the direction of \(\varvec{f}_G\) to \(p_w^L\).
If part of \(\varvec{f}_G\) is assumed to be converted into \(\varvec{f}_E\), \(\varvec{f}_G\) is modified as follows:
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
Cite this article
Kobayashi, T., Sekiyama, K., Hasegawa, Y. et al. Virtualdynamicsbased reference gait speed generator for limitcyclebased bipedal gait. Robomech J 5, 18 (2018). https://doi.org/10.1186/s4064801801159
Received:
Accepted:
Published:
Keywords
 3D bipedal gait
 Artificial potential field
 Leaderfollower control
 Stochastic optimization