64 lines
2.0 KiB
C#
64 lines
2.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using static CommonUsage.Protocols.VDA5050.Objects.agvGeometry;
|
|
|
|
namespace CommonUsage.Protocols.VDA5050.Objects
|
|
{
|
|
public class agvGeometry
|
|
{
|
|
// Wheel Definitions
|
|
public List<wheelDefinition> wheelDefinitions { get; set; } = new List<wheelDefinition>();
|
|
|
|
// 2D Envelopes
|
|
public List<envelope2D> envelopes2D { get; set; } = new List<envelope2D>();
|
|
|
|
// 3D Envelopes
|
|
public List<envelope3D> envelopes3D { get; set; } = new List<envelope3D>();
|
|
|
|
public class wheelDefinition
|
|
{
|
|
public enum WheelType { DRIVE, CASTER, FIXED, MECANUM }
|
|
|
|
public WheelType type { get; set; }
|
|
public bool isActiveDriven { get; set; }
|
|
public bool isActiveSteered { get; set; }
|
|
|
|
// Wheel Position
|
|
public double positionX { get; set; }
|
|
public double positionY { get; set; }
|
|
public double positionTheta { get; set; } // Required for fixed wheels
|
|
|
|
// Wheel Properties
|
|
public double diameter { get; set; }
|
|
public double width { get; set; }
|
|
public double centerDisplacement { get; set; } = 0; // Default to 0 if not defined
|
|
public string constraints { get; set; }
|
|
}
|
|
|
|
public class envelope2D
|
|
{
|
|
public string set { get; set; }
|
|
public List<polygonPoint> polygonPoints { get; set; } = new List<polygonPoint>();
|
|
public string description { get; set; }
|
|
|
|
public class polygonPoint
|
|
{
|
|
public double x { get; set; }
|
|
public double y { get; set; }
|
|
}
|
|
}
|
|
|
|
public class envelope3D
|
|
{
|
|
public string set { get; set; }
|
|
public string format { get; set; }
|
|
public object data { get; set; } // JSON object for 3D envelope data
|
|
public string url { get; set; }
|
|
public string description { get; set; }
|
|
}
|
|
}
|
|
|
|
}
|
|
|