64 lines
2.1 KiB
C#
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);
|
|
}
|