Multi-Modal Locomotion

Download our Software

Executables (v1):
For Developers (v2): 
* Note 1: A license-free MATLAB Runtime will be automatically installed for executables.

* Note 2: After installation, you can launch the program by searching “Walking3LP” in your applications.

* Note 3: For development, you need a MATLAB 2014 or above.


Research Topics

* Note: Click on the GIFs for extended movies.

Inverse Dynamics

We are interested in using dynamic equations of our robot to control it for different tasks better. Knowing the system model, we can find only enough actuator inputs to perform the task (e.g., keeping balance against gravity) while using minimal closed-loop gains to account for errors. This makes the system compliant, robust and safe. Our inverse dynamics problem is formulated as a quadratic optimization and solved in less than a millisecond with >100 variables. Reference here and here.


Compliant Balance

Simulating compliant behaviors is easy, but challenging to realize on the real robot. We have developed precise state estimation algorithms and high bandwidth torque controllers to interface our inverse dynamics with the real hardware. This involved identifying a model for the actuators and formulating other optimization problems to fuse the sensory data in the form of a Kalman filter. Reference here.


Model Predictive Control (MPC)

Inverse dynamics makes the robot compliant and robust against perturbations but is not enough to plan locomotion. However, we can simplify the robot model into a single inverted pendulum that is always falling and find footstep locations that capture the motion and create a walking gait. This can be done by an MPC controller which is formulated as a quadratic optimization and solved in less than a millisecond. The controller brings robustness against sensory noises, delays, model errors and external perturbations to some extent (The right movie, for example, shows a robot with a very heavy left foot). Reference here and here


3LP ModelTime- Projection Control, Geometric Conversion

3LP Model: The legs are relatively heavy in our robot which make the single-mass inverted pendulum model too simplistic for faster walking conditions where swing and torso balancing dynamics become important. We developed a similar model called 3LP with three pendulums to account for these effects (shown in dashes below). This model can simulate walking at different frequencies, speeds, double support times, torso angles, step widths and terrain slopes. Reference here.

Time-Projection Control: On top of the 3LP model, we developed a foot-stepping controller very similar to MPC. While taking a step and being pushed at the same time, the robot would adjust the footstep location online to capture the push with a proper stepping. Our MPC could do this but needed a numerical optimization. The time-projecting controller performs the same job using a DLQR controller which is optimal like MPC, but without any optimization. We take the state at each instant and project it back to the beginning of the phase where the DLQR controller (with a sample time equal to step time) suggests footstep adjustments. These adjustments are then used online at each control tick (e.g., millisecond). Reference here.

Geometric Conversion: 3LP trajectories are stabilized with the time-projection controller, but yet in template space, i.e., there are no knee or ankle joints. We have developed a geometric conversion algorithm that takes the 3LP pelvis and feet positions and produces human-like kinematic features. This conversion works for all periodic and non-periodic conditions. Reference in preparation. The following picture shows the above three components all together in a single interactive software.

Walking and Push Recovery

The 3LP model and time-projecting controllers are validated on the real hardware. The robot can perform walking gaits, recover pushes and comply with external dragging forces very easily. There are plenty of low-level hardware challenges like sensory noise, actuator backlash, actuator speed saturation and communication delays that the framework can overcome. Reference here and here.




Molecule Inspired Modeling

Posture Planning: Inspired by methods popular in computational chemistry, we can model the robot by Cartesian points instead of joint angles. Each limb is the segment between two points; it has a certain length (holonomic constraint) and dynamic equations. Using nonlinear optimizations, we can find multi-contact optimal static postures in very short time (few milliseconds) and good convergence properties. Reference here.

Motion Planning: A similar formulation can be used for motion planning which helps to simulate the swing dynamics of robot limbs in fast motions. Our formulation currently allows for contact adjustment and variable timing, but for a fixed sequence. Reference in preparation.


Reinforcement Learning

Inverse dynamics implements virtual compliance and brings robustness in case of perturbations. We used a reinforcement learning algorithm to optimize a foot-stepping controller in this work. We were able to achieve fast locomotion on rough-terrains and slopes with a realistic monopod hopper that had considerable swing dynamics. Reference here.



Planning and control are not trivial in the joint space. Instead of thinking about individual joint angles, we prefer to think about the center of mass or feet positions, and that’s why we use template models such as inverted pendulum or 3LP. However, when converting the Cartesian positions into joint-angles via inverse kinematics or task-space inverse dynamics, we might face infeasible conditions. A nonlinear optimization can realize hard constraints like balance (e.g., keeping the center of mass in the middle of the support polygon) or joint limits while finding the closest solutions possible. The following robot, for example, is commanded a very high center of mass position which can’t be reached. The robot goes to singular postures (stretched knees) without any numerical difficulty. Reference here.


Force Estimation

Dynamic equations can help identifying external forces. We can take all the sensory data from the robot (joint angles, velocities, torques and contact forces), put them in the equation of motion and find a residual which possibly corresponds to an external force. We have developed closed-form equations that estimate the magnitude and the application point of such a force during robot motion in ideal simulation environments. Reference here.



From standing balance to walking: A single control structure for a continuum of gaits

H. Razavi; S. Faraji; A. Ijspeert 

International Journal of Robotics Research. 2019-10-16.  p. 0278364919875205. DOI : 10.1177/0278364919875205.

Bipedal walking and push recovery with a stepping strategy based on time-projection control

S. Faraji; H. Razavi; A. J. Ijspeert 

International Journal Of Robotics Research. 2019-04-01. Vol. 38, num. 5, p. 587-611. DOI : 10.1177/0278364919835606.

Scalable closed-form trajectories for periodic and non-periodic human-like walking

S. Faraji; A. J. Ijspeert 

2019-01-01. International Conference on Robotics and Automation (ICRA), Montreal, CANADA, May 20-24, 2019. p. 5295-5301.

Scalable closed-form trajectories for periodic and non-periodic human-like walking

S. Faraji; A. Ijspeert 

2019. International Conference on Robotics and Automation (ICRA), Montreal, Canada, May 19-24, 2019.

Imprecise dynamic walking with time-projection control

S. Faraji; P. Müllhaupt; A. Ijspeert 

arXiv. 2018-11-12. 

A simple model of mechanical effects to estimate metabolic cost of human walking

S. Faraji; A. R. Wu; A. J. Ijspeert 

Scientific Reports. 2018-07-20. Vol. 8, num. 1. DOI : 10.1038/s41598-018-29429-z.

Fast multi-contact whole-body motion planning with limb dynamics

J. Arreguit; S. Faraji; A. J. Ijspeert 

2018-01-01. 18th IEEE-RAS International Conference on Humanoid Robots (Humanoids), Beijing, PEOPLES R CHINA, Nov 06-09, 2018. p. 25-32.

Towards Robust Bipedal Locomotion

S. Faraji / A. Ijspeert (Dir.)  

Lausanne, EPFL, 2018. 

Push recovery with stepping strategy based on time-projection control

S. Faraji; H. Razavi; A. Ijspeert 

ArXiv. 2018. 

Time-projection control to recover inter-sample disturbances, application to bipedal walking control

S. Faraji; P. Müllhaupt; A. Ijspeert 

ArXiv. 2018. 

Modeling robot geometries like molecules, application to fast multi-contact posture planning for humanoids

S. Faraji; A. Ijspeert 

IEEE Robotics and Automation Letters. 2018. Vol. 3, num. 1, p. 289-296. DOI : 10.1109/LRA.2017.2739103.

Singularity-tolerant inverse kinematics for bipedal robots: An efficient use of computational power to reduce energy consumption

S. Faraji; A. Ijspeert 

IEEE Robotics and Automation Letters. 2017. Vol. 2, num. 2, p. 1132-1139. DOI : 10.1109/LRA.2017.2661810.

A singularity-tolerant inverse kinematics including joint position and velocity limitations

S. Faraji; A. Ijspeert 

Dynamic Walking, Mariehamn, Finland, June 4-9, 2017.

3LP: a linear 3D-walking model including torso and swing dynamics

S. Faraji; A. Ijspeert 

The International Journal of Robotics Research. 2017. Vol. 36, num. 4, p. 436-455. DOI : 10.1177/0278364917708248.

Designing a virtual whole body tactile sensor suit for a simulated humanoid robot using inverse dynamics

S. Faraji; A. Ijspeert 

2016. Intelligent Robots and Systems (IROS), Daejon, South Korea, October 9-14. p. 5564-5571. DOI : 10.1109/IROS.2016.7759818.

A virtual tactile sensing suit for humanoids based on dynamic equations and internal sensors

S. Faraji; A. Ijspeert 

Dynamic Walking, Holly, Michigan, USA, June 4-7, 2016.

Time-Projection control on 3LP, a simple idea to deal with intermittent pushes online

S. Faraji; A. Ijspeert 

Dynamic Walking, Holly, Michigan, USA, June 4-7, 2016.

3LP: A linear model of locomotion including falling, swing and torso dynamics

S. Faraji; A. Ijspeert 

Dynamic Walking, Holly, Michigan, USA, June 4-7, 2016.

Practical considerations in using inverse dynamics on a humanoid robot: torque tracking, sensor fusion and Cartesian control laws

S. Faraji; L. Colasanto; A. Ijspeert 

2015. IEEE/RSJ International Conference on Intelligent Robots and Systems, Hamburg, Germany, September 28 – October 02. DOI : 10.1109/IROS.2015.7353584.

Robust 3D Walking Using Inverse Dynamics And Footstep Planning With Model Predictive Control

S. Faraji; S. Pouya; A. Ijspeert 

9th Dynamic Walking Conference (DWC 2014), ETH Zurich, Switzerland, June 10-13, 2014.

Robust and Agile 3D Biped Walking With Steering Capability Using a Footstep Predictive Approach

S. Faraji; S. Pouya; A. Ijspeert 

2014. Robotics Science and Systems (RSS), Berkeley, CA, USA, July 12–16, 2014. DOI : 10.15607/RSS.2014.X.028.

Versatile and robust 3D walking with a simulated humanoid robot (Atlas): A model predictive control approach

S. Faraji; S. Pouya; C. G. Atkeson; A. J. Ijspeert 

2014. 2014 IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China, 31 May – 7 June 2014. p. 1943-1950. DOI : 10.1109/ICRA.2014.6907116.

A Model-Based Control Approach for Locomotion of Biped Robots

S. Faraji 


The effect of fractionality nature in differences between computer simulation and experimental results of a chaotic circuit

S. Faraji; M. S. Tavazoei 

Central European Journal Of Physics. 2013. Vol. 11, num. 6, p. 836-844. DOI : 10.2478/s11534-013-0255-8.

Dynamics Modeling and Control Architecture for Efficient, Manoeuvrable and Robust Monoped Hopping over Rough Terrain

S. Pouya; S. Faraji; R. Möckel; A. Ijspeert 

8th Dynamic Walking Conference (DWC 2013), Pittsburgh, USA, June 2013.

Compliant and adaptive control of a planar monopod hopper in rough terrain

S. Faraji; S. Pouya; R. Moeckel; A. J. Ijspeert 

2013. 2013 IEEE International Conference on Robotics and Automation (ICRA), Karlsruhe, Germany, 6-10 05 2013. p. 4818-4825. DOI : 10.1109/ICRA.2013.6631264.