...
Minimal parsing where we only have information about the vehicle speed CAN message.
Separate four wheel speed parsing, velocity sign information may be added if the gear stick reading is available.
Parsing with steering model information, there are two ways to specify the steering tables depending on the information available:
steering wheel angle vs (right or left) wheel angles
orsteering wheel angle vs average wheel angles
. Using this data we can perform linear interpolation to compute the wheel angles for any given steering angle and use it forAckermann
steering.
Info |
---|
In most cases, having the overall vehicle speed message or the separate wheel speed messages is more than enough and no steering information is needed. If available, the gear stick reading is useful to help identify the reverse driving. |
Minimal Vehicle Parsing
This parser only requires information about the overall vehicle speed message. So it only provide this data as input to the fusion algorithm. Even though this can be enough for some use cases, it may be better to provide separate wheel speeds to extract and use the vehicle angular velocity information as well.
...
Code Block |
---|
"vehicle": { "type": "Automotive", "vehicleStateEndpoint": "tcp://*:8999", "settings": { "canInterface": "InternalPeakCAN", "canEndpoint": "tcp://localhost:9921", "vehicleType": "External", "wheelBase": 2.750, "trackWidth": 1.595, "canProtocol": { "velocityCanId": 212, "velocityScale": 0.015625012, "endianness": "little", "velocityStartBits": { "FrontLeftWheel": 0, "FrontRightWheel": 16, "RearLeftWheel": 32, "RearRightWheel": 48 } } } } |
...
If available, the steering wheel message can also be parsed but using it in the drive model requires input about the vehicle steering model as detailed below. Although we provide this option, using simpler drive models proved to work just fine.
Parameter name | Description | Default |
---|---|---|
steeringCanId | CAN id for the steering wheel angle message | n/a |
steeringScale | Value to multiply the parsed raw steering wheel angle by in order to get angle in degrees. | 1.0 |
steeringWheelAngles | The steering table column containing sample steering wheel angles. | n/a |
wheelAngleType | Specification of provided | n/a |
wheelAngles | Steering table column containing corresponding wheel angle values. | n/a |
driveModel | In addition to | Differential |
...
Parameter name | Description | Default |
---|---|---|
echoFusedPose |
| false |
endpoint | Output port for the fusion result | 8801 |
fitModel | Model to use for fusion. | ModelGnssImu |
accelError | Acceleration error for Kalman filter. Keep default value. | 0.01 |
omegaError | Omega error for Kalman filter. Keep default value. | 0.02 |
measurementError | Measurement error for Kalman filter. Keep default value. | 0.05 |
imuToCarRotation | Orientation quaternion of IMU relative to car frame | 1, 0, 0, 0 |
smoothFit | Enable this option to prevent filter output from jumping between IMU data and GPS measurement. Keep enabled. | true |
singleEndpoint |
| true |
poseEndpoint | Output port for the |
|
globalPoseEndpoint | Output port for the |
|
outputRawGnssData | Publishes raw Gnss data position instead of the fusion output. Useful for debugging. | false |
outputWhenFilterNotReady | Publishes a temporary raw Gnss data output while the filter is initializing. Useful for a minimal check before moving the vehicle. | false |
Output Data Format
FusedVehiclePose
...