[38ba34]: / Application / Examples / PedalDemo / PedalDemo.Main.any

Download this file

74 lines (62 with data), 2.9 kB

#include "../libdef.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. */
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;  
    
    // Add a pedal contact node to the ball of the foot.
    BodyModel.Right.Leg.Seg.Foot = {
      AnyRefNode FootBall = {
        sRel = (.ToeLateralContactNode.sRel + .ToeMedialContactNode.sRel)/2.0;
      };
    };
    // Add a foot ball node for the contact with the ground
    BodyModel.Left.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 = {-1.0, 0.2, 0};
      #include "Model/Environment.any"
    }; // MyPedal
    
    /// Folder containing the objects that binds 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 = 11;
    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