CN111604905B - 关节轨迹规划的方法、装置、系统及存储介质 - Google Patents

关节轨迹规划的方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN111604905B
CN111604905B CN202010453876.7A CN202010453876A CN111604905B CN 111604905 B CN111604905 B CN 111604905B CN 202010453876 A CN202010453876 A CN 202010453876A CN 111604905 B CN111604905 B CN 111604905B
Authority
CN
China
Prior art keywords
joint
track
parameter set
main controller
transition
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.)
Active
Application number
CN202010453876.7A
Other languages
English (en)
Other versions
CN111604905A (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.)
Huiling Tech Robotic Co ltd
Original Assignee
Huiling Tech Robotic Co ltd
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 Huiling Tech Robotic Co ltd filed Critical Huiling Tech Robotic Co ltd
Priority to CN202010453876.7A priority Critical patent/CN111604905B/zh
Publication of CN111604905A publication Critical patent/CN111604905A/zh
Application granted granted Critical
Publication of CN111604905B publication Critical patent/CN111604905B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

本申请适用于机器人技术领域,提供了一种关节轨迹规划的方法、装置、系统及存储介质,所述方法包括:主控制器获得机器人的每个关节的第一关节轨迹和第一运行参数集;各个关节运行至第一关节轨迹的中点处,主控制器判断存在目标区段,则主控制器获得机器人的每个关节的第二关节轨迹和第二运行参数集;主控制器获得各个关节在该关节的过渡轨迹的关节过渡时间;主控制器计算每个关节在其过渡轨迹的第三运行参数集;各个关节运行至过渡轨迹的终点;主控制器将目标区段作为当前区段,返回主控制器判断是否存在目标区段的步骤;实现各个关节的速度无需减为零即可平滑过渡,保证了多段轨迹间的速度连续性,从而提高了机器人运行的稳定性。

Description

关节轨迹规划的方法、装置、系统及存储介质
技术领域
本申请属于机器人技术领域,尤其涉及关节轨迹规划的方法、装置、系统及存储介质。
背景技术
随着科学技术的发展,机器人广泛应用于装配、搬运、点胶、喷涂等工业领域中,而轨迹规划是机器人得以应用的重要组成部分。在传统的机器人轨迹规划中,通过给定每段轨迹的起止速度为零,进而根据不同的插补方法计算轨迹起点与终点之间的速度,使机器人从轨迹起点按照不同的速度曲线运动到终点。这样,无论以何种插补方式,机器人都是速度从零开始运动,到达轨迹终点时,速度又再次减到零,在这种情况下,当机器人连续运行多段轨迹时,在每段轨迹末降速到停止,再从下一段轨迹开始启动,这种频繁的启停在一定程度上会损害电机,减少电机寿命,同时会导致整体运行平均速度缓慢、作业效率低下,甚至会引起机器人的震动,影响其运行的稳定性。因此,在机器人运动轨迹规划过程中,保证机器人运行的稳定性,提高其作业效率和作业质量是十分有意义的。
发明内容
本申请实施例提供了关节轨迹规划的方法及装置,可以解决以上问题的至少一部分。
第一方面,本申请实施例提供了一种关节轨迹规划的方法,包括:
主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集;
若检测到各个关节根据所述第一运行参数集运行至所述第一关节轨迹的中点处,所述主控制器判断是否存在目标区段;所述目标区段为当前区段的下一区段;
若存在所述目标区段,则所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集;
所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;各个关节的过渡轨迹为,以该关节的第一关节轨迹的中点处为起点,以该关节的第二关节轨迹的中点处为终点的运行轨迹;
所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集;
各个关节根据所述第三运行参数集运行至过渡轨迹的终点;
所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤。
可以理解的是,本申请实施例根据梯型插补方法计算简单且速度连续的特点,只需要机器人执行端的当前区段轨迹与下一区段轨迹的信息,即可将各个关节对应两段轨迹的速度进行衔接,实现各个关节的速度无需减为零即可平滑过渡,保证了多段轨迹间的速度连续性,从而提高了机器人运行的稳定性。
第二方面,本申请实施例提供了一种关节轨迹规划的装置,包括:
第一运行参数集获取模块,用于主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集;
目标区段判断模块,用于若检测到各个关节根据所述第一运行参数集运行至所述第一关节轨迹的中点处,所述主控制器判断是否存在目标区段;所述目标区段为当前区段的下一区段;
第二运行参数获取模块,用于若存在所述目标区段,则所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集;
过渡时间获取模块,用于所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;各个关节的过渡轨迹为,以该关节的第一关节轨迹的中点处为起点,以该关节的第二关节轨迹的中点处为终点的运行轨迹;
第三参数集获取模块,用于所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集;
关节运行控制模块,用于各个关节根据所述第三运行参数集运行至过渡轨迹的终点;
循环控制模块,用于所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤。
第三方面,本申请实施例提供了一种关节轨迹规划的系统,包括:主控制器、机械臂;所述机械臂包括一个或多个关节;
主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集;
若检测到各个关节根据所述第一运行参数集运行至所述第一关节轨迹的中点处,所述主控制器判断是否存在目标区段;所述目标区段为当前区段的下一区段;
若存在所述目标区段,则所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集;
所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;各个关节的过渡轨迹为,以该关节的第一关节轨迹的中点处为起点,以该关节的第二关节轨迹的中点处为终点的运行轨迹;
所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集;
各个关节根据所述第三运行参数集运行至过渡轨迹的终点;
所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法步骤。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面所述的方法步骤。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的关节轨迹规划的系统示意图;
图2是本申请一实施例提供的关节轨迹规划的方法的流程示意图;
图3是本申请另一实施例提供的关节轨迹规划的方法的流程示意图;
图4是本申请另一实施例提供的关节轨迹规划的方法的流程示意图;
图5是采用现有技术对关节轨迹规划获得的第一个关节速度时间曲线;
图6是采用现有技术对关节轨迹规划获得的第二个关节速度时间曲线;
图7是采用现有技术对关节轨迹规划获得的第三个关节速度时间曲线;
图8是采用现有技术对关节轨迹规划获得的第四个关节速度时间曲线;
图9是采用本申请实施例提供的关节轨迹规划的方法对关节轨迹规划获得的第一个关节速度时间曲线;
图10是采用本申请实施例提供的关节轨迹规划的方法对关节轨迹规划获得的第二个关节速度时间曲线;
图11是采用本申请实施例提供的关节轨迹规划的方法对关节轨迹规划获得的第三个关节速度时间曲线;
图12是采用本申请实施例提供的关节轨迹规划的方法对关节轨迹规划获得的第四个关节速度时间曲线;
图13是本申请实施例提供的主控制器的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
图1示出的是本申请实施例提供的一种关节轨迹规划的系统。该系统包括:主控制器10,机械臂20;所述机械臂20包括一个或多个关节21,各个关节21包括关节控制器22和伺服电机;所述机械臂20还包括执行端23。
其中,各个关节20通过关节控制器22控制的伺服电机驱动。
其中,各个关节控制器22与关节20通过电缆连接。
其中,主控制器10和各个关节控制器22通过工业以太网通信。所述工业以太网包括但不限于采用以下通信协议的网络:Ethernet、ProflNet和Modbus,这里不做具体的限定。
其中,所述执行端23为机器人的机械臂末端的连接在机器人边缘具有一定功能的工具。执行端可能包含机器人抓手,机器人工具快换装置,机器人碰撞传感器,机器人旋转连接器,机器人压力工具,顺从装置,机器人喷涂枪,机器人毛刺清理工具,机器人弧焊焊枪,机器人电焊焊枪等等。
其中,所述主控制器10和各个关节21用于执行以下各步骤:
主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集;若检测到各个关节根据所述第一运行参数集运行至所述第一关节轨迹的中点处,所述主控制器判断是否存在目标区段;所述目标区段为当前区段的下一区段;若存在所述目标区段,则所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集;所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;各个关节的过渡轨迹为,以该关节的第一关节轨迹的中点处为起点,以该关节的第二关节轨迹的中点处为终点的运行轨迹;所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集;各个关节根据所述第三运行参数集运行至过渡轨迹的终点;所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤。
可以理解的是,所述主控制器10和各个关节21用于执行以下关节轨迹规划的方法各步骤,可以取得相应的效果,这里不再赘述。
图2示出了本申请实施例提供的关节轨迹规划的方法,应用于上述图1所示的关节轨迹规划的系统,可由所述主控制器和各个关节的软件和/或硬件实现。如图2所示,该方法包括步骤S110至S170。各个步骤的具体实现原理如下:
S110,主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集。
其中,所述执行端为机器人的机械臂末端的连接在机器人边缘具有一定功能的工具。执行端可能包含机器人抓手,机器人工具快换装置,机器人碰撞传感器,机器人旋转连接器,机器人压力工具,顺从装置,机器人喷涂枪,机器人毛刺清理工具,机器人弧焊焊枪,机器人电焊焊枪等等。
在一些实施例中,用户预先在主控制器对机器人执行端的路径进行参数初始化,即规划执行端的路径参数;该路径可以包括多个区段,各个区段对应于一组该区段的参数集,所述参数集包括但不限于执行端在该区段在笛卡尔空间的起点坐标、终点坐标,执行端在该区段的平均速度,以及各个关节的加速度等运行信息。
执行端当前运行的轨迹所在的区段为当前区段。当前区段的第一参数集包括但不限于:第一起点坐标Lcur_start、第一终点坐标Lcur_end、第一平均速度
Figure GDA0003415734260000061
各个关节的第一加速度信息
Figure GDA0003415734260000062
在一些实施例中,主控制器根据笛卡尔空间的第一区段参数集,通过机器人逆运动学求解法获得机器人各个关对应当前区段的关节空间参数。逆运动学是决定要达成所需要的姿势所要设置的关节可活动对象的参数的过程。所述关节空间参数包括但不限于,第一关节轨迹和第一运行参数集。各个关节的第一关节轨迹是该关节的关节转角值
Figure GDA0003415734260000063
确定的;其中,
Figure GDA0003415734260000064
为第每个关节的转角起始值;
Figure GDA0003415734260000065
为每个关节的转角终点值。第一区段参数包括但不限于:第一关节运行时间
Figure GDA0003415734260000066
第一加速时间
Figure GDA0003415734260000067
第一匀速时间
Figure GDA0003415734260000068
和第一最大速度
Figure GDA0003415734260000069
等用于计算每个关节的梯形插补轨迹的参数,本申请中各个实施例中参数的上标i均为大于等于1的整数,对应于各个关节的序号。
在一些实施例中,主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集,包括:所述主控制器根据所述执行端和各个关节对应当前区段第一区段参数集,采用逆运动学求解算法根据所述第一区段参数集,获得每个关节的第一关节轨迹;所述主控制器根据各个关节的所述第一关节轨迹,获得各个关节运行该关节的第一关节轨迹所需的第一关节运行时间;所述主控制器根据所述第一区段参数集,获得执行端运行当前区段所需的第一执行端时间;将各个所述第一关节运行时间和所述第一执行端时间的最大值作为第一总时间;根据所述第一总时间计算各个关节运行第一关节轨迹的第一加速时间、第一匀速时间和第一最大速度;将所述第一关节运行时间、所述第一加速时间、所述第一匀速时间和所述第一最大速度作为第一参数集。
具体的,利用机器人逆运动学求解方法,将执行端在当前区段轨迹在笛卡尔空间中的起止点坐标转换为关节空间中每个关节对应的关节转角值
Figure GDA0003415734260000071
结合梯型轨迹规划曲线形状特性,当仅有加减速段时可计算出各个关节运行对应当前区段的第一关节轨迹所需的最短时间
Figure GDA0003415734260000072
作为第一关节运行时间:
Figure GDA0003415734260000073
式中,
Figure GDA0003415734260000074
为当前区段每个关节对应的位移
Figure GDA0003415734260000075
Figure GDA0003415734260000076
为当前区段各个关节对应的第一加速度。
根据第一区段参数集的参数信息计算执行端在笛卡尔空间运行当前区段轨迹所需的总时间t'tal_cur,作为第一执行端时间:
Figure GDA0003415734260000078
式中,ΔLcur为执行端在当前区段笛卡尔空间中的第一执行端轨迹,ΔLcur可以通过第一起点坐标Lcur_start和第一终点坐标Lcur_end计算得到,应理解ΔLcur可以为曲线轨迹;
Figure GDA0003415734260000079
为执行端在当前区段笛卡尔空间中给定的平均速度。
为保证所有关节之间的运动同步性,取每个关节的第一关节运行时间
Figure GDA00034157342600000710
和第一执行端时间t'tal_cur的最大值作为第一总时间ttal_cur,将第一总时间作为各个关节在关节空间运行对应当前区段的第一关节轨迹段所需时间:
Figure GDA00034157342600000712
上述步骤计算出的第一总时间ttal_cur,根据梯型加减速方法计算每个关节运行对应当前区段的第一加速时间
Figure GDA0003415734260000081
第一匀速时间
Figure GDA00034157342600000814
和第一最大速度
Figure GDA0003415734260000082
Figure GDA0003415734260000083
Figure GDA0003415734260000084
Figure GDA0003415734260000085
式中,
Figure GDA0003415734260000086
为对应当前区段每个关节对应的第一加速时间,
Figure GDA0003415734260000087
为对应当前区段每个关节对应的第一匀速时间,
Figure GDA0003415734260000088
为对应当前区段每个关节对应的第一最大速度。
S120,若检测到各个关节根据所述第一运行参数集运行至所述第一关节轨迹的中点处,所述主控制器判断是否存在目标区段;所述目标区段为当前区段的下一区段。
其中,每个关节轨迹的中点处为
Figure GDA0003415734260000089
在一些实施里中,根据用户初始化的路径参数,当前区段可能存在下一区段,也可能不存在下一区段。如果不存在下一区段,则各个关节根据所述第一运行参数集,以梯形插补的方式运行至当前段对应的第一关节轨迹的终点处,即运行到
Figure GDA00034157342600000810
处。
S130,若存在所述目标区段,则所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集。
其中,所述第二区段参数集包括但不限于,执行端的第二起点坐标Lnext_start、第二终点坐标Lnext_end、第二平均速度
Figure GDA00034157342600000811
以及各个关节的第二加速度信息
Figure GDA00034157342600000812
在一些实施例中,主控制器根据执行端和各个关节在笛卡尔空间的第二区段参数集,通过机器人逆运动学求解法获得机器人各个关对应目标区段的关节空间参数。所述关节空间参数包括但不限于,第二关节轨迹和第二运行参数集。第二关节轨迹是由对应的关节转角值
Figure GDA00034157342600000813
确定。
所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集,包括:所述主控制器根据所述执行端和各个关节对应目标区段的第二区段参数集,采用逆运动学求解算法根据所述第二区段参数,获得每个关节的第二关节轨迹;所述主控制器根据各个关节的所述第二关节轨迹,获得各个关节运行其第二关节轨迹所需的第二关节运行时间;所述主控制器根据所述第二区段参数集,获得执行端运行目标区段所需的第二执行端时间;将各个所述第二关节运行时间和所述第二执行端时间的最大值作为第二总时间;根据所述第二总时间计算各个关节运行第二关节轨迹的第二加速时间、第二匀速时间和第二最大速度;将所述第二关节运行时间
Figure GDA0003415734260000091
所述第二加速时间
Figure GDA0003415734260000092
所述第二匀速时间
Figure GDA0003415734260000093
和所述第二最大速度
Figure GDA0003415734260000094
作为第二参数集。
具体的,利用逆运动学求解出各个关节对应目标区段的第二关节轨迹起止点对应的关节转角值
Figure GDA0003415734260000095
结合梯型轨迹规划曲线形状特性计算出每个关节运行目标区段轨迹所需的最短时间
Figure GDA0003415734260000096
作为第二关节运行时间:
Figure GDA0003415734260000097
式中,
Figure GDA0003415734260000098
为对应目标区段每个关节对应的位移,
Figure GDA0003415734260000099
为对应目标区段每个关节对应的第二加速度。
根据执行端在目标区段的位移ΔLnext和平均速度
Figure GDA00034157342600000910
计算执行端在笛卡尔空间运行目标区段轨迹所需的总时间t'tal_next,作为第二执行端时间:
Figure GDA00034157342600000911
式中,ΔLnext为执行端在目标区段的笛卡尔空间中的第二执行端轨迹,ΔLnext可以通过第二起点坐标Lnext_start和第二终点坐标Lnext_end和计算得到,应理解ΔLnext可以为曲线轨迹,
Figure GDA00034157342600000912
为执行端在目标区段的笛卡尔空间中给定的平均速度。
为保证所有关节之间的运动同步性,取各个关节的第二关节运行时间
Figure GDA00034157342600000913
和第二执行端时间t'tal_next的最大值作为,第二总时间ttal_next;将第二总时间作为各个关节在关节空间运行下一轨迹段所需的时间:
Figure GDA00034157342600000915
计算每个关节运行对应目标区段的第二关节轨迹轨迹的第二加速时间、第二匀速时间及第二最大速度:
Figure GDA00034157342600000916
Figure GDA00034157342600000917
Figure GDA0003415734260000101
式中,
Figure GDA0003415734260000102
为对应目标区段每个关节的第二加速时间,
Figure GDA0003415734260000103
为对应目标区段每个关节对应的第二匀速时间,
Figure GDA0003415734260000104
为对应目标区段每个关节对应的第二最大速度。
S140,所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;各个关节的过渡轨迹为,以该关节的第一关节轨迹的中点处为起点,以该关节的第二关节轨迹的中点处为终点的运行轨迹。
一些实施例中,述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间,包括:所述主控制器针对各个关节,判断该关节的第一运行轨迹的位移是否为零,以及该关节的第二运行轨迹的位移是否为零,获得第一判断结果;所述主控制器根据所述第一判断结果和各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间。
一些实施例中,参考图3,所述主控制器根据所述第一判断结果和各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间,包括:针对任一关节,若该关节的第一关节轨迹的位移为零,并且该关节的第二关节轨迹的位移不为零,则所述主控制器根据该关节的第二关节运行时间确定该关节在其过渡轨迹的关节过渡时间;针对任一关节,若该关节的第一关节轨迹的位移不为零,并且该关节的第二关节轨迹的位移为零,则所述主控制器根据该关节的第一关节运行时间确定该关节在其过渡轨迹的关节过渡时间;针对任一关节,若该关节的第一关节轨迹的位移和第二关节轨迹的位移均不为零,则所述主控制器根据该关节的第一运行轨迹和第二运行轨迹,以及该关节的第一最大速度和第二最大速度,获得该关节在其过渡轨迹的关节过渡时间。在一些实施例中,针对任一关节,若该关节的第一关节轨迹的位移和第二关节轨迹的位移均为零,则退出关节轨迹规划的流程。
具体的,若关节在对应当前区段的第一关节轨迹的位移为零,而在对应目标区段轨迹的第二关节轨迹的位移不为零时,各个关节在该关节的过渡轨迹的关节过渡时间
Figure GDA0003415734260000105
为:
Figure GDA0003415734260000106
若关节在对应当前区段的第一关节轨迹的位移不为零,而对应目标区段第二关节轨迹的位移为零时:
Figure GDA0003415734260000111
若关节在对应当前区段的第一关节轨迹和对应目标区段第二关节轨迹的位移均不为零时:
Figure GDA0003415734260000112
S150,所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集。
一些实施例中,所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集,包括:所述主控制器取各个关节的关节过渡时间的最大值作为总过渡时间,将所述总过渡时间作为每一个关节在该关节的过渡轨迹的过渡时间;所述主控制器针对各个关节,判断该关节的第一运行轨迹的位移是否为零,以及该关节的第二运行轨迹的位移是否为零,获得第二判断结果;所述主控制器根据所述第二判断结果和所述总过渡时间,计算每个关节在其过渡轨迹的第三运行参数集。
具体的,计算出的各个关节的关节过渡时间后,为保证所有关节之间的运动同步性,取各个关节的关节过渡时间的最大值作为总过渡时间,将所述总过渡时间作为每一个关节在该关节的过渡轨迹的过渡时间,并根据该值重新计算每个关节在过渡轨迹的匀速及加减速时间。其中总过渡时间为ttr
Figure GDA0003415734260000113
一些实施例中,如图4所示,所述主控制器根据所述第二判断结果和所述总过渡时间,计算每个关节在其过渡轨迹的第三运行参数集,包括:针对任一关节,若该关节的第一关节轨迹的位移为零,并且该关节的第二关节轨迹的位移不为零,则所述主控制器根据所述总过渡时间和该关节的第二运行参数集,计算该关节在其过渡轨迹的第三运行参数集;针对任一关节,若该关节的第一关节轨迹的位移不为零,并且该关节的第二关节轨迹的位移为零,则所述主控制器根据所述总过渡时间和该关节的第一运行参数集,计算该关节在其过渡轨迹的第三运行参数集;针对任一关节,若该关节的第一关节轨迹的位移和第二关节轨迹的位移均不为零,则所述主控制器比较该关节的第一最大速度和第二最大速度,获得比较结果,根据所述比较结果利用第一运行参数集和第二运行参数集获得该关节的极限位移;所述主控制器根据所述极限位移、所述总过渡时间、所述第一运行参数集和所述第二运行参数集计算该关节在其过渡轨迹的第三运行参数集。在一些实施例中,针对任一关节,若该关节的第一关节轨迹的位移和第二关节轨迹的位移均为零,则退出关节轨迹规划的流程。
在一个非限定性的具体示例中,主控制器根据所述第二判断结果和所述总过渡时间,计算每个关节在其过渡轨迹的第三运行参数集,包括:
情况1,关节在对应当前区段的第一关节轨迹的位移为零,而对应目标区段的第二关节轨迹的位移不为零。
此时各个关节的过渡轨迹运动方式为:匀速--减速--加速--匀速。通过计算过渡段当前轨迹各个关节的匀速时间
Figure GDA0003415734260000121
过渡段当前轨迹每个关节的减速时间
Figure GDA0003415734260000122
过渡段下一轨迹每个关节的加速时间
Figure GDA0003415734260000123
过渡段下一轨迹每个关节的匀速时间
Figure GDA0003415734260000124
这四个参数,即可完成对关节在过渡轨迹的插补参数计算,此种情况下以这四个参数作为第三运行参数集。
其中,过渡段当前轨迹为关节的过渡轨迹与对应当前区段的第一关节轨迹重合的部分,过渡段下一轨迹为关节的过渡轨迹与对应目标区段的第二关节轨迹重合的部分。
情况2,关节在对应当前区段的第一关节轨迹的位移不为零,而对应目标段的第二关节轨迹的位移为零。
此时每个关节的过渡段运动方式为:匀速--减速--加速--匀速。通过计算过渡段当前轨迹每个关节的匀速时间
Figure GDA0003415734260000125
过渡段当前轨迹每个关节的减速时间
Figure GDA0003415734260000126
过渡段下一轨迹每个关节的加速时间
Figure GDA0003415734260000127
过渡段下一轨迹每个关节的匀速时间
Figure GDA0003415734260000128
这四个参数,即可完对关节在过渡轨迹的插补参数计算,此种情况下以这四个参数作为第三运行参数集。
情况3,关节在对应当前区段的第一关节轨迹的位移,和该关节对应目标区段的第二关节轨迹的位移均不为零。
此时每个关节的过渡轨迹运动方式为:减速--加速。情况3中根据对应当前区段的第一最大速度和对应目标区段的第二最大速度又分两种情况,情况(1)和情况(2)。
情况(1),当关节对应前区段的第一关节轨迹第一最大速度,小于或等于对应目标区段的第二关节轨迹的第二最大速度。
此时先计算各个关节的极限位移
Figure GDA0003415734260000129
为每个关节按照当前轨迹加速度
Figure GDA00034157342600001210
先减速至速度为0,再从速度为0加速度至第二关节轨迹的的最大速度所走过的位移。根据计算出的极限位移又分为两种情况,情况A1和情况A2。
情况A1,当极限位移大于或等于关节的两段轨迹位移之和的一半时,通过计算每个关节在过渡轨迹中间点的速度
Figure GDA0003415734260000131
过渡段当前轨迹每个关节的减速时间
Figure GDA0003415734260000132
过渡段当前轨迹每个关节的减速度
Figure GDA0003415734260000133
过渡段下一轨迹每个关节的加速时间
Figure GDA0003415734260000134
这4个参数,即可完成对关节在过渡轨迹的插补参数计算,情况A1下以这四个参数作为第三运行参数集。
情况A2,当极限位移小于关节两段轨迹位移之和的一半时,通过计算每个关节在过渡轨迹中间点的速度
Figure GDA0003415734260000135
过渡段当前轨迹每个关节的减速时间
Figure GDA0003415734260000136
过渡段下一轨迹每个关节的加速时间
Figure GDA0003415734260000137
过渡段下一轨迹每个关节的加速度
Figure GDA0003415734260000138
这4个参数,即可完成对关节在过渡轨迹的插补参数计算,情况A2下以这四个参数作为第三运行参数集。
情况(2),当关节对应当前区段的第一关节轨迹的第一最大速度,大于对应目标区段的第二关节轨迹的第二最大速度。此时先计算各个关节的极限位移
Figure GDA0003415734260000139
为每个关节先减速至速度0,再由速度0按过渡段下一轨迹加速度
Figure GDA00034157342600001310
加速至过渡段下一轨迹的最大速度所走过的位移。根据计算出的极限位移又分为两种情况,情况B1和情况B2。
情况B1,当极限位移大于或等于关节的两段轨迹位移之和的一半时,通过计算各个关节在过渡轨迹的中间点速度
Figure GDA00034157342600001311
过渡段当前轨迹每个关节的减速时间
Figure GDA00034157342600001312
过渡段下一轨迹每个关节的加速时间
Figure GDA00034157342600001313
过渡段下一轨迹每个关节的加速度
Figure GDA00034157342600001314
这4个参数,即可完成对关节在过渡轨迹的插补参数计算,情况B1下以这四个参数作为第三运行参数集。
情况B2,当极限位移小于关节的两段轨迹位移之和的一半时,通过计算每个关节在过渡轨迹的中间点速度
Figure GDA00034157342600001315
过渡段当前轨迹每个关节的减速时间
Figure GDA00034157342600001316
过渡段当前轨迹每个关节的减速度
Figure GDA00034157342600001317
过渡段下一轨迹每个关节的加速时间
Figure GDA00034157342600001318
这4个参数,即可完成对关节在过渡轨迹的插补参数计算,情况B2下以这四个参数作为第三运行参数集。
以下是一些实施例中的获得第三运行参数的具体计算示例。
情况1,关节在对应当前区段的第一关节轨迹的位移为零,而对应目标区段的第二关节轨迹的位移不为零。此时的过渡方式为先停止于对应当前区段的第一关节轨迹
Figure GDA00034157342600001319
时间后,再按照目标区段的第二关节轨迹的加速度
Figure GDA00034157342600001320
加速至下一轨迹的最大速度,可计算每个关节在过渡轨迹的匀速及加减速时间:
Figure GDA00034157342600001321
Figure GDA0003415734260000141
Figure GDA0003415734260000142
Figure GDA0003415734260000143
式中,
Figure GDA0003415734260000144
为过渡段当前轨迹每个关节的匀速时间,
Figure GDA0003415734260000145
为过渡段当前轨迹每个关节的减速时间,
Figure GDA0003415734260000146
为过渡段下一轨迹每个关节的加速时间,
Figure GDA0003415734260000147
为过渡段下一轨迹每个关节的匀速时间。
情况2,关节在对应当前区段的第一关节轨迹的位移不为零,而对应目标段的第二关节轨迹的位移为零。此时的过渡方式为先按照对应当前区段的第一关节轨迹第一最大速度匀速运行
Figure GDA0003415734260000148
时间后,再停止,可计算每个关节在过渡轨迹的匀速及加减速时间:
Figure GDA0003415734260000149
Figure GDA00034157342600001410
Figure GDA00034157342600001411
Figure GDA00034157342600001412
情况3,关节在对应当前区段的第一关节轨迹的位移,和该关节对应目标区段的第二关节轨迹的位移均不为零。
情况(1),当关节对应前区段的第一关节轨迹第一最大速度,小于或等于对应目标区段的第二关节轨迹的第二最大速度。此时预期的过渡方式为从当前区段的第一关节轨迹段出发,按照第一关节轨迹加速度
Figure GDA00034157342600001413
先减速至速度
Figure GDA00034157342600001414
再从该速度按照加速度
Figure GDA00034157342600001415
加速至第二关节轨迹的最大速度,当
Figure GDA00034157342600001416
为零时可计算出极限位移:
Figure GDA00034157342600001417
情况A1,当极限位移大于或等于两段轨迹位移之和的一半时,说明关节以该方式运行的位移会超出给定的位移范围,即预期的过渡方式不能满足位移要求,此时过渡方式为从当前轨迹段出发,先以减速度
Figure GDA00034157342600001418
减速至速度
Figure GDA00034157342600001419
再按照第二关节轨迹的加速度
Figure GDA00034157342600001420
加速至第二关节轨迹的最大速度,可计算每个关节在过渡轨迹的加减速时间及过渡终点速度:
Figure GDA0003415734260000151
Figure GDA0003415734260000152
Figure GDA0003415734260000153
Figure GDA0003415734260000154
式中,
Figure GDA0003415734260000155
为过渡段当前轨迹每个关节的终点速度,
Figure GDA0003415734260000156
为过渡段当前轨迹每个关节的减速度。
情况A2,当极限位移小于两段轨迹位移之和的一半时,说明关节以该方式运行的位移在给定的位移范围内,即预期的过渡方式可以满足要求,可计算每个关节在过渡轨迹的加减速时间及过渡终点速度:
Figure GDA0003415734260000157
Figure GDA0003415734260000158
Figure GDA0003415734260000159
Figure GDA00034157342600001510
式中,
Figure GDA00034157342600001511
为过渡段下一轨迹每个关节的加速度。
情况(2),当关节对应当前区段的第一关节轨迹的第一最大速度,大于对应目标区段的第二关节轨迹的第二最大速度。此时预期的过渡方式为从第一关节轨迹出发,按照减速度
Figure GDA00034157342600001512
先减速至速度
Figure GDA00034157342600001513
再从该速度按第二关节轨迹的加速度
Figure GDA00034157342600001514
加速至第二关节轨迹的最大速度,当
Figure GDA00034157342600001515
为零时可计算极限位移:
Figure GDA00034157342600001516
情况B1,当极限位移大于或等于关节的两段轨迹位移之和的一半时,说明关节以该方式运行的位移会超出给定的位移范围,即说明预期的过渡方式不能满足位移要求,此时过渡方式为从当前轨迹段出发,先按照当前轨迹段的加速度
Figure GDA0003415734260000161
减速至速度
Figure GDA0003415734260000162
再按照加速度
Figure GDA0003415734260000163
加速至第二关节轨迹的最大速度,可计算每个关节在其过渡轨迹的加减速时间及过渡轨迹终点速度:
Figure GDA0003415734260000164
Figure GDA0003415734260000165
Figure GDA0003415734260000166
情况B2当极限位移小于关节的两段轨迹位移之和的一半时,说明关节以该方式运行的位移在给定的位移范围内,即预期的过渡方式可以满足要求,计算每个关节在过渡轨迹的加减速时间及过渡轨迹终点速度:
Figure GDA0003415734260000167
Figure GDA0003415734260000168
Figure GDA0003415734260000169
Figure GDA00034157342600001610
S160,各个关节根据所述第三运行参数集运行至过渡轨迹的终点。
在一些实施例中,各个关节根据该关节的第三运行参数,以梯形插补的方式运行至过渡轨迹的终点。
S170,所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤。
在一些实施例中,所述主控制器将所述目标区段作为当前区段,相应的,各个关节对应目标区段的参数也作为当前区段的参数;例如,第二关节轨迹、第二运行参数集作为第一关节轨迹、第一运行参数集。
可以理解的是,本申请实施例根据梯型插补方法计算简单且速度连续的特点,只需要机器人执行端的当前区段轨迹与下一区段轨迹的信息,即可将各个关节对应两段轨迹的速度进行衔接,实现各个关节的速度无需减为零即可平滑过渡,保证了多段轨迹间的速度连续性,从而提高了机器人运行的稳定性。进一步的,在分别处理每个关节插补过程中,所有关节运动时间的最大值作为总运行时间,保证了各关节之间的运动时间同步性。
在一个具体实现的示例中,以某四轴工业机器人为例,采用本发明方法对机器人关节空间进行连续轨迹规划。
第一、确定执行端在规划轨迹的各个区段的端点位姿(x,y,z,r)、平均速度
Figure GDA0003415734260000171
各个关节的加速度acci;本示例运行了三段轨迹,但此处只以前两段轨迹作说明;本示例中各个参数的上标i=1,2,3,4,对应于第一个至第四个关节;其对应的关节空间信息如下:
第一点位姿坐标:
x=320,y=0,z=0,r=0,
Figure GDA0003415734260000172
acc1=100,acc2=100,acc3=100,acc4=100。
第二点位姿坐标:
x=166,y=238,z=-30,r=50,
Figure GDA0003415734260000173
acc1=100,acc2=100,acc3=100,acc4=100。
第三点位姿坐标:
x=-35,y=202,z=-60,r=100,
Figure GDA0003415734260000174
acc1=100,acc2=100,acc3=100,acc4=100。
第四点位姿坐标:
x=-54,y=9,z=-100,r=180,
Figure GDA0003415734260000175
acc1=100,acc2=100,acc3=100,acc4=100。
第二、通过逆运动学求解笛卡尔空间中每个起止点坐标对应关节空间的关节位移值,其中θ1为第一个关节的转角值,θ2为第二个关节的转角值,z3为垂直移动的第三个关节的位移值,r4为旋转关节的转角值;应理解,θ1、θ2、z3和r4均可通过上述方法获得,这里为了区分关节类型的不同采用不同的表示方式。其中转角值的单位为角度,位移值的单位为毫米。
第一点,
θ1=0,θ2=0,z3=0,r4=0;
第二点,
θ1=30,θ2=50,z3=-30,r4=50;
第三点,
θ1=50,θ2=100,z3=-60,r4=100;
第四点,
θ1=90,θ2=160,z3=-100,r4=180;
确定当前区段轨迹每个关节运行所需的最短时间,即第一关节运行时间
Figure GDA0003415734260000181
Figure GDA0003415734260000182
Figure GDA0003415734260000183
第三、计算执行端在笛卡尔空间运行当前区段轨迹所需的总时间,即第一执行端时间t'tal_cur
t'tal_cur=1.414s。
第四、关节空间运行当前区段轨迹段所需的第一总时间ttal_cur
Figure GDA0003415734260000184
第五、计算每个关节运行第一关节轨迹的第一加速时间
Figure GDA0003415734260000185
第一匀速时间
Figure GDA0003415734260000186
及第一最大速度
Figure GDA0003415734260000187
Figure GDA0003415734260000188
Figure GDA0003415734260000189
Figure GDA00034157342600001810
第六、结合梯型轨迹规划曲线形状特性计算出每个关节运行对应目标区段的第二关节轨迹所需的最短时间,即第二关节运行时间
Figure GDA00034157342600001811
Figure GDA00034157342600001812
Figure GDA00034157342600001813
第七、计算执行端在笛卡尔空间运行目标区段所需的总时间,即第二执行端时间t'tal_next
Figure GDA00034157342600001814
第八、计算各个关节在关节空间运行对应目标区段的第二关节轨迹所需的总时间,即第二总时间ttal_next
Figure GDA00034157342600001815
第九、计算每个关节运行第二关节轨迹的第二加速时间
Figure GDA00034157342600001816
第二匀速时间
Figure GDA00034157342600001817
及第二最大速度
Figure GDA00034157342600001818
Figure GDA0003415734260000191
Figure GDA0003415734260000192
Figure GDA0003415734260000193
第十、根据两段轨迹判断是否存在关节反向情况,若存在,则各关节以梯型插补方式减速至零运行过渡轨迹;否则计算每个关节在两段轨迹间的过渡时间
Figure GDA0003415734260000194
Figure GDA0003415734260000195
Figure GDA0003415734260000196
第十一、比较每个关节的过渡时间,取其最大值作为最终的总过渡时间,并根据该总过渡时间重新计算每个关节在其过渡轨迹的匀速及加减速时间ttr
Figure GDA0003415734260000197
Figure GDA0003415734260000198
Figure GDA0003415734260000199
Figure GDA00034157342600001910
Figure GDA00034157342600001911
其中
Figure GDA00034157342600001912
为中间点过渡速度,
Figure GDA00034157342600001913
为过渡段下一轨迹每个关节的加速时间,
Figure GDA00034157342600001914
过渡段当前轨迹每个关节的减速时间,
Figure GDA00034157342600001915
为过渡段下一轨迹每个关节的加速度。
根据上述计算结果进行曲线规划,图5至图8为第一关节至第四关节在采用现有技术中的关节轨迹规划方法获得的关节轨迹时间速度曲线,横轴为时间(秒),纵轴为速度(米/秒),图9至图12位第一关节至第四关节在采用本示例的关节轨迹规划的方法获得的关节轨迹时间速度曲线,横轴为时间(秒),纵轴为速度(米/秒)。对比各个关节的时间速度曲线图可知,采用本申请实施例提供的关节轨迹规划方法规划后的多段轨迹的速度可连续衔接。以第一关节为例,图5示出的是该关节采用现有技术中的关节轨迹规划方法获得的时间速度曲线,可以看出该关节在两个区段对应的轨迹运行时的几个时间点TA1、TA2、TA3、TA4和TA5的速度情况。该关节运行到当前区段和目标区段对应的关节轨迹的衔接点时,TA3时刻速度明显要降为0,再由速度0加速。图9示出的是该关节采用本申请实施例提供的关节轨迹规划方法规划后的时间速度曲线,可以看出该关节在两个区段对应的轨迹运行时的几个时间点TB1、TB2、TB3、TB4和TB5的速度情况。该关节运行到对应当前区段的第一关节轨迹一半时,即TB1时刻,该关节根据总过渡时间运行过渡轨迹。在该关节运行对应当前区段到目标区段的轨迹时,速度没有降为0;并且因为目标区段后还有下一个区段,因此,在目标区段对应的关节轨迹的终点TB5时刻,该关节也没有降到0。可以看出,该关节在执行端运行前后两段轨迹时,速度无须减为零的情况下连续过渡,从而提高了机械臂运行的稳定性。
一方面本申请实施提供的一种机器人关节轨迹规划的方法,将执行端两段轨迹笛卡尔空间坐标转换到各个关节的关节空间坐标。利用梯型插补曲线直接对关节空间轨迹进行规划,先直接插补到当对应前区段的第一关节轨迹的前半段,将其后半段与对应目标区段第二关节轨迹的前半段作为过渡轨迹。取各个关节在过渡轨迹中运动时间的最大值作为每个关节在其过渡轨迹的运行时间。将时间统一保证关节运动的同步性,并在时间一致的条件下重新计算每个关节的加减速参数,达到了各个关节在执行端运行前后两段轨迹时,速度无须减为零的情况下连续过渡,从而提高了机械臂运行的稳定性;另一方面本申请是实施例只要求当前段轨迹与下一段轨迹的信息,大大减少了数据的存储空间和计算的复杂度。
在上述图2所示的关节轨迹规划的方法的实施例的基础上,在步骤S140,所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间前,还包括步骤S131和S132:
S131,若任一关节存在反转,则各个关节根据所述第一运行参数集运行至第一关节轨迹的终点处后,各个关节根据所述第二运行参数集运行至第二关节轨迹的中点处。
其中,所述关节反转为关节在对应当前区段的第一关节轨迹,与对应目标区段的第二关节轨迹的方向相反。
在一些实施例中,若存在任意关节反转的情况,则各个关节根据第一运行参数集,以梯形插补的方式运行至该关节的第一关节轨迹中点,即速度降为0,再根据第二运行参数集运行至第二关节轨迹的中点处。
S132,所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤。
在一些实施例中,所述主控制器将所述目标区段作为当前区段,相应的,各个关节对应目标区段的参数也作为当前区段的参数;例如,第二关节轨迹、第二运行参数集作为第一关节轨迹、第一运行参数集。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。对应于上述图2所示的关节轨迹规划的方法,本申请实施例提供一种关节轨迹规划的装置,包括:
第一运行参数集获取模块,用于主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集;
目标区段判断模块,用于若检测到各个关节根据所述第一运行参数集运行至所述第一关节轨迹的中点处,所述主控制器判断是否存在目标区段;所述目标区段为当前区段的下一区段;
第二运行参数获取模块,用于若存在所述目标区段,则所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集;
过渡时间获取模块,用于所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;各个关节的过渡轨迹为,以该关节的第一关节轨迹的中点处为起点,以该关节的第二关节轨迹的中点处为终点的运行轨迹;
第三参数集获取模块,用于所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集;
关节运行控制模块,用于各个关节根据所述第三运行参数集运行至过渡轨迹的终点;
循环控制模块,用于所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤。
可以理解的是,以上实施例中的各种实施方式和实施方式组合及其有益效果同样适用于本实施例,这里不再赘述。
图13为本申请一实施例提供的主控制器的结构示意图。如图13所示,该实施例的主控制器D10包括:至少一个处理器D100(图13中仅示出一个)处理器、存储器D101以及存储在所述存储器D101中并可在所述至少一个处理器D100上运行的计算机程序D102,所述处理器D100执行所述计算机程序D102时实现上述任意各个方法实施例中的步骤。或者,所述处理器D100执行所述计算机程序D102时实现上述各装置实施例中各模块/单元的功能。
所述主控制器D10可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该主控制器可包括,但不仅限于,处理器D100、存储器D101。本领域技术人员可以理解,图13仅仅是主控制器D10的举例,并不构成对主控制器D10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器D100可以是中央处理单元(Central Processing Unit,CPU),该处理器D100还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器D101在一些实施例中可以是所述主控制器D10的内部存储单元,例如主控制器D10的硬盘或内存。所述存储器D101在另一些实施例中也可以是所述主控制器D10的外部存储设备,例如所述主控制器D10上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器D101还可以既包括所述主控制器D10的内部存储单元也包括外部存储设备。所述存储器D101用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器D101还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在关节轨迹规划的系统上运行时,使得关节轨迹规划的系统执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (4)

1.一种关节轨迹规划的方法,其特征在于,所述方法包括:
主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集;
若检测到各个关节根据所述第一运行参数集运行至所述第一关节轨迹的中点处,所述主控制器判断是否存在目标区段;所述目标区段为当前区段的下一区段;
若存在所述目标区段,则所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集;
所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;各个关节的过渡轨迹为,以该关节的第一关节轨迹的中点处为起点,以该关节的第二关节轨迹的中点处为终点的运行轨迹;
所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集;
各个关节根据所述第三运行参数集运行至过渡轨迹的终点;
所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤;
所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间前,还包括:
若任一关节存在反转,则各个关节根据所述第一运行参数集运行至第一关节轨迹的终点处后,各个关节根据所述第二运行参数集运行至第二关节轨迹的中点处;
所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤;
主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集,包括:
所述主控制器根据所述执行端和各个关节对应当前区段第一区段参数集,采用逆运动学求解算法根据所述第一区段参数集,获得每个关节的第一关节轨迹;
所述主控制器根据各个关节的所述第一关节轨迹,获得各个关节运行该关节的第一关节轨迹所需的第一关节运行时间;
所述主控制器根据所述第一区段参数集,获得执行端运行当前区段所需的第一执行端时间;
将各个所述第一关节运行时间和所述第一执行端时间的最大值作为第一总时间;
根据所述第一总时间计算各个关节运行第一关节轨迹的第一加速时间、第一匀速时间和第一最大速度;
将所述第一总时间、所述第一加速时间、所述第一匀速时间和所述第一最大速度作为所述第一运行参数集;
所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集,包括:
所述主控制器根据所述执行端和各个关节对应目标区段的第二区段参数集,采用逆运动学求解算法根据所述第二区段参数集,获得每个关节的第二关节轨迹;
所述主控制器根据各个关节的所述第二关节轨迹,获得各个关节运行其第二关节轨迹所需的第二关节运行时间;
所述主控制器根据所述第二区段参数集,获得执行端运行目标区段所需的第二执行端时间;
将各个所述第二关节运行时间和所述第二执行端时间的最大值作为第二总时间;
根据所述第二总时间计算各个关节运行第二关节轨迹的第二加速时间、第二匀速时间和第二最大速度;
将所述第二总时间、所述第二加速时间、所述第二匀速时间和所述第二最大速度作为所述第二运行参数集;
所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间,包括:
所述主控制器针对各个关节,判断该关节的第一关节轨迹的位移是否为零,以及该关节的第二关节轨迹的位移是否为零,获得第一判断结果;
所述主控制器根据所述第一判断结果和各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;
所述主控制器根据所述第一判断结果和各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间,包括:
针对任一关节,若该关节的第一关节轨迹的位移为零,并且该关节的第二关节轨迹的位移不为零,则所述主控制器根据该关节的第二关节运行时间确定该关节在其过渡轨迹的关节过渡时间;
针对任一关节,若该关节的第一关节轨迹的位移不为零,并且该关节的第二关节轨迹的位移为零,则所述主控制器根据该关节的第一关节运行时间确定该关节在其过渡轨迹的关节过渡时间;
针对任一关节,若该关节的第一关节轨迹的位移和第二关节轨迹的位移均不为零,则所述主控制器根据该关节的第一关节轨迹和第二关节轨迹,以及该关节的第一最大速度和第二最大速度,获得该关节在其过渡轨迹的关节过渡时间;
所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集,包括:所述主控制器取各个关节的关节过渡时间的最大值作为总过渡时间,将所述总过渡时间作为每一个关节在该关节的过渡轨迹的过渡时间;所述主控制器针对各个关节,判断该关节的第一关节轨迹的位移是否为零,以及该关节的第二关节轨迹的位移是否为零,获得第二判断结果;所述主控制器根据所述第二判断结果和所述总过渡时间,计算每个关节在其过渡轨迹的第三运行参数集;
所述主控制器根据所述第二判断结果和所述总过渡时间,计算每个关节在其过渡轨迹的第三运行参数集,包括:针对任一关节,若该关节的第一关节轨迹的位移为零,并且该关节的第二关节轨迹的位移不为零,则所述主控制器根据所述总过渡时间和该关节的第二运行参数集,计算该关节在其过渡轨迹的第三运行参数集;针对任一关节,若该关节的第一关节轨迹的位移不为零,并且该关节的第二关节轨迹的位移为零,则所述主控制器根据所述总过渡时间和该关节的第一运行参数集,计算该关节在其过渡轨迹的第三运行参数集;针对任一关节,若该关节的第一关节轨迹的位移和第二关节轨迹的位移均不为零,则所述主控制器比较该关节的第一最大速度和第二最大速度,获得比较结果,根据所述比较结果利用第一运行参数集和第二运行参数集获得该关节的极限位移;所述主控制器根据所述极限位移、所述总过渡时间、所述第一运行参数集和所述第二运行参数集计算该关节在其过渡轨迹的第三运行参数集。
2.一种关节轨迹规划的装置,其特征在于,包括:
第一运行参数集获取模块,用于主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集;
目标区段判断模块,用于若检测到各个关节根据所述第一运行参数集运行至所述第一关节轨迹的中点处,所述主控制器判断是否存在目标区段;所述目标区段为当前区段的下一区段;
第二运行参数获取模块,用于若存在所述目标区段,则所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集;
过渡时间获取模块,用于所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;各个关节的过渡轨迹为,以该关节的第一关节轨迹的中点处为起点,以该关节的第二关节轨迹的中点处为终点的运行轨迹;
第三参数集获取模块,用于所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集;
关节运行控制模块,用于各个关节根据所述第三运行参数集运行至过渡轨迹的终点;
循环控制模块,用于所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤;
所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间前,还包括:
若任一关节存在反转,则各个关节根据所述第一运行参数集运行至第一关节轨迹的终点处后,各个关节根据所述第二运行参数集运行至第二关节轨迹的中点处;
所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤;
主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集,包括:
所述主控制器根据所述执行端和各个关节对应当前区段第一区段参数集,采用逆运动学求解算法根据所述第一区段参数集,获得每个关节的第一关节轨迹;
所述主控制器根据各个关节的所述第一关节轨迹,获得各个关节运行该关节的第一关节轨迹所需的第一关节运行时间;
所述主控制器根据所述第一区段参数集,获得执行端运行当前区段所需的第一执行端时间;
将各个所述第一关节运行时间和所述第一执行端时间的最大值作为第一总时间;
根据所述第一总时间计算各个关节运行第一关节轨迹的第一加速时间、第一匀速时间和第一最大速度;
将所述第一总时间、所述第一加速时间、所述第一匀速时间和所述第一最大速度作为所述第一运行参数集;
所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集,包括:
所述主控制器根据所述执行端和各个关节对应目标区段的第二区段参数集,采用逆运动学求解算法根据所述第二区段参数集,获得每个关节的第二关节轨迹;
所述主控制器根据各个关节的所述第二关节轨迹,获得各个关节运行其第二关节轨迹所需的第二关节运行时间;
所述主控制器根据所述第二区段参数集,获得执行端运行目标区段所需的第二执行端时间;
将各个所述第二关节运行时间和所述第二执行端时间的最大值作为第二总时间;
根据所述第二总时间计算各个关节运行第二关节轨迹的第二加速时间、第二匀速时间和第二最大速度;
将所述第二总时间、所述第二加速时间、所述第二匀速时间和所述第二最大速度作为所述第二运行参数集;
所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间,包括:
所述主控制器针对各个关节,判断该关节的第一关节轨迹的位移是否为零,以及该关节的第二关节轨迹的位移是否为零,获得第一判断结果;
所述主控制器根据所述第一判断结果和各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;
所述主控制器根据所述第一判断结果和各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间,包括:
针对任一关节,若该关节的第一关节轨迹的位移为零,并且该关节的第二关节轨迹的位移不为零,则所述主控制器根据该关节的第二关节运行时间确定该关节在其过渡轨迹的关节过渡时间;
针对任一关节,若该关节的第一关节轨迹的位移不为零,并且该关节的第二关节轨迹的位移为零,则所述主控制器根据该关节的第一关节运行时间确定该关节在其过渡轨迹的关节过渡时间;
针对任一关节,若该关节的第一关节轨迹的位移和第二关节轨迹的位移均不为零,则所述主控制器根据该关节的第一关节轨迹和第二关节轨迹,以及该关节的第一最大速度和第二最大速度,获得该关节在其过渡轨迹的关节过渡时间;
所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集,包括:所述主控制器取各个关节的关节过渡时间的最大值作为总过渡时间,将所述总过渡时间作为每一个关节在该关节的过渡轨迹的过渡时间;所述主控制器针对各个关节,判断该关节的第一关节轨迹的位移是否为零,以及该关节的第二关节轨迹的位移是否为零,获得第二判断结果;所述主控制器根据所述第二判断结果和所述总过渡时间,计算每个关节在其过渡轨迹的第三运行参数集;
所述主控制器根据所述第二判断结果和所述总过渡时间,计算每个关节在其过渡轨迹的第三运行参数集,包括:针对任一关节,若该关节的第一关节轨迹的位移为零,并且该关节的第二关节轨迹的位移不为零,则所述主控制器根据所述总过渡时间和该关节的第二运行参数集,计算该关节在其过渡轨迹的第三运行参数集;针对任一关节,若该关节的第一关节轨迹的位移不为零,并且该关节的第二关节轨迹的位移为零,则所述主控制器根据所述总过渡时间和该关节的第一运行参数集,计算该关节在其过渡轨迹的第三运行参数集;针对任一关节,若该关节的第一关节轨迹的位移和第二关节轨迹的位移均不为零,则所述主控制器比较该关节的第一最大速度和第二最大速度,获得比较结果,根据所述比较结果利用第一运行参数集和第二运行参数集获得该关节的极限位移;所述主控制器根据所述极限位移、所述总过渡时间、所述第一运行参数集和所述第二运行参数集计算该关节在其过渡轨迹的第三运行参数集。
3.一种关节轨迹规划系统,其特征在于,包括:主控制器、机械臂;所述机械臂包括一个或多个关节;
主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集;
若检测到各个关节根据所述第一运行参数集运行至所述第一关节轨迹的中点处,所述主控制器判断是否存在目标区段;所述目标区段为当前区段的下一区段;
若存在所述目标区段,则所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集;
所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;各个关节的过渡轨迹为,以该关节的第一关节轨迹的中点处为起点,以该关节的第二关节轨迹的中点处为终点的运行轨迹;
所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集;
各个关节根据所述第三运行参数集运行至过渡轨迹的终点;
所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤;
所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间前,还包括:
若任一关节存在反转,则各个关节根据所述第一运行参数集运行至第一关节轨迹的终点处后,各个关节根据所述第二运行参数集运行至第二关节轨迹的中点处;
所述主控制器将所述目标区段作为当前区段,返回所述主控制器判断是否存在目标区段的步骤;
主控制器根据机器人的执行端和各个关节对应当前区段的第一区段参数集,获得所述机器人的每个关节对应所述当前区段的第一关节轨迹和第一运行参数集,包括:
所述主控制器根据所述执行端和各个关节对应当前区段第一区段参数集,采用逆运动学求解算法根据所述第一区段参数集,获得每个关节的第一关节轨迹;
所述主控制器根据各个关节的所述第一关节轨迹,获得各个关节运行该关节的第一关节轨迹所需的第一关节运行时间;
所述主控制器根据所述第一区段参数集,获得执行端运行当前区段所需的第一执行端时间;
将各个所述第一关节运行时间和所述第一执行端时间的最大值作为第一总时间;
根据所述第一总时间计算各个关节运行第一关节轨迹的第一加速时间、第一匀速时间和第一最大速度;
将所述第一总时间、所述第一加速时间、所述第一匀速时间和所述第一最大速度作为所述第一运行参数集;
所述主控制器根据所述执行端和各个关节对应所述目标区段的第二区段参数集,获得所述机器人的每个关节对应所述目标区段的第二关节轨迹和第二运行参数集,包括:
所述主控制器根据所述执行端和各个关节对应目标区段的第二区段参数集,采用逆运动学求解算法根据所述第二区段参数集,获得每个关节的第二关节轨迹;
所述主控制器根据各个关节的所述第二关节轨迹,获得各个关节运行其第二关节轨迹所需的第二关节运行时间;
所述主控制器根据所述第二区段参数集,获得执行端运行目标区段所需的第二执行端时间;
将各个所述第二关节运行时间和所述第二执行端时间的最大值作为第二总时间;
根据所述第二总时间计算各个关节运行第二关节轨迹的第二加速时间、第二匀速时间和第二最大速度;
将所述第二总时间、所述第二加速时间、所述第二匀速时间和所述第二最大速度作为所述第二运行参数集;
所述主控制器根据各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间,包括:
所述主控制器针对各个关节,判断该关节的第一关节轨迹的位移是否为零,以及该关节的第二关节轨迹的位移是否为零,获得第一判断结果;
所述主控制器根据所述第一判断结果和各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间;
所述主控制器根据所述第一判断结果和各个关节的所述第一关节轨迹、所述第二关节轨迹、所述第一运行参数集和所述第二运行参数集,获得各个关节在该关节的过渡轨迹的关节过渡时间,包括:
针对任一关节,若该关节的第一关节轨迹的位移为零,并且该关节的第二关节轨迹的位移不为零,则所述主控制器根据该关节的第二关节运行时间确定该关节在其过渡轨迹的关节过渡时间;
针对任一关节,若该关节的第一关节轨迹的位移不为零,并且该关节的第二关节轨迹的位移为零,则所述主控制器根据该关节的第一关节运行时间确定该关节在其过渡轨迹的关节过渡时间;
针对任一关节,若该关节的第一关节轨迹的位移和第二关节轨迹的位移均不为零,则所述主控制器根据该关节的第一关节轨迹和第二关节轨迹,以及该关节的第一最大速度和第二最大速度,获得该关节在其过渡轨迹的关节过渡时间;
所述主控制器根据各个关节的关节过渡时间,计算各个关节在该关节的过渡轨迹的第三运行参数集,包括:所述主控制器取各个关节的关节过渡时间的最大值作为总过渡时间,将所述总过渡时间作为每一个关节在该关节的过渡轨迹的过渡时间;所述主控制器针对各个关节,判断该关节的第一关节轨迹的位移是否为零,以及该关节的第二关节轨迹的位移是否为零,获得第二判断结果;所述主控制器根据所述第二判断结果和所述总过渡时间,计算每个关节在其过渡轨迹的第三运行参数集;
所述主控制器根据所述第二判断结果和所述总过渡时间,计算每个关节在其过渡轨迹的第三运行参数集,包括:针对任一关节,若该关节的第一关节轨迹的位移为零,并且该关节的第二关节轨迹的位移不为零,则所述主控制器根据所述总过渡时间和该关节的第二运行参数集,计算该关节在其过渡轨迹的第三运行参数集;针对任一关节,若该关节的第一关节轨迹的位移不为零,并且该关节的第二关节轨迹的位移为零,则所述主控制器根据所述总过渡时间和该关节的第一运行参数集,计算该关节在其过渡轨迹的第三运行参数集;针对任一关节,若该关节的第一关节轨迹的位移和第二关节轨迹的位移均不为零,则所述主控制器比较该关节的第一最大速度和第二最大速度,获得比较结果,根据所述比较结果利用第一运行参数集和第二运行参数集获得该关节的极限位移;所述主控制器根据所述极限位移、所述总过渡时间、所述第一运行参数集和所述第二运行参数集计算该关节在其过渡轨迹的第三运行参数集。
4.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1所述的方法。
CN202010453876.7A 2020-05-26 2020-05-26 关节轨迹规划的方法、装置、系统及存储介质 Active CN111604905B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010453876.7A CN111604905B (zh) 2020-05-26 2020-05-26 关节轨迹规划的方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010453876.7A CN111604905B (zh) 2020-05-26 2020-05-26 关节轨迹规划的方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN111604905A CN111604905A (zh) 2020-09-01
CN111604905B true CN111604905B (zh) 2022-04-05

Family

ID=72195896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010453876.7A Active CN111604905B (zh) 2020-05-26 2020-05-26 关节轨迹规划的方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN111604905B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199827B (zh) * 2020-09-24 2024-02-27 慧灵科技(深圳)有限公司 机械臂的动力学仿真方法、装置、电子设备及存储介质
CN112192575B (zh) * 2020-10-21 2022-06-14 哈工大机器人(合肥)国际创新研究院 一种相邻关节空间轨迹过渡方法及装置
CN112276949B (zh) * 2020-10-21 2022-03-11 哈工大机器人(合肥)国际创新研究院 一种相邻关节空间-笛卡尔空间轨迹过渡方法及装置
CN113894796B (zh) * 2021-11-24 2022-12-13 伯朗特机器人股份有限公司 一种基于梯形规划的机械臂多关节轨迹时间同步方法
CN116070355A (zh) * 2023-03-27 2023-05-05 北京全路通信信号研究设计院集团有限公司 一种钩车遛放仿真方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602968A (en) * 1994-05-02 1997-02-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Task space angular velocity blending for real-time trajectory generation
CN105500354B (zh) * 2016-02-02 2017-05-17 南京埃斯顿机器人工程有限公司 一种工业机器人应用的过渡轨迹规划方法
CN105710881B (zh) * 2016-03-16 2017-10-31 杭州娃哈哈精密机械有限公司 一种机器人末端连续轨迹规划过渡方法
CN107030697B (zh) * 2017-04-28 2019-05-28 广州大学 一种机器人笛卡尔空间平滑轨迹的规划方法
CN107571261B (zh) * 2017-08-30 2019-10-22 中国科学院自动化研究所 示教机器人多空间轨迹规划的平滑过渡方法及装置
CN108262747B (zh) * 2018-01-16 2021-07-13 广州视源电子科技股份有限公司 运动轨迹规划方法、装置、机器人及存储介质
CN109623820B (zh) * 2018-12-25 2021-09-14 哈工大机器人(合肥)国际创新研究院 一种机器人空间轨迹过渡方法
CN109648560B (zh) * 2018-12-28 2021-01-22 深圳市越疆科技有限公司 工业机器人的空间轨迹过渡方法、系统及机器人

Also Published As

Publication number Publication date
CN111604905A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN111604905B (zh) 关节轨迹规划的方法、装置、系统及存储介质
CN109159151B (zh) 一种机械臂空间轨迹跟踪动态补偿方法和系统
CN109605369B (zh) 机械臂奇异点控制方法及系统
US7102311B2 (en) Drive control method and drive controller
CN109074067B (zh) 机器人运动控制方法及相关装置
CN114952868B (zh) 7自由度srs型机械臂控制方法及装置、弹琴机器人
JPS591180A (ja) 制御された経路の運動を行なうマニピユレ−タ
JP2022544709A (ja) 加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画
CN109773780B (zh) 机械臂的过渡路径的位姿同步方法及装置
CN111390902A (zh) 轨迹规划方法、轨迹规划装置、设备和存储介质
CN111633668B (zh) 一种用于机器人加工三维自由曲面的运动控制方法
JPH01230105A (ja) ロボットのツール姿勢制御方法
CN111496798B (zh) 机器人传送带跟踪方法、设备及存储装置
CN112356032A (zh) 一种姿态平滑过渡方法及系统
JP3204042B2 (ja) ロボットの軌道の生成装置
CN113495565A (zh) 一种机器人及其轨迹规划和平滑过渡方法、系统及介质
JP4146549B2 (ja) 軌跡制御方法及び軌跡制御方法を記録した記録媒体
CN108513636A (zh) 机器人运动控制方法及相关装置
CN114740863A (zh) 一种基于领航跟随的多机编队控制方法及装置
CN111670093B (zh) 机器人的运动控制方法、控制系统和存储装置
JPH07210233A (ja) ロボットの軌道の補間方法と補間装置
JP2737725B2 (ja) ロボット制御装置及び方法
JP4085208B2 (ja) ロボットの制御方法
JPH07244519A (ja) 画像による可動物体の運動制御方法
JPH11198072A (ja) ロボットの最短時間速度制御装置

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
GR01 Patent grant