27 lines
986 B
C#
27 lines
986 B
C#
using CartographerSharp.Mapping;
|
|
using RobotNet10.RobotApp.SLAM.Cartographer;
|
|
|
|
namespace RobotNet10.RobotApp.SLAM.Cartographer;
|
|
|
|
public static class CartographerExtensions
|
|
{
|
|
extension(IServiceCollection services)
|
|
{
|
|
public IServiceCollection AddCartographer(IConfigurationSection configuration)
|
|
{
|
|
// Cartographer / Localization services
|
|
services.Configure<CartographerConfiguration>(configuration);
|
|
|
|
// Core Cartographer service (singleton - manages state machine, MapBuilder, sensor pipeline, localization, and occupancy grid)
|
|
// Also implements IHostedService to start automatically
|
|
services.AddSingleton<CartographerService>();
|
|
services.AddSingleton<ISLAMService>(sp => sp.GetRequiredService<CartographerService>());
|
|
services.AddHostedService(sp => sp.GetRequiredService<CartographerService>());
|
|
|
|
return services;
|
|
}
|
|
}
|
|
|
|
|
|
}
|