Initial commit

This commit is contained in:
2026-07-03 16:31:37 +07:00
commit 899c7c637d
1939 changed files with 641750 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
using RobotNet.VDA5050.Type;
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace RobotNet.VDA5050.Order;
public class Corridor
{
[Required]
[JsonPropertyName("leftWidth")]
public double LeftWidth { get; set; }
[Required]
[JsonPropertyName("rightWidth")]
public double RightWidth { get; set; }
[JsonPropertyName("corridorRefPoint")]
[JsonConverter(typeof(JsonStringEnumConverter))]
public CorridorRefPoint CorridorRefPoint { get; set; }
}

View File

@@ -0,0 +1,67 @@
using RobotNet.VDA5050.Type;
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace RobotNet.VDA5050.Order;
public class Edge
{
[Required]
[JsonPropertyName("edgeId")]
public string EdgeId { get; set; } = string.Empty;
[Required]
[JsonPropertyName("sequenceId")]
public int SequenceId { get; set; }
[JsonPropertyName("edgeDescription")]
public string? EdgeDescription { get; set; }
[Required]
[JsonPropertyName("released")]
public bool Released { get; set; }
[Required]
[JsonPropertyName("startNodeId")]
public string StartNodeId { get; set; } = string.Empty;
[Required]
[JsonPropertyName("endNodeId")]
public string EndNodeId { get; set; } = string.Empty;
[JsonPropertyName("maxSpeed")]
public double? MaxSpeed { get; set; }
[JsonPropertyName("maxHeight")]
public double? MaxHeight { get; set; }
[JsonPropertyName("minHeight")]
public double? MinHeight { get; set; }
[JsonPropertyName("orientation")]
public double? Orientation { get; set; }
[JsonPropertyName("orientationType")]
public OrientationType? OrientationType { get; set; }
[JsonPropertyName("direction")]
public string? Direction { get; set; }
[JsonPropertyName("rotationAllowed")]
public bool? RotationAllowed { get; set; }
[JsonPropertyName("maxRotationSpeed")]
public double? MaxRotationSpeed { get; set; }
[JsonPropertyName("trajectory")]
public Trajectory? Trajectory { get; set; }
[JsonPropertyName("length")]
public double? Length { get; set; }
[JsonPropertyName("corridor")]
public Corridor? Corridor { get; set; }
[Required]
[JsonPropertyName("actions")]
public InstantAction.Action[] Actions { get; set; } = [];
}

View File

@@ -0,0 +1,29 @@
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace RobotNet.VDA5050.Order;
public class Node
{
[Required]
[JsonPropertyName("nodeId")]
public string NodeId { get; set; } = string.Empty;
[Required]
[JsonPropertyName("sequenceId")]
public int SequenceId { get; set; }
[JsonPropertyName("nodeDescription")]
public string? NodeDescription { get; set; }
[Required]
[JsonPropertyName("released")]
public bool Released { get; set; }
[JsonPropertyName("nodePosition")]
public NodePosition? NodePosition { get; set; } = new();
[Required]
[JsonPropertyName("actions")]
public InstantAction.Action[] Actions { get; set; } = [];
}

View File

@@ -0,0 +1,32 @@
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace RobotNet.VDA5050.Order;
public class NodePosition
{
[Required]
[JsonPropertyName("x")]
public double X { get; set; }
[Required]
[JsonPropertyName("y")]
public double Y { get; set; }
[JsonPropertyName("theta")]
public double? Theta { get; set; }
[JsonPropertyName("allowedDeviationXY")]
public double? AllowedDeviationXY { get; set; }
[JsonPropertyName("allowedDeviationTheta")]
public double? AllowedDeviationTheta { get; set; }
[Required]
[JsonPropertyName("mapId")]
public string MapId { get; set; } = string.Empty;
[JsonPropertyName("mapDescription")]
public string? MapDescription { get; set; }
}

View File

@@ -0,0 +1,48 @@
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace RobotNet.VDA5050.Order;
public class OrderMsg
{
[Required]
[JsonPropertyName("headerId")]
public uint HeaderId { get; set; }
[Required]
[JsonConverter(typeof(DateTimeConverter))]
[JsonPropertyName("timestamp")]
public DateTime Timestamp { get; set; }
[Required]
[JsonPropertyName("version")]
public string Version { get; set; } = "";
[Required]
[JsonPropertyName("manufacturer")]
public string Manufacturer { get; set; } = "";
[Required]
[JsonPropertyName("serialNumber")]
public string SerialNumber { get; set; } = "";
[Required]
[JsonPropertyName("orderId")]
public string OrderId { get; set; } = "";
[Required]
[JsonPropertyName("orderUpdateId")]
public int OrderUpdateId { get; set; }
[JsonPropertyName("zoneSetId")]
public string? ZoneSetId { get; set; }
[Required]
[JsonPropertyName("nodes")]
public Node[] Nodes { get; set; } = [];
[Required]
[JsonPropertyName("edges")]
public Edge[] Edges { get; set; } = [];
}

View File

@@ -0,0 +1,33 @@
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace RobotNet.VDA5050.Order;
public class ControlPoint
{
[Required]
[JsonPropertyName("x")]
public double X { get; set; }
[Required]
[JsonPropertyName("y")]
public double Y { get; set; }
[JsonPropertyName("weight")]
public double? Weight { get; set; }
}
public class Trajectory
{
[Required]
[JsonPropertyName("degree")]
public int Degree { get; set; }
[Required]
[JsonPropertyName("knotVector")]
public double[] KnotVector { get; set; } = [];
[Required]
[JsonPropertyName("controlPoints")]
public ControlPoint[] ControlPoints { get; set; } = [];
}