function MBody = Motocicleta %Se llama desd el pcpal          



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% MODELO MULTICUERPO DE UNA MOTOCICLETA %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Nº de contactos elásticos
MBody.nce = 2;    
                                          
% Coordenadas (generalizadas y parámetros de superficie) del mecanismo
MBody.ncoord = 9; 
MBody.Ind=1:9;


%Llama a la otra funcion para cargar la estructura .Param 
Param =ParametrosMotocicleta;



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PROPIEDADES INERCIALES DE LOS SOLIDOS %     
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

MBody.Solidos(2).nombre = 'RuedaTrasera';
MBody.Solidos(2).m = Param.mRt;
MBody.Solidos(2).rG = [0 0 0]';
MBody.Solidos(2).I = [[Param.IxRt 0 0];[0 Param.IyRt 0];[0 0 Param.IxRt]];


MBody.Solidos(3).nombre = 'Cuadro';
MBody.Solidos(3).m = Param.mCC;
MBody.Solidos(3).rG = [Param.XG3  0 Param.ZG4]';
MBody.Solidos(3).I = [[Param.IxMH 0 Param.IxzMH];[0 Param.IyMH 0];[Param.IxzMH 0 Param.IzMH]];


MBody.Solidos(4).nombre = 'Manillar';
MBody.Solidos(4).m = Param.mMH;
MBody.Solidos(4).rG = [Param.XG4  0 Param.ZG4]';
MBody.Solidos(4).I = [[Param.IxCC 0 Param.IxzCC];[0 Param.IyCC 0];[Param.IxzCC 0 Param.IzCC]];


MBody.Solidos(5).nombre = 'RuedaDelantera';
MBody.Solidos(5).m = Param.mRd;
MBody.Solidos(5).rG = [0 0 0]';
MBody.Solidos(5).I = [[Param.IxRd 0 0];[0 Param.IxRd 0];[0 0 Param.IxRd]];





%%%%%%%%%%%%%%%%%%%%%%%
% CONTACTOS ELÁSTICOS %       
%%%%%%%%%%%%%%%%%%%%%%%

MBody.indent1max=0; 
MBody.indent2max=0;
MBody.t=0;


% RUEDA TRASERA                        es 1º contacto entre 1 y 2
MBody.ContactoElastico(1).I = 2;
MBody.ContactoElastico(1).J = 1;

MBody.ContactoElastico(1).GeomI = @GeomNeumaticoTrasero; 
MBody.ContactoElastico(1).GeomJ = @GeomCamino;

MBody.ContactoElastico(1).Fnormal = @Fnormal;
MBody.ContactoElastico(1).Ftag = @Ftag; 

MBody.ContactoElastico(1).kn=(1e5)/2; 

MBody.ContactoElastico(1).kc=0.12; %%
MBody.ContactoElastico(1).alfac=0.12;%%

MBody.ContactoElastico(1).mux=0.9;%%
MBody.ContactoElastico(1).muy=0.9;%%


MBody.ContactoElastico(1).mu = Param.mu_neun_suelo;

MBody.ContactoElastico(1).EI = Param.E_neum;
MBody.ContactoElastico(1).NuI = Param.Nu_neum;
MBody.ContactoElastico(1).EJ = Param.E_suelo;
MBody.ContactoElastico(1).NuJ = Param.Nu_suelo;




% RUEDA DELANTERA                            es 2º contacto entre 5 y 1
MBody.ContactoElastico(2).I = 5;
MBody.ContactoElastico(2).J = 1;

MBody.ContactoElastico(2).GeomI = @GeomNeumaticoDelantero; 
MBody.ContactoElastico(2).GeomJ = @GeomCamino;

MBody.ContactoElastico(2).Fnormal = @Fnormal;
MBody.ContactoElastico(2).Ftag = @Ftag;


MBody.ContactoElastico(2).kn=(1e5)/2; 

MBody.ContactoElastico(2).kc=0.12; %%
MBody.ContactoElastico(2).alfac=0.12;%%

MBody.ContactoElastico(2).mux=0.9;%%
MBody.ContactoElastico(2).muy=0.9;%%


MBody.ContactoElastico(2).mu = Param.mu_neun_suelo;

MBody.ContactoElastico(2).EI = Param.E_neum;
MBody.ContactoElastico(2).NuI = Param.Nu_neum;
MBody.ContactoElastico(2).EJ = Param.E_suelo;
MBody.ContactoElastico(2).NuJ = Param.Nu_suelo;





