Files
Denso/srcs/RobotNet10/RobotApp/RobotNet10.RobotApp/Interfaces/ILocalization.cs
2026-07-03 16:31:37 +07:00

64 lines
2.1 KiB
C#

using RobotNet10.Shared;
namespace RobotNet10.RobotApp.Interfaces;
public interface ILocalization
{
/// <summary>
/// Trạng thái sẵn sàng của hệ thống định vị.
/// </summary>
bool IsReady { get; }
/// <summary>
/// Vị trí hiện tại của robot trong hệ tọa độ toàn cục theo trục X (đơn vị: mét).
/// </summary>
double X { get; }
/// <summary>
/// Vị trí hiện tại của robot trong hệ tọa độ toàn cục theo trục Y (đơn vị: mét).
/// </summary>
double Y { get; }
/// <summary>
/// Hướng hiện tại của robot trong hệ tọa độ toàn cục (đơn vị: radian).
/// </summary>
double Theta { get; }
/// <summary>
/// Giá trị cho phạm vi sai lệch của vị trí tính bằng mét..
/// </summary>
double DeviationRange { get; }
/// <summary>
/// Độ phù hợp của vị trí định vị hiện tại so với bản đồ (0.0 - 1.0).
/// </summary>
double LocalizationScore { get; }
/// <summary>
/// Bản đồ đang được sử dụng để định vị hiện tại.
/// </summary>
string CurrentActiveMap { get; }
/// <summary>
/// Giá trị thể hiện cho việc vị trí đã được khởi tạo.
/// </summary>
bool PositionInitialized { get; }
/// <summary>
/// Khởi tạo vị trí của robot trong hệ tọa độ toàn cục.
/// </summary>
/// <param name="x">đơn vị: mét</param>
/// <param name="y">đơn vị: mét</param>
/// <param name="theta">đơn vị: độ</param>
/// <returns></returns>
MessageResult SetInitializePosition(double x, double y, double theta);
/// <summary>
/// Khoảng cách từ vị trí hiện tại đến tọa độ (x, y) trong hệ tọa độ toàn cục.
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
double DistanceTo(double x, double y);
}