主权项 |
一种基于三维空间密集存储区域的多机器人路径规划方法,其特征在于:包括调度服务器内的主线程和并行执行的规划线程、避碰线程和执行线程, 所述的主线程包括以下步骤: 步骤1:主线程初始化一张三维立体网状路径图; 步骤2:主线程实时接收多机器人当前位置的命令反馈信息,根据反馈信息实时更新三维立体网状路径图;所述多机器人泛指多个移动机器人,所述多个移动机器人包括在仓储层地面上行走的移动机器人和电梯机器人; 所述的规划线程包括以下步骤: 步骤1:规划线程检测到有存取货物任务时,获取起始点和目标点信息并将任务划分若干个子任务,每个子任务下又划分任务阶段,每个任务阶段又设有各自的起始点和目标点;相临两个任务阶段的机器人执行体是不同的:由地面上行走的移动机器人和竖直面内行走的电梯机器人分别执行各个阶段的任务; 步骤2:规划线程根据子任务的起始点、目标点及输入参数使用图搜索法输出当前子任务的密集存储区域三维立体网状路径图; 步骤3:规划线程判断该子任务目标点是否被上一个的子任务任务释放掉,如果已经被释放,则进入规划线程步骤4,否则等待释放; 步骤4:规划线程使用携带机器人行走方向及排序特征的任务编号标记每个子任务路经; 步骤5:规划线程标记完所有子任务路径后,将标记后的子任务送入执行队列,返回规划线程步骤2;所述执行队列为:由携带机器人行走方向及排序特征的任务编号标记的各个子任务组成的队列; 所述的避碰线程包括以下步骤: 步骤1:避碰线程执行队列的各任务抢占资源变量; 步骤2:避碰线程根据当前环境信息划分冲突区; 步骤3:避碰线程判断冲突区是否释放干净,如果释放干净转入避碰线程 步骤4;如果没有释放干净,继续等待; 步骤4:避碰线程完成移动机器人和电梯机器人执行命令前的命令转义任务; 步骤5:避碰线程释放资源变量给调度服务器; 所述的执行线程包括以下步骤: 步骤1:执行线程到执行队列等待经过转义后的任务; 步骤2:执行线程判断是否有未发送出去的命令,如果有未发送命令,进入步骤3,如果没有未发送命令,返回执行线程步骤1; 步骤3:执行线程根据执行体类型的不同,识别任务阶段,每个任务阶段内最后一个命令为本任务阶段的阶段结束命令;所述执行体类型即为机器人类型,所述机器人类型分为在仓储地面上行走的机器人和电梯机器人; 步骤4:判断上一任务阶段命令是否全部执行完成,如果完成,则发送当前任务阶段除任务阶段结束命令以外的其它命令,并且转入执行线程步骤5,如果上一任务阶段命令还未完成,执行执行线程步骤6; 步骤5:执行线程判断下一个任务阶段的机器人执行体,是否准备就绪,如果准备就绪,发送本任务阶段的任务阶段结束命令,并将下一任务阶段指定为当前任务阶段,转入执行线程步骤7;如果没有准备就绪,转入执行线程步骤6; 步骤6:将当前未完成的任务放回执行队列,并且返回执行线程步骤4; 步骤7:返回执行线程步骤1。 |