全球FlexSim系统仿真中文论坛

标题: 随机路径请教 [打印本页]

作者: 794019161    时间: 2012-10-25 16:46
标题: 随机路径请教
如下图所示,怎么让两个操作员随机的在2条路径上行走,并且不发生碰撞!!请大侠们指点一下!!谢谢!!
作者: 794019161    时间: 2012-10-26 16:59
...等待指教中...
作者: zt130025    时间: 2012-10-27 17:38
好的模型,期待高手指点!
作者: domcylai    时间: 2012-10-31 13:30
思路与技术准备:& E+ R5 K/ w5 K
1.准备“节点表”,用于记录所有网络中的节点及节点状态;
7 h' F9 z5 S% B2 _" _* a+ T4 v( o) P2.准备“路由表”,用于记录所有网络中节点到节点的连线关系(两节点间一条线,正反向无所谓);
1 j& ?, i! h) o* ~+ Y6 k) N3.编写避碰规则和命令。9 K9 H; ]) X0 h! m  Z7 ?
) W8 {; C0 z0 F
这个模型实现起来比较容易,但是对于复杂的系统有一定的难度。
' x6 n% u0 z6 B4 K. S5 e' {1 _
, G# m0 [; \0 x9 _首先,所谓的避免碰撞即:执行器不能同时在(或者同时到)一个节点上,因此在系统里有“占用节点”这个概念,当一个任务执行器需要前往或者已经在某一节点上,则该节点被占用;“占用”信息需记录在“节点表”中,为其他执行器是否前进提供判断条件。8 k$ ?( F6 N# M5 T# S9 ^3 h

+ p# ~( g4 ?2 K/ d: y8 U其次,避碰规则还需避免两个执行器在行时发生碰撞,也就是“路由碰撞”,因此提出“占用路由”这个概念,当一个执行器将要前往(或者正在前往)一个节点时,在Flexsim中即执行器正在执行Travel任务,此执行器将所有路由表中相关的路径占用。注:此处是一个技术难点,你需要找到该任务执行器的路径。
$ w: P2 i& \$ E/ U补充:使用Flexsim网络节点时,会自动的产生两个节点在模型中,它们在树里面的名称叫“DefaultNetworkNavigator”和“DefaultNavigator”,它们自动的“牵引”执行器行驶最短路径达到目的地(也就是自带了最短路径的算法)。如果掌握这个,就能更容易的控制执行器的使用,具体方法就不细说了。& d# }3 C$ J' H; L

9 C4 X  S, v$ D7 _+ r( p3 b/ b& |' Q最后,避碰规则可能有多重多样,比如加入“簇”条件来控制等,具体模型还得具体分析;说了很多,与“占用规则”相对应的是“释放规则”。怎么占用,怎么释放,何时释放都不是太复杂的问题,希望我的回答对你有所帮助。




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3