A low-cost anthropometric walking robot for reproducing gait lab data

A low-cost anthropometric walking robot for reproducing gait lab data Rogério Eduardo da Silva Santana a; Agenor de Toledo Fleury ab; Luciano Luporini Menegaldo c a Departamento de Engenharia Mecânica, Escola Politécnica da USP, São Paulo, Brazil b Departamento de Engenharia Mecânica, Centro Universitário da FEI, São Paulo, Brasil c Seção de Engenharia Mecânica e de Materiais, Instituto Militar de Engenharia, Rio de Janeiro, Brazil


Introduction
In recent years, great effort has been devoted to the development of legged robots that are able to imitate gait patterns, to some extent, similar to those of human beings. A considerable number of papers have been published focusing on different aspects of this complex problem. Some of them describe the overall design, control, mechanical and electronic issues of specific robots that are being developed around the world (Sakagami et al. 2002;Azevedo et al. 2004;Aoi and Tsuchiya 2005; Hun-ok Lim and Tajima 2007;Xie et al. 2008, just to cite a few). These robots are usually built as active kinematical chains, driven by motors or linear actuators, and present a variable number of degrees of freedom (DOFs). In most cases, their joints are directly driven by motors. Alternatively, some of them use special linkages to transmit movements. Some robots have trunk and arms in order to achieve stable gaits through static or dynamic compensation approaches such as the well-known zero moment point (ZMP) compensation, while others have only lower limbs. Other papers address particular aspects of the problem, such as generation of energy-efficient limb trajectories combined with body stability (Bessonet et al. 2004), use of neural networks to model gait (Gonçalves and Zampieri 2003) and non-linear oscillators to mimic the medullar central pattern generators' (CPGs) neuronal circuitry (Aoi and Tsuchiya 2005). Most of the biped robots found in the literature use more or less arbitrarily chosen limb dimensions, look-*Corresponding author. Email: lmeneg@ime.eb.br ing for making easier the achievement of a stable gait pattern.
The main objectives of this work are the design, construction, modelling, control and testing of a 10 active DOFs robot, with anthropomorphic dimensions able to reproduce the main features of human gait of a normal or handicapped person. In clinical gait analysis training, for example, the robot could reproduce for a student audience several patterns of pathological gaits stored in a database. Gait lab therapists and engineers could visualise, understand and propose or synthesise gait patterns. It could give insights in the search for better gait patterns for specific patients, through small changes in the kinematical data provided by gait lab and tests in the robot. The effect of gait parameters could be evaluated, such as how the increase or decrease of some joint range of motion influences gait speed, step length and body centre of gravity oscillation. The robot could also be used to test some aspects of emergent gait patterns from anatomical modifications introduced by surgery, specially osteostomies.
The robot described in this paper was built with low-cost components (Santana 2005). Limitations due to the available components have also required optimisation of some robot parts, such as the parallel linkages used to transmit movements, in order to keep the robot walking capability (Menegaldo et al. 2006). Normal and clinical cerebral palsy (CP) data from gait labs were used to drive the robot, and the achieved gait patterns were analysed.

Conceptual design and parametric optimisation
Since the robot shall reproduce real human gait patterns, the relative dimensions among the limbs must follow proportions usually found in humans. The scheme presented by Winter (1991) has been used to find robot segment lengths, by fixing a total height of the body, as in Figure 1. In spite of the fact that the height was fixed to a 'childish' value, the joint angle variations along the gait cycle, as well as the gait pattern, have geometrical similarity to real gait. The total height of the subject is H , from which all other dimensions arise.
Actually, the human locomotor apparatus has a very large number of DOFs. It is quite a huge task to reproduce all of them in a robot, and only some of them have been considered in the design (Table 1). With these DOFs, the robot is able to walk straight forward. The non-sagittal plane DOFs are still important for this case. In the middle stance, for example, the support limb has to perform an inversion of the foot and the adduction of the hip, in order to stabilise the projection of the centre of mass within the basis of support. On the other hand, walking to the right or the left side should require the internal or external rotation of the support limb, performed by some joint, usually the hip. A fundamental issue in the conceptual design of the robot is the choice of the joint mechanisms. Some solutions have been analysed, and the parallel mechanisms shown in Figure 2 have been chosen for the ankle (a) and for the hip (b). In the ankle, if both bars rotate upwards, the foot makes a plantar flexion. If they rotate downwards, the foot does a dorsiflexion. If one bar rotates up and the other down, the foot may perform an inversion or an eversion.
In the case of the hip, a similar behaviour is obtained, and the expected movements are the flexion/extension of the hip, as well as adduction/abduction. This class of linkages has an important advantage of simultaneously using the torque of two servo-actuators to perform the movement in the same direction. In addition, it provides high stiffness and transmission ratio between the actuators and the 'end effectors', i.e. the foot or the thigh. On the other side, the relationships between servo and joint angles are not trivial, requiring a somehow complex kinematical model of the linkage. In addition, the transmission ratio is variable. The workspace size of these mechanisms is usually reduced, and singularities may be found. The overall view of the robot is shown in Figure 3. In Menegaldo et al. (2006), the inverse and direct kinematical models for the linkage are derived. Inverse kinematical equations allow finding the required servo angles for a prescribed robot joint motion. With direct kinematics, the overall mechanism configuration is found as a function of servo angles. For the inverse kinematics an analytical solution has been found. In the direct kinematics case, three different numerical approaches have been tested to solve the non-linear algebraic equations system: least-squares, Newton methods and interpolating polynomials. All gave essentially the same results. The interpolating polynomials have been employed in the final real-time implementation, since they allow very fast computation. A design optimisation procedure has been used to find linkage dimensions (Santana 2005;Menegaldo et al. 2006). Thus, some of the mechanism link dimensions were chosen such that the torques from the servos were maximally transmitted to the limbs. However, optimisation was constrained by the limited angular excursions allowed in the spherical joints, by the maximum bar lengths and by joint angle limits usually observed in a normal-gait subject (Vaughan et al. 1992). Considering the several solutions obtained, a compromise was sought between transmission ratio and workspace size. For the knee, a simple hinge joint was used.

Robot model, control and simulation
For simulating numerically, gaining insight into robot behaviour with a control system and specifying actuator requirements, a dynamical model was derived. A possible control scheme, using a candidate proportional-integralderivative (PID) architecture, was also used to perform the simulations. From the point of view of dynamics, this biped robot is a multi-body mechanism joined through hinges, whose movements are driven by parallel mechanisms, except for the knee joint. In our case, the body corresponds only to the pelvis, since there are no trunk, arms or head. Limb interactions with the ground lead to the reaction forces that provide robot movements. Thus, the robot shall be modelled as a free mechanism with no fixed points (Fujimoto 1998), and a methodology similar to manipulator robots may be adopted. However, the pelvis, that is a moving body, was used as the base link, and it implies the definition of a new set of variables to describe base position and attitude relative to an inertial system. In addition, there exist two open chains, corresponding to the limbs, connected to the robot basis. Robot generalised coordinates are indicated in Figure 4, where O o is the ground reference frame, O 1 the robot reference frame and P b the whole robot position vector.
The vector x of generalised coordinates has 16 dimensions, written as where x b , y b and z b define pelvis position relative to the ground reference frame; φ, gθ and ϕ are the pelvis Euler angles, relative to the same referential; and α i , i = 1, . . . , 10 are servomotor angular positions. Using these coordinates, direct and inverse kinematical models were written (Santana 2005). The first analytically relates positions, velocities and accelerations of generalised coordinates to robot limb kinematics. The second transforms the real-gait trajectories to limb variables and then to generalised coordinates of position, velocity and acceleration. These kinematical models are essential to generate the direct and inverse dynamic models, as usual in robot dynamics. The equations of movement can be written in matrix form as where H is the robot inertia matrix; C is the vector of Coriolis and centrifuge forces; G(x) is the vector of gravitational forces; U E is the vector of external forces; and U is the vector of generalised forces, given by U = f bx , f by , f bz , n φ , n θ , n ϕ , τ α1 , τ α2 , · · · , τ α10 T , (2) where f bx , f by and f bz are the x, y and z components of the force applied to the base link; n φ , n θ g and n ϕ g are the torque components in the same link; and τ α1 , τ α2 , . . . , τ α10 are the servomotor torques applied to each joint. In order to simplify the torque transmission from the servomotors to the joints in Equation (1), the inertia properties of the parallel mechanisms are disregarded. The external forces U E are calculated from a separated model that describes the contact between foot and ground using springs and dampers, based on the work of Bruneau and Quezdou (1997). In this model (Santana 2005) different points on the foot sole are considered to calculate reaction forces: the central point and the four vertices of the plate which constitutes the robot foot. Linear springs and dampers are considered to model foot contact, except for the vertical displacements in which damping is non-linear.
The candidate controller for simulation takes into account two different aspects: first, a nominal or reference trajectory, corresponding to the human gait, shall be generated using real data acquired in gait laboratories; second, the robot control system must track the nominal trajectory with minimum errors. The initial design choice of using just lower limbs, in order to reduce weight and complexity, adds an extra difficulty, since this robot does not have an additional and independent DOF to aid robot equilibrium. Actually, stability is a dynamic problem, and the analogous human/robot should also require ensuring similarity of the inertial parameters, such as masses and moments of inertia, as well as sophisticated control strategies, which are beyond the scope of this paper.
The joint independent control strategy proposed by Spong and Vidyasagar (1989) has been adopted for the simulations. Each actuated joint is considered a single-input and single-output (SISO) system, and the effects of nonlinearities associated with the robot dynamics are modelled as external disturbances. A PID controller has been added to each of the 10 joints. The resulting system fits as Type 2 for reference tracking and as Type 1 for disturbance error rejection.
For the overall robot-control simulations, two possible strategies can be chosen to obtain a stable gait pattern. The first is called static criterion and requires the vertical projection of the robot centre of gravity to fall inside the region covered by the robot foot. The other, called dynamical criterion, corresponds to the situation in which the so-called zero moment point (ZMP) also falls inside robot foot area (Vukobratovic and Borovac 2004). The ZMP is the point over the ground at which all the external forces should be reduced to a resultant equivalent force and torque, with null horizontal projections. The first criterion has been chosen to perform the simulations, for simplicity.
Parameters for trajectory generation have been set as 0.06 m for the step length, 0.04 m for maximum feet height, 2 s for single-support time and 2 s also for the doublesupport phase. These parameters lead to a slow movement which agrees with the static criterion for stability. In addition, the net torques applied to each joint must provide that the robot centre of gravity position and limb attitude and position follow the mean points calculated in the reference trajectory planning. These simulations provided useful information for choosing the robot's final dimensions and actuator torque requirements. See details in Santana (2005).

Robot construction
As already mentioned, the robot has been built respecting a very tight budget. One of the features the authors have thought should be attributed to this project is its low cost, to allow reproduction by any group working on similar subjects. The most expensive component is the servomotor, Hobbico CS-80 (USA; unitary cost around US$35 in the United States). It is normally used for scale ship model applications, is available off-the-shelf and features the largest torque compared to the other servomotors of the same class. This servo presents also a good 1:40 gear ratio. All the other parts have been designed in-house and built or machined in aluminium alloys, except the spherical and universal joints, which have been purchased from automobile steering system parts manufacturers (Termicon S.A., São Paulo, Brazil). The electronic boards for actuators and sensors were also built in our laboratory (Santana 2005). The cost of the robot was around US$ 2,000.00, roughly, excluding the A/D board and the computer.
A total of 21 sensors have been used to measure the joint angles and velocities to assess robot kinematics: 10 potentiometers built into the servomotors; 8 on-off switches located at each vertex of the robot feet ( Figure 5), thus indicating the gait cycle at a given time; and 3 accelerometers (Analog Devices ADXL202E, USA), able to measure the projections of the acceleration of gravity in two different axes. One of these accelerometers is located in the pelvis, and the other two are in each foot and with appropriate low-pass filtering can be used as inclinometers. All measurements and actuation were processed by a central microcomputer (an old Pentium, 166 MHz) with a low-cost A/D card Lynx CAD 12/36 (São Paulo, Brazil).

Experimental tests
Normal-gait data has been provided by a clinical gait lab (AACD or Associação de Assistênciaà Criança Defeituosa, São Paulo, Brazil). The data corresponds to the normality pattern used by this lab and is a mean among a great number of normal children-gait collections. Pathological gait data was taken from the case study presented by Vaughan et al. (1992), a 23-year-old man suffering from CP, running in the free GaitLab software. Both normal and pathologic data was used to drive the robot in an open-loop manner. Therefore, in the experiments presented here, closed-loop was done only by the built-in servo position controller. In order to assure stability of motion for the robot, some aid from the operator is demanded. This was done by the application of a slight vertical upward force on the robot pelvis.
For normal gait, left-side data was used from the gait lab report. Right side was generated from the left one but  introducing a phase lag of 50% of the gait cycle. In the case of pathological gait, the three-dimensionsal anatomical angles defined in Vaughan's model were compared to the robot model, and the following DOFs were used to generate the gait: hip flexion/extension and adduction/abduction, knee flexion/extension and ankle flexion/extension and inversion/eversion. In GaitLab, inversion/eversion angles can reach 40 • . However, these angles were limited to 25 • to fit foot linkage workspace. Movies showing normal and pathological gait performed by the robot can be downloaded from the supplementary online material.
To evaluate the performance of robot gait, gait phase times were measured using the footswitches. Observed relative time spans for the gait phases, compared to driving data, are shown in Table 2.
The capability of the robot in following prescribed gait kinematics can be evaluated by comparing patient and robot kinematic data. In Figure 6, pathologic gait pelvic tilt and pelvic obliquity can be observed. Input data from GaitLab and measured by robot sensors are shown in Figure 7 for the right foot.
Observing Table 2 and the figures above, reproduced gait patterns from the robot are qualitatively similar to the input data. Close timing agreement for the gait events has been observed, with maximum errors around 3%. Pelvis and foot inclinations presented more or less analogous profiles between patient and robot gaits, and the most relevant disagreement was observed in foot inclination in the frontal plane. For normal gait, the results are essentially comparable (Santana 2005).

Conclusions
In this paper, a biped robot with dimensions proportional to human beings has been designed, built and tested. A system of sensors (inclinometers and footswitches) was used to assess the robot performance. Considering dimensional and kinematical characteristics, the robot is able to perform human gait approximately similar to humans. Robot construction was done taking into account a tight budget of about US$2,000 except computer, A/D board and DC power source. Some problems have arisen from using low-cost components. The worst of them is backlash coming from the servomotor gear trains and from the joints themselves, leading to a walking pattern not as smooth as expected.
If assisted by an operator, the robot is able to reproduce some features of human gait, both normal and pathological, despite the fact that the current version has a limited number of DOFs and requires the aid of an operator holding the pelvis to provide stability and reduce backlash. However, the recorded robot movements have shown some agreement with motion capture input data.
As the next steps, the authors intend to improve the mechanical properties of the components to reduce or even eliminate the problems faced in this first prototype: backlash in the parallel joints and in the servomotors, low angular excursions in the joints due to the available spherical joints and other minor problems. At the same time, other types of gaits shall be simulated and tested.