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