USING HIGH–THROUGHPUT COMPUTING FOR DYNAMIC SIMULATION OF BIPEDAL WALKING Mohammadhossein Saadatzi, Anne K. Silverman, Ozkan Celik
Outline Simulation framework for combined human bipedal walking and wearable robots Introduction Problem definition Using HTC to solve the problem Applications of the prepared framework A passive hip exoskeleton Walking energetics at different speeds 1
Introduction Previously, high-throughput computing (HTC) was used for stochastic simulation and analysis of human movements [1,2]. By considering parametric uncertainty in musculoskeletal model, HTC was used to investigate cartilage loading in the knee during movement. Simulations of movement are traditionally performed using generic models with assumed parameters and geometries. Population variability and parametric uncertainty become critically important to consider when interpreting model predictions [1,2]. [1] Smith CR, et al. J Knee Surg, 29 (2), 99-106, 2016. 2 [2] Smith CR, et al. J Biomech Eng, 138 (2), 021017, 2016.
Introduction Simulations and dynamic optimization for investigation human biomechanics and human-robot interaction. We have developed a framework for combined simulation of human bipedal walking and exoskeletons [1]. Simulation of human bipedal walking through muscle actuation presents an optimization problem with a substantial number of parameters [2,3]. [1] Saadatzi M, et al. Proceedings of 41 st ASB, 451–452, 2017. 3 [2] Miller RH. J Biomech, 47 (6), 373–1381, 2014. [3] Umberger BR, J. Royal Soc. Interface, 7 (50), 1329-1340, 2010.
Introduction Calculation of the cost function for this optimization problem, necessitates significant computational power [1]. Because of the redundant nature of the human musculoskeletal system, the problem is highly prone to getting stuck in local minima. Researchers have chosen to solve the problem several times [2-5]. Miller [2], single step, 4 times, 2.5 days using HPC. Umberger [3], single step, 10 times. Ong et al. [4], 10 seconds, 20 times. They used the best solution to seed another round of 20 optimizations. This process was repeated until the change was less than 5%. [1] Ackermann M, van den Bogert AJ, J Biomech, 43 (6), 1055–1060, 2010. [2] Miller RH. J Biomech, 47 (6), 373–1381, 2014. [3] Umberger BR, J. Royal Soc. Interface, 7 (50), 1329-1340, 2010. 4 [4] Ong CF, et al. IEEE Trans Biomed Eng, 63 (5), 894–903, 2016. [5] Ong CF, et al. Proceedings of ISB-TGCS, 19–20, 2017.
Introduction We use HTC as a tool to perform computations related to predictive simulation of human bipedal walking through muscle actuation. 5
Problem definition Actuation profile Human-exoskeleton combined model Forward dynamic simulation Exoskeleton structure and control parameters Human-exoskeleton kinematic and dynamic data Objective Optimization function Algorithm [1] Farris RJ, et al. IEEE Trans Neural Syst Rehabil Eng, 19(6), 652-659, 2011. 6 [2] Delp SL, et al. IEEE Trans Biomed Eng, 54 (11), 1940-1950, 2007.
Problem definition: Human-exoskeleton model The musculoskeletal model has 9 sagittal degrees of freedom and 18 muscle groups (24 muscles): DOFs: pelvis tilt, two planar pelvis translations, hip and knee flexion/extension, ankle plantar/dorsiflexion Muscle groups: soleus, vasti, gastrocnemius, tibialis anterior, bicep femoris short head, hamstring, rectus femoris, gluteus maximus, and iliopsoas. 7
Problem definition Actuation profile Human-exoskeleton combined model Forward dynamic simulation Exoskeleton structure and control parameters Human-exoskeleton kinematic and dynamic data Objective Optimization function Algorithm [1] Farris RJ, et al. IEEE Trans Neural Syst Rehabil Eng, 19(6), 652-659, 2011. 8 [2] Delp SL, et al. IEEE Trans Biomed Eng, 54 (11), 1940-1950, 2007.
Problem definition: Forward dynamic simulation Two controller states are considered, corresponding to stance and swing phases. Heel strike Toe off Heel strike Stance Swing 9
Problem definition Actuation profile Human-exoskeleton combined model Forward dynamic simulation Exoskeleton structure and control parameters Human-exoskeleton kinematic and dynamic data Objective Optimization function Algorithm [1] Farris RJ, et al. IEEE Trans Neural Syst Rehabil Eng, 19(6), 652-659, 2011. 10 [2] Delp SL, et al. IEEE Trans Biomed Eng, 54 (11), 1940-1950, 2007.
Problem definition: Actuation/exoskeleton parameters Actuation profile of each muscle is defined as two piecewise linear functions One with 6 parameters for stance phase, Exoskeleton and structure and control parameters One with 4 parameters for swing phase. The values of signals at discretized points constitute the optimization parameters. 11
Problem definition Actuation profile Human-exoskeleton combined model Forward dynamic simulation Exoskeleton structure and control parameters Human-exoskeleton kinematic and dynamic data Objective Optimization function Algorithm [1] Farris RJ, et al. IEEE Trans Neural Syst Rehabil Eng, 19(6), 652-659, 2011. 12 [2] Delp SL, et al. IEEE Trans Biomed Eng, 54 (11), 1940-1950, 2007.
Problem definition: Objective function A weighted combination of several cost functions constitutes our optimization Objective function goal: Duration of walking Target velocity error Excessive alternating motion of the upper body Metabolic expenditure of muscles 13
Problem definition Actuation profile Human-exoskeleton combined model Forward dynamic simulation Exoskeleton structure and control parameters Human-exoskeleton kinematic and dynamic data Objective Optimization function Algorithm [1] Farris RJ, et al. IEEE Trans Neural Syst Rehabil Eng, 19(6), 652-659, 2011. 14 [2] Delp SL, et al. IEEE Trans Biomed Eng, 54 (11), 1940-1950, 2007.
Problem definition: Optimization Algorithm Covariance Matrix Adaptation (CMA) [1]. Optimization Algorithm Previously has successfully been used for simulation of bipedal walking [2-4]. Available with OpenSim API. We use the computed muscle control (CMC) method to generate favorable initial optimization parameters, which reduces convergence time and probability of getting stuck in local minima. [1] Hansen N, et al. Evol Comput, 11(1), 1–18, 2003. [2] Wang JM, et al. ACM Trans Graph, 31(4), 2012. 15 [3] Dorn TW, et al. PLOS ONE, 10 (4), 1-16, 2015. [4] Ong CF, et al. Proceedings of ISB-TGCS, 19–20, 2017.
Methods HTC enables the use of many computers and cores simultaneously HTC Ideally, we would like to combine the results from several computers to reduce necessary time for the convergence of our optimization probability of getting stuck in local minima [1] Pordes, R et al. J Phys Conf Ser 78 (1), 012057, 2007. 16 [2] Sfiligoi I, et al. IEEE-CSIE, 428–432, 2009.
Methods: High-level algorithm We run several instances of our optimization, and combine their results periodically to generate a more efficient optimization algorithm. We seed a round of optimization on remote computers with different sets of initial optimization parameters. We compare and combine their results to generate initial optimization parameters for subsequent optimizations. Remote computers Submit server Compare & Convergence combination Detection Initialization Optimization Optimization Optimization 17
Methods: High-level algorithm Directed Acyclic Graph Manager (DAGMan): a meta- scheduler for the execution of programs (computations) DAG file is used by DAGMan when submitting programs. PS.dag Prescript # Predictive Simulation DAG InitPop.sh Job PSitr PSitr.sub PSitr: PSitr.sub Job SCRIPT PRE PSitr initPop.sh J 1 J 2 J 3 J 4 J n SCRIPT POST PSitr nextItrPrep.sh RETRY PSitr 10 NextItrPrep.sh Postscript Retry 18
Methods: High-level algorithm Prescript bash “initPop.sh” generates the initial population. Postscript bash Prescript InitPop.sh “nextItrPrep.sh” generates the population for the next PSitr: PSitr.sub Job iterations. J 1 J 2 J 3 J n J 4 We used the best results to seed the following iterations of Postscript NextItrPrep.sh optimizations. Retry Job “PSitr”, runs the sub- jobs, which consist of the optimizations of each round. 19
Methods: Individual jobs PSitr.sub # Jobs submit file executable = myExe.sh arguments = $(Process) transfer_input_files = bipedWalkingOptFiles.tar.gz, pop/bestParametersBinary.$(Process) transfer_output_files = bestSoFarLog_$(Process).txt, bestParametersBinary_$(Process) periodic_remove = (CurrentTime - QDate) > 4200 queue 100 20
Results & discussion We tested different intervals of running individual jobs, and explored fixed and adaptive initial step-size of the CMA algorithm Doesn’t walk the entire duration OSG 8-core computers, and AWS 36-core computer Walks the entire duration, when gets smaller becomes more realistic OSG 8-core computers (3.89) and AWS 36-core instance (3.86). 21
Recommend
More recommend