January 22, 2019

Performance

SVD Performance Evaluation

Figure 1: The Sensing System for SVD
(IMU’s roll and pitch shown on the screen)

 

The Spring Validation Demonstration (SVD) allowed us to compare our system against our requirements.  To carry out the demonstration we set up a sensing system by attaching IMUs to the exoskeleton thigh brace on person’s distal femurs, and attaching FSRs to both the toe and heel of each foot, as shown in Figure 1. Table 1 shows the validation demonstrations conducted and the results obtained.

Table 1: Performance Evaluation against SVD

Subsystem Requirement Validated Performance
Sensing Subsystem MR2. Measure user’s pelvic orientation within ±10°; We inclined the exoskeleton to specified angles of 0, 10, 20 degree using a protractor, and read the orientation output from IMU.

For all trials, the IMU measurements were within 2 degrees of actual orientations.

MR3. Determine user’s hip joint angle within ±10°; We Rotated the joint by hand to specific angles of 0, 10, 20 degrees for both the HAA and HFE using a protractor, and read the orientation output from IMU.

For all trials, the IMU measurements for both HAA and HFE were within 2 degrees of actual orientations.

Processing Subsystem MR1. Determine user’s pelvic velocity within  ± 0.3 m/s; We had one teammate walk on the treadmill for 30 seconds and recorded the predicted forward center of mass velocity and compare the mean velocity with the treadmill velocity.

While the treadmill velocity was 0.8 m/s, the calculated mean forward and sideward velocities are 0.7 m/s and -0.09 m/s, respectively. The plots for calculated CoM velocity are shown in Figure 21.

MR4a. Classify leg in swing with a recall of 70%

MR4b. Classify leg in swing with a precision of 80%

We had one teammate walk on the treadmill for another 30 seconds and recorded the predicted and ground-truth values of swing leg detections.

For the left leg, we obtained 98% precision and 93% recall; for the right, we obtained 98% precision and 99% recall. The detected swing leg is plotted together with the ground truth in Figure 22.

Figure 2: Performance Evaluation of CoM Velocity Calculation

Figure 3: Performance Evaluation of Swing Leg Detection

 

From Table 1 and Figures 2 and 3, the performance of our system in SVD met our scenario and metrics. Other than those demo shown in SVD, we also had one teammate walk on treadmill with our one-side exoskeleton. While the passive walking, it fitted the person securely as shown in Figure 4.

Figure 4:  Secure Fit Test

 

Table 2: Performance Validation against Test Plans

SubsystemRequirement ValidatedPerformance
Electrical Subsystem - Motor Reverse Current Dissipation Circuit TestMN3Performance Reqs:
Digital output line goes high When the motors are spun by hand (signifies an over voltage is detected)

The MOSFET gate is opened.

How it performed:
Both of these metrics were validated when this test was conducted. The RoboteQ GUI was used to ensure the digital output pin went high and a multimer was used to determine continuity between the gate and the drain of the MOSFET, therefore ensuring the gate had opened.
Electrical Subsystem - Power/Emergency Stop testMN3, MR1-9Performance Reqs:
Jetson, both motor controllers, USB hub, and IMUs are powered by the 12V supply (Jetson is on and power LEDs are illuminated)

Motor Controller power switches power the motor controllers on and off

48V supply provides power to the motors (they respond to actuation)

The emergency switch kills power to the motors (they do not respond to actuation), and all other components
remain powered.

How it performed:
Verified all electrical systems were powered on and the motors could be actuated. When the Emergency stop was activated, we used a multimeter to ensure 48V was no longer connected to the motors - that passed. The motors could no longer be actuated as well. But all other electrical components remained powered as required.
Mechanical Subsystem - Exoskeleton frame and its weight, balance, and user-fit requirementsMN1, MN2, MN3, MN4
Performance Reqs:
Exoskeleton is built and complete
Calculated CoM is no more than 3cm from the user’s CoM
Weight of exoskeleton is less than 10kg
The exoskeleton does not slip and moves smoothly with user motions
User does not feel pain or discomfort while wearing the exoskeleton

How it performed:
All metrics were met during PR test. COM calculations were conducted using the CAD model in Fusion 360. The weight of the exoskeleton was measured using a bathroom scale to be 9.6 kg. The exoskeleton fit securely and was moving smoothly with user movements.
Electrical & Mechanical Subsystem - Successful integration of mechanical and electrical subsystems. MR2, MR3, MR7, MR8Performance Reqs:
Final weight of exoskeleton is below 10kg.
Exoskeleton is able to power on.
Leg supports of the exoskeleton are able to be actuated in both flexion/extension and adduction/abduction.
IMUs are powered, sampling, and outputting data to the Jetson.

How it performed:
The final exoskeleton assembly weighed 9.6kg. Exoskeleton was able to successfully power on and actuate the leg linkages as well as read in sensor data from all IMUs.
Processing Subsystem- State Estimation (Sensing)MR1, MR2,MR3,MR4(a),MR4(b)Performance Reqs:
To ensure that the output time taken by final individual algorithm blocks, namely the
swing leg detection and COM velocity, is below 100 ms
● To ensure that the swing leg prediction algorithm has a precision and recall of 80% and
70% respectively
● To ensure that the pelvic velocity is within ± 0.3 m/s

How the system performed:
This Test was validated in depth during SVD. The system met all the requirements for the accuracy of the model as well as the. time criterion. The system also computed COM Velocity from the sensed IMU data at the knee accurately
Processing Subsystem- Control AlgorithmsMR5-9Performance Reqs:
The durations of capture point and trajectory planning algorithms must be less than 100 ms and
120 ms, respectively.

How the system performed:
There was a delay in the system's desired motor command output vs Angela's pitch due to COM velocity and trajectory planner computation but the system satisfied the requirements stated with the entire system running in approx 0.1 seconds

Actuation Subsystem - ROS

MR7, MR8, MR9
After launching the motor controller ROS node, and feeding desired position commands through ROS rqt topic publisher, the motor is actuated to the position, where the encoder reading is the same as the desired command.
Actuation Subsystem - Mechanical Movement MR7, MR8, MR9We attached a pull force sensor to the end of the leg link, sent command through the GUI to actuate the motor to desired angle, and pulled the force sensor to get the maximum force.
After projecting the force into torque, it is more than 25 Nm, while the motor is still keeping the desired position. So The actuators are able to lift the leg linkage to the desired angles
Whole System Integration - Part 2: On Person
MR1-9Performance Reqs:
While the person is walking with the exoskeleton, the exoskeleton can actuate the
person’s leg safely and reasonably.

The durations of capture point and trajectory planning algorithms are less than 100
ms and 120 ms, respectively.

The landing angle measured by the IMU achieved at the end of swing (IMU
measurement) is within ±10° of the calculated landing angle at the beginning of swing.

The target hip angle is reached before the time that the heel touches the ground.
Whole System Integration - Part 1: Off Person
MR1-9Performance Reqs:
Exoskeleton leg linkages move in accordance with the user’s walking pattern


How it performed:
Validated by plotting pitch of the user alongside pitch of the IMUs that were on the exoskeleton leg linkages. Both curves reached the same peak and showed similar rising and falling trends.

 

Performance Validation against FVD Demonstration

Test 1: On person testing with swing leg ground truth.

During this test, the user wore our exoskeleton while walking. We used the ground truth from

the IR sensors under the shoes to tell whether the leg is in swing and stance. The user felt good

overall. At the start of the user’s walking, the user felt little resistance from the exoskeleton.

This was due to the small initialized center of mass velocity. Our system will generate desired

motor commands corresponding capture points which are calculated from the center of mass

velocity, so when there is a lowe COM velocity, the motor commands will be small. After the

initial steps the user doesn’t feel any resistance from the exoskeleton because the actuated link

angles fitted the user’s walking gait. From Figure 4 , the user’s pitch (blue line) follows the

desired motor command (red line) well for the angles. The motor command is ahead of the user’s

pitch, which leaves time for the actual actuations.

 

 

Figure 4: User’s pitch vs motor command

 

Test 2: On person testing with swing leg prediction

For Test 2 we repeated Test 1 except that we used a machine learning model to classify

whether the leg is in swing or stance instead of using ground truth data. Figure 31 compares our

prediction with the ground truth. We achieved 0.88 for the recall and 0.91 for the precision

which met our requirements. Other performance are almost the same as Test1.

Figure 5: Swing leg Prediction

 

Test 3: Off person testing with swing leg prediction

For this test, the user walked wearing only the sensors, while the exoskeleton was fixed onto

a cart and actuated off person. We used the machine learning model for swing leg classification.

We compared the pitch angles measured by the IMUs on the exoskeleton’s leg link and the

user’s pitch angles measured by the IMUs attached to the user’s leg. From Figure 32, the user’s

pitch matched the exoskeleton’s pitch very well. The error of the peak value is less than 5

degrees on average. This test showed that the trajectory of the motion of the exoskeleton

matched the gait of the user.

 Figure 6: User’s pitch exoskeleton’s pitch

Test4: Off person testing with perturbation

In this test, we demoed our exoskeleton can react to the perturbation from the side by

actuating our adduction/abduction motor. The perturbation is generated by pulling a rope

attached to the user from the user’s side while the user is walking. Figure 33 shows the desired

motor command of the adduction/abduction motor versus the roll angle of the user’s leg. When

the perturbation happened, there was a sudden increase of the user’s roll angle, and our motor

command match that roll angle well for both the time and the scale. This demo showed that our

system reacts to perturbation correctly.