march 2016 * IEEE ROBOTICS & AUTOMATION MAGAZINE * 87 NNMF 1 0 0.5 0.4 0.2 0 1 0 0.5 0 0.6 0.4 0.2 0 1 0.2 0 0.4 SOL SOL 100 0 100 % Gait Cycle % Gait Cycle TA GAS VAS HAM TA GAS VAS HAM (b) 0 0 20 40 60 80100 % Gait Cycle 0 0.2 0 0.4 0 1 0.5 0.2 0.5 0 0.4 0.1 0.5 0 1 0 0.2 0 1 0.5 0 1 0.5 0.5 1.5 1 0.5 0 1 0 1 Six Neural Primitives 0.5 0 1 GLU 0 0 Walking Stairs Stairs Ascending Descending 0.6 c/s 0.7 c/s 0.8 c/s 0.9 c/s 1.0 c/s L U M S S TA OL HF GL HA VA GA S Weights Hip Knee Ankle Joint Weights Hip Knee Ankle Joint Walking L U M S S TA OL HF GL HA VA GA S - 0.5 -2 0 20 40 60 80100 % Gait Cycle 0.5 GLU (a) PCA 0 0.2 0.1 49 Stimulations Walking Stairs HFL HFL 100 0 100 % Gait Cycle % Gait Cycle Ankle Knee Hip 2 1 0 -1 1 0 -1 -2 2 1 0.5 0 - 0.5 0.5 0 - 0.5 -1 0.5 0.2 0.4 0 Ankle Knee Stairs Three Dynamic Primitives Figure 2. The primitive extraction process: (a) DLMP extraction from the literature torque data by means of PCA and (b) NLMP extraction. Muscle stimulations are obtained by an inverse musculoskeletal model using kinematic and torque data from the literature. Neural primitives are then obtained from these muscle stimulations by NNMF. In (a) and (b), for each component, the walking bar graph represents the weight evolution of primitives for the different joint torques (DLMPs) or muscle stimulations (NLMPs) as a function of the walking cadence. The bar graph on the right represents the corresponding weights in the case of ascending (blue) and descending (red) stairs. Inverse Musculoskeletal Model Kinematics Dynamics Literature 2 1 0 1 -1 0 1 Walking Hip 21 Torques