CN116989799A - 自定义全覆盖路径规划算法及机器人实验平台 - Google Patents
自定义全覆盖路径规划算法及机器人实验平台 Download PDFInfo
- Publication number
- CN116989799A CN116989799A CN202311259018.9A CN202311259018A CN116989799A CN 116989799 A CN116989799 A CN 116989799A CN 202311259018 A CN202311259018 A CN 202311259018A CN 116989799 A CN116989799 A CN 116989799A
- Authority
- CN
- China
- Prior art keywords
- robot
- line
- sub
- point
- area
- 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.)
- Pending
Links
- 238000002474 experimental method Methods 0.000 title claims abstract description 14
- 238000000034 method Methods 0.000 claims description 29
- 238000013519 translation Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000004888 barrier function Effects 0.000 abstract description 4
- 230000014616 translation Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 239000011521 glass Substances 0.000 description 6
- 230000007547 defect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000004927 fusion Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000003381 stabilizer Substances 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- GELKBWJHTRAYNV-UHFFFAOYSA-K lithium iron phosphate Chemical compound [Li+].[Fe+2].[O-]P([O-])([O-])=O GELKBWJHTRAYNV-UHFFFAOYSA-K 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/0095—Means or methods for testing manipulators
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种自定义全覆盖路径规划算法及机器人实验平台。所述路径规划算法包括:在不同环境的电子地图上,人工自定义划分机器人移动的多个子区域,每个所述子区域均为凸四边形形状;在每个所述凸四边形内,找到最小跨度对应的基线作为所述凸四边形的准基线;以所述准基线作为基准,平移得到机器人移动的覆盖路径,作为机器人在所述子区域内的航行线;找到机器人移动的轨迹边界与所述凸四边形的准基线之间的两个交点,分别以两个交点作为起点,沿航行线迭代出航路点;连接每个所述子区域,构成机器人移动的全覆盖路径。本发明不仅将透明障碍物提前剔出规划路径,安全性更强,而且保证了机器人在子区域内的较高覆盖率和较低转弯次数。
Description
技术领域
本发明涉及机器人技术领域,具体地指一种自定义全覆盖路径规划算法及机器人实验平台。
背景技术
近年来,扫地机器人、无人驾驶、无人机相关技术的迅速发展、普及。例如,传菜机器人就是实现机器人巡航功能,设置多个点位,让机器人有序前往不同餐桌;扫地机器人就是控制机器人来回移动直到覆盖完指定区域。
但是商场、工厂等场所有较多玻璃、网格等特殊材料构成的障碍物,这些障碍物在通过激光建图得到的地图上会有一定的缺失。如附图1所示,为传统全覆盖算法,从图1中的a圈内可以看出,实际工厂的走道两侧存在玻璃和网状的障碍物,但在图1中的b的激光建图构建的地图上却存在障碍物缺陷。如果在此地图上使用传统的单元分解法或栅格法进行全覆盖路径规划,会出现障碍物区域内也被规划出路径的情况,埋下安全隐患,如图1中的c所示,栅栏内也被规划出了路径。
因此,现有的路径规划技术存在以下问题:现有机器人实验平台的控制算法相对落后,全覆盖路径规划不能控制机器人移动范围,面对透明障碍物避障功能欠缺,机器人容易与透明障碍物发生碰撞,安全性不高。
发明内容
针对现有技术的不足之处,本发明提出一种自定义全覆盖路径规划算法及机器人实验平台,对大型室内全覆盖路径规划问题提出了一种新的解决办法,该路径规划算法不仅实现自定义子区域,进行分区域全路径覆盖,自由控制机器人移动区域,而且在单个区域内实现机器人的较高覆盖率和较低转弯次数;该机器人实验平台提高机器人对透明、低矮障碍物的规避能力,安全性更强。
为达到上述目的,本发明所设计的一种自定义全覆盖路径规划算法,其特别之处在于,包括如下步骤:
S1)在不同环境的电子地图上,通过点击地图上的坐标,人工自定义划分机器人移动的多个子区域,每个所述子区域均为凸四边形形状;
S2)在每个所述凸四边形内,以凸四边形的其中一条边作为基线,将基线在所述凸四边形区域内平移,基线与离开所述凸四边形的最后一条平行线之间的距离作为所述基线和对应平行线之间的跨度,找到最小跨度对应的基线作为所述凸四边形的准基线;
S3)在每个所述凸四边形内,以所述准基线作为基准,朝向凸四边形区域平移若干次,直至平移线离开所述凸四边形,每次平移得到一条机器人移动的覆盖路径,所述准基线与对应的所有平移线作为机器人在所述子区域内的航行线;
S4)在每个所述凸四边形内,找到机器人移动的轨迹边界与所述凸四边形的准基线之间的两个交点,分别以两个交点作为起点,沿航行线迭代出航路点,并计算出每行航行线的航路点个数和航路点坐标;
S5)连接每个所述子区域,构成机器人移动的全覆盖路径;
S51)获得每个所述子区域内的上一区域终点、下一区域起点、本区域起点、以及本区域终点;
S52)找到机器人坐标,计算机器人距离每个所述子区域的本区域起点的距离,选择距离最近的子区域作为首个子区域,记录首个子区域的航路点排列方式,并加入至总航路点集合;
S53)更新机器人坐标为首个子区域的本区域终点,再计算首个子区域的本区域终点距离剩余的自定义区域的本区域起点的距离,选择距离最近的子区域作为第二个子区域;……依次类推,直至将所有子区域连接排序,记录每个子区域的航路点排列方式,并加入至总航路点集合。
进一步地,S2)中,采用旋转卡壳方法找到每个所述凸四边形内的最小跨度。
进一步地,S4)中,第一行航行线上的航路点个数通过下列公式获得
;
式中,
u表示第一行航行线上的航路点个数,
xo表示交点(xo,yo)的横坐标,
yo表示交点(xo,yo)的纵坐标,
x1表示交点(x1,y1)的横坐标,
y1表示交点(x1,y1)的纵坐标,
d 表示相邻航路点之间的步距。
更进一步地, S4)中,第一行航行线上的航路点坐标通过下列公式获得
;
;
;
;
;
式中,
x表示第一行航行线上的航路点的横坐标,
y表示第一行航行线上的航路点的纵坐标,
xo表示交点pi(xo,yo)的横坐标,
yo表示交点pi(xo,yo)的纵坐标,
x1表示交点pj(x1,y1)的横坐标,
y1表示交点pj(x1,y1)的纵坐标,
xd表示航路点x坐标的偏移方向,
yd表示航路点y坐标的偏移方向,
d 表示相邻航路点之间的步距,
θ表示第一行航行线的倾斜角,
k表示第一行航行线的斜率。
更进一步地, S4)中,第一行航行线后面的每一行航行线均需要判断行数的奇偶性,并分别将两个交点作为起点,从而保证机器人坐标与下一个子区域的本区域起点之间的连续性。
本发明还设计一种机器人实验平台,所述平台执行上述的规划方法,其特别之处在于:所述平台包括感知系统、决策系统、电源系统、单片机系统和驱动系统,所述感知系统和决策系统组成机器人的上位机,所述电源系统、单片机系统和驱动系统组成机器人的下位机;
所述感知系统用于采集环境信息,输出占用地图,判断障碍物与机器人的距离、以及机器人处于地图中的位置,其包括双目摄像头、激光雷达和超声波雷达;
所述决策系统用于实现路径规定功能,包括基于ARM构架的中央处理器TX2;
所述电源系统用于为决策系统、单片机系统、以及驱动系统供电;
所述单片机系统用于解析蓝牙模块和上位机发送的数据帧,通过ttl转CAN模块与驱动系统通信,其包括STM32单片机和蓝牙控制模块;
所述驱动系统用于根据直流伺服驱动器控制直流电机速度,执行机器人的移动,其包括直流伺服驱动器和直流电机。
进一步地,所述感知系统中的激光雷达分别设置在机器人的顶部、底部、以及车身的不同部位,不同部位激光雷达对高低平面进行探测,整合多平面的激光雷达障碍物信息,完成避障。
进一步地,所述单片机系统中的STM32单片机用于判断机器人控制模式,如果判断是串口模式则根据串口发送数据的帧结构,提取速度与方向,控制电机转动;如果判断是蓝牙模式,则解析蓝牙发送的摇杆滑块数据之后,控制机器人移动。
本发明的优点在于:
1、本发明在路径规划算法中,首先通过Qt的自研规划软件,人工点击地图上的坐标,获得多个自定义子区域,有效地将玻璃或网状的透明障碍物剔出规划路径;
2、本发明在路径规划算法中,在单个自定义的凸四边形的四条边中,找到最小跨度的准基线;再以准基线作为基准,朝向该凸四边形区域平移若干次,直至平移线离开该凸四边形,准基线与对应的所有平移线作为机器人在该单个自定义的凸四边形区域内的航行线(最小跨度的准基线保证了准基线对应的所有平移线个数最少,即保证了机器人转弯的次数最少);最后找到航行线的起点,沿航行线迭代出每行航行线的航路点,并计算每行航行线的航路点个数和每个航路点坐标;
3、本发明在路径规划算法中,将多个自定义子区域连接,构成机器人移动的全覆盖路径;多个自定义区域的连接顺序排列通过以下方法实现:计算机器人距离每个自定义区域的本区域起点的距离,选择距离最近的子区域作为首个子区域;更新机器人坐标为首个子区域的本区域终点,再计算首个子区域的本区域终点距离剩余的自定义区域的本区域起点的距离,选择距离最近的子区域作为第二个子区域;……依次类推,直至将所有自定义子区域连接排序,从而实现机器人在相邻子区域之间移动距离的最小化;
4、本发明中的机器人实验平台,将激光雷达分别设置在机器人的不同部位,获取不同角度的点云信息,通过传感器的融合能力,增强机器人对低矮障碍物的避障能力;
本发明自定义全覆盖路径规划算法及机器人实验平台,首先自定义子区域,再将多个自定义子区域相连接,构成机器人移动的全覆盖路径,该路径规划算法不仅将玻璃或网状的透明障碍物提前剔出规划路径,而且保证了机器人在单个自定义子区域内的较高覆盖率和较低转弯次数;该机器人实验平台提高机器人对透明、低矮障碍物的规避能力,安全性更强。
附图说明
图1为传统全覆盖算法的弊端;
图2为本发明中的自定义区域规划;
图3为本发明中的准基线偏移获得路径示意图;
图4为本发明中的航路点迭代示意图;
图5为本发明中的子区域连接示意图;
图6为本发明中的分区域全路径覆盖效果;
图7为本发明中的机器人硬件系统设计;
图8为本发明中的机器人的多激光雷达信息融合流程;
图9为本发明中的机器人的单片机代码运行流程。
具体实施方式
以下结合附图和具体实施例对本发明作进一步的详细描述。
在本发明的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对发明的限制。
本发明自定义全覆盖路径规划算法,包括如下步骤:
S1)在不同环境的电子地图上,通过点击地图上的坐标,人工自定义划分机器人移动的多个子区域,每个所述子区域均为凸四边形形状。
具体地,通过基于Qt的自研规划软件,人机交互得到指定单元。如图2所示,选择不同环境的地图,通过点击地图上的坐标,获得自定义区域,有效地将玻璃或网状的透明障碍物剔出规划路径。
S2)在每个所述凸四边形内,以凸四边形的其中一条边作为基线,将基线在所述凸四边形区域内平移,基线与离开所述凸四边形的最后一条平行线之间的距离作为所述基线和对应平行线之间的跨度,找到最小跨度对应的基线作为所述凸四边形的准基线。
优选地,采用旋转卡壳方法找到每个所述凸四边形内的最小跨度。
S3)在每个所述凸四边形内,以所述准基线作为基准,朝向凸四边形区域平移若干次,直至平移线离开所述凸四边形,每次平移得到一条机器人移动的覆盖路径,所述准基线与对应的所有平移线作为机器人在所述子区域内的航行线。
本方法规划的路径都平行于准基线。如图3所示,为本发明中的准基线偏移获得路径示意图,图3中的外框实线表示实际规划的子区域范围,考虑到机器人的半径,将内框虚线设为机器人移动的路径范围。
从图3中可以看出,准基线解析式为/>,/>是准基线平移之后离开该凸四边形的最后一条线,与凸四边形的端点相交,解析式为/>。由于机器人清扫时是一排排扫的,每次拐弯(到下一行去)的距离r是一样的,因此当跨度最小时,需要转弯的次数就越少。准基线m次平移后的截距bm表示如下:
;
式中,
bm表示准基线m次平移后的截距,
r表示准基线每次拐弯的距离,
bn表示解析式的截距,
b表示解析式为的截距,
k表示解析式为的斜率。
S4)在每个所述凸四边形内,找到机器人移动的轨迹边界与所述凸四边形的准基线之间的两个交点,分别以两个交点作为起点,沿航行线迭代出航路点,并计算出每行航行线的航路点个数和航路点坐标。
如图4所示,为本发明中的航路点迭代示意图。图4中的准基线与轨迹边界的交点为,/>。设子区域航路点集为P,/>为第m行,第n个航路点。
具体地,第一行航行线上的航路点个数通过下列公式获得
;
式中,
u表示第一行航行线上的航路点个数,
xo表示交点(xo,yo)的横坐标,
yo表示交点(xo,yo)的纵坐标,
x1表示交点(x1,y1)的横坐标,
y1表示交点(x1,y1)的纵坐标,
d 表示相邻航路点之间的步距。
具体地,第一行航行线上的航路点坐标通过下列公式获得
;
;
;
;
;
式中,
x表示第一行航行线上的航路点的横坐标,
y表示第一行航行线上的航路点的纵坐标,
xo表示交点pi(xo,yo)的横坐标,
yo表示交点pi(xo,yo)的纵坐标,
x1表示交点pj(x1,y1)的横坐标,
y1表示交点pj(x1,y1)的纵坐标,
xd表示航路点x坐标的偏移方向,
yd表示航路点y坐标的偏移方向,
d 表示相邻航路点之间的步距,
θ表示第一行航行线的倾斜角,
k表示第一行航行线的斜率。
本发明在路径规划算法中,在单个自定义的凸四边形的四条边中,找到最小跨度的准基线;再以准基线作为基准,朝向该凸四边形区域平移若干次,直至平移线离开该凸四边形,准基线与对应的所有平移线作为机器人在该单个自定义的凸四边形区域内的航行线(最小跨度的准基线保证了准基线对应的所有平移线个数最少,即保证了机器人转弯的次数最少);最后找到航行线的起点,沿航行线迭代出每行航行线的航路点。
优选地,第一行航行线后面的每一行航行线均需要判断行数的奇偶性,并分别将两个交点作为起点,从而保证机器人坐标与下一个子区域的本区域起点之间的连续性。
S5)连接每个所述子区域,构成机器人移动的全覆盖路径,具体步骤如下:
S51)获得每个所述子区域内的上一区域终点、下一区域起点、本区域起点、以及本区域终点;
S52)找到机器人坐标,计算机器人距离每个所述子区域的本区域起点的距离,选择距离最近的子区域作为首个子区域,记录首个子区域的航路点排列方式,并加入至总航路点集合Pa;
S53)更新机器人坐标为首个子区域的本区域终点,再计算首个子区域的本区域终点距离剩余的自定义区域的本区域起点的距离,选择距离最近的子区域作为第二个子区域;……依次类推,直至将所有自定义子区域连接排序,记录每个子区域的航路点排列方式,并加入至总航路点集合Pa。
如图5所示,为本发明中的子区域连接示意图。从图5中的a~d可以看出,排列一、排列二、排列三、以及排列四分别以不同交点作为起点,很显然比较上一区域终点与本区域起点之间的距离,图5中的a的距离最近,该子区域内的航路点排序方式以图5中的a为最佳排序。
如图6所示,为本发明中的分区域全路径覆盖效果。从图6中的a~d可以看出,本自定义全覆盖路径规划算法能够实现分区域分覆盖能力。
本发明在路径规划算法中,将多个自定义子区域连接,构成机器人移动的全覆盖路径;多个自定义区域的连接顺序排列通过以下方法实现:计算机器人距离每个自定义区域的本区域起点的距离,选择距离最近的子区域作为首个子区域;更新机器人坐标为首个子区域的本区域终点,再计算首个子区域的本区域终点距离剩余的自定义区域的本区域起点的距离,选择距离最近的子区域作为第二个子区域;……依次类推,直至将所有自定义子区域连接排序,从而实现机器人在相邻子区域之间移动距离的最小化。
本发明还设计一种机器人实验平台,所述平台执行如上述的规划方法,所述平台包括感知系统、决策系统、电源系统、单片机系统和驱动系统,所述感知系统和决策系统组成机器人的上位机,所述电源系统、单片机系统和驱动系统组成机器人的下位机。如图7所示,为本发明中的机器人硬件系统设计。
所述感知系统用于采集环境信息,输出占用地图,判断障碍物与机器人的距离、以及机器人处于地图中的位置,其包括双目摄像头、激光雷达和超声波雷达。
具体地,所述感知系统中的激光雷达分别设置在机器人的顶部、底部、以及车身的不同部位,不同部位激光雷达对高低平面进行探测,整合多平面的激光雷达障碍物信息,完成避障。
所述决策系统用于实现路径规定功能,包括基于ARM构架的中央处理器TX2。
所述电源系统用于为决策系统、单片机系统、以及驱动系统供电,其包括磷酸铁锂电池,并根据需求电压不同,分别配置了19V稳压器和5V稳压器。
所述单片机系统用于解析蓝牙模块和上位机发送的数据帧,通过ttl转CAN模块与驱动系统通信,其包括STM32单片机和蓝牙控制模块。
所述驱动系统用于根据直流伺服驱动器控制直流电机速度,执行机器人的移动,其包括直流伺服驱动器和直流电机。
具体地,整合多平面的激光雷达障碍物信息具有三个步骤,如图8所示:
步骤一,顶部和底部安装多个激光雷达使雷达融合后的检测范围能够覆盖多个高度的工作区域,其中顶部激光雷达用于获取障碍物点云信息,其他部位的激光雷达用于获取一定角度的点云信息。位于车身的激光雷达不同于顶部,顶部激光雷达四周无遮挡,可以取用全部的激光雷达数据,而车身旁的激光雷达一定会有一面被车身挡住,根据安装位置需要截取一定角度的数据。
步骤二,ROS中Launch文件中发布tf变换,设置顶部激光雷达节点以及其他激光雷达到机器人坐标系的坐标转换矩阵,使两者检验到同一个障碍物时距离信息相等。传感器的坐标变换主要依赖roslaunch文件tf节点实现传感器坐标系和机器人坐标系之间的转换。
步骤三,对激光雷达信息进行处理,信息同步每个雷达发布的数据,将同步后的数据进入回调函数中,选取最优点,生成一个新的激光雷达点云数据。其中的信息处理,指的是ROS节点同时订阅多个话题并进行消息时间同步。本发明采用ROS中自带的消息过滤器(ApproximateTime),这个方法封装在message_filters::Synchronizer函数中,其底层实现主要是通过缓存队列和时间戳来实现的,当多个话题的消息需要同步时,缓存队列将用来存储每个话题的消息,时间戳用来确定消息是否需要同步。当每个话题的消息都到达之后,Synchronizer将按照时间戳将它们取出并交给回调函数处理。
如图9所示,为本发明中的机器人的单片机代码运行流程。STM32单片机是下位机的控制核心,主要负责解析移动指令,控制电机转动从而实现机器人的移动。程序准备阶段主要是初始化各个模块的定时器和GPIO等,检测双侧电机通讯能力后,判断机器人控制模式,如果是串口模式则根据串口发送数据的帧结构,提取速度与方向,控制电机转动。如果判断是蓝牙模式,则解析蓝牙发送的摇杆滑块数据之后,控制机器人移动。
机器人使用到的两种控制模式对应两种自定义协议,分别是上下位机通讯的数据协议和蓝牙通讯数据协议。下表1为上下位机通讯数据帧定义。
表1上下位机通讯数据帧定义
第一种控制方法为上下位机串口通讯。上位机由Serial节点向“dev/stm32”串口发送数据,波特率为115200,下行帧帧结构如表1所示,帧首为0xAA 0xBB,速度为无符号整型,占用两个字节,方向为有符号整型为四个字节,数据均需放大1000倍保证精度。采用CRC校验数据,帧尾为0xFF。速度2m/s,转向速度为6rad/s的报文,放大1000倍后16进制数据为0x1B 0x58和0x0F 0xD0,此数据完整帧的通信报文为:0xAA 0xBB 0x1B 0x58 0x0F 0xD00x5E 0xA4 0xFF。
第二种控制方法是蓝牙控制,有三种类型的消息分别是,摇杆、滑块和按键,分别控制方向、移动速度和转向速度。这三种数据可以使用同一种数据协议发送,如表2所示,帧头帧尾不变,新增功能码,0x01表示摇杆,0x02表示滑块、0x03表示按键,那么发送一帧摇杆数据,值为200的通信报文为:0xAA 0xBB 0x01 0x00 0xC8 0x59 0x87 0xFF。
表2蓝牙通讯数据帧定义
本发明自定义全覆盖路径规划算法及机器人实验平台,首先自定义子区域,再将多个自定义子区域相连接,构成机器人移动的全覆盖路径,该路径规划算法不仅将玻璃或网状的透明障碍物提前剔出规划路径,而且保证了机器人在单个自定义子区域内的较高覆盖率和较低转弯次数;该机器人实验平台提高机器人对透明、低矮障碍物的规避能力,安全性更强。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
1.一种自定义全覆盖路径规划算法,其特征在于,包括如下步骤:
S1)在不同环境的电子地图上,通过点击地图上的坐标,人工自定义划分机器人移动的多个子区域,每个所述子区域均为凸四边形形状;
S2)在每个所述凸四边形内,以凸四边形的其中一条边作为基线,将基线在所述凸四边形区域内平移,基线与离开所述凸四边形的最后一条平行线之间的距离作为所述基线和对应平行线之间的跨度,找到最小跨度对应的基线作为所述凸四边形的准基线;
S3)在每个所述凸四边形内,以所述准基线作为基准,朝向凸四边形区域平移若干次,直至平移线离开所述凸四边形,每次平移得到一条机器人移动的覆盖路径,所述准基线与对应的所有平移线作为机器人在所述子区域内的航行线;
S4)在每个所述凸四边形内,找到机器人移动的轨迹边界与所述凸四边形的准基线之间的两个交点,分别以两个交点作为起点,沿航行线迭代出航路点,并计算出每行航行线的航路点个数和航路点坐标;
S5)连接每个所述子区域,构成机器人移动的全覆盖路径;
S51)获得每个所述子区域内的上一区域终点、下一区域起点、本区域起点、以及本区域终点;
S52)找到机器人坐标,计算机器人距离每个所述子区域的本区域起点的距离,选择距离最近的子区域作为首个子区域,记录首个子区域的航路点排列方式,并加入至总航路点集合;
S53)更新机器人坐标为首个子区域的本区域终点,再计算首个子区域的本区域终点距离剩余的自定义区域的本区域起点的距离,选择距离最近的子区域作为第二个子区域;依次类推,直至将所有自定义子区域连接排序,记录每个子区域的航路点排列方式,并加入至总航路点集合。
2.根据权利要求1所述的自定义全覆盖路径规划算法,其特征在于:S2)中,采用旋转卡壳方法找到每个所述凸四边形内的最小跨度。
3.根据权利要求1所述的自定义全覆盖路径规划算法,其特征在于:S4)中,第一行航行线上的航路点个数通过下列公式获得
;
式中,
u表示第一行航行线上的航路点个数,
xo表示交点(xo,yo)的横坐标,
yo表示交点(xo,yo)的纵坐标,
x1表示交点(x1,y1)的横坐标,
y1表示交点(x1,y1)的纵坐标,
d 表示相邻航路点之间的步距。
4.根据权利要求3所述的自定义全覆盖路径规划算法,其特征在于: S4)中,第一行航行线上的航路点坐标通过下列公式获得
;
;
;
;
;
式中,
x表示第一行航行线上的航路点的横坐标,
y表示第一行航行线上的航路点的纵坐标,
xo表示交点pi(xo,yo)的横坐标,
yo表示交点pi(xo,yo)的纵坐标,
x1表示交点pj(x1,y1)的横坐标,
y1表示交点pj(x1,y1)的纵坐标,
xd表示航路点x坐标的偏移方向,
y d表示航路点y坐标的偏移方向,
d 表示相邻航路点之间的步距,
θ表示第一行航行线的倾斜角,
k表示第一行航行线的斜率。
5.根据权利要求4所述的自定义全覆盖路径规划算法,其特征在于: S4)中,第一行航行线后面的每一行航行线均需要判断行数的奇偶性,并分别将两个交点作为起点,从而保证机器人坐标与下一个子区域的本区域起点之间的连续性。
6.一种机器人实验平台,所述平台执行如权利要求1~5中任一项所述的规划方法,其特征在于:所述平台包括感知系统、决策系统、电源系统、单片机系统和驱动系统,所述感知系统和决策系统组成机器人的上位机,所述电源系统、单片机系统和驱动系统组成机器人的下位机;
所述感知系统用于采集环境信息,输出占用地图,判断障碍物与机器人的距离、以及机器人处于地图中的位置,其包括双目摄像头、激光雷达和超声波雷达;
所述决策系统用于实现路径规定功能,包括基于ARM构架的中央处理器TX2;
所述电源系统用于为决策系统、单片机系统、以及驱动系统供电;
所述单片机系统用于解析蓝牙模块和上位机发送的数据帧,通过ttl转CAN模块与驱动系统通信,其包括STM32单片机和蓝牙控制模块;
所述驱动系统用于根据直流伺服驱动器控制直流电机速度,执行机器人的移动,其包括直流伺服驱动器和直流电机。
7.根据权利要求6所述的机器人实验平台,其特征在于:所述感知系统中的激光雷达分别设置在机器人的顶部、底部、以及车身的不同部位,不同部位激光雷达对高低平面进行探测,整合多平面的激光雷达障碍物信息,完成避障。
8.根据权利要求6所述的机器人实验平台,其特征在于:所述单片机系统中的STM32单片机用于判断机器人控制模式,如果判断是串口模式则根据串口发送数据的帧结构,提取速度与方向,控制电机转动;如果判断是蓝牙模式,则解析蓝牙发送的摇杆滑块数据之后,控制机器人移动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311259018.9A CN116989799A (zh) | 2023-09-27 | 2023-09-27 | 自定义全覆盖路径规划算法及机器人实验平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311259018.9A CN116989799A (zh) | 2023-09-27 | 2023-09-27 | 自定义全覆盖路径规划算法及机器人实验平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116989799A true CN116989799A (zh) | 2023-11-03 |
Family
ID=88525256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311259018.9A Pending CN116989799A (zh) | 2023-09-27 | 2023-09-27 | 自定义全覆盖路径规划算法及机器人实验平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116989799A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112147999A (zh) * | 2020-08-26 | 2020-12-29 | 北京航空航天大学 | 一种自动驾驶实验agv车辆平台 |
US20220108621A1 (en) * | 2020-09-08 | 2022-04-07 | City University Of Hong Kong | Grid based path search method for uav delivery operations in urban environment |
CN115327571A (zh) * | 2022-07-29 | 2022-11-11 | 武汉理工大学 | 一种基于平面激光雷达的三维环境障碍物检测系统及方法 |
-
2023
- 2023-09-27 CN CN202311259018.9A patent/CN116989799A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112147999A (zh) * | 2020-08-26 | 2020-12-29 | 北京航空航天大学 | 一种自动驾驶实验agv车辆平台 |
US20220108621A1 (en) * | 2020-09-08 | 2022-04-07 | City University Of Hong Kong | Grid based path search method for uav delivery operations in urban environment |
CN115327571A (zh) * | 2022-07-29 | 2022-11-11 | 武汉理工大学 | 一种基于平面激光雷达的三维环境障碍物检测系统及方法 |
Non-Patent Citations (2)
Title |
---|
AO JIANG 等: "Complete Coverage Path Planning for Industrial Mobile Robots", RICI’22 PROCEEDINGS OF THE 2022 4TH INTERNATIONAL CONFERENCE ON ROBOTICS * |
AO JIANG 等: "Complete Coverage Path Planning for Industrial Mobile Robots", RICI’22 PROCEEDINGS OF THE 2022 4TH INTERNATIONAL CONFERENCE ON ROBOTICS,INTELLIGENT CONTROL AND ARTIFICIAL INTELLIGENCE, pages 42 - 46 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107167141B (zh) | 基于双一线激光雷达的机器人自主导航系统 | |
CN109916393B (zh) | 一种基于机器人位姿的多重栅格值导航方法及其应用 | |
Biber et al. | Navigation system of the autonomous agricultural robot Bonirob | |
US11656630B2 (en) | Autonomous map traversal with waypoint matching | |
JP4682973B2 (ja) | 移動経路作成方法、自律移動体および自律移動体制御システム | |
Li et al. | Localization and navigation for indoor mobile robot based on ROS | |
CN105892489A (zh) | 一种基于多传感器融合的自主避障无人机系统及控制方法 | |
CN109144068A (zh) | 三向前移式导航切换agv叉车的电控方式及控制装置 | |
CN108363395A (zh) | 一种agv自主避障的方法 | |
WO2022252221A1 (zh) | 一种移动机器人队列系统及路径规划、跟随方法 | |
CN102379277A (zh) | 智能驱鸟机器人 | |
CN109978272A (zh) | 一种基于多个全向移动机器人的路径规划系统及方法 | |
CN102716562A (zh) | 基于主动消防预警的自主车 | |
CN106647730A (zh) | 一种前方随行系统及随行方法和智能移动平台 | |
WO2022256821A1 (en) | Directed exploration for navigation in dynamic environments | |
CN112859110A (zh) | 一种基于三维激光雷达的定位导航方法 | |
CN113589809A (zh) | 可避障的挖掘机工作装置作业轨迹规划方法及装置 | |
CN115599099A (zh) | 一种基于ros的自主导航机器人 | |
Asadi et al. | An integrated aerial and ground vehicle (UAV-UGV) system for automated data collection for indoor construction sites | |
CN116989799A (zh) | 自定义全覆盖路径规划算法及机器人实验平台 | |
CN113084777A (zh) | 一种基于ros的图书馆自动取放图书机器人 | |
Son et al. | The practice of mapping-based navigation system for indoor robot with RPLIDAR and Raspberry Pi | |
CN211207169U (zh) | 一种温室采摘机器人底盘控制系统 | |
CN105116891A (zh) | 双核中速两轮微微鼠冲刺控制器及其控制方法 | |
CN105138017A (zh) | 基于两轮中速全自动灭火机器人的双核伺服控制系统 |
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 |