I am a postdoc scholar in the Movement Generation and Control Group led by Prof. Ludovic Righetti. My research focuses on both theoretical and empirical aspects of locomotion. I am mostly interested in generating complex motions for legged robots using optimisation and evaluating these behaviours on real robots.
Before joining Movement Generation and Control Group as a postdoc, I visited Autonomous Motion Department as a PhD visitor. During my one year visit, I worked on generating robust walking patterns for the humanoid robot Athena.
From 2012 to 2015, I was the head of dynamics and control group in the Iranian national humanoid robot project, SURENAIII. I designed some novel motion planning and control algorithms for humanoid robots and implemented on humanoid robot SURENA III.
Step Timing Adjustment: A Step toward Generating Robust Gaits
Stepping simulation of the Sarcos humanoid robot Athena with passive ankles and prosthetic feet using a combination of step location and timing adjustment
Robust Humanoid Locomotion Using Trajectory Optimization and Sample-Efficient Learning
The main idea of this work is to use data from full-body simulation of humanoid robots to make the trajectory optimization stage robust by tuning the cost weights. We use Bayesian optimization to find the cost weights to use in the trajectory optimization that yields robust performance in the simulation/experiment, in the presence of different disturbance/uncertainties.
In this video, we present two simulation scenarios of a 27 DoF humanoid robot. In the first scenario, we show through one practical example how the choice of cost in the trajectory optimization problem affects robustness and performance. Then, in the second scenario we apply Bayesian Optimization on the trajectory optimization problem with two cost weights and show how BO converges to the optimal set of cost weights.
In this project, we are interested in using machine learning techniques to handle robot behaviors with hard impact dynamics and contacts, such as walking, jumping or catching a ball. We investigate reinforcement learning techniques to learn dynamic motions under contact. We also use statistical learning tools to find representations...
In this project, we investigate the problem of computing movements for robots with arms and legs in intermittent contact with their environment that are physically correct. Our approach uses trajectory optimization and optimal control techniques. In particular, we study how the physics of mechanical systems impose a structure to the...
IEEE Transactions on Robotics, 36, pages: 629 - 643, IEEE, June 2020 (article)
Step adjustment can improve the gait robustness of biped robots; however, the adaptation of step timing is often neglected as it gives rise to nonconvex problems when optimized over several footsteps. In this article, we argue that it is not necessary to optimize walking over several steps to ensure gait viability and show that it is sufficient to merely select the next step timing and location. Using this insight, we propose a novel walking pattern generator that optimally selects step location and timing at every control cycle. Our approach is computationally simple compared to standard approaches in the literature, yet guarantees that any viable state will remain viable in the future. We propose a swing foot adaptation strategy and integrate the pattern generator with an inverse dynamics controller that does not explicitly control the center of mass nor the foot center of pressure. This is particularly useful for biped robots with limited control authority over their foot center of pressure, such as robots with point feet or passive ankles. Extensive simulations on a humanoid robot with passive ankles demonstrate the capabilities of the approach in various walking situations, including external pushes and foot slippage, and emphasize the importance of step timing adaptation to stabilize walking.
Proceedings International Conference on Humanoid Robots, IEEE, 2019 IEEE-RAS International Conference on Humanoid Robots, October 2019 (conference)
Trajectory optimization (TO) is one of the most powerful tools for generating feasible motions for humanoid robots. However, including uncertainties and stochasticity in the TO problem to generate robust motions can easily lead to intractable problems. Furthermore, since the models used in TO have always some level of abstraction, it can be hard to find a realistic set of uncertainties in the model space. In this paper we leverage a sample-efficient learning technique (Bayesian optimization) to robustify TO for humanoid locomotion. The main idea is to use data from full-body simulations to make the TO stage robust by tuning the cost weights. To this end, we split the TO problem into two phases. The first phase solves a convex optimization problem for generating center of mass (CoM) trajectories based on simplified linear dynamics. The second stage employs iterative Linear-Quadratic Gaussian (iLQG) as a whole-body controller to generate full body control inputs. Then we use Bayesian optimization to find the cost weights to use in the first stage that yields robust performance in the simulation/experiment, in the presence of different disturbance/uncertainties. The results show that the proposed approach is able to generate robust motions for different sets of disturbances and uncertainties.
arXiv preprint, arXiv:1907.07500, July 2019 (article)
Reinforcement learning algorithms have shown great success in solving different problems ranging from playing video games to robotics. However, they struggle to solve delicate robotic problems, especially those involving contact interactions. Though in principle a policy outputting joint torques should be able to learn these tasks, in practice we see that they have difficulty to robustly solve the problem without any structure in the action space. In this paper, we investigate how the choice of action space can give robust performance in presence of contact uncertainties. We propose to learn a policy that outputs impedance and desired position in joint space as a function of system states without imposing any other structure to the problem. We compare the performance of this approach to torque and position control policies under different contact uncertainties. Extensive simulation results on two different systems, a hopper (floating-base) with intermittent contacts and a manipulator (fixed-base) wiping a table, show that our proposed approach outperforms policies outputting torque or position in terms of both learning rate and robustness to environment uncertainty.
In 2017 5th International Conference on Robotics and Mechatronics (ICROM), Iran, August 2017 (inproceedings)
In this paper, we extend state of the art Model Predictive Control (MPC) approaches to generate safe bipedal walking on slippery surfaces. In this setting, we formulate walking as a trade off between realizing a desired walking velocity and preserving robust foot-ground contact. Exploiting this for- mulation inside MPC, we show that safe walking on various flat terrains can be achieved by compromising three main attributes, i. e. walking velocity tracking, the Zero Moment Point (ZMP) modulation, and the Required Coefficient of Friction (RCoF) regulation. Simulation results show that increasing the walking velocity increases the possibility of slippage, while reducing the slippage possibility conflicts with reducing the tip-over possibility of the contact and vice versa.
In 2016 4th International Conference on Robotics and Mechatronics (ICROM), pages: 130-135, IEEE, Teheran, Iran, 2016 (inproceedings)
In this paper, a method for stabilizing biped robots stepping by a combination of Divergent Component of Motion (DCM) tracking and step adjustment is proposed. In this method, the DCM trajectory is generated, consistent with the predefined footprints. Furthermore, a swing foot trajectory modification strategy is proposed to adapt the landing point, using DCM measurement. In order to apply the generated trajectories to the full robot, a Hierarchical Inverse Dynamics (HID) is employed. The HID enables us to use different combinations of the DCM tracking and step adjustment for stabilizing different biped robots. Simulation experiments on two scenarios for two different simulated robots, one with active ankles and the other with passive ankles, are carried out. Simulation results demonstrate the effectiveness of the proposed method for robots with both active and passive ankles.
In 2016 IEEE-RAS 16th International Conference on Humanoid Robots (Humanoids), pages: 35-42, IEEE, Cancun, Mexico, 2016 (inproceedings)
Step adjustment for humanoid robots has been shown to improve robustness in gaits. However, step duration adaptation is often neglected in control strategies. In this paper, we propose an approach that combines both step location and timing adjustment for generating robust gaits. In this approach, step location and step timing are decided, based on feedback from the current state of the robot. The proposed approach is comprised of two stages. In the first stage, the nominal step location and step duration for the next step or a previewed number of steps are specified. In this stage which is done at the start of each step, the main goal is to specify the best step length and step duration for a desired walking speed. The second stage deals with finding the best landing point and landing time of the swing foot at each control cycle. In this stage, stability of the gaits is preserved by specifying a desired offset between the swing foot landing point and the Divergent Component of Motion (DCM) at the end of current step. After specifying the landing point of the swing foot at a desired time, the swing foot trajectory is regenerated at each control cycle to realize desired landing properties. Simulation on different scenarios shows the robustness of the generated gaits from our proposed approach compared to the case where no timing adjustment is employed.
Our goal is to understand the principles of Perception, Action and Learning in autonomous systems that successfully interact with complex environments and to use this understanding to design future systems