CN114115248A - 一种仓储环境下多机器人协同运输方法及系统 - Google Patents

一种仓储环境下多机器人协同运输方法及系统 Download PDF

Info

Publication number
CN114115248A
CN114115248A CN202111338079.5A CN202111338079A CN114115248A CN 114115248 A CN114115248 A CN 114115248A CN 202111338079 A CN202111338079 A CN 202111338079A CN 114115248 A CN114115248 A CN 114115248A
Authority
CN
China
Prior art keywords
robot
path
map
time
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111338079.5A
Other languages
English (en)
Other versions
CN114115248B (zh
Inventor
缪志强
李嘉诚
王凡硕
于天宇
黑泽仁
廖邦彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Original Assignee
Hunan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University filed Critical Hunan University
Priority to CN202111338079.5A priority Critical patent/CN114115248B/zh
Publication of CN114115248A publication Critical patent/CN114115248A/zh
Application granted granted Critical
Publication of CN114115248B publication Critical patent/CN114115248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0289Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明公开了一种仓储环境下多机器人协同运输方法及系统,在仓储环境中,利用激光SLAM技术建图得到全局灰度地图;经过数据处理程序得到占用地图;遍历机器人任务列表,通过CA*算法依次为每个机器人规划移动路径;并利用PID算法计算出相邻两个路径节点之间移动所需的角速度与线速度;建立固定的时间跨度,限制机器人在相邻两个路径节点之间的移动时间;最后多机器人接收运动参数(前述角速度与线速度)实现运输任务。本发明提高了物流运输集成度,将仓储环境中多机器人的建图、规划、控制一体化,增强了建图技术,同时改进了控制方法,建立了固定时间跨度约束机器人行为,克服了在传统控制方法下产生的路径偏差,从而避免了碰撞事故。

Description

一种仓储环境下多机器人协同运输方法及系统
技术领域
本发明属于多机器人自动控制技术领域,具体涉及一种仓储环境下多机器人协同运输方法及系统。
背景技术
人工智能、机器人等新一代的信息技术带来了工业4.0的革新,而智慧物流作为其核心之一得到了广泛关注。智慧物流仓储通常布置有几十甚至数百规模数量数量的机器人,这些机器人通常保持24小时连续不间断运输货物,能高效准确地完成物流运输任务,为物流行业提高生产效率。多机器人系统和多机器人相比有着显著优势:(1)多机器人系统并行执行任务提高效率;(2)多机器人系统有强鲁棒性和容错能力,意外故障的机器人可以由其他机器人代替执行任务;(3)多机器人系统扩展性强,可以简单地修改机器人规模来执行不同任务。
同时定位与建图(Simultaneous Localization and Mapping,SLAM)技术是一种十分常用的构建环境地图的核心技术,对无人机的路径规划以有着重要的意义。激光SLAM是目前最稳定、最主流的定位导航方法,激光SLAM所需要的传感器一般有激光雷达(LaserScanner)、惯性测量单元(Inertial Measurement Unit,IMU)、里程计(Odometry)。利用激光雷达传感器获取的物体信息和里程计提供的位置信息可以构建二维栅格地图。
多机器人常用的规划算法是CA*(Cooperative Astar)算法,CA*算法是基于A*(Astar)算法原理的一种多机器人规划算法,用带时间维度的地图存储每个机器人搜索的路径与对应时间,通过检测碰撞、修改路径来完成多机器人的协同规划,保留了A*的代价函数。同时引入滑动窗口,使机器人到达目标点之后仍能与其他机器人协作,解决了其可能阻挡其他机器人发生死锁的问题。
PID(Proportion Integration Differentiation)控制算法是一种经典的运动控制算法,通过比例、积分、微分作用,具有消除余差,响应速度快,调节迅速,适应性强的特点,适合作为机器人的运动控制。但同时也存在一个重要问题:相较于直线行驶,在机器人转角较大时(如直角转向),轨迹会出现一定程度的偏离,虽然轨迹的偏离会通过偏差最终矫正,但是大角度转向同时会产生较长的时间滞后,使机器人实际位置落后于其规划位置;因此实际寻路时长受到所规划的路径中转向次数影响,在较长路径的情况下,滞后的积累可能使多机器人发生碰撞设置整个系统瘫痪,并且这个时间上的滞后无法通过传统PID矫正。
发明内容
针对上述问题,本发明提供了一种仓储环境下多机器人协同运输方法及系统。其将仓储环境中多机器人的建图、规划、控制一体化,将激光雷达SLAM建图技术引入多机器人规划中,使用CA*算法规划无冲突路径,并在控制过程中利用固定时间跨度约束机器人在相邻个路径节点之间的移动时间,使其无论是直行或者转向行为都在固定时间跨度内完成,克服了转向过程中的大幅度路径偏差,以达到提高鲁棒性和提高控制准确性目的。
本发明的目的之一通过以下技术方案实现:提供一种仓储环境下多机器人协同运输方法,包括以下步骤:
步骤S0:通过多机器人获取真实仓储环境信息;
步骤S1:利用SLAM技术绘制全局灰度地图;
步骤S2:根据所述全局灰度地图,判断每个地图栅格点的占用情况,获取全局栅格占用地图;
步骤S3:在所述全局栅格占用地图中遍历预设的机器人任务列表,使用CA*算法依次为每个机器人归划移动路径;
步骤S4:根据所述移动路径的路径节点,利用PID计算出每个机器人相邻两个路径节点之间移动所需的角速度与线速度;
步骤S5:建立固定的时间跨度,限制机器人在相邻两个路径节点之间的移动时间,实现无偏差控制;
步骤S6:将步骤S4中每个机器人所需的角速度与线速度输出至相应接口,实现多机器人运输任务。
作为进一步的改进,步骤S0具体表现为:通过带有激光雷达传感器的移动机器人获取真实仓储环境信息,所述真实仓储环境信息包括深度信息、IMU信息和里程计信息。
作为进一步的改进,步骤S2中所述全局灰度地图拥有0-255共计256个不同灰度值,每个地图栅格点的占用情况为占用或者空闲,根据所述全局灰度地图,判断每个地图栅格点的占用情况的判断方法如下:
设定地图栅格点的的占用程度=(255-全局灰度地图中某地图栅格点的灰度值)/255;
如果所述地图栅格点的的占用程度大于预设阈值,则认定所述地图栅格点被占用;反之,则认为所述地图栅格点空闲。
作为进一步的改进,步骤S3中,利用CA*算法为每个机器人规划,获得移动路径path_agent_i,其中,i表示第i个机器人,所述步骤S3具体包括如下步骤:
步骤S31:在所述全局栅格占用地图中遍历预设的机器人任务列表,在不考虑其他机器人影响下,使用CA*算法为其规划机器人移动路径path_agent_i,i≤n,n为机器人的总数;
步骤S32:i取1,将第一个机器人的路径节点加入到预设的全局预留表space_time_map中,加入的路径节点即占有点;
步骤S33:从第二个机器人开始,依次遍历步骤S31中获得的机器人移动路径path_agent_i,将移动路径中的下一路径节点记为next_best,坐标为(xn,yn),xn、yn分别表示next_best的横纵坐标,当前路径节点记为current,坐标为(xc,yc),xc、yc分别表示current的横纵坐标,当前时刻记为t,首先检查全局预留表中(xn,yn,t+1)是否被占有,(xn,yn,t+1)表示在t+1时刻next_best路径节点的机器人占用情况,若是,则证明将会在下一时刻与某机器人在下一路径节点发生交汇型碰撞,执行步骤S34处理碰撞;若否,则不发生此类碰撞,继续检查全局预留表中(xn,yn,t)与(xc,yc,t+1)是否均被占有,(xn,yn,t)表示在t时刻next_best路径节点的机器人占用情况,(xc,yc,t+1)表示t+1时刻current路径节点的机器人占用情况,如果已经占有,并且占有(xc,yc,t+1)的机器人与占有(xn,yn,t)的机器人是同一机器人,表示下一步则会发生交换型碰撞,执行步骤S34处理碰撞,否则不会发生碰撞;若所述两种检查结束不发生碰撞,则执行步骤S35;
步骤S34:碰撞处理程序,从当前路径节点的上下左右四个移动方向上相邻的路径节点中选择一个路径节点作为next_best路径节点,选择的原则是:该路径节点在所有相邻路径节点中fScore值最小,fScore计算表达为:
fScore=gScore+hScore (1)
式中,fScore表示机器人总代价,gScore是已经移动的距离代价,hScore是启发式距离代价;
步骤S35:将步骤S34中next_best路径节点写入当前第i个机器人的移动路径path_agent_i中,重复步骤S33,直到该机器人到达任务终点,则将其移动路径加入全局预留表space_time_map中,规划下一机器人;
步骤S36:规划完成所有机器人,得到n条规划移动路径。
作为进一步的改进,步骤S4中利用PID计算出每个机器人相邻两个路径节点之间移动所需的角速度与线速度的具体步骤如下:
步骤S41:初始化Kp,Ki,Kd参数,传入路径中的第一个点,Kp,Ki,Kd分别表示位置参数、积分参数、微分参数;
步骤S42:获得机器人当前里程计位置信息(x,y)与偏航角θ,计算出当前里程计位置到临时目标点的误差:ux=xgoal-x,uy=ygoal-y;角度误差:
Figure BDA0003351186910000051
其中,x、y分别表示当前里程计位置的横纵坐标,xgoal、ygoal分别表示临时目标点的横纵坐标,ux表示临时目标点与当前位置的横坐标差值、uy表示临时目标点与当前位置的纵坐标差值、uθ表示机器人的正前方和目标位置方向的夹角;
步骤S43:进行PID运算,角速度计算公式为:
Figure BDA0003351186910000052
式中,j、k分别表示第j时刻或第k时刻,w(k)表示机器人在k时刻的角速度,uθ(k)表示uθ在k时刻的值,uθ(k-1)表示uθ在k-1时刻的值,uθ(j)表示uθ在j时刻的值,线速度v(k)定义为常量:v(k)=0.3,同时输出角速度与线速度到相应接口;
步骤S44:将ux、uy、uθ分别与预设的误差阈值进行比较,判断机器人是否在预设误差范围内达到临时目标点,如没有,则转到步骤S42;否则进行步骤S45;
步骤S45:输入移动路径中下一个路径节点作为临时目标点,转到步骤S42;
步骤S46:判断到达移动路径中最后一路径节点即最终目标点,停止。
作为进一步的改进,步骤S5中所述时间跨度指在相邻两个路径节点之间运动的平均时间,其定义为:
timeSpan=distance/v(k)+m*π/(2*w(k))(2)
式中,timeSpan表示时间跨度,distance表示相邻两个路径节点距离,v(k)表示线速度,w(k)表示角速度,distance/v(k)表示直行的机器人所需要的基础运行时间,π/(2*w(k))表示需要给转向的机器人保留的转向时间裕度;m是一个可调的权值参数,m∈[0,1]。
作为进一步的改进,m=1时,只存在等待行为,等待行为指直行的机器人原地不动等待需要转向的机器人的行为;m=0时,只存在追赶行为,追赶行为是指需要转向的机器人还没到达当前目标路径节点就向下一目标路径节点出发的行为。
作为进一步的改进,在确定了时间跨度timeSpan的前提下,可以利用时间跨度改变线速度,从而优化控制效果:
如果当前时间/时间跨度大于当前路径节点序号数,则机器人线速度等于零;
如果当前时间/时间跨度小于当前路径节点序号数,则进入下一个路径节点;
如果当前时间/时间跨度等于当前路径节点序号数,则机器人线速度等于0.3。
本发明的目的之一通过以下技术方案实现:提供一种仓储环境下多机器人协同运输系统,运用其上所述的仓储环境下多机器人协同运输方法进行工作,包括:
多机器人,用于获取真实仓储环境信息;
建图模块:用于利用SLAM技术基于所述真实仓储环境信息绘制全局灰度地图,并根据所述全局灰度地图,判断每个地图栅格点的占用情况,获取全局栅格占用地图;
规划模块:用于在所述全局栅格占用地图中遍历预设的机器人任务列表,使用CA*算法依次为每个机器人归划移动路径;
计算模块:用于根据所述移动路径的路径节点,利用PID计算出每个机器人相邻两个路径节点之间移动所需的角速度与线速度;
控制模块:用于建立固定的时间跨度,限制机器人在相邻两个路径节点之间的移动时间,实现无偏差控制;
传输模块:用于将计算模块中求得的每个机器人所需的角速度与线速度输出至相应接口,实现多机器人运输任务。
与现有技术相比,本发明所具有的优点主要体现在以下几个方面:
(1)本发明给出机器人环境检测方法,结合CA*规划算法与优化后的机器人控制方法,搭建了一个建图、规划、控制一体化的物流智慧仓储系统,可应用于真实仓储环境。
(2)将建图技术创新性地引入到物流规划系统当中,解决了多机器人规划系统难以获取全局地图的问题,进一步优化SLAM技术构建的全局地图获得占用地图,利于基于CA*算法的多机器人规划。
(4)给出固定时间跨度的计算公式,权衡机器人移动过程中的不同行为,克服了传统控制方法造成的路径偏差和时间滞后问题,消除了机器人实际位置与规划位置的偏差,保持了多机器人规划算法的常态有效性。提高了系统的鲁棒性,同时强调了多机器人控制中的准确性和安全性。
附图说明
利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
图1为本发明所述方法的算法框图;
图2为本发明所述方法的实现流程图
图3为本发明依据真实仓储环境构架的仓库示意图;
图4为本发明所述的SLAM技术绘制的全局地图;
图5为本发明所述的CA*算法中的碰撞处理方法流程图;
图6为本发明所述无偏差控制与普通控制的区别示意图,其中,(a)表示普通控制,(b)表示无偏差控制;
图7为本发明在ROS中物理仿真平台gazebo下搭建的仓库模型;
图8在不同任务规模的情况下,使用无偏差控制和传统控制方法进行多机器人控制的平均最大路径偏移量对比图(最大偏移量是指机器人在移动过程中与原规划路径的最大偏差量,单位是米;平均最大路径偏移量是指多机器人各自的最大路径偏移量的平均值)。
具体实施方式
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步详细的描述,需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
图1为本发明所述方法的算法框图,图2为本发明所述方法的实现流程图。参见图1-图2,本发明提供的仓储环境下多机器人协同运输方法,其特征在于,包括以下步骤:
步骤S0:通过多机器人获取真实仓储环境信息;
具体地,该步骤通过带有激光雷达传感器的移动机器人获取真实仓储环境信息,真实仓储环境信息包括深度信息、IMU信息和里程计信息,深度信息由激光雷达传感器获取,IMU信息可由移动机器人上布置的陀螺仪等传感器获取,里程计信息记录在里程计当中,依赖这三项信息,可获取准确的全局占用图。
步骤S1:利用SLAM技术基于所述真实仓储环境信息绘制全局灰度地图;
步骤S2:根据所述全局灰度地图,判断每个地图栅格点的占用情况,获取全局栅格占用地图(如图4所示);
步骤S3:在所述全局栅格占用地图中遍历预设的机器人任务列表,使用CA*算法依次为每个机器人归划移动路径;
步骤S4:根据所述移动路径的路径节点,利用PID计算出每个机器人相邻两个路径节点之间移动所需的角速度与线速度;
步骤S5:建立固定的时间跨度,限制机器人在相邻两个路径节点之间的移动时间,实现无偏差控制;
步骤S6:将步骤S4中每个机器人所需的角速度与线速度输出至相应接口,实现多机器人运输任务。
通过上述过程,本发明在仓储环境中,利用激光SLAM技术建图得到全局灰度地图;经过数据处理程序得到占用地图;遍历机器人任务列表,通过CA*算法依次为每个机器人规划移动路径;并利用PID算法计算出相邻两个路径节点之间移动所需的角速度与线速度;建立固定的时间跨度,限制机器人在相邻两个路径节点之间的移动时间;最后多机器人接收运动参数(前述角速度与线速度)实现运输任务。本发明提高了物流运输集成度,将仓储环境中多机器人的建图、规划、控制一体化,增强了建图技术,同时改进了控制方法,建立了固定时间跨度约束机器人行为,克服了在传统控制方法下产生的路径偏差,从而避免了碰撞事故。
在进一步技术方案中,步骤S2中所述全局灰度地图拥有0-255(0、1、2,…,244,255)共计256个不同灰度值,每个地图栅格点的占用情况为占用或者空闲,根据所述全局灰度地图,判断每个地图栅格点的占用情况的判断方法如下:
设定地图栅格点的占用程度=(255-全局灰度地图中某地图栅格点的灰度值)/255;
如果上述地图栅格点的占用程度大于预设阈值,则认定该地图栅格点被占用;反之,则认为该地图栅格点空闲。
上述判断方法具体可表现为:
occ=(255-color_avg)/255.0
if(occ>occupied_thresh)
value=1;
else
value=0;
color_avg表示全局灰度地图中某地图栅格点的灰度值,occ表示地图栅格点的占用程度,occupied_thresh表示某点占用情况的预设阈值,occupied_thresh可由用户设定,设定值在(0,1)范围内,默认值为occupied_thresh=0.6;当occ>occupied_thresh时表示该点被占用,当occ≤occupied_thresh时表示该点空闲。value是处理后的占用情况输出值,value=1表示占用,value=0表示空闲。
需要说明的是,多次实验发现,取occupied_thresh>0.5时可以有效消除因为激光雷达传感器误数据产生的虚假障碍点即噪点,但是occupied_thresh不能过大,否则会误消除地图中实际存在的障碍物。
作为本发明的优选实施例,步骤S3中,利用CA*算法为每个机器人规划,获得移动路径path_agent_i,其中,i表示第i个机器人,图5为本发明所述的CA*算法中的碰撞处理方法流程图。步骤S3具体包括如下步骤:
步骤S31:在所述全局栅格占用地图中遍历预设的机器人任务列表,在不考虑其他机器人影响下,使用CA*算法为其规划机器人的移动路径path_agent_i,0≤i≤n,n为机器人的总数;
步骤S32:i取1,将第一个机器人的移动路径的路径节点加入到预设的全局预留表space_time_map中,加入的路径节点即占有点;
步骤S33:从第二个机器人开始,依次遍历步骤S31中获得的机器人移动路径path_agent_i,将移动路径中的下一路径节点记为next_best,坐标为(xn,yn),xn、yn分别表示next_best的横纵坐标,当前路径节点记为current,坐标为(xc,yc),xc、yc分别表示current的横纵坐标,当前时刻记为t。需要说明的是,全局预留表是一个包含两个维度的空间坐标信息和一个维度的时间坐标信息的三维坐标系,例如坐标(xn,yn,t)表示在t时刻next_best路径节点的机器人占用情况,若该坐标的值为1,表示t时刻该next_best路径节点被某个机器人占用,反之若为0则表示无机器人占用。因此,首先检查全局预留表中(xn,yn,t+1)是否被占有,(xn,yn,t+1)表示在t+1时刻next_best路径节点的机器人占用情况,若是,则证明将会在下一时刻与某机器人在下一路径节点发生交汇型碰撞(如图6中A、B两个机器人的交汇型碰撞,两个机器人同时到达同一个路径节点),执行步骤S34处理碰撞;若否,则不发生此类碰撞,继续检查全局预留表中(xn,yn,t)与(xc,yc,t+1)是否均被占有,(xn,yn,t)表示在t时刻next_best路径节点的机器人占用情况,(xc,yc,t+1)表示t+1时刻current路径节点的机器人占用情况,如果已经占有,并且占有(xc,yc,t+1)的机器人与占有(xn,yn,t)的机器人是同一机器人,表示下一步则会发生交换型碰撞(如图5中A、B两个机器人的交换型碰撞,A、B两个机器人互换位置),执行步骤S34处理碰撞,否则不会发生碰撞;若所述两种检查结束不发生碰撞,则执行步骤S35;
步骤S34:碰撞处理程序,从当前路径节点的上下左右四个移动方向上相邻的路径节点中选择一个路径节点作为next_best路径节点(要求该相邻路径节点无障碍物),选择的原则是:该路径节点在相邻无静态障碍中fScore值最小,fScore计算表达为:
fScore=gScore+hScore (1)
式中,fScore表示当前机器人的总代价,gScore是已经移动的距离代价,hScore是启发式距离代价,一般情况下hScore可以取做该路径节点到终点的曼哈顿距离,通常fScore越小,从该路径节点经过产生的距离代价之和越小,若各点fScore均为无穷大,则选择当前路径节点静止等待一时刻;
步骤S35:将步骤S34中next_best路径节点写入当前第i个机器人的移动路径path_agent_i中,重复步骤S33,直到该机器人到达任务终点,则将其移动路径加入全局预留表space_time_map中,规划下一机器人;
步骤S36:规划完成所有机器人,得到n条规划移动路径。
在本发明的一个实施例中,步骤S4中利用PID计算出每个机器人相邻两个路径节点之间移动所需的角速度与线速度的具体步骤如下:
步骤S41:初始化Kp,Ki,Kd参数,传入移动路径中的第一个路径节点,Kp,Ki,Kd分别表示比例控制参数,积分控制参数,微分控制参数;
步骤S42:获得机器人当前里程计位置信息(x,y)与偏航角θ,计算出当前里程计位置到临时目标点的误差:ux=xgoal-x,uy=ygoal-y;角度误差:
Figure BDA0003351186910000121
其中,x、y分别表示当前里程计位置的横纵坐标,xgoal、ygoal分别表示临时目标点的横纵坐标,ux表示临时目标点与当前位置的横坐标差值、uy表示临时目标点与当前位置的纵坐标差值、uθ表示机器人的正前方和目标位置方向的夹角;
步骤S43:进行PID运算,角速度计算公式为:
Figure BDA0003351186910000122
式中,j、k分别表示第j时刻或第k时刻,w(k)表示机器人在k时刻的角速度,uθ(k)表示uθ在k时刻的值,uθ(k-1)表示uθ在k-1时刻的值,uθ(j)表示uθ在j时刻的值,线速度v(k)定义为常量:v(k)=0.3,同时输出角速度与线速度到相应接口;
步骤S44:将ux、uy、uθ分别与预设的误差阈值进行比较,判断机器人是否在预设误差范围内达到临时目标点,如没有,则转到步骤S42;否则进行步骤S45;
步骤S45:输入移动路径中下一个路径节点作为临时目标点,转到步骤S42;
步骤S46:判断到达移动路径中最后一路径节点即最终目标点,停止。
此外,值得提及的是,本发明中步骤S5中引入固定的时间跨度约束机器人的行为,若机器人在相邻两路径节点之间耗费时间低于固定时间跨度,进入等待行为,等待其他机器人;若超过固定时间跨度,进入追赶行为,追赶其他机器人,以实现机器人在运行时间上和路径上的无偏差控制。
具体地,时间跨度指在相邻两个路径节点之间运动的平均时间,其定义为:
timeSpan=distance/v(k)+m*π/(2*w(k))(2)
式中,timeSpan表示时间跨度,distance表示相邻两个路径节点距离,v(k)表示线速度,w(k)表示角速度,distance/v(k)表示直行的机器人所需要的基础运行时间,π/(2*w(k))表示需要给转向的机器人保留的转向时间裕度;m是一个可调的权值参数,m∈[0,1]。
具体地,m=1时,只存在等待行为,等待行为指直行的机器人原地不动等待需要转向的机器人的行为;m=0时,只存在追赶行为,追赶行为是指需要转向的机器人还没到达当前目标路径节点就向下一目标路径节点出发的行为。通常取m趋近于1,减小机器的人路径偏移量。
本发明中,在确定了时间跨度timeSpan的前提下,可以利用时间跨度改变线速度,从而优化控制效果:
如果当前时间/时间跨度大于当前路径节点序号数,则机器人线速度等于零;
如果当前时间/时间跨度小于当前路径节点序号数,则进入下一个路径节点;
如果当前时间/时间跨度等于当前路径节点序号数,则机器人线速度等于0.3。
上述过程可以体现为:
if(current_time/timeSpan>x)
v(k)=0
if(current_time/timeSpan<x)
x=x+1
if(current_time/timeSpan=x)
v(k)=0.3
其中k是指代当前是第几个路径节点(x从0开始计数,即第一个路径节点x=0),current_time指当前时间(从起步开始计算),v(k)指机器人线速度。如果当前消耗时间比预期多,立即追赶下一目标点;如果当前消耗时间比预期少,则做停留直到达到预期时间(此时依旧可以转向);如果消耗时间等于预期,则按原计划进行。
本发明基于ROS(Robot operating system)环境进行了大量物理仿真,具体见图3,即为ROS环境下的仓储平台,图中1表示仓储,2表示货架,3表示工作台,4表示供机器人充电的充电桩,且在物理仿真时还需带有激光雷达的移动机器人模型、多台turtlbot3机器人模型。图7为本发明在ROS中物理仿真平台gazebo下搭建的仓库模型。图6为本发明所述无偏差控制与普通控制的区别示意图。如图6所示,当出现机器人转向是,普通PID控制会出现滞后,一方面导致路径偏差,另一方面导致耗费时间增长;前者可通过PID最终矫正,后者却会随时间推移累积。而本发明阐述的无偏差控制则将直行和转向两种行为约束在固定时间跨度内,既不会产生路径偏差,也不会产生耗费耗费时间改变。
选取不同任务规模,在每个任务规模下地图一致,机器人类型一致,使用一致的CA*算法规划,分别使用普通PID控制和无偏差控制,对比量为平均最大路径偏移量(最大偏移量是指机器人在移动过程中与原规划路径的最大偏差量,单位是米;平均最大路径偏移量是指多机器人各自的最大路径偏移量的平均值,单位是米)。假设两个相邻的路径节点距离为1米,实验结果如图8所示,可以看到随着任务的增加,普通控制方法的平均最大偏移量有所增加,并且实验过程中发现随着机器人数量增加,普通控制下的机器人发生碰撞的风险越大,在规模大于10时在此环境下几乎无法避免碰撞。但是采用改进无偏差控制方法的机器人的平均最大路径偏移量始终保持在0.1米以下,远远小于普通PID控制方法,同时基本克服了碰撞风险,体现出基于固定时间跨度的无偏差控制方法的准确性于安全性。
另一方面,本发明还提供了一种仓储环境下多机器人协同运输系统,运用其上所述的仓储环境下多机器人协同运输方法进行工作,包括:
多机器人,用于获取真实仓储环境信息;
建图模块:用于利用SLAM技术基于所述真实仓储环境信息绘制全局灰度地图,并根据所述全局灰度地图,判断每个地图栅格点的占用情况,获取全局栅格占用地图;
规划模块:用于在所述全局栅格占用地图中遍历预设的机器人任务列表,使用CA*算法依次为每个机器人归划移动路径;
计算模块:用于根据所述移动路径的路径节点,利用PID计算出每个机器人相邻两个路径节点之间移动所需的角速度与线速度;
控制模块:用于建立固定的时间跨度,限制机器人在相邻两个路径节点之间的移动时间,实现无偏差控制;
传输模块:用于将计算模块中求得的每个机器人所需的角速度与线速度输出至相应接口,实现多机器人运输任务。
本发明将建图、规划、控制一体化,创新性地将SLAM建图引入到多机规划当中,SLAM建图得到的地图数据经过处理后,能为后续规划和控制提供准确充分的地图数据,也能在地图运行中不断更新,规划(步骤S3-S4)用于给机器人提供离散的路径节点,同时利用清晰完整的碰撞情况处理逻辑,有效的避免死锁与碰撞情况;控制模块采取的时间跨度约束方法,控制了机器人的最大路径偏差量,能保持系统的持续性稳定运行。
上面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,不能理解为对本发明保护范围的限制。
总之,本发明虽然列举了上述优选实施方式,但是应该说明,虽然本领域的技术人员可以进行各种变化和改型,除非这样的变化和改型偏离了本发明的范围,否则都应该包括在本发明的保护范围内。

Claims (9)

1.一种仓储环境下多机器人协同运输方法,其特征在于,包括以下步骤:
步骤S0:通过多机器人获取真实仓储环境信息;
步骤S1:利用SLAM技术基于所述真实仓储环境信息绘制全局灰度地图;
步骤S2:根据所述全局灰度地图,判断每个地图栅格点的占用情况,获取全局栅格占用地图;
步骤S3:在所述全局栅格占用地图中遍历预设的机器人任务列表,使用CA*算法依次为每个机器人归划移动路径;
步骤S4:根据所述移动路径的路径节点,利用PID计算出每个机器人相邻两个路径节点之间移动所需的角速度与线速度;
步骤S5:建立固定的时间跨度,限制机器人在相邻两个路径节点之间的移动时间,实现无偏差控制;
步骤S6:将步骤S4中每个机器人所需的角速度与线速度输出至相应接口,实现多机器人运输任务。
2.根据权利要求1所述的仓储环境下多机器人协同运输方法,其特征在于,步骤S0具体表现为:通过带有激光雷达传感器的移动机器人获取真实仓储环境信息,所述真实仓储环境信息包括深度信息、IMU信息和里程计信息。
3.根据权利要求2所述的仓储环境下多机器人协同运输方法,其特征在于,步骤S2中所述全局灰度地图拥有0-255共计256个不同灰度值,每个地图栅格点的占用情况为占用或者空闲,根据所述全局灰度地图,判断每个地图栅格点的占用情况的判断方法如下:
设定地图栅格点的占用程度=(255-全局灰度地图中某地图栅格点的灰度值)/255;
如果所述地图栅格点的占用程度大于预设阈值,则认定所述地图栅格点被占用;反之,则认为所述地图栅格点空闲。
4.根据权利要求3所述的仓储环境下多机器人协同运输方法,其特征在于,步骤S3中,利用CA*算法为每个机器人规划,获得移动路径path_agent_i,其中,i表示第i个机器人,所述步骤S3具体包括如下步骤:
步骤S31:在所述全局栅格占用地图中遍历预设的机器人任务列表,在不考虑其他机器人影响下,使用CA*算法为其规划机器人移动路径path_agent_i,1≤i≤n,n为机器人的总数;
步骤S32:i取1,将第一个机器人的移动路径的路径节点加入到预设的全局预留表space_time_map中,加入的路径节点即占有点;
步骤S33:从第二个机器人开始,依次遍历步骤S31中获得的机器人移动路径path_agent_i,将移动路径中的下一路径节点记为next_best,坐标为(xn,yn),xn、yn分别表示next_best的横纵坐标,当前路径节点记为current,坐标为(xc,yc),xc、yc分别表示current的横纵坐标,当前时刻记为t,首先检查全局预留表中(xn,yn,t+1)是否被占有,(xn,yn,t+1)表示在t+1时刻next_best路径节点的机器人占用情况,若是,则证明将会在下一时刻与某机器人在下一路径节点发生交汇型碰撞,执行步骤S34处理碰撞;若否,则不发生此类碰撞,继续检查全局预留表中(xn,yn,t)与(xc,yc,t+1)是否均被占有,(xn,yn,t)表示在t时刻next_best路径节点的机器人占用情况,(xc,yc,t+1)表示t+1时刻current路径节点的机器人占用情况,如果已经占有,并且占有(xc,yc,t+1)的机器人与占有(xn,yn,t)的机器人是同一机器人,表示下一步则会发生交换型碰撞,执行步骤S34处理碰撞,否则不会发生碰撞;若所述两种检查结束不发生碰撞,则执行步骤S35;
步骤S34:碰撞处理程序,从当前路径节点的上下左右四个移动方向上相邻的路径节点中选择一个路径节点作为next_best路径节点,选择的原则是:该路径节点在所有相邻的路径节点中fScore值最小,fScore计算表达为:
fScore=gScore+hScore (1)
式中,fScore表示机器人总代价,gScore是已经移动的距离代价,hScore是启发式距离代价;
步骤S35:将步骤S34中next_best路径节点写入当前第i个机器人的移动路径path_agent_i中,重复步骤S33,直到该机器人到达任务终点,则将其移动路径加入全局预留表space_time_map中,规划下一机器人;
步骤S36:规划完成所有机器人,得到n条规划移动路径。
5.根据权利要求4所述的仓储环境下多机器人协同运输方法,其特征在于,步骤S4中利用PID计算出每个机器人相邻两个路径节点之间移动所需的角速度与线速度的具体步骤如下:
步骤S41:初始化Kp,Ki,Kd参数,传入移动路径中的第一个路径节点,Kp,Ki,Kd分别表示比例控制参数,积分控制参数,微分控制参数;
步骤S42:获得机器人当前里程计位置信息(x,y)与偏航角θ,计算出当前里程计位置到临时目标点的误差:ux=xgoal-x,uy=ygoal-y;角度误差:
Figure FDA0003351186900000031
其中,x、y分别表示当前里程计位置的横纵坐标,xgoal、ygoal分别表示临时目标点的横纵坐标,ux表示临时目标点与当前位置的横坐标差值、uy表示临时目标点与当前位置的纵坐标差值、uθ表示机器人的正前方和目标位置方向的夹角;
步骤S43:进行PID运算,角速度计算公式为:
Figure FDA0003351186900000032
式中,j、k分别表示第j时刻或第k时刻,w(k)表示机器人在k时刻的角速度,uθ(k)表示uθ在k时刻的值,uθ(k-1)表示uθ在k-1时刻的值,uθ(j)表示uθ在j时刻的值,线速度v(k)定义为常量:v(k)=0.3,同时输出角速度与线速度到相应接口;
步骤S44:将ux、uy、uθ分别与预设的误差阈值进行比较,判断机器人是否在预设误差范围内达到临时目标点,如没有,则转到步骤S42;否则进行步骤S45;
步骤S45:输入移动路径中下一个路径节点作为临时目标点,转到步骤S42;
步骤S46:判断到达移动路径中最后一路径节点即最终目标点,停止。
6.根据权利要求5所述的仓储环境下多机器人协同运输方法,其特征在于,步骤S5中所述时间跨度指在相邻两个路径节点之间运动的平均时间,其定义为:
timeSpan=distance/v(k)+m*π/(2*w(k)) (2)
式中,timeSpan表示时间跨度,distance表示相邻两个路径节点距离,v(k)表示线速度,w(k)表示角速度,distance/v(k)表示直行的机器人所需要的基础移动时间,π/(2*w(k))表示需要给转向的机器人保留的转向时间裕度;m是一个可调的权值参数,m∈[0,1]。
7.根据权利要求6所述的仓储环境下多机器人协同运输方法及系统,其特征在于,m=1时,只存在等待行为,等待行为指直行的机器人原地不动等待需要转向的机器人的行为;m=0时,只存在追赶行为,追赶行为是指需要转向的机器人还没到达当前目标路径节点就向下一目标路径节点出发的行为。
8.根据权利要求7所述的仓储环境下多机器人协同运输方法及系统,其特征在于,在确定了时间跨度timeSpan的前提下,可以利用时间跨度改变线速度,从而优化控制效果:
如果当前时间/时间跨度大于当前路径节点序号数,则机器人线速度等于零;
如果当前时间/时间跨度小于当前路径节点序号数,则进入下一个路径节点;
如果当前时间/时间跨度等于当前路径节点序号数,则机器人线速度等于0.3。
9.一种仓储环境下多机器人协同运输系统,其特征在于,运用权利要求1-8中任一项所述的仓储环境下多机器人协同运输方法进行工作,包括:
多机器人,用于获取真实仓储环境信息;
建图模块:用于利用SLAM技术基于所述真实仓储环境信息绘制全局灰度地图,并根据所述全局灰度地图,判断每个地图栅格点的占用情况,获取全局栅格占用地图;
规划模块:用于在所述全局栅格占用地图中遍历预设的机器人任务列表,使用CA*算法依次为每个机器人归划移动路径;
计算模块:用于根据所述移动路径的路径节点,利用PID计算出每个机器人相邻两个路径节点之间移动所需的角速度与线速度;
控制模块:用于建立固定的时间跨度,限制机器人在相邻两个路径节点之间的移动时间,实现无偏差控制;
传输模块:用于将计算模块中求得的每个机器人所需的角速度与线速度输出至相应接口,实现多机器人运输任务。
CN202111338079.5A 2021-11-12 2021-11-12 一种仓储环境下多机器人协同运输方法及系统 Active CN114115248B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111338079.5A CN114115248B (zh) 2021-11-12 2021-11-12 一种仓储环境下多机器人协同运输方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111338079.5A CN114115248B (zh) 2021-11-12 2021-11-12 一种仓储环境下多机器人协同运输方法及系统

Publications (2)

Publication Number Publication Date
CN114115248A true CN114115248A (zh) 2022-03-01
CN114115248B CN114115248B (zh) 2024-10-25

Family

ID=80378792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111338079.5A Active CN114115248B (zh) 2021-11-12 2021-11-12 一种仓储环境下多机器人协同运输方法及系统

Country Status (1)

Country Link
CN (1) CN114115248B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116069044A (zh) * 2023-03-29 2023-05-05 湖南大学 一种多机器人协同搬运力位混合控制方法
CN116774603A (zh) * 2023-04-18 2023-09-19 湖南大学 多agv协同调度仿真平台及仿真方法
CN117885099A (zh) * 2023-06-20 2024-04-16 苏州快捷智能科技有限公司 一种协作机器人及运行管理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169344A (zh) * 2010-12-30 2011-08-31 南开大学 未知环境下通讯距离受限的多机器人协作探索与建图方法
US20200164508A1 (en) * 2018-11-28 2020-05-28 Mitsubishi Electric Research Laboratories, Inc. System and Method for Probabilistic Multi-Robot Positioning
CN111665847A (zh) * 2020-06-24 2020-09-15 上海应用技术大学 一种基于模糊逻辑的动态窗口避障算法
WO2020192000A1 (zh) * 2019-03-27 2020-10-01 浙江大学 一种基于自主导航的畜禽信息感知机器人与地图构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169344A (zh) * 2010-12-30 2011-08-31 南开大学 未知环境下通讯距离受限的多机器人协作探索与建图方法
US20200164508A1 (en) * 2018-11-28 2020-05-28 Mitsubishi Electric Research Laboratories, Inc. System and Method for Probabilistic Multi-Robot Positioning
WO2020192000A1 (zh) * 2019-03-27 2020-10-01 浙江大学 一种基于自主导航的畜禽信息感知机器人与地图构建方法
CN111665847A (zh) * 2020-06-24 2020-09-15 上海应用技术大学 一种基于模糊逻辑的动态窗口避障算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
康晓龙: "面向动态障碍物的机器人局部路径规划策略研究与实现", CNKI硕士学位论文, 15 August 2020 (2020-08-15) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116069044A (zh) * 2023-03-29 2023-05-05 湖南大学 一种多机器人协同搬运力位混合控制方法
CN116774603A (zh) * 2023-04-18 2023-09-19 湖南大学 多agv协同调度仿真平台及仿真方法
CN116774603B (zh) * 2023-04-18 2024-01-30 湖南大学 多agv协同调度仿真平台及仿真方法
CN117885099A (zh) * 2023-06-20 2024-04-16 苏州快捷智能科技有限公司 一种协作机器人及运行管理系统

Also Published As

Publication number Publication date
CN114115248B (zh) 2024-10-25

Similar Documents

Publication Publication Date Title
CN114115248B (zh) 一种仓储环境下多机器人协同运输方法及系统
CN112835333B (zh) 一种基于深度强化学习多agv避障与路径规划方法及系统
CN104914865B (zh) 变电站巡检机器人定位导航系统及方法
US20170168485A1 (en) System and Method for Controlling Autonomous Vehicles
CN109489667A (zh) 一种基于权值矩阵的改进蚁群路径规划方法
Wang et al. AGV navigation analysis based on multi-sensor data fusion
Schmid et al. A unified approach for autonomous volumetric exploration of large scale environments under severe odometry drift
CN114815802A (zh) 一种基于改进蚁群算法的无人天车路径规划方法和系统
CN117093009B (zh) 一种基于机器视觉的物流agv小车导航控制方法及系统
Dharmasiri et al. Novel implementation of multiple automated ground vehicles traffic real time control algorithm for warehouse operations: djikstra approach
CN112161630B (zh) 适用于大型仓储系统的agv在线无碰撞路径规划方法
Aizat et al. A survey on navigation approaches for automated guided vehicle robots in dynamic surrounding
JP7047576B2 (ja) 地図作成装置
CN110926488A (zh) 用于对能运动的物体进行轨迹规划的方法
CN116337045A (zh) 一种基于karto和teb的高速建图导航方法
CN113959446B (zh) 一种基于神经网络的机器人自主物流运输导航方法
Min et al. Design and implementation of an intelligent vehicle system for autonomous valet parking service
Lian et al. Improved coding landmark-based visual sensor position measurement and planning strategy for multiwarehouse automated guided vehicle
CN116501055A (zh) 一种基于a*和并行teb的agv混合路径规划方法
CN117308964B (zh) 智能游船的路径规划方法、装置、无人船及介质
CN118092451A (zh) 一种厂房机器人目标搜索过程的位置补偿方法
CN112286211A (zh) 一种不规则布局车间的环境建模及agv路径规划方法
CN115639817A (zh) 一种路径的轨迹修正方法、装置、设备和介质
CN112484740B (zh) 用于港口无人物流车的自动建图与自动地图更新系统
Moller et al. Frenetix Motion Planner: High-Performance and Modular Trajectory Planning Algorithm for Complex Autonomous Driving Scenarios

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant