Design and implementation of NTU wearable exoskeleton as an enhancement and assistive device

This article presents a wearable lower extremity exoskeleton (LEE) developed to enhance the ability of a human’s walking while carrying heavy loads. The ultimate goal of the current research work is to design and control a power assist system that integrates a human’s intellect for feedback and sensory purposes. The exoskeleton system in this work consists of an inner exoskeleton and an outer exoskeleton. The inner exoskeleton measures the movements of the wearer and provides these measurements to the outer exoskeleton, which supports the whole exoskeleton system to walk following the wearer. A special footpad, which is designed and attached to the outer exoskeleton, can measure the zero moment point (ZMP) of the human as well as that of the exoskeleton in time. Using the measured human ZMP as the reference, the exoskeleton’s ZMP is controlled by trunk compensation so that the exoskeleton can walk stably. A simulation platform has first been developed to examine the gait coordination through inner and outer exoskeletons. A commercially available software, xPC Target, together with other toolboxes from MATLAB, has then been used to provide a real-time operating system for controlling the exoskeleton. Real-time locomotion control of the exoskeleton is implemented in the developed environment. Finally, some experiments on different objects showed that the stable walking can be achieved in the real environment.


INTRODUCTION
While research on humanoid robots has been ongoing for many years, so far there are no robots that can perform tasks in a wide range of changing conditions, preserving the same quality of performance as that of human beings.Compared to naturally developed algorithms with complex and highly specialized control methods, the artificial control algorithms that govern robots miss the flexibility.On the other hand, robots can easily perform some tasks humans cannot do due to their physical limits such as manoeuvring heavy objects.It seems therefore that combining these two entities, the human and the robot, into one integrated system under the control of the human, may lead to a solution that will benefit from the advantages offered by each sub-system.Exoskeletons are such systems based on this principle.
For performance enhancement of a human, exoskeletons can be controlled and wearable devices can be used to increase the speed, strength and endurance of the wearer.The human provides control signals for the exoskeleton, while the exoskeleton actuators provide most of the power necessary for performing the task.The human applies a scaled-down force compared with the load carried by the exoskeleton system.
In last decades, several exoskeleton systems have been studied and developed (Guizzo and Goldstein 2005).Hardiman (Vukobratović et al. 1990), developed by General Electric Corporation in the 1960s, was the first attempt at a man-amplifying exoskeleton.It was, approximately, a 700-kg, 30-degree of freedom (DOF), hydraulic and electric full-body suit.It was solved as a master-slave follower system, which was designed for an amplification ratio of 25:1.Later, Kazerooni (1993Kazerooni ( , 1998) ) developed an arm extender, utilizing the direct contact forces between the human and the machine measured by force sensors as the main command signal to the exoskeleton.Rosen et al. (2001) synthesized the processed myoelectricity (EMG) signals as command signals with external-load/human-arm moment feedback to control an exoskeletal arm.Besides these, there are several other kinds of upper limb exoskeletons such as those mentioned in references (Bergamasco et al. 1994;Sarcos online 2004).
On lower extremity exoskeletons (LEE) (without exoskeleton arms), the works can mainly be used for two different applications: (1) walking aid for persons with gait disorder or aged people and (2) walking power augmentation to enhance the payload-carrying ability of the normal persons.
People with gait disorder and elderly people who may lose muscular strength in their legs become bedridden.They can move around only by a wheelchair or by using a wheeled walker.Unfortunately, barriers such as bumps and steps restrict the area that these people have access to, with the wheeled tools.It is hoped that the lower exoskeleton can enhance their muscular strength and enable them walk stably.One of the most well known attempts is the use of Hybrid Assistive Leg (HAL) developed by the team of Sankai in 2001 and 2002.HAL can provide assist torques for the user's hip and knee joints according to the user's intention by using EMG (ElectroMyogram) signal as the primary command signal together with angular sensors and floor reaction sensors.With all of the motor drivers, measurement system, computer, wireless LAN (local area network), and power supply built in the backpack, HAL works as a completely wearable system.
Different from HAL, the second type of exoskeletons is proposed to help those, such as infantry soldiers, who need to travel long distances by feet with heavy loads.With the help of the exoskeleton, the user can carry more loads and walk longer before feeling tired than those without the exoskeleton system.A group at Hokkaido University has developed a wearable power assist device for a human's lower back (Kawai et al. 2004;Naruse et al. 2003aNaruse et al. , 2003b)), as the lower back is the area most vulnerable to injury when carrying heavy loads owing to the resulting compressive force applied to lower back discs.The group's power device assists flexion and extension of the lower back, reduces compressive force and generates negative force to assist lifting.Another group in the Berkeley Robotics Laboratory (Berkeley Robotics Laboratory 2003), led by Kazerooni, began to develop the Berkeley lower extremity exoskeleton (BLEEX), which is funded by American Defense Advanced Research Projects Agency (DARPA).In November 2003, the first completely functional BLEEX was demonstrated, which is composed of two powered anthropomorphic legs, a power unit, and a backpack-like frame on which a variety of loads can be mounted.
In collaboration with the national defense organisation, a team in Nanyang Technological University (NTU), Singapore, has designed and constructed the first LEE system (Liu et al. 2004;Liu and Low 2004;Low et al. 2004).The inner exoskeleton provides control signals to the outer counterpart, while the exoskeleton actuators provide most of the power necessary for carrying the payload.The system aims to provide soldiers, firefighters, disaster relief workers and other emergency personnel the ability to carry heavy loads such as food, weaponry, rescue equipment, and communications gear with minimal effort over any type of terrain for extended periods of time.The same control implementation can be extended to the applications of rehabilitation.In the following sections, the related background and features of the NTU-LEE are introduced, together with the real-time control strategy and the walking experiments.We will first present the features of biped gait and the dynamics of the exoskeleton.The principle of the control strategy will then be discussed, including locomotion control and control of the zero moment point (ZMP).The integrated system formed by inner and outer exoskeletons is introduced, and the simulation has been presented and discussed.The implementation of the control strategy on the developed prototype is also introduced.

RELATED BACKGROUND
In this section, the features of the biped gait are firstly introduced.The exoskeleton's model is next presented and its dynamics analyzed.

Biped gait
Biped locomotion has been at the focus of researchers for decades.The biped gait can be divided into two phases: single-support phase and double-support phase (Whittle 1991).In the single-support phase, a leg is off the ground while the other leg is in contact with the ground.As for the double-support phase, both feet are on the ground.These two support phases take place in sequence during walking.
Most of the biped mechanism joints are powered and directly controllable, except for the joint formed by contact of the foot and the ground.Foot behavior cannot be controlled directly; it is controlled in an indirect way by ensuring appropriate dynamics of the mechanism above the foot.To account for this, the concept of ZMP (Vukobratović and Juricic 1969), which is defined as the point on the ground at which the net moment of the inertial forces and the gravity forces has no component along the horizontal axes, has been used.The gait is balanced when and only when the ZMP trajectory remains within the support area.In this case, the system dynamics is balanced by the ground reaction force and overturning will not occur.In the singlesupport phase, the support polygon is identical to the foot surface.In the double-support phase, however, the size of the support polygon is defined by the size of the foot surface and by the distance between them (the convex hulls of the two supporting feet).The ZMP concept provides a useful dynamic criterion for the analysis and synthesis of biped locomotion.The ZMP indicates gait balance during the entire gait cycle and provides a quantitative measure for the unbalanced moment about the support foot and for the robustness (within balancing margin) of the dynamic gait equilibrium.
Another term is centre of pressure (CoP) (Vukobratović et al. 2001), which is commonly used in biped gait analysis based on force platform or pressure mat measurements.CoP represents the point on the support foot polygon at which the resultant of distributed foot ground reaction force acts.According to the definition, in the case of a single-support phase and for balanced dynamic gait equilibrium, the ZMP coincides with the CoP.However, in the dynamically unbalanced single-support situation that is characterized by a moment about CoP that could not be balanced by the sole reaction forces, as shown in Figure 1, the CoP and the ZMP do not coincide.The ZMP location outside the support area (determined by the vector r in Fig. 1) provides very useful information for gait balancing.The distance of ZMP from the foot edge provides the measure for the unbalanced moment that tends to rotate the biped around the supporting foot and, possibly, to cause a fall.

Dynamics of the exoskeleton
As depicted in Figure 2, the considered exoskeleton is composed of the trunk, the pelvis, two shanks, two thighs, two feet and the payload attached to the trunk.As shown in Figure 2, the vertical Z-axis and horizontal X-axis lie in the sagittal plane.By observing typical human joint trajectories, it is noted that the motion range is much greater in sagittal plane than in other planes (Marchese et al. 2001) and during walking most movements happen in the sagittal plane.Hence, at this initial stage, only the joints rotating around the Y-axis are actuated and movements in the sagittal plane are studied.
The dynamical equation that describes the movement of a biped (or exoskeleton) is given by where q = (q 1 , . . ., q 7 ) T is the vector of generalized coordinates, which are the joint angles.The matrix M( q ) takes into account the mass distribution, and the vector f ( q , ˙ q ) considers the effect of both inertial forces and gravity.The elements of the vector Q are generalized forces applied to the system.The dots denote the time derivatives.
The exoskeleton's structure can be considered as a set of rigid bodies interconnected by the revolute joints.Two adjacent links {C i , C k } interconnected by a joint at point Z i k is called a kinematic pair.Figure 3 shows a kinematic pair whose joint angle is q i , where i i j i k i is the local orthogonal coordinate frame attached to the centre of mass of link i , e i is the unit vector of the axes of joint i and r i k is the position vector from point Z i k to the centre of mass of link i .Taking the supporting foot as the C 0 , which is connected to the ground, the exoskeleton has two kinematic chains . Without losing the generality, only the first chain is explained here and the second chain can be solved in the similar way.We set zero joint coordinates q i = 0 to be the home position of all the links.As for R 0 i = [ q 0 i 1 q 0 i 2 q 0 i 3 ], which represents the transformation matrix of the i -th link coordinate frame onto the global frame 0, there exists where where ( .)represents (.) expressed in the local coordinate frame.By virtue of the recursive computation according to Equations ( 2)-( 6), R 0 i can be obtained.Next, applying the theorem of finite rotations (Rodrigue's formula) for the revolute joints, one obtains therefore, the matrix R i = [ q i 1 q i 2 q i 3 ] represents transformation matrix from the i-th link coordinate system into the global system, and is determined, where e i +1 = R i ẽi+1 and e 1 is known.Hence, the position vectors with respect to the global system are obtained as follows: Applying the basic theorems of rigid body kinematics, we obtain the following recursive equations: where ω i , v i , α i and a i are the angular velocity, linear velocity of the centre of mass, angular acceleration, and linear acceleration of the centre of mass of the i -th link, respectively.The inertial force of the centre of mass of the i -th link F i and moment of the i -th link M i can then be obtained by using Newton-Euler's equations, respectively, with where m i is the mass of link i .Note that q j il ( j = 1, 2, 3) denotes the j -th component of vector q il , and J il is the principal moment of inertia of link i .

CONTROL STRATEGY
An important feature of the exoskeleton system, which is also the main difference between exoskeleton and biped robot, is the participation role of humans in the process of control and decision making.By introducing humans as part of the control system, some intractable tasks for robots, such as navigation, path planning, obstacle crossing and gait selection, can be properly undertaken by the pilot instead of the robot's complex artificial controller and vision system.However, there are two main tasks required for the exoskeleton controller: how to transfer the pilot's intention to the exoskeleton and how to maintain the walking stability of the exoskeleton.Accordingly, the proposed control strategy can be divided into two parts, namely locomotion control and ZMP control.

Locomotion control
During the single-support phase, the trajectory of the travelling foot determines the gait parameters such as step length, step height, etc.To ensure that the exoskeleton and the wearer can walk together, the trajectory of the exoskeleton's foot should trace that of the user.For this purpose, a mechanical linkage named inner exoskeleton is attached to the human operator, as shown in Figure 4. Accordingly, the exoskeleton that carries the payload is the so-called outer exoskeleton.The inner exoskeleton equipped with encoders is to capture the joint information of the pilot.The length of the linkages of the outer exoskeleton is designed adjustably so that the linkages are kinematical similar to the pilot's legs.

Control of the ZMP
The purpose of the ZMP control is to make sure that the ZMP remains within the support polygon.From the definition of the ZMP, we have where M G is the resultant moment of gravity forces with respect to ZMP, M F is the resultant moment of inertial forces with respect to ZMP, while e X and e Y denote unit vectors of the X and Y axes of the absolute coordinate frame.Equation ( 13) can be further replaced with where p z is the ZMP coordinates in the global coordinate frame while p i is the position vector of the centre of mass of the i -th link, ( r j j − r j, j +1 ) + r ii (15) in which G i = m i g is the gravity force of link i , p * is the position vector of joint 1 in the global coordinate system.Substituting Equations ( 9)-( 11) and (15) into Equation ( 14), we have  where the coefficients a i , b i j and c i are the functions of the generalized coordinates q i .The trajectories of joints q 1 to q 6 are determined by the signals measured from the pilot's legs, as shown in Figure 2, while the trunk joint q 7 is determined according to Equation ( 16) to ensure the ZMP in the support polygon.Such a ZMP is the desired ZMP; however, the actual ZMP may be different from the desired ZMP because of various reasons, such as disturbance from the environment or error of the actuators.A footpad that can online measure the actual ZMP is thus suggested and designed.

Measurement of ZMP
To measure the ZMPs of the pilot and the exoskeleton, a footpad is designed as shown in Figure 5.The human foot is on the upper plate, and the exoskeleton leg is connected to the middle plate.There are four force sensors between the upper plate and middle plate, the middle plate and lower plate, respectively.The sensors are distributed as shown in Figure 6.
During the single-support phase, Sensors 1-4 measure the ground reaction force below the human foot, and the ZMP coordinates of the human in the foot local coordinate frame can be calculated according to where F i is the force measured by sensor i at the distance from O , r i , as defined in Figure 6.Sensors 5-8 measure the ground reaction force of the integrated system (the human plus the exoskeleton).Similarly, the ZMP of the integrate system can be calculated by The ZMP of the exoskeleton is on the radial distance from the human ZMP to the integrated system's ZMP, and its position can be obtained by in which r h and r w are the coordinates of the human ZMP and the ZMP of the integrated system, respectively, as shown in Figure 7.In a stable gait, during the single-support phase, the CoP of the supporting foot is also the ZMP of the integrated system.As for the double-support phase, the relationship between the ZMP and the CoP is described by where During the double-support phase, instead of the ZMPs, CoPs of each foot are obtained from Equations ( 17)-( 19).By substituting those CoPs of the human and the exoskeleton into Equation (20), respectively, ZMP of the human and that of the exoskeleton can be obtained.
Using the measured human ZMP as the reference, the desired ZMP of the exoskeleton can be chosen according to the following criterions: • During the single-support phase, the desired ZMP of the exoskeleton should be in the support foot area.• During the double-support phase, the human ZMP shifts from the hind foot to the front foot, the desired ZMP of the exoskeleton could be in the area between the two feet, but not too far from the measured human ZMP.• At the end of the double-support phase, when the human ZMP enters the front foot area, the desired ZMP of the exoskeleton should also enter the exoskeleton's front foot area.

Trunk compensation
If the actual (measured) ZMP of the exoskeleton differs from the desired ZMP, a trunk compensation is suggested to shift the current ZMP to a new and appropriate position.
For clarity, only motion in the sagittal plane during singlesupport phase is discussed here.The trunk compensation in the frontal plane during the double-support phase can be performed in the similar way.As shown in Figure 8, the actual ZMP differs from the desired ZMP in the direction of X-axis by x.Note that the ground reaction force F z acts on the exoskeleton and can be derived from For simplicity, we assume that the action of the trunk joint will not cause a change in the motion at any other joint.The system will then behave as if it was composed of two rigid links connected at trunk joint k, as depicted in Figure 8.The payload and the exoskeleton trunk as shown in the figure are considered as an upper part of total mass m and inertia moment I k for the axis of joint k.Point c is the mass centre of the upper part, and the distance from k to C is denoted by l 1 .The lower part, representing the sum of all the links below the trunk joint k, including another leg that is not drawn in the figure, is also considered as a rigid body, which is standing on the ground surface and does not move.The distance from O to k is denoted by l 2 .Note that T k stands for the correctional actuator torque, applied at joint k.Assuming that the torque T k will cause change in acceleration of the upper part β, while velocities will not change because of the action of T k , β ≈ 0, we have and By virtue of Equation ( 21), we have Substituting Equation ( 23) into Equation ( 22), we obtain Taking into account that T k is derived by introducing certain simplifications, a feedback gain K zmp is incorporated into Equation ( 24) as where K zmp can be decided by the feedback in the actual walking.Equation ( 25) provides the method of driving the actual ZMP towards the desired ZMP by controlling the torque output of the trunk joint.

SIMULATION
In this section, human and exoskeleton simulators are established using ADAMS (Homepage of the Adams University 2005) and MATLAB (Homepage of the The Math-Works 2005), and walking simulations are performed to verify the control algorithms.

Model representation
Figure 9 shows the human and exoskeleton models established in ADAMS.The human model adopts measured human data, and parameters are set according to an adult with a weight of 65 kg and a height of 1.7 m.The lengths of the leg's parts, which are crucial parameters of walking, are listed in Table 1.Note that there are 3 degrees of freedom (DoF) in the hip joint, 1 in the ankle joint and 1 in the knee joint.There is also a 1 DoF between the trunk and the waist.As shown in Figure 9, on the basis of the human model, an exoskeleton model is established, and a payload is at-  tached to the exoskeleton.The links of the exoskeleton are aligned to those of the human, and the height of each joint (ankle, knee and hip) is equal to the corresponding one of the human.The mass of each part of the exoskeleton is listed in Table 2.

Walking simulation
In this section, we will present the three problems considered in the walking simulation: contact model, leg trajectories control and trunk compensation control.

Contact model
ADAMS adopts a spring-damper element to model the normal force between two contact objects.The IMPACT function activates when the distance between the first object and the second object falls below a nominal free length (x 1 ), that is, when two parts collide.As long as the distance between the first object and second object is greater than   x 1 , the force is 0. The force has two components, a spring or stiffness component and a damping or viscous component.The stiffness component is proportional to the stiffness k, and is a function of the penetration of the first object within the free length distance from the second object.The stiffness component opposes the penetration.The damping component of the force is a function of the speed of penetration.The damping opposes the direction of relative motion.To prevent a discontinuity in the damping force at contact, the damping coefficient is, by definition, a cubic step function of the penetration.Thus, at zero penetration, the damping coefficient is always zero.The damping coefficient achieves a maximum, c max , at a user-defined penetration, d .The equation defining IMPACT is thus To absorb the shock when the exoskeleton's feet contact the ground, we propose to install elastomeric material on the feet of the exoskeleton.This situation can be simulated to investigate the effect of this measure on the ground reaction force.
Figure 10 shows the two ground reaction force curves of the exoskeleton's right foot during two types of walk responding to the two different values of stiffness, respectively.It can be seen that with the stiffness decreasing, not only the impact force is smaller, but the changing force is also smooth.The simulation demonstrates that the elastomeric material can low-pass filter shock impulse and reduce the impact, therefore allowing the structure interacting with the environment at a pretty high speed.More discussion on the shock absorption and the effects can be found in references (Low 2005;Williamson 1995).

Leg trajectories control
The human motion capture data (HMCD) is used to generate human-like walking motions for the human and exoskeleton models.To obtain the HMCD, encoders are attached to the wearer at the joints of his lower limbs and the walking motion is captured.Figure 11 shows the splines that are input to the human model joints.ADAMS will generate the human model's joint movement according to the generated trajectories.

Trunk compensation
As mentioned, the control of the exoskeleton is divided into leg trajectories control and ZMP control.In this simulation, the exoskeleton model's leg trajectories are controlled by human model's leg trajectories.To keep the exoskeleton walk stably, the trunk should be controlled and adjustable according to the ZMP's requirement of the exoskeleton.During the simulations, at each time interval, the dispacements, velocities and accelerations of the joints are sent to MATLAB, and those data are used by a trunk compensation module to calculate the torque needed at the trunk joint.The torque will then be applied in ADAMS so that the exoskeleton model can walk stably.

Simulation results
The walking simulation with a 30-kg payload has been performed.For clarity, only the joint results associated to the right leg of the exoskeleton are discussed here.Figure 12 shows the positions of the legs and corresponding joint angles during a singe gait cycle from right heel off to right heel off.
Figure 13 shows the data of the ankle flexion/extension torque.The ankle torque is almost zero when the right leg is in swing phase.The torque is largest when the right foot is in heel-off phase.The ankle mechanical power is calculated by multiplying the joint angular velocity and the joint torque (Fig. 13), as shown in Figure 14.
The knee bends slightly momentarily in early stance to absorb the impact of heel strike and then undergoes a large flexion during swing.This knee flexion decreases the effective leg length, allowing the foot to clear the ground when swinging forward.The human has significantly more flexibility -up to 160 • when kneeling (Kapandji 1987).The LEE knee motion range was, however, set from 0 • to 110 • for safety.
Figure 15 shows the data of the knee flexion/extension torque.The highest peak torque is in early stance (from heel contact to foot flat).Figure 16 shows the instantaneous mechanical power.
The LEE hip angle is designed to 20 • extension and 80 • flexion.Figure 17 shows the data of the hip flexion/extension torque, while Figure 18 shows the mechanical power required by the hip joint.

Outer exoskeleton
By examining the obtained simulation results, an outer exoskeleton has been constructed.The outer exoskeleton is actuated only at the trunk, hips, knees and ankles to allow flexion and extension of the trunk joint, hip joints and knee joints as well as dorsiflexion and plantarflexion of the ankle joints.In addition, to increase the stability and flexility of the exoskeleton, there is a passive joint to allow abduction and adduction at each hip joint and ankle joint.The allowable range of each joint is listed in Table 3.

Inner exoskeleton
As shown in Figure 4, the inner exoskeleton is a data acquisition system used for the acquiring of angular positions of the lower extremities of the user.It should be modular in nature, hence allowing compatibility in size of a larger percentile population.The usage environment requires it to be of a rugged nature with minimal restrictions to the user in terms of mobility.The inner exoskeleton includes a rotary encoder bracket system, a harness system and a data acquisition board.As shown in Figure 19(a), a minimum protrusion is achieved by designing the brackets to allow the tip of the encoder spindle to actually touch the surface of the user.This feat was achieved by the use of a larger but extra thin bearing, which allows the rotary encoder to reside within the bearing itself.separated from the encoder housing.This modular concept of the housing allows the same housing unit to be repeated for the hip unit, the knee unit and the ankle unit.

Prototype
A prototype of the integrated exoskeleton has been constructed as shown in Figure 20.The figure also shows a user wearing the integrated exoskeleton system.

CONTROL IMPLEMENTATION OF THE EXOSKELETON SYSTEM
The important function of the inner exoskeleton is to read necessary input data from the wearer.These data will be analyzed and transformed into the corresponding commanded signals for the outer exoskeleton using certain mapping algorithms, and then transferred to the outer exoskeleton through a communication set-up.An operation of a dynamic system is called a real-time operation, if the combined reaction-and operation-time of a task is shorter than the maximum delay that is allowed.

Real-Time Operating System
A Real-Time Operating System or RTOS is an operating system that has been developed to serve for real-time applications.Some examples of RTOSes are QNX, RMX, RT-11, LynxOS, MicroC/OS-II, etc.In the present work, xPC Target toolbox in MATLAB is employed.xPC Target provides a high-performance, host-target prototyping environment that enables developers to connect system simulation models (which can be created by using Simulink and Stateflow toolbox of MATLAB) to physical systems and execute them in real time on PC-compatible hardware.xPC Target provides comprehensive software capabilities for rapid prototyping and hardware-in-the-loop simulation of control and signal processing systems.It can also enable users to add I/O interface blocks to their models (system models, controller designs, etc.).

Description of the control system
The control system includes softwares such as Matlab, xPC Target, etc., which

Real-time control of the LEE
In general, hierarchy is a basic principle on which large scale systems are controlled.The control structure most often applied on bipedal robots is of four levels (Vukobratović et al. 1990), as shown in Figure 22.
1. Highest control level recognizes the obstacles in the operating space and the conditions under which a task is being performed, and makes the decisions on how the task required is to be accomplished.Many robots involve the two lowest control levels.The tactical level generates the trajectories of each DoF, which perform the desired functional movement, while the executive level executes these trajectories by means of appropriate actuators, incorporated into each DoF.The two upper control levels are generally recognized as intelligence level.
Robots with the two upper levels such as ASIMO (Asimo 2003;Hirose et al. 2001), QRIO (QRIO 2003), HRP-2 (Kanehiro et al. 2003;Kaneko et al. 2004), etc., can walk on a terrain of unknown profile.While those robots walking in a known environment whose trajectories of each link can be pre-defined offline do not need the two upper levels.Instead of artificial intelligence, the highest level of the exoskeleton's control structure is implemented by the human user.The user recognizes the obstacles by vision or sen- sory, deciding where to go and how to go.The second level is to transfer the human intention into the exoskeleton's controller and the controller divides the required operation into elementary movements.The two lowest control levels are similar to those of the exoskeletons.In other words, the exoskeleton can be seen as a robot integrated with the human intelligence.In this section, the two lowest control levels are considered, i.e. to check whether the joints of the exoskeleton can perform the desired trajectories in real time.The whole control strategy is then implemented and experiments of walking with the pilot are performed.Figure 24 shows the responding of LEE's left knee joint during one walking test.The two upper curves representing the inner exoskeleton and the LEE (outer exoskeleton) are quite close to each other, while the lower line represents the difference between the inner exoskeleton and the LEE.To see the difference clearly, Figure 25 shows the difference separately.The control of hip and ankle joints is similar to that of the knee joints.

Control of the exoskeleton system and walking experiments
To enable the LEE walk stably, an online balancer is included into the control scheme, as shown in Figure 26. Figure 27 shows the block scheme in the Simulink of MATLAB.An additional I/O board is employed, which reads the encoder of the trunk joint, signals from force sensors and controls the actuator of the trunk joint.The balancer module reads the current joint angles and measured human ZMP, which then calculates the desired LEE's ZMP based on Equation ( 16).If the measured LEE's ZMP differs from the desired one, suitable command signal calculated from Equation (25) will be applied to the actuator of the trunk joint and trunk compensation will shift the actual ZMP towards the desired position.The ZMP will stay within the supporting area, and the LEE cab then walk stably.Two experiments have been conducted on different objects.Figure 28 shows some snapshots of a walking test of a wearer carrying a payload.By using the same control principle and implementation of inner-outer exoskeletons, we are able to extend the application to rehabilitation.In our initial testing, Figure 29 shows the snapshots of a clinical trial with a patient, whose left leg became weak after strokes several years ago.The client verified that the exoskeleton's leg responded well and he could hardly feel any extra burden during the rehabilitation trial.

CONCLUDING REMARKS
This article has presented a wearable lower exoskeleton system developed for the enhancement of human walking ability, which incorporates humans as the integral part of the control system and can relieve humans' physical fatigue caused by excessive walking or heavy payload.The methodology of designing an anthropomorphic and adaptable exoskeleton system is discussed.We also developed and presented a simulation platform to examine the gait coordination through inner and outer exoskeletons.A simulation platform for the gait implementation is also presented.Real-time locomotion control of the exoskeleton has been implemented into walking experiments.Future work should focus on designing a more lightweight, compact, comfortable and reliable exoskeleton having more degrees of freedom, and improving the control algorithm to be more robust and adaptable to various conditions.With respect to the controller system, a real-time learning method, by which the device adapts itself to the person wearing it.A portable and independent embedded controller should be built into the assist device to enable it for practical use.An untethered, fieldable, and mountable power generation subsystem remains a more challenging issue for future applications on rehabilitation and load-carrying purposes.

Figure 2
Figure 2 Model of the exoskeleton. e

Figure 5
Figure 5 Design of the exoskeleton foot.

Figure 6
Figure 6 Distribution of the sensors.

Figure 7
Figure 7 Relationship between the human ZMP and the exoskeleton's ZMP.Payload Exoskeleton trunk

Figure 8
Figure 8 Adjusting ZMP by trunk compensation.

Figure 10 Figure 11
Figure 10 Effect of foot's stiffness on the contact force.

Figure 12
Figure 12 Positions of the legs over a single gait cycle.

Figure 18
Figure 18 Hip instantaneous mechanical power.

Figure 19
Figure19Inner exoskeleton with the encoder bracket.
Figure20A user resting with the integrated exoskeleton system.
run in the PCs, and I/O boards that receive commands from xPC Target and control the motors via amplifies.The xPC Target system is running in two PCs, host and target, as shown in Fiugre 21.The host PC runs Microsoft Windows 2000 operating system and the required software packages: MATLAB, Simulink, Real-Time Workshop (RTW), xPC Target and C/C++ compiler.MATLAB is host software environment of Simulink, RTW and xPC Target.The command-line interface can be used to control and interact with the xPC Target software environment and target application.Simulink is used to model dynamic physical systems (exoskeleton systems in our work) and controllers using block diagrams.RTW and C/C++ compiler convert Simulink blocks into C code and build a target application, which is then downloaded to the target PC and executed in real time.Note that the communication between the host PC and the target PC is accomplished through RS-232 or TCP/IP.

Figure 24
Figure24Response of the left knee joint.

Figure 23 Figure 25 Figure 26
Figure23shows the block scheme of controlling the LEE's joints in the Simulink of MATLAB.Two I/O boards are employed for the two-leg system in this work: software code (drivers) to establish the interface between the

Figure 27
Figure 27 Scheme for walking.

Figure 28
Figure 28 Snapshots of a walking test with a person carrying payload.

Figure 29
Figure 29 Snapshots of an exoskeleton rehabilitation trial with a post-stroke client.