User Tools

Site Tools


aircraft:tmd:rigidbody

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
aircraft:tmd:rigidbody [2018/09/30 13:39] jhaircraft:tmd:rigidbody [2018/09/30 14:43] (current) – [Rigidbody] jh
Line 8: Line 8:
 {{ :aircraft:tmd:dr400_rigidbody.png |}} {{ :aircraft:tmd:dr400_rigidbody.png |}}
  
-==== Rigidbody =====+===== Rigidbody ======
  
 Aerofly uses the mathematical concept of a rigidbody to simulate the aircraft mass. A rigidbody in Aerofly can be thought of as a box with a certain size, a certain mass, position and orientation, velocity and angular velocity (rotation speed). Roughly speaking "a box that moves and rotates". Aerofly uses the mathematical concept of a rigidbody to simulate the aircraft mass. A rigidbody in Aerofly can be thought of as a box with a certain size, a certain mass, position and orientation, velocity and angular velocity (rotation speed). Roughly speaking "a box that moves and rotates".
Line 123: Line 123:
 Allows full 6 degrees of motion: 3 translation components and 3 rotational components. Allows full 6 degrees of motion: 3 translation components and 3 rotational components.
  
 +== Typical short version ===
 > **Caution**: Requires two rigidbodies with the names ''Fuselage'' and ''LeftElevator'' > **Caution**: Requires two rigidbodies with the names ''Fuselage'' and ''LeftElevator''
  
Line 128: Line 129:
                 <[string8][Body0][Fuselage]>                 <[string8][Body0][Fuselage]>
                 <[string8][Body1][LeftElevator]>                 <[string8][Body1][LeftElevator]>
-                <[tmvector3d][R0][-3.675600 0.115200 0.522000]> +                <[tmvector3d][X0][ 1.0 0.0 0.0 ]> 
-                <[float64][Kfx][181439.872971]> +                <[tmvector3d][Y0][ 0.0 1.0 0.0 ]> 
-                <[float64][Kfy][181439.872971]> +                <[tmvector3d][Z0][ 0.0 0.0 1.0 ]> 
-                <[float64][Kfz][181439.872971]> +                <[tmvector3d][R0][ 0.0.0.]> 
-                <[float64][Dfx][68.851633]> +                <[float64][Kfx][100000000.0]> 
-                <[float64][Dfy][68.851633]> +                <[float64][Kfy][100000000.0]> 
-                <[float64][Dfz][68.851633]> +                <[float64][Kfz][100000000.0]> 
-                <[float64][Ktx][235146.110785]> +                <[float64][Dfx][100000.0]> 
-                <[float64][Kty][100000.0]> +                <[float64][Dfy][100000.0]> 
-                <[float64][Ktz][235146.110785]> +                <[float64][Dfz][100000.0]> 
-                <[float64][Dtx][892.317120]> +                <[float64][Ktx][3000000.0]> 
-                <[float64][Dty][892.317120]> +                <[float64][Kty][100000000.0]> 
-                <[float64][Dtz][892.317120]> +                <[float64][Ktz][100000000.0]> 
-                <[float64][ForceMax][326591.968483]> +                <[float64][Dtx][100000.0]> 
-                <[float64][TorqueMax][1175731.055392]>+                <[float64][Dty][100000.0]> 
 +                <[float64][Dtz][100000.0]> 
 +                <[float64][ForceMax][500000.0]> 
 +                <[float64][TorqueMax][30000.0]> 
 +            ></code> 
 +             
 +== Full version === 
 + 
 +> **Caution**: Requires two rigidbodies with the names ''Fuselage'' and ''LeftElevator'' and some object with the name ''ServoElevator'' and one with the name ''ServoRudder''
 + 
 +<code>            <[jointlinear][JointFuselageLeftElevator][] 
 +                <[string8][Body0][Fuselage]> 
 +                <[string8][Body1][LeftElevator]> 
 +                <[tmvector3d][X0][ 1.0 0.0 0.0 ]> 
 +                <[tmvector3d][Y0][ 0.0 1.0 0.0 ]> 
 +                <[tmvector3d][Z0][ 0.0 0.0 1.0 ]> 
 +                <[tmvector3d][R0][ 0.0 0.0 0.0 ]> 
 +                <[float64][Kfx][100000000.0]> 
 +                <[float64][Kfy][100000000.0]> 
 +                <[float64][Kfz][100000000.0]> 
 +                <[float64][Dfx][100000.0]> 
 +                <[float64][Dfy][100000.0]> 
 +                <[float64][Dfz][100000.0]> 
 +                <[float64][Ktx][3000000.0]> 
 +                <[float64][Kty][100000000.0]> 
 +                <[float64][Ktz][100000000.0]> 
 +                <[float64][Dtx][100000.0]> 
 +                <[float64][Dty][100000.0]> 
 +                <[float64][Dtz][100000.0]> 
 +                <[float64][ForceMax][500000.0]> 
 +                <[float64][TorqueMax][30000.0]>
                 <[string8][Rotation0Control][ServoElevator.Output]>                 <[string8][Rotation0Control][ServoElevator.Output]>
-                <[tmvector3d][Rotation0Axis][0.0 1.0 0.0]>+                <[tmvector3d][Rotation0Axis][ 0.0 1.0 0.0 ]>
                 <[float64][Rotation0Angle][1.0]>                 <[float64][Rotation0Angle][1.0]>
 +                <[string8][Rotation1Control][ServoRudder.Output]>
 +                <[tmvector3d][Rotation1Axis][ 0.0 0.0 1.0 ]>
 +                <[float64][Rotation1Angle][1.0]>
 +                <[tmvector3d][PreLoad][ 0.0 0.0 0.0 ]>
 +                <[tmvector3d][PreTension][ 0.0 0.0 0.0 ]>
                 <[int32][Rigid][0]>                 <[int32][Rigid][0]>
             ></code>             ></code>
 +
 +=== Rigid ==
 +Setting ''Rigid'' to 1 instead of 0 will make this connection indestructible and completely solid. No translation or rotation will be possible and all parameter values are ignored.
 +
 +=== R0 ===
 +
 +''R0'' is the attachment point
 +
 +=== X0, Y0, Z0 ===
 +
 +X0, Y0 and Z0 define a rotation matrix to rotate the joint's axes. This is needed if the weakest axis is at a diagonal attitude.
 +
 +=== Kf, Kt ==
 +All ''Kf'' values are spring constants in N/m that define the stiffness of the translation.
 +''Kt'' are torsion damper constants.
 +
 +=== Df ==
 +All ''Df'' values are damping constants in N/(m/s) that define the damping or the relative velocity
 +''Dt'' are torsion damper constants.
 +
 +=== ForceMax, TorqueMax ===
 +Defines the force and torque at which the connection breaks. From that moment on the two bodies are completely independant and the crash reset timer is started which reloads the aircraft after (default) 3 seconds.
 +
 +=== Rotation Input ===
 +
 +Using Rotation0Control, Rotation0Angle and Rotation0Axis one can define a connection that is actuated. Another rotation on the same joint can be made with the 'Rotation1Control, Rotation1Angle and Rotation1Axis.
 +
 +=== PreLoad, PreTension ===
 +Defines the offset force (in Newtons) or torque (in Newton-Meters). When the deflection or displacement is zero this force or torque is still acting between the two bodies. Normally the landing gear would compress under the weight of the aircraft but the PreLoad parameter could reduce this displacement to zero on the ground. In the air the gear would then extend outward.
 ==== Joint-Torque ==== ==== Joint-Torque ====
  
aircraft/tmd/rigidbody.1538307555.txt.gz · Last modified: 2018/09/30 13:39 by jh