Implementation of a Stair Walking Algorithm on the REEM-C Humanoid Robot

Loading...
Thumbnail Image

Date

2023-01-20

Authors

Mostafa, Kareem

Advisor

Mombaur, Katja

Journal Title

Journal ISSN

Volume Title

Publisher

University of Waterloo

Abstract

The recent increased usage of robots in society brings about unique challenges, such as endowing these robots with the ability to operate in a manner similar to humans. These challenges are well structured for humanoid robots, as they provide the complexity that may allow them to replicate human behaviours. Locomotion is a key challenge for humanoid robots, as being able to move from one place to another is crucial in being able to operate in ways that humans do on a daily basis. Complex environments that humans regularly operate in, such as industrial workspaces, may contain uneven terrain or stairs that need to be climbed to operate in hard-to-reach areas or perform tasks at varying heights. Humanoid robots will naturally need the ability perform such tasks if they are meant to work alongside humans in these challenging workspaces. For instance, giving HRP-4 the ability to enter a plane via its stairs \cite{HRP4_stairs} is a prime example of challenging human-like locomotion applied to a humanoid robot. The present work is focused on performing multi-level maneuverability, which is performed on a set of stairs that were assembled in a static environment, and implements an open loop control system in which the planned motion is generated and then tested on the robot. We are targeting the performance of stair walking on the REEM-C Humanoid Robot, which would provide a better understanding of the humanoid's capabilities and accessibility to hard-to-reach locations by a human subject. The evaluation of the humanoid stability would be through its repeatability and consistency when executing the task. The planned motions of the humanoid robot were executed on simulation for varying stair heights, which were then verified by execution on the real robot. The main goal of this study was to improve the planning time of motion generation, in an attempt to integrate it into a real-time controller scenario. Optimizing the C++ code improved the performance, in contrast to using Python libraries, providing us with an improvement of 70\% in planning time. The motions were performed on the robot for varying stair heights; 2, 4, 6, and 8 cm with the time of step being 25 seconds, which is faster than the previous implementation of 60 seconds per step at the University of Heidelberg\cite{sebastian}. Although the improvement in computations was successful, implementing it within a real time controller was not achieved yet. In addition, an update to the mass, center of mass and moment of inertia for each link in the robot model was performed using the combined information from PAL Robotics \cite{pal_robotics} and Felix Aller from the University of Heidelberg\cite{Felix}, to accurately reflect real-life robot behaviour and to lessen the gap between simulation and real-life. Furthermore, to gather additional information to evaluate the experiments performed by the robot, an implementation of torque computation using the motor current measurements and inverse dynamics was used to determine if the experiments were performed safely by comparing the computations to the joint torque limits.

Description

Keywords

LC Keywords

Citation