使用手册 - 更多交管细节用法:修订间差异

来自MDCS wiki
跳到导航 跳到搜索
第20行: 第20行:
[[文件:755a68e08f05a3e843db325873a5d2c.png]]
[[文件:755a68e08f05a3e843db325873a5d2c.png]]


=== 1. 允许多车去一个终点 ===
=== 1. 搜索路线时允许终点和别的车的终点重合 ===
修改Search_AllowDestOnRoute为True。
plan里加“forbid_cross”字段,设置为“true”。
 
(Search_AllowDestOnRoute为True:表示允许本次搜索路线的终点在别的车的路径上)


=== 2. 寻路时某个点需要经过多次 ===
=== 2. 寻路时某个点需要经过多次 ===
将Search_MaxVisitPerSite(每个站点最多的经过次数)和Search_MaxDupVisit(整条路径上最多重复经过多少个站点)改大一些。
将Search_MaxVisitPerSite(每个站点最多的经过次数)和Search_MaxDupVisit(整条路径上最多重复经过多少个站点)改大一些。
'''3. 寻路时和交管相关的抛出异常:'''
* DestinationSameException:搜索路径的终点和其他车相同。conflictedCars包含了冲突车的列表。
** 可以使用“forbid_cross”来暂时允许,多用于要连续拼接多条路线的情况。但如果整条路线终点确实和其他车的终点重合,那么无法进行交管规划。
** 可编辑终点为terminal点或sink点。
** 若其他车具有escape,则不会冲突。
* DestinationOnRouteException:搜索路径的终点停在其他车的路径上。这个异常可能会在未来被移除。可设置参数Search_AllowDestOnRoute为true来屏蔽该异常。
** 之所以抛该异常是因为这会导致:当前车在到达终点前,必须先等其他车经过终点后才能前往终点。
* DestinationBlockedException: 有车堵塞了该车前往终点的路径:这些车停在当前车去目标点的必经路径上或即将到达堵塞位置。conflictedCars包含了堵塞车的列表。
** 若堵塞车的终点为terminal点或sink点,或设置有escape路径,那么可以防止该异常发生。

2023年12月29日 (五) 09:10的版本

1.必空点

1.1 必空点概念

在Simple中,可以通过站点上mustFree的字段添加必空点,在id为1的必空点上添加mustFree:[2,3]代表当1号点被锁时,2、3号点不能被锁。

注意必空点为单向的概念,即1号点被锁,2、3不能被锁,但2、3被锁不影响1号点的上锁情况。

1.2 如何配置必空点

  1. 可以通过在站点上添加mustFree字段来添加必空点。
  2. 可以通过点击”设置必空点“来添加。

2.修改Simple项目属性

Simple中项目属性如下图,其中含义在”MDCS参数表:Simple“中有叙述。

1. 搜索路线时允许终点和别的车的终点重合

plan里加“forbid_cross”字段,设置为“true”。

(Search_AllowDestOnRoute为True:表示允许本次搜索路线的终点在别的车的路径上)

2. 寻路时某个点需要经过多次

将Search_MaxVisitPerSite(每个站点最多的经过次数)和Search_MaxDupVisit(整条路径上最多重复经过多少个站点)改大一些。


3. 寻路时和交管相关的抛出异常:

  • DestinationSameException:搜索路径的终点和其他车相同。conflictedCars包含了冲突车的列表。
    • 可以使用“forbid_cross”来暂时允许,多用于要连续拼接多条路线的情况。但如果整条路线终点确实和其他车的终点重合,那么无法进行交管规划。
    • 可编辑终点为terminal点或sink点。
    • 若其他车具有escape,则不会冲突。
  • DestinationOnRouteException:搜索路径的终点停在其他车的路径上。这个异常可能会在未来被移除。可设置参数Search_AllowDestOnRoute为true来屏蔽该异常。
    • 之所以抛该异常是因为这会导致:当前车在到达终点前,必须先等其他车经过终点后才能前往终点。
  • DestinationBlockedException: 有车堵塞了该车前往终点的路径:这些车停在当前车去目标点的必经路径上或即将到达堵塞位置。conflictedCars包含了堵塞车的列表。
    • 若堵塞车的终点为terminal点或sink点,或设置有escape路径,那么可以防止该异常发生。