- Humanoids and Human Centered Mechatronics (HHCM), Istituto Italiano di Tecnologia (IIT), Genova, Italy
This paper presents a novel omnidirectional walking pattern generator for bipedal locomotion combining two structurally different approaches based on the virtual constraints and the preview control theories to generate a flexible gait that can be modified on-line. The proposed strategy synchronizes the displacement of the robot along the two planes of walking: the zero moment point based preview control is responsible for the lateral component of the gait, while the sagittal motion is generated by a more dynamical approach based on virtual constraints. The resulting algorithm is characterized by a low computational complexity and high flexibility, requisite for a successful deployment to humanoid robots operating in real world scenarios. This solution is motivated by observations in biomechanics showing how during a nominal gait the dynamic motion of the human walk is mainly generated along the sagittal plane. We describe the implementation of the algorithm and we detail the strategy chosen to enable omnidirectionality and on-line gait tuning. Finally, we validate our strategy through simulation experiments using the COMAN + platform, an adult size humanoid robot developed at Istituto Italiano di Tecnologia. Finally, the hybrid walking pattern generator is implemented on real hardware, demonstrating promising results: the WPG trajectories results in open-loop stable walking in the absence of external disturbances.
1 Introduction
Humanoid walking has improved greatly in the last years as many strategies were introduced by the research community. However, controlling bipedal robots is still a challenging task due to the gap between simulation and mechanical hardware, mainly embodied by model inaccuracies, the intrinsic complexity of the humanoid platform, the inherent instability of the system and the challenging estimation of the floating base pose. The Zero Moment Point (ZMP) criterion (Vukobratović and Borovac, 2004) is still widely used for locomotion, thanks to its applicability to diverse robots and gaits: however, it guarantees a stable motion by While being a less restrictive constraint than walking without violating quasi-static stability (the ZMP is restricted inside the support polygon, but the CoM can travel beyond), the resulting motion is unnatural and under-achieving in terms of efficiency compared to the human walk, which, on the contrary, entails a portion of the stepping motion where the ZMP lies on the edge of the support polygon. Exploiting a different notion of stability, which relies on limit cycles, can produce more dynamical and efficient gaits: however, its practical limitations reside in the extreme dependence on the accuracy of the model and the gait design restrictions that only allows periodic motions, often with a small basin of attraction. It was shown in biomechanics that the dynamical motion is generated for the most part by a controlled fall in the forward direction: the ZMP travels along the sagittal plane reaching the corresponding edge of the support polygon, while in the lateral direction it remains well inside the support region (Sardain and Bessonnet, 2004). The proposed walking pattern generator (WPG) is based on the limit cycle theory, which aims at producing a cyclic period-one gait. In doing so, we keep the paradigm formulated in (Ruscelli et al., 2019): in the sagittal direction, where the dynamical component of the gait is mainly found, we exploit Virtual Constraints (VC) to design a template periodic motion. Along the lateral plane, we rely on Preview Control (PC): by treating the robot as a one-dimensional linear inverted pendulum model (LIPM), the input-output relationship between CoM and ZMP can be exploited to compute a CoM trajectory to track a feasible sideways ZMP reference which satisfies the ZMP stability criterion. While gait generation using the well-known PC-based WPG is a solved problem in literature, the proposed hybrid algorithm is not trivially generalizable to an omnidirectional walk. In this work, we present an upgraded version of our hybrid WPG including the following contributions:
• we enhance the versatility of the gait, allowing to change heading, step length and feet distance;
• we enable user inputs to modify on-line the gait.These high-level improvements involve substantial changes in the two components of the framework and their interaction:
• Sagittal plane: footsteps are no more planned beforehand, but automatically generated on-line given the maximum inclination the angle of curvature;
• Lateral plane: the preview window is continuously updated with a suitable ZMP reference to accommodate the gait;
• Synchronization: the algorithm to synchronize the sagittal and lateral plane is redesigned to allow omnidirectionality;
The algorithm results in a light-weight, omnidirectional WPG1 based on a simple template model that can be easily deployed on any humanoid robot (as shown in Figure 1). This method allows for a more dynamic motion without dropping the advantages of the PC and the ZMP criterion. Furthermore, redesigning the strategy for synchronization not only allows to drop a heuristic approach, but provides for the implementation of omnidirectionality in the WPG. The template model is mapped on the robot using the whole-body inverse kinematics (IK) solver by specifying a set of desired Cartesian tasks sorted by priority, so as to impose a desired body posture besides directly controlling the model variables as high priority tasks, i.e., the feet trajectories and the composite motion of the sagittal and the lateral components of the CoM. Finally, we discuss the advantages and the limitations of this approach and we propose future improvements.
FIGURE 1. Left: the humanoid robot COMAN + walking while changing direction. Right: the template model for the VC, the compass walker, superimposed on the robot kinematics.
2 Related Works
The first paradigm formulated for humanoid walking is known as static stability, which restricts the projection on the ground of the center of mass (CoM) to lay inside the support polygon at all times. In this way, a static walk can be simply synthesized by slowly moving the CoM from one foot to another (Kato et al., 1974). The seminal work of Kajita (Kajita et al., 2003) demonstrated how, using the Preview Control theory and leveraging on the notion of the ZMP, a more dynamic, stable gait can be achieved. The effectiveness of this approach made it widespread among the humanoid locomotion community and various improvement were proposed: the LIPM model was extended to reduce the modeling error and generate a robust pattern locomotion (Shimmyo et al., 2013). Application that enhance the preview control reacting against external perturbations (Nishiwaki and Kagami, 2006; Nishiwaki and Kagami, 2009) or adapting to uneven terrains (Kajita et al., 2006). The simple yet successful strategy is usually framed into an Model Predictive Control (MPC) formulation, which is still the most widely adopted: a method to guarantee its intrinsic stability was presented in Scianca et al. (2016), and it was extended for disturbances rejection (Wieber, 2006), push recovery (Stephens and Atkeson, 2010) and automatic footstep placement (Herdt et al., 2010). The new strategy which released the constraints of the ZMP by introducing a different notion of stability based on limit cycles was first proposed in Hürmüzlü and Moskowitz (1986). The theory was further developed in Westervelt et al. (2007) using Hybrid Zero Dynamics (HZD) to actively control the humanoid and enlarge the basin of attraction of a limit cycle gait. This approach yielded successful results, but it is usually limited to robots with particular body structures (Rezazadeh et al., 2015; Gong et al., 2019). Some strategies were explored to generalize this method to the 3D case, such as the functional Routhian reduction introduced in Chevallereau et al. (2014), or the self-synchronization exploiting the symmetry of the system, formalized in Razavi et al. (2015). In fact, while producing dynamical and energy-efficient gaits, this method is not trivially generalized to the 3D case, where hybrid invariant manifolds are more challenging to describe. Nonetheless, some techniques were developed to implement 3D walking on different robots (Da et al., 2016; Reher et al., 2016), most of them decoupling the walking gait into forward and lateral motion. Furthermore, most of the strategies solely consider straight walking gaits, as steering cannot be trivially integrated. While some elegant solution can be found in literature, they are mostly theoretical results, usually verified only in simulation (Motahar et al., 2017; Chevallereau et al., 2010).
The proposed hybrid WPG relies on the synchronization of the sagittal and lateral planes of the robot, as in the previous works. However, it merges results from the VC and the PC theory: it exploits a more dynamical approach that only constrains the ZMP trajectory to the support polygon along the lateral direction. Furthermore, as opposed to the classical implementation of the VC, our algorithm does not heavily depend on the kinematics of the robot and does not require burdensome parameter tuning: template trajectories can be designed and realized on-line on the real robot, making it a computationally lightweight and flexible tool independent of the structure of the walker.
3 Sagittal Plane: Virtual Constraints
Virtual constraints are employed to combine the kinematics of many joints into a single template motion. This simplifies their coordination and reduces the dimension of the problem: the desired motion for a n-dimensional system can be encoded by controlling a smaller set of state variables n−nm, where nm is the number of constrained variables. On the other hand, its inherent limitation resides in the cyclic nature of this template movement, which evolves along a periodic orbit. While VCs are useful for the generation of repetitive gaits, they are unsuited for any action that alters their evolution, such as turning steps or aperiodic manoeuvres.
To illustrate this, let
so that
FIGURE 2. Evolution of one stepping cycle of the right leg from taking off to landing. The 2-link compass model is used as a template to impose the desired VC on the robot. The phase variable
3.1 Template-Space Constraints
The template model of the humanoid robot is the 2-link compass walker, with its CoM located at the joint connecting the two links of equal length, as shown in Figure 1. The configuration vector is
According to (2),
3.2 Task-Space Constraints
The control of our humanoid robot relies on a whole-body hierarchical inverse kinematics framework: multiple Cartesian tasks can be defined and organized in a Stack of Tasks (SoT) fashion. Therefore, instead of defining the VC in the joint-space, we describe it as a function of Cartesian variables. Similarly to the formulation in the template-space, we are interested in binding relevant quantities of the robot (i.e., the CoM and the feet) with the phase variable α2. In the real robot, we choose α as the angle between the normal of the ground and the virtual leg connecting the CoM to the stance foot, as shown in Figure 1, which corresponds to the tilt angle
where h is the height of the CoM w.r.t. the ground. By formulating the step displacement s as function of the configuration vector
Finally, substituting
This VC restricts the sagittal displacement of the swing foot to keep the CoM at a fixed distance from each leg: when the robot tilts forwards, the phase variable α increases, constraining the swing foot to perform a stepping motion until it impacts the ground, resetting the cycle. The VC does not constrain the trajectory of the leg, but only its overall displacement: thus, it can be treated as a task for the whole-body IK solver. This allow to tune the parameters of the stepping: We design the motion as a polynomial primitive with a peak of a desired height, which corresponds to the step clearance.
Following the theory in (Westervelt et al., 2007), the template model assumes fully inelastic collision, i.e. the landing foot does not experience slips or bounces at the contact point. For this reason, we impose zero-velocity of the swing leg at the beginning and at the end of the step, to reduce high impacts resulting in undesired rebounds of the foot on the ground that could disrupt the walking cycle. Finally, the impact is instantaneous: the stance leg is lifted at the same time the swing foot touches the ground, without any double stance phase during the gait.
3.3 Ankle Actuation
Once a suitable VC is applied, the template model can be treated as a simplified system with only one DoF, the tilt angle
4 Lateral Plane: Preview Control
The strategy exploited for the sagittal plane is simple to define in the planar case and allows a more dynamical motion, but it is not trivial to extend for 3D robots. Furthermore, the work in (Sardain and Bessonnet, 2004) demonstrates how the dynamic component of the walking is found along the sagittal plane of the foot: during a nominal gait, the ZMP travels mainly in the sagittal direction until it reaches the edge of the foot, without moving considerably along the lateral axis. For these reasons, we choose a conservative approach, as we rely on the well-grounded theory of preview control (Kajita et al., 2003): by treating the robot as a LIPM, we can impose a desired ZMP and track it by controlling the trajectory of the CoM.
In particular, the cart-table model describes a dependency between the projection along the lateral plane of the CoM
where
Eqn. 6 is used to formulate the desired output-tracking problem. A common choice is to select the state vector
while setting the control input
where
and the output, according to (6) is:
As shown in (Kajita et al., 2003), the solution to this output tracking problem requires knowledge of the desired ZMP over a finite future horizon. We realize the anticipative action by framing the problem as a finite-horizon LQR. In particular, the optimal controller is formulated as follow:
where
A solution is found via the KKT equations, which take the form of a highly sparse set of n = 4N + 3N equations in as many unknowns, solved through a sparse LU decomposition from the Eigen3 library. Finally, at each iteration the first control input ut is applied to the system (8); the resulting control law is linearly dependent on the current state xt and the future reference ZMP trajectory
where
if the stability criterion (13) is not met, more of the future ZMP reference should be fed to the controller, increasing the length of the preview horizon, while ensuring that the resulting computational burden introduced by the length of the horizon can be handled within one control cycle of the system.
5 Synchronization
During a nominal walk, the motions along the two planes are strictly coupled together, since a sagittal displacement corresponds to a lateral movement of the CoM. In our previous work (Ruscelli et al., 2019), a strategy for synchronization between the lateral plane and the sagittal plane was proposed, showing how two structurally different control strategies can generate feasible references for walking. However, while being a viable method, it implied jumps or temporal freezes of the receding preview window: while the sagittal motion depended on the phase variable α, the ZMP window was dependent on time, and was reset at each step to synchronize with the stepping motion. Furthermore, it presented significant limitations for the generation of the future ZMP, as the receding window had a fixed ZMP pattern with predetermined values for the left and right foot. In this work, we propose a novel method for the synchronization of the planes. In the remaining of this Section, we outline the behaviour of the two independent component and we illustrate how they are coupled.
Sagittal plane. The sagittal displacement is dependent on the phase variable
Lateral plane. One complete cycle in the lateral plane corresponds to the advancement of the preview window: the ZMP reference resides inside the sole of the stance foot until the impact with the ground, when it switches to the opposite leg. We remove the dependency of the preview window on time and bind its advancement to the phase variable
FIGURE 3. A snapshot of the preview window (in black) and the ZMP future reference (in blue) during a step. The advancement of the preview window does not depend on time, but it is bound to the evolution of the phase variable
Synchronization. The phase variable
FIGURE 4. Detail of the synchronization process between lateral and sagittal plane. The commands θ and d, when received, update the foot and the CoM goal in the sagittal direction, which in turns modify the extrema of the phase variable,
6 Implementation
The proposed algorithm cyclically generates reference trajectories for the CoM and feet during a single step: their evolution on each plane, from taking off of the swing foot to its landing, is described by the phase variables
FIGURE 5. Scheme of the proposed WPG. The sagittal and the lateral components are generated independently using the VC and the PC, based on the online user input received. The phase variables
6.1 Online Walking Pattern Generator
One step is characterized by a few parameters that can be changed online by the user:
• the maximum inclination
• the steering angle ϕ, which correspond to the angle between the initial and the current direction of the CoM;
• the distance between the feet d.
The CoM is directly controlled through the phase variable
FIGURE 6. A detail of the WPG changing step stride. Top: walking pattern of the robot changing the length of the step accordingly to the new
During the stepping motion the tilt of the robot
• updates
• updates
• updates ϕ, if no commands were issued by the user, keep the last heading angle;
• computes the step length, the swing foot goal position and the CoM position as a function of
Notice that, due to the imposed VC, the CoM lies always in the middle of the two feet in the sagittal direction, and when
Due to the strategy for synchronization used in the previous WPG in (Ruscelli et al., 2019), the ZMP pattern was generated once during the initialization and the number of steps was decided off-line. As a consequence, it had fixed parameters during execution that could be set only before running the algorithm. The proposed WPG overcomes these limitations, enhancing the versatility of the gait:
• it runs until a stop command is issued;
• it accepts on-line inputs such as step length and feet distance d;
• it allows on-line steering, by issuing the desired heading angle ϕ.
These enhancements entail two other necessary improvements: first, footsteps are no more planned beforehand, but automatically generated on-line during the previous step given the maximum inclination
6.2 Whole-Body Inverse-Kinematics
The trajectory are generated on-line by a whole-body IK solver in a SoT fashion (Rocchi et al., 2015; Laurenzi et al., 2019). This allows to run low priority task in the null space of higher priority ones, so as to guarantee the execution of critical tasks above the others. The following SoT was designed for the WPG:
The / symbol is used to impose strict hierarchy among sets of tasks. Among the same level, tasks are listed via the + symbol, which impose soft hierarchy. The description
7 Omnidirectional Walking
The previous WPG proposed in (Ruscelli et al., 2019) generates a forward walk without the ability to steer to another direction or walk backwards: due to the inherent decoupling between lateral and sagittal planes, the hybrid WPG is not trivially generalized for omnidirectional walking. In this section, we describe the strategy devised to extend the WPG for steering in any given direction, as shown in Figure 7.
FIGURE 7. Sequence of frames of the COMAN + performing four steering step, curving two times left of 30° and two times right, steering back in the straight direction.
For a three-dimensional robot, we define the tilt angle
where
where
FIGURE 8. Scheme of the compass model (left: xy-plane view, right: 3D space representation) during a steering step from the heading ψ to
The walking resumes with the new
• the goal pose of the swing foot
•
• the goal position of the CoM
• set
• set
the CoM moves forward in the sagittal plane until α reaches
The distance d between the right and the left sole in the lateral plane and the tilt in the sagittal plane
FIGURE 9. The WPG steers the robot of an angle ϕ. Top: walking pattern of the robot, including the pose of the left (in green) and right (in red) sole and the CoM trajectory (in yellow). Middle: ZMP reference for the preview control. Bottom: the evolution of the tilt angle
8 Experiments and Discussion
The walking pattern generator was tested in simulation using Gazebo and validated on COMAN+, a humanoid robot developed at Istituto Italiano di Tecnologia. COMAN + has 28 DoFs, weights 70 kg and is 1.7 m tall. A particular four-bar mechanism controls the pitch and the roll at the ankle level of the robot (Ruscelli et al., 2018). The WPG prescribes position references that are tracked on the robot by a whole-body IK framework named CartesI/O (Laurenzi et al., 2019) based on OpenSoT Rocchi et al. (2015), which allows to specify the desired SoT solved by quadratic programming (QP) optimization. COMAN+ is powered by the XBotCore real-time software architecture (Muratore et al., 2017). A ROS pipeline allows communication between user WPG and lower level. The WPG runs at 100 Hz in a ROS node and exposes a simple ROS interface for issuing commands to the robot.
8.1 Experiments
A set of experiments was carried out both in simulation and on real hardware for the robot COMAN+, in order to validate the WPG. We detail here one meaningful example in simulation. COMAN + walks 32 steps, with a 0.05 m step clearance, a 0.4 s step duration and a maximum tilt of 0.08 rad, which corresponds to a 0.28 m step stride. Figures 10,11 shows the projection of the walking pattern on the x-y plane and the evolution of the soles in space, respectively: the CoM oscillates laterally between the legs, from the stance towards the swinging foot. The faster the gait velocity, the smaller the lateral swings of the CoM. During step 5 and 13 a new
FIGURE 10. Walking pattern consisting of the CoM trajectory (in yellow) and the footsteps (initial pose in blue, left and right soles in red and green respectively). COMAN + walks 32 steps with a 0.28 m step stride, 0.05 cm step clearance and 0.4 s step duration. The heading changes of
FIGURE 12. Top: evolution of the phase variable
FIGURE 13. The output of the PC is the CoM trajectory (in yellow) commanded to the robot.Sequence of frames of COMAN + walking 32 steps in simulation while changing the heading direction.Sequence of frames of COMAN + walking 10 step and steering of 10° at step 3 according to the issued command.
FIGURE 14. Sequence of frames of COMAN + walking 10 step and steering of
8.2 Discussion
The proposed WPG is a lightweight algorithm that can be easily deployed on real hardware. The classical implementation of VC entails joint-trajectory optimization to find energy-efficient gaits. Often the optimization is run offline individually for each desired gait that corresponds to one optimal orbit (or a family of similar orbits). Providing a walker with different gaits usually requires a library of optimal parameters collected beforehand. This leaves less margin to tune a walking pattern or change it on the fly, hindering the versatility of the method. Furthermore, the VC usually binds joint variables, making it heavily dependent on the mechanism kinematics. Instead, we treat the VC as Cartesian tasks in a SoT and we design template trajectories that can be tuned and realized on line by the whole-body IK solver. This allows a light and flexible tool for stepping that only depends on a simple template model and a few step parameters, such as length, duration and clearance of a step. The new WPG also allows to modify the heading angle and the distance between feet. According to the belief that a more dynamic approach can be used along the sagittal plane while a more conservative one can be exploited laterally, in our strategy the CoP is guaranteed to lay inside the support polygon only in the lateral direction, while in the sagittal one it can move freely. On the other hand, our strategy has a higher energy consumption with respect to the classical approach, because it doesn’t exploit the natural dynamic of the system during a step. In fact, the trajectory of the CoM is fully controlled. Right now the commanded trajectory is linear, but a possible solution is finding an optimized trajectory of the CoM to minimize a desired cost function. Notice that the CoM trajectory during a step is directly related to the tilt of the robot, which corresponds to the phase variable. Hence, modifying the CoM trajectory amount to changing the behaviour of the stepping. Another limitation of the strategy is the amount of modification that the gait can sustain in one single step: being a cyclic motion, abrupt changes in the direction of movement or in the step length will result in the robot losing balance. Since the work was only focused in the development of a WPG, a feedback term of the measured state of the robot was not included: hence no information from the actual robot is exploited in the algorithm.
The major downside of this choice is reducing the dynamic component of the walking motion in the sagittal direction. While part of the walking can be controlled directly imposing a CoM trajectory, the portion of the gait which entails a “controlled” fall can be exploited only given a proper state estimation: sensing the evolution of the tilt angle
9 Conclusions and Future Work
The proposed walking pattern generator, due to its hybrid nature, is not trivially generalizable for omnidirectional gaits: in order to do so, we improved the synchronization of the lateral and sagittal planes, enabling on-line modifications to the walking gait. The resulting algorithm is a lightweight, omnidirectional WPG which generates feasible whole-body trajectories according to a few user-parameters. Besides off-line specifications such as duration, length and stride of the desired step, the proposed WPG allows on-line commands to change heading angle, step length and feet distance. The sagittal motion of the CoM is directly commanded as a simple linear trajectory. In future works, we will use optimization techniques to select a trajectory that minimizes a desired function such as power consumption. Simulation experiments demonstrate the effectiveness of our strategy: the robot walks and changes the nominal gait according to user-inputs without falling. Furthermore, preliminary experiments on the humanoid COMAN + shows how the proposed hybrid WPG is promising, successfully allowing the robot to change its heading direction. However, without a stabilization controller, any external disturbance (e.g., uneven or sloped terrain) is enough to make the robot lose balance after a few steps.
Similarly, the maximum steering angle that can be issued on the real robot is limited, as the weaknesses highlighted in the straight walk are sharpened when changing direction.
In future works, we will close the loop with the external environment by implementing stabilization techniques to add robustness to the gait.
Data Availability Statement
The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.
Author Contributions
FR and EH conceived of the presented idea. FR developed the theory, performed the computations, designed the algorithm and executed the simulation experiments. AL contributed to the implementation of the research. FR carried out the experiment on the robot assisted by EH. FR wrote the manuscript with support from EH. EH and NT supervised the project. All authors discussed the results, providing feedback and contributing to the final manuscript.
Funding
The research leading to these results has received funding from the European Union’s Horizon 2020 Research and Innovation Program under Grant No. 779963 (EUROBENCH).
Conflict of Interest
The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.
The handling Editor declared a past co-authorship/collaboration with the authors (AL, EH, NT).
Supplementary Material
The Supplementary Material for this article can be found online at: https://www.frontiersin.org/articles/10.3389/frobt.2021.660004/full#supplementary-material
Footnotes
*The source code of the Hybrid WPG can be found at https://github.com/ADVRHumanoids/limit_cycle_walking
From here on, we drop the notation of x in
References
Chevallereau, C., Grizzle, J. W., and Ching-Long Shih, C. (2010). Steering of a 3d Bipedal Robot with an Underactuated Ankle. IEEE/RSJ International Conference on Intelligent Robots and Systems, Taipei, Taiwan, October 18–22, 2010. 1242–1247. doi:10.1109/IROS.2010.5648801
Chevallereau, C., Sinnet, R. W., Ames, A. D., and Université, L. (2014). Models, Feedback Control, and Open Problems of 3D Bipedal Robotic Walking. Automatica.50(8), 1955–1988. doi:10.1016/j.automatica.2014.04.021
Da, X., Harib, O., Hartley, R., Griffin, B., and Grizzle, J. W. (2016). From 2d Design of Underactuated Bipedal Gaits to 3d Implementation: Walking with Speed Tracking. IEEE Access 4, 3469–3478. doi:10.1109/ACCESS.2016.2582731
Gong, Y., Hartley, R., Da, X., Hereid, A., Harib, O., Huang, J., et al. (2019). Feedback Control of a Cassie Bipedal Robot: Walking, Standing, and Riding a Segway. In American Control Conference, Macau, China, November 3–8, 2019. 4559–4566.
Herdt, A., Diedam, H., Wieber, P.-B., Dimitrov, D., Mombaur, K., and Diehl, M. (2010). Online Walking Motion Generation with Automatic Footstep Placement. Adv. Robotics 24, 719–737. doi:10.1163/016918610x493552
Hürmüzlü, Y., and Moskowitz, G. D. (1986). The Role of Impact in the Stability of Bipedal Locomotion. Dyn. Stab. Syst. 1, 217–234. doi:10.1080/02681118608806015
Kajita, S., Kanehiro, F., Kaneko, K., Fujiwara, K., Harada, K., Yokoi, K., et al. (2003). Biped Walking Pattern Generation by Using Preview Control of Zero-Moment point. IEEE Int. Conf. Robotics Automation 2, 1620–1626.
Kajita, S., Morisawa, M., Harada, K., Kaneko, K., Kanehiro, F., Fujiwara, K., et al. (2006). Biped Walking Pattern Generator Allowing Auxiliary Zmp Control. IEEE/RSJ International Conference on Intelligent Robots and Systems, Beijing, Taiwan, October 9–15, 2006. 2993–2999. doi:10.1109/IROS.2006.282233
Kato, I., Ohteru, S., Kobayashi, H., Shirai, K., and Uchiyama, A. (1974). Information-power Machine with Senses and Limbs. On Theory and Practice of Robots and Manipulators. Tokyo, Japan. Springer, 11–24. doi:10.1007/978-3-7091-2993-7_2
Laurenzi, A., Hoffman, E. M., Muratore, L., and Tsagarakis, N. G. (2019). Cartesi/o: A Ros Based Real-Time Capable Cartesian Control Framework. 2019 International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, May 20–24, 2019. 591–596. doi:10.1109/ICRA.2019.8794464
Motahar, M. S., Veer, S., and Poulakakis, I. (2017). Steering a 3d Limit-Cycle walker for Collaboration with a Leader. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, September 24–28, 2017. doi:10.1109/IROS.2017.82064165251–5256.
Muratore, L., Laurenzi, A., Hoffman, E. M., Rocchi, A., Caldwell, D. G., and Tsagarakis, N. G. (2017). XBotCore: A Real-Time Cross-Robot Software Platform. First IEEE International Conference on Robotic Computing, Taichung, Taiwan, April 10–12, 2017. 77–80. doi:10.1109/IRC.2017.45
Nishiwaki, K., and Kagami, S. (2006). High Frequency Walking Pattern Generation Based on Preview Control of Zmp. Proceedings 2006 IEEE International Conference on Robotics and Automation, Orlando, FL, United States, May 15–19, 2006. 2667–2672. doi:10.1109/ROBOT.2006.1642104
Nishiwaki, K., and Kagami, S. (2009). Online Walking Control System for Humanoids with Short Cycle Pattern Generation. Int. J. Robotics Res. 28, 729–742. doi:10.1177/0278364908097883
Pratt, J., Carff, J., Drakunov, S., and Goswami, A. (2006). Capture point: A Step toward Humanoid Push Recovery. In 2006 6th IEEE-RAS International Conference on Humanoid Robots, Genova, Italy, December 4–6, 2006. 200–207. doi:10.1109/ICHR.2006.321385
Razavi, H., Bloch, A. M., Chevallereau, C., and Grizzle, J. W. (2015). Restricted Discrete Invariance and Self-Synchronization for Stable Walking of Bipedal Robots. Proceedings of the American Control Conference, Chicago, IL, United States, July 1–3, 2015. 4818–4824. doi:10.1109/ACC.2015.7172088
Reher, J., Cousineau, E. A., Hereid, A., Hubicki, C. M., and Ames, A. D. (2016). Realizing Dynamic and Efficient Bipedal Locomotion on the Humanoid Robot DURUS. In IEEE International Conference on Robotics and Automation, Stockholm, Sweden, May 16–21, 2016. 1794–1801.
Rezazadeh, S., Hubicki, C., Jones, M., Peekema, A., Van Why, J., Abate, A., et al. (2015). Spring-mass Walking with Atrias in 3d: Robust Gait Control Spanning Zero to 4.3 Kph on a Heavily Underactuated Bipedal Robot. ASME 2015 dynamic systems and control conference, Columbus, OH, United States, October 28–30, 2015. American Society of Mechanical Engineers Digital Collection). doi:10.1115/dscc2015-9899
Rocchi, A., Hoffman, E. M., Caldwell, D. G., and Tsagarakis, N. G. (2015). Opensot: A Whole-Body Control Library for the Compliant Humanoid Robot Coman. In IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, United States, May 26–30, 2015. 6248–6253. doi:10.1109/ICRA.2015.7140076
Ruscelli, F., Laurenzi, A., Hoffman, E. M., and Tsagarakis, N. G. (2019). Synchronizing Virtual Constraints and Preview Controller: a Walking Pattern Generator for the Humanoid Robot Coman+. In IEEE/RSJ International Conference on Intelligent Robots and Systems, Macau, China, November 3–8, 2019. 3876–3881.
Ruscelli, F., Laurenzi, A., Mingo Hoffman, E., and Tsagarakis, N. G. (2018). A Fail-Safe Semi-centralized Impedance Controller: Validation on a Parallel Kinematics Ankle. In IEEE/RSJ International Conference on Intelligent Robots and Systems, Madrid, Spain, October 1–5, 2018, 1–9. doi:10.1109/IROS.2018.8594112
Sardain, P., and Bessonnet, G. (2004). Zero Moment Point-Measurements from a Human Walker Wearing Robot Feet as Shoes. IEEE Trans. Syst. Man. Cybern. A. 34, 638–648. doi:10.1109/TSMCA.2004.832833
Scianca, N., Cognetti, M., De Simone, D., Lanari, L., and Oriolo, G. (2016). Intrinsically Stable MPC for Humanoid Gait Generation. IEEE-RAS International Conference on Humanoid Robots, Cancun, Mexico, November 15–17, 2016. 601–606. doi:10.1109/HUMANOIDS.2016.7803336
Shimmyo, S., Sato, T., and Ohnishi, K. (2013). Biped Walking Pattern Generation by Using Preview Control Based on Three-Mass Model. IEEE Trans. Ind. Electron. 60, 5137–5147. doi:10.1109/TIE.2012.2221111
Stephens, B. J., and Atkeson, C. G. (2010). Push Recovery by Stepping for Humanoid Robots with Force Controlled Joints. IEEE-RAS International Conference on Humanoid Robots, Nashville, TN, United States, December 6–8, 2010. 52–59.
Vukobratović, M., and Borovac, B. (2004). Zero-moment point-thirty Five Years of its Life. Int. J. humanoid robotics 1, 157–173.
Westervelt, E. R., Grizzle, J. W., Chevallereau, C., Choi, J. H., and Morris, B. (2007). Feedback Control of Dynamic Bipedal Robot Locomotion, CRC Press. Vol. 26. doi:10.1201/9781420053739
Wieber, P. (2006). Trajectory Free Linear Model Predictive Control for Stable Walking in the Presence of strong Perturbations. IEEE-RAS International Conference on Humanoid Robots, Geneva, Italy, December 4–6, 2006. 137–142.
10 appendix
The WPG is one of the building components of a full-fledged locomotion framework. Its goal is to compute suitable trajectories, such that the overall motion of the robot is dynamically consistent under ideal conditions (absence of external disturbances, no discrepancies between the model and the robot, perfect tracking of the computed references). This appendix is devoted to the discussion and the evaluation of the aforementioned aspect for the devised hybrid framework. In Subsection 3.3 we outline the role of the tilt angle
• Stability of the motion in the sagittal plane: since the CoM velocity is constant, the ZMP coincides with the CoM during the motion. As long as the CoM dwells inside the support polygon, the ZMP does the same. When the gait is initiated, the WPG applies a constant CoM acceleration to reach the desired constant velocity. Indeed, the initial acceleration cannot exceed a threshold, as the ZMP would leave the support polygon of the robot. We will briefly analyse the initial step, introducing some relevant quantities. Let l be the length of the foot, from heel to toes. The initial position of the CoM,
one must guarantee that the ZMP stays in the support polygon at all times. Given the constant acceleration, it is enough to prove it for the instant the acceleration is applied, which amounts to say that the ZMP instantaneously doesn’t leave the support polygon:
which, using (17), yields the maximum acceleration allowed:
The same reasoning can be used for the deceleration of the CoM at the end of the gait, which brings to a stop the humanoid motion.
• Stability of the motion in the lateral plane: the preview control governing the lateral swing is made dependent on time and not on space: in particular, the advancement of the preview window is directly dependent on the phase variable in the sagittal plane. If the phase variable evolution (from its minimum
Nonetheless, this does not mean that
and the ZMP preview window recomputed accordingly, setting the ZMP on the instantaneous CP.
Keywords: walking pattern generation, bipedal locomotion, humanoid robots, whole-body control, motion control
Citation: Ruscelli F, Laurenzi A, Mingo Hoffman E and Tsagarakis NG (2021) Omnidirectional Walking Pattern Generator Combining Virtual Constraints and Preview Control for Humanoid Robots. Front. Robot. AI 8:660004. doi: 10.3389/frobt.2021.660004
Received: 28 January 2021; Accepted: 11 May 2021;
Published: 01 June 2021.
Edited by:
Dimitrios Kanoulas, University College London, United KingdomReviewed by:
Steven Jens Jorgensen, National Aeronautics and Space Administration (NASA), United StatesNavinda Kottege, Commonwealth Scientific and Industrial Research Organisation (CSIRO), Australia
Copyright © 2021 Ruscelli, Laurenzi, Mingo Hoffman and Tsagarakis. This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.
*Correspondence: Francesco Ruscelli, francesco.ruscelli@iit.it