using RobotNet10.Shared.Numbers;
namespace RobotNet10.RobotApp.Detection;
#region Service Configuration
///
/// Configuration for MarkerLandmarkDetector service
/// Loaded from RobotConfig JSON (e.g., ModelConfigs/test.json)
///
public class MarkerDetectorConfiguration
{
///
/// Device transforms: deviceId -> Pose3D in base_link frame
///
public DeviceTransform[] LidarDevices { get; set; } = [];
public DeviceTransform[] QrDevices { get; set; } = [];
}
///
/// Transform configuration for a device (camera/LiDAR) relative to base_link
///
public struct DeviceTransform
{
public string DeviceId { get; set; }
///
/// Position (X, Y, Z in meters) in base_link frame
///
public Vector3 Position { get; set; }
///
/// Orientation (quaternion) in base_link frame
///
public Quaternion Orientation { get; set; }
///
/// Intensity threshold for reflective marker detection (LiDAR devices only)
///
public double IntensityThreshold { get; set; }
}
#endregion