1 Introduction

The human gait is an activity that requires coordination of the nervous and the musculoskeletal system [9] and can be described as a succession of “controlled falls” with the intention of moving the body forward [8]. The gait presents 2 phases: the swing phase and the stance phase, which can be single stance or double stance. During the stance phase the muscles which are responsible for the dynamic balance are activated, whereas during swing phase the lower limb is flexed and moves forward to hit the ground in front of the individual. The gait mechanism can be represented by two alternating models in the sagittal plane: the double pendulum (swing phase) and the inverted pendulum (single stance phase) [6].

The gait is a task that adapts to different terrain conditions by changing the movement patterns of the 3 lower limb joints (hip, knee and ankle). The adaptation for the uphill gait usually requires increasing flexion angles on the three lower limb joints, the greater the slope of the ground. During downhill gait, the hip joints present decreasing flexion angles (between the half of the swing phase and the beginning of the stance phase) while the knee joints present increasing flexion angles (in the beginning and in the end of the stance phase), the greater the slope of the ground [2].

Despite the evident complexity, after a person’s cognitive learning period of time, the gait movement is performed almost automatically, without great coordination efforts or the need of conscious reasoning for its planning and execution [6]. While the human gait emerges from a combination of neural and mechanical systems, making the transference of those strategies to a robotic platform is not a trivial work [3].

Since the gait is a time dependent task, it requires a rapid response to environment changes, making unfeasible the use of extensive libraries of motion capture data to recreate the gait artificially. Thus, it becomes interesting to present this knowledge in the form of general rules that permit the movement generation in real time. One possible way to achieve this would be by applying artificial intelligence concepts, aiming at the replication some of the cognitive mechanisms involved with the gait.

This paper proposes an artificial gait generation in the sagittal plane by means of the superposition of three reference signals to the leg. It’s subdivided in five parts. The part II, Kinematic Model, describes a brief description of the human body’s relevant biomechanics aspects and kinematic model. The part III, Gait Generation Strategy, presents the cognitive architectures that served as a base for this work, as well the proposed architecture. The part IV, Validation Method, will be briefly explained, the methodology used for validation of proposal architecture. The part V, Experimental Implementation, will be presented the experimental platform, the computational simulations and their results, and, finally, the part VI will present the discussion and conclusions of this work.

2 Kinematic Model

2.1 Human Body

Before talking about a biped humanoid robotic platform and how to apply typical human body’s movement strategies, it is necessary to understand the human body itself and how it is presented and described in the literature. The Fig. 1 shows the Biological Physical System with motion capture (mocap) markers (a); the physical system illustration [7] showing the 3 planes used to describe the body’s movements (b); the simplified representation of the lower limbs (c), with the links lengths calculated as a proportion of the body height (H) with ratios value obtained from Rodacki, 2013 [10]; and the simplified representation of one leg in the sagittal plane, with θ and ζ as the angles on the hip and knee joins respectively (d).

Fig. 1.
figure 1

Biological system and simplified representation of the lower limbs and of one leg in the sagittal plane.

The Fig. 2 shows the reference input for the desired artificially replicated movements is usually obtained from motion captures done with markers correspond the hip and knee movement angles related to the normal gait in the sagittal plane [10].

Fig. 2.
figure 2

Hip and knee movement angles. [10].

2.2 Kinematic Model

The biological physical system in the sagittal plane (Fig. 1) was used for the kinematic modeling of the legs, with the estimate lengths of the legs links (Lh and Ls) being calculated as a proportion of the body height (H). Thus, the position of the foot (end-effector) in the sagittal plane is described by the legs kinematics, with the joint angles (θ and ζ) (Table 1).

Table 1. Bodyparameters used in the kinematic model.
$$ L_{p} = \sin \left( \theta \right)L_{H} + \sin \left( {\theta - \zeta } \right)L_{s} $$
(1)
$$ L_{A} = \cos \left( \theta \right)L_{H} + \cos \left( {\theta - \zeta } \right)L_{s} $$
(2)

3 Gait Generation Strategy

The architecture proposed in this work was inspired by the command superposition concept, present in the potential fields navigation proposed by Khatib [5] and in the Autonomous Robot Architecture (AuRA), proposed by Arkin [11].

Khatib proposed the superposition of attraction and repulsion fields, linked to goals and obstacles on a map. This allows for the emergence of a low level control, reactive to the map position and capable of guiding an embodied cognitive agent towards its goal while avoiding collisions.

AuRA on the other hand, develops a hybrid deliberative/reactive approach to robotic navigation. In this approach, control takes place initially in a hierarchic upper layer where the embodied cognitive agent’s actions are planned, then proceeding to a reactive layer where sensing and actuation cycles are executed.

These reactive approaches are especially interesting when considering the neural structures known as Central Pattern Generators (CPG). Those structures work as a low-level control for the human body, being capable of generating locomotion patterns even when isolated from the supra-spinal nervous system [1], indicating that the gait is a reactive behavior, more than just deliberative.

In a similar way to the AuRA, the proposed architecture suggests an algorithm divided in 2 layers: hierarchical and reactive layer (Fig. 3).

Fig. 3.
figure 3

Proposed cognitive architecture for gait generation.

3.1 Hierarchical Layer

There are 3 parts in the hierarchical layer:

  • The internal model of the world: consists of the terrain information and the kinematic and dynamic models of the body, with the current status of the physical system. It is correspondent to the embodied cognitive agent’s external environment awareness and body awareness (proprioception);

  • The mission planner: consists of a higher-level decision block, responsible for choosing which task will be executed. Here, this part is just an interface for internal model viewing and a data input for user commands;

  • Plan selector: consists of a list of predetermined parameter configurations meant to compose tasks using the behavior blocks in the reactive layer. Depending on the task chosen by the mission planner, a different configuration is selected by the plan selector.

3.2 Reactive Layer

The reactive layer has 2 parts:

  • The sensing part: consists of the receipt of physical measurements by the embodied agent’s sensors. These data are then used to feed the internal world model in the hierarchical layer and to formulate small adjustments that will be added to the configuration parameters defined by the hierarchical layer’s plan selector part.

  • The behaviors part: are a set of simple command signals, being executed in parallel and summed up to compose the reference signal that will be sent to the embodied agent’s actuators. These command signals are modulated by the configuration parameters defined by the hierarchical layer’s plan selector part and adjusted by the reactive layer’s sensing part.

3.3 The Gait in the Sagittal Plane

As previously stated, the artificial gait generation in the sagittal plane is achieved here by means of the superposition of three reference signals for the leg. The first signal (swing) aims to oscillate the leg back and forth by flexing the hip joint, the second signal (lift) aims to raise the leg in order to break contact with the ground and avoid obstacles, and the third signal (climb) aims to correct the height of the foot for proper reestablishment of contact with the ground (Fig. 4).

Fig. 4.
figure 4

Swing and Lift/Climb behaviors.

As previously stated, the artificial gait generation in the sagittal plane is achieved here by means of the superposition of three reference signals for the leg. The first signal (Swing) aims to oscillate the leg back and forth by flexing the hip joint, the second signal (lift) aims to raise the leg in order to break contact with the ground and avoid obstacles, and the third signal (climb) aims to correct the height of the foot for proper reestablishment of contact with the ground (Fig. 4).

4 Validation Method

The proposed algorithm will be validated by a MATLABTM simulation and an experimental implementation (Fig. 5).

Fig. 5.
figure 5

Architecture validation.

The simulation will begin with a test of the behavior superposition principle, considering a horizontal level terrain, and the resulting signal will be compared to the biomechanical gait reference values from the literature for the hip and knee joints. After, the generated angles will be tested with the kinematic model of the legs in the sagittal plane and the feet trajectory will be observed both in the inertial reference system and in the non-inertial reference system, relative to the hip, and finally, the gait generation algorithm will be adapted and embedded in the experimental setup.

5 Experimental Implementation and Results

The proposed gait generation algorithm was adapted and embedded in an experimental implementation platform with analogous proportions to the human body’s average. The mechanism links were built from aluminum profile, the actuation on its degrees of freedom is performed by servo motors and the overall system control is carried by a microcontroller (Fig. 6).

Fig. 6.
figure 6

Experimental implementation platform

The experimental implementation platform allowed for checking the possibility of embedding the algorithm and also allowed for visualizing the gait movement’s execution. Those results can be accessed through the web address: https://www.youtube.com/embed/Q_b--LMoKgE?controls=0&start=6.

5.1 Simulation Results

Figure 7 shows the results of the superposition of the swing, Lift and Climb signals, with parameters fitted to replicate a gait pattern on level terrain. As an overall, the simulation results indicate the emergence of an artificial gait pattern close to the biomechanical gait pattern both in shape and amplitude when compared to the reference literature pattern showed on Fig. 2.

Fig. 7.
figure 7

Swing, Lift and Climb behavior signals for the Hip and knee joints and the signal composed by their superposition.

When the lift and climb behavior gains are increased, the superposed result becomes distorted in a similar way to the distortions seem on the biomechanical uphill gait.

Figure 8 shows the graphs containing the results for the hip and knee joints relative to arbitrary changes in these gains. Literature graphs containing the angular values for the joints as a function of the terrain slope steepness [2] are also presented, in Fig. 9, as a reference and for comparison purposes.

Fig. 8.
figure 8

Distortions caused by arbitrary changes on the parameters.

Fig. 9.
figure 9

Distortions on the movement pattern as a function of the terrain slope steepness.

The graphs from Fig. 8 show an increased amplitude of the gait pattern around the region in between heel contact and weight acceptance point and around the toe off point, which means that this modified pattern presents a higher heel contact and a greater foot lift. Those distortions caused by arbitrary changes on the parameters of the Lift and Climb signals, supposing a steepening of the terrain, and can also be observed in the literature on Fig. 9, that shows the distortions on the movement pattern as a function of the terrain slope steepness and are compatible with an uphill gait pattern [3].

Figure 10 shows the foot path, obtained from the generated gait shown in Fig. 7 applied to the leg’s kinematic model with the hip joint as the reference point, supposing a 1.70 m height individual. The graph also shows the foot path for the same individual considering the biomechanical gait pattern obtained from the literature [2]. This graph 10 shows that the foot path generated by the artificial gait is consistent with the biomechanical gaits foot path, having similar shapes and amplitudes. The relatively smaller length step of the artificial gait could be easily corrected by adjusting the Swing signal amplitude.

Fig. 10.
figure 10

Foot path, considering the hip joint as the reference point for the local coordinate system.

Another biomechanical gait cycle diagram with reference point on the hip joint is reproduced in Fig. 11 for comparison purposes with Lacquanit et al. [4].

Fig. 11.
figure 11

Biomechanical gait cycle diagram.

Finally, when the same artificial gait pattern (Fig. 7) is applied to a two-legged kinematic model in the inertial reference system, feet paths consistent with steps can be observed (Fig. 12), revealing that a forward locomotion movement would be achieved with it.

Fig. 12.
figure 12

Feet paths, in the inertial coordinate system.

6 Conclusion

This paper presented a cognitive approach to gait generation, inspired by algorithms such as Khatib’s potential fields and elaborate architectures like AuRA.

One of the greatest advantages of the proposed architecture is its flexibility, which allows it to adapt the emergent gait cycle in real time for different terrains, according to the current perception input of the environment.

Another interesting feature of the proposal is that it is not limited to the humanoid legs and could be adapted to perform locomotion with other legs setups.

Even though the architecture is not yet fully implemented and need some improvement on parts like the hierarchic layer and data acquisition, the results of this study revealed that the superposition of signals can provide great results.

Although not identical, both artificial and biomechanical patterns show great similarities to each other. The kinematic simulation results showed that the artificial patterns are similar both in shape and amplitude to the biomechanical ones, and would probably perform a successful gait movement if applied to a dynamic model or a prototype. In addition to the simulation results, the experimental implementation confirmed visually some of the model results and revealed the embedding potential of the algorithm, which can be useful in future studies.

Because of its characteristics, this approach can also be expanded and further explored in future works.

It would be possible to expand the repertoire of basic behavior signals in a modular fashion. Since those signals run in parallel and are added together to form the output for the limbs, more behavior signals would allow for bigger combinations and for the generation of more complex movements, with functions that were not studied in this work (the balance maintenance problem, for instance).

Another possibility would be using machine learning methods, like neural networks for instance, to achieve optimal values for the parameters used by the artificial gait composition.