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