引入最短舵角行驶的CommonUsage并更新项目引用

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-28 18:38:12 +08:00
co-authored by Cursor
parent 8e8af847db
commit 583a7d00ca
78 changed files with 5585 additions and 12 deletions
@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace CommonUsage.Protocols.VDA5050.Messages
{
public class connectionMessage
{
public int headerId;
public DateTime timestamp;
public string version = "";
public string manufacturer = "";
public string serialNumber = "";
public string connectionState = ""; // Enum: {'ONLINE', 'OFFLINE', 'CONNECTIONBROKEN'}
}
}
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace CommonUsage.Protocols.VDA5050.Messages
{
public class errorMessage
{
public string serialNumber = "";
public string errorCode = ""; // Unique error code
public string description = ""; // Error description
public string severity = ""; // Enum {'WARNING', 'FATAL'}
public DateTime timestamp; // Time of the error
}
}
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Text;
using CommonUsage.Protocols.VDA5050.Objects;
namespace CommonUsage.Protocols.VDA5050.Messages
{
public class factsheetMessage
{
public int headerId;
public DateTime timestamp;
public string version = "";
public string manufacturer = "";
public string serialNumber = "";
public typeSpecification typeSpecification;
public physicalParameters physicalParameters;
public protocolLimits protocolLimits;
public protocolFeatures protocolFeatures;
public agvGeometry agvGeometry;
}
}
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Text;
using CommonUsage.Protocols.VDA5050.Objects;
namespace CommonUsage.Protocols.VDA5050.Messages
{
public class instanceAction
{
public uint headerId { get; set; } // Incremented for each new message.
public string timestamp { get; set; } // ISO 8601 UTC timestamp.
public string version { get; set; } // Protocol version.
public string manufacturer { get; set; } // AGV manufacturer.
public string serialNumber { get; set; } // Unique AGV serial number.
public List<actionState> actions { get; set; }
}
}
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Text;
using CommonUsage.Protocols.VDA5050.Objects;
namespace CommonUsage.Protocols.VDA5050.Messages
{
public class orderMessage
{
public uint headerId;
public string timestamp = "";
public string version = "";
public string manufacturer = "";
public string serialNumber = "";
public string orderId { get; set; }
public uint orderUpdateId { get; set; }
public node[] nodes { get; set; }
public edge[] edges { get; set; }
//public action[] action { get; set; }
}
}
@@ -0,0 +1,69 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using CommonUsage.Protocols.VDA5050.Objects;
namespace CommonUsage.Protocols.VDA5050.Messages
{
/// <summary>
/// 6.10 Topic: "state" (from AGV to master control)
/// todo: complete all fields required by VDA5050
/// </summary>
public class stateMessage
{
public uint headerId;
public string timestamp = "";
public string version = "";
public string manufacturer = "";
public string serialNumber = "";
/// <summary>
/// Unique order identification of the current order or the previously finished order.
/// The orderId is kept until a new order is received.
/// Empty string (""), if no previous orderId is available.
/// </summary>
public string orderId = "";
/// <summary>
/// Order update identification to identify, that an order update has been accepted by the AGV.
/// "0" if no previous orderUpdateId is available.
/// </summary>
public uint orderUpdatedId = 0;
public string lastNodeId;
public uint lastNodeSequenceId;
/// <summary>
/// Array of nodeState objects that need to be traversed for fulfilling the order (empty array if idle)
/// </summary>
public nodeState[] nodeStates = [];
/// <summary>
/// Array of edgeState objects that need to be traversed for fulfilling the order (empty array if idle)
/// </summary>
public edgeState[] edgeStates = [];
public agvPosition agvPosition;
public velocity velocity;
public load[] loads = [];
public bool driving;
public bool paused;
public bool newBaseRequest;
public double distanceSinceLastNode;
public batteryState batteryState;
public actionState[] actionStates = Array.Empty<actionState>();
public string operatingMode = "";
public List<errorState> errors { get; set; } = new List<errorState>(); // Array of errorState objects
public info[] information = [];
public safetyState safetyState;
}
}
@@ -0,0 +1,12 @@
using CommonUsage.Protocols.VDA5050.Objects;
using System;
using System.Collections.Generic;
using System.Text;
namespace CommonUsage.Protocols.VDA5050.Messages
{
public class visualizationMessage
{
public agvPosition agvPosition;
}
}