Simple Drive Type A – step 0032 – March 2010

1 Purpose of SrrVehicleDriveA

SrrTrains Drives are a means to move trains over tracks and turnouts.

The basic task of a drive is to take the input values from a cab and calculate a driving force F (eff) from them.

Furthermore the drive will calculate the rotation of its axles and report it to the user (and the cab) via tachometer.

The simple vehicle drive type A takes a regulatingNotch as input value. The user can set a traction-velocity diagram (n traction-velocity diagrams for n positions of regulatingNotch).

If direction is false, the traction-velocity-diagram will be rotated by 180° around the origin.

2 User Interface of SrrVehicleDriveA (uiObj)

SrrVehicleDriveA is an external prototype that is available at the directory srr/.

<ProtoDeclare name="SrrVehicleDriveA">

<ProtoInterface>

<field accessType='inputOutput' name='objType' type='SFString' value='SrrVehicleDriveA'/>

<field accessType='inputOutput' name='version' type='SFFloat' value='0.0032'/>

<field accessType='inputOutput' name='parentVehicle' type='SFNode'/>

<field accessType='inputOutput' name='childAxles' type='MFNode'/>

<field accessType='inputOutput' name='driveRadius' type='SFFloat' value="1.0"/>

<field accessType='inputOutput' name='driveAngle' type='SFFloat'/>

<field accessType='inputOnly' name='basicInitialization' type='SFInt32'/>

<field accessType='outputOnly' name='basicallyInitialized' type='SFNode'/>

<field accessType='inputOutput' name='numberOfKeys' type='SFInt32' value="3"/>

<field accessType='inputOutput' name='vau' type='MFFloat' value="-20 0 20, -20 0 20, -20 0 20"/>

<field accessType='inputOutput' name='zet' type='MFFloat' value="0 0 0, 4000 4000 0, 8000 8000 0"/>

<field accessType='inputOutput' name='regulatingNotch' type='SFInt32' value="0"/>

<field accessType='inputOutput' name='direction' type='SFBool' value="true"/>

<field accessType='outputOnly' name='eff' type='SFFloat' value="0.0"/>

<field accessType='inputOutput' name='tachometer' type='SFFloat' value="0.0"/>

</ProtoInterface>

The fields parentVehicle, childAxles, basicInitialization and basicallyInitialized are used in the SRR framework and in other SRR objects internally and need not be described here.

The user sets the driveRadius to enable transformations between velocity and angular velocity. driveAngle will output the angle of the drive for purposes of animation.

The values numberOfKeys, vau and zet define the traction-velocity diagrams for N positions of the regulating notch, zet (Z) is the driving force at velocity vau (v). The integer numberOfKeys is the number of key's and keyValue's, that will be set in a <ScalarInterpolator>-Node from the arrays zet and vau, every time, when regulatingNotch and/or direction changes.

The tachometer gives the rotating speed of the drive in m/s.