OpenSim Moco
0.4.0
|
This contact model uses a continuous equation to transition between in and out of contact.
The equation for the smooth transition was published in the following two papers:
Koelewijn, A. D., & van den Bogert, A. J. (2016). Joint contact forces can be reduced by improving joint moment symmetry in below-knee amputee gait simulations. Gait & Posture, 49, 219–225. http://doi.org/10.1016/j.gaitpost.2016.07.007
Esposito, E. R., & Miller, R. H. (2018). Maintenance of muscle strength retains a normal metabolic cost in simulated walking after transtibial limb loss. PLoS ONE, 13(1), e0191310. http://doi.org/10.1371/journal.pone.0191310
This class is still under development.
#include <Moco/Moco/Components/StationPlaneContactForce.h>
Public Member Functions | |
OpenSim_DECLARE_PROPERTY (stiffness, double, "Spring stiffness in N/m^3 (default: 2e6).") | |
OpenSim_DECLARE_PROPERTY (dissipation, double, "Dissipation coefficient in s/m (default: 1.0).") | |
OpenSim_DECLARE_PROPERTY (friction_coefficient, double, "Friction coefficient") | |
OpenSim_DECLARE_PROPERTY (tangent_velocity_scaling_factor, double, "Governs how rapidly friction develops (default: 0.05).") | |
OpenSim_DECLARE_PROPERTY (depth_offset, double, "'Resting length' of spring in meters (default: 0.001).") | |
void | extendFinalizeFromProperties () override |
SimTK::Vec3 | calcContactForceOnStation (const SimTK::State &s) const override |
Compute the force applied to body to which the station is attached, at the station, expressed in ground. More... | |
Public Member Functions inherited from OpenSim::StationPlaneContactForce | |
OpenSim_DECLARE_OUTPUT (force_on_station, SimTK::Vec3, calcContactForceOnStation, SimTK::Stage::Velocity) | |
OpenSim_DECLARE_SOCKET (station, Station, "The body-fixed point that can contact the plane.") | |
void | computeForce (const SimTK::State &s, SimTK::Vector_< SimTK::SpatialVec > &bodyForces, SimTK::Vector &) const override |
OpenSim::Array< std::string > | getRecordLabels () const override |
OpenSim::Array< double > | getRecordValues (const SimTK::State &s) const override |
void | generateDecorations (bool fixed, const ModelDisplayHints &hints, const SimTK::State &s, SimTK::Array_< SimTK::DecorativeGeometry > &geoms) const override |
|
inlineoverridevirtual |
Compute the force applied to body to which the station is attached, at the station, expressed in ground.
Implements OpenSim::StationPlaneContactForce.