Skip to content

Extend implementations of task space control to support floating-base models #3636

@nathantpickle-cfdrc

Description

@nathantpickle-cfdrc

Background
Task space control is commonly used in robotics, but has not been as widely utilized in biomechanics. Several efforts have been made to implement task space control, such as in the OpenSim Core Sandbox, Simbody examples, and external projects. However, these implementations do not support floating base models, where the root segment (e.g., pelvis) is free to move in 6DOF. This prevents use of task space control in common biomechanical simulations such as gait.

Use Cases
Task space control can be used to express movements in terms of high-level objectives, such as end effector (e.g., hand or foot) or center of mass kinematics. Thus, task space control has utility in research in neural control of movement. Task space control can be a useful alternative to other predictive simulation paradigms such as Moco.

Planned Functionality
Our group has implemented a formulation of task space control that supports floating base models, and can be used to generate gait and other human movement simulations. Our implementation relied heavily on Dimitar Stanev's work in this area. We would like to contribute our code back to OpenSim Core so it can be supported as standard functionality in OpenSim. Our contribution will include the following features:

  • Preserves Stanev's implementation of constraint decoupling
  • All examples from Stanev's implementation are functional, plus the standing balance example
  • Full support for de/serialization
  • Supports environmental interaction through contact objects
  • Will be accompanied by a manuscript detailing the mathematical derivations

Timeline
We are conducting final testing in preparation for submitting a pull request. We anticipate being ready to submit the pull request in the next few weeks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions