November 19, 2016

Test Plan

List of Tests


1. Bench-top tests

All tests under this category will involve placing the skates on the bench and observing its behaviour and characteristics for various inputs and conditions.

1.1. Kinect-based velocity control

Objective: To demonstrate modulation of skate velocity based on user distance from starting position.

Elements: Kinect user tracking, Steady-state position error controller

Equipment: Power and communication cabling, ground position markers

Procedure:

  1. Mark ground locations at 2m, 3m, and 4m from the Kinect.
  2. Connect the power supply to the skate, and connect the Kinect and skate to the laptop.
  3. Run ROS launch file and starts rosbag recording.
  4. Direct user to stand ~3m from Kinect in calibration pose.
  5. Enter a 0.2 m/s velocity target on laptop, wait 5 seconds for velocity to stabilize.
  6. Direct user to walk forward 1m, waits 5 seconds for velocity to stabilize.
  7. Direct user to walk backward 2m, waits 5 seconds for velocity to stabilize.
  8. Direct user to walk forward 1m, waits 5 seconds for velocity to stabilize.
  9. Enter 0 m/s velocity target on the laptop.

Verification criteria:

  1. rosbag data shows calculated encoder velocity of 0.2m/s +/- 10% at (5) and (8).
  2. rosbag data shows calculated encoder velocity of 0.25m/s +/- 10% at (6).
  3. rosbag data shows calculated encoder velocity of 0.15m/s +/- 10% at (7).

1.2. Force sensor circuit

Objective: To achieve full calibration of the force sensor.

Elements: Force sensing Equipment: Torque wrench, standard weights

Procedure:

  1. Pre-load the force sensors appropriately by tightening the bolts of the top plate using a torque wrench.
  2. Connect the Arduino to the laptop.
  3. Start the ROS node on the laptop.
  4. Load the force sensors with standard weights and calibrate the sensors for its full range.
  5. Repeat for each force sensor.
  6. Direct user to stand on both skates, and record the force values.
  7. Direct user to stand on each skate, one at a time. Record the force values.

Verification criteria: The sum of force values recorded in step 6 is a good indication of the user’s weight, with an error bound of 10kg. The sum of force values on each skate recorded in step 7 is also accurate to within the same error bound.

1.3. PCB changeover

Objective: To verify that the new PCBs does not have connection issues, is being powered correctly, and performs all functions satisfactorily.

Elements: PCB

Procedure:

  1. Complete all connections between the PCBs and the various sensors, actuators, microcontroller, and power supply on both skates.
  2. Connect the microcontroller to the laptop, and switch the power supply on.
  3. Load the force sensors arbitrarily and record the readings.
  4. Swing the skates around arbitrarily and record the IMU readings.
  5. Specify arbitrary motor velocity values on ROS, and observe the motors.
  6. Load the motors arbitrarily by friction and observe the speed and current draw.
  7. Record the encoder readings.

Verification criteria: Readings from the force sensors, IMUs, and encoders are sensible. The ESCs are able to source enough current to maintain motor speed under loaded conditions.

1.4. Quick direction reversal

Objective: To demonstrate that the new electronic speed controllers support trip protection requirements.

Elements: Electronic speed controllers (ESC), PCB to ESC interfaces

Procedure:

  1. Connect the power supply to the skate, and connect the skate to the laptop.
  2. Load serial_motor_commander Arduino test code onto the skate.
  3. Start serial message logging.
  4. Command 30% forward speed with ramp and wait 5 seconds.
  5. Command 30% reverse speed with rapid ramp and wait 5 seconds.
  6. Command 0% with ramp and stop serial message logging.
  7. Start new serial message logging.
  8. Command 30% reverse speed with ramp and wait 5 seconds.
  9.  Command 30% forward speed with rapid ramp and wait 5 seconds.
  10. Command 0% with ramp and stop serial message logging.

Verification criteria:

  1. Measured encoder velocity achieves forward limit to reverse limit within 100ms.
  2. Measured encoder velocity achieves reverse limit to forward limit within 100ms.

2. User tests

This family of tests involves a user wearing the skates and performing some kind of motion, and is aimed at demonstrating a specific capability. The logistics for this class of tests has been listed in Section 2 of this document.

2.1. Force sensor robustness

Objective: To ensure that the wire connections from the force sensors are satisfactorily robust.

Elements: Physical skates

Procedure:

  1. Strap the skates securely to the user’s feet.
  2. Direct the user to walk around for 15 seconds (with the skates powered off).
  3. Connect the Arduino to the laptop, and read the force sensors.
  4. Repeat with two different users, with varying shoe sizes.

Verification criteria: After each user finishes walking, the force sensors show sensible readings when connected to the laptop.

2.2. Kinect-based velocity control

Objective: To demonstrate low-rate user centering sufficient for force-based control steady-state error.

Elements: Kinect user tracking, Steady-state position error controller

Equipment: Power and communication cabling, ground position markers

Procedure:

  1. Mark ground locations at 2m and 3m from the Kinect.
  2. Connect the power supply to both skates, and connect the Kinect and skates to the laptop.
  3. Strap the skates securely to the user’s feet.
  4. Run the ROS launch file.
  5. Direct the user to 2m from the Kinect in the calibration pose.
  6. Enter a 0.2 m/s velocity target on laptop, direct the user to begins walking.
  7. Direct the user to walk for 20 seconds to train for constant velocity walking at the 2m position.
  8. Command a fade of the starting position from 2m to 3m from the Kinect.
  9. Direct the user to continue walking at a constant velocity until reaching the 3m position.
  10. Direct the user to continue walking at a constant velocity for 10 seconds.
  11. Command a fade of the starting position from 3m to 2m from the Kinect.
  12. Direct the user to continue walking at a constant velocity until reaching the 2m position.
  13. Direct the user to continue walking at a constant velocity for 10 seconds.
  14. Enter 0 m/s velocity target on the laptop.

Verification criteria:

  1. The user is re-centered in steps (10) and (13) in less than 30 seconds.
  2. The user does not overshoot the positions in steps (11) and (14) by more than 0.25m.

2.3. Offline force control

Objective: To demonstrate valid identification of walking velocity and stances phases.

Elements: Force sensor calibration, walking velocity estimation, stance phase state machine

Location: Wean Hall 1324

Equipment: Camcorder and tripod, instrumented split-belt treadmill, motion capture system

Procedure:

  1. Setup treadmill per lab instructions.
  2. Calibrate motion capture system per lab instructions.
  3. Setup camcorder on tripod to capture tester on treadmill.
  4. Connect the power supply to both skates, and connect the skates to the laptop.
  5. Attach a waist location marker on the user, and secure the skates to the user’s feet.
  6. Run the ROS launch file.
  7. Before each test, start a rosbag recording and the camcorder recording, and direct the user to perform a heel strike to synchronize the data sets.
  8. Direct the user to lean to forward limits, lean to backward limits, and return to neutral.
  9. Direct the user to pick up a foot, lean to forward limits, take a single step.
  10. Direct the user to take two natural, continuous steps.
  11. Repeat steps (7) – (9) three times.
  12. Set a 0.2m/s treadmill velocity.
  13. Direct the user to walk continuously for 20 seconds.
  14. Set a stationary treadmill velocity.
  15. Repeat steps (11) – (13) twice each for 0.2m/s, 0.35m/s, and 0.5m/s.
  16. Perform lab equipment shutdown and clean up.
  17. Process treadmill and motion capture data.

Verification criteria:

  1. Classification of single stance and double stance in ROS corresponds to automatic labeling using treadmill data and manual labeling using camcorder video.
  2. Classification of in place and in motion in ROS corresponds to automatic labeling using treadmill data and manual labeling using camcorder video.
  3. Walking velocity estimates in steps (9) – (15) correspond to measured velocities given treadmill target speed and motion capture position by +/- 10%.

2.4. Adaptive control

Objective: To validate the state diagram and test the control logic using outputs from sensors deployed currently viz. the Kinect, force sensors, and the IMU.

Elements: Kinect user tracking, steady-state position error controller, walking velocity estimation, stance phase state machine

Procedure:

  1. Strap the skates securely to the user’s feet.
  2. Launch the ROS Master.
  3. Direct the user to transition from stance to a step, and then to walking for 15 seconds.
  4. Direct the user to come to a halt.

Verification criteria: The user’s mean position in the direction of walking is maintained in the specified time, within an error bound of +/- 1m.

2.5. E-Stop

Objective: To allow the user to bring the system to a halt using a hand-held emergency stop button.

Elements: Physical E-Stop button, low-level Arduino controller, Arduino-ROS interface

Equipment: E-Stop button

Procedure:

  1. Strap the skates securely to the user’s feet.
  2. Launch the ROS Master.
  3. Direct the user to hold down the E-Stop button to start the cycle.
  4. Allow the user to walk until stable speed is attained.
  5. Direct the user to release the E-Stop button to stop the cycle.

Verification criteria: The skates ramp up to the target velocity only after the user holds down the E-Stop button, and continues to run only as long as the user is holding down the button. The skates ramp down to a halt when the user releases the button.

2.6. VR and adaptive control

Objective: To achieve the same capabilities as in 4.2.4, while immersing the user in virtual reality and ensuring user comfort.

Elements: Virtual reality integration, user comfort

Procedure:

  1. Strap the skates securely to the user’s feet.
  2. Secure the head-mounted display (HMD) to the user.
  3. Display the virtual reality environment on the VR headset and on a projector.
  4. Direct the user to transition from stance to a step, and then to walking for 15 seconds.
  5. Translate the viewpoint in virtual reality as a function of the user’s gait.
  6. Reflect the translation of the viewpoint in the HMD and on the projector.

Verification criteria: The user is able to walk for the duration specified without feeling any major discomfort. The translation of the viewpoint scales realistically with the user’s walking speed and pattern.


3. VR test

Objective: To display a virtual world and on the head-mounted display (HMD), and translate the viewpoint in the virtual world as a function of user velocity through ROS.

Elements: ROS-VR interface, network interface

Location: The Cage / MRSD Lab (NSH B-level)

Equipment: HMD, PC / laptop (VR), laptop (ROS master) Personnel: 1 team member

Procedure:

  1. Start the ROS program to establish a network connection between the laptop (ROS master) and the PC / laptop (VR).
  2. Display the virtual environment in the HMD and on the projector.
  3. Set user velocity on ROS.
  4. Observe the change in the viewpoint velocity on the display.
  5. Change the user velocity to different values, and observe the changes to the viewpoint velocity on the display.

Verification criteria: The viewpoint velocity maps realistically to the input user velocity command.


Spring Validation Experiment

Objective: To demonstrate the full capabilities of the powered skates and achieve immersive natural room-scale locomotion in a virtual environment.

Elements: Integrated system

Location: NSH 3002 Equipment: (Same as a routine user test)

Personnel: (Same as a routine user test)

Procedure:

  1. Direct the user to walk from one end of the room to the other at a normal pace, and measure the number of steps taken.
  2. Secure the skates to the user’s feet, and the head-mounted display (HMD) to the user’s head. Secure the E-Stop to the user’s body.
  3. Start the ROS master.
  4. Display the virtual world in the user’s HMD and on the projector screen.
  5. Direct the user to start exploring the virtual world at a limit of 0.5 m/s.
  6. Count the number of steps taken by the user for 2 minutes.
  7. After 2 minutes, direct the user to stop and end the demo.

Verification criteria:

  1. The number of steps taken by the user when using the skates is at least 5 times the number of steps taken to walk across the room.
  2. The user’s final position at the end of the test in the direction of walking is not more than 1m away from the start position.
  3. The user does not feel any major discomfort due to the VR display.
  4. The user is able to stand, step, and walk for the duration of the test without losing balance.

Fall Validation Experiment (successfully completed)

fve

Spring Validation Experiment (successfully completed)