82 lines (66 with data), 3.2 kB
#include "../libdef.any"
//class template for conditional contact
#include "<ANYBODY_PATH_MODELUTILS>\FrictionContactMuscles\ConditionalContactClass.any"
/** This model is for design of a pedal that is comfortable to use
for a seated operator depending on the stiffness of the embedded
spring and the distance of the seat from the pedal. The model is
a copy of the PedalDemo example with the exception that this model
has conditional contact between the foot and the pedal, such that
the contact becomes active when the two elements are in proximity
with each other. */
Main = {
// ----------------------------------------------------------
// Path to draw settings
// ----------------------------------------------------------
#include "Model/DrawSettings.any"
// ----------------------------------------------------------
// Body Model Configuration
// ----------------------------------------------------------
#include "Model/BodyModelConfiguration.any"
// The Mannequin file specifies load-time positions for all the segments
// in the HumanModel. This is important for the model's ablity to resolve
// all the kinematic constraints when the model is analyzed.
// The mannequin file also drives those degrees of freedom of the human
// model that are not governed by problem-specific drivers at run time.
#include "Model/Mannequin.any"
// Model of the human body to be used for the analysis
#include "<ANYBODY_PATH_BODY>/HumanModel.any"
/// The actual model where all components are assembled
AnyFolder Model ={
/// Body model without default drivers
AnyFolder &BodyModel=.HumanModel.BodyModel;
/// Reference to the mannequin folder (used by drivers)
AnyFolder &Mannequin =.HumanModel.Mannequin;
BodyModel.Left.Leg.Seg.Foot = {
AnyRefNode FootBall = {
sRel = (.ToeLateralContactNode.sRel + .ToeMedialContactNode.sRel)/2.0;
};
};
BodyModel.Right.Leg.Seg.Foot = {
AnyRefNode FootBall = {
sRel = (.ToeLateralContactNode.sRel + .ToeMedialContactNode.sRel)/2.0;
};
};
/// This folder contains the description of the environment. The spring
/// stiffness of the pedal and the Hpoint, i.e. the position of the
/// seat, can be adjusted by the parameters in this folder.
AnyFolder MyPedal = {
AnyVar SpringStiff = 40; // Spring stiffness in Nm/rad
AnyVec3 Hpoint = {-0.8, 0.5, 0};
#include "Model/Environment.any"
}; // MyPedal
// Folder containing the objects that bind the human model and
// the pedal together.
AnyFolder ModelEnvironmentConnection = {
#include "Model/JointsAndDrivers.any"
};
};
/// The study: Operations to be performed on the model
AnyBodyStudy Study = {
nStep = 40;
AnyFolder &Model = .Model;
Gravity = {0.0, -9.81, 0.0};
};
// Include an operation sequence to run all required steps of your application (see Operations tab)
#include "<ANYBODY_PATH_MODELUTILS>\Operations\RunAppSequence.any"
}; // Main