function Dimensoes=PC_Build_Humanoid_Dimensions()
%% Esta funcao concatena numa estrutura toda a informacao dimensional do robot
% INPUT
% --- NONE ---
% OUTPUT
% Dimensoes - estrutura com dados dimensionais relevantes do robot

% -> Pes
Dimensoes.Pernas.Pe.massa=0.444; %kg
Dimensoes.Pernas.Pe.comprimento=150; %mm
Dimensoes.Pernas.Pe.centro_de_massa_esquerdo=[2.746 -18.3 9.06]; %mm
Dimensoes.Pernas.Pe.centro_de_massa_direito=[-2.746 -18.3 9.06]; %mm
% ^^(relativamente aos eixos das juntas) ^^
Dimensoes.Pernas.Pe.inercia_direito=...
    [9.3e-004    2.2e-005  -1.1e-005
    2.2e-005    7.6e-004   1.5e-004
    -1.1e-005    1.5e-004  3.8e-004]; %kg.m^(-2)
Dimensoes.Pernas.Pe.inercia_esquerdo=...
    [9.3e-004   -2.2e-005   1.1e-005
    -2.2e-005   7.6e-004   1.5e-004
    1.1e-005    1.5e-004   3.8e-004]; %kg.m^(-2)

% -> Pernas
Dimensoes.Pernas.Perna.massa=0.343; %kg
Dimensoes.Pernas.Perna.comprimento=139; %mm
Dimensoes.Pernas.Perna.centro_de_massa_esquerdo=[15.861 88.519 0.182]; %mm
Dimensoes.Pernas.Perna.centro_de_massa_direito=[-15.861 88.519 0.182]; %mm
% ^^(relativamente ao eixo de rotacao do tornozelo) ^^
Dimensoes.Pernas.Perna.inercia_direito=...
    [5.1e-004   4.8e-005  -6.5e-007
    4.8e-005   2.3e-004   2e-005
    -6.5e-007   2e-005    6.8e-004]; %kg.m^(-2)
Dimensoes.Pernas.Perna.inercia_esquerdo=...
    [5.1e-004  -4.8e-005   6.5e-007
    -4.8e-005   2.3e-004   -2e-005
    6.5e-007   -2e-005    6.8e-004]; %kg.m^(-2)

% -> Coxas
Dimensoes.Pernas.Coxa.massa=0.243; %kg
Dimensoes.Pernas.Coxa.comprimento=143; %mm
Dimensoes.Pernas.Coxa.centro_de_massa_esquerdo=[1.418 101.284 -2.262]; %mm
Dimensoes.Pernas.Coxa.centro_de_massa_direito=[-1.418 101.284 -2.262]; %mm
% ^^(relativamente ao eixo de rotacao do joelho) ^^
Dimensoes.Pernas.Coxa.inercia_direito=...
    [5.3e-004   -1.15e-004  -4e-006
    -1.15e-004   1.4e-004   4.6e-006
    -4e-006      4.6e-006   5.75e-004]; %kg.m^(-2)
Dimensoes.Pernas.Coxa.inercia_esquerdo=...
    [5.3e-004   1.15e-004  -4e-006
    1.15e-004   1.4e-004   4.6e-006
    -4e-006     4.6e-006   5.75e-004]; %kg.m^(-2)

% -> Pelvis
Dimensoes.Pelvis.massa=0.883; %kg
Dimensoes.Pelvis.centro_de_massa=[0 -34.8 8.11]; %mm
% ^^(relativamente ao eixo de rotacao do tronco) ^^
Dimensoes.Pelvis.inercia=...
    [6.39e-004   7.39e-008    -5.6e-008
    7.39e-008      0.002     -6.8e-005
    -5.6e-008    -6.8e-005      0.002]; %kg.m^(-2)

% -> Base Tronco
Dimensoes.Tronco.Base.massa=0.089; %kg
Dimensoes.Tronco.Base.centro_de_massa=[0 13.411 0.22]; %mm
% ^^(relativamente aos eixos de rotação do tronco/pelvis) ^^
Dimensoes.Tronco.Base.inercia=...
    [3.65e-005   -7.55e-014   -3.83e-009
    -7.55e-014    1.23e-004    4.68e-007
    -3.83e-009    4.68e-007    1.22e-004]; %kg.m^(-2)

% -> Tronco
Dimensoes.Tronco.Tronco.massa=1.849; %kg
Dimensoes.Tronco.Tronco.centro_de_massa=[2.255 100.867 -18.896]; %mm
% ^^(relativamente aos eixos de inclinacao) ^^
Dimensoes.Tronco.Tronco.inercia=...
    [0.007         8.48e-005    -2.73e-005
    8.48e-005      0.006        5.85e-004
    -2.73e-005     5.85e-004      0.01]; %kg.m^(-2)

% -> Ombro
Dimensoes.Braco_Direito.Ombro.comprimento=44; %mm
Dimensoes.Braco_Direito.Ombro.centro_de_massa=[-18.64 0 -2.17]; %mm
Dimensoes.Braco_Esquerdo.Ombro.centro_de_massa=[18.64 0 -2.17]; %mm
Dimensoes.Braco_Direito.Ombro.massa=0.077; %kg
Dimensoes.Braco_Direito.Ombro.inercia=...
    [2.3e-005   -2e-009   4.24e-006
     -2e-009   3.68e-005  -2e-009
    4.24e-006  -2e-009   2.3e-005]; %kg.m^(-2)
Dimensoes.Braco_Esquerdo.Ombro.inercia=...
    [2.3e-005    2e-009   4.24e-006
     2e-009   3.68e-005   2e-009
    4.24e-006   2e-009   2.3e-005]; %kg.m^(-2)

% -> Braco
Dimensoes.Braco_Direito.Braco.comprimento=123; %mm
Dimensoes.Braco_Direito.Braco.massa=0.25; %kg
Dimensoes.Braco_Direito.Braco.centro_de_massa=[-0.5 -62.457 0]; %mm
Dimensoes.Braco_Esquerdo.Braco.centro_de_massa=[0.5 -62.457 0]; %mm
Dimensoes.Braco_Direito.Braco.inercia=...
    [5.17e-004    6.14e-006    7.6e-008
    6.14e-006    4.08e-005   -6.73e-006
    7.6e-008    -6.73e-006    5.16e-004]; %kg.m^(-2)
Dimensoes.Braco_Esquerdo.Braco.inercia=...
    [5.17e-004   -6.14e-006   -7.6e-008
    -6.14e-006    4.08e-005   -6.73e-006
    -7.6e-008    -6.73e-006    5.16e-004]; %kg.m^(-2)

% -> Antebraco
Dimensoes.Braco_Direito.Antebraco.comprimento=106; %mm
Dimensoes.Braco_Direito.Antebraco.massa=0.048; %kg
Dimensoes.Braco_Direito.Antebraco.centro_de_massa=[-3.418 -26.603 0]; %mm
Dimensoes.Braco_Esquerdo.Antebraco.centro_de_massa=[3.418 -26.603 0]; %mm
Dimensoes.Braco_Direito.Antebraco.inercia=...
    [4.18e-005   4.34e-006    8.23e-012
    4.34e-006    1.87e-005   -8.37e-012
    8.23e-012   -8.37e-012    5.76e-005]; %kg.m^(-2)
Dimensoes.Braco_Esquerdo.Antebraco.inercia=...
    [4.18e-005  -4.34e-006    8.23e-012
   -4.34e-006    1.87e-005    8.37e-012
    8.23e-012    8.37e-012    5.76e-005]; %kg.m^(-2)

% -> Cabeca
Dimensoes.Cabeca.massa=0.333; %kg
Dimensoes.Cabeca.centro_de_massa=[0 22.4 -11.3]; %mm
Dimensoes.Cabeca.inercia=...
    [1.95e-004    4.6e-007     -1.6e-007
    4.6e-007     2.48e-004    -1.8e-005
    -1.6e-007    -1.8e-005      2.75e-004]; %kg.m^(-2)

end