@@ -436,6 +436,50 @@ message MovingObject
436436 // through.
437437 //
438438 optional double ground_clearance = 6 ;
439+
440+ // Detailed wheel data.
441+ //
442+ // \note OSI uses singular instead of plural for repeated field names.
443+ //
444+ repeated WheelData wheel_data = 7 ;
445+
446+ // \brief Information for a single wheel.
447+ //
448+ message WheelData
449+ {
450+ // The axle which contains this wheel. A value of 0 represents the
451+ // front-most axle of the vehicle with higher numbers incrementing
452+ // towards the rear-most axle.
453+ //
454+ optional uint32 axle = 1 ;
455+
456+ // The index of the wheel on the axle, counting in the direction
457+ // of positive-y, i.e. right-to-left.
458+ //
459+ // For example, on a standard 2-axle, 4-wheel car, the rear-right
460+ // wheel would be (axle=1, index=0).
461+ //
462+ optional uint32 index = 2 ;
463+
464+ // Steering angle with positive values indicating a clockwise
465+ // rotation about the z-axis. Must be zero for non-steering
466+ // wheels.
467+ //
468+ optional double steer_angle = 3 ;
469+
470+ // Rotation of the wheel about the axle in radians per second.
471+ //
472+ optional double rotation_rate = 4 ;
473+
474+ // Current rotation about the axle. Rotation angle
475+ // increases as the vehicle moves forward (x-positive) and
476+ // decreases as the vehicle moves backwards.
477+ //
478+ // \note This value doesn't wrap but permanently increases or
479+ // decreases.
480+ //
481+ optional double rotation_angle = 5 ;
482+ }
439483 }
440484
441485 //
0 commit comments