1 of 43

Advanced User Workshop

Stanford University

March 26-28, 2019

2 of 43

Do technical variations in Latarjet surgery impact shoulder joint loading?

Workshop Goals

  • Update upper limb model to include altered muscle geometry representing a Latarjet reconstructed shoulder
    • Coracobrachialis origin
    • Subscapularis split and muscle path
  • Explore methods for modelling reduced range of motion associated with Latarjet procedure (~10O loss in ext. rot.)3
  • Assess joint reaction forces and “glenohumeral stability”4,5, and muscle function of updated model during shoulder range of motion

1. Centre for Sports Research, Deakin University, Melbourne, Australia

2. Barwon Centre for Orthopaedic Research & Education (B-CORE), Geelong, Australia

Fig. 1: Diagrammatic representation of the Latarjet procedure

Fig. 2: Joint configuration post Latarjet procedure (includes 50/50 subscapularis split)

3 of 43

4 of 43

Altered Coracobrachialis

Attachment

Altered Subscapularis

Configuration

5 of 43

Glenohumeral Joint Reaction Forces between Models

Derived from custom static optimisation that places constraints on the glenohumeral joint force direction, to ensure that the muscle forces produce sufficient stabilising joint compression.

6 of 43

Coracobrachialis Force Direction

7 of 43

Bottom Subscapularis Force

8 of 43

Carrie Peterson, Brooke Slavens

Benchmark of shoulder muscle and contact forces during wheelchair propulsion

Workshop Goals

  • Explore OpenSim upper extremity models and capabilities
  • Run our experimental data through the “pipeline” in order to estimate muscle and glenohumeral joint contact forces

ADD INSTITUTION

Summary of Model Options

  • Wheelchair Propulsion Model (Odle et al. 2019)
    • Stanford VA plus Arm26
    • Both Schutte and Thelen muscle models
    • Not a great option for OpenSim 3.3 or 4.0
    • Motion of scapula and clavicle depend on humerus motion
  • Wu Shoulder Model (Wu et al. 2016)
    • Thelen muscle model
    • 26 muscles crossing the shoulder
    • Need to add elbow and forearm muscles
    • Good option. Want to explore further.

9 of 43

Carrie Peterson, Brooke Slavens

Benchmark of shoulder muscle and contact forces during wheelchair propulsion

Workshop Accomplishments

  • Created marker set
  • Scaled Wu Shoulder Model
    • Critical step; careful time spent here will be worthwhile
  • Successful in running Inverse Kinematics, Inverse Dynamics, Static Optimization

Summary of Model Options

  • MOBL ARMS Model (Holzbaur et al. 2015)
    • Schutte muscle model
    • Need to replace with Thelen or Millard and adjust muscle parameters
    • Need to add shoulder muscles (e.g., serratus anterior, rhomboid major, upper & mid trapezius)
    • Motion of scapula and clavicle depend on humerus motion

  • Best Upper Limb Model for All (Seth et al. 20??)
    • Understandably, a major undertaking and not yet available

10 of 43

11 of 43

Spinal motion analysis in pre-and post-operative evaluation of spinal deformity.

Workshop Goals

  1. Quantify the magnitude of errors (modeling, vertebral marker tracking, Inverse kinematics) or their impact on the kinematics:
  2. Sensitivity analysis of the intervertebral joint definition
  3. Estimate skin motion artifact.
  4. Sensitivity analysis of different marker weight distributions during IK.
  5. Search for new concepts to represent kinematic output data that allow functional comparison between spinal deformity patients.

IORT (Institute for Orthopaedic Research and Training)

KU Leuven and University Hospital Leuven, Belgium

Thomas Overbergh, Lennart Scheys

&

Modeling

Motion Capture

Kinematic Data (all flexion)

12 of 43

Thomas Overbergh, Lennart Scheys

Spinal motion analysis in pre-and post-operative evaluation of spinal deformity.

Workshop Outcomes: Modeling errors and IK sensitivity

  1. Intervertebral Joint Modeling Sensitivity: impact on IK

1. Created 245 (= 7x5x7) models with stepwise perturbations in the L2/L3 joint (=biggest deformity) position.

2. Ran IK for each model (same setup file, same trc file).

3. Calculated the difference between each IK output relative to the unperturbed IK output.

4. Visualise the error in a 3D matrix.

We decided not to quantify the absolute skin motion artefact (=the markers relative to the underlying bone), but rather estimate its effect on the IK output.

Method

Results

1. Kinematic error was largest (0.65239°) at the level of the perturbed joint (L2/L3) and in the direction of the motion (Flexion).

2. The impact of error is smoothed out in the joints above and below.

B. Skin Motion Artefact (this case: during flexion)

Method

Results

Skin motion artifact is observed to cause an average kinematic error of 1.47° (Flexion), 2.12° (Rotation) and 0.80° (Lateroflexion) in this ASD subject. The maximal observed error was 3.33° in the flexion direction.

Perturbed within ⅔ of subject’s IVD space

Range of Motion during flexion

Instrumented

13 of 43

Spinal motion analysis in pre-and post-operative evaluation of spinal deformity.

Workshop Outcomes: Concepts for Kinematic Data Representation

Thomas Overbergh, Lennart Scheys

Control

Patient

A. Range of Motion Graphs

B. Radar ROM

C. Dynamic X-ray measurements (Cobb)

D. Vertebral ‘Volume of Motion’/coupling characteristics

Control

Patient

E. PCA in 3DoF-space

Feipel et al., Eur Spine J, (2001) 10

Ctr = 4.45

ASD = 2.64

@L5-S1 during flex-ext motion

During gait

14 of 43

Dennis Anderson1,2, Stefan Schmid1,2

Assessing spine segmental loads in adolescents with idiopathic scoliosis

Workshop Goals

  • To ensure appropriate handling of muscle properties when adjusting models to introduce spinal deformity

Muscle size asymmetry

  • Several studies report differences in muscle size from convex vs. concave sides of the curve
    • Measurements of multifidus or erector spinae
    • Using MRI and ultrasound
    • Different locations in spine
    • Results not totally consistent

EMG asymmetry

  • Several studies report higher muscle activation on the convex side of the curve

Approach:

  • Created models of 29 individuals with AIS
    • Undeformed and deformed
  • Assessed muscle size of ES and MF
  • Assessed muscle activation and spine loading for neutral standing

15 of 43

Dennis Anderson1,2, Stefan Schmid1,2

Assessing spine segmental loads in adolescents with idiopathic scoliosis

Muscle activations

* (p = 0.022)

Muscle CSA

Bruno et al., 2015

16 of 43

Dennis Anderson1,2, Stefan Schmid1,2

Assessing spine segmental loads in adolescents with idiopathic scoliosis

Spinal loading

  • Deformed vs. undeformed

17 of 43

Improving Effectiveness of Cooperative Exoskeleton Control

Allison Kinney, Timothy Reissman, Shanpu Fang

EMPOWER Lab, University of Dayton, Dayton, OH

Workshop Outcomes

Goal 1: Implement a MATLAB-controllable external torque exo model into the gait2392 model in OpenSim.

18 of 43

Improving Effectiveness of Cooperative Exoskeleton Control

Allison Kinney, Timothy Reissman, Shanpu Fang

Workshop Outcomes (Matlab generated external torque)

Impedance-Based Exo Assist - Left Ankle Only

Blue = Baseline (no assist)

Orange = 10% assist

Purple = 80% assist

8.4%

Gait Cycle 1

Gait Cycle 2

11.7%

5.5%

10.3%

19 of 43

Improving Effectiveness of Cooperative Exoskeleton Control

Allison Kinney, Timothy Reissman, Shanpu Fang

Workshop Outcomes (openSim generated external torque)

Biomimetic Exo Assist - Left Ankle + Knee + Hip

Blue = Baseline (no assist)

Orange = 10% assist

Purple = 80% assist

Gait Cycle 1

Gait Cycle 2

Gait Cycle 2

7.5%

15.5%

14.1%

12.5%

Multiple coordinate actuators

20 of 43

Analyzing the effect of lower limb robotic exoskeletons on gait stability

Seyed Mostafa Rezayat, Zhi Qiao, Wenlong Zhang

Robotics and Intelligent Systems Laboratory, The Polytechnic School, Ira A. Fulton Schools of Engineering, Arizona State University, Mesa, AZ

Workshop Goals

  • Import a knee exoskeleton model into the scaled gait2354 model with size, mass and other physical constraints.
  • Providing knee assistive torque with a variety of assistive strategies
  • Compare the simulated joint torques to the experimental results
  • Comparing the simulated muscle forces in different assistive strategies

21 of 43

Analyzing the effect of lower limb robotic exoskeletons on gait stability

Seyed Rezayat, Zhi Qiao, Wenlong Zhang

Workshop Outcomes

  • Modeling the physical effects of the exoskeleton

    • Scaling and adding offsets to markers to match the experimental data with the exoskeleton
    • Modeling the added mass as part of the bone segments (increasing the mass of the segment)
    • Adding lumped mass to the segments
    • Running RRA and CMC to see which model give us more consistent results

  • Issues
    • .xml file format changed from Opensim 3.3 to 4.0 (fixed).
    • Customized body appearance disappeared after scaling the model (fixed).
    • Adding Body in .xml file with Opensim 4.0 (fixed)
    • Adding Body using GUI scripts (fixed)

22 of 43

Analyzing the effect of lower limb robotic exoskeletons on gait stability

Seyed Rezayat, Zhi Qiao, Wenlong Zhang

Workshop Outcomes

  • RRA Results
    • Less mass changes needed
    • Less residual forces (Still needs improvement)

  • CMC Results

  • Next Steps
    • Make the model more accurate to better match with the experimental data
    • Run forward simulations with our exoskeleton to study the effects of the assistance and mass on gait kinematics and gait dynamic stability measures

Normal

Passive

23 of 43

Simulation framework to investigate the modular control of walking balance

Jessica Allen, Hannah McDonald

Workshop Goals

  • Generate muscle-driven / muscle-synergy-driven forward simulations of standing reactive balance with prescribed motion using Matlab/OpenSim scripting
  • Develop objective function to optimize muscle excitation patterns that minimize constraint forces in the prescribed motion model
  • Create a data-free muscle-driven model of standing reactive balance

Workshop Outcomes

  • Muscle driven simulation of Reactive balance with MoCo - One Leg model
  • Muscle driven simulation of reactive balance with MoCo - Two Leg Model
  • Worked on implementing a delay in the active muscle response

Previous optimization study using SIMM/C++

Goal: Optimization using OpenSim / Matlab scripting (eventually Python)

24 of 43

Simulation framework to investigate the modular control of walking balance

Jessica Allen, Hannah McDonald

Workshop Outcomes Part 1: Using Moco to Simulate Forward Perturbations

Muscle Driven:

Simulated Perturbation

Torque Driven:

25 of 43

Simulation framework to investigate the modular control of walking balance

Jessica Allen, Hannah McDonald

Workshop Outcomes Part 2

SAGITTAL MODEL

Added non-sagittal DoFs at ankle, hip, and knee

MoCo to find optimal muscle excitations to respond to a perturbation

  • 9 muscles per leg in sagittal plane
  • Coordinate actuators at non-sagittal DoFs
  • Start and end with 0 initial pos + vel
  • Minimize effort

26 of 43

Musculoskeletal Simulation of Joint Stability following TKA

Colin Smith, William Taylor

Workshop Goals

  • Implement a new ligament model in the OpenSim
  • Develop test cases and documentation
  • Merge new ligament model into OpenSim source code

27 of 43

Musculoskeletal Simulation of Joint Stability following TKA

Colin Smith, William Taylor

Future Work

Smith2015Ligament Implementation

  • Respond to PR reviews
  • Finish test cases
  • Visualization in the GUI

Implement Elastic Foundation Force

Implement COMAK

Release Knee Model

ISB 2019

CMBBE 2019

28 of 43

Musculoskeletal Simulation of Joint Stability following TKA

Colin Smith, William Taylor

MOCO Dreaming...

MOCO Predictions

w/torque driven model

foot-floor contact

29 of 43

Using ROS for real-time communication with OpenSim

Daniel Jacobs, Santiago Canete, Owen Pearl

Workshop Goals

  • Create pipeline for (near?) real-time inverse kinematics and dynamics in the 2354 gait model for future exoskeleton studies in the RISE lab
    • Updated IK and ID routines with the newer Solver routines.
    • Develop ROS framework for communication between the computation nodes
    • Optimize code for 120 hz (Qualisys Miqus rate)

30 of 43

Using ROS for real-time communication with OpenSim

Daniel Jacobs, Santiago Canete, Owen Pearl

Workshop Outcomes

  • Inverse Kinematics Solver:
    • Running at 60 Hz in C++
    • Wrote IK Solver as a ROS node.

  • Inverse Dynamics Solver:
    • Wrote a function to estimate instantaneous speeds and accelerations using a finite difference method; compared pros and cons of Central-Difference vs Backward-Difference Methods for differentiating the discrete set of general coordinate data from IK

31 of 43

Quantifying Knee Joint Reaction Forces during FES Rowing

Vishnu Chandran and Saikat Pal, New Jersey Institute of Technology

Big Picture Motivation

  • Rapid loss in bone after spinal cord injury (SCI).
  • Current rehabilitation methods are inconsistent, in part because bone mechanical stimulus is not measured.
  • Quantifying bone mechanical stimulus, e.g. at the knee, requires internal knee reaction forces.
  • We aim to quantify knee joint reaction forces from musculoskeletal simulation of functional electrical stimulation (FES) rowing.

Workshop Goals

  • Using OpenSim’s Moco library, formulate a optimization problem that has temporal control of muscles available for activation.
  • Define a objective function that minimizes muscle excitation and solves for muscle actuation for a prescribed set of kinematics.
  • Estimate knee joint reaction forces during FES rowing.

32 of 43

Quantifying Knee Joint Reaction Forces during FES Rowing

Vishnu Chandran and Saikat Pal

Workshop Outcomes

  1. We tried different approaches to quantify muscle activations with a simplified model
    1. Forward dynamics by prescribing activations
    2. Moco inverse: optimizing muscle activations for prescribed kinematics
    3. Moco: optimizing muscle activations by tracking markers
  2. Estimated joint reaction forces from
    • A double pendulum model
    • A frame of FES rowing simulation

Which is the best approach for our research question?

33 of 43

Simulation of devices to stabilize the OA knee

Samuel Salemi, Jessica Oreskovic, Scott Brandon

Workshop Goals

  • Increase competency in OpenSim 4.0 and MATLAB API
  • Add idealized passive spring “exoskeleton” in parallel with the knee to assist knee extension using springGeneralizedForce
  • Iteratively adjust spring parameters (stiffness, slack, damping) via MATLAB API
  • Use fmincon solver to estimate optimal spring parameters that minimize knee contact loads during activities of daily living
  • (if time) Simultaneously minimize muscle forces and joint contact load

M

34 of 43

Simulation of devices to stabilize the OA knee

Samuel Salemi, Jessica Oreskovic, Scott Brandon

Workshop Outcomes

  • Introduced springGeneralizedForce to model
  • Migrated from python in OpenSim 3.3 to MATLAB API in OpenSim 4.0
  • Batch processing for static optimization, joint reaction and minimization of cost function
  • Competency with methodsview / doxygen greatly increased

Workshop Bugs

  • Order of calls for Analysis Set, (eg. must adopt/clone model before adding analysis set to model)
  • Inconsistencies throughout computers while running matlab(?)
  • Crashes after 15 iterations (potential memory error)
    • MATLAB Plot low level Graphics ((V)RAM) Issue??

35 of 43

Simulation of devices to stabilize the OA knee

Samuel Salemi, Jessica Oreskovic, Scott Brandon

Can MOCO solve my problem?

  • Cost = minimum cumulative contact load
  • Benefit of a knee extension spring during stance was outweighed by the cost of the same spring during swing
  • Therefore optimal spring has low stiffness (1.5Nm)

36 of 43

Evaluating Intrinsic Stability of Muscle-Driven Biomechanical Simulations

M. Hongchul Sohn1,2,3

Workshop Goals

  • Implement Lyapunov stability analysis using Matlab API
  • Evaluate, at each time point, intrinsic stability of standard walking simulation (gait2392 model + subject01 data) driven by: 1) CMC solution, and� 2) High co-activation solution

1Biomedical Engineering, 2Physical Therapy & Human Movement Science, Northwestern University.�3Shirley Ryan AbilityLab.

Workshop Outcomes: Implementation

  • CMC simulation (Scale->IK->RRA->CMC)
  • At each time point,�1) Perturb one state�2) Run forward simulation for small increment � (e.g. CMC timestamp)�3) Evaluate resulting acceleration�* Matlab API
  • Concatenate vectors to generate state transition matrix (A)

37 of 43

Evaluating Intrinsic Stability of Muscle-Driven Biomechanical Simulations

M. Hongchul Sohn1,2,3

Workshop Outcomes

Future Works

  • Investigate eigenvalues and eigenvectors
  • Facilitate FWD process by using ‘Manager()’
  • Compare unstable (e.g. CMC) � vs. stable (e.g. High co-activation)
  • Augment state transition matrix to include �muscle states (activation, length)

38 of 43

Learning Thumb Biomechanics from Large Simulation Datasets

Kalyn Kearney, Jennifer A. Nichols

Workshop Goals

  • Streamline simulation batch processing.
    • Optimize iteration through simulation parameters.
    • Evaluate utility of Python (instead of Matlab) to facilitate interface with machine learning code
    • Convert from OpenSim 3.3 to OpenSim 4.0�
  • Explore contact models for calculating thumb-tip forces.�
  • Troubleshoot scaling issues with wrist/hand model.

39 of 43

Learning Thumb Biomechanics from Large Simulation Datasets

Streamlining Batch Processing

Accomplishments

  • MATLAB to Python 2.7
  • OpenSim 3.3 to OpenSim 4.0
  • Optimize iteration through simulation parameters
  • Streamline batch processing for machine learning framework
    • Implement reporter
    • Format for incorporation with RNN

Future Directions

  • Python 2.7 to Python 3.7
    • Building from the source code
  • Combine and Run!

Endpoint force data of lateral pinch over time, as reported in Python code.

40 of 43

Learning Thumb Biomechanics from Large Simulation Datasets

Feature Request:

Analytical contact mesh (e.g. cube) that can be easily scaled.

Modeling Contact During an Opposition Task

OpenSim 4.0

OpenSim 3.3

Bug Report:

FunctionBasedBushing does not apply rotational damping correctly in v. 4.0

41 of 43

How much information do we need to model bone growth?

Hans Kainz

Workshop Goals

  • Run musculoskeletal simulations using generic scaled and medical imaging based musculoskeletal models with and without electromyography constraints

  • Investigate the impact of the different methods on joint angles, joint moments, muscle forces and joint contact forces

4 different simulations

  • Generic model + static optimization

  • MRI model + static optimization

  • Generic model + EMG informed static optimization

  • MRI model + EMG informed static optimization

42 of 43

How much information do we need to model bone growth?

Hans Kainz

Workshop Outcomes

Child with CP

Child with CP

TD child

TD child

43 of 43

How much information do we need to model bone growth?

Hans Kainz

Workshop Outcomes

Child with CP

TD child