一种机器人轨迹规划方法、系统以及机器人与流程

文档序号:30622755发布日期:2022-07-02 04:33阅读:170来源:国知局
一种机器人轨迹规划方法、系统以及机器人与流程

1.本发明涉及工业机器人技术领域,具体涉及一种机器人轨迹规划方法、系统以及机器人。


背景技术:

2.现有技术中,机器人的运动控制器通过不断插补运算得到机器人/伺服电机的位置、速度、加速度数据,传送给伺服驱动器来实现电机运转,机器人运动。对机器人的速度进行规划及插补,既实现能机器人平稳起停、又能节省加减速时间。随着机器人技术的发展,对机器人的性能也提出了更高的要求。高速、高精度、高稳定性是工业机器人的重要指标。
3.为了提高机器人速度、精度以及稳定性,其中一做法是基于路径-速度解耦的最优规划算法,该算法使用动态规划或凸优化的方法,实现各种约束下的时间最优、能量最优等轨迹规划。但是,该算法很难做到加加速度有界,因此,抖动问题难以解决,采用滤波加振动抑制的方法又可能带来约束无法保证,精度降低的问题。
4.此外,该基于路径-速度解耦的最优规划算法复杂的计算和轨迹实时拼接问题,都使其实际落地带来了巨大的困难。


技术实现要素:

5.基于此,为解决现有技术中存在的技术问题,本发明提出了一种基于分段前瞻设计,充分利用限速曲线高速度完成路径规划,速度规划采用已知的高阶连续速度曲线,有效控制加加速度约束,避免由于加加速度过大导致的抖动的机器人轨迹规划方法以及系统。
6.第一方面,本实施例提供一种机器人轨迹规划方法,包括以下步骤:
7.将路径(p(s))用路径参数形式表示,离散化该路径,计算各离散点处的限速,并根据关节速度约束拟合参数-速度约束曲线;
8.设置速度前瞻规划对该路径进行高阶连续分段,并在路径参数下发伺服之前通过该速度前瞻规划修正当前插补周期的路径参数;
9.该速度前瞻规划包括:
10.步骤s1:获取当前速度(v
current
)、加速度(a
current
)、最大加速度以及前瞻最大速度(v
max
),以设定速度曲线计算无匀速段时机器人降速到零的前瞻距离,根据该前瞻距离进行速度规划;
11.步骤s2:比对该速度规划与该参数-速度约束曲线,判断该速度规划是否存在超限位置,不存在超限位置时下发该路径参数给伺服从而控制该机器人运动。
12.第二方面本技术实施例提供一种机器人轨迹规划系统,包括轨迹插补模块,该轨迹插补模块包括前瞻规划模块以及插补模块,该前瞻规划模块包括速度规划模块以及比对判断模块,
13.该前瞻规划模块用于对路径进行高阶连续分段,并在插补周期的路径参数下发伺服之前对其进行修正;
14.该速度规划模块用于获取当前速度(v
current
)、加速度(a
current
)、最大加速度以及前瞻最大速度(v
max
),以设定速度曲线计算无匀速段时机器人降速到零的前瞻距离,根据该前瞻距离进行速度规划;
15.该比对判断模块用于比对该速度规划与该参数-速度约束曲线,判断该速度规划是否存在超限位置;
16.该插补模块用于不存在超限位置时下发该路径参数给伺服从而控制该机器人运动。
17.第三方面,本技术实施例提供一种工业机器人,包括存储器、处理器以及存储在该存储器中并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现上述第一方面提供的方法。
18.第四方面,本技术实施例提供了一种机器人计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本技术实施例第一方面所述的方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
19.本技术实施例的机器人轨迹规划方法以及系统,通过分段前瞻的思想,提供约束下的实时高速速度规划。速度规划采用已知的高阶连续的速度曲线,可以有效的控制加加速度约束,避免由于加加速度过大导致的抖动。
20.同时,本技术实施例的机器人轨迹规划方法以及系统,速度前瞻规划计算量小,可以跟随路径插补实时执行,不需要采取多线程的同步规划方式,避免了多线程之间等待带来的各种异常问题。
21.本技术实施例的机器人轨迹规划方法以及系统,在路径规划已确定的前提下,满足各种力矩、速度等约束条件,尽可能快的完成平滑高阶的轨迹规划,是机器人保证高性能的重要核心技术之一。
附图说明
22.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.其中:
24.图1为本实施例的机器人轨迹规划系统的硬件构造示意图;
25.图2为本实施例机器人轨迹规划方法的主要流程示意图;
26.图3为本实施例机器人轨迹规划方法的路径初始化流程图;
27.图4为本实施例机器人轨迹规划方法的详细流程图;
28.图5为本实施例的机器人轨迹规划系统的软件模块结构示意图;
29.图6为本实施例的机器人轨迹规划系统的控制部分硬件结构简要示图;
30.图7为本实施例机器人轨迹规划方法的算法规划速度前瞻曲线图。
具体实施方式
31.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.本技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
33.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
34.本实施例的机器人轨迹规划系统为软件模块,安装在工业机器人的控制终端上,比如连接的服务器或者电脑。
35.请参考图1,所示工业机器人包括在第一三维坐标系中多轴运动的机械手11以及在第二三维坐标系中多轴运动的机械臂12。该一三维坐标系包括x轴、y轴以及z轴。该第二维坐标系包括a轴、b轴以及c轴。该机器人的控制部件机械手11和机械臂12连接至控制终端13。该控制终端包括显示屏14以及通信模组15。该控制终端还连接示教器17,以获取用户通过该示教器或者其它方式输入的路径。
36.请参考图5,本实施例的机器人轨迹规划系统包括路径初始化模块20以及轨迹插补模块30。该路径初始化模块20用于获取路径、设置速度曲线,拟合参数-速度约束曲线、计算最大加速度以及完成第一次前瞻规划时的参数赋值。该轨迹插补模块30在插补参数下发伺服之前进行位置超限判断,并在新的分段速度规划之前完成新插补距离的判断。
37.该路径初始化模块20包括路径模块21、最大加速度模块22、曲线拟合模块23以及赋值模块24。
38.该轨迹插补模块30包括前瞻规划模块31、循环判断模块32、插补距离判断模块33以及插补模块34。该前瞻规划模块31包括速度规划模块41以及比对判断模块42。该插补距离判断模块33包括更新模块51、第二判断模块52以及分段模块53。
39.本实施例的机器人轨迹规划系统设置速度前瞻规划对该路径进行高阶连续分段,提供约束下的实时高速速度规划。速度规划采用已知的高阶连续的速度曲线,比如s型速度曲线或者sin型速度曲线,可以有效的控制加加速度约束,避免由于加加速度过大导致的抖动。
40.本实施例的机器人轨迹规划系统的该路径初始化模块20的功能介绍如下。
41.该路径模块21获取路径(p(s))。路径p(s)中s表示路径参数,可以根据s获取位置信息。
42.该最大加速度模块获取给定的加加速时间(t2),根据该加加速时间以及该设定速度曲线求取力矩约束下的最大加速度。加加速时间(t2)可以由用户指定,也可以根据实测给定,默认0.1秒,加加速时间(t2)作为设定速度曲线的一个参数,参与最大加速度的求取。
本实施例中该设定速度曲线为s型速度曲线或者sin型速度曲线。
43.该曲线拟合模块23离散化该路径,参数化路径p(s),离散化后得到离散点s处的位置信息和速度限制信息。该曲线拟合模块23计算各离散点处的速度约束,根据关节速度约束拟合该参数-速度约束曲线。在路径规划中通过获得一系列位置s处对应的速度约束vlimit即可用于实时插补。
44.该赋值模块24初始化该前瞻规划的参数,首次规划时,该前瞻距离为零,该当前速度(v
current
)以及加速度(a
current
)取零,首次前瞻最大速度(v
max
)取自第一个离散点限速的二分之一。本实施例中,前瞻距离为0的表示第一个周期就会进行一次实时前瞻规划,前瞻距离是用于判断是否进行一次实时规划的条件。
45.本实施例的机器人轨迹规划系统的轨迹插补模块30的功能介绍如下。
46.该前瞻规划模块31用于对路径进行高阶连续分段,并在插补周期的路径参数下发伺服之前对其进行修正。其中,下发给伺服各个机器人的路径参数包括关节位置。
47.该速度规划模块41获取当前速度(vcurrent)、加速度(acurrent)、最大加速度以及前瞻最大速度(vmax),以设定速度曲线计算无匀速段时机器人降速到零的前瞻距离,根据该前瞻距离进行速度规划;
48.该比对判断模块42比对该速度规划与该参数-速度约束曲线,判断该速度规划是否存在超限位置。
49.该插补模块34在不存在超限位置时下发该路径参数给伺服从而控制该机器人运动。本实施例中,机器人的速度规划,就是计算修正并确定当前插补周期的关节位置,然后根据关节位置进行机器人插补,下发给伺服。
50.该循环判断模块32用于存在超限位置时,调整该前瞻最大速度(v
max
),返回循环该速度前瞻规划步骤,重新计算和比对判断速度规划。
51.在不存在超限位置时还包括新前瞻规划的插补距离判断。该更新模块51在不存在超限位置时更新前瞻距离为该速度规划升速到匀加速段的距离。
52.该第二判断模块52判断该路径当前的规划距离是否大于该前瞻距离。
53.该分段模块53在该规划距离大于该前瞻距离时,重新以当前插补的当前速度(v
current
)、加速度(a
current
)、最大加速度以及前瞻最大速度(v
max
)进行一次新的分段速度规划。
54.该插补模34在该规划距离小于该前瞻距离时,完成剩余路径的规划,进行实时插补,生成插补点直至该路径全部结束。
55.方法实施例
56.请参考图2以及图3,所示为本实施例机器人轨迹规划方法的主要流程图。
57.图3所示为路径初始化步骤,在首次对路径进行分段和前瞻规划时,需要确定速度曲线、参数-速度约束曲线以及启动参数。该路径初始化步骤包括:
58.步骤101:获取路径(p(s))。
59.步骤102:获取给定的加加速时间(t2),根据该加加速时间以及设定速度曲线求取力矩约束下的该最大加速度;该设定速度曲线为s型速度曲线或者sin型速度曲线。
60.步骤103:将路径(p(s))用路径参数形式表示,离散化该路径,计算各离散点处的速度约束,根据关节速度约束拟合该参数-速度约束曲线。
61.该设定速度曲线为s型速度曲线或者sin型速度曲线;
62.该参数-速度约束曲线计算公式如下:
[0063][0064]
其中v为最大笛卡尔速度约束,θ
max
为各关节最大速度,j(θ)为该离散点处的雅可比矩阵,vector为该离散点处的路径一阶导数。
[0065]
步骤104:初始化该前瞻规划的参数,首次规划时,该前瞻距离为零,该当前速度(v
current
)以及加速度(a
current
)取零,首次前瞻最大速度(v
max
)取自第一个离散点限速的二分之一。
[0066]
以下步骤105与步骤106为整体独立方案的部分内容,实际流程从步骤104直接进入步骤s1,与循环点对接。
[0067]
步骤105:将路径(p(s))用路径参数形式表示,离散化该路径,计算各离散点处的限速,并根据关节速度约束拟合参数-速度约束曲线。
[0068]
步骤106:设置速度前瞻规划对该路径进行高阶连续分段,并在路径参数下发伺服之前通过该速度前瞻规划修正当前插补周期的路径参数。
[0069]
该速度前瞻规划包括:
[0070]
步骤s1:获取当前速度(v
current
)、加速度(a
current
)、最大加速度以及前瞻最大速度(v
max
),以设定速度曲线计算无匀速段时机器人降速到零的前瞻距离,根据该前瞻距离进行速度规划。
[0071]
步骤s2:比对该速度规划与该参数-速度约束曲线,判断该速度规划是否存在超限位置,不存在超限位置时下发该路径参数给伺服从而控制该机器人运动。
[0072]
步骤s2还可以细分为步骤s21、步骤s22以及步骤s23。
[0073]
步骤s21:比对该速度规划与该参数-速度约束曲线。
[0074]
步骤s22:判断该速度规划是否存在超限位置。
[0075]
步骤s23:不存在超限位置时下发该路径参数给伺服从而控制该机器人运动。
[0076]
步骤s11:减小该前瞻最大速度(v
max
),返回至循环步骤s1重新计算和比对判断速度规划。
[0077]
在不存在超限位置时下发该路径参数给伺服的同时,进行新的前瞻规划的插补距离判断,包括:
[0078]
步骤s31:更新该前瞻距离为该速度规划升速到匀加速段的距离。
[0079]
步骤s32:判断该路径当前的规划距离是否大于该前瞻距离。
[0080]
步骤s33:该规划距离大于该前瞻距离时,重新以当前插补的当前速度(v
current
)、加速度(a
current
)、最大加速度以及前瞻最大速度(v
max
)进行一次新的分段速度规划。
[0081]
步骤s33:该规划距离小于该前瞻距离时,进行实时插补,生成插补点直至该路径全部结束。
[0082]
其中,在路径分段时,满足超限位置判断并且满足插补距离判断时,设定速度曲线在满足超限位置判断的曲线规划中后面未执行完的路径就舍弃了,在满足插补距离判断合格后重新开始新的前瞻规划。
[0083]
请参考图7,所示为机器人轨迹规划方法的算法规划速度前瞻曲线图。横坐标是插
补周期个数,纵坐标是笛卡尔速度。
[0084]
曲线b表示每次进行一次前瞻速度规划时的速度约束曲线。实际规划过程中,速度约束曲线基于路径参数s进行。
[0085]
曲线a表示分段进行的速度前瞻曲线。曲线a和曲线交界的星号标记,即前瞻距离,表示进行一次新的前瞻速度规划的位置点。
[0086]
本实施例的机器人轨迹规划方法充分利用限速曲线,以尽可能快的速度完成整个路径规划。且用于分段实时前瞻的速度曲线是高阶连续的,所以最终的曲线也满足高阶连续,可有效控制加加速度约束,避免有与加加速度过大导致的抖动,同时保证较小的计算量。
[0087]
请参考图6,在本发明的另一实施例中,提供一种机器人轨迹规划系统,包括存储器602、处理器601及存储在存储器602上并可在处理器601上运行的计算机程序604,所述处理器601连接通信模组605,所述处理器601执行所述程序时实现机器人轨迹规划方法。
[0088]
所述安装机器人轨迹规划软件的终端可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述通信信息保护装置/终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是通信信息保护装置/终端设备的示例,并不构成对通信信息保护装置/终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述通信信息保护装置/终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0089]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述机器人轨迹规划终端的控制中心,利用各种接口和线路连接整个机器人的各个部分。
[0090]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述机器人轨迹规划系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需的应用程序等;存储数据区可存储根据机器人的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(securedigital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0091]
其中,所述机机器人轨迹规划系统或者终端集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件
或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
[0092]
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1