|
问题描述: 本模型基于 FlexSim 的Process Flow(工艺流程)搭建双Robot)拣选搬运仿真场景,实现就近派单逻辑: 模型视图包含 2 个上游投料暂存区Start、Start1(货物生成点),2 个下游收货暂存区Finish、Finish1(货物目的地),2 台机器人Robot1、Robot1_2;由 Process Flow 驱动搬运流程,核心目标是:每当产生一件货物时,自动分配当前距离该货物最近的空闲Robot执行搬运任务,货物到达后随机送至Finish或Finish1。 目前问题在于:多台机器人共享搬运任务,当新货物在两个上游暂存区随机生成时,如何实现就近调度—— 让距离当前新生成货物最近的空闲Robot承接本次搬运任务,而不是按固定顺序、轮询或者随机分配Robot。 解决方法: 1.资源列表新增动态距离字段 distanceToTU: 在Robot资源的列表字段中,新建动态字段,表达式: distancetotravel(value, puller.TU.up) 用于计算每台Robot到当前货物的距离 2.Acquire Robot(获取资源)配置排序筛选规则: 在Acquire Robot活动的筛选规则栏填写排序语句: ORDER BY distanceToTU ASC 优先抓取距离最近的第一个可用Robot,完成就近分配 3.下游卸货点随机分配 通过Assign Labels节点设置标签,给 token 新增一个标签,值为随机目标暂存区(Finish / Finish1),后续Travel to Finish节点读取该标签,行驶到对应卸货位置,实现货物随机送到两个终点暂存区。
|