Initial commit

This commit is contained in:
2026-07-03 16:37:12 +07:00
commit 63b8c1ea8b
1931 changed files with 640587 additions and 0 deletions

View File

@@ -0,0 +1,80 @@
namespace RobotNet10.Shared.Sensor;
/// <summary>
/// LaserScan message (sensor_msgs/LaserScan)
/// Single scan from a planar laser range-finder
/// </summary>
public struct LaserScan
{
/// <summary>
/// Header with timestamp and frame ID
/// </summary>
public Header Header { get; set; }
/// <summary>
/// Start angle of the scan (rad)
/// </summary>
public double AngleMin { get; set; }
/// <summary>
/// End angle of the scan (rad)
/// </summary>
public double AngleMax { get; set; }
/// <summary>
/// Angular distance between measurements (rad)
/// </summary>
public double AngleIncrement { get; set; }
/// <summary>
/// Time between measurements (seconds) - if your scanner
/// is moving, this will be used in interpolating position
/// of 3d points
/// </summary>
public double TimeIncrement { get; set; }
/// <summary>
/// Time between scans (seconds)
/// </summary>
public double ScanTime { get; set; }
/// <summary>
/// Minimum range value (m)
/// </summary>
public double RangeMin { get; set; }
/// <summary>
/// Maximum range value (m)
/// </summary>
public double RangeMax { get; set; }
/// <summary>
/// Range data (m)
/// (Note: values < range_min or > range_max should be discarded)
/// </summary>
public double[] Ranges { get; set; }
/// <summary>
/// Intensity data (device-specific units)
/// If your device does not provide intensities, please leave the array empty
/// </summary>
public double[] Intensities { get; set; }
/// <summary>
/// Default constructor
/// </summary>
public LaserScan()
{
Header = new Header();
AngleMin = 0.0;
AngleMax = 0.0;
AngleIncrement = 0.0;
TimeIncrement = 0.0;
ScanTime = 0.0;
RangeMin = 0.0;
RangeMax = 0.0;
Ranges = [];
Intensities = [];
}
}