Walking Algorithm Using Gait Analysis for Humanoid Robot †

: People have been fascinated with humanoid robots for over two decades. They are expected to assist and collaborate with humans in the future. However, due to the limitations and complications of bipedal humanoids’ walking mechanisms, this goal is still a long way off. In this paper, we have presented a walking mechanism algorithm using gait analysis to mimic the human walking pattern and applied that knowledge to enable the 17-DoF bipedal humanoid robot to walk in a constraint environment. The basic sequence of stance and swing phases of human locomotion is studied and used to control servo motors to perform the walking action of the robot. These robots can be useful for social interaction and collaborative tasks in the near future.


Introduction
For decades, humanoid robots have been created and manufactured with inspiration from nature, particularly human anatomy and behavior [1]. However, due to the limits of bipedal robot control methods and modeling methodologies, the bipedal robot still needs some improvement as far as the walking algorithm is concerned. The movement of a robot along desired pathways that maintains stability and avoids collision with objects is one of the most critical aspects of bipedal locomotion [2]. The ability of a humanoid robot to move and execute tasks and activities in the same manner as humans is the most basic requirement for it to mimic human activity [3].
Walking is still one of the most difficult problems in bipedal humanoid robotics. Several studies have been published in this area in recent years. Using a detailed wholebody dynamic model of the robot, Hu et al. [2] provided an optimal control strategy that allows generating efficient walking movements. Piperakis et al. [4] introduced a novel cascade state estimation approach for estimating the three-dimensional (3-D) center of mass (CoM) of a humanoid robot in motion. Huan et al. [5] proposed a novel technique for bipedal robot gait creation called modified differential evolution (MDE) optimization, with the goal of allowing humanoid robots to walk more smoothly and steadily on flat platforms. Zhang et al. [6] used the Lagrange method to simulate the humanoid robot walking system in their research on dynamics for humanoid robots. Kim et al. [7] addressed the instability of walking humanoid robot with compliant motion control and proposed a model to generate real-time walk patterns that takes into account the robot's motion control performance. Piperakis et al. [8] introduced an innovative unsupervised learning framework for gait phase estimation and then demonstrated its accuracy and usefulness in leg odometry using ground-truth data. Dong et al. [9] used a method based on a linear inverted pendulum model to investigate the walking problem of humanoid robots in their work. Chen et al. [10] used an adaptive fuzzy controller in their study to maintain the robot's stability by adjusting the foot motion parameters under the minor torso's motion with the ground conditions. Joe et al. [11] developed a balance-control framework based on capture-point control to achieve steady walking results despite the disruptions produced by unknown and uneven terrain. García et al. proposed using reinforcement learning to enhance a humanoid's movement compare to its pre-defined configuration [12]. In their research, Bhattacharya et al. designed a method for adjustment of walking speed and surface recognition for humanoid that enables stability in dynamic walking on variety of surfaces without falling [13]. Maroger et al. [14] created a humanoid robot that moves in a human-like manner. They offer two human walking models that lead to the computation of an average body center of mass trajectory from which a twist in the 2D plane can be deduced. Dutta et al. [15] proposed a novel frequency-domain analysis of angular-pitch velocity approach for explaining the causes for instable humanoid robot walking on sloping terrain.
This research provides a simple method for a 17-degrees-of-freedom (DoF) humanoid robot to replicate human gait movement. The humanoid robot's eight stages of stance and swings are duplicated by calculating angles at different joints in the legs to allow the robot to navigate safely in the environment.
The paper is organized into four sections: Section 2 explains the methodology of the gait analysis; Section 3 explains the implementation of the walking algorithm; Section 4 concludes the paper and discusses future research opportunities in this field.

Methodology
Human walking patterns are investigated in gait analysis, which is a study of human movement. A single gait cycle is known as a stride, while walking is a sequence of gait cycles. To complete a gait cycle, there are three primary sequences. As shown in Figure 1.

1.
Weight acceptance: it entails transferring body weight to a limb while maintaining forward body movement.

2.
Single limb support: one limb supports the complete weight of the body.

3.
Foot stepping: leg progress implies foot clearance from the floor. As it passes in front of the torso, the limb swings through several positions. The same sequences are used to generate walking patterns in our 17-DoF robot by calculating angles of servo motors. For a normal human there are 4 major criteria essential to walking.

1.
The most critical condition for a humanoid robot's mobility is to maintain balance and stability.

2.
The most important criterion for walking is the ability to initiate movement and support iterative walking patterns.

3.
Musculoskeletal integrity: To maintain a proper walking balance, bones, muscles, and joints collaborate and function together.

4.
Neurological control permits the communication between brain and muscles to convey instructions and tell the body when to move and how to continue.
The period between one foot making contact with the ground and the other foot making contact with the ground is referred to as a single gait cycle or stride. There are two stages to each step: 1.
The first phase, known as stance, is when the foot is completely in contact with the ground.

2.
The second phase is called swing phase in which the foot is not in contact with the ground.

Implementation of Walking Algorithm
We have developed a walking pattern that mimics human walking movement for our robot. This comprises eight phases in which one gait cycle is completed. As shown in The weight of the body is transferred to the opposite limb. • PHASE 6: When the right side foot is raised above the floor, the right leg begins to swing and stops when the currently swinging right foot is opposite the stance foot (left). The left leg is in the middle of its stride. • PHASE 7: Following the first swing, the mid-swing continues until the right swinging leg is in front of the body, i.e., right leg advancement. The left leg is in the late middle of the stride. • PHASE 8: The terminal swing begins when the right foot reaches the floor at the end of the mid-swing. This period ends with the progress of the limbs.
The robot joint configuration is shown in Figure 3.

Conclusions and Future Direction
The walking pattern of a humanoid robot with 17 degrees of freedom has been successfully mimicked. The eight phases of a stride cycle were used to create a walking algorithm that controlled servo motor angles to complete the task. The robot was put through its paces on a 2-m walk, which it completed successfully while maintaining its stability. Additional features such as RFID for security and an android software for the human-robot interface (HRI) using a Bluetooth connection have been added to take the humanoid robot to the next stage of development. The humanoid robot is adaptable to future changes and can be used as a learning tool for students interested in robotics.
In the future, voice instructions could be used to improve social interactions even further. Machine learning algorithms could be implemented so that the robot can learn on its own based on its previous experience. Making the robot capable of picking up and placing objects by constructing a gripper that is appropriate for the robot's size could be an interesting feature. Increasing the structure's balance so that it can walk over uneven surfaces is another possibility.