96 lines
2.5 KiB
C#
96 lines
2.5 KiB
C#
namespace RobotNet10.RobotApp.Client.Shared.Motion;
|
|
|
|
/// <summary>
|
|
/// DTO cho thông tin Odometry từ IOdometryEstimator
|
|
/// SignalR serialization-friendly version using simple properties
|
|
/// instead of System.Numerics types which don't serialize properly with System.Text.Json
|
|
/// </summary>
|
|
public class OdometryDto
|
|
{
|
|
/// <summary>
|
|
/// Timestamp của pose
|
|
/// </summary>
|
|
public DateTime Timestamp { get; set; }
|
|
|
|
/// <summary>
|
|
/// Frame ID (header.frame_id, parent frame, typically "odom")
|
|
/// </summary>
|
|
public string FrameId { get; set; } = "odom";
|
|
|
|
/// <summary>
|
|
/// Child frame ID (typically "base_link" or "base_footprint") - cùng giá trị gửi lên XLOC
|
|
/// </summary>
|
|
public string ChildFrameId { get; set; } = "base_link";
|
|
|
|
/// <summary>
|
|
/// Position X (meters)
|
|
/// </summary>
|
|
public double PositionX { get; set; }
|
|
|
|
/// <summary>
|
|
/// Position Y (meters)
|
|
/// </summary>
|
|
public double PositionY { get; set; }
|
|
|
|
/// <summary>
|
|
/// Position Z (meters)
|
|
/// </summary>
|
|
public double PositionZ { get; set; }
|
|
|
|
/// <summary>
|
|
/// Orientation Quaternion X
|
|
/// </summary>
|
|
public double OrientationX { get; set; }
|
|
|
|
/// <summary>
|
|
/// Orientation Quaternion Y
|
|
/// </summary>
|
|
public double OrientationY { get; set; }
|
|
|
|
/// <summary>
|
|
/// Orientation Quaternion Z
|
|
/// </summary>
|
|
public double OrientationZ { get; set; }
|
|
|
|
/// <summary>
|
|
/// Orientation Quaternion W
|
|
/// </summary>
|
|
public double OrientationW { get; set; }
|
|
|
|
/// <summary>
|
|
/// Tần số update odometry hiện tại (Hz)
|
|
/// </summary>
|
|
public double UpdateFrequency { get; set; }
|
|
|
|
/// <summary>
|
|
/// Vận tốc tuyến tính X (m/s) - hướng tiến
|
|
/// </summary>
|
|
public double LinearVelocityX { get; set; }
|
|
|
|
/// <summary>
|
|
/// Vận tốc tuyến tính Y (m/s)
|
|
/// </summary>
|
|
public double LinearVelocityY { get; set; }
|
|
|
|
/// <summary>
|
|
/// Vận tốc tuyến tính Z (m/s)
|
|
/// </summary>
|
|
public double LinearVelocityZ { get; set; }
|
|
|
|
/// <summary>
|
|
/// Vận tốc góc X (rad/s)
|
|
/// </summary>
|
|
public double AngularVelocityX { get; set; }
|
|
|
|
/// <summary>
|
|
/// Vận tốc góc Y (rad/s)
|
|
/// </summary>
|
|
public double AngularVelocityY { get; set; }
|
|
|
|
/// <summary>
|
|
/// Vận tốc góc Z (rad/s) - quay quanh trục dọc
|
|
/// </summary>
|
|
public double AngularVelocityZ { get; set; }
|
|
}
|
|
|