Skip to content
/ memikrr Public

Kinematic redundancy resolution for replicating natural posture of human arm by performing constrained muscle-effort minimization (considering wrist pose and range of joint motion) with a human arm musculoskeletal model and OpenSIM C++ API.

Notifications You must be signed in to change notification settings

et0803/memikrr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. Aim

To replicate natural human arm posture by performing muscle effort minimization when given a desired hand(wrist) pose. The manuscript entitled Muscle-effort-minimization-inspired Kinematic Redundancy Resolution for Replicating Natural Posture of Human Arm has been accepted for publication in IEEE Transactions on Neural Systems and Rehabilitation Engineering.

armSwivelAngleRange optimizedArmSwivelAngle

Figure note: a warmer color (red) in the muscles indicates a higher muscle effort (activation).

2. Dependencies

  • Eigen 3.3
  • Opensim 4.3
  • orocos_kdl 1.5
  • kdl_parser 1.13
  • C++ 11

3. Test environment

  • Ubuntu 18.04 (Linux 5.4.0)
  • gcc version 7.5.0 (x86_64)
  • cmake 3.18.4

4. Test commands

  1. cd path_to_CMakeLists.txt
  2. cmake . -DCMAKE_BUILD_TYPE=Release
  3. make
  4. ./memikrr ./data/Setup_Analyze.xml ./data/x_arm_musculoskeletal_lql.urdf ./data/x_arm_musculoskeletal_simplified_joints_aligned_lql_noJointOffset.urdf 2.0 0.01 0.1 0.1 2 ./data/wristPoseInput.txt ./result.txt

4.1 Argument list

  1. relative file path of static optimization setup for arm osim model
  2. relative file path of musculoskeletal arm urdf model
  3. relative file path of simplified SRS arm urdf model
  4. optimizaiton initial guess interval of arm swivel angle in degree
  5. local optimization stop criterion kappa
  6. global optimization stop criterion1 epsilon
  7. global optimization stop criterion2 delta
  8. the index of the selected global stop criterion
  9. relative file path of wrist poses
  10. relative file path of optimization result output

5. Bug report

  1. Each try of muscle effort estimation will cause a memory leakage of about 1M bytes by calling API to Opensim AnalyzeTool StaticOptimization module.

6. Citation

Q. Li, Y. Xia, X. Wang, P. Xin, W. Chen and C. Xiong, "Muscle-Effort-Minimization-Inspired Kinematic Redundancy Resolution for Replicating Natural Posture of Human Arm," in IEEE Transactions on Neural Systems and Rehabilitation Engineering, vol. 30, pp. 2341-2351, 2022, doi: 10.1109/TNSRE.2022.3198400.

About

Kinematic redundancy resolution for replicating natural posture of human arm by performing constrained muscle-effort minimization (considering wrist pose and range of joint motion) with a human arm musculoskeletal model and OpenSIM C++ API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published