Team IHMC at the 2020 Cybathlon: a user-centered approach towards personal mobility exoskeletons

Quix is the latest exoskeleton from IHMC (Fig. 2), developed for competition in the 2020 Cybathlon and the Toyota Mobility Foundation’s Mobility Unlimited Challenge. The design builds upon the success from our previous devices and includes several key improvements, both in terms of device performance and user satisfaction. We strove to push the physical limits of the device while prioritizing user safety and comfort.

Fig. 2figure 2

Key components of Quix exoskeleton

Mechanical design

The structure of Quix is comprised mainly of the eight actuators and the carbon fiber sleeves that cover and connect them. Each leg includes four links and four actuators. The hip ab/adduction actuator positioned posterior to the pilot drives a carbon fiber tube that wraps around the waist and connects to the thigh link. This link includes a single carbon fiber sleeve that houses both actuators for hip and knee flexion/extension. The thigh then connects to the carbon fiber shank that houses the actuator for ankle plantar/dorsiflexion. Finally, the ankle drives the rotation of a carbon fiber foot plate that includes a rubber sole and straps, similar to those seen on snowboard bindings or roller-blades, that lock the pilot’s shoe in place. All carbon fiber pieces were fabricated in-house by covering 3D printed molds in pre-impregnated carbon fabric sheets that were then vacuum-sealed and cured in an oven.

Each of the eight actuators features an Allied Motion MF0060044 brushless motor driving a ballscrew transmission along a linear slide carriage with an output linkage that enables the joint rotation. We designed two versions of this linear-linkage actuator that differ in their ballscrew length, and hence, their size, weight, and range of motion. This was done in an attempt to reduce the mass placed at joints that exhibit relatively smaller ranges of motion. The shorter version, weighing approximately 2.3 kg, allows for 70 degrees of rotation and is used for ankle plantar/dorsiflexion and hip ab/adduction, while the longer version, weighing approximately 2.5 kg, allows for 120 degrees of rotation and is used for hip and knee flexion/extension. The range of motion can be further clamped with 3D printed hard-stops. Both versions are capable of producing a peak torque of about 200 Nm and a no-load velocity of 7 rad/s.

The remainder of the exoskeleton structure includes a 3D printed backpack for housing the computer, batteries, and other electronics, as well as the cuffs and straps used to secure the pilot to the device. A 3D scan of our pilot’s body was used to model the size and curvature of the carbon fiber cuffs placed behind his thighs and across his shins to minimize the imposed shear forces on soft tissue during operation. A layer of foam padding allows for a comfortable fit, and straps with single-hand-release buckles (BOA, Colorado, USA) facilitate quicker donning and doffing. Finally, a lumbosacral orthosis and waist strap (Top Shelf Orthopedics, California, USA) secure the pilot’s torso to the backpack.

Quix features a few notable design improvements since Mina v2 centered around ease of use and pilot comfort. The added degree of freedom (DoF) for hip rotation in the frontal plane allows the device to shift the weight of both itself and the pilot over the stance leg while walking, reducing the upper-body effort required to balance with the crutches. These new actuators also allow the exoskeleton to step directly side to side as shown in Fig. 3a. We additionally established a pipeline for personalizing the fit of the exoskeleton to our specific user. The 3D body scan enables custom fabrication of the leg cuffs, and a variety of mounting locations for both the cuffs and actuators allow us to more finely tune the fit with a resolution of 9 mm. Further, the torso brace replaces the backpack shoulder straps used on Mina v2, improving overall comfort and ease of donning and doffing. Finally, the reduced weight and more compact design of the backpack moves the overall center of mass (CoM) closer to the pilot’s, facilitating improved balance during standing and walking.

Electrical design

Each actuator is outfitted with an electronics carrier board, featuring a Gold Twitter motor drive (Elmo Motion Control, Petah-Tikva, Israel) capable of executing position, velocity, or current control. The carrier board also breaks out connections for an array of on-board sensors and other mechanisms. These sensors include an RMB20 incremental magnetic encoder on the motor and an AksIM-2 absolute magnetic encoder on the output (RLS, Ljubljana, Slovenia), an LCB200 rod end load cell in line with the linkage output (Futek, California, USA), and four discrete temperature sensors placed within the stator. A noteworthy addition to the Quix actuators is a solenoid-operated mechanical brake. A circular aluminum tooth profile is attached to the solenoid output and faces a matching profile attached to the rotor. The solenoid stays energized during operation such that its teeth are held back from the rotor’s. It then de-energizes upon an emergency stop, software fault, or overheating motor, causing the teeth to collide and the rotor to abruptly slow to a halt. A mechanical override exists on each actuator to separate the teeth while the device is not powered so that joints can be backdriven for repositioning.

The remaining electronics are housed in the 3D printed backpack. Everything is powered by two 22,000 mAh batteries holstered on either side of the backpack. A power distribution board breaks out power to all peripherals and is equipped with protection for over-current and under-voltage. Real-time Java control threads run on an embedded computer (COM Express Type 6, ADLINK Technology Inc., New Taipei City, Taiwan) that communicates with each motor driver over EtherCAT. An EtherCAT junction box (Omron, Kyoto, Japan) splits off communication lines to each leg and a separate microcontroller that translates bidirectional signals between the main computer and a tethered pilot-safety box. The actuators along each leg are daisy-chained using snap-in IP67 connectors (Binder, Neckarsulm, Germany). In addition to an emergency-stop button that cuts current to the motors and engages the actuator brakes, the handheld pilot-safety box features status lights that indicate battery voltage level and potential device faults such as a motor overheating or a brake not releasing. During operation, the box is either secured to the pilot’s chest or in the hands of a spotter.

Software design

Our software architecture is designed to run as a self-contained process in a real-time thread on the control computer. Abstraction barriers exist between the main control process and other sub-processes that enable behavior selection and parameter value updates from user input via data distribution service (DDS) messages. This allows the execution of footsteps and other movements to be commanded through the pilot interface or a remote computer.

Due to our use of Java, source code would be compiled and optimized at runtime using just-in-time compilation (JIT). Code blocks being optimized during JIT’s first pass would often be executed more slowly than post-optimization passes, causing missed deadlines on setpoint updates and resultant motor faults. To resolve this, we implemented a start-up routine that executed, and thus optimized, every branch of our code base without sending any setpoints to the hardware. As a further precaution, we would then execute all behaviors on the exoskeleton in the air before allowing pilot operation.

The different exoskeleton behaviors including sitting, standing, flat-ground walking, side-stepping, and ascending/descending ramps & stairs are separated into dedicated state machines. All elements of these different states, particularly the walking gaits, are designed specifically to enable online tuning of the exoskeleton trajectories through user feedback. The trajectories are parameterized using both setpoints that are specified via the external DDS commands and tuning parameters which can be updated online. These variables are synchronized online at 1 kHz with remote websocket clients. This allows the variables to be remotely viewed, modified, and logged, all in real-time and during operation. Variables for robot state are also included in this remote data synchronization process, enabling a reconstruction of the entire exoskeleton state during logging and remote visualizing.

Trajectory design

All behaviors and respective trajectories utilize position control at all eight joints. The swing trajectory on Quix is designed in a similar fashion to that used by Mina v2 [12]. This method prescribes the swing-leg trajectory using four Cartesian position and velocity waypoints, including the start and end points along with two intermediate waypoints. For Quix, however, we designed these waypoints to be relative to the pelvis rather than in the world frame. The swing trajectory is parameterized by step length, initial foot position, waypoint fraction, waypoint height, and swing duration. We additionally specify a desired foot touchdown angle so that the swing foot is never flat when it makes contact with the ground. To compute the final swing trajectory, we minimize the intermediate waypoint velocities by varying the segment durations using an online gradient descent optimization.

As we noted in our previous work [12], the inclusion of powered ankle plantar flexion is critical to reducing the effort needed by the exoskeleton pilot, injecting energy into the system to propel the body forward [13]. For Quix, we also designed the transfer phase to “roll” onto the leading foot, with the foot settling to a flat position from its pitched angle on touchdown. In natural human walking, the energy injected by the ankle plantar flexion motion during the final portion of the toe-off phase acts to accelerate the swing leg forward [13]. We sought to replicate this behavior on Quix and introduced a novel “collapsing” action at the end of the loading phase, just prior to toe-off, of the trailing foot. This allows the toe-off motion to drive the trailing leg forward while collapsing, initiating the swing motion while still in the transfer phase. This puts the leg in a more optimal configuration at the start of swing, decreasing the required acceleration of the swing joints and induced torque about the CoM during the swinging motion.

Fig. 3figure 3

Quix pilot, Mark Daniel, performing various exoskeleton behaviors: a.ia.iv side-stepping sequence, a.i lifting left leg, a.ii swinging out left leg, a.iii lifting right leg, a.iv swinging in right leg; b.i walking up ramp, b.ii walking down ramp; c walking across rough terrain

We also sought to improve the walking phase by allowing toe-off to begin during the opposite leg’s swing phase. This toe-off action is present in natural human walking and has been linked to minimizing the energy loss during impacts on contact [14]. Beyond accelerating the CoM, moving more of this transfer duration into the swing phase minimizes the required time in transfer for the exoskeleton gait. Limiting the time spent in double support is critical to maximizing the overall walking speed. For reference, double support accounts for about 30% of the natural human gait cycle, which translates to a duration of less than 0.2 s at preferred walking speeds in adults not living with a disability [15,16,17,18].

To further decrease the required crutch forces for using Quix, we incorporated motion in the frontal plane using the powered hip ab/adduction joint. This is critical, as it laterally shifts the user’s weight over the stance foot during swing, which in turn reduces the required crutch force necessary to prevent the user from falling sideways. To do this, we modeled the lateral pelvis action using a sinusoidal motion, which is very similar to the hyperbolic motion of the CoM seen in non-disabled walking [19] and implemented on walking robots [20].

The stair and ramp trajectories used on Quix built directly off of the gaits designed for Mina v2 in the 2016 Cybathlon [12]. The most prominent change is again the hip ab/adduction motion to assist with shifting weight over the support foot when ascending/descending the stairs and ramps. An additional minor improvement included an improved ability to bias the user’s weight distribution forward and backward between steps on the ramps (Fig. 3b).

To ensure the resulting gaits are safe and reliable, we developed a rigid testing and evaluation procedure. First, the gait would be examined in simulation, both quantitatively and qualitatively to verify joint setpoint values and address any discontinuities. Then, the setpoints would be analyzed by running the exoskeleton in the air, further verifying that no excessively jerky motions would result. During this process, ranges of tuning variables would be assessed, confirming that the resulting motions were safe. From there, the exoskeleton would be worn and operated by an individual not living with a disability, with all changes being evaluated for performance and comfort. This also allowed initial values for the tuning variables to be determined. Only at this point was the exoskeleton determined to be safe for use by our pilot. During pilot evaluation, tuning variables were methodically modified, with specific feedback requested from the pilot on every change.

Pilot interface

The control interface is housed in one of the forearm crutch handles. A 64x48 pixel OLED module (Microview, Sparkfun) displays textual messages representing permissible exoskeleton behaviors for the pilot to choose. The current list of displayed behavior options is based on the state of the exoskeleton, e.g., the option to walk is not available when the exoskeleton is in a seated position. Three push-buttons enable the pilot to scroll through options, confirm a behavior, and execute that behavior. Confirming a behavior relays the pilot’s intent to change state to the main computer and displays a unique submenu of options. For example, the submenu for standing guides the pilot through the three discrete motions programmed for completing the sit-to-stand movement. In the case of flat-ground walking, the submenu includes additional options for modifying step length and establishing intent to either manually trigger each individual step or to initiate a sequence of continuous steps that can then be manually triggered to stop. After all behavior-specific settings are confirmed, the execute button is the only one that can trigger movement of the exoskeleton. Using a dedicated button to initiate movement, as opposed to detecting user intent through other sensing modalities like an inertial measurement unit, for example, eliminates any uncertainty in the timing of the next initiated action. Both power and bidirectional serial data are tethered to the backpack via a single USB Type-A cable. A state machine running on an Arduino ATmega328P translates selected behaviors and parameter values to the main computer and updates the OLED display based on acknowledgement signals encoding exoskeleton state changes.

留言 (0)

沒有登入
gif