多AGV协同调度仿真平台及仿真方法
未命名
09-22
阅读:123
评论:0

多agv协同调度仿真平台及仿真方法
技术领域
1.本发明属于智能控制技术领域,具体涉及一种多agv协同调度仿真平台及仿真方法。
背景技术:
2.随着世界各地制造业的不断发展,我国开始进入智能制造的时代,我国工业领域正面临着从传统制造业向智能制造业的转型挑战,尽管已经成为了全球制造业领域内的大国之一,但与其他制造业强国相比,在高端制造领域仍存在一定的差距,在当前的制造业领域内,物料的搬运和配送占用了超过95%的时间,而加工和装配作业只占不到5%的时间,因此,提高物料运输和配送的效率成为了智能制造领域的一大研究热点。
3.自动导航小车(automated guided vehicle,agv)已经成为许多工厂中进行物料搬运的关键设备之一,这种运行灵活、具有较强运输能力且能够自动引导的设备,可以在自动软件或控制程序的管理下自动完成物流任务,综合了包括计算机、嵌入式、传感器等多种技术,成为物流系统领域的重要组成部分。agv被广泛应用,代替人力劳动进行工业物料搬运,极大降低人工成本与对应的企业管理成本,为企业带来高竞争力与高收益。然而,在agv的使用过程中,为agv规划无碰撞路径是多agv系统中最重要、也是最具挑战的任务之一,在针对agv进行路径规划无碰撞路径时,agv位置的变化和仓储环境的实时变化,使得静态的路径规划具有很大的局限性,然而,实时的路径规划需要知道仓储环境信息和agv位置信息,同时传输这些信息数据需要可靠、高速的通信系统。
4.多agv联合执行协同搬运任务时需要通过信息交流来进行agv间的同步或协调,如坐标确定、路径规划、防止死锁、避免碰撞等。为了保持多agv间的协调与合作,更加全面的了解多agv执行任务的环境,agv之间就需要通过交互从而更好的完成给定的任务,agv间的交互方式可分为以下三种主要类型:(1)通过通信交互,指借用已有得到网络技术,每个agv之间可传递信息来交互,以这种形式交互的方式类似于计算机网络通信,然而,多agv系统的通信方式与计算机网络通信有很大的不同,当系统中agv的数量成倍增加或者通信网络拓扑变化频繁时,通信网络的负担将会使多agv系统的运行效率显著下降;(2)通过感知交互,指agv可以通过各种传感器而非通过外在通信进行交互,这种交互方式要求agv能分辨出组内的其他agv或环境中的物体;(3)通过环境交互,通信系统中的每一个agv都作为环境的一部分,agv之间没有直接的联系但仍可以通过环境感知附近组员的位置,是一种最简单但却是受限最多的方式。而且,当前的多agv协同调度仿真平台多为研究调度算法的理想环境测试,主要研究的为算法性能的差别。对agv的运动模型及车辆动作考虑甚少。所以导致仿真平台的部署在实地场景需要特定的转换,甚至需要改变研究的算法。
5.上述关于多agv协同调度的通讯方式均存在一定的问题,关于多agv协同调度仿真的技术研究也有一定的局限性。
技术实现要素:
6.本发明的目的之一在于提供一种仿真效果好、通信可靠性和稳定性提升的多agv协同调度仿真平台。
7.本发明的目的之二在于提供一种基于所述多agv协同调度仿真平台的仿真方法。
8.本发明提供的这种多agv协同调度仿真平台,包括服务层,通信层和物理层;服务层用于集中部署软件,将需要计算的程序部署在边缘云系统,对仓储环境进行仿真;通信层用于提供信息传输通道,具有网路接入、数据传输、信号处理、资源调度功能,支持若干设备通过无线通信接入互联网;物理层用于实现仿真功能。
9.所述的服务层包括边缘云系统或边缘云服务器,边缘云edge cloud通过将服务器部署在待处理数据源头设定范围内的网络边缘,实现数据的传输与处理;
10.所述的通信层通过实验基站提供的网路接入、数据传输、信号处理、资源调度功能,支持若干设备通过无线通信接入互联网;实验基站采用sdr技术,使用软件实现无线电台的功能;通过计算设备和通过射频板卡构建实验基站;实验基站支持非独立组网nsa、独立组网sa模式,支持集中式部署及分布式部署;实验基站通过接入服务层和物理层,实现服务层和物理层的数据通信;
11.所述的物理层作为被控制主体,包括若干个差分驱动结构的agv,配备激光雷达用于采集agv的周围环境信息,使用惯性传感器收集agv的速度和加速度信息,配置树莓派raspberry pi作为agv数据发送和接收的通信工具,raspberry pi将控制信息通过有线传输给主控制器板opencr,控制agv的车轮运动;当没有实物时,使用gazebo系统仿真模拟agv执行搬运任务过程,根据仓储环境和agv模型进行模型建立,导入到gazebo系统,系统通过物理引擎真实还原物体碰撞动作;gazebo系统通过加入激光雷达、惯性测量单元传感器,实现slam建图、测量agv的加速度和角速度;
12.所述的服务层模拟仓储环境的作业流程,定义服务层中部署的软件为中央调度系统,中央调度系统包括仿真平台、调度系统和执行系统;
13.所述的仿真平台用于接收agv的激光雷达扫描的点云数据和里程计数据,根据点云数据确定周围环境信息,根据里程计数据,确定agv当前相对于初始位置时的自身位置和自身朝向,将agv获取的信息在仿真平台内的拓扑结构中进行融合处理,确定整体环境信息;调度系统根据任务指令进行任务分配、路径规划,任务分配遵循就近原则,路径规划获取agv位置到任务点的k条最短路径,并选取当前环境状态下不会发生死锁、碰撞的路径;执行系统用于转换调度系统规划的路径,按照avg的运动规律,将路径转换为速度指令和角速度指令;
14.所述的路径规划在获取agv位置到任务点的k条最短路径时,考虑路径已有的移动距离和未来的最小移动距离,采用下述公式描述费用函数:
15.f(x)=g(x)+h(x)
16.其中,g(x)为agv从起点起,遍历到设定点位的移动距离,h(x)为从设定点位到达目标点位的未来移动距离;通过遍历选出从起点到终点的最小移动距离,获取最短路径;在每个节点处通过遍历寻找下一个节点时,考虑未来的移动距离,在选取下一个节点时,选择f(x)最小的节点;
17.所述的路径规划在选取当前环境状态下不会发生死锁、碰撞的路径时,将agv能够
通过的过道作为可重复利用的资源,判断规划路径占用的过道资源是否冲突给出路径、是否会发生碰撞、死锁;如果每个agv都能够在设定的时间内,利用未被占用的过道资源、和本身已占用的过道资源完成对任务终点的访问,将规划给agv的路径认为是安全的;通过使用数据结构并查集,将立库信息中agv能够到达的节点进行初始化处理,且agv占用的边节点不计入并查集中,将地图上agv能够行驶或者停留的所有节点进行命名并且将父节点指向自己;将立库中两个节点,能够允许agv通过过道的节点进行合并,使得其中一个节点的父节点指向另一个的父节点,进而使得父节点相同的节点之间是连通的;通过判断agv的任务起点的父节点与到达终点的父节点是否一致,进而判断agv的状态是否安全;如果agv的任务起点的父节点与到达终点的父节点一致,agv的状态为安全,所有agv可以在设定的时间内完成自己的任务,不会出现死锁或碰撞的情况;其中,agv的状态是否安全定义为,agv根据规划路径行驶将会发生碰撞或死锁,则状态不安全,否则状态为安全。
18.本发明还提供了一种所述的多agv协同调度仿真平台的仿真方法,包括如下步骤:
19.s1.采用所述的多agv协同调度仿真平台生成任务指令,并获取agv的发送数据;
20.s2.采用步骤s1获取的agv发送数据,通过slam算法获取虚拟地图;
21.s3.调度系统获取仿真平台提供的地图信息和agv信息,并依靠获取的信息针对空闲的agv进行任务分配处理;
22.s4.调度系统针对步骤s3中进行任务分配处理后的agv进行路径规划处理,获取agv从当前位置到任务点的最短路径;
23.s5.针对步骤s4获取的最短路径,进行死锁避免算法测试处理,确定无碰撞任务路径,并通过调度系统发送给执行平台;
24.s6.执行平台针对步骤s5发送的无碰撞任务路径进行转换处理,并将转换后的指令发送给agv;
25.s7.agv按照步骤s6发送的指令完成目标任务;
26.s8.当步骤s7中的agv返回点云数据中出现障碍物存在任务路径时,重复上述步骤s3-s7,重新进行路径规划处理;直至agv安全的执行完成目标任务。
27.步骤s1所述的采用所述的多agv协同调度仿真平台生成任务指令,并获取agv的发送数据,具体包括:
28.多agv协同调度仿真平台中的中央调度系统根据仓储环境进行建模,对仓储环境进行抽象处理,考虑元素的拓扑关系,将agv需要的到达的位置定义为节点,将整个地图抽象为若干数量的节点,通过边连接两个节点并表示存在能够通行的通道,在边上设定权重表示两个节点之间的距离;所述的整个地图,为将仓储环境抽象处理后得到的整体的地图;
29.多agv协同调度仿真平台通过读取预设的仓储环境拓扑结构图信息,随机挑取提前设置的可执行任务点位,或者通过读取存储任务信息的文件获取任务点位,进而生成任务指令;
30.仿真平台接收agv发送的点云数据和里程计数据,点云数据包括agv通过激光雷达获取的周围地图的信息和agv本身的朝向信息,里程计数据包括agv在空间里评估的位置和速度信息,结合点云数据和里程计数据,减少agv在仿真环境下的误差。
31.步骤s2所述的采用步骤s1获取的agv发送数据,通过slam算法获取虚拟地图,具体包括:
32.(1)针对所有的agv进行单独的建图处理;获取每个agv周围环境的建图,确定单独的agv的位置和姿态;
33.(2)针对点云数据进行数据融合处理,并进行联合建图,获取整体环境的信息;将整体环境地图与步骤(1)中获取的单独agv子地图进行对比处理,获取单独的agv在整体环境下的位置信息、运动朝向;
34.(3)将步骤(2)获取的整体环境地图与预设的拓扑结构图进行对比,确认agv在拓扑结构图中的位置,便于后续的任务规划处理;
35.步骤(1)所述的建图处理,具体包括:采用cartographer算法进行slam建图定位处理,cartographer算法读取agv通过激光雷达收集的点云数据、agv的里程计数据、惯性传感器收集的速度和加速度数据,使用最新的点云数据构建地图;在构建地图时先构建区域的子地图,当使用的点云数据达到设定的数量时,子地图停止获取信息;
36.在子地图中每个位置都设定一个概率,当概率大于设定值时表示此处存在障碍,小于设定值时表示该位置无障碍,在两个概率之间表示未知;cartographer算法通过创建子地图,通过组合、拼接的方式实现场景建图;
37.子地图在设定时间内的准确度认为可靠,但超过设定时间后存在累积误差,通过回环检测优化所有子地图的位姿;回环检测通过匹配新产生的点云数据与最符合点云数据区域的子地图,将点云数据更新到子地图信息中,减小误差;
38.采用agv的里程计数据、惯性传感器收集的速度和加速度数据计算agv的位置,通过比较计算出来的位置和点云数据中agv存在的位置,减少数据产生的位置误差。
39.步骤s3所述的调度系统获取仿真平台提供的地图信息和agv信息,并依靠获取的信息针对空闲的agv进行任务分配处理,具体包括:
40.调度系统获取仿真平台提供的地图信息和agv信息,定义agv在地图中的位置为x
agv
、y
agv
,任务点的位置信息为x
target
、y
target
,采用下述公式描述每辆agv与所有任务点的欧氏距离:
[0041][0042]
通过选择最短的欧式距离,对空闲的agv进行任务分配。
[0043]
步骤s4所述的调度系统针对步骤s3中进行任务分配处理后的agv进行路径规划处理,获取agv从当前位置到任务点的最短路径,具体包括:
[0044]
调度系统针对步骤s3中进行任务分配处理后的agv的位置和目标位置进行路径规划,通过搜索目标位置和agv起始位置在拓扑地图中的最短可行路径,获取设定数量的最短路径。
[0045]
步骤s5所述的针对步骤s4获取的最短路径,进行死锁避免算法测试处理,确定无碰撞任务路径,并通过调度系统发送给执行平台,具体包括:
[0046]
进行死锁避免测试,在分配资源前,通过模拟判断分配资源后的agv是否会导致系统进入死锁状态;如果发展分配资源会导致死锁出现,那么取消分配资源;
[0047]
从步骤s4获取的最短路径中保留k条,通过遍历所有agv的k条最短路径判断系统是否会死锁,选用不会发生死锁或碰撞的路径;如果存在死锁或者碰撞,则在存在路径冲突的若干台agv中,遍历选出下一条路径长度增加最少的目标agv,并将目标agv的路径修改为
选出的路径长度增加最少的路径,并重新使用agv banker's算法判断系统是否死锁,确定出最短的无碰撞任务路径。
[0048]
步骤s6所述的执行平台针对步骤s5发送的无碰撞任务路径进行转换处理,并将转换后的指令发送给agv,具体包括:
[0049]
选择差分驱动机器人differential drive robot作为仿真过程和实际应用中使用的agv,差分驱动机器人由两个驱动轮和一个附加的支持轮组成,将轮子连线的中点设置为agv的位置p,非驱动轮与地板接触的点为q,采用下述公式描述agv的位置、方向与驱动轮的角速度之间的关系:
[0050][0051]
其中,x为车辆在坐标系中的横坐标,y为车辆在坐标系中的纵坐标,θ为车辆的方向,r为驱动轮的半径,2b为两个轮子之间的距离,w
l
为agv左轮角速度,wr为agv右轮角速度;
[0052]
采用下述公式表示agv的速度、角速度与驱动轮的角速度之间的关系:
[0053][0054]
其中,v为agv的速度,为agv的角速度;
[0055]
考虑agv只有直走、转向两种选择,通过设定agv移动时的速度反过来求得agv驱动轮的运动参数,采用下述公式进行描述:
[0056][0057]
通过上述处理,将任务路径转换为基础的驱动轮驱动信息,执行系统通过通信模块将驱动信息发送给agv,agv不需要经过处理器进行路径转换,直接运行。
[0058]
本发明提供的这种多agv协同调度仿真平台及仿真方法,将agv与算法去耦合化,可以减少agv对硬件的需求,只需配备驱动装置、通信装置、传感器便可以使用,降低了硬件成本;在算法的部署时,也不用给所有的agv进行部署,只需要给边缘云系统进行部署,方便了软件的维护及更新;而且本发明通过5g通信将agv的传感器信息发送给服务层,依赖5g通信低延迟的特点能够实现对agv的实时控制,在面对突发情况,比如通道有货物堵塞、其他agv故障等,通过重归划有效提高了效率;因此本发明的仿真效果好、通信可靠性和稳定性均较高。
附图说明
[0059]
图1为本发明方法的仿真平台模块示意图。
[0060]
图2为本发明方法中的中央调度系统组成结构示意图。
[0061]
图3为本发明方法的方法流程示意图。
具体实施方式
[0062]
如图1所示为本发明方法的仿真平台模块示意图,本发明提供的这种多agv协同调度仿真平台,包括服务层,通信层和物理层;服务层用于集中部署软件,将需要计算的程序部署在边缘云系统,对仓储环境进行仿真;通信层用于提供信息传输通道,具有网路接入、数据传输、信号处理、资源调度功能,支持若干设备通过无线通信接入互联网;物理层用于实现仿真功能;
[0063]
所述的服务层包括边缘云系统或边缘云服务器,边缘云edge cloud通过将服务器部署在待处理数据源头设定范围内的网络边缘,实现数据的传输与处理;本发明使用的服务器为实验室部署的服务器,拥有i9-13900k的处理器和nvidia rtx4090显卡,内存为64g,拥有3t磁盘容量ubuntu系统,被部署在实验室的5g实验基站附近;
[0064]
所述的通信层通过实验基站提供的网路接入、数据传输、信号处理、资源调度功能,支持若干设备通过无线通信接入互联网;实验基站采用sdr技术,,使用软件实现无线电台的功能;通过计算设备和通过射频板卡构建实验基站;实验基站支持非独立组网nsa、独立组网sa模式,支持集中式部署及分布式部署;实验基站通过接入服务层和物理层,实现服务层和物理层的数据通信;
[0065]
所述的物理层作为被控制主体,包括若干个差分驱动结构的agv,配备激光雷达用于采集agv的周围环境信息,使用惯性传感器收集agv的速度和加速度信息,配置树莓派raspberry pi作为agv数据发送和接收的通信工具,raspberry pi将控制信息通过有线传输给主控制器板opencr,控制agv的车轮运动;当没有实物时,为了方便研究,使用gazebo系统仿真模拟agv执行搬运任务过程,根据仓储环境和agv模型进行模型建立,导入到gazebo系统,系统通过物理引擎真实还原物体碰撞动作;gazebo系统通过加入激光雷达、惯性测量单元传感器,实现slam建图、测量agv的加速度和角速度;本发明中使用的差分驱动结构的agv,配备了激光雷达rplidar-a2,以10hz的扫描频率进行360度全方位激光扫描半径为16m的区域,用于采集agv的周围环境信息;使用惯性传感器mpu9250用于收集agv的速度和加速度信息,mpu9250由3轴陀螺仪、3轴加速度计和3轴磁力计组成,陀螺仪的角速度测量范围
±
2000(
°
/s);加速度计的测量范围最大为
±
16g(g为重力加速度);磁力计采用高灵度霍尔型传感器进行数据采集,磁感应强度测量范围为
±
4800μt,可用于对偏航角的辅助测量;
[0066]
所述的服务层模拟仓储环境的作业流程,定义服务层中部署的软件为中央调度系统,中央调度系统包括仿真平台、调度系统和执行系统;
[0067]
所述的仿真平台用于接收agv的激光雷达扫描的点云数据和里程计数据,根据点云数据确定周围环境信息,根据里程计数据,确定agv当前相对于初始位置时的自身位置和自身朝向,将agv获取的信息在仿真平台内的拓扑结构中进行融合处理,确定整体环境信息;调度系统根据任务指令进行任务分配、路径规划,任务分配遵循就近原则,路径规划获取agv位置到任务点的k条最短路径,并选取当前环境状态下不会发生死锁、碰撞的路径;执
行系统用于转换调度系统规划的路径,按照avg的运动规律,将路径转换为速度指令和角速度指令;
[0068]
所述的路径规划在获取agv位置到任务点的k条最短路径时,考虑路径已有的移动距离和未来的最小移动距离,采用下述公式描述费用函数:
[0069]
f(x)=g(x)+h(x)
[0070]
其中,g(x)为agv从起点起,遍历到设定点位的移动距离,h(x)为从设定点位到达目标点位的未来移动距;通过遍历选出从起点到终点的最小移动距离,获取最短路径;在每个节点处通过遍历寻找下一个节点时,考虑未来的移动距离,在选取下一个节点时,选择f(x)最小的节点;
[0071]
所述的路径规划在选取当前环境状态下不会发生死锁、碰撞的路径时,将agv能够通过的过道作为可重复利用的资源,判断规划路径占用的过道资源是否冲突给出路径、是否会发生碰撞、死锁;如果每个agv都能够在设定的时间内,利用未被占用的过道资源、和本身已占用的过道资源完成对任务终点的访问,将规划给agv的路径认为是安全的;通过使用数据结构并查集,将立库信息中agv能够到达的节点进行初始化处理,且agv占用的边节点不计入并查集中,将地图上agv能够行驶或者停留(即可达)的所有节点进行命名并且将父节点指向自己;将立库中两个节点,能够允许agv通过过道的节点进行合并,使得其中一个节点的父节点指向另一个的父节点,进而使得父节点相同的节点之间是连通的;通过判断agv的任务起点的父节点与到达终点的父节点是否一致,进而判断agv的状态是否安全;如果agv的任务起点的父节点与到达终点的父节点一致,agv的状态为安全,所有agv可以在设定的时间内完成自己的任务,不会出现死锁或碰撞的情况;所述的agv的状态是否安全,具体为若agv根据规划路径行驶将会发生碰撞或死锁,则状态不安全,否则状态为安全;
[0072]
本发明还提供一种包括了所述多agv协同调度仿真平台的仿真方法,包括如下步骤:
[0073]
s1.采用多agv协同调度仿真平台生成任务指令,并获取agv的发送数据;具体包括:
[0074]
多agv协同调度仿真平台中的中央调度系统根据仓储环境进行建模,对仓储环境进行抽象处理,考虑元素的拓扑关系,将agv需要的到达的位置定义为节点,将整个地图抽象为设定数量的节点,通过边连接两个节点并表示存在能够通行的通道,在边上设定权重表示两个节点之间的距离;其中,整个地图为将仓储环境抽象处理后得到整体的地图;
[0075]
多agv协同调度仿真平台通过读取预设的仓储环境拓扑结构图信息,随机挑取提前设置的可执行任务点位,或者通过读取存储任务信息的文件获取任务点位,进而生成任务指令;
[0076]
仿真平台接收agv发送的点云数据和里程计数据,点云数据包括agv通过激光雷达获取的周围地图的信息和agv本身的朝向信息,里程计数据包括agv在空间里评估的位置和速度信息,结合点云数据和里程计数据,减少agv在仿真环境下的误差;
[0077]
s2.采用步骤s1获取的agv发送数据,通过slam算法获取虚拟地图;具体包括:
[0078]
(1)针对所有的agv进行单独的建图处理;获取每个agv周围环境的建图,确定单独的agv的位置和姿态;
[0079]
(2)针对点云数据进行数据融合处理,并进行联合建图,获取整体环境的信息;将
整体环境地图与步骤(1)中获取的单独agv子地图进行对比处理,获取单独的agv在整体环境下的位置信息、运动朝向;
[0080]
(3)将步骤(2)获取的整体环境地图与预设的拓扑结构图进行对比,确认agv在拓扑结构图中的位置,便于后续的任务规划处理;
[0081]
步骤(1)所述的建图处理,具体包括:采用cartographer算法进行slam建图定位处理,cartographer算法读取agv通过激光雷达收集的点云数据、agv的里程计数据、惯性传感器收集的速度和加速度数据,使用最新的点云数据构建地图;在构建地图时先构建区域的子地图,当使用的点云数据达到设定的数量时,子地图停止获取信息;
[0082]
在子地图中每个位置都设定一个概率,当概率大于设定值时表示此处存在障碍,小于设定值时表示该位置无障碍,在两个概率之间表示未知;cartographer算法通过创建大量的子地图,通过组合、拼接的方式实现场景建图;
[0083]
子地图在设定时间内的准确度认为可靠,但超过设定时间后存在累积误差,通过回环检测优化所有子地图的位姿;回环检测通过匹配新产生的点云数据与最符合点云数据区域的子地图,将点云数据更新到子地图信息中,减小误差;
[0084]
采用agv的里程计数据、惯性传感器收集的速度和加速度数据计算agv的位置,通过比较计算出来的位置和点云数据中agv存在的位置,减少数据产生的位置误差;
[0085]
s3.调度系统获取仿真平台提供的地图信息和agv信息,并依靠获取的信息针对空闲的agv进行任务分配处理;具体包括:
[0086]
调度系统获取仿真平台提供的地图信息和agv信息,定义agv在地图中的位置为x
agv
、y
agv
,任务点的位置信息为x
target
、y
target
,采用下述公式描述每辆agv与所有任务点的欧氏距离:
[0087][0088]
通过选择最短的欧式距离,对空闲的agv进行任务分配;
[0089]
s4.调度系统针对步骤s3中进行任务分配处理后的agv进行路径规划处理,获取agv从当前位置到任务点的最短路径;具体包括:
[0090]
调度系统针对步骤s3中进行任务分配处理后的agv的位置和目标位置进行路径规划,通过搜索目标位置和agv起始位置在拓扑地图中的最短可行路径,获取设定数量的最短路径;
[0091]
s5.针对步骤s4获取的最短路径,进行死锁避免算法测试处理,确定无碰撞任务路径,并通过调度系统发送给执行平台;具体包括:
[0092]
进行死锁避免测试,在分配资源前,通过模拟判断分配资源后的agv是否会导致系统进入死锁状态;如果发展分配资源会导致死锁出现,那么取消分配资源;
[0093]
从步骤s4获取的最短路径中保留k条,通过遍历所有agv的k条最短路径判断系统是否会死锁,选用不会发生死锁或碰撞的路径;如果存在死锁或者碰撞,则在存在路径冲突的若干台agv中,遍历选出下一条路径长度增加最少的目标agv,并将目标agv的路径修改为选出的路径长度增加最少的路径,并重新使用agv banker's算法判断系统是否死锁,确定出最短的无碰撞任务路径;
[0094]
s6.执行平台针对步骤s5发送的无碰撞任务路径进行转换处理,并将转换后的指
令发送给agv;具体包括:
[0095]
选择差分驱动机器人differential drive robot作为仿真过程和实际应用中使用的agv,差分驱动机器人由两个驱动轮和一个附加的支持轮组成,将轮子连线的中点设置为agv的位置p,非驱动轮与地板接触的点为q,采用下述公式描述agv的位置、方向与驱动轮的角速度之间的关系:
[0096][0097]
其中,x为车辆在坐标系中的横坐标,y为车辆在坐标系中的纵坐标,θ为车辆的方向,r为驱动轮的半径,2b为两个轮子之间的距离,w
l
为agv左轮角速度,wr为agv右轮角速度;
[0098]
采用下述公式表示agv的速度、角速度与驱动轮的角速度之间的关系:
[0099][0100]
其中,v为agv的速度,为agv的角速度;
[0101]
考虑agv只有直走、转向两种选择,通过设定agv移动时的速度反过来求得agv驱动轮的运动参数,采用下述公式进行描述:
[0102][0103]
通过上述处理,将任务路径转换为基础的驱动轮驱动信息,执行系统将驱动信息发送给agv,agv不需要经过处理器进行路径转换,可以直接运行;
[0104]
s7.agv按照步骤s6发送的指令完成目标任务;
[0105]
s8.当步骤s7中的agv返回点云数据中出现障碍物存在任务路径时,重复上述步骤s3-s7,重新进行路径规划处理;直至agv安全的执行完成目标任务。
技术特征:
1.一种多agv协同调度仿真平台,包括服务层,通信层和物理层;服务层用于集中部署软件,将需要计算的程序部署在边缘云系统,对仓储环境进行仿真;通信层用于提供信息传输通道,具有网路接入、数据传输、信号处理、资源调度功能,支持若干设备通过无线通信接入互联网;物理层用于实现仿真功能。2.根据权利要求1所述的多agv协同调度仿真平台,其特征在于所述的服务层包括边缘云系统或边缘云服务器,边缘云edge cloud通过将服务器部署在待处理数据源头设定范围内的网络边缘,实现数据的传输与处理;所述的通信层通过实验基站提供的网路接入、数据传输、信号处理、资源调度功能,支持若干设备通过无线通信接入互联网;实验基站采用sdr技术,使用软件实现无线电台的功能;通过计算设备和通过射频板卡构建实验基站;实验基站支持非独立组网nsa、独立组网sa模式,支持集中式部署及分布式部署;实验基站通过接入服务层和物理层,实现服务层和物理层的数据通信;所述的物理层作为被控制主体,包括若干个差分驱动结构的agv,配备激光雷达用于采集agv的周围环境信息,使用惯性传感器收集agv的速度和加速度信息,配置树莓派raspberry pi作为agv数据发送和接收的通信工具,raspberry pi将控制信息通过有线传输给主控制器板opencr,控制agv的车轮运动;当没有实物时,使用gazebo系统仿真模拟agv执行搬运任务过程,根据仓储环境和agv模型进行模型建立,导入到gazebo系统,系统通过物理引擎真实还原物体碰撞动作;gazebo系统通过加入激光雷达、惯性测量单元传感器,实现slam建图、测量agv的加速度和角速度。3.根据权利要求2所述的多agv协同调度仿真平台,其特征在于所述的服务层模拟仓储环境的作业流程,定义服务层中部署的软件为中央调度系统,中央调度系统包括仿真平台、调度系统和执行系统;所述的仿真平台用于接收agv的激光雷达扫描的点云数据和里程计数据,根据点云数据确定周围环境信息,根据里程计数据,确定agv当前相对于初始位置时的自身位置和自身朝向,将agv获取的信息在仿真平台内的拓扑结构中进行融合处理,确定整体环境信息;调度系统根据任务指令进行任务分配、路径规划,任务分配遵循就近原则,路径规划获取agv位置到任务点的k条最短路径,并选取当前环境状态下不会发生死锁、碰撞的路径;执行系统用于转换调度系统规划的路径,按照avg的运动规律,将路径转换为速度指令和角速度指令;所述的路径规划在获取agv位置到任务点的k条最短路径时,考虑路径已有的移动距离和未来的最小移动距离,采用下述公式描述费用函数:f(x)=g(x)+h(x)其中,g(x)为agv从起点起,遍历到设定点位的移动距离,h(x)为从设定点位到达目标点位的未来移动距离;通过遍历选出从起点到终点的最小移动距离,获取最短路径;在每个节点处通过遍历寻找下一个节点时,考虑未来的移动距离,在选取下一个节点时,选择f(x)最小的节点;所述的路径规划在选取当前环境状态下不会发生死锁、碰撞的路径时,将agv能够通过的过道作为可重复利用的资源,判断规划路径占用的过道资源是否冲突给出路径、是否会发生碰撞、死锁;如果每个agv都能够在设定的时间内,利用未被占用的过道资源、和本身已
占用的过道资源完成对任务终点的访问,将规划给agv的路径认为是安全的;通过使用数据结构并查集,将立库信息中agv能够到达的节点进行初始化处理,且agv占用的边节点不计入并查集中,将地图上agv能够行驶或者停留的所有节点进行命名并且将父节点指向自己;将立库中两个节点,能够允许agv通过过道的节点进行合并,使得其中一个节点的父节点指向另一个的父节点,进而使得父节点相同的节点之间是连通的;通过判断agv的任务起点的父节点与到达终点的父节点是否一致,进而判断agv的状态是否安全;如果agv的任务起点的父节点与到达终点的父节点一致,agv的状态为安全,所有agv可以在设定的时间内完成自己的任务,不会出现死锁或碰撞的情况;其中,agv的状态是否安全定义为,agv根据规划路径行驶将会发生碰撞或死锁,则状态不安全,否则状态为安全。4.一种权利要求1~3之一所述的的多agv协同调度仿真平台的仿真方法,其特征在于包括如下步骤:s1.采用所述的多agv协同调度仿真平台生成任务指令,并获取agv的发送数据;s2.采用步骤s1获取的agv发送数据,通过slam算法获取虚拟地图;s3.调度系统获取仿真平台提供的地图信息和agv信息,并依靠获取的信息针对空闲的agv进行任务分配处理;s4.调度系统针对步骤s3中进行任务分配处理后的agv进行路径规划处理,获取agv从当前位置到任务点的最短路径;s5.针对步骤s4获取的最短路径,进行死锁避免算法测试处理,确定无碰撞任务路径,并通过调度系统发送给执行平台;s6.执行平台针对步骤s5发送的无碰撞任务路径进行转换处理,并将转换后的指令发送给agv;s7.agv按照步骤s6发送的指令完成目标任务;s8.当步骤s7中的agv返回点云数据中出现障碍物存在任务路径时,重复上述步骤s3-s7,重新进行路径规划处理;直至agv安全的执行完成目标任务。5.根据权利要求4所述的仿真方法,其特征在于步骤s1所述的采用所述的多agv协同调度仿真平台生成任务指令,并获取agv的发送数据,具体包括:多agv协同调度仿真平台中的中央调度系统根据仓储环境进行建模,对仓储环境进行抽象处理,考虑元素的拓扑关系,将agv需要的到达的位置定义为节点,将整个地图抽象为若干数量的节点,通过边连接两个节点并表示存在能够通行的通道,在边上设定权重表示两个节点之间的距离;所述的整个地图,为将仓储环境抽象处理后得到的整体的地图;多agv协同调度仿真平台通过读取预设的仓储环境拓扑结构图信息,随机挑取提前设置的可执行任务点位,或者通过读取存储任务信息的文件获取任务点位,进而生成任务指令;仿真平台接收agv发送的点云数据和里程计数据,点云数据包括agv通过激光雷达获取的周围地图的信息和agv本身的朝向信息,里程计数据包括agv在空间里评估的位置和速度信息,结合点云数据和里程计数据,减少agv在仿真环境下的误差。6.根据权利要求5所述的仿真方法,其特征在于步骤s2所述的采用步骤s1获取的agv发送数据,通过slam算法获取虚拟地图,具体包括:(1)针对所有的agv进行单独的建图处理;获取每个agv周围环境的建图,确定单独的
agv的位置和姿态;(2)针对点云数据进行数据融合处理,并进行联合建图,获取整体环境的信息;将整体环境地图与步骤(1)中获取的单独agv子地图进行对比处理,获取单独的agv在整体环境下的位置信息、运动朝向;(3)将步骤(2)获取的整体环境地图与预设的拓扑结构图进行对比,确认agv在拓扑结构图中的位置,便于后续的任务规划处理;步骤(1)所述的建图处理,具体包括:采用cartographer算法进行slam建图定位处理,cartographer算法读取agv通过激光雷达收集的点云数据、agv的里程计数据、惯性传感器收集的速度和加速度数据,使用最新的点云数据构建地图;在构建地图时先构建区域的子地图,当使用的点云数据达到设定的数量时,子地图停止获取信息;在子地图中每个位置都设定一个概率,当概率大于设定值时表示此处存在障碍,小于设定值时表示该位置无障碍,在两个概率之间表示未知;cartographer算法通过创建子地图,通过组合、拼接的方式实现场景建图;子地图在设定时间内的准确度认为可靠,但超过设定时间后存在累积误差,通过回环检测优化所有子地图的位姿;回环检测通过匹配新产生的点云数据与最符合点云数据区域的子地图,将点云数据更新到子地图信息中,减小误差;采用agv的里程计数据、惯性传感器收集的速度和加速度数据计算agv的位置,通过比较计算出来的位置和点云数据中agv存在的位置,减少数据产生的位置误差。7.根据权利要求6所述的仿真方法,其特征在于步骤s3所述的调度系统获取仿真平台提供的地图信息和agv信息,并依靠获取的信息针对空闲的agv进行任务分配处理,具体包括:调度系统获取仿真平台提供的地图信息和agv信息,定义agv在地图中的位置为x
agv
、y
agv
,任务点的位置信息为x
target
、y
target
,采用下述公式描述每辆agv与所有任务点的欧氏距离:通过选择最短的欧式距离,对空闲的agv进行任务分配。8.根据权利要求7所述的仿真方法,其特征在于步骤s4所述的调度系统针对步骤s3中进行任务分配处理后的agv进行路径规划处理,获取agv从当前位置到任务点的最短路径,具体包括:调度系统针对步骤s3中进行任务分配处理后的agv的位置和目标位置进行路径规划,通过搜索目标位置和agv起始位置在拓扑地图中的最短可行路径,获取设定数量的最短路径。9.根据权利要求8所述的仿真方法,其特征在于步骤s5所述的针对步骤s4获取的最短路径,进行死锁避免算法测试处理,确定无碰撞任务路径,并通过调度系统发送给执行平台,具体包括:进行死锁避免测试,在分配资源前,通过模拟判断分配资源后的agv是否会导致系统进入死锁状态;如果发展分配资源会导致死锁出现,那么取消分配资源;从步骤s4获取的最短路径中保留k条,通过遍历所有agv的k条最短路径判断系统是否
会死锁,选用不会发生死锁或碰撞的路径;如果存在死锁或者碰撞,则在存在路径冲突的若干台agv中,遍历选出下一条路径长度增加最少的目标agv,并将目标agv的路径修改为选出的路径长度增加最少的路径,并重新使用agv banker's算法判断系统是否死锁,确定出最短的无碰撞任务路径。10.根据权利要求9所述的仿真方法,其特征在于步骤s6所述的执行平台针对步骤s5发送的无碰撞任务路径进行转换处理,并将转换后的指令发送给agv,具体包括:选择差分驱动机器人differential drive robot作为仿真过程和实际应用中使用的agv,差分驱动机器人由两个驱动轮和一个附加的支持轮组成,将轮子连线的中点设置为agv的位置p,非驱动轮与地板接触的点为q,采用下述公式描述agv的位置、方向与驱动轮的角速度之间的关系:其中,x为车辆在坐标系中的横坐标,y为车辆在坐标系中的纵坐标,θ为车辆的方向,r为驱动轮的半径,2b为两个轮子之间的距离,w
l
为agv左轮角速度,w
r
为agv右轮角速度;采用下述公式表示agv的速度、角速度与驱动轮的角速度之间的关系:其中,v为agv的速度,为agv的角速度;考虑agv只有直走、转向两种选择,通过设定agv移动时的速度反过来求得agv驱动轮的运动参数,采用下述公式进行描述:通过上述处理,将任务路径转换为基础的驱动轮驱动信息,执行系统通过通信模块将驱动信息发送给agv,agv不需要经过处理器进行路径转换,直接运行。
技术总结
本发明公开了一种多AGV协同调度仿真平台,包括服务层,通信层和物理层;服务层集中部署软件,将需要计算的程序部署在边缘云系统,对仓储环境进行仿真;通信层提供信息传输通道,具有网路接入、数据传输、信号处理、资源调度功能,支持若干设备通过无线通信接入互联网;物理层实现仿真功能。本发明还公开了一种所述多AGV协同调度仿真平台的仿真方法。本发明的仿真效果好、通信可靠性和稳定性均较高。通信可靠性和稳定性均较高。通信可靠性和稳定性均较高。
技术研发人员:颜志 段豪勇 欧阳博 刘宏立 范红凯
受保护的技术使用者:湖南大学
技术研发日:2023.04.18
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:光伏电连接器组件的制作方法 下一篇:一种设备分发及售后服务管理系统的制作方法