diff --git a/Runtime/RosMsgs/Sensor/sensor_msgs.cs b/Runtime/RosMsgs/Sensor/sensor_msgs.cs index f1d1dfe..50de53d 100644 --- a/Runtime/RosMsgs/Sensor/sensor_msgs.cs +++ b/Runtime/RosMsgs/Sensor/sensor_msgs.cs @@ -389,5 +389,66 @@ string IRosMsg.GetRosType() /// public float range; } + + public class LaserScan : IRosMsg, IStamped + { + string IRosMsg.GetRosType() + { + return "sensor_msgs.msg.LaserScan"; + } + + public Header header { get; set; } = new Header(); + + /// + /// start angle of the scan[rad] + /// + public float angle_min; + + /// + /// end angle of the scan [rad] + /// + public float angle_max; + + /// + /// angular distance between measurements [rad] + /// + public float angle_increment; + + /// + /// time between measurements [seconds] - if your scanner + /// is moving, this will be used in interpolating position + /// of 3d points + /// + public float time_increment; + + /// + /// time between scans [seconds] + /// + public float scan_time; + + /// + /// minimum range value [m] + /// + public float range_min; + + /// + /// maximum range value [m] + /// + public float range_max; + + /// + /// range data [m] + /// (Note: values < range_min or > range_max should be discarded) + /// + public float[] ranges; + + /// + /// intensity data [device-specific units]. If your + /// device does not provide intensities, please leave + /// the array empty. + /// + public float[] intensities; + } + } } \ No newline at end of file