运动轨迹规划方法、装置、机器人及存储介质与流程

文档序号:14902443发布日期:2018-07-10 21:03阅读:142来源:国知局

本发明涉及机器人技术领域,尤其涉及运动轨迹规划方法、装置、机器人及存储介质。



背景技术:

对于工业机器人来说,通常要求稳定高效的完成工作,并要求保证在相邻路径之间可以平滑过渡。一般地,工业机器人的运动轨迹通常为点对点运动形式,该种运动形式下主要规划机器人关节空间轨迹,用于机器人在两点之间的抓放动作,其中,点对点构成了机器人的一段运动轨迹,连续的点对点操作相当于机器人执行了一组连续运动轨迹。

工业机器人在执行一组连续运动轨迹时,通常是运行完一段运动轨迹停止之后,再接下来启动运行下一段运动轨迹,直至完成一组连续运动轨迹段。这样的运动方式在停止和启动时,会导致机器人的振动现象。同时,这种运行方式在停止时速度和加速度都需要降为0,启动时速度和加速度也要从0开始,效率较低。

为保证工业机器人高效稳定的工作,需要实现上述各段运动轨迹之间连续平滑的过渡。现有很多方法是在满足机器人运动学、动力学约束条件下,通过优化算法寻优时间节点,从而获得时间最优轨迹,但是这些方法复杂度大,计算量大,会严重影响机器人运动操作的实时性。



技术实现要素:

本发明实施例提供了运动轨迹规划方法、装置、机器人及存储介质,以实现机器人在一组连续目标轨迹点之间高效实时的平滑过渡。

第一方面,本发明实施例提供了一种运动轨迹规划方法,包括:

获取上一目标轨迹点对应的上一运行时长和上一设定过渡时间;

如果所述上一运行时长与所述上一设定过渡时间不同,则确定在所述上一目标轨迹点之后存在连续的下一目标轨迹点;

根据所述上一目标轨迹点及下一目标轨迹点分别对应的运动信息,规划机器人向所述下一目标轨迹点运动的运动轨迹,其中,所述运动信息包括:轨迹点位置、速度和加速度。

第二方面,本发明实施例提供了一种运动轨迹规划装置,包括:

信息获取模块,用于获取上一目标轨迹点对应的上一运行时长和上一设定过渡时间;

第一确定模块,用于当所述上一运行时长与所述上一设定过渡时间不同时,确定在所述上一目标轨迹点之后存在连续的下一目标轨迹点;

第一规划模块,用于根据所述上一目标轨迹点及下一目标轨迹点分别对应的运动信息,规划机器人向所述下一目标轨迹点运动的运动轨迹,其中,所述运动信息包括:轨迹点位置、速度和加速度。

第三方面,本发明实施例提供了一种机器人,包括:电机驱动器,还包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的运动轨迹规划方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例提供的运动轨迹规划方法。

在上述运动轨迹规划方法、装置、机器人及存储介质中,该方法首先上一目标轨迹点对应的上一运行时长和上一设定过渡时间;然后上一运行时长与上一设定过渡时间不同时,确定该上一目标轨迹点之后存在连续的下一目标轨迹点,由此根据上一目标轨迹点及下一目标轨迹点分别对应的运动信息,规划机器人向下一目标轨迹点运动的运动轨迹。上述技术方案,能够有效衔接机器人在连续轨迹点之间运动的运动轨迹,从而在保证低计算量和实时性的前提下有效保证了机器人在连续轨迹点之间运动时运动轨迹的平滑过渡,进而提高了机器人工作过程中的工作效率和稳定性。

附图说明

图1为本发明实施例一提供的一种运动轨迹规划方法的流程示意图;

图2a为本发明实施例二提供的一种运动轨迹规划方法的流程示意图;

图2b为基于本发明实施例二提供的运动轨迹规划方法实现的示例效果图

图3为本发明实施例三提供的一种运动轨迹规划装置的结构框图;

图4为本发明实施例四提供的一种机器人的硬件结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种运动轨迹规划方法的流程示意图,该方法适用于对机器人点对点操作时的运动轨迹进行规划的情况,该方法可以由运动轨迹规划装置执行,其中该装置可由软件和/或硬件实现,并一般集成在机器人上。

需要说明的是,本实施例的应用场景可以是在需要控制机器人(可以是工业机器人)完成从当前轨迹点到目标轨迹点的操作时,规划机器人点到点之间的运动轨迹,其中,机器人通常需要完成在多个相邻轨迹点之间连续操作,由此,需要规划能够控制机器人平滑衔接各轨迹点的运动轨迹段。本实施例提供的运动轨迹规划方法,可以实现轨迹点到轨迹点之间运动轨迹段的规划,从而控制机器人在各轨迹点之前平滑过渡。

如图1所示,本发明实施例一提供的一种运动轨迹规划方法,包括如下操作:

s101、获取上一目标轨迹点对应的上一运行时长和上一设定过渡时间。

在本实施例中,可以将需要机器人进行平滑过渡的多个轨迹点确定为一组连续轨迹点。一般地,在机器人的操作过程中,可以设定存在一组连续轨迹点或多组连续轨迹点,每组连续轨迹点中的一个轨迹点相当于一个目标轨迹点,当控制机器人完成一组连续轨迹点的运动操作后,机器人可以处于停止状态,直至控制进行下一组连续轨迹点的操作。

根据上述描述,可以将所述上一目标轨迹点具体理解为一组连续轨迹点中的已经在上一次规划操作时实现了运动轨迹段规划的目标轨迹点。在本实施例中,为目标轨迹点进行运动轨迹规划之前,已经预先为各组连续轨迹点中的每个目标轨迹点设定了相应的运行信息,基于各目标轨迹点的运动信息,可以确定机器人由一个目标轨迹点向另一目标轨迹点运动时的运行时长。此外,本实施例还预先为各组连续轨迹点中的每个目标轨迹点设置了对应的设定过渡时间,所述设定过渡时间具体可理解为机器人基于规划好的运动轨迹向相应的目标轨迹点运动过程中,触发启动进行下一次运动轨迹规划操作的时间。

在本实施例中,如果一个目标轨迹点为一组连续轨迹点中的末尾目标轨迹点,则优选设定其运行时长与设定过渡时间相同,此时相当于停止触发进行下一次运动轨迹的规划;对应其他目标轨迹点而言,其运行时长往往大于设定过渡时间。

可以理解的是,为便于区分各目标轨迹点对应的运行时长和设定过渡时间,本实施例将上一目标轨迹点的运行时长记为上一运动时长,将设定过渡时间记为上一设定过渡时间。此外,本实施例将机器人在设定过渡时间时对应的轨迹点确定过渡轨迹点,且本实施设定机器人在任意相邻两目标轨迹点之间运动的起始时间记为0。

s102、如果上一运行时长与上一设定过渡时间不同,则确定在上一目标轨迹点之后存在连续的下一目标轨迹点。

在本实施例中,上述s102及本步骤的操作,相当于进行运动轨迹规划前的一个预判定,以用于确定具体采用何种方式对下一次的运动轨迹进行规划。

具体地,本步骤可以将上述获取的上一运行时长与上一设定过渡时间进行比对,确定二者是否相同。如果二者不同,则可认为上一目标轨迹点不是一组连续轨迹点中的末尾目标轨迹点,即,可认为该上一目标轨迹点之后存在连续的下一目标轨迹点。

s103、根据上一目标轨迹点及下一目标轨迹点分别对应的运动信息,规划机器人向下一目标轨迹点运动的运动轨迹。

根据上述s102的判定结果,可以在确定上述目标轨迹点之后存在下一目标轨迹点时,基于本步骤的操作可以实现机器人向下一目标轨迹点运动时的运动轨迹规划。

基于上述描述,确定在进行运动轨迹规划之前,已经预先为各目标轨迹点设定了相应的运动信息。具体地,本实施例优选设定所述运动信息包括:轨迹点位置、速度和加速度。所述轨迹点位置可以表示机器人向目标轨迹点运动时的目标位移;所述速度相当于机器人运动到该目标轨迹点时具有的速度;所述加速度相当于机器人运动到该目标轨迹点时具有的加速度。

本实施例可以根据上一目标轨迹点对应的运动信息,以及下一目标轨迹点对应的运动信息,采用设定的多项式组并通过将二者的运动信息作为已知条件,实时确定机器人由当前所处轨迹点向下一目标轨迹点移动时的运动轨迹。可以理解的是,因为下一目标轨迹点和上一目标轨迹点属于同一组连续轨迹点,则可认为触发启动执行本步骤操作的时机为机器人在向上一目标轨迹点运动的时长达到了上一设定过渡时间。

需要说明的是,本实施例提供的运动轨迹规划操作,为一个循环迭代操作,可以基于上述步骤完成下一目标轨迹点所对应运动轨迹的规划后,将当前的下一目标轨迹点看作下一次迭代中的上一目标轨迹点,由此可进行新一轮运动轨迹的规划,直至上一目标轨迹点后不存在连续的下一目标轨迹点。

本发明实施例一提供的一种运动轨迹规划方法,首先上一目标轨迹点对应的上一运行时长和上一设定过渡时间;然后上一运行时长与上一设定过渡时间不同时,确定该上一目标轨迹点之后存在连续的下一目标轨迹点,由此根据上一目标轨迹点及下一目标轨迹点分别对应的运动信息,规划机器人向下一目标轨迹点运动的运动轨迹。利用该方法,能够有效衔接机器人在连续轨迹点之间运动的运动轨迹,从而在保证低计算量和实时性的前提下有效保证了机器人在连续轨迹点之间运动时运动轨迹的平滑过渡,进而提高了机器人工作过程中的工作效率和稳定性。

实施例二

图2a为本发明实施例二提供的一种运动轨迹规划方法的流程示意图。本发明实施例以上述实施例为基础进行优化,在本实施例,该方法还优化增加了:如果所述上一运行时长与所述上一设定过渡时间相同,则确定所述上一目标轨迹点后的下一目标轨迹点为一组新连续轨迹点中的首个目标轨迹点;根据所述机器人当前所处轨迹点的运动信息及所述首个目标轨迹点的运动信息,规划所述机器人向所述首个目标轨迹点运动的运动轨迹。

进一步地,本实施例将根据所述上一目标轨迹点及下一目标轨迹点分别对应的运动信息,规划机器人运动到所述下一目标轨迹点的运动轨迹,具体优化为:判定所述上一目标轨迹点以及所述下一目标轨迹点分别对应的运动信息是否相同;若相同,则基于第一轨迹规划策略规划所述机器人向所述下一目标轨迹点运动的运动轨迹;否则,基于第二轨迹规划策略规划所述机器人向所述下一目标轨迹点运动的运动轨迹。

如图2a所示,本发明实施例二提供的一种运动轨迹规划方法,具体包括如下操作:

s201、获取上一目标轨迹点对应的上一运行时长和上一设定过渡时间。

示例性地,可以在规划出机器人向上一目标轨迹点运动时所需的运动轨迹后,控制机器人基于所规划的运动轨迹进行操作且达到上一设定过渡时间时,获取上一目标轨迹点对应的上一运行时长和上一设定过渡时间。

s202、判定上一运行时长与上一设定过渡时间是否相同,若是,则执行s203;若否,则执行s205。

示例性地,可以通过本步骤对上一运行时长和上一设定过渡时间的大小进行判定,并可以在二者相同时执行s203的操作;以及在二者不同时,执行s205的操作。

s203、确定上一目标轨迹点后的下一目标轨迹点为一组新连续轨迹点中的首个目标轨迹点。

在本实施例中,当上一目标轨迹点的上一运行时长与上一设定过渡时间相等时,可认为上一目标轨迹点为一组连续轨迹点中的末尾目标轨迹点,即,可认为该上一目标轨迹点后不存在与之连续的下一目标轨迹点,此时可以停止进行运动轨迹的规划操作,直至出现机器人待执行的下一组连续轨迹点。

需要说明的是,本实施例不考虑机器人在两组连续轨迹点之间处于静止状态的时间,只考虑要需要对机器人的运动轨迹进行规划时,具体采用哪种方式进行运动轨迹规划,因此,本实施例可以在需要对机器人进行规划时,首先根据上一次所规划运动轨迹所对应上一目标轨迹点的上一运行时长和上一设定过渡时间,判定机器人将要达到的下一目标轨迹点是否与上一目标轨迹点属于同一组连续轨迹点。

即,当上一运行时长与上一设定过渡时间相同时,确定上一目标轨迹点与下一目标轨迹点不属于同一组连续轨迹点,由此可将下一目标轨迹点确定为一组新连续轨迹点的首个目标轨迹点。

s204、根据机器人当前所处轨迹点的运动信息及首个目标轨迹点的运动信息,规划机器人向首个目标轨迹点运动的运动轨迹。

基于上述s203可以确定待进行运动轨迹规划的下一目标轨迹点为一组新连续轨迹点中的首个目标轨迹点。由此需要采用本步骤的操作实现机器人向该首个目标轨迹点运动时的运动轨迹。

可以理解的是,在对一组新连续轨迹点进行运动轨迹规划之前,同样为其中的各目标轨迹点设置了相应的运动信息,同时还设置了对应的设定过渡时间,以用于后续对各目标轨迹点运动轨迹的规划。具体地,本步骤首先获取机器人当前所处轨迹点的运动信息,其中,本实施可以实时从电机驱动器获得机器人当前所在轨迹点的轨迹点位置、速度以及加速度,所述电机驱动器属于所述机器人的硬件结构,可以根据设定好的运动信息驱动机器人运动;然后可以将机器人当前所处轨迹点的运动信息及首个目标轨迹点的运动信息作为已知条件,由此实现首个目标轨迹点对应运动轨迹的规划。

进一步地,根据所述机器人当前所处轨迹点的运动信息及所述首个目标轨迹点的运动信息,规划所述机器人向所述首个目标轨迹点运动的运动轨迹,包括:确定所述首个目标轨迹点对应的首个运行时长;根据所述首个运行时长,所述机器人当前所处轨迹点的运行信息及所述首个目标轨迹点的运动信息作为已知条件代入设定多项式组,采用五次插值法确定所述机器人向所述首个目标轨迹点运动的运动轨迹。

在本实施例中,可以获取预先为首个目标轨迹点点设定的运动信息,且本实施例可以默认在向首个目标轨迹点运动之前,机器人处于静止状态,即速度和加速度均为0,由此首个目标轨迹点的运动信息,就可以确定该首个目标轨迹点的运行时长,并记为首个运行时长。本实施例中所述设定多项式组为一组以时间为变量的多项式集,该设定多项式组中包含了三个多项式函数,第一个为基于轨迹点位置与时间建立的多项式函数;第二个为基于速度与时间建立的多项式函数;第三个为基于加速度与时间建立的多项式函数,其中,该设定多项式组的多项式系数处于未知状态。

可以理解的是,本实施将首个运行时长、机器人当前所处轨迹点的运动信息以及首个目标轨迹点的运动信息作为已知条件代入上述设定多项式组,最终获得该设定多项式组中各多项式系数的当前取值,并记各多项式系数的当前取值组成了第三多项式系数集。

本实施可以基于第三多项式系数集确定一个已知多项式系数的设定多项式组,由此可以根据确定的设定多项式组确定从当前所处轨迹点到首个目标轨迹点内各时刻对应的轨迹点位置、速度及加速度,最终基于各时刻对应的运动信息,可以规划出一条连接当前所处轨迹点到首个目标轨迹点的弧线,由此实现了机器人向首个目标轨迹点运动时的运动轨迹的规划。

需要说明的是,上述设定多项式组中,所设定的最高多项式次数为5,因此,可将基于该设定多项式组进行运动轨迹规划的方式确定为五次插值法。

s205、确定在上一目标轨迹点之后存在连续的下一目标轨迹点。

本步骤接上述s202的判定操作,当上一运行时长与上一设定过渡时间不同时,可认下一目标轨迹点与上一目标轨迹点属于同一组连续轨迹点。在该种情况下,可以在机器人基于已规划的对应于上一目标轨迹点的运动轨迹进行运动操作,且运动时间达到上一设定过渡时间时,触发启动对机器人下一次的运动轨迹进行规划的操作。

s206、判定上一目标轨迹点以及下一目标轨迹点分别对应的运动信息是否相同,若是,则执行s207;若否,则执行s208。

在上述s205的情况下,并不能直接规划下一目标轨迹点对应的运动轨迹,而是需要基于本步骤判定下一目标轨迹点的运动信息是否与上一目标轨迹点的运动信息相同,并根据判定结果执行不同的操作。

s207、基于第一轨迹规划策略规划机器人向下一目标轨迹点运动的运动轨迹。

基于s206确定两目标轨迹点的运动信息相同时,可以基于本步骤实现下一目标轨迹点所对应运动轨迹的规划操作。

分析可知,若二者的运动信息相同,则可认为上一目标轨迹点与下一目标轨迹点属于同一位置,表示机器人由上一目标轨迹点向下一目标轨迹点移动时机器人的移动关节没有位移变化。可以知道的是,触发启动运动轨迹规划时,机器人当前所处轨迹点相当于上一目标轨迹点的上一过渡轨迹点,此时机器人距离下一目标轨迹点的距离很短,如果当前仍采用与上述s204相同的规划操作,则可认为当前的运行时长为预先设定的时长,若该时长过长,则得到的由上一过渡轨迹点到下一目标轨迹点的弧线会较弯曲,导致规划的运动轨迹有较长的冗余,会出现机器人移动超出下一目标轨迹点较大的位移之后又回到下一目标轨迹点的情况,其中,本步骤中的下一目标轨迹点同样相当于上一目标轨迹点。

由此本实施例具体提出了下述操作方式进行运动轨迹规划。

具体地,所述基于第一轨迹规划策略规划所述机器人向所述下一目标轨迹点运动的运动轨迹,包括:根据所述上一运行时长与所述上一设定过渡时间,确定所述机器人距离所述上一目标轨迹点的剩余时长;将所述剩余时长、所述机器人当前所处轨迹点的运动信息及所述下一目标轨迹点的运动信息作为已知条件代入设定多项式组,确定所述设定多项式组的第一多项式系数集,其中,所述当前所处轨迹点为所述上一目标轨迹点对应的上一过渡轨迹点;根据已知所述第一多项式系数集的设定多项式组,采用五次插值法规划所述机器人在所述剩余时长内的运动轨迹;将所述运动轨迹及下一设定过渡时间内的静止轨迹,确定为所述机器人向所述下一目标轨迹点运动的运动轨迹。

在本实施例中,仅确定机器人当前距离上一目标轨迹点的剩余时长,即上一运动时长与上一设定过渡时间之差;之后,将剩余时长、机器人当前在上一过渡轨迹点时的运动信息以及下一目标轨迹点的运动信息(同样相当于上一目标轨迹点的运动信息)作为已知条件代入设定多项式组。

其中,该设定多项式组与上述s204中的设定多项式组为同一个多项式组,此时,该设定多项式组的多项式系数仍处于未知状态,经过计算后,可确定当前对应的第一多项式系数集,并由此确定已知多项式系数的设定多项式组,从而获得上一过渡轨迹点到上一目标轨迹点之间各时刻的运动信息,进而形成一条新的由上一过渡轨迹点到上一目标轨迹点的弧线,作为机器人在剩余时长内的运动轨迹。

在上述运动轨迹的基础上,机器人达到上一目标轨迹点(同样为下一目标轨迹点)后,优选设置机器人在下一目标轨迹点对应的下一设定过渡时间内处于静止状态,即,从下目标轨迹点的起始时刻到下一设定过渡时间内,机器人的形成了静止轨迹,本实施例将所获得剩余时间内的运动轨迹及后续的静止轨迹确定为本步骤为下一目标轨迹点规划的运动轨迹对应的运动轨迹。

s208、基于第二轨迹规划策略规划机器人向下一目标轨迹点运动的运动轨迹。

基于s206确定两目标轨迹点的运动信息不同时,可以基于本步骤实现下一目标轨迹点所对应运动轨迹的规划操作。分析可知,触发启动运动轨迹规划时,机器人当前所处轨迹点同样相当于上一目标轨迹点的上一过渡轨迹点,此时,可以忽略为机器人规划的到上一目标轨迹点时的余下运动轨迹,因此,本步骤重点规划机器人从上一过渡轨迹点运动到下一目标轨迹点的运动轨迹。

具体地,所述基于第二轨迹规划策略规划所述机器人向所述下一目标轨迹点运动的运动轨迹,包括:确定所述机器人由当前所处轨迹点运动到所述下一目标轨迹点的待运行时长,其中,所述当前所处轨迹点为所述上一目标轨迹点对应的上一过渡轨迹点;将所述待运行时长、所述上一过渡轨迹点的运动信息及所述下一过渡轨迹点的运动信息作为已知条件代入设定多项式组,确定所述设定多项式组的第二多项式系数集;根据已知所述第二多项式系数集的设定多项式组,采用五次插值法确定所述机器人向所述下一目标轨迹点运动的运动轨迹。

在本实施例中,可以根据机器人当前在上一过渡轨迹点的运动信息(可以通过电机驱动器实时获取)及下一目标轨迹点的运动信息,确定了本步骤中的待运行时长,由此同样可规划出下一目标轨迹点对应的运动轨迹。

在上述实施例的基础上,所述设定多项式组表示为:

其中,ki表示所述设定多项式组的第i个多项式系数,i取0,1,2,...,5;q(t)表示机器人向任一目标轨迹点运动过程中t时刻的轨迹点位置;v(t)表示向任一目标轨迹点运动过程中t时刻的速度值;a(t)表示机器人向任一目标轨迹点运动过程中t时刻的加速度值。

在本实施例中,上述s204、s207以及s208中实现运动轨迹的规划时,均出现了设定多项式组,可知上述3个步骤中的设定多项式组为同一组多项式函数,即为上述给出的公式表述。可以发现,通过上述具有位置多项式系数的设定多项式组,通过上述各步骤中给出的已知条件,可以分别计算出上述各步骤下对应的多项式系数集,并由此确定出各自对应的已知多项式系数的一组多项数函数,从而可以确定上述各步骤所对应各时刻的运动信息,进而规划出上述各步骤下的运动轨迹。

上述给出的一组多项式函数中,其最高多项式次数为5,由此确定本实施例采用了五次插值法进行运动轨迹规划。

图2b为基于本发明实施例二提供的运动轨迹规划方法实现的示例效果图。需要说明的是,图2b中的效果图对应的应用场景为:控制机器人实现在一组连续轨迹点中的操作,其中,该组连续轨迹点中包含3个目标轨迹点,3个目标轨迹点的运动信息分别表示为(q1,v1,a1)、(q2,v2,a2)以及(q3,v3,a3);基于上述运动信息,可以确定两目标轨迹点之间的运行时长,其运行时长分别表示为t1、t2以及t3;同时,设定3个目标轨迹点的设定过渡时间为tm1、tm2以及tm3。

由此基于上述已知信息,通过本实施例提供的运动轨迹规划方法,可以得到图2b所示的各目标轨迹点对应的运动轨迹,其中,x轴表示机器人的执行时间,y轴表示位移。具体地,可以对第1目标轨迹点之前的上一目标轨迹点(为上一组连续轨迹点中的末尾目标轨迹点)进行信息获取,确定出上一运行时长与上一设定过渡时间相同后,确定第1目标轨迹点为首个目标轨迹点,将机器人当前所处轨迹点的运动信息表示为(q0,v0,a0),确定运行时长t=t1,则基于上述s204给出的运动轨迹规划方式,可以确定第三多项式系数集表示为:k0=q0;k1=v0;k2=a0/2;

基于上述第三多项式系数集,由此规划出图2b中第1目标轨迹点对应的第一运动轨迹21,该第一运动轨迹21从(q0,v0,a0)开始,至第1目标轨迹点对应的第1过渡轨迹点(运动信息表示为(qm1,vm1,am1))结束。

之后,基于s206确定第2目标轨迹点与第1目标轨迹点具有相同的信息,进而基于s207规划出第2目标轨迹点对应的第二运动轨迹点22,该第二运动轨迹点22从(qm1,vm1,am1)开始,至第2目标轨迹点(同样为第1目标轨迹点)对应的第2过渡轨迹点(运动信息表示为(qm2,vm2,am2))结束,其中,还可以发现,第二运动轨迹点22分为两部分,在(q1,v1,a1)至(qm2,vm2,am2)的时间内,机器人的移动关节处于静止状态;最终,基于s208规划出第3目标轨迹点对应的第三运动轨迹点23,该第三运动轨迹点23从(qm2,vm2,am2)开始,至第3目标轨迹点(q3,v3,a3)结束。由图2b可知,基于本实施例提供的运动轨迹规划方法,实现了机器人各目标轨迹点之间的平滑过渡。

本发明实施例三提供的一种运动轨迹规划方法,具体增加了一组新连续轨迹点中首个目标轨迹点对应的运动轨迹规划操作,同时具体化了非首个目标轨迹点对应的运动轨迹的规划操作。利用该方法,能够实现对一组连续轨迹点的运动轨迹规划,由此在保证低计算量和实时性的前提下有效保证机器人在连续轨迹点之间运动时运动轨迹的平滑过渡,从而提高了机器人工作过程中的工作效率和稳定性。

实施例三

图3为本发明实施例三提供的一种运动轨迹规划装置的结构框图。该装置适用于对机器人点对点操作时的运动轨迹进行规划的情况,该装置可由软件和/或硬件实现,并一般集成在机器人上。如图3所示,该装置包括:信息获取模块31、第一确定模块32以及第一规划模块33。

其中,信息获取模块31,用于获取上一目标轨迹点对应的上一运行时长和上一设定过渡时间;

第一确定模块32,用于当所述上一运行时长与所述上一设定过渡时间不同时,确定在所述上一目标轨迹点之后存在连续的下一目标轨迹点;

第一规划模块33,用于根据所述上一目标轨迹点及下一目标轨迹点分别对应的运动信息,规划机器人向所述下一目标轨迹点运动的运动轨迹,其中,所述运动信息包括:轨迹点位置、速度和加速度。

在本实施例中,该装置首先通过信息获取模块31获取上一目标轨迹点对应的上一运行时长和上一设定过渡时间;然后通过第一确定模块32当上一运行时长与上一设定过渡时间不同时,确定在上一目标轨迹点之后存在连续的下一目标轨迹点;最终可通过第一规划模块33根据上一目标轨迹点及下一目标轨迹点分别对应的运动信息,规划机器人向下一目标轨迹点运动时的运动轨迹。

本发明实施例三提供的一种运动轨迹规划装置,能够有效衔接机器人在连续轨迹点之间运动的运动轨迹,从而在保证低计算量和实时性的前提下有效保证了机器人在连续轨迹点之间运动时运动轨迹的平滑过渡,进而提高了机器人工作过程中的工作效率和稳定性。

进一步地,该装置还包括了:第二确定模块34和第二规划模块35,

其中,第二确定模块34,用于当所述上一运行时长与所述上一设定过渡时间相同时,确定所述上一目标轨迹点后的下一目标轨迹点为一组新连续轨迹点中的首个目标轨迹点;

第二规划模块35,用于根据所述机器人当前所处轨迹点的运动信息及所述首个目标轨迹点的运动信息,规划所述机器人向所述首个目标轨迹点运动的运动轨迹。

进一步地,第一规划模块33,包括:

规划判定单元,用于判定所述上一目标轨迹点以及所述下一目标轨迹点分别对应的运动信息是否相同;

第一执行单元,用于当在所述运动信息相同时,基于第一轨迹规划策略规划所述机器人运动到所述下一目标轨迹点的运动轨迹;

第二执行单元,用于当在所述运动信息不同时,基于第二轨迹规划策略规划所述机器人运动到所述下一目标轨迹点的运动轨迹。

在上述优化的基础上,第一执行单元,具体可用于:

当在所述运动信息相同时,根据所述上一运行时长与所述上一设定过渡时间,确定所述机器人距离所述上一目标轨迹点的剩余时长;将所述剩余时长、所述机器人当前所处轨迹点的运动信息及所述下一目标轨迹点的运动信息作为已知条件代入设定多项式组,确定所述设定多项式组的第一多项式系数集,其中,所述当前所处轨迹点为所述上一目标轨迹点对应的上一过渡轨迹点;根据已知所述第一多项式系数集的设定多项式组,规划所述机器人在所述剩余时长内的运动轨迹;将所述运动轨迹及下一设定过渡时间内的静止轨迹,采用五次插值法确定所述机器人运动到所述下一目标轨迹点的运动轨迹。

进一步地,第二执行单元,具体可用于:

当在所述运动信息不同时,确定所述机器人由当前所处轨迹点运动到所述下一目标轨迹点的待运行时长,其中,所述当前所处轨迹点为所述上一目标轨迹点对应的上一过渡轨迹点;将所述待运行时长、所述上一过渡轨迹点的运动信息及所述下一过渡轨迹点的运动信息作为已知条件代入设定多项式组,确定所述设定多项式组的第二多项式系数集;根据已知所述第二多项式系数集的设定多项式组,采用五次插值法确定所述机器人运动到所述下一目标轨迹点的运动轨迹。

在上述优化的基础上,第二规划模块35,具体可用于:

确定所述首个目标轨迹点对应的首个运行时长;根据所述首个运行时长,所述机器人当前所处轨迹点的运行信息及所述首个目标轨迹点的运动信息作为已知条件代入设定多项式组,确定所述设定多项式组的第三多项式系数集;根据已知所述第三多项式系数集的设定多项式组,采用五次插值法确定所述机器人向所述首个目标轨迹点运动的运动轨迹。

进一步地,所述设定多项式组表示为:

其中,ki表示所述设定多项式组的第i个多项式系数,i取0,1,2,...,5;q(t)表示机器人向任一目标轨迹点运动过程中t时刻的轨迹点位置;v(t)表示向任一目标轨迹点运动过程中t时刻的速度值;a(t)表示机器人向任一目标轨迹点运动过程中t时刻的加速度值。

实施例四

本发明实施例四提供了一种机器人,图4为本发明实施例四提供的一种机器人的硬件结构示意图,如图4所示,该机器人包括:电机驱动器40,还包括:处理器41和存储装置42,该机器人中的处理器可以是一个或多个,图4中以一个处理器41为例;此外,处理器和存储装置可以通过总线或其他方式连接,同时,电机驱动器也可以通过总线或其他方式与处理器及存储装置连接,图4中以通过总线连接为例。

该机器人中的存储装置42作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例提供的运动轨迹规划装置中对应的程序指令/模块(例如,附图3所示的模块,包括:信息获取模块31、第一确定模块32以及第一规划模块33,还包括了第二确定模块34和第二规划模块35)。处理器41通过运行存储在存储装置42中的软件程序、指令以及模块,从而执行机器人的各种功能应用以及数据处理,即实现上述方法实施例中运动轨迹规划方法。

存储装置42可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储装置42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

并且,当上述机器人所包括一个或者多个程序被所述一个或者多个处理器41执行时,其中一个程序可以进行如下操作:

获取上一目标轨迹点对应的上一运行时长和上一设定过渡时间;如果所述上一运行时长与所述上一设定过渡时间不同,则确定在所述上一目标轨迹点之后存在连续的下一目标轨迹点;根据所述上一目标轨迹点及下一目标轨迹点分别对应的运动信息,规划机器人向所述下一目标轨迹点运动的运动轨迹,其中,所述运动信息包括:轨迹点位置、速度和加速度。

此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例一和实施例二提供的运动轨迹规划方法,其中,上述实施例一供的方法包括:获取上一目标轨迹点对应的上一运行时长和上一设定过渡时间;如果所述上一运行时长与所述上一设定过渡时间不同,则确定在所述上一目标轨迹点之后存在连续的下一目标轨迹点;根据所述上一目标轨迹点及下一目标轨迹点分别对应的运动信息,规划机器人向所述下一目标轨迹点运动的运动轨迹,其中,所述运动信息包括:轨迹点位置、速度和加速度。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述运动轨迹规划装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

需要说明的是,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1