1.一种三维地形下多移动机器人能耗优化的时间窗动态避障方法,包括Lr表示为移动机器人r在第w个时间窗序列Tw时刻的具体位置和速度信息矩阵,X(r,Tw)表示为第r个移动机器人在Tw时刻横坐标位置值,Y(r,Tw)表示为第r个移动机器人在Tw时刻纵坐标位置值,Z(r,Tw)表示为第r个移动机器人在Tw时刻高度位置值,V(r,Tw)表示为第r个移动机器人在Tw时刻速度值,记Lr=(X(r,Tw),Y(r,Tw),Z(r,Tw),Tw,V(r,Tw)),三维地形地图,能耗约束下的A星算法模块,动态时间窗二叉树先序遍历避障优化模块,二叉树先序遍历子模块,其特征在于,在加载三维地形地图中,通过能耗约束下的A星算法模块求得所有移动机器人的初始路径,通过动态时间窗二叉树先序遍历避障优化模块求得避障停机总能耗最小的多移动机器人避障优化最终路径结果,输出多移动机器人能耗优化的时间窗动态避障最优策略最终路径以及动态能耗值,具体流程如下:步骤一:开始;
步骤二:加载移动移动机器人工作的三维地形地图;
步骤三:定义地图中的障碍以及所有移动机器人的起点和终点;
步骤四:所有移动机器人同时出发,运行能耗约束下的A星算法模块求得所有移动机器人的初始路径;
步骤五:动态时间窗二叉树先序遍历避障优化模块求得避障停机总能耗最小的多移动机器人避障优化最终路径结果;
步骤六:输出多移动机器人能耗优化的时间窗动态避障最优策略最终路径以及动态能耗值,完成三维地形下优化多移动机器人作业路径优化。
2.根据权利要求1所述的一种三维地形下多移动机器人能耗优化的时间窗动态避障方法,其特征在于,所述能耗约束下的A星算法模块输出所有移动机器人规划初始路径时间窗Tw时刻的具体位置和速度信息矩阵,其中r=1移动机器人的L1=(X(1,Tw),Y(1,Tw),Z(1,Tw),Tw,V(1,Tw)),r=2移动机器人的L2=(X(2,Tw),Y(2,Tw),Z(2,Tw),Tw,V(2,Tw)),以此类推。
3.根据权利要求1所述的一种三维地形下多移动机器人能耗优化的时间窗动态避障方法,其特征在于,所述动态时间窗二叉树先序遍历避障优化模块具体流程如下:步骤一:建立4个A*B的数据存储空矩阵,分别为Z1、N1、Z2、N2,令A=(t+5),其中t为能耗约束下的A星算法模块中计算所得的所有移动机器人同时出发后最后一个停止运行的移动机器人的总运行时间,即t=max{Tw},t+5表示在总运行时间基础上预留5个时间单位,防止存储数据溢出;令B=10,表示设置10个移动机器人进行验证本发明方法,每个移动机器人标序号,分别为移动机器人1,即r=1;移动机器人2,即r=2;移动机器人3,即r=3;一直至移动机器人10即r=10;Z1数据存储矩阵表示储存遍历时的避障决策情况,N1数据存储矩阵表示储存遍历时避障决策对应的消耗能量,Z2数据存储矩阵表示储存遍历完成后的最优避障决策,N2数据存储矩阵表示储存最优避障决策对应的消耗能量;
步骤二:初始化遍历时避障决策对应的总消耗能量和时间窗中的时间变量,e表示遍历时避障决策对应的总消耗能量,C表示时间窗中的时间变量,对应时间窗为TC;令遍历时决策对应的总消耗能量e=inf,即无穷大,时间窗中的时间变量C=1,对应时间窗为T1;
步骤三:时间窗TC时,以时间变量C的值为根节点开始遍历;
步骤四:二叉树先序遍历子模块;
步骤五:判断该节点是否为二叉树的叶子节点,如果是二叉树的叶子节点,则继续往下执行,否则跳转执行步骤三;
步骤六:累加遍历时各个避障决策对应的消耗能量,记为sum(N1);
步骤七:判断sum(N1)是否小于或等于e,如果是e,则继续往下执行,否则跳转执行步骤九;
步骤八:令e=sum(N1),Z2=Z1,N2=N1;
步骤九:判断所有时间窗中的时间变量节点是否遍历完成,如果遍历完成,继续往下执行;如果遍历未完成,以未完成的时间窗中的时间变量C为当前节点,跳转至步骤三;
步骤十:获得多移动机器人避障优化最终路径时间窗TC时刻的具体位置和速度信息矩阵,其中r=1移动机器人的L1=(X(1,TC),Y(1,TC),Z(1,TC),Tw,V(1,TC)),r=2移动机器人的L2=(X(2,TC),Y(2,TC),Z(2,TC),TC,V(2,TC)),以此类推。
4.根据权利要求1所述的一种三维地形下多移动机器人能耗优化的时间窗动态避障方法,其特征在于,所述二叉树先序遍历子模块流程如下:步骤一:判断时间窗中的当前时间节点是否有某两个移动机器人会在发生碰撞,如果两个移动机器人产生碰撞,继续往下执行步;如果两个移动机器人没有产生碰撞,C=C+1,二叉树先序遍历子模块结束;
步骤二:令二叉树的左子树表示多移动机器人序号靠前的移动机器人在时间窗中的时间变量C‑1停止完成动态避障,二叉树的右子树表示多移动机器人序号靠后的移动机器人在时间窗中的时间变量C‑1停止完成动态避障;按照二叉树先序遍历机理,当前节点指向左子树,更新Z1,N1,如r=3移动机器人和r=6移动机器人在C=20的时间窗T20发生碰撞,r=
3移动机器人在C=20速度表示为V(3,T20),m为移动机器人质量,令储存遍历时的避障决策情况Z1表示为Z1(T20,3)=1,储存遍历时避障决策对应的消耗能量N1表示为N1(T20,3)=2
m*(V(3,T20)) ,去C=C+1,左子树遍历完后二叉树先序遍历子模块结束;
步骤三:当前节点指向右子树,更新Z1,N1,如r=3移动机器人和r=6移动机器人在C=
20的时间窗T20发生碰撞,r=6移动机器人在C=20速度表示为V(6,T20),令储存遍历时的避障决策情况Z1表示为Z1(T20,6)=1,储存遍历时避障决策对应的消耗能量N1表示为N12
(T20,6)=m*(V(6,T20)) ,去C=C+1,右子树遍历完后二叉树先序遍历子模块结束。