Page MenuHomec4science

MAIN_FILE.m
No OneTemporary

File Metadata

Created
Sun, Aug 18, 08:25

MAIN_FILE.m

%{
--------------------------------------------------------------------------
This is the main file that performs the simulation. The simulation consists
of 4 main blocks.
1- a six degrees of freedom biomechanical model of the glenohumerla joint.
It has 3 rotational DOF together with 3 translational DOF. The six main
muscles spanning the joint are considered. Their paths are influenced by
both the rotation and the tranlations of the joint. The contact force
acting due to the contact between the humeral head and the glenoid fossa is
defined in the second main box.
2- a contact model for the articular contact between the humeral head and
the glenoid fossa. In order to define the tranlations, the contact force is
defined using a simple soft articular contact. The output of this block
(function) is a function of generalized coordinates.
3- a feedforward controller which is a 3 DOF model of the same system
simulated in inverse-dynamics simulation.
4- a feedback controller. Given that the feedforward controller cannot
steer the system with reasonably large stepsize a feedback controller is
considered to compenstae for the numerical errors due to the numerical
integration of the system equations defined in 1.
created by: ehsan.sarshari@epfl.ch
-------------------------------------------------------------------------
%}
tic
% Clean Workspace
clc; clear all; close all;
% Grant access to the directory
CurrentPath = pwd;
addpath([CurrentPath]); %,'/','ThreeBarModel'
disp('constructing the 3DOF model, ...');
% Construct the equations of motion of 3DOF
DYDATA = initialize_dynamic_data();
% Create the Kinematics Data
IDDATA = inverse_dynamic_simulation_new1(DYDATA);
disp('constructing the 6DOF model, ...');
% Construct the equations of motion of 6DOF
DYDATA = initialize_dynamic_data_6DOF();
% Initialize the elastic contact model
CMDATA = initilize_contact_model();
% Creat the State Space Equations (more precisely the generalized
% acceleration) of the 6DOF model
state_space_generator_6DOF(DYDATA);
% Solve the Forward Dynamic Simulation of the 6DOF model
IDDATA = solve_forward_dynamic(IDDATA, DYDATA, CMDATA);
% Postprocess the results and illustrate the results
PPDATA = postprocessing_main(IDDATA, CMDATA);
toc

Event Timeline