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

54 lines
1.5 KiB
C#

using RobotNet10.Shared.Geometry;
namespace RobotNet10.RobotApp.Motion;
/// <summary>
/// Cấu hình cho một bánh xe trong DifferentialDrive
/// </summary>
public class WheelConfiguration
{
/// <summary>
/// Device ID của servo điều khiển bánh xe này
/// </summary>
public string DeviceId { get; set; } = string.Empty;
/// <summary>
/// Vị trí bánh xe so với tâm robot (Pose: x, y, orientation)
/// Đơn vị: mét
/// </summary>
public Pose Position { get; set; }
/// <summary>
/// Đường kính bánh xe (mét)
/// </summary>
public double WheelDiameter { get; set; }
/// <summary>
/// Số xung encoder trên 1 vòng quay của bánh xe
/// </summary>
public int PulsesPerRevolution { get; set; }
/// <summary>
/// Polarity của encoder/motor:
/// - false (default): Velocity dương → bánh xe roll forward theo roll direction của nó
/// - true: Velocity dương → bánh xe roll backward (encoder/motor đấu ngược)
/// </summary>
public bool IsReversed { get; set; } = false;
}
/// <summary>
/// Cấu hình cho DifferentialDrive
/// </summary>
public class DifferentialDriveConfiguration
{
/// <summary>
/// Cấu hình bánh xe trái
/// </summary>
public WheelConfiguration LeftWheel { get; set; } = new();
/// <summary>
/// Cấu hình bánh xe phải
/// </summary>
public WheelConfiguration RightWheel { get; set; } = new();
}