快速时间最优轨迹规划方法、装置、电子设备及存储介质与流程

文档序号:31597477发布日期:2022-09-21 07:25阅读:75来源:国知局
快速时间最优轨迹规划方法、装置、电子设备及存储介质与流程

1.本发明涉及数据处理领域,具体而言,涉及一种快速时间最优轨迹规划方法、装置、电子设备及存储介质。


背景技术:

2.随着协作机器人技术的快速发展,人们将许多操作集成在机器人上,使得机器人可以自动实现相应的操作。然而机器人在运动过程中,机器人的某些关节之间因为角度、角速度等因素的不匹配,使得机器人中的构件可能出现严重的磨损与破坏,从而降低机器人中某些构件的使用寿命。因此,通常在对机器人进行路径规划后,需要对机器人在运动过程中的速度、加速度、角度等进行约束,即对机器人进行轨迹规划,以降低机器人某些构件的损耗。
3.而现有技术通常需要借助遗传算法、动态规划法等复杂算法进行多路点拟合,以完成轨迹规划。但由于算法较为复杂以及拟合较为复杂,使得整个轨迹规划过程耗时长,效率低。


技术实现要素:

4.本发明的目的包括,例如,提供了一种快速时间最优轨迹规划的方法、装置、电子设备及存储介质,其能够基于b样条函数,通过设置一个初始周期时间,减少迭代次数,从而提高轨迹规划的效率。
5.本发明的实施例可以这样实现:第一方面,本发明提供一种快速时间最优轨迹规划方法,所述方法包括:获取机器人的末端运行的速度阈值、初始周期时间和多个位置点;其中,所述初始周期时间表征所述末端完成一次完整运动所需的时间;根据所述初始周期时间、所述多个位置点和b样条函数公式,得到所述末端的b样条函数;根据所述初始周期时间和对所述b样条函数求导后的函数,得到具有多个速度的速度曲线,并确定所述速度曲线中的最大速度;判断所述最大速度是否大于所述速度阈值;当所述最大速度大于所述速度阈值时,根据所述速度阈值、所述最大速度及所述初始周期时间,得到第二周期时间,并将所述初始周期时间更新为第二周期时间;基于更新后的初始周期时间,返回执行根据所述初始周期、所述多个位置点和b样条函数公式,得到所述末端的b样条函数,至判断所述最大速度是否大于所述速度阈值的步骤,直至最新得到的最大速度小于或等于所述速度阈值;当所述最大速度小于或等于所述速度阈值时,根据所述b样条函数,确定所述末端的运行轨迹。
6.在可选的实施方式中,所述方法还包括:
响应于所述末端分别运动至所述多个位置点的指令,获取所述机器人的多个关节分别对应的多个关节位置点;所述确定所述末端的运行轨迹的步骤之后,所述方法还包括:基于振动力学,根据所述多个关节位置点和所述运行轨迹,分别得到所述多个关节的运行轨迹。
7.在可选的实施方式中,所述根据所述初始周期时间和对所述b样条函数求导后的函数,得到具有多个速度的速度曲线的步骤,包括:获取预设时间间隔;基于所述b样条函数的特性,根据所述预设时间间隔和所述初始周期时间,得到多个插值时间;分别将所述多个插值时间,带入至对所述b样条函数求导后的函数中,以得到由多个速度构成的速度曲线。
8.在可选的实施方式中,所述根据所述初始周期时间、所述多个位置点和b样条函数公式,得到所述末端的b样条函数的步骤,包括:获取预设时间间隔;基于b样条函数的特性,根据所述预设时间间隔和所述初始周期时间,得到多个插值时间;根据所述多个插值时间、所述多个位置点和b样条函数公式,得到所述b样条函数的多个控制顶点,从而获得所述末端的b样条函数。
9.在可选的实施方式中,所述b样条函数为五次b样条函数;所述根据所述多个插值时间、所述多个位置点和b样条函数公式,得到所述b样条函数的多个控制顶点的步骤,包括:获取所述末端的初始位置点的约束速度和约束加速度,及末尾位置点的约束速度和约束加速度;其中,所述多个位置点按照所述末端运动至所述位置点的时间排序;基于所述b样条函数公式和所述多个插值时间,分别根据所述多个位置点、所述初始位置点的约束速度和约束加速度以及所述末尾位置点的约束速度和约束加速度,得到具有多个方程的方程组;根据所述方程组,得到所述多个控制顶点。
10.在可选的实施方式中,所述第二周期时间通过以下公式计算得到:其中,代表速度阈值,代表最大速度,代表初始周期时间,代表第二周期时间。
11.在可选的实施方式中,预设有所述末端运行的加速度最大值;所述初始周期时间通过以下公式计算得到:其中,vmax代表所述末端运行的速度阈值,amax代表所述末端运行的加速度最大值,代表初始周期时间。
12.第二方面,本发明提供一种快速时间最优轨迹规划装置,所述装置包括:
获取模块,用于获取机器人的末端运行的速度阈值、初始周期时间和多个位置点;其中,所述初始周期时间表征所述末端完成一次完整运动所需的时间;处理模块,根据所述初始周期时间、所述多个位置点和b样条函数公式,得到所述末端的b样条函数;根据所述初始周期时间和对所述b样条函数求导后的函数,得到具有多个速度的速度曲线,并确定所述速度曲线中的最大速度;判断模块,用于判断所述最大速度是否大于所述速度阈值;所述处理模块还用于,当所述最大速度大于所述速度阈值时,根据所述速度阈值、所述最大速度及所述初始周期时间,得到第二周期时间,并将所述初始周期时间更新为第二周期时间;基于更新后的初始周期时间,返回执行根据所述初始周期、所述多个位置点和b样条函数公式,得到所述末端的b样条函数,至判断所述最大速度是否大于所述速度阈值的步骤,直至最新得到的最大速度小于或等于所述速度阈值;当所述最大速度小于或等于所述速度阈值时,根据所述b样条函数,确定所述末端的运行轨迹。
13.第三方面,本发明提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如前述实施方式中任一项所述方法。
14.第四方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述实施方式任一项所述方法的步骤。
15.本发明实施例的有益效果包括,例如:根据b样条函数公式、获取的初始周期时间和多个位置点,得到末端的b样条函数、具有多个速度的速度曲线和最大速度。判断最大速度是否大于速度阈值。当最大速度大于速度阈值时,得到第二周期时间,并将初始周期时间更新为第二周期时间。基于更新后的初始周期时间,通过迭代的方式返回执行上述步骤,直至最新得到的最大速度小于或等于速度阈值。当最大速度小于或等于速度阈值时,根据b样条函数,确定末端的运行轨迹。
16.因此,通过迭代的方式确定恰当的周期时间,从而确定所述末端的运行轨迹。而由于设置一个初始周期时间,使得可以减少迭代的次数,从而使得获取所述运行轨迹的效率提高。
附图说明
17.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
18.图1为本发明实施例提供的一种电子设备的结构示意图。
19.图2为本发明实施例提供的一种快速时间最优轨迹规划方法的流程示意图之一。
20.图3为本发明实施例提供的一种快速时间最优轨迹规划方法的流程示意图之二。
21.图4为本发明实施例提供的一种快速时间最优轨迹规划方法的流程示意图之三。
22.图5为本发明实施例提供的一种快速时间最优轨迹规划方法的流程示意图之四。
23.图6为本发明实施例提供的一种快速时间最优轨迹规划方法的流程示意图之五。
24.图7为本发明实施例提供的一种快速时间最优轨迹规划装置的功能模块示意图。
25.图标:100-电子设备;110-通信单元;120-存储器;130-处理器;200-快速时间最优轨迹规划装置;210-获取模块;220-处理模块;230-判断模块。
具体实施方式
26.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
27.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
29.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
30.为方便理解,下面将对机器人的轨迹规划进行说明。大多数的轨迹规划技术都基于以下三种优先原则:1.执行时间优先,即机械臂的运动时间达到最小。
31.2.能量优先,即机械臂的能量损耗达到最小。
32.3.冲击(即加加速度)优先,即机械臂的震荡最小。
33.本发明实施例是基于第一种优先原则进行轨迹规划的,即执行时间优先的轨迹规划。并且在执行时间优先的情况下,一定程度上保持了冲击优先的原则,从而减小了机器人的磨损与破坏。请参照图1,为本发明实施例提供一种电子设备100的结构示意图。该电子设备可以集成于机器人中,也可以独立于机器人并与机器人通信连接,以实现快速时间最优轨迹规划方法。该电子设备100包括存储器120、处理器130以及通信单元110。
34.该存储器120、处理器130以及通信单元110各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。该快速时间最优轨迹规划方法至少一个可以软件或固件(firmware)的形式存储于存储器120中或固化在电子设备100的操作系统(operating system,os)中的软件功能模块。处理器130用于执行存储器120中存储的可执行模块。
35.其中,该存储器120可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。其中,存储器120用于存储程序,该处理器130在接收到执行指令后,执行该程序。该通信单元110与外部系统通信连接。
36.该处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、
现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
37.基于现有技术中获得轨迹规划的过程复杂,耗时长等原因,图2为本发明实施例提供的一种快速时间最优轨迹规划方法的流程示意图之一。如图2所示,快速时间最优轨迹规划方法包括步骤s101至步骤s106。
38.步骤s101、获取机器人末端运行的速度阈值、初始周期时间和多个位置点。
39.其中,初始周期时间表征末端完成一次完整运动所需的时间。
40.步骤s102、根据初始周期时间、多个位置点和b样条函数公式,得到末端的b样条函数。
41.步骤s103、根据初始周期时间和对b样条函数求导后的函数,得到具有多个速度的速度曲线,并确定速度曲线中的最大速度。
42.步骤s104、判断最大速度是否大于速度阈值。若是,则执行步骤s105。若否,则执行步骤s106。
43.步骤s105、根据速度阈值、最大速度及初始周期时间,得到第二周期时间,并将初始周期时间更新为第二周期时间。基于更新后的初始周期时间,执行步骤s102至步骤s104的步骤,直至最新得到的最大速度小于或等于速度阈值。
44.步骤s106、根据b样条函数,确定末端的运行轨迹。
45.示例性的,根据获取的初始周期时间和多个位置点以及b样条函数公式,得到该末端的b样条函数。根据该初始周期时间和对b样条函数求导后的函数,获得具有多个速度的速度曲线,并确定所述速度曲线中的最大速度。判断最大速度是否大于速度阈值。当最大速度大于所述速度阈值时,根据速度阈值、最大速度和初始周期时间,得到第二周期时间,并将初始周期时间更新为第二周期时间。基于更新后的初始周期时间,返回执行步骤s102至步骤s104,直至最新得到的最大速度小于或等于速度阈值。当最大速度小于或等于速度阈值时,根据该b样条函数,确定末端的运行轨迹。
46.如此,通过迭代的方式确定恰当的周期时间,从而确定所述末端的运行轨迹。由于设置了一个初始周期时间,减少了迭代的次数,从而使得获取所述运行轨迹的效率提高。
47.此外,本发明实施例还能通过更改速度阈值,实时调整运行轨迹,从而更加满足实际应用的需求。
48.继续参阅图2,示例性的,初始周期时间可以通过以下公式计算得到:其中,vmax代表速度阈值,amax代表加速度最大值,代表初始周期时间。
49.如此,通过上述方式确定一个恰当的初始周期时间,以减少后续确定目标周期时间的迭代次数,提高计算效率。
50.其中,加速度最大值可以设置为与速度阈值相同,也可以按照实际应用需求进行设定。
51.示例性的,第二周期时间可以通过如下公式计算得到:
其中,代表该末端运行的速度阈值,代表该末端运行的最大速度,代表初始周期时间,代表第二周期时间。
52.如此,通过上述的方式可以快速确定适合的周期时间,从而减少反复确定周期时间的过程。即通过上述确定初始周期时间和第二周期时间的方法,使得可以实时根据速度阈值,快速获得时间最优轨迹,以满足实际应用需求。
53.由于是要确保机器人整体的运行速度、加速度等是匹配的,因此,还需要获得机器人其他关节的运行轨迹。图3为本发明实施例提供的一种快速时间最优轨迹规划方法的流程示意图之二,如图3所示。
54.步骤s201、响应于末端分别运动至多个位置点的指令,获取机器人的多个关节分别对应的多个关节位置点。
55.步骤s202、基于振动力学,根据多个关节位置点和运行轨迹,分别得到多个关节的运行轨迹。
56.示例性的,直接通过末端的运行轨迹和多个关节的关节位置点,得到多个关节的运行轨迹。而无需采用求取末端的运行轨迹的方式,分别获得多个关节的运行轨迹。从而减少计算耗时,提高轨迹规划的效率。
57.示例性的,多个位置点和多个关节位置点的采集以及存储的位置可以根据实际应用进行设定。例如,可以通过机器人中的运动控制器记录多个位置点并采集多个关节位置点,可以通过机器人的样条曲线存储单元存储多个关节位置点。
58.示例性的,可以通过人为拖拽机器人末端的方式,先后将该末端拖拽至多个位置点,以使跟着该末端一起运动的多个关节也分别运动至多个关节位置点。其中,还可以预先将多个位置点存储在运动控制器中,通过编程的方式,自动将该末端拖拽至多个位置点,以提高获取多个关节的多个关节位置点的效率。
59.示例性的,可以把机器人理解为由多个关节和构件组成,每个构件连接两个关节。为了解决机器人的某些关节之间由于角度、角速度等因素的不匹配,而导致的机器人某些构件出现严重的磨损和破坏的问题。本发明实施例中可以基于末端的运行轨迹,获得多个关节的运行轨迹。使得机器人运动时每个关节以及构件是有整体关联的,即每个关节之间的角度、角速度等是相匹配的,从而减少某件构件的磨损程度。
60.由于是基于时间进行轨迹规划的,而机器人的运行时间与速度相关的。本发明实施例可以根据确定的速度,从而确定出合适的周期时间,以确定出时间最优的轨迹规划。图4为本发明实施例提供的一种快速时间最优轨迹规划方法的流程示意图之三。根据初始周期时间和对b样条函数求导后的函数,得到具有多个速度的速度曲线的步骤,可以通过以下方式实现:步骤s301、获取预设时间间隔。
61.步骤s302、基于b样条函数的特性,根据预设时间间隔和初始周期时间,得到多个插值时间。
62.步骤s303、分别将多个插值时间,带入至对b样条函数求导后的函数中,以得到由多个速度构成的速度曲线。
63.示例性的,预设时间间隔可以根据实际应用需求进行设定选取,并不做相应的限定。
64.示例性的,可以根据预设时间间隔和初始周期时间,得到多个插值时间。其中,多个插值时间按照一定的次序进行排列,即每两个相邻的插值时间的差值为预设时间间隔。例如,初始周期为1s,预设时间间隔为0.2s,那么得到的多个插值时间为0,0.2,0.4,0.6,0.8,1。
65.此外,上述获得的多个插值时间的个数与多个位置点的个数相匹配。
66.示例性的,基于b样条函数的特征,会在得到的次序的首末位置插入一定的值。例如,该b样条函数为五次b样条函数,那么b样条首末节点重复度为6,在该次序的首端添加5个为0的插值时间,以及该次序的尾端添加5个为1的插值时间。
67.其中,b样条函数公式如下所示:可以把该b样条函数理解为k次多项式。其中,i代表的就是多个插值时间的次序;u代表输入的时间,即初始周期时间;p可以理解为位置点;代表后续需要求取的多个控制顶点;代表k次规范b样条基函数,可以由德布尔递推公式求出该基函数的表达式,具体内容可以参阅现有技术,在此不再赘述。
68.根据微积分原理,可以理解的是,对该b样条函数一次求导之后可以得到速度函数,二次求导之后可以得到加速度函数,三次求导之后可以得到加加速度函数。
69.示例性的,将每个插值时间带入至对b样条函数求导后的函数中,可以得到每个插值时间对应的速度,从而得到具有多个速度的速度曲线。并确定该速度曲线的最大速度,以使后续可以基于该最大速度执行相应的操作。
70.上述操作均是在确定好末端的b样条函数后进行实现。图5为本发明实施例提供的一种快速时间最优轨迹规划方法的流程示意图之四。根据初始周期时间、多个位置点和b样条函数公式,得到末端的b样条函数的步骤,可以通过如下方式实现:步骤s401、获取预设时间间隔。
71.步骤s402、基于b样条函数的特性,根据预设时间间隔和初始周期时间,得到多个插值时间。
72.步骤s403、根据多个插值时间、多个位置点和b样条函数公式,得到b样条函数的多个控制顶点,从而获得末端的b样条函数。
73.示例性的,可以通过和上述步骤s301-步骤s302类似的方法,得到多个插值时间。
74.示例性的,在b样条函数为五次b样条函数的情况下。图6为本发明实施例提供的一种快速时间最优轨迹规划方法的流程示意图之五。步骤s403中可以通过如下方式得到b样条函数的多个控制顶点:步骤s403a、获取末端的初始位置点的约束速度和约束加速度,及末尾位置点的约束速度和约束加速度。
75.其中,多个位置点按照末端运动至位置点的时间排序。
76.步骤s403b、基于b样条函数公式和多个插值时间,分别根据多个位置点、初始位置点的约束速度和约束加速度以及末尾位置点的约束速度和约束加速度,得到具有多个方程的方程组。
77.步骤s403c、根据方程组,得到多个控制顶点。
78.示例性的,通过将b样条函数的等式左端,分别设定为多个位置点。对b样条函数一次求导后的函数的等式左端,设置为初始位置点的约束速度和末尾位置点的约束速度。以及对b样条函数二次求导后的函数的等式左端,设置为初始位置点的约束加速度和末尾位置点的约束加速度。并基于b样条函数的特性,将多个插值时间带入至对应的方程中,从而得到多个只有,即q1,q2

,为未知的方程组。基于该方程组,求解出控制顶点。其中,具体如何将插值时间带入至对应的多个方程中,可以参考b样条函数的原理,就不再赘述。
79.示例性的,由于五次b样条函数可以四次求导,使得在保证各个关节的角度、角速度、角加速度的情况下,可以保证角加加速度的连续性。即对b样条函数三次求导后函数为一个曲线函数。可以理解为角加加速度是平滑过渡的,而不出现骤增骤减的情况,从而减少冲击对机器人的影响。即可以理解为减少机器人的磨损。
80.图7为本发明实施例提供一种快速时间最优轨迹规划装置200的功能模块示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图7所示,该装置包括获取模块210、处理模块220以及判断模块230。
81.获取模块210,用于获取机器人末端运行的速度阈值、初始周期时间和多个位置点。其中,初始周期时间表征为末端完成一次完整运动所需的时间。
82.处理模块220,根据初始周期时间、多个位置点和b样条函数公式,得到末端的b样条函数。根据初始周期时间和对b样条函数求导后的函数,得到具有多个速度的速度曲线,并确定速度曲线中的最大速度。
83.判断模块230,用于判断最大速度是否大于速度阈值。
84.处理模块220还用于,当最大速度大于速度阈值时,根据速度阈值、最大速度及初始周期时间,得到第二周期时间,并将初始周期时间更新为第二周期时间。基于更新后的初始周期时间,返回执行根据初始周期、多个位置点和b样条函数公式,得到末端的b样条函数,至判断最大速度是否大于速度阈值的步骤,直至最新得到的最大速度小于或等于速度阈值。当最大速度小于或等于速度阈值时,根据b样条函数,确定末端的运行轨迹。
85.上述快速时间最优轨迹规划装置200还包括有采集模块,采集模块还用于响应于末端分别运动至多个位置点的指令,获取机器人的多个关节分别对应的多个关节位置点。以及用于基于振动力学,根据多个关节位置点和运行轨迹,分别得到多个关节的运行轨迹。
86.综上所述,本发明实施例提供了一种快速时间最优轨迹规划方法、装置、电子设备及存储介质,通过b样条函数、设置的初始周期时间和速度阈值,减少迭代的方式,快速确定目标周期时间。根据该目标周期时间确定该末端的运行轨迹,从而确定多个关节的运行轨迹,从而提高机器人的轨迹规划效率。
87.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于
附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
88.另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
89.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
90.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1