GlobalNavigation.cs
4.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
namespace Rcs.Domain.Settings;
/// <summary>
/// 全局实时导航与路径 CAS 相关配置。
/// </summary>
public class GlobalNavigationSettings
{
/// <summary>
/// 全局协调器配置。
/// </summary>
public GlobalCoordinatorSettings Coordinator { get; set; } = new();
/// <summary>
/// 路径 CAS 配置。
/// </summary>
public GlobalPathCasSettings PathCas { get; set; } = new();
}
/// <summary>
/// 全局协调器运行参数配置。
/// </summary>
public class GlobalCoordinatorSettings
{
/// <summary>
/// 恢复为正常模式所需的稳定通过次数。
/// </summary>
public int ResumeStablePassThreshold { get; set; } = 2;
/// <summary>
/// 恢复调度冷却时间(秒)。
/// </summary>
public int ResumeDispatchCooldownSeconds { get; set; } = 2;
/// <summary>
/// 恢复扫描间隔(毫秒)。
/// </summary>
public int ResumeScanIntervalMilliseconds { get; set; } = 300;
/// <summary>
/// 短等待时长(秒)。
/// </summary>
public int HoldSecondsShort { get; set; } = 2;
/// <summary>
/// 排队等待时长(秒)。
/// </summary>
public int HoldSecondsQueue { get; set; } = 3;
/// <summary>
/// 排队状态过期时间(秒)。
/// </summary>
public int QueueStaleSeconds { get; set; } = 45;
/// <summary>
/// 升级到就近等待策略的失败阈值。
/// </summary>
public int ConflictEscalateNearestWaitThreshold { get; set; } = 2;
/// <summary>
/// 升级到局部绕行策略的失败阈值。
/// </summary>
public int ConflictEscalateDetourThreshold { get; set; } = 3;
/// <summary>
/// 升级到侧向让行策略的失败阈值。
/// </summary>
public int ConflictEscalateLateralYieldThreshold { get; set; } = 4;
/// <summary>
/// 升级到泊车让行策略的失败阈值。
/// </summary>
public int ConflictEscalateParkingThreshold { get; set; } = 4;
/// <summary>
/// 升级到退让策略的失败阈值。
/// </summary>
public int ConflictEscalateRetreatThreshold { get; set; } = 5;
/// <summary>
/// 升级到重规划策略的失败阈值。
/// </summary>
public int ConflictEscalateReplanThreshold { get; set; } = 6;
/// <summary>
/// 进入阻塞保护态的失败阈值。
/// </summary>
public int ConflictEscalateBlockedThreshold { get; set; } = 9;
/// <summary>
/// 阻塞态等待时长(秒)。
/// </summary>
public int BlockedHoldSeconds { get; set; } = 5;
/// <summary>
/// 是否启用侧向让行。
/// </summary>
public bool EnableLateralYield { get; set; } = true;
/// <summary>
/// 是否启用泊车让行。
/// </summary>
public bool EnableParkingYield { get; set; } = true;
/// <summary>
/// 是否启用退让。
/// </summary>
public bool EnableRetreat { get; set; } = true;
/// <summary>
/// 决策指标日志间隔(秒)。
/// </summary>
public int DecisionMetricsIntervalSeconds { get; set; } = 60;
}
/// <summary>
/// 路径 CAS 并发控制参数配置。
/// </summary>
public class GlobalPathCasSettings
{
/// <summary>
/// 指标日志输出间隔(秒)。
/// </summary>
public int MetricsIntervalSeconds { get; set; } = 60;
/// <summary>
/// 冲突统计窗口时长(秒)。
/// </summary>
public int WindowDurationSeconds { get; set; } = 30;
/// <summary>
/// 启动高冲突判断所需的最小尝试次数。
/// </summary>
public int HighConflictMinAttempts { get; set; } = 20;
/// <summary>
/// 高冲突比例阈值(0~1)。
/// </summary>
public double HighConflictRatioThreshold { get; set; } = 0.35;
/// <summary>
/// 是否启用高冲突退避。
/// </summary>
public bool EnableHighConflictBackoff { get; set; } = true;
/// <summary>
/// 退避最小时长(毫秒)。
/// </summary>
public int BackoffMinMs { get; set; } = 40;
/// <summary>
/// 退避最大时长(毫秒)。
/// </summary>
public int BackoffMaxMs { get; set; } = 140;
}