Files
BQP/srcs/RobotNet10/RobotApp/RobotNet10.RobotApp/SLAM/Cartographer/CartographerConfiguration.cs
2026-07-13 09:25:40 +07:00

49 lines
1.5 KiB
C#

namespace RobotNet10.RobotApp.SLAM.Cartographer;
/// <summary>
/// Root configuration for Cartographer integration
/// </summary>
public class CartographerConfiguration
{
/// <summary>
/// Enable or disable Cartographer service
/// </summary>
public bool Enable { get; set; } = true;
/// <summary>
/// Use odometry data if available
/// </summary>
public bool UseOdometry { get; set; } = true;
/// <summary>
/// Sensor configuration
/// </summary>
public SensorConfiguration Sensors { get; set; } = new();
/// <summary>
/// Trajectory builder configuration
/// </summary>
public TrajectoryBuilderConfiguration TrajectoryBuilder { get; set; } = new();
/// <summary>
/// Map builder configuration
/// </summary>
public MapBuilderConfiguration MapBuilder { get; set; } = new();
/// <summary>
/// Map storage configuration
/// </summary>
public MapStorageConfiguration MapStorage { get; set; } = new();
/// <summary>
/// MCL (Monte Carlo Localization) configuration. When Enabled, SetInitialPoseAsync uses MCL to refine pose before starting Cartographer trajectory (xloc flow).
/// </summary>
public MclConfiguration Mcl { get; set; } = new();
/// <summary>
/// Occupancy grid generation configuration.
/// Controls probability thresholds, output mode, wall thinning, and ambiguous cell handling.
/// </summary>
public OccupancyGridConfiguration OccupancyGrid { get; set; } = new();
}