System design description
Mechanical Subsystem
The mechanical frame, provides structure to the exoskeleton and allows for the system to carry out its main function of correcting the user’s walking gait. This subsystem will be comprised of a waistband that will secure the exoskeleton to the user’s waist. Attached to the waistband will be the rigid main frame of the exoskeleton that will provide back- support for the user, a mounting point for the on-board CPU, as well as rigid structure for the joints of the hip exoskeleton. The figure below displays the general structural layout of the carbon fiber mechanical frame.
There will be two joints at each hip of the exoskeleton: one joint that controls motion of HAA, sideways motion, and one joint that controls motion in HFE, forwards & backwards motion. The HAA motor joint will be attached to the main exoskeleton frame and connected to the HFE joint via a rigid linkage. The HFE joint will then be connected to the thigh brace via another rigid linkage. Each joint will be aligned to the user’s natural axis of rotation for HFE and HAA. The thigh brace then fastens securely to the user to effectively transmit forces between the user and the exoskeleton. The rigid linkages will be made out of carbon fiber for the purpose of being strong and lightweight.
Sensing Subsystem
The sensing subsystem will be comprised of a combination of motor encoders and IMUs. The purpose of this subsystem is to ensure the algorithms in the processing subsystem have sufficient data to be able to analyze, predict and control user motion.
The three IMUs will be located at the center of the main frame (closest to the user’s COM), and at the left and right thigh brace. Data from the IMU at the COM will be used to detect motion of the user’s COM, and the processing subsystem will use this information to predict where the best foot placement will be. The two IMUs on the leg braces will be used to detect motion of the user’s legs as well as impacts that occur when the user’s foot makes contact with the ground. This will give the algorithms sufficient data to predict whether each leg is in swing or stance, as well as information to calculate the user’s current motion.
The four motor encoders will be located at each hip motor joint (HFE and HAA) to measure the joint angles between the user’s thigh and trunk. This information will be used to supplement the thigh brace IMUs to calculate the user’s current leg movement trajectory.
Alternatives: In the event the IMUs located at the thigh braces are not capable of predicting foot contact sufficiently for the algorithms to determine the leg in swing, foot pressure sensors will be used instead. The foot pressure sensors will be placed at the bottom of the user’s feet, and connected along the leg to the main exoskeleton frame. This alternative was evaluated in section 5. Absolute and relative encoders will also be evaluated to arrive at the best decision between the two alternatives.
Processing Subsystem
The processing subsystem includes all algorithms within the system, including: signal filtering and conditioning algorithms, prediction and calculation algorithms, and the control algorithm. It will take raw sensor data as an input into the subsystem and output torque values to the actuation subsystem. The algorithms within this subsystem will be detailed further in the subsections below.
Signal Filters and Pre-processing Algorithms:
Filtering algorithms will be written for each sensor to remove noise and extract relevant data from the sensor measurements. For example, specialized filters will be used for signal smoothing.
The pre-processing algorithms will extract the pose data and convert it to velocity (in case of motor encoders) and integrate acceleration data to extrapolate position or velocity (in case of IMUs). Then a dataset is generated and populated containing the relevant features for the algorithms.
Swing Leg Detection Algorithm:
This algorithm will detect which leg is in contact with the ground (stance) or lifted off (swing), either by learning the motion of the user. Effectively, it will tell the rest of the system when it is safe to actuate the motors to adjust the motion trajectory of the user’s leg, as the system should only apply force to the leg when the foot is not contacting the ground.
Capture Point Algorithm:
The capture point algorithm will predict where the optimal landing position for the leg in swing will be, given the current user COM motion and results from the swing leg detection algorithm. It is projected that this algorithm will utilize the linear inverted pendulum dynamic model as well as machine learning to optimize prediction results.
Desired Trajectory Algorithm:
With the position of the optimal foot landing position from the capture point algorithm, the desired trajectory algorithm will plan the best way to get the swing leg from its current position to the optimal foot landing position. This algorithm will take into account approximately how much longer the leg will be in swing, and the natural swing motions of the user to calculate for a desired optimal trajectory for the user’s swing leg to take(gait analysis).
Motion Analysis Algorithm:
The motion analysis algorithm will calculate the current state of the leg in swing based on sensor readings.
Control Algorithm:
The control algorithm will take in what the desired trajectory at the current time, from the output of the desired trajectory algorithm, and the current leg state at the current time, from the motion analysis algorithm, to implement a PD controller and output four torque values that will correct the error between the current state and desired trajectory.
Actuating Subsystem
The output torques from the control algorithm will be received by the actuating subsystem’s motor drivers for each hip motor joint. One torque will be used to actuate the HFE motor, and the other torque will be used to actuate the HAA motor. The motor drivers will then actuate each motor and gearbox assembly to provide the specified torque to their respective joints, thus actuating the exoskeleton and correcting the user’s motion.