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