Initial commit

This commit is contained in:
2026-07-03 16:37:12 +07:00
commit 63b8c1ea8b
1931 changed files with 640587 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
namespace RobotNet10.RobotApp.Client.Shared.Motion;
/// <summary>
/// DTO cho trạng thái ManualControlService
/// </summary>
public class ManualControlStatusDto
{
public string State { get; set; } = string.Empty;
public bool IsEnabled { get; set; }
public double CurrentLinearVelocity { get; set; }
public double CurrentAngularVelocity { get; set; }
public RfHandleStatusDto? RfHandleStatus { get; set; }
}
/// <summary>
/// DTO cho trạng thái RF Handle
/// </summary>
public class RfHandleStatusDto
{
public int Heartbeat { get; set; }
public bool Ready { get; set; }
public bool Locked { get; set; }
public bool EStop { get; set; }
public bool Enable { get; set; }
public int Speed { get; set; }
public double Linear { get; set; }
public double Angular { get; set; }
public string Mode { get; set; } = string.Empty;
public DateTime LastUpdateTime { get; set; }
}

View File

@@ -0,0 +1,95 @@
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; }
}