Every subsystem has access to the control signal bus which is modelled using expandable connectors. This enables signals to be easily added to the control signal bus to suit a particular application. A minimal set of signals has been defined to ensure basic compatibility between the various automotive libraries currently being developed.
The control signal bus should not contain physical connectors but should contain sensed or actuation values as signal connections.
Signals placed on the control signal bus should be named following the same rules as naming the instance of a class. This is based on the view that the items placed on to the control signal bus are actually connectors rather than simple variable values.
Signals placed on the bus are written with a lower-case initial letter and then initial capital letters for each word, like in "driverEnvironment".
The names of the connectors placed on to the bus should start with the name of the subsystem that is outputting the connector on to the bus. This should then be followed by "Bus". and then a descriptive name for the connector, like "engineBus.engineSpeed" or "chassisBus.longitudinalVelocity".
The signals in the following table are common to all vehicle types and should be combined with the additional signals defined for the different vehicle variants (i.e. manual and automatic transmission equipped vehicles).
Signal name | Unit | Signal description |
---|---|---|
brakesBus.wheelSpeed_n | rad/s | Individual wheel speed where n is an integer describing which wheel this is from. |
chassisBus.longitudinalVelocity | m/s | Vehicle longitudinal velocity |
driverBus.ignition | Enumeration | Signals whether the driver wants the vehice to be operating. There are 3 possible values: Off, On or Start (VehicleInterfaces.Types.IgnitionSetting) |
engineBus.speed | rad/s | Engine speed |
transmissionBus.outputSpeed | rad/s | Transmission output shaft speed |
transmissionControlBus.currentGear | Integer | Currently selected gear |
The following additional signals are required for manual transmission vehicles.
Signal name | Unit | Signal description |
---|---|---|
transmissionBus.clutchLocked | Boolean | True if the clutch is locked, otherwise false |
The following additional signals are required for an automatic transmission vehicles.
Signal name | Unit | Signal description |
---|---|---|
driverBus.gearboxMode | Enumeration | Gearbox Mode (enumeration when supported, currently uses Integers defined according to VehicleInterfaces.Types.GearMode) |
driverBus.requestedGear | Integer | Driver requested gear for use in manual or limited gearbox modes |
The following additional signals are required to model a drive-by-wire vehicle and are common for both manual and automatic transmission variants.
Signal name | Unit | Signal description |
---|---|---|
driverBus.acceleratorPedalPosition | None | Driver accelerator pedal position - normalised Real, 0 = pedal released, 1 = pedal fully pressed |
driverBus.brakePedalPosition | None | Driver brake pedal position - normalised Real, 0 = pedal released, 1 = pedal fully pressed |
The following additional signals are required for a manual transmission drive-by-wire vehicle.
Signal name | Unit | Signal description |
---|---|---|
driverBus.clutchPedalPosition | None | Driver clutch pedal position - normalised Real, 0 = pedal released, 1 = pedal fully pressed |
driverBus.gear | Integer | Driver selected gear |
Name | Description |
---|---|
AddingSignals | Adding signals to the bus |