CN108513636A - 机器人运动控制方法及相关装置 - Google Patents

机器人运动控制方法及相关装置 Download PDF

Info

Publication number
CN108513636A
CN108513636A CN201680037943.9A CN201680037943A CN108513636A CN 108513636 A CN108513636 A CN 108513636A CN 201680037943 A CN201680037943 A CN 201680037943A CN 108513636 A CN108513636 A CN 108513636A
Authority
CN
China
Prior art keywords
point
time
bezier curve
robot
curve
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.)
Granted
Application number
CN201680037943.9A
Other languages
English (en)
Other versions
CN108513636B (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.)
Shenzhen A&E Intelligent Technology Institute Co Ltd
Original Assignee
Shenzhen A&E Intelligent Technology Institute 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 Shenzhen A&E Intelligent Technology Institute Co Ltd filed Critical Shenzhen A&E Intelligent Technology Institute Co Ltd
Publication of CN108513636A publication Critical patent/CN108513636A/zh
Application granted granted Critical
Publication of CN108513636B publication Critical patent/CN108513636B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot

Abstract

一种机器人运动控制方法及相关装置,使用关于路径的三阶Bezier曲线作为机器人从前段轨迹运动至后段轨迹的平滑轨迹,并且使用关于时间的三阶Bezier曲线对运动速度进行规划,规划的速度用于确定每个控制周期内机器人需运动至的位置点,各个位置点组成上述平滑轨迹,本申请的控制精准度较高且应用范围较广。

Description

机器人运动控制方法及相关装置 技术领域
本发明涉及运动控制领域,更具体地说,涉及机器人运动控制技术。
背景技术
机器人的运动,是按照预先规划的轨迹进行的。规划的运动轨迹,可以分解为多段,见图1a,一段运动轨迹包含lc及ln两段,机器人需要从轨迹lc运动到轨迹ln上,轨迹lc可以称为前段轨迹,ln可以称为后段轨迹。
两段轨迹的过渡方式可以是尖角转接,如图1a所示,机器人运动到轨迹lc的末端(点O处)后,速度降为0,然后再以一定的速度在轨迹ln上运动。该种过渡方式中,单段轨迹(lc或ln)上的初速度和末速度均为0,会大大降低机器人的工作效率,且频繁的加减速运动也会对电机及减速器的使用寿命产生影响。
为了解决以上问题,可以在两端轨迹之间使用平滑转接方式。即在两段轨迹之间规划平滑曲线,机器人以平滑曲线方式从一段轨迹过渡到另一段轨迹时,速度不为0。目前规划平滑曲线的方法有矢量加减法及圆弧转接法。
见图1b,矢量加减法是通过空间向量加法,使前段轨迹lc从拐点到交点O的插补点,与后段轨迹ln从拐点到交点O的插补点重合,被叠加后的插补点会组成空间的一段弧形,使轨迹平滑。但是,该种叠加的平滑轨迹是不确定的,会随着前后两段轨迹速度的变化而变化,精准度较低。
见图1c,圆弧转接法中,确定前段轨迹lc的拐出点A及后段轨迹ln上的拐出点B,求经过拐出点及拐入点的前后两段轨迹的公切圆,该公切圆上由拐出点及拐入点组成的圆弧AB为平滑转接轨迹。但是,该种方式的应用范围较小,只有在两段轨迹需均为直线的情况下肯定适用。但机器人的运动轨迹除了包含直线与直线转接,还包含直线与圆弧转接、圆弧与圆弧转接。在后两种转接中,由于直线与圆弧、圆弧与圆弧不一定共面,因此,并不一定能找到公切圆,从而导致该方式并不能适用。
因此,需要为机器人规划一种过渡的平滑轨迹,并使机器人可以速度不为0地通过该平滑轨迹。
发明内容
有鉴于此,本发明提供了一种机器人运动控制方法,用于控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动。
本申请提供如下技术方案:
一方面,本申请提供了一种机器人运动控制方法,用于控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动,所述控制方法用于在多个控制周期中的每个控制周期内确定机器人需运动至的位置点,其中每个控制周期内包括以下步骤:
确定从首个控制周期到当前控制周期的时长值;使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。
在一个可能的设计中,所述构建关于时间的三阶Bezier曲线的方法包括:
依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3;依据所述时间特征点T0、T1、T2及T3,构建的关于时间的三阶Bezier曲线的表达式为:T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3,其中,u为Bezier参数且u∈[0,1],T(u)表示沿着所述关于路径的三阶Bezier曲线表示的平滑轨迹运动所需的时长。
在一个可能的设计中,所述依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3,包括:
确定时间特征点T0为0;将位置特征点P0、位置特征点P1及速度υs代入表达式求解时间特征点T1,其中,所述速度υs为预先设置的机器人在所述平滑轨迹的起始点的速度;将位置特征点P2、位置特征点P3及速度υf代入表达式求解时间特征点T3与时间特征点T2的差值T3-2,其中,所述速度υf为预先设置的机器人在所述平滑轨迹的终止点的速度;依据所述差值T3-2,确定T2及T3
在一个可能的设计中,所述依据所述差值T3-2,确定T2及T3,包括:
获取预先设置的时间特征点T3,将所述时间特征点T3减去所述差值T3-2,获得时间特征点T2
在一个可能的设计中,所述依据所述差值T3-2,确定T2及T3,包括:
将位置特征点P1、位置特征点P2、速度υs、速度υf及时间特征点T1代入表达式求解时间特征点T2
将所述时间特征点T2加上所述差值T3-2,获得时间特征点T3
在一个可能的设计中,所述关于路径的三阶Bezier曲线作为机器人从前段轨迹运动到后段轨迹的平滑轨迹,所述关于路径的三阶Bezier曲线的构建步骤包括:
根据所述前段轨迹及所述后段轨迹确定三阶Bezier曲线的位置特征点,根据所述位置特征点,构建关于路径的三阶Bezier曲线;其中,所述位置特征点中包含起始点及终止点,所述前段轨迹具有拐出点,所述后段轨迹具有拐入点,且所述起始点与所述拐出点重合,所述终止点与所述拐入点重合,所述起始点的切矢量方向与所述拐出点的切矢量方向相同,所述终止点的切矢量方向与所述拐入点的切矢量方向相同。
另一方面,本申请提供了一种机器人运动控制装置,该装置具有实现上述方法中机器人运动控制行为的功能。所述功能可以通过硬件实现,也可以 通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,机器人运动控制装置包括通信接口、处理器以及存储器,所述通信接口与驱动装置相连,所述存储器中存储有安装于该机器人运动控制装置中的程序代码以及数据,所述处理器用于调用所述存储器中的程序代码以及数据以确定机器人在多个控制周期中的每个控制周期内所需运动至的位置点,具体执行以下步骤:
确定从首个控制周期到当前控制周期的时长值;
使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;
将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;
通过所述通信接口向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。
再一方面,本发明实施例提供了一种机器人,其包括上述的机器人运动控制装置,以及驱动所述机器人移动至所述位置坐标值表示的位置点的驱动装置。
相较于现有技术,本申请使用关于路径的三阶Bezier曲线作为机器人从前段轨迹运动至后段轨迹的平滑轨迹,并且使用关于时间的三阶Bezier曲线对运动速度进行规划,规划的速度用于确定每个控制周期内机器人需运动至的位置点,各个位置点组成上述平滑轨迹,本申请的控制精准度较高且应用范围较广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为机器人运动轨迹的一种示意图;
图1b为现有技术中矢量加减法进行路径规划的示意图;
图1c为现有技术中圆弧转接法进行路径规划的示意图;
图2为本申请提供的关于路径的三阶Bezier曲线的示意图;
图3为本申请提供的控制机器人沿三阶Bezier曲线运动的示意图;
图4为本申请提供的机器人运动控制方法的一个流程图;
图5为本申请提供的机器人运动控制装置的一个结构示意图;
图6为本申请提供的机器人运动控制装置的另一结构示意图;
图7为本申请提供的机器人运动控制装置的硬件结构示意图。
具体实施方式
本发明可能使用的技术名词、简写或缩写如下:
TCP点:工具坐标中心点;
直线运动:机器人TCP点在笛卡尔空间内沿直线轨迹运动;
圆弧运动:机器人TCP点在笛卡尔空间内沿圆弧轨迹运动;
CP:连续运动,笛卡尔空间下的轨迹运动方式,包括直线运动和圆弧运动;
PTP:点到点运动,关节空间下的轨迹运动方式;
Bezier(贝塞尔)曲线,是由线段及节点组成的曲线,可以使用阶来表示不同形态的贝塞尔曲线。
n阶Bezier曲线的公式为:其中bi,n(t)为Bernstein基函数,P0-Pn可以称为Bezier曲线的特征点或控制点,特征点可以用来定义Bezier曲线,特征点组成的多边形称为特征多边形。t=0对应Beizer曲线的起始点P0,t=1对应Beizer曲线的终止点Pn
根据以上n阶Bezier曲线的通用公式可知三阶Bezier曲线的公式,即将n=3代入公式得出三阶Bezier曲线为:
B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]。
如图2所示的三阶Bezier曲线P0P3,其中,P0、P1、P2及P3四个点可定义该Bezier曲线。该曲线起始于P0走向P1,从P1方向到P2,并从P2方向到P3。需要说明的是,一般三阶Bezier曲线不经过P1、P2,这两个点只提供方向而已。
对Bezier曲线求导,便可获得Bezier曲线在始末点的切矢量为则:
当t=0时,B′(0)=n(P1-P0),B′(0)即为n阶Bezier曲线在起始点的切矢量;
当t=1时,B′(1)=n(Pn-Pn-1),B′(1)即为n阶Bezier曲线在终止点的切矢量。
其中,切矢量即切线方向,由上述切矢量可知,n阶Bezier曲线在起始点和终止点处的切线方向和特征多边形的第一条边及最后一条边走向一致。以图2所示三阶Bezier曲线为例,B′(0)=3(P1-P0),B′(1)=3(P3-P2),而图2的第一条边是P1P0,最后一条边是P3P2
本申请使用Bezier曲线作为转接两段轨迹的平滑轨迹。机器人从前段轨迹通过Bezier曲线过渡到后段轨迹上,且过渡运动的速度不为0。
本申请中,将三阶Bezier曲线作为平滑轨迹,当然,平滑轨迹还可以使用其他阶数的Bezier曲线。以三阶Bezier曲线为例,介绍三阶Bezier曲线的构建方式,需要说明的是,此处的三阶Bezier曲线可以称为关于路径的三阶Bezier曲线,以便与下文关于时间的三阶Bezier曲线区分。
根据前段轨迹及后段轨迹确定三阶Bezier曲线的位置特征点,根据确定出的位置特征点,构建三阶Bezier曲线作为平滑轨迹。其中,位置特征点中包含起始点及终止点。
可以理解的是,如图2所示,运动过程中,机器人在前段轨迹lc的末端及后段轨迹ln的初端会脱离原来的轨迹,因此,在前端轨迹lc的末端有拐出点A,在后段轨迹ln的初端有拐入点B。
在构建关于路径的三阶Bezier曲线时,需要保证Bezier曲线的起始点与前段轨迹的拐出点重合,Bezier曲线的终止点与后段轨迹的拐入点重合,且Bezier曲线在起始点的切矢量方向与前段轨迹在拐出点的切矢量方向相同、 Bezier曲线在终止点的切矢量方向与后段轨迹在拐入点的切矢量方向相同。
以上构建的关于路径的三阶Bezier曲线可以作为转接前段轨迹及后段轨迹的平滑轨迹。
本申请提供了一种机器人运动控制方法,该方法用于控制机器人按照上述关于路径的三阶Bezier曲线表示的平滑轨迹进行运动。控制方法用于在多个控制周期(也可以称为插补周期)中的每个控制周期内确定机器人需运动至的位置点,如图3所示,三阶Bezier曲线表示的平滑轨迹上的各个小圆点,表示的是各个控制周期内机器人运动到的位置点。
如图4所示,在每个控制周期执行以下步骤S41~S41。
步骤S41:确定从首个控制周期到当前控制周期的时长值。
其中,时长值为从首个控制周期到当前控制周期的时间长度,例如控制周期为1毫秒,当前控制周期为第81个控制周期,则从首个控制周期到当前控制周期的时长值为0.08s。
步骤S42:使用关于时间的三阶Bezier曲线的表达式,求解时长值对应的Bezier参数的值。
其中,关于时间的三阶Bezier曲线的表达式为预先构建的,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的关系。
构建的关于时间的三阶Bezier曲线的表达式为:
T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3
其中,T(u)表示沿着所述关于路径的三阶Bezier曲线表示的平滑轨迹运动所需的时长,T0、T1、T2及T3为所述关于时间的三阶Bezier曲线的时间特征点,在已构建的上述表达式中,时间特征点T0、T1、T2及T3为已知值,关于如何确定四个时间特征点的值请见下文,此处并不赘述。
将步骤S41确定的时长值作为T(u)代入已构建的上述表达式中,可求得时长值对应的Bezier参数u的值,Bezier参数可简称为参数。需要说明的是,求解到的Bezier参数u有三个,由于u∈[0,1],因此将属于[0,1]范围内的值确定为Bezier参数u的值。
步骤S43:将Bezier参数的值代入关于路径的三阶Bezier曲线的表达式中,获得位置坐标值。
其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的关系,表达式为:
P(u)=P0(1-u)3+3P1u(1-u)2+3P2u2(1-u)+P3u3
其中,P(u)表示关于路径的三阶Bezier曲线中的位置坐标,P0、P1、P2及P3为关于路径的三阶Bezier曲线的位置特征点,在已构建的上述表达式中,P0、P1、P2及P3均为已知值。
需要说明的是,关于路径的三阶Bezier曲线与关于时间的三阶Bezier曲线是具有关联关系的,两个表达式中的Bezier参数u为相同值。因此,将步骤S42中根据关于时间的三阶Bezier曲线求解到的Bezier参数u的值代入上述关于路径的三阶Bezier曲线的表达式,便可求解出P(u)。
步骤S44:向驱动装置发送位置坐标值,以使驱动装置将机器人移动至位置坐标值表示的位置点。
其中,机器人中设置驱动装置(如驱动控制器等),以控制机器人的移动旋转等动作。向驱动装置发送步骤S43求解到的位置坐标值P(u),驱动装置根据位置坐标值生成相应的移动命令,并向机械臂等运动部件发送该移动命令,以控制机器人移动至该位置坐标值所表示的位置点。如图3所示,若当前控制周期为首个控制周期,则控制机器人移动至第一个小圆点处,若当前控制周期为第二个控制周期,则控制机器人移动至第二个小圆点处,以此类推,在最后一个控制周期,控制机器人移动至平滑轨迹的终点。
以上机器人运动控制方法中,使用关于路径的三阶Bezier曲线作为机器人从前段轨迹运动至后段轨迹的平滑轨迹,并且使用关于时间的三阶Bezier曲线对运动速度进行规划,规划的速度用于确定每个控制周期内机器人需运动至的位置点,各个位置点组成上述平滑轨迹。
在本申请中,机器人可以速度不为0地从前段轨迹转接至后段轨迹,该转接轨迹为关于路径的三阶Bezier曲线,由于曲线的构建并不需要依赖机器人在前后两段轨迹上的速度,因此,可以避免矢量加减法构建的平滑轨迹精准度较低的问题。并且,该曲线并非确定前段轨迹与后段轨迹的公切圆,可以解决适用性较小的问题,本申请可以应用在各种形状的轨迹转接场景中,应用范围较广。
构建平滑轨迹后,需要控制机器人按照该平滑轨迹运动。控制过程中包括速度规划过程,速度规划过程即确定机器人以怎样的速度通过该平滑轨迹。
可以理解的是,速度与时间及路径是有关联关系的,规划的速度需要转化为路径上的位置点,控制机器人在一定时间内移动至该位置点,便可以体现出机器人是按照规划的速度运动。因此,以上图4所示的机器人运动控制方法中,为每个控制周期确定所需运动到的位置点,从整个运动过程来看,机器人是按照一定的速度运动的。
目前的速度规划方案有S型速度规划及T型速度规划,该两种速度规划方案中已知路径长度及始末速度,对目标速度或目标时间进行速度规划。该两种速度规划方案中,需要保证等差参数对应等差路径长度,因此,只能适用于直线或者圆弧。
然而,本申请使用Bezier曲线作为平滑轨迹,Bezier曲线为参数曲线,路径长度无法精确计算,只能通过数值积分计算得出,且由于路径点稀疏密集程度不同,等差参数不一定对应等差路径长度,因此,现有的速度规划方案并不能精确地对Bezier曲线进行速度规划。
对此,本申请针对关于路径的三阶Bezier曲线,确定相对应的速度规划方案,即在Bezier曲线坐标维度的基础上,增加时间维度。通过控制时间维度上的时间特征点,来控制机器人满足预先设置的始末速度,这样,速度规划的插补周期与Bezier曲线的参数一一对应,并且,Bezier曲线的每个点都是通过时间来控制速度变化,从而达到始末速度连续的目的。
其中,增加时间维度的Bezier曲线可以为上述关于时间的三阶Bezier曲线的表达式,即:
T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3
可以理解的是,该表达式中Bezier参数u为变量,但需确定出时间控制点T0、T1、T2及T3的值。确定出该四个时间特征点后,代入上述表达式便可以构建出关于时间的三阶Bezier曲线。
以下介绍如何确定该四个时间特征点的值。
其中,依据关于路径的三阶Bezier曲线的位置特征点(P0、P1、P2及P3)、 预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3
具体地,可以将时间特征点T0确定为0。
将位置特征点P0、位置特征点P1及速度υs代入表达式求解时间特征点T1,其中,所述速度υs为预先设置的机器人在所述平滑轨迹的起始点的速度,起始点即位置特征点P0
将位置特征点P2、位置特征点P3及速度υf代入表达式求解时间特征点T3与时间特征点T2的差值T3-2,其中,所述速度υf为预先设置的机器人在所述平滑轨迹的终止点的速度,终止点为位置特征点P3
依据所述差值T3-2,确定T2及T3
需要说明的是,以上根据位置特征点及预先设置的始末速度,可以精确地计算出T0及T1。至于T2及T3,可以计算出T3与T2的差值T3-2,因此,只需要T3与T2的差值满足T3-2即可,也就是说满足两者之间的差值为T3-2的任意T3与T2的值均可以。本申请可以提供以下两种确定方式,需要说明的是,并不局限于以下两种。
在一个具体示例中,可以预先设置时间特征点T3的值,该值表示经过该平滑轨迹的总时长,将所述时间特征点T3减去所述差值T3-2,获得时间特征点T2
在另一具体示例中,可以将位置特征点P1、位置特征点P2、速度υs、速度υf及时间特征点T1代入表达式求解时间特征点T2;将所述时间特征点T2加上所述差值T3-2,获得时间特征点T3
其中,表达式的获得方式为:
分别对关于路径的三阶Bezier曲线的表达式 P(u)=P0(1-u)3+3P1u(1-u)2+3P2u2(1-u)+P3u3在起始点P0及终止点P3处求导,获得P'(0)=-3P0+3P1及P'(1)=-3P2+3P3
分别对关于时间的三阶Bezier曲线的表达式T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3在起始点P0及终止点P3处求导,获得T'(0)=-3T0+3T1及T'(1)=-3T2+3T3
其中,u=0对应的是起始点P0,u=1对应的是终止点P3
根据P'(0)=-3P0+3P1及T'(0)=-3T0+3T1可以得出有关起始点处速度的以下表达式:
根据P'(1)=-3P2+3P3及T'(1)=-3T2+3T3可以得出有关终止点处速度的以下表达式:
其中,T3-T2可以表示为T3-2
设T0为0,根据以上两个表达式可以得出表达式
另外,若设以上表达式可以写为:进一步地,可以将写为
以上推导过程中,使用Bezier曲线的一阶导公式推导出时间特征点对于始末速度的影响,再由始末速度及特征点空间关系推导出每个位置特征点上的时间。
见图5,其示出了本申请提供的机器人运动控制装置的结构。
机器人运动控制装置应用于机器人中,具体可为机器人的控制器或处理器,用于控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动,所述控制装置在每个控制周期内确定机器人需运动至的位置点。
其中,如图5所示,所述控制装置具体包括:
时长值确定单元51,用于确定从首个控制周期到当前控制周期的时长值;
参数值确定单元52,用于使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;
坐标值确定单元53,用于将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;
移动至坐标值单元54,用于向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。
见图6,其示出了本申请提供的机器人运动控制装置的另一种结构。该控制装置在上述图5所示的控制装置的基础上,还可以包括:时间曲线构建单元55及路径曲线构建单元56。需要说明的是,图6中的部件51~54可以参见上述说明,此处并不赘述。
时间曲线构建单元55,用于构建关于时间的三阶Bezier曲线;
路径曲线构建单元56,用于构建关于路径的三阶Bezier曲线,所述关于路径的三阶Bezier曲线作为机器人从前段轨迹运动到后段轨迹的平滑轨迹。
其中,在所述构建关于路径的三阶Bezier曲线的方面,所述路径曲线构建单元具体用于:
根据所述前段轨迹及所述后段轨迹确定三阶Bezier曲线的位置特征点,根据所述位置特征点,构建关于路径的三阶Bezier曲线;其中,所述位置特征点中包含起始点及终止点,所述前段轨迹具有拐出点,所述后段轨迹具有拐入点,且所述起始点与所述拐出点重合,所述终止点与所述拐入点重合,所述起始点的切矢量方向与所述拐出点的切矢量方向相同,所述终止点的切 矢量方向与所述拐入点的切矢量方向相同。
其中,所述在构建关于时间的三阶Bezier曲线的方面,所述时间曲线构建单元具体用于:
依据关于路径的三阶Bezier曲线的位置特征点P0、P1、P2及P3,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3
依据所述时间特征点T0、T1、T2及T3,构建的关于时间的三阶Bezier曲线的表达式为:
T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3,其中,u为Bezier参数且u∈[0,1],T(u)表示沿着所述关于路径的三阶Bezier曲线表示的平滑轨迹运动所需的时长。
其中,在依据关于路径的三阶Bezier曲线的位置特征点P0、P1、P2及P3,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3的方面,所述时间曲线构建单元具体用于:
确定时间特征点T0为0;
将位置特征点P0、位置特征点P1及速度υs代入表达式求解时间特征点T1,其中,所述速度υs为预先设置的机器人在所述平滑轨迹的起始点的速度;
将位置特征点P2、位置特征点P3及速度υf代入表达式求解时间特征点T3与时间特征点T2的差值T3-2,其中,所述速度υf为预先设置的机器人在所述平滑轨迹的终止点的速度;
依据所述差值T3-2,确定T2及T3
在一个示例中,在所述依据所述差值T3-2,确定T2及T3的方面,所述时间曲线构建单元具体用于:
获取预先设置的时间特征点T3,将所述时间特征点T3减去所述差值T3-2,获得时间特征点T2
在另一示例中,在所述依据所述差值T3-2,确定T2及T3的方面,所述时间曲线构建单元具体用于:
将位置特征点P1、位置特征点P2、速度υs、速度υf及时间特征点T1代入表达式求解时间特征点T2
将所述时间特征点T2加上所述差值T3-2,获得时间特征点T3
见图7,其示出了本申请提供的机器人运动控制装置的硬件结构示意图。如图7所示,该机器人运动控制装置可以包括:处理器1,通信接口2,存储器3以及通信总线4,其中处理器1、通信接口2以及存储器3通过通信总线4完成相互间的通信。
存储器3,用于存放安装于该机器人运动控制装置中的程序代码以及数据。存储器3可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory),例如磁盘存储器。所述程序代码包括处理器的操作指令。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
所述处理器1用于调用所述存储器3中的程序代码以及数据以确定机器人在多个控制周期中的每个控制周期内所需运动至的位置点,从而控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动。所述处理器1调用所述存储器3中的程序代码以及数据以确定机器人在多个控制周期中的每个控制周期内所需运动至的位置点,具体包括以下步骤:
确定从首个控制周期到当前控制周期的时长值;
使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;
将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;
通过所述通信接口2向驱动装置发送所述位置坐标值,以使所述驱动装 置将所述机器人移动至所述位置坐标值表示的位置点。所述通信接口2用于与驱动装置相连,从而向驱动装置发送位置坐标。所述通信接口2可以为通信模块的接口,如GSM模块的接口,PCI模块的接口等。
本申请还提供了一种机器人,包括机器人运动控制装置及驱动装置,其中:
所述机器人运动控制装置,用于在每个控制周期内确定机器人需运动至的位置点;其中,每个控制周期执行以下步骤:确定确定从首个控制周期到当前控制周期的时长值;使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;向所述驱动装置发送所述位置坐标值;
所述驱动装置,用于驱动所述机器人移动至所述位置坐标值表示的位置点。
其中,机器人可以具体为机械臂。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在可读介质中或者作为可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (14)

  1. 一种机器人运动控制方法,其特征在于,用于控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动,所述控制方法用于在多个控制周期中的每个控制周期内确定机器人需运动至的位置点,其中每个控制周期内包括以下步骤:
    确定从首个控制周期到当前控制周期的时长值;
    使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;
    将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;
    向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。
  2. 根据权利要求1所述的机器人运动控制方法,其特征在于,构建所述关于时间的三阶Bezier曲线的方法包括:
    依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3
    依据所述时间特征点T0、T1、T2及T3,构建的关于时间的三阶Bezier曲线的表达式为:
    T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3,其中,u为Bezier参数且u∈[0,1],T(u)表示沿着所述关于路径的三阶Bezier曲线表示的平滑轨迹运动所需的时长。
  3. 根据权利要求2所述的机器人运动控制方法,其特征在于,所述依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3,包括:
    确定时间特征点T0为0;
    将位置特征点P0、位置特征点P1及速度υs代入表达式求解时间特征点T1,其中,所述速度υs为预先设置的机器人在所述平滑轨迹的起始点的速度;
    将位置特征点P2、位置特征点P3及速度υf代入表达式求解时间特征点T3与时间特征点T2的差值T3-2,其中,所述速度υf为预先设置的机器人在所述平滑轨迹的终止点的速度;
    依据所述差值T3-2,确定T2及T3
  4. 根据权利要求3所述的机器人运动控制方法,其特征在于,所述依据所述差值T3-2,确定T2及T3,包括:
    获取预先设置的时间特征点T3,将所述时间特征点T3减去所述差值T3-2,获得时间特征点T2
  5. 根据权利要求3所述的机器人运动控制方法,其特征在于,所述依据所述差值T3-2,确定T2及T3,包括:
    将位置特征点P1、位置特征点P2、速度υs、速度υf及时间特征点T1代入表达式求解时间特征点T2
    将所述时间特征点T2加上所述差值T3-2,获得时间特征点T3
  6. 根据权利要求1所述的机器人运动控制方法,其特征在于,所述关于路径的三阶Bezier曲线作为机器人从前段轨迹运动到后段轨迹的平滑轨迹,构建所述关于路径的三阶Bezier曲线的方法包括:
    根据所述前段轨迹及所述后段轨迹确定三阶Bezier曲线的位置特征点,根据所述位置特征点,构建关于路径的三阶Bezier曲线;
    其中,所述位置特征点中包含起始点及终止点,所述前段轨迹具有拐出 点,所述后段轨迹具有拐入点,且所述起始点与所述拐出点重合,所述终止点与所述拐入点重合,所述起始点的切矢量方向与所述拐出点的切矢量方向相同,所述终止点的切矢量方向与所述拐入点的切矢量方向相同。
  7. 一种机器人运动控制装置,其特征在于,用于控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动,所述控制装置用于在多个控制周期中的每个控制周期内确定机器人需运动至的位置点;所述控制装置包括:
    时长值确定单元,用于确定从首个控制周期到当前控制周期的时长值;
    参数值确定单元,用于使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;
    坐标值确定单元,用于将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;
    移动至坐标值单元,用于向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。
  8. 根据权利要求7所述的机器人运动控制装置,其特征在于,还包括:
    时间曲线构建单元,用于构建所述关于时间的三阶Bezier曲线;
    其中,所述在构建关于时间的三阶Bezier曲线的方面,所述时间曲线构建单元具体用于:
    依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3
    依据所述时间特征点T0、T1、T2及T3,构建的关于时间的三阶Bezier曲线的表达式为:
    T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3,其中,u为Bezier参数且u∈[0,1],T(u)表示沿着所述关于路径的三阶Bezier曲线表示的平滑轨迹运动所需的时长。
  9. 根据权利要求7所述的机器人运动控制装置,其特征在于,在依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3的方面,所述时间曲线构建单元具体用于:
    确定时间特征点T0为0;
    将位置特征点P0、位置特征点P1及速度υs代入表达式求解时间特征点T1,其中,所述速度υs为预先设置的机器人在所述平滑轨迹的起始点的速度;
    将位置特征点P2、位置特征点P3及速度υf代入表达式求解时间特征点T3与时间特征点T2的差值T3-2,其中,所述速度υf为预先设置的机器人在所述平滑轨迹的终止点的速度;
    依据所述差值T3-2,确定T2及T3
  10. 根据权利要求9所述的机器人运动控制装置,其特征在于,在所述依据所述差值T3-2,确定T2及T3的方面,所述时间曲线构建单元具体用于:
    获取预先设置的时间特征点T3,将所述时间特征点T3减去所述差值T3-2,获得时间特征点T2
  11. 根据权利要求9所述的机器人运动控制装置,其特征在于,在所述依据所述差值T3-2,确定T2及T3的方面,所述时间曲线构建单元具体用于:
    将位置特征点P1、位置特征点P2、速度υs、速度υf及时间特征点T1代入表达式求解时间特征点T2
    将所述时间特征点T2加上所述差值T3-2,获得时间特征点T3
  12. 根据权利要求7所述的机器人运动控制装置,其特征在于,还包括:
    路径曲线构建单元,用于构建所述关于路径的三阶Bezier曲线,所述关于 路径的三阶Bezier曲线作为机器人从前段轨迹运动到后段轨迹的平滑轨迹;
    其中,在所述构建关于路径的三阶Bezier曲线的方面,所述路径曲线构建单元具体用于:
    根据所述前段轨迹及所述后段轨迹确定三阶Bezier曲线的位置特征点,根据所述位置特征点,构建关于路径的三阶Bezier曲线;其中,所述位置特征点中包含起始点及终止点,所述前段轨迹具有拐出点,所述后段轨迹具有拐入点,且所述起始点与所述拐出点重合,所述终止点与所述拐入点重合,所述起始点的切矢量方向与所述拐出点的切矢量方向相同,所述终止点的切矢量方向与所述拐入点的切矢量方向相同。
  13. 一种机器人运动控制装置,其特征在于,包括通信接口、处理器以及存储器,所述通信接口与驱动装置相连,所述存储器中存储有安装于该机器人运动控制装置中的程序代码以及数据,所述处理器用于调用所述存储器中的程序代码以及数据以确定机器人在多个控制周期中的每个控制周期内所需运动至的位置点,具体包括以下步骤:
    确定从首个控制周期到当前控制周期的时长值;
    使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;
    将所述Bezier参数的值代入预先构建的关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;
    通过所述通信接口向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。
  14. 一种机器人,其特征在于,包括:机器人运动控制装置及驱动装置,其中:
    所述机器人运动控制装置,用于在多个控制周期中的每个控制周期内确定机器人需运动至的位置点;其中,每个控制周期执行以下步骤:确定从首个控制周期到当前控制周期的时长值;使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时 间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;将所述Bezier参数的值代入预先构建的关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;向所述驱动装置发送所述位置坐标值;
    所述驱动装置,用于驱动所述机器人移动至所述位置坐标值表示的位置点。
CN201680037943.9A 2016-12-28 2016-12-28 机器人运动控制方法及相关装置 Active CN108513636B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/112678 WO2018119759A1 (zh) 2016-12-28 2016-12-28 机器人运动控制方法及相关装置

Publications (2)

Publication Number Publication Date
CN108513636A true CN108513636A (zh) 2018-09-07
CN108513636B CN108513636B (zh) 2021-08-10

Family

ID=62706659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680037943.9A Active CN108513636B (zh) 2016-12-28 2016-12-28 机器人运动控制方法及相关装置

Country Status (2)

Country Link
CN (1) CN108513636B (zh)
WO (1) WO2018119759A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112405537A (zh) * 2020-11-11 2021-02-26 配天机器人技术有限公司 一种机器人空间轨迹插补方法及机器人

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111203870B (zh) * 2018-11-22 2021-12-17 深圳市优必选科技有限公司 舵机运动控制方法、装置及终端设备
CN114379615A (zh) * 2021-12-30 2022-04-22 卡斯柯信号有限公司 在组态人机界面中显示列车所在位置的方法、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122172A (zh) * 2010-12-31 2011-07-13 中国科学院计算技术研究所 机器运动控制的摄像系统及其控制方法
CN102147600A (zh) * 2011-04-30 2011-08-10 上海交通大学 实时生成曲率连续路径的数控插补系统
CN102207736A (zh) * 2010-03-31 2011-10-05 中国科学院自动化研究所 基于贝塞尔曲线的机器人路径规划方法及装置
CN104268330A (zh) * 2014-09-19 2015-01-07 华南理工大学 一种复杂曲线的Bezier拟合方法
CN104966320A (zh) * 2015-07-21 2015-10-07 北京工业大学 一种基于三阶Bezier曲线的伪装迷彩自动生成方法
KR101611098B1 (ko) * 2014-06-18 2016-04-08 숭실대학교산학협력단 연속 클럭 동기화 방법 및 그 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2932560B2 (ja) * 1990-01-19 1999-08-09 横河電機株式会社 ロボット制御装置
CN103907068B (zh) * 2011-09-02 2017-02-15 布鲁克斯自动化公司 用于机器人传送装置的时间最佳轨迹

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102207736A (zh) * 2010-03-31 2011-10-05 中国科学院自动化研究所 基于贝塞尔曲线的机器人路径规划方法及装置
CN102122172A (zh) * 2010-12-31 2011-07-13 中国科学院计算技术研究所 机器运动控制的摄像系统及其控制方法
CN102147600A (zh) * 2011-04-30 2011-08-10 上海交通大学 实时生成曲率连续路径的数控插补系统
KR101611098B1 (ko) * 2014-06-18 2016-04-08 숭실대학교산학협력단 연속 클럭 동기화 방법 및 그 장치
CN104268330A (zh) * 2014-09-19 2015-01-07 华南理工大学 一种复杂曲线的Bezier拟合方法
CN104966320A (zh) * 2015-07-21 2015-10-07 北京工业大学 一种基于三阶Bezier曲线的伪装迷彩自动生成方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘祚时 等: "基于Bezier曲线的全向移动机器人运动控制系统", 《制造业自动化》 *
曹洋 等: "加速度约束条件下的非完整移动机器人运动控制", 《控制与决策》 *
陈伟 等: "基于Bezier曲线的机器人路径规划", 《机器人技术与应用》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112405537A (zh) * 2020-11-11 2021-02-26 配天机器人技术有限公司 一种机器人空间轨迹插补方法及机器人

Also Published As

Publication number Publication date
WO2018119759A1 (zh) 2018-07-05
CN108513636B (zh) 2021-08-10

Similar Documents

Publication Publication Date Title
CN109074067B (zh) 机器人运动控制方法及相关装置
CN107263484B (zh) 机器人关节空间点到点运动的轨迹规划方法
CN107980109B (zh) 机器人运动轨迹规划方法及相关装置
CN108513636B (zh) 机器人运动控制方法及相关装置
WO2018086226A1 (zh) 机械臂的控制方法和装置
EP3486612B1 (en) Method for generating a trajectory
CN114466730B (zh) 用于使机器人优化速度同时保持对加速度和加加速度的限制的运动规划
WO2018209864A1 (zh) 移动控制方法、装置、机器人及存储介质
KR100743143B1 (ko) 로봇의 연속 모션 처리를 위한 연결경로 계획 장치
JP2016515405A5 (zh)
CN103676787B (zh) 一种用于运动控制系统的圆心模式空间圆弧插补方法
JP2009053926A (ja) 経路計画装置及び経路計画方法
CN110377065B (zh) 速度控制方法、装置及计算机可读存储介质
JP2017127964A (ja) 学習機能を備えたロボット装置
JP6360301B2 (ja) 動作プログラム作成方法およびロボットの制御方法
CN111604905A (zh) 关节轨迹规划的方法、装置、系统及存储介质
CN103454979B (zh) 一种封装成PLCOpen指令的变速曲线圆弧快速插补方法
CN111195913A (zh) 机器人处理方法、装置及工业机器人
JP2014161917A (ja) ロボット制御システム、ロボット、ロボット制御方法及びプログラム
CN110355753B (zh) 机器人控制装置、机器人控制方法和存储介质
CN104865898A (zh) 数控机床中处理微小路径段的方法及设备
CN103552072B (zh) 一种基于嵌入式控制器的机器人控制方法和装置
CN113156962B (zh) 运动控制方法、装置、机器人及存储介质
CN114211495A (zh) 面向半导体晶圆传送机械臂的自适应轨迹优化方法及系统
JP5028674B2 (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