AAU-BOT1: a platform for studying dynamic, life-like walking

This paper describes the development of the humanoid robot AAU-BOT1. The purpose of the robot is to investigate human- like walking and in this connection, test prosthetic limbs. AAU-BOT1 has been designed with modularity in mind making it possible to replace, e.g. the lower leg to test transfemoral or transtibial prosthesis or orthosis. Recorded motion data from a male test person, along with approximated inertial and mass properties, were used to determine necessary joint torques in human walking which was used as design parameters for the robot. The robot has 19 degrees of freedom (DoF), 17 actuated and 2 unactuated acting as passive toe joints. The project was granted 60,000 Euro, and to keep development costs below this, the development and instrumentation was carried out by three groups of master students from the Department of Mechanical Engineering (ME) and the Department of Electronic Systems at Aalborg University and supported by the Department of Health Sciences and Technology (HST). To further reduce the cost, the robot uses off-the-shelf hardware which also reduced the time from idea to practical implementation. The result is a low-cost humanoid robot fully assembled and equipped with sensors ready to take its ﬁrst steps.


Introduction
Humankind has always been fascinated by nature and the creations in it, but one more than others: ourselves. Greek mythology tells of a young man, Narcissus, who, as he leaned to drink from a stream, fell in love with his own mirror image. Da Vinci envisioned a mechanical knight with degrees of freedom (DoF) very much comparable to humans and published numerous drawings of the human anatomy because of a fascination of the human body. In 1876, Harry Enton published his novels about human-like robots powered by steam and electricity. This fascination and curiosity can be seen throughout the recorded human history. As human history continues, new problems have arisen, and our fascination and curiosity may help us solve them. Demographic changes in the population have left us short-handed. The once young and large generations are growing old leaving the now young, but small, generations with a large burden of elderly care. Suddenly Da Vinci's mechanical knight, knight sounding very fitting, looks like a solution, doing assistive tasks and shouldering some of the burden on an already strained elderly care sector. Creating the mechanical knight, or humanoid, might seem like using an excessive skill-set for tasks in elderly care, like vacuum cleaning, when a subset of the skill-set would suffice. But a humanoid's ability to do this task anywhere in a house, * Corresponding author. Email: mss@es.aau.dk due to its locomotion, is what makes it so attractive. A major challenge in humanoid robot research is an appropriate stability criteria. In 1969, Vukobratović defined the zeromoment point (ZMP) (Vukobratović and Juriĉić 1969) as a stability criterion for stable dynamic bipedal walking. The WABIAN robot used the ZMP to achieve a stable gait and soon after Honda started the development of the P-series robots that would become ASIMO (Sakagami et al. 2002). The Cornell Walker , which was inspired by McGeer's work (McGeer 1990), showed that it was able to walk down a slope using 16 times less energy than ASIMO  using an approach known as passive dynamics (PD) where there is no actuation of the joints other than gravity. The PD approach yields gait trajectories that are very human-like, and just as efficient, but the approach has some inherent disadvantages. Placing the Cornell walker on a surface with a different incline leads to instability since the dynamic of the impact has changed and gives initial conditions for the new step that is not within the stable envelope. The PD approach was later extended to Passive Dynamic Autonomous Control (PDAC) (Doi et al. 2004) where the initial conditions for the coming step were actively controlled in the Double Support Phase (DSP) leading to an increased stable envelope. Westervelt et al. (2007) released a very comprehensive book about their work on biped locomotion using feedback-induced virtual constraints. Using Poincare return maps they were able to determine stable periodic orbits that enabled the robot, RABBIT, to walk. The approach is based on underactuation which is achieved by using point feet and assumes that the DSP is instantaneous which is a valid assumption when using point feet. It should be noted, though, that DSP accounts for onefifth of the time of a human step (Borghese et al. 1996) Our ingenuity has also led us to try to restore humans to their original configuration. The earliest forms were simple wooden prosthetics that, although primitive, restored some of the appearance and gait of a human. Modern prosthetics are able to store and release impact energy improving the gait even further (Nielsen et al. 1989). However, prosthetics have not been able to restore it to a satisfactory level, resulting in prematurely worn down joints due to an increase in energy consumption of 25-40% (Nielsen et al. 1989). This is mainly due to incomplete knowledge about human locomotion. This is not due to a lack of effort. The research community has investigated, as previously stated, restoring human locomotion, simulating it and artificially creating it in robots which require knowledge within both health science and engineering. Researchers within these fields have often approached the problem with background in their respective fields; however, an interdisciplinary approach is needed. With this in mind Aalborg University set out to design and construct a humanoid robot as a joint effort between the Department of Mechanical Engineering (ME), the Department of Electrical Engineering (EE) and the Department of Health Science and Technology (HST) which could be used to investigate a multitude of problems related to human locomotion such as neural disorders, loss of a limb, rehabilitation and general research in biped locomotion. This lead to the initial requirements for the robot, called AAU-BOT1 (Figure 1), specified in close collaboration between the participating departments: r Minimise weight and energy consumption. r Gait as human-like as possible. r Capable of accumulating and releasing as much energy as possible.
r As high a degree of modularity as possible. r Capable of imitating dysfunctional gait as well as possible.
Section 2 describes how the initial requirements above were formulated as design-oriented requirements. Section 3 shows how detailed design requirements, such as joint torques, were determined from an inverse dynamics analysis of human motion data. Section 4 goes on to describe the mechanical design of the robot and Section 5 describes the implemented on-board computer (OBC) that controls the servo amplifiers and executes developed controllers. Section 6 concludes the paper by discussing and listing the results presented in the paper.

Design requirements
The initial design criteria mentioned in the introduction needed to be stated as design-oriented requirements. The following states these requirements along with the reasoning for doing so.
(1) Capable of performing dynamic human-like walking.
One of the purposes of the robot is to study human-like walking. As such the term 'dynamic walking' encompasses not only walking flat-footed using a stability criterion such as ZMP but also including toe-off and heel-impact.
(2) Capable of standing up from sitting position.
(3) Capable of taking a vertical step.
(4) 17 actuated DoFs and 2 unactuated DoFs. A humanoid robot can be modelled at various levels of complexity. The level of complexity depends on how many segments are considered, what types of joints connect the segments and which types of actuators are assumed to drive the system. In terms of theory of mechanisms, the complexity is expressed in terms of number and type of DoF. When analysing the walking, the legs must be modelled with sufficient DoF to allow spatial control of the position of the trunk. Neck and head could be considered as a single body, and the arms need to be included since their movement contributes greatly to stability (Popovic and Sinkjaer 2000). This, in our case led to the following: (4.1) each ankle joint needs to include two DoF (flexion/extension and internal/external rotation), (4.2) each knee is a one DoF joint (flexion/extension in the sagittal plane), (4.3) each hip joint needs to include three DoF (flexion/extension, abduction/adduction and internal/external rotation), (4.4) the lumbar 'joint' needs to be modelled with three DoF to provide relative rotation of the trunk with respect to the pelvis and (4.5) each of the shoulders needs one DoF (movement in the sagittal plane). The upper body could be modelled in more detail by adding arm joints (elbows and wrists). However, the emphasis on studying walking and movement of the arms in the sagittal plane is considered sufficient. In Ogura et al. (2006a,b), the WABIAN robot was equipped with feet with passive toe joints and a rounded heel to allow for more human-like gait. Similarly, the AAU-BOT1 should include passive toe joints but the heel should also be cushioned. The role of this foot is to decrease the effects of heel-impact during acceptance of the weight by the leg and storage of energy during the rolling of the foot that would be returned to the system at the push off phase. This leads to a robot that has 17 actuated DoF and 2 unactuated DoF, (see Figure 2). (5) Anthropomorphic. To ensure comparability between the robot and a human, the robot should be anthropomorphic. (6) Autonomous. The robot should be autonomous in terms of computational power and power supply. The power supply should be capable of supporting 15 min of dynamic walking. (7) Component costs to be kept below 60.000 Euro The project was granted 60,000 Euro to cover the devel- opment of, and the materials for, the robot. Because of the limited funds, it was decided to let students design the robot during their Master's study supervised by members from the involved departments. (8) Walking velocity of 1 m/s. According to Knoblauch et al. (1996), the average person walks at 1.25 m/s to 1.52 m/s depending on age. Despite this the walking speed has been chosen to 1 m/s to ensure that the weight of the robot and humans is similar since a higher-walking speed would probably require larger actuators both in terms of power and weight. (9) Capable of measuring foot-ground reactions and orientation of the body. Normal walking is automatic; however, it is not stereotyped. Able-bodied humans adjust their stepping patterns to variations in the terrain, possible loading and certainly unexpected events.
Three important types of sensory information are used to regulate stepping; somatosensory input from receptors of muscles and skin, input from the vestibular apparatus for adjusting posture and balance, and visual input (Popovic and Sinkjaer 2000). This is not to say that other inputs are not used (e.g., auditory system); however, the project focuses on the aforementioned inputs. For the time being, static vision input is assumed, that is, flat floor with no obstacles. A force/torque sensor (FTS) in the ankle acts as the necessary somatosensory input and an inertial measurement unit (IMU) is used as a substitute for the vestibular apparatus. (10) Lifespan: 1000 h of dynamic walking. (11) Modular. Disfunctional gait can be simulated by locking our limiting joints in software. It is, however, also desirable to test prosthetic devices such as below-knee orthotics. This means that the mechanical structure should be modular in order to support this.
In the following, these requirements will be referred to as 'req#'.

Inverse dynamics analysis
What is missing in the requirements for the design is the torque and velocity that the actuators should be able to deliver while walking along with the maximum forces and torques the FTS should be able to measure. Since the goal is to imitate human-like walking, the load case was taken from the main source; a human being.

Gait experiment
A laboratory equipped with a Qualisys Track Manager (QTM) system at the Center for Sensory-Motor Interaction (SMI) at AAU was used to record motion data for a male test person weighing approximately 70 kg. Reflective markers were placed as seen in Figure 3 and their trajectories were recorded at 240 Hz by eight infrared cameras. The reflective markers are placed such that the torques in the joints that correspond to the ones listed in req4 can be determined. The cameras cover approximately a 3 m long, 1 m wide and 2 m high space, so the gait experiment had to be choreographed carefully. The floor is equipped with two force plates that were able to measure the ground reaction as the test person stepped on them. To ensure that the design fulfils req1-3, three load cases were measured: walking at 1 m/s, getting up from a seated position and stepping on to a 0.15 m high plateau. The overall maximum values for the three load cases were used as design requirements.

Kinematic representation
Each limb has a coordinate system attached to its CoM as shown in Figure 4 where the letters A-K are the trajectories of the markers and L is inserted as a support point. The recorded trajectories from the gait experiment are denoted by r A..L . The angular orientation of a coordinate system relative to another is given by Bryant angles as shown in (2).
The transformation matrix A is determined using the marker trajectories. for example, A 1 , the rotation of limb 1, was determined by first determining r L : The unit vectors of A 1 were determined using Equation (4).
The unit vectors were then used to construct the transformation matrix for limb 1.
The transformation matrices for the remaining limbs were determined using the same approach. The position and orientation of all the limbs are calculated as an open chain relative to the trajectory of the waist r A . The angular and linear velocity of limb j relative to limb i are determined by Equations (6) and (7), respectively. By differentiation of (6) and (7), the angular and linear acceleration can be found.
In order to determine the forces and moments, the Newton-Euler Equations of Motion (EoM) were used. Newton's second law, shown in (10), was rewritten to (11) to separate the forces due to gravity and the linear motion of the system.
Euler's equation of rotational motion about the CoM of a limb is shown in (12) As seen in Equations (10)-(12) the inertial properties and the masses of the limbs are needed to solve the EoM.
Determining these for the test person is a cumbersome task and estimates from Vaughan et al. (1999) were used instead which are listed in Table 1. The EoM were calculated recursively using the Newton-Euler method (e.g. Craig 1989) using the recorded trajectories. The forces and moments that result from the interaction with the ground at the CoP/ZMP, as shown in Figure 7, were determined using Equations (13) and (14).
During SSP, the resulting force, R T , and moment, M T , must be applied at the CoP of the foot that is contact with the ground. During DSP, the force and moment must be distributed between the two feet which is a statically indeterminate problem. The problem is solved using a simple method as shown in Equations (15) and (16), where ρ R (t) and ρ L (t) are simple splines as shown in Figure 6.
ρ R (t) and ρ L (t) depend on which leg is trailing or leading as shown in Equations (18) and (19).
Right leg : Left leg : More elaborate methods for distributing R T and M T could be used. But since the geometrical and inertial properties are estimates which affect both the motion, and R T and M T , a more advanced method would not yield exact or near exact distributions of R T and M T for the test person. The  Figure 7 which agree quite well; however, some discrepancies are present but were to be expected. In Inman et al. (1981), four male adult test persons underwent a similar walking experiment as the one described in Section 3.1. In Inman et al. (1981), the joint torques for the hip, knee and ankle were found which are presented in Figure 8 along with the estimated joint torques from the inverse dynamics analysis. The joint torques are very similar even though the results from Inman et al. (1981) were obtained for people walking at 1.4 m/s, which indicates that the joint torques are only, to a very low degree, influenced by the walking speed.     Table 2 shows the maximum torques that were exerted in the joints and the range they had to travel. The torques have been scaled by 1.8 to take into account inaccuracies in the inverse dynamics. This factor also allows for control of the robot in the sense that control strategies for the robot require excess torque if a fault situation has to be remedied, i.e. the robot has to prevent a fall. The maximum forces and the torques the FTS has to measure are listed in Table 3.

Mechanical design
Describing the entire design process, e.g. selection of gears and motors, is beyond the scope of this paper. Instead, the mechatronic structure is shown in more detail in Figures 10-15. All motors are from Maxon and the gears are from Harmonic Drive. Some joints have torque demands that exceed what a single Maxon motor can deliver. Instead of choosing a larger motor, two motors are used to actuate the joints that exceed this limit since this gives a better torque/weight ratio compared to using a larger motor. Approximately 30% of the total weight stems from the mechanical structure and the rest is gears, motors, servoamplifiers, etc.

Force torque sensor
Designing the FTS as small and light as possible received much attention. The final design, shown in Figure 9, has a diameter of 80 mm, is 15 mm high, and weighs 118 g. The FTS uses 24 strain gauges to measure shear and strain in the three bridges. The FTS outputs six voltages; three related  to shear and three related to strain. The voltages, V , are mapped to the force and torque vector F by C −1 , that is, The calibration matrix C −1 was determined using the same approach as in Flay and Vuletich (1995), Sanders et al. (1997) and Voyles et al. (1997), that is, using the least squares calibration (LSC) method. It should be noted that the FTS gives an affine, not a linear, transformation and a no-load measurement is subtracted from the calibration measurements in order to use the LSC method. Test loads were applied after the calibration of the FTS, different from the ones used in the calibration, to check the accuracy of the FTS. The accuracy of the FTS used in the right foot is shown in Table 4. The RMS deviation for F x and M z are the highest in the test; however, they are considered acceptable. The ZMP can be calculated using F z , M x and M y all of which have a deviation under 1% which gives a very precise estimation of the ZMP. Table 3 also indicates that the calibration procedure should be improved further since it yields better calibration for some of the outputs.

Inertial properties
Since AAU-BOT1 has been designed to mimic a human, the inertial properties and mass (see Table 5) of the robot need 1.9 Figure 10. The foot with the FTS mounted. The spring returns the toes to their initial position after toe-off. At impact the heel is able to store some energy as the weight of the body is accepted by the foot. As the body moves forward the springs will return the energy to the system.
to be similar to the reference values in Table 1. In terms of mass, the limbs are quite similar. However, the torso, arms and feet differ. The torso will no doubt gain more weight once the OBC and PSU are added. Concerns have been raised that this might add too much weight, though. The weight of the arms has deliberately been kept low such that extra weight can be added if the need arises in the test of a control strategy. The feet simply weigh too much, but it has been hard to reduce the weight without violating the requirements in the inverse dynamics analysis. Similar inertial properties have not been achieved mainly due to the difference in actuation, e.g. muscles vs. motors. Muscles distribute the weight uniformly on a limb, whereas a motor places much weight near the point of actuation. The motors could be placed further away by using longer belt drives. This was not done because of the increased elasticity (longer belt drives); this would no doubt add to the actuation and thereby complicate the control of the joints.

Control frequency
Before the OBC was decided upon the requirements for such a system had to be determined. The requirement could be put in one sentence; the control system should be able to control the robot quickly enough such that the movements are smooth. Quantifying 'smooth' can be done by defining 'not smooth' as shaking or vibrating. This can be further considered as rapid acceleration and deceleration around the intended joint trajectory. This will be the case in the real robot since the joint references will be updated at intervals corresponding to the control frequency. The control frequency of the joint trajectories, therefore, has to be high enough such that the impact on future controllers is negligible. To evaluate this, the ZMP was used as a measure of performance since the ZMP is directly coupled to the acceleration of the limbs. A ZMP trajectory was developed Figure 11. The ankle. The motor actuates the roll axis. Figure 12. The shin. The pitch axis of the ankle is actuated by two motors.
using the approach described by Huang et al. (2001). The model, or simulation, was set to run at 10 kHz to get a smooth reference trajectory for the ZMP and joints. The ZMP reference trajectory is shown as the blue-dashed line in the subplots of Figure 16.
In Figure 16 (a), the simulation was set to run with the joint reference trajectories. However, the joint reference trajectories were only sent to the motor controller at 50 Hz which resulted in the calculated ZMP trajectory, the red line, moving rapidly around the ZMP reference trajectory. Figures 16 (b) and (c) show the update frequency for the motors increased to 62.5 and 125 Hz, respectively. At 250 Hz, the calculated ZMP in Figure 16 (d) only had spikes at hybrid shifts in the model, that is, transition between DSP and SSP, otherwise the calculated ZMP trajectory was smooth. The offset between the reference and the calculated ZMP trajectories is present because of untuned controllers for the motors. On the basis of these results, it was decided that Figure 13. The thigh. The knee joint is actuated by two motors. The shin can be replaced fairly simply by, e.g., a prosthetic limb.  the OBC should be able to update the joint references at 250 Hz.

Hardware and software
Existing biped robots have made use of both central and decentral control systems. Kaneko et al. (2002) used a central approach and developed a PCI interface board with several D/A and A/D converters that was successfully used to control the HRP biped robot. The same board was used, also successfully, on the WABIAN robot (Ogura et al. 2006a,b). The JOHNNIE project used a decentral approach where each servo amplifier had a CAN interface through which the reference could be given (Löffler et al. 2003). FTS data were also collected through a CAN interface. The AAU-BOT1 uses a decentral approach since the distance analog signals have to travel is minimised; FTS data are digitised close to the source and PWM signals are generated close to the source thereby avoiding inducing noise in the signals which could be the case in the central approach. EPOS 70/10 servoamplifiers (EPOS) are used to drive the motors and are controlled through a CAN interface. The EPOS has several A/D inputs which at each joint are connected to a potentiometer that measure the absolute position of the joints when the robot undergoes its initialisation procedure at start-up. After the initialisation, encoders are used to track the movement of the joints. In order to obtain the necessary bandwidth at 250 Hz, five CAN busses are used to update the reference for the EPOS and six RS485 busses are used to collect the FTS data. The OBC supports this by using a TEWS TPMC901 card with six CAN controllers and a TEWS TPMC465 card with eight RS485 ports. An IMU from Xsens, also interfaced through a RS485 bus, is placed in the torso to get the orientation of the robot. The OBC is based on a standard micro-ATX motherboard with a 3 GHz Core 2 Duo CPU. The control software has to run in a real-time operating system and for this task Linux was chosen with a kernel patched with the Real-Time Application Interface (RTAI) to guarantee timely execution. RTAI has a proven track record, not only in biped robots (Löffler et al. 2003;Hobbelen et al. 2008), but for a wide range of applications. The different communication busses have undergone stress tests in order to reveal any limitations in the setup. The CAN bus was subjected to a worst-case load test at 250, 400, and 500 Hz that had an average error rate of 0.0017, 0.0107 and 6.9511%, respectively. At the necessary 250 Hz, and at 400 Hz, the system performs well; however, at 500 Hz the system clearly has problems handling the load.
To ease the development of controllers, Simulink R is used in conjunction with RTAI to generate RTAI compliant code that implements the controller set-up in the Simulink R model. Simulink R is run on a host PC that generates the code and then uploads the code to the OBC/target PC which compiles and executes the controller. The implementation is shown in Figure 17. [5] Figure 17. The CAN and RS485 device drivers run within the RTAI framework to ensure real time. The network connection is handled by the Linux scheduler since only the generated code from Simulink R is uploaded through it. The number in the square brackets is the number of busses used.

Discussion and conclusion
The described work has yielded a humanoid robot that should be capable of human-like walking. The feet have been designed to support heel-impact and toe-off by using a cushioned heel and passive toe joints. The weight of the feet causes concern since they are much heavier than its human counterparts. The robot has been designed such that the shin and foot can be replaced by a prosthesis.
Apart from the feet, the mass properties of the robot are quite similar to those of a human. The inertial properties are, however, not similar which is caused by the actuation. Linear actuation is considered for the next robot, AAU-BOT2, which could give more 'natural' inertial properties due to its similarity to muscles. The main contributor to the weight, about 70%, is gears and motors, meaning that optimising the mechanical structure would only alter inertial and mass properties to a small extent. A better approach would be to integrate the gears directly into the mechanical structure thereby removing enclosures for the gears and saving weight. It should also be considered if the factor of 1.8, that the required torque was scaled with, was a conservative estimate since a smaller factor may reduce the size of the motors and gears. This will be determined as walking controllers are tested on the robot. Solving the indeterminate problem, by means of a spline distribution, when analysing the DSP proved efficient. Discrepancies were present but the recorded data and previously published data agreed to a large extent. An interesting observation in this regard was that the required joint torque for a human was very similar at different walking velocities. This needs further verification, but implies that the robot could be able to walk faster than the 1 m/s it was designed for. The FTS has shown very accurate measurements with the largest deviations in F x and M z . It is expected that a better calibration procedure would remedy this and bring the deviation below 1% as the other measurements.
The use of off-the-shelf hardware for the OBC combined with RTAI has yielded a low cost and reliable system for controlling the robot. The OBC has shown reliable data transmission as high as 400 Hz, but 250 Hz has been determined to be sufficient.
The end result is a humanoid robot that has been developed and built for less than 60,000 Euro by letting master's students handle the design and construction of the robot.