一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

移动设备绕障方法、装置、移动设备及存储介质与流程

2021-09-25 04:46:00 来源:中国专利 TAG:设备 装置 控制 方法 存储介质


1.本发明涉及控制技术领域,特别是涉及一种移动设备绕障方法、装置、移动设备及存储介质。


背景技术:

2.对于某一类移动设备,通常是沿着设定的路径执行相应的任务,如仓储机器人、酒店服务机器人等,但是当行进路径上存在临时障碍物时,移动设备就会停在障碍物前等待障碍物离开。一种更合适的做法是,在设定的路径周围进行绕障,当障碍物挡住行进道路时,移动设备可以灵活地绕过障碍物并且不与障碍物发生碰撞。
3.现有技术中,可以采用传统的路径搜索算法(如a*,hybrid a*),或者基于采样的算法(如动态窗口法dwa,快速搜索随机树rrt)来实现绕障,但此类方法是在离散空间进行的,而移动设备的控制空间和轨迹空间都是连续的,为了保证实时性,一般在比较粗粒度的分辨率下实现,因此规划出的轨迹并不是最优的。此外,也可以采用基于优化的方法(如时间弹性带算法teb)来实现绕障,但该算法将轨迹参数化为离散的点集,因此待优化的变量维数较大,无法在低成本的计算单元上满足实时性的需求。


技术实现要素:

4.鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种移动设备绕障方法、装置、移动设备及存储介质。
5.依据本发明实施例的第一方面,提供了一种移动设备绕障方法,包括:
6.基于路径规划指令,确定从当前位置到所述避障位置的初始路径,所述避障位置位于全局路径上;
7.对所述初始路径进行采样,并将路径采样点作为待拟合曲线的控制点的初始位置;
8.基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行优化;
9.根据优化得到的控制点的位置,确定所述当前位置到所述避障位置的局部目标路径。
10.依据本发明实施例的第二方面,提供了一种移动设备绕障装置,包括:
11.初始路径确定模块,用于基于路径规划指令,确定从当前位置到所述避障位置的初始路径,所述避障位置位于全局路径上;
12.初始路径采样模块,用于对所述初始路径进行采样,并将路径采样点作为待拟合曲线的控制点的初始位置;
13.控制点优化模块,用于基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行优化;
14.绕障路径确定模块,用于根据优化得到的控制点的位置,确定所述当前位置到所
述避障位置的局部目标路径。
15.依据本发明实施例的第三方面,提供了一种移动设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面中所述的移动设备绕障方法。
16.依据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的移动设备绕障方法。
17.本发明实施例提供的移动设备绕障方法、装置、移动设备及存储介质,通过基于路径规划指令确定从当前位置到避障位置的初始路径,对初始路径进行采样,将路径采样点作为待拟合曲线的控制点的初始位置,基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行优化,根据优化得到的控制点的位置确定当前位置到避障位置的局部目标路径,由于通过对控制点的位置进行优化来获取更优的解,是在连续空间的求解,规划出的轨迹最优,而且将控制点的位置作为优化变量,相对于基于优化的方法,减少了优化参数,减少了求解耗时,从而可以在低成本的计算单元上满足实时性的需求。
18.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
19.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
20.图1是本发明实施例提供的一种移动设备绕障方法的步骤流程图;
21.图2是本发明实施例中的确定避障位置的示意图;
22.图3是本发明实施例提供的一种移动设备绕障装置的结构框图。
具体实施方式
23.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
24.图1是本发明实施例提供的一种移动设备绕障方法的步骤流程图,如图1所示,该方法可以包括:
25.步骤101,基于路径规划指令,确定从当前位置到避障位置的初始路径,所述避障位置位于全局路径上。
26.其中,全局路径是移动设备(如机器人)执行某项任务时从初始的起点到目标终点的全局的路径。在移动设备行进过程中,全局路径中的某个位置有可能被障碍物遮挡,这就需要进行局部绕障。
27.在移动设备沿着上一路径规划周期的规划轨迹行进时,如果将要与障碍物发生碰撞,或者移动设备偏离全局路径太远,则需要重新规划路径,确定接收到路径规划指令。基于路径规划指令,首先确定局部规划的终点,即避障位置,可以将全局路径上距离当前位置第一距离的一点,作为局部规划的避障位置,以根据当前位置和避障位置获得一条没有碰撞的绕障轨迹。例如,如图2所示,移动设备1在全局路径2上行进时,将会与第一障碍物3和第二障碍物4碰撞,这时确定全局路径2上距离当前位置第一距离的一点g’,作为局部规划的避障位置,以绕过第一障碍物3和第二障碍物4。其中,第一距离可以根据需要设定,例如可以是8米。
28.在确定避障位置后,可以通过路径搜索算法获得一个初始解,即可以基于导航地图,通过路径搜索算法搜索一条从当前位置到避障位置的初始路径。搜索初始路径时,有可能会搜索失败,这时可以按照全局路径进行行进,并在到达下一路径规划周期时再进行规划。其中,路径搜索算法可以为a*算法或者hybrid a*算法。a*搜索是在离散的栅格地图上进行的,每个格子的边长一般是5cm。hybrid a*是在离散的状态空间上进行的,比如方向盘分别为

10,0,10度并前进1米。
29.在本发明的一个实施例中,所述方法还包括:
30.在到达路径规划周期时,若当前位置偏离所述全局路径的距离大于第一距离阈值,或者,上一路径规划周期的规划轨迹在行进方向上第一距离内有障碍物且距离障碍物的距离大于或等于第二距离阈值,或者,上一路径规划周期的规划轨迹在行进方向上所述第一距离内有障碍物且预测得到的临时终点与障碍物的距离不小于第三距离阈值,则确定接收到路径规划指令。
31.移动设备中可以包括地图模块、移动设备位姿的定位模块、全局规划模块、绕障模块和控制模块,地图模块根据定位模块输出的移动设备前时刻的位姿、激光点云数据,对概率栅格地图进行更新,概率栅格地图用于表示每个栅格中存在障碍物的概率,根据概率栅格地图的概率可以获得指定位置的占据状态,占据状态可以包括存在障碍物、空闲或未知;地图模块再将概率栅格地图进行欧式距离转换(euclidean distance transform,edt)获得导航地图,导航地图中,每个栅格内的值表示该位置与最近障碍物的距离。绕障模块用于执行本发明实施例中的移动设备绕障方法。控制模块用于控制移动设备按照规划的轨迹行进。
32.移动设备按照路径规划周期来对路径进行局部规划,在到达路径规划周期时,基于导航地图,判断当前位置偏离全局路径的距离是否大于第一距离阈值,如果是,则可能是由于控制等原因导致移动设备偏离全局路径太远,需要重新规划路径,确定接收到路径规划指令,如果不是,继续判断上一路径规划周期的规划轨迹是否将要与障碍物发生碰撞,如果不会与障碍物发生碰撞,即在上一路径规划周期的规划轨迹的行进方向上第一距离内没有有障碍物,则不需要重新规划路径,如果将要与障碍物发生碰撞,即在上一路径规划周期的规划轨迹的行进方向上第一距离内有障碍物,则还需要判断行进方向上移动设备与障碍物的距离是否大于或等于第二距离阈值,或者预测得到的避障位置与障碍物的距离是否大于或等于第三距离阈值,如果在上一路径规划周期的规划轨迹在行进方向上第一距离内有障碍物的情况下,行进方向上移动设备与障碍物的距离是否大于或等于第二距离阈值,或者预测得到的避障位置与障碍物的距离是否大于或等于第三距离阈值,则确定需要重新规
划路径,即接收到路径规划指令,如果在上一路径规划周期的规划轨迹在行进方向上第一距离内有障碍物的情况下,行进方向上移动设备与障碍物的距离小于第二距离阈值,或者避障位置与障碍物的距离小于第三距离阈值,则确定不需要重新规划路径,因为移动设备距离障碍物较近或者避障位置距离障碍物较近,即使重新规划也会失败,所以这时不需要重新规划路径,按照上一周期的规划轨迹行进距离障碍物较近时可以进行停障。
33.在本发明的一个实施例中,所述基于路径规划指令,确定从当前位置到所述避障位置的初始路径,包括:确定距离所述全局路径第二距离内的区域为搜索区域;在所述搜索区域内,通过路径搜索算法搜索从所述当前位置到所述避障位置的初始路径。
34.由于需要在全局路径附近进行绕障,首先需要构造搜索区域,即将全局路径第二预设距离内的区域作为搜索区域,如图2中两条虚线内的区域。在搜索区域内以当前位置为起点,通过路径搜索算法搜索一条到避障位置的路径,作为初始路径。其中,路径搜索算法可以采用hybrid a*算法。通过在搜索区域内搜索初始路径,可以避免出现初始路径偏离全局路径太远的情况。
35.在本发明的一个实施例中,所述方法还包括:若所述搜索区域被障碍物完全遮挡,则在通过路径搜索算法搜索从所述当前位置到所述避障位置的初始路径时,确定搜索失败。
36.若在行进方向上,搜索区域被障碍物完全遮挡,即行进路径被大型障碍物遮挡,则通过路径搜索算法搜索初始路径时会搜索失败,因为障碍物较大无法在搜索区域内实现绕障,这时不需要进行绕障,可以由停障模块负责停障。
37.步骤102,对所述初始路径进行采样,并将路径采样点作为待拟合曲线的控制点的初始位置。
38.可以按照距离间隔或者时间间隔,对初始路径进行采样,将得到的路径采样点作为待拟合曲线的控制点的初始位置。其中,所述待拟合曲线可以是b样条曲线。
39.在本发明的一个实施例中,对所述初始路径进行采样,包括:计算在所述初始路径上行进所需的时间;按照指定时间间隔,对所述初始路径进行采样,得到所述初始路径上的路径采样点。
40.由于在非线性优化步骤中,优化变量是待拟合曲线的控制点,因此需要先将初始路径进行曲线的拟合,这时预估移动设备在初始路径上行进所需的时间,可以采用梯形规划预估得到,按照指定时间间隔对所述时间进行采样,得到多个时间采样点,预估移动设备在行进过程中到达每个时间采样点时移动设备所到达的路径采样点,得到时间采样点在初始路径上所对应的路径采样点。通过基于指定时间间隔来对初始路径进行采样获得路径采样点,将得到的路径采样点作为待拟合曲线的控制点的初始位置,可以获得合适的初始控制点,提高待拟合曲线拟合的速度。
41.待拟合曲线可以是b样条曲线,采用b样条曲线的优点有3点:第一,优化变量减少,采用b样条曲线的方式参数化,优化变量为n 1个控制点,优化变量数目为2*(n 1),通常控制点的数量不会太多,对于8米的路径20~30个控制点即可,而基于离散点的优化,通常需要更多的点数(如100个,此时平均间隔为8cm),优化参数越多,问题的规模越大,求解越耗时,从而b样条曲线相对于离散点的优化可以减少优化参数,提高求解速度;第二,b样条具有可微性,可以求得曲线上任意一点的位置、速度和加速度,而离散点的优化方式只能通过
有限差分获得,时间间隔越大越不精确;第三,b样条曲线具有凸包性质,可以简化边界约束的表示。
42.步骤103,基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行优化。
43.其中,所述速度参量可以是加加速度,所述加加速度也可以称为急动度或力变率,是加速度的变化率。
44.基于初始位置以及待拟合曲线,对控制点的位置进行优化,以使得控制点与障碍物的距离较小,保证移动设备的安全性,并使得移动设备在控制点处的速度参量较小,保证待拟合曲线的平滑性。
45.在得到待拟合的待拟合曲线的初始位置后,通过最小二乘法拟合一条准均匀的b样条曲线:
[0046][0047]
其中,n 1为控制点的数量,q
i
为第i个控制点的位置,p为b样条曲线的次数,n
i,p
(t)为p次b样条曲线基函数。
[0048]
以目标函数和约束条件构建非线性优化问题,将控制点的初始位置作为非线性优化问题的输入,对控制点的位置进行优化,以使得由控制点确定的b样条曲线能够较为平滑并且安全。需要注意的是,在求解时需要增大起点(即当前位置)和终点(即避障位置)的权重,保证该b样条曲线能穿过起点和终点。在求解时,优化变量为:[q
p
,q
p 1
,

,q
n

p
],两端的控制点不参与优化,这是为了保证起点和终点的位置等于设定的值。在求解该非线性优化问题时,可能会求解失败,这时可以等待下一路径规划周期再进行路径规划。
[0049]
在本发明的一个实施例中,基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行优化,包括:基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行迭代调整,直至控制点与障碍物的距离和移动设备在控制点处的速度参量收敛。
[0050]
在基于初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行迭代调整,来对控制点的位置进行优化,具体的,将初始位置代入待拟合曲线的方程,得到初始位置对应的待拟合曲线,确定初始位置对应的待拟合曲线中的当前位置与避障位置之间的轨迹,在该轨迹中确定控制点与障碍物的距离以及移动设备在控制点处的速度参量,基于控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行调整,使得控制点与障碍物的距离以及移动设备在控制点处的速度参量减小,迭代执行上述将控制点的位置代入待拟合曲线的方程,得到控制点的位置对应的待拟合曲线,并对控制点的位置进行调整的操作,直至控制点与障碍物的距离和移动设备在控制点处的速度参量达到最小值,即控制点与障碍物的距离和移动设备在控制点处的速度参量收敛,结束迭代调整,得到优化后控制点的位置。
[0051]
在本发明的一个实施例中,基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行迭代调整,直至控制点与障碍物的距离和移动设备在控制点处的速度参量收敛,包括:基于所述初始位置和控制点与障碍物的距离,构建安全性约束函数;基于所述初始位置和移动设备在控制点处的速度参量,构建平滑
项约束函数;根据所述安全性约束函数、所述平滑项约束函数,对控制点的位置进行迭代调整,直至所述安全性约束函数和所述平滑项约束函数收敛。
[0052]
通过安全性约束函数保证优化后的轨迹上没有碰撞,通过平滑项约束函数保证优化后的轨迹平滑,在构建安全性约束函数和平滑项约束函数后,可以对控制点的位置进行迭代调整,即将控制点的位置代入待拟合曲线的方程,得到从当前位置到避障位置的轨迹,基于该路径来确定安全性约束函数值和平滑项约束函数值,基于安全性约束函数值和平滑项约束函数值,对控制点的位置进行调整,使得安全性约束函数值和平滑项约束函数值减小,迭代执行上述将控制点的位置代入待拟合曲线的方程以及对控制点的位置进行调整的操作,直至安全性约束函数值和平滑项约束函数值达到最小,即安全性约束函数值和平滑项约束函数值收敛,结束迭代过程。
[0053]
在本发明的一个实施例中,所述基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行迭代调整,直至控制点与障碍物的距离和移动设备在控制点处的速度参量收敛,还包括:基于所述初始位置、移动设备在迭代过程中待拟合曲线上的速度以及移动设备在迭代过程中待拟合曲线上的加速度,构建速度约束函数;根据所述速度约束函数,对控制点的位置进行迭代调整,直至所述速度约束函数收敛。
[0054]
在对控制点的位置进行迭代调整的过程中,还可以保证在迭代过程中的轨迹上的速度满足要求,这时可以基于初始位置、移动设备在迭代过程中待拟合曲线上的速度以及移动设备在迭代过程中待拟合曲线上的加速度,构建速度约束函数,并基于安全性约束函数、平滑项约束函数和速度约束函数,对控制点的位置进行迭代调整,直至安全性约束函数、平滑项约束函数和速度约束函数收敛,结束迭代操作,这样可以保证移动设备的安全性、轨迹的平滑性以及在优化后的轨迹上的速度和加速度满足要求。
[0055]
在本发明的一个实施例中,所述基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行迭代调整,直至控制点与障碍物的距离和移动设备在控制点处的速度参量收敛,还包括:基于所述初始位置和迭代过程中待拟合曲线的曲率,构建曲率约束函数;基于所述初始位置和迭代过程中待拟合曲线的起点角度和终点角度,构建角度约束函数;根据所述曲率约束函数、角度约束函数,对控制点的位置进行迭代调整,直至所述曲率约束函数、角度约束函数收敛。
[0056]
在对控制点的位置进行迭代调整的过程中,还可以保证在迭代过程中的轨迹上的曲率和角度满足要求,这时可以基于初始位置和迭代过程中待拟合曲线的曲率,构建曲率约束函数函数,并基于初始位置和迭代过程中待拟合曲线的起点角度和终点角度构建角度约束函数,并基于安全性约束函数、平滑项约束函数、速度约束函数、曲率约束函数和角度约束函数,对控制点的位置进行迭代调整,直至安全性约束函数、平滑项约束函数、速度约束函数、曲率约束函数和角度约束函数收敛,结束迭代操作,这样可以保证移动设备的安全性、轨迹的平滑性、在优化后的轨迹上的速度和加速度满足要求、曲率和角度满足要求。
[0057]
在对控制点的位置进行优化的过程中,优化参数除了控制点与障碍物的距离以及移动设备在控制点处的速度参量外,还可以包括移动设备在优化后轨迹上的速度、移动设备在优化后轨迹上的加速度、优化后轨迹的曲率、优化后轨迹的起点角度和终点角度,从而可以在保证安全和平滑的基础上,使得移动设备在优化后的轨迹上行进时速度、加速度、曲
率、起点角度和终点角度均能满足要求,进一步提高安全性。
[0058]
在本发明的一个实施例中,基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行迭代调整,直至控制点与障碍物的距离和移动设备在控制点处的速度参量收敛,包括:对所述安全性约束函数、平滑项约束函数、速度约束函数、加速度约束函数、曲率约束函数和角度约束函数进行加权,确定所述目标函数;基于所述目标函数,对控制点的位置进行迭代调整,直至所述目标函数收敛。
[0059]
其中,所述目标函数表示如下:
[0060]
f
total
=ω1f
s
ω2f
c
ω3(f
v
f
a
) ω4f
k
ω5f
θ
[0061]
其中,f
total
为目标函数,f
s
为平滑项约束函数,f
c
为安全性约束函数,f
v
为速度约束函数,f
a
为加速度约束函数,f
k
为曲率约束函数,f
θ
为角度约束函数,ω1为平滑项约束函数的权重,ω2为安全性约束函数的权重,ω3为速度约束函数和加速度约束函数的权重,ω4为曲率约束函数的权重,ω5为角度约束函数的权重。
[0062]
通过平滑项约束函数保证优化后的轨迹平滑,通过安全性约束函数保证优化后的轨迹上没有碰撞,通过速度约束函数和加速度约束函数,保证优化后的轨迹上的速度和加速度在设定范围内,通过曲率约束函数保证优化后的轨迹的曲率在设定范围内,通过角度约束函数的约束保证优化后的轨迹的起点和终点的方向尽可能不变。在对控制点的位置进行优化时,确定使得目标函数的值最小时的控制点的位置。
[0063]
在上述目标函数中,所述平滑项约束函数表示如下:
[0064]
f
s
(i)=((q
i 3

2q
i 2
q
i 1
)

(q
i 2

2q
i 1
q
i
))2[0065]
其中,q
i
表示第i个控制点,f
s
(i)表示在第i个控制点处的速度参量的平方和;
[0066]
所述安全性约束函数表示如下:
[0067][0068]
其中,f
c
(d(q
i
))表示控制点与障碍物的距离的平方和,d(q
i
)为第i个控制点与障碍物的距离,d
thr
表示发生碰撞时移动设备与障碍物的最小距离;
[0069]
所述速度约束函数表示如下:
[0070][0071]
其中,f
v
(v
μ
)表示速度约束函数,v
μ
表示迭代过程中待拟合曲线上的速度,v
max
表示速度阈值;
[0072]
所述加速度约束函数表示如下:
[0073][0074]
其中,f
a
(a
μ
)表示加速度约束函数,a
μ
表示迭代过程中待拟合曲线上的加速度,a
max
表示加速度阈值。
[0075]
平滑项约束函数通过速度参量的平方和来表示。安全性约束函数通过控制点与障碍物的距离的平方和来表示,d(q
i
)可以从导航地图中直接获得。在速度约束函数和加速度
约束函数中,速度和加速度可以由控制点差分获得。曲率约束函数用于约束优化后的轨迹的曲率在设定曲率范围内,曲率可以由控制点计算得到。角度约束函数用于约束优化后的轨迹的起点和终点的方向尽可能不变,起点角度和终点角度可以由控制点计算得到。
[0076]
在构建上述非线性优化问题后,可以采用开源第三方库ipopt或nlopt对上述控制点的位置进行优化求解。
[0077]
在本发明的一个实施例中,基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行优化,包括:
[0078]
基于所述初始位置、控制点与障碍物的距离、移动设备在控制点处的速度参量和迭代过程中待拟合曲线的参数,对控制点的位置进行迭代调整,所述迭代过程中待拟合曲线的参数包括所述移动设备在迭代过程中待拟合曲线上的速度、所移动设备在迭代过程中待拟合曲线上的加速度、迭代过程中待拟合曲线的曲率、迭代过程中待拟合曲线的起点角度和终点角度中的一个或多个。
[0079]
在基于初始位置、控制点与障碍物的距离、移动设备在控制点处的速度参量和迭代过程中待拟合曲线的参数,对控制点的位置进行迭代调整,来对控制点的位置进行优化,具体的,将初始位置代入待拟合曲线的方程,得到初始位置对应的待拟合曲线,确定初始位置对应的待拟合曲线中的当前位置与避障位置之间的轨迹,在该轨迹中确定控制点与障碍物的距离、移动设备在控制点处的速度参量和迭代过程中待拟合曲线的参数,基于控制点与障碍物的距离、移动设备在控制点处的速度参量和迭代过程中待拟合曲线的参数,对控制点的位置进行调整,使得控制点与障碍物的距离、移动设备在控制点处的速度参量减小和迭代过程中待拟合曲线的参数减小,迭代执行上述将控制点的位置代入待拟合曲线的方程,得到控制点的位置对应的待拟合曲线,并对控制点的位置进行调整的操作,直至控制点与障碍物的距离、移动设备在控制点处的速度参量和迭代过程中待拟合曲线的参数达到最小值,即控制点与障碍物的距离、移动设备在控制点处的速度参量和迭代过程中待拟合曲线的参数收敛,结束迭代调整,得到优化后控制点的位置。所述迭代过程中待拟合曲线的参数包括所述移动设备在迭代过程中待拟合曲线上的速度、所移动设备在迭代过程中待拟合曲线上的加速度、迭代过程中待拟合曲线的曲率、迭代过程中待拟合曲线的起点角度和终点角度中的一个或多个,这样可以保证优化后的轨迹满足要求,提高安全性。
[0080]
步骤104,根据优化得到的控制点的位置,确定所述当前位置到所述避障位置的局部目标路径。
[0081]
在对控制点的位置进行优化后,将优化得到的控制点的位置代入待拟合曲线方程,得到待拟合曲线,并从该待拟合曲线中截取从当前位置到避障位置的曲线段,得到从当前位置到避障位置的局部目标路径。如待拟合曲线为b样本曲线时,将优化后的控制点的位置代入b样条曲线方程,可以得到b样条曲线,从b样条曲线中截取从当前位置到避障位置的曲线段,得到从当前位置到避障位置的局部目标路径。
[0082]
其中,所述根据优化得到的控制点的位置,确定所述当前位置到所述避障位置的局部目标路径,包括:
[0083]
根据优化得到的控制点的位置,按照如下b样条曲线确定所述当前位置到所述避障位置的局部目标路径:
[0084][0085]
其中,n 1为控制点的数量,q
i
为第i个控制点的位置,p为b样条曲线的次数,n
i,p
(t)为p次b样条曲线基函数。
[0086]
本发明实施例中,可以采用三次b样条曲线来进行求解,即p为3。
[0087]
本实施例提供的移动设备绕障方法,通过基于路径规划指令确定从当前位置到避障位置的初始路径,对初始路径进行采样,将路径采样点作为待拟合曲线的控制点的初始位置,基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行优化,根据优化得到的控制点的位置确定当前位置到避障位置的局部目标路径,由于通过对控制点的位置进行优化来获取更优的解,是在连续空间的求解,规划出的轨迹最优,而且将控制点的位置作为优化变量,相对于基于优化的方法,减少了优化参数,减少了求解耗时,从而可以在低成本的计算单元上满足实时性的需求。
[0088]
在上述技术方案的基础上,在所述确定所述当前位置到所述避障位置的局部目标路径之后,还包括:
[0089]
若移动设备在沿着所述局部目标路径行进时不会与障碍物发生碰撞,且所述局部目标路径满足角度约束条件和曲率约束条件,则输出所述局部目标路径;
[0090]
否则,输出所述全局路径。
[0091]
其中,角度约束条件是预先设置的起点角度和终点角度需满足的条件,曲率约束条件是预先设置的运动轨迹的曲率需满足的条件。
[0092]
在确定当前位置到避障位置的局部目标路径后,对该局部目标路径进行校验,校验若移动设备沿着局部目标路径行进时是否会与障碍物发生碰撞,并且校验局部目标路径是否满足角度约束条件和曲率约束条件,若移动设备沿着局部目标路径行进时不会与障碍物发生碰撞,而且局部目标路径满足角度约束条件和曲率约束条件,则可以将局部目标路径输出至控制模块,由控制模块控制移动设备按照局部目标路径行进,以绕过障碍物行进。经过校验,若移动设备沿着局部目标路径行进时会与障碍物发生碰撞,或者局部目标路径不满足角度约束条件和曲率约束条件,则输出全局路径至控制模块,由控制模块控制机器人按照全局路径行进。通过路径校验,保证移动设备沿着较优的路径行进,可以保证移动设备的安全性。
[0093]
在上述技术方案的基础上,所述方法还包括:
[0094]
若在所述全局路径上行进时与障碍物的距离小于第四距离阈值,则停止行进。
[0095]
在上述绕障轨迹规划失败或者距离障碍物较近无法进行路径重新规划时,移动设备需要在全局路径上行进,这时移动设备在行进的过程中,实时确定移动设备与障碍物的距离,如果距离小于第四距离阈值,即移动设备即将要与障碍物发生碰撞,则停止行进,可以避免与障碍物发生碰撞。
[0096]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0097]
图3是本发明实施例提供的一种移动设备绕障装置的结构框图,如图3所示,该移动设备绕障装置可以包括:
[0098]
初始路径确定模块301,用于基于路径规划指令,确定从当前位置到所述避障位置的初始路径,所述避障位置位于全局路径上;
[0099]
初始路径采样模块302,用于对所述初始路径进行采样,并将路径采样点作为待拟合曲线的控制点的初始位置;
[0100]
控制点优化模块303,用于基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行优化;
[0101]
绕障路径确定模块304,用于根据优化得到的控制点的位置,确定所述当前位置到所述避障位置的局部目标路径。
[0102]
可选的,所述控制点优化模块具体用于:
[0103]
基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行迭代调整,直至控制点与障碍物的距离和移动设备在控制点处的速度参量收敛。
[0104]
可选的,所述控制点优化模块包括:
[0105]
安全性约束构建单元,用于基于所述初始位置和控制点与障碍物的距离,构建安全性约束函数;
[0106]
平滑项约束构建单元,用于基于所述初始位置和移动设备在控制点处的速度参量,构建平滑项约束函数;
[0107]
迭代调整单元,用于根据所述安全性约束函数、所述平滑项约束函数,对控制点的位置进行迭代调整,直至所述安全性约束函数和所述平滑项约束函数收敛。
[0108]
可选的,所述控制点优化模块还包括:
[0109]
速度约束构建单元,用于基于所述初始位置、移动设备在迭代过程中待拟合曲线上的速度以及移动设备在迭代过程中待拟合曲线上的加速度,构建速度约束函数;
[0110]
所述迭代调整单元,还用于根据所述速度约束函数,对控制点的位置进行迭代调整,直至所述速度约束函数收敛。
[0111]
可选的,所述控制点优化模块还包括:
[0112]
曲率约束构建单元,用于基于所述初始位置和迭代过程中待拟合曲线的曲率,构建曲率约束函数;
[0113]
角度约束构建单元,用于基于所述初始位置和迭代过程中待拟合曲线的起点角度和终点角度,构建角度约束函数;
[0114]
所述迭代调整单元,还用于根据所述曲率约束函数、角度约束函数,对控制点的位置进行迭代调整,直至所述曲率约束函数、角度约束函数收敛。
[0115]
可选的,所述控制点优化模块包括:
[0116]
目标函数确定单元,用于对所述安全性约束函数、平滑项约束函数、速度约束函数、加速度约束函数、曲率约束函数和角度约束函数进行加权,确定所述目标函数;
[0117]
迭代优化单元,用于基于所述目标函数,对控制点的位置进行迭代调整,直至所述目标函数收敛。
[0118]
可选的,所述平滑项约束函数表示如下:
[0119]
f
s
(i)=((q
i 3

2q
i 2
q
i 1
)

(q
i 2

2q
i 1
q
i
))2[0120]
其中,q
i
表示第i个控制点,f
s
(i)表示在第i个控制点处的速度参量的平方和;
[0121]
所述安全性约束函数表示如下:
[0122][0123]
其中,f
c
(d(q
i
))表示控制点与障碍物的距离的平方和,d(q
i
)为第i个控制点与障碍物的距离,d
thr
表示发生碰撞时移动设备与障碍物的最小距离;
[0124]
所述速度约束函数表示如下:
[0125][0126]
其中,f
v
(v
μ
)表示速度约束函数,v
μ
表示迭代过程中待拟合曲线上的速度,v
max
表示速度阈值;
[0127]
所述加速度约束函数表示如下:
[0128][0129]
其中,f
a
(a
μ
)表示加速度约束函数,a
μ
表示迭代过程中待拟合曲线上的加速度,a
max
表示加速度阈值。
[0130]
可选的,所述控制点优化模块具体用于:
[0131]
基于所述初始位置、控制点与障碍物的距离、移动设备在控制点处的速度参量和迭代过程中待拟合曲线的参数,对控制点的位置进行迭代调整,所述迭代过程中待拟合曲线的参数包括所述移动设备在迭代过程中待拟合曲线上的速度、所移动设备在迭代过程中待拟合曲线上的加速度、迭代过程中待拟合曲线的曲率、迭代过程中待拟合曲线的起点角度和终点角度中的一个或多个。
[0132]
可选的,所述初始路径采样模块包括:
[0133]
时间预估单元,用于计算在所述初始路径上行进所需的时间;
[0134]
采样单元,用于按照指定时间间隔,对所述初始路径进行采样,得到所述初始路径上的路径采样点。
[0135]
可选的,所述装置还包括:
[0136]
重新规划判断模块,用于在到达路径规划周期时,若当前位置偏离所述全局路径的距离大于第一距离阈值,或者,上一路径规划周期的规划轨迹在行进方向上第一距离内有障碍物且距离障碍物的距离大于或等于第二距离阈值,或者,上一路径规划周期的规划轨迹在行进方向上所述第一距离内有障碍物且预测得到的临时终点与障碍物的距离大于或等于第三距离阈值,则确定接收到路径规划指令。
[0137]
可选的,所述初始路径确定模块包括:
[0138]
搜索区域确定单元,用于确定距离所述全局路径第二距离内的区域为搜索区域;
[0139]
初始路径搜索单元,用于在所述搜索区域内,通过路径搜索算法搜索从所述当前位置到所述避障位置的初始路径。
[0140]
可选的,所述装置还包括:
[0141]
搜索失败确定模块,用于若所述搜索区域被障碍物完全遮挡,则在通过路径搜索算法搜索从所述当前位置到所述避障位置的初始路径时,确定搜索失败。
[0142]
可选的,所述绕障路径确定模块具体用于:
[0143]
根据优化得到的控制点的位置,按照如下b样条曲线确定所述当前位置到所述避障位置的局部目标路径:
[0144][0145]
其中,n 1为控制点的数量,q
i
为第i个控制点的位置,p为b样条曲线的次数,n
i,p
(t)为p次b样条曲线基函数。
[0146]
可选的,所述装置还包括:
[0147]
路径输出模块,用于若移动设备在沿着所述局部目标路径行进时不会与障碍物发生碰撞,且所述局部目标路径满足角度约束条件和曲率约束条件,则输出所述局部目标路径;否则,输出所述全局路径。
[0148]
可选的,所述装置还包括:
[0149]
停障模块,用于若在所述全局路径上行进时与障碍物的距离小于第四距离阈值,则停止行进。
[0150]
本实施例提供的移动设备绕障装置,通过基于路径规划指令确定从当前位置到避障位置的初始路径,对初始路径进行采样,将路径采样点作为待拟合曲线的控制点的初始位置,基于所述初始位置、控制点与障碍物的距离以及移动设备在控制点处的速度参量,对控制点的位置进行优化,根据优化得到的控制点的位置确定当前位置到避障位置的局部目标路径,由于通过优化控制点的位置来获取更优的解,是在连续空间的求解,规划出的轨迹最优,而且将控制点的位置作为优化变量,相对于基于优化的方法,减少了优化参数,减少了求解耗时,从而可以在低成本的计算单元上满足实时性的需求。
[0151]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0152]
进一步地,根据本发明的一个实施例,提供了一种移动设备,所述移动设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现前述实施例的移动设备绕障方法。
[0153]
根据本发明的一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括但不限于磁盘存储器、cd

rom、光学存储器等,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述实施例的移动设备绕障方法。
[0154]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0155]
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0156]
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0157]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0158]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0159]
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0160]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0161]
以上对本发明所提供的一种移动设备绕障方法、装置、移动设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜