VehicleDynamics.Utilities.Sensors

VehicleDynamics.Utilities.Sensors.CamberAngle VehicleDynamics.Utilities.Sensors.RelPositionSensor

NameDescription
CamberAngle  
RelPositionSensor Relative position sensor


VehicleDynamics.Utilities.Sensors.CamberAngle VehicleDynamics.Utilities.Sensors.CamberAngle

VehicleDynamics.Utilities.Sensors.CamberAngle

Information

This component measues the angles between two frames. If used between the hub and the ground, camber, caster and toe-in can be mesaured-

Modelica definition

model CamberAngle 
  extends ModelicaAdditions.MultiBody.Interfaces.Interact2;
  
  Real camberAngle;
  Real casterAngle;
  Real toeInAngle;
equation 
  
  camberAngle = Modelica.Math.acos(Sa[3, :]*Sb[3, :]);
  casterAngle = Modelica.Math.acos(Sa[2, :]*Sb[2, :]);
  toeInAngle = Modelica.Math.acos(Sa[1, :]*Sb[1, :]);
  ta = zeros(3);
  tb = zeros(3);
  fa = zeros(3);
  fb = zeros(3);
end CamberAngle;

VehicleDynamics.Utilities.Sensors.RelPositionSensor VehicleDynamics.Utilities.Sensors.RelPositionSensor

Relative position sensor

VehicleDynamics.Utilities.Sensors.RelPositionSensor

Modelica definition

model RelPositionSensor "Relative position sensor" 
  SI.Position r_rela[3];
  SI.Velocity v_rela[3];
  Real a_rela[3];
  Real vaux[3];
  
  Modelica.Blocks.Interfaces.OutPort relativePosition(final n=9);
  ModelicaAdditions.MultiBody.Interfaces.Frame_a frame_a;
  ModelicaAdditions.MultiBody.Interfaces.Frame_a frame_b;
equation 
  /*relative position vectors*/
  r_rela = transpose(frame_a.S)*(frame_b.r0 - frame_a.r0);
  vaux = cross(frame_a.w, r_rela);
  v_rela = transpose(frame_a.S)*(frame_b.S*frame_b.v) - frame_a.v - vaux;
  a_rela = transpose(frame_a.S)*(frame_b.S*frame_b.a) - frame_a.a - cross(
    frame_a.z, r_rela) - cross(frame_a.w, vaux + 2*v_rela);
  
  [relativePosition.signal] = [r_rela; v_rela; a_rela];
  
  frame_a.f = zeros(3);
  frame_b.f = zeros(3);
  frame_a.t = zeros(3);
  frame_b.t = zeros(3);
end RelPositionSensor;

HTML-documentation generated by Dymola Fri Jul 11 13:27:47 2003 .