Initial commit
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
namespace RobotNet10.FleetManager.Services.TrafficControl.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Severity levels for conflicts
|
||||
/// </summary>
|
||||
public enum ConflictSeverity
|
||||
{
|
||||
/// <summary>
|
||||
/// Low severity - can be resolved by waiting
|
||||
/// </summary>
|
||||
Low,
|
||||
|
||||
/// <summary>
|
||||
/// Medium severity - needs route adjustment
|
||||
/// </summary>
|
||||
Medium,
|
||||
|
||||
/// <summary>
|
||||
/// High severity - needs complete reroute
|
||||
/// </summary>
|
||||
High
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
namespace RobotNet10.FleetManager.Services.TrafficControl.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Types of conflicts between robots
|
||||
/// </summary>
|
||||
public enum ConflictType
|
||||
{
|
||||
/// <summary>
|
||||
/// Xảy ra khi hai robot sử dụng cùng một cạnh (edge) trong biểu đồ đường đi (graph)
|
||||
/// trong khoảng thời gian trùng lặp, đồng thời lộ trình tiếp theo của robot chồng lên nhau.
|
||||
/// </summary>
|
||||
Confrontation,
|
||||
|
||||
/// <summary>
|
||||
/// Xảy ra khi hai robot sử dụng cùng một cạnh (edge) trong biểu đồ đường đi (graph)
|
||||
/// trong khoảng thời gian trùng lặp nhưng lộ trình tiếp theo của 2 robot không chồng lấn lên nhau.
|
||||
/// </summary>
|
||||
Edge,
|
||||
|
||||
/// <summary>
|
||||
/// Xảy ra khi hai robot chiếm cùng một nút (vertex/node) trong biểu đồ đường đi
|
||||
/// tại cùng một thời điểm hoặc trong khoảng thời gian trùng lặp.
|
||||
/// </summary>
|
||||
Vertex,
|
||||
|
||||
/// <summary>
|
||||
/// Xảy ra khi hai robot ở quá gần nhau (dựa trên khoảng cách Euclidean) trong không gian liên tục,
|
||||
/// vi phạm khoảng cách an toàn (minDistance).
|
||||
/// </summary>
|
||||
Proximity,
|
||||
|
||||
/// <summary>
|
||||
/// Xảy ra khi hai robot di chuyển qua một hành lang hẹp (thường được biểu diễn bằng một chuỗi cạnh hoặc node)
|
||||
/// theo hướng ngược nhau, dẫn đến tình trạng không thể vượt qua nhau.
|
||||
/// </summary>
|
||||
Corridor,
|
||||
|
||||
/// <summary>
|
||||
/// Xảy ra khi hai robot có lộ trình giao nhau về mặt thời gian, nhưng không nhất thiết ở cùng một cạnh hoặc nút,
|
||||
/// mà ở các vị trí khiến chúng không thể di chuyển tiếp mà không va chạm.
|
||||
/// </summary>
|
||||
Temporal,
|
||||
|
||||
/// <summary>
|
||||
/// Xảy ra khi hai robot cần xoay tại một điểm (thường là node) và không gian xoay bị chồng lấn,
|
||||
/// dẫn đến va chạm hoặc cản trở.
|
||||
/// </summary>
|
||||
Rotation,
|
||||
|
||||
/// <summary>
|
||||
/// Xảy ra khi các robot cạnh tranh cho một tài nguyên chung (ví dụ: một khu vực làm việc, điểm sạc, hoặc thiết bị nâng)
|
||||
/// </summary>
|
||||
Resource,
|
||||
|
||||
/// <summary>
|
||||
/// Xảy ra lỗi khi kiểm tra xung đột
|
||||
/// </summary>
|
||||
None
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
namespace RobotNet10.FleetManager.Services.TrafficControl.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Reasons for robot priority
|
||||
/// </summary>
|
||||
public enum PriorityReason
|
||||
{
|
||||
/// <summary>
|
||||
/// Emergency situation
|
||||
/// </summary>
|
||||
Emergency,
|
||||
|
||||
/// <summary>
|
||||
/// High value order
|
||||
/// </summary>
|
||||
HighValueOrder,
|
||||
|
||||
/// <summary>
|
||||
/// Time critical requirement
|
||||
/// </summary>
|
||||
TimeCritical,
|
||||
|
||||
/// <summary>
|
||||
/// Manual override by user
|
||||
/// </summary>
|
||||
ManualOverride,
|
||||
|
||||
/// <summary>
|
||||
/// Default priority
|
||||
/// </summary>
|
||||
Default
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
namespace RobotNet10.FleetManager.Services.TrafficControl.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Status of edge reservations
|
||||
/// </summary>
|
||||
public enum ReservationStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// Edge is reserved but not yet in use
|
||||
/// </summary>
|
||||
Reserved,
|
||||
|
||||
/// <summary>
|
||||
/// Robot is currently using the edge
|
||||
/// </summary>
|
||||
InUse,
|
||||
|
||||
/// <summary>
|
||||
/// Reservation has been released
|
||||
/// </summary>
|
||||
Released
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
namespace RobotNet10.FleetManager.Services.TrafficControl.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Specific actions for conflict resolution
|
||||
/// </summary>
|
||||
public enum ResolutionAction
|
||||
{
|
||||
/// <summary>
|
||||
/// Wait at node (add wait node to Horizon)
|
||||
/// </summary>
|
||||
Wait,
|
||||
|
||||
/// <summary>
|
||||
/// Reroute (calculate new route for Horizon)
|
||||
/// </summary>
|
||||
Reroute
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
namespace RobotNet10.FleetManager.Services.TrafficControl.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Strategies for resolving conflicts
|
||||
/// </summary>
|
||||
public enum ResolutionStrategy
|
||||
{
|
||||
/// <summary>
|
||||
/// Robot waits at node (can only add wait node to Horizon, NOT to Base)
|
||||
/// </summary>
|
||||
WaitAtNode,
|
||||
|
||||
/// <summary>
|
||||
/// Robot reroutes (can only reroute Horizon, NOT Base)
|
||||
/// </summary>
|
||||
Reroute
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user