机器人控制装置、机器人控制方法和存储介质与流程

文档序号:18946481发布日期:2019-10-23 01:38阅读:158来源:国知局
机器人控制装置、机器人控制方法和存储介质与流程

本发明涉及机器人控制装置、机器人控制方法和存储介质。



背景技术:

一直以来,作为使机器人的臂前端(手指侧)的位置从起点(示教点)向终点(示教点)移动的情况下的路径控制方式,已知有ptp(pointtopoint:点到点)控制。此外,已知有使机器人的臂的前端位置以直线路径进行移动的直线插值控制。

在日本国公开公报特开1997-265313号公报中,记载有机器人的速度运算装置,该机器人的速度运算装置具有:取得机器人的当前位置信息的单元;取得机器人的关节的额定最高速度信息的单元;以及基于上述机器人当前位置信息和上述关节额定最高速度计算在机器人前端的直线插值动作中所能够取得的容许极限速度的单元。

在日本国公开公报特开2004-252814号公报中记载有:对前后相继两个移动区间的插值种类是从关节插值动作向直线插值动作变化还是从直线插值动作向关节插值动作变化进行判别,并判定在通过该2个移动区间的连接点或者其附近时是否能够进行速度的结合处理,在判定为能够进行速度的结合处理时,利用关节变量来决定如下插值点,该插值点用于进行使不同种类的插值动作间的速度重合的行为。

虽然在使机器人的臂前端从起点向终点移动时,通过应用ptp控制能够使移动时间最短,但ptp控制无法保证移动路径,因此在机器人的作业空间中,可能会与其他物体或者墙壁等发生碰撞。

在直线插值控制中,能够使机器人的臂前端以直线路径进行移动,虽然能够保证从起点到终点的路径,但一直以来都无法高速地进行移动。



技术实现要素:

本发明的目的在于,在使机器人进行直线移动时,与过去相比,使机器人更高速地进行移动。

本发明所例示的实施方式是,利用直线插值使包含多个关节的多关节机器人的基准点从起点移动到终点的机器人控制装置。所述机器人控制装置具有:区间设定部,其设定连接所述起点和所述终点的直线上的加速区间、等速区间和减速区间,该加速区间是所述基准点从所述起点起加速而达到规定的角速度的区间,该等速区间是所述基准点维持着所述规定的角速度的区间,该减速区间是所述基准点从所述规定的角速度起减速而到达所述终点的区间;线段设定部,其将所述加速区间、所述等速区间和所述减速区间分别分割为多个线段,以所述基准点在各线段上的移动时间实质上相同的方式来设定所述加速区间、所述等速区间和所述减速区间中的各线段的距离;角速度设定部,其针对所述加速区间、所述等速区间和所述减速区间中的各线段,根据角度变化量最大的关节的所述角度变化量来设定利用ptp(pointtopoint)控制使所述基准点在各线段上移动时的各线段的角速度。

一种机器人控制方法,利用直线插值使包含多个关节的多关节机器人的基准点从起点移动到终点,其中,

设定连接所述起点和所述终点的直线上的加速区间、等速区间和减速区间,该加速区间是所述基准点从所述起点起加速而达到规定的角速度的区间,该等速区间是所述基准点维持着所述规定的角速度的区间,该减速区间是所述基准点从所述规定的角速度起减速而到达所述终点的区间。

将所述加速区间、所述等速区间和所述减速区间分别分割为多个线段,以所述基准点在各线段上的移动时间实质上相同的方式来设定所述加速区间、所述等速区间和所述减速区间中的各线段的距离。

针对所述加速区间、所述等速区间和所述减速区间中的各线段,根据角度变化量最大的关节的所述角度变化量来设定利用ptp(pointtopoint)控制使所述基准点在各线段上移动时的各线段的角速度。

一种存储介质,该存储介质存储有程序,该程序利用直线插值使包含多个关节的多关节机器人的基准点从起点移动到终点,其中,该程序使计算机执行如下步骤:

设定连接所述起点和所述终点的直线上的加速区间、等速区间和减速区间,该加速区间是所述基准点从所述起点起加速而达到规定的角速度的区间,该等速区间是所述基准点维持着所述规定的角速度的区间,该减速区间是所述基准点从所述规定的角速度起减速而到达所述终点的区间;

将所述加速区间、所述等速区间和所述减速区间分别分割为多个线段,以所述基准点在各线段上的移动时间实质上相同的方式来设定所述加速区间、所述等速区间和所述减速区间中的各线段的距离;以及

针对所述加速区间、所述等速区间和所述减速区间中的各线段,根据角度变化量最大的关节的所述角度变化量来设定利用ptp控制使所述基准点在各线段上移动时的各线段的角速度。

根据本发明所例示的实施方式,提供了在使机器人进行直线移动时能够以比过去高的速度进行移动的装置、方法及存储介质。

由以下的本发明优选实施方式的详细说明、参照附图、可以更清楚地理解本发明的上述及其他特征,要素,步骤,特点和优点。

附图说明

图1是示出第1实施方式的机器人系统的概略结构的图。

图2是示出第1实施方式的机器人系统的内部结构的图。

图3是第1实施方式的机器人控制装置的功能框图。

图4是示出以ptp控制进行移动的情况下的、主关节的角速度随着时间的经过而发生的变化的图。

图5是对加速区间和减速区间进行说明的图。

图6是示出ptp控制下的与时间的经过对应的角速度变化的图。

图7是对加速区间的计算方法进行说明的图。

图8是示出第1实施方式的机器人控制方法下的与时间的经过对应的角速度变化的图。

图9是由第1实施方式的机器人控制装置执行的流程图。

图10是说明ptp控制和第1实施方式的控制中的与时间的经过对应的控制脉冲数的变化的图。

图11是示出在第2实施方式的机器人控制方法中,与线段调整前后的时间的经过对应的角速度变化的图。

图12是由第1实施方式的机器人控制装置执行的流程图。

具体实施方式

以下,对包含本发明的实施方式的机器人控制装置的机器人系统进行说明。

在各实施方式的机器人系统中,在作为机器人的基准点,使机器人的臂前端即作为末端执行器的安装基准的位置从起点移动到终点时,控制成以直线插值控制来进行移动。在直线插值控制中,将连接起点和终点的直线分割为多个线段,在各线段中利用ptp控制使机器人进行动作。此时,将各线段中的ptp动作设为固定的角速度,最适当地确定各线段上的角速度,由此来实现高速的近似直线动作。

在以下的说明中,机器人的基准点是指,作为机器人的接近点、目标点、离开点等机器人的示教点的基准的机器人位置,例如是机器人的作用点(tcp:toolcenterpoint(工具中心点))。

在以下的说明中,“使机器人在2点间移动”是指,使机器人的基准点在该2点间移动。

首先,参照图1和图2对第1实施方式的机器人系统1的结构进行说明。图1是示出本实施方式的机器人系统1的概要结构的图。图2是示出本实施方式的机器人系统1的内部结构的图。

如图1所示,机器人系统1具有信息处理装置2、机器人控制装置3、以及机器人r。信息处理装置2和机器人控制装置3例如通过以太网(注册商标)线缆ec而连接成能够进行通信。

信息处理装置2例如是用于对设置于工厂的生产线的机器人r示教动作的装置。信息处理装置2是为了供操作者进行示教而设置的装置,可以配置在与设置有机器人r的工厂等分离的位置(例如与工厂分离的操作者的作业场所)。

信息处理装置2例如是个人计算机装置、平板型计算机装置,是为了供操作者进行离线示教或者线上示教而设置的。通过执行规定的示教程序来确定机器人r的示教点和动作参数。

机器人控制装置3通过根据从信息处理装置2发送的机器人r的示教点和动作参数执行机器人程序,从而对机器人r进行控制。作为机器人程序的执行结果,机器人控制装置3向机器人r发出对使机器人r的各关节进行动作的多个马达进行控制的控制脉冲。

机器人r是包含多个关节的多关节机器人。机器人r根据从机器人控制装置3接收到的控制脉冲对各关节的马达进行驱动,依照由信息处理装置2确定的示教点和动作参数进行动作。

参照图2,信息处理装置2具有控制部21、存储装置22、输入装置23、显示装置24和通信接口部25。

控制部21包含cpu(centralprocessingunit:中央处理单元)、rom(readonlymemory:只读存储器)以及ram(randomaccessmemory:随机存取存储器)。在rom中存储有示教软件。cpu将rom中所存储的示教软件加载到ram中并执行。由操作者经由示教软件而设定的机器人r的示教点和动作参数被加入到机器人程序中。

存储装置22是hdd(harddiskdrive:硬盘驱动器)或者ssd(solidstatedrive:固态硬盘)等大容量存储装置,构成为能够通过控制部21的cpu而逐次访问。存储装置22中存储有机器人程序。

输入装置23是用于受理操作者进行的操作输入的设备,包含定点设备。

显示装置24是用于显示示教软件的执行结果的设备,包含显示驱动电路和显示面板。

通信接口部25包含用于在与机器人控制装置3之间进行以太网通信的通信电路。控制部21响应于操作者要求执行机器人的仿真的执行要求或使机器人实机进行动作的要求,将包含机器人r的示教点和动作参数的机器人程序经由通信接口部25发送到机器人控制装置3。

如图2所示,机器人控制装置3包含控制部31、存储装置32和通信接口部33。

控制部31包含cpu、rom以及ram。cpu将从信息处理装置2接收并存储到存储装置32的机器人程序加载到ram中并执行。控制部31的cpu通过执行机器人程序来实现后述的各功能。

控制部31每规定时间(例如每1ms)生成用于使机器人r的各关节的马达进行动作的控制脉冲,并供给至机器人r。

存储装置32是hdd或者ssd等大容量存储装置,构成为能够通过控制部31的cp逐次访问。在存储装置32中,存储有从信息处理装置2接收的机器人程序,并存储有作为机器人程序的执行记录的执行日志数据。

通信接口部33包含用于在与信息处理装置2之间进行以太网通信的通信电路。

如图2所示,机器人r包含马达驱动电路101和马达102。马达驱动电路101生成如下驱动电压,该驱动电压是根据从机器人控制装置3供给的控制脉冲对马达102进行驱动所需要的驱动电压。马达102设置有如下数量,该数量是使机器人r进行动作的关节的数量。

在以下,对机器人r是6轴垂直多关节机器人的情况进行说明。该情况下,在机器人r中设置有分别对6个关节进行驱动的马达102,从马达驱动电路101向各马达102供给驱动电压。

接下来,参照图3~8,对机器人控制装置3的控制部31执行机器人程序而实现的功能进行说明。图3是本实施方式的机器人控制装置3的功能框图。

如图3所示,由机器人控制装置3所实现的功能包含区间设定部311、线段设定部312、角速度设定部313、脉冲数设定部314以及脉冲生成部315。以下,对各部所具有的功能依次进行说明。

在以下,对机器人的基准点从起点a近似直线地移动到终点b的情况进行说明。起点a、终点b在以下适当地称作点a、点b。

如上所述,机器人控制装置3在从信息处理装置2接收到的机器人程序中设定机器人r的示教点和动作参数。在本实施方式中,在机器人程序中设定起点a和终点b作为示教点,在从起点a向终点b移动时,设定加速时间、最大角速度、减速时间作为动作参数。

在以下的说明中,将作为动作参数而设定的加速时间、最大角速度和减速时间分别称为“加速时间要求值”、“最大角速度要求值”以及“减速时间要求值”。加速时间要求值是,机器人的基准点从起点a起加速而达到最大角速度(上述最大角速度要求值;规定的角速度的一例)的加速时间的要求值。减速时间要求值是,机器人的基准点从最大角速度起减速而到达终点b的减速时间的要求值。

在以下的说明中,在机器人的6个关节中,将各关节的绕中心轴的角度变化量最大的关节称为“主关节”。6个关节中的作为主关节的关节在从点a到点b的直线移动中,有时会因关注的时间或者范围而不同。

区间设定部311具有在连接起点a和终点b的直线中设定加速区间、等速区间和减速区间的功能,该加速区间是机器人的基准点从起点a起加速而达到最大角速度的区间,该等速区间是机器人的基准点维持最大角速度的区间,该减速区间是机器人的基准点从最大角速度起减速而到达终点b的区间。

在本实施方式的一例中,区间设定部311根据上述的加速时间要求值和减速时间要求值来设定加速区间、等速区间和减速区间。在以下,参照图4对各区间的设定方法进行说明。

在本实施方式中,以使机器人在直线ab间高速移动为目的,模拟假设机器人在ab间以ptp控制进行移动的情况下的与时间的经过对应的主关节的速度变化。

图4示出了假设在ab间以ptp控制进行移动的情况下在ab间与时间的经过对应的主关节的角速度变化。在图4中,从机器人自点a开始移动起至达到最大角速度要求值vm为止的时间相当于加速时间要求值t1,机器人从时刻t2起开始减速至在时刻tf到达点b为止的时间(tf-t2)相当于减速时间要求值。

在图4中,tf是指以ptp控制进行移动的情况下的总移动时间。

图5示出了,假设机器人在ab间以ptp控制进行移动的情况下的路径tptp、和机器人在ab间以本实施方式的直线插值控制进行移动的情况下的路径tsln。

如图5所示,机器人在ab间以ptp控制进行移动的情况下的路径tptp不是直线状,而是呈弯曲的路径。在路径tptp上从点a到点p1为止的区间是ptp控制中的加速区间,从点p1到点p2为止的区间是ptp控制中的等速区间,在路径tptp上从点p2到点b为止的区间是ptp控制中的减速区间。

点p1、p2对应于图4的时刻t1、t2。即,在ptp控制中,从点a到点p1的时间是加速时间要求值t1,从点p2到点b的时间是减速时间要求值(tf-t2)。

在直线插值控制中,也需要将从点a到点b的直线上的加速区间和减速区间设定为满足加速时间要求值和减速时间要求值。因此,将假设从点a到点b是以ptp控制进行移动的情况下的、加速结束位置即点p1和减速开始位置即点p2投影在直线ab上,由此来设定直线插值控制中的直线上的加速区间、减速区间。在图4中,ptp控制下的路径tptp上的点p1、p2投影于直线ab上而得到的点分别是点p1s、p2s。

在本实施方式的直线插值控制下的路径tsln中,将点a到点p1s的区间设定为加速区间,将点p2s到点b的区间设定为减速区间。

在此,加速区间的距离acc_dst相对于直线ab间的距离的比率被设定为,与ptp控制下的路径tptp上的加速区间的距离(点a与点p1之间的距离)相对于路径tptp的路径长的比率相同。同样地,减速区间的距离dacc_dst相对于直线ab间的距离的比率被设定为,与ptp控制下的路径tptp上的减速区间的距离(点p2与点b之间的距离)相对于路径tptp的路径长的比率相同。

例如,如果将路径tsln中的加速区间相对于直线ab间距离tsln的比率设为加速区间比率acc_ratio,则加速区间比率acc_ratio以数学式1来计算。

另外,在数学式1中,

t1:加速时间要求值(msec)

vm:最大角速度要求值(radian)

maxdst:主关节的角度变化量

主关节的角度变化量maxdst相当于图4所示的梯形的的面积。

【数学式1】

由于在直线ab间各关节的角度呈线性变化,因此点p1上的机器人的各关节的角度p1[i](i:关节号1~6)能够使用加速区间比率acc_ratio而按照下面的数学式2求出。

另外,在数学式2中,

a[i]:点a上的关节i的角度(radian)

b[i]:点b上的关节i的角度(radian)。

【数学式2】

p1[i]=acc_ratio×(b[i]-a[i])+a[i]…(2)

由于根据数学式2可知各关节在点p1上的角度,因此能够通过正向运动学来计算点p1的直角坐标。并且,直线ab上的加速区间的距离acc_dst(参照图5)能够根据点a、点p1和点b的直角坐标的值而像如下那样计算。

如图6所示,如果将点p1与点p1s之间的距离设为h1,根据数学式3,h1能够以如下方式计算出:用从点a朝向点p1的向量(以下的数学式3的粗字的p1)与从点a朝向点b的向量(数学式3的粗字ab)的外积的大小除以直线ab间的距离l。

并且,如果将从点a朝向点p1的向量大小设为n1,根据数学式4来计算加速区间的距离acc_dst。

【数学式3】

【数学式4】

在以上,对加速区间的距离acc_dst的计算方法进行了说明,对于减速区间的距离dacc_dst(参照图5),也能够以同样的方式基于点p2进行计算。

此外,直线插值动作的等速区间的距离能够通过从直线ab间的距离l减去加速区间的距离acc_dst和减速区间的距离dacc_dst而得到。即,等速区间的距离cst_dst可根据以下的数学式5计算出。

【数学式5】

cst_dst=l-acc_dst-dacc_dst…(5)

在图3中,线段设定部312具有将由区间设定部311所设定的加速区间、等速区间和减速区间分别分割成多个线段的功能。此时,线段设定部312设定加速区间、等速区间、以及减速区间中的各线段的距离,以使得机器人的基准点在各线段中的移动时间实质上相同。

在以下,参照图7对本实施方式的直线插值控制中的加速区间、等速区间以及减速区间中的各线段的距离的设定方法进行说明。

在设定各线段的距离时,优选为考虑机器人的基准点的轨道与理想直线之间的误差和动作时间来确定该各线段的距离。即,在线段的距离较大的情况下,由于在各线段中进行的是ptp控制,因此各线段中的机器人的基准点的轨迹会从理想直线偏离,误差容易变大。另一方面,由于对机器人进行的控制是每隔基准时间(例如1ms)而进行的,在使线段的距离较小的情况下,各线段上会产生舍入误差,该舍入误差按照线段的数量被累加,从而导致动作时间增加。

因此,在将加速区间的距离(acc_dst)、减速区间的距离(dacc_dst)和等速区间的距离cst_dst分别分割为多个线段时的优选例中,以如下方式进行分割:使1个线段的距离的最大值为20mm以下,使各线段的距离为与20mm相比不是非常短的距离。

首先,在加速区间中,为了尽力使各线段的移动时间固定,进行以下设定,以使得随着从点a到点p1s,线段的距离逐渐变长。

即,在加速区间的距离acc_dst为90mm以下的情况下,将加速区间的线段数acc_seg_num设为9,在加速区间的距离acc_dst大于90mm的情况下,利用如下的数学式6来计算加速区间的线段数acc_seg_num。

【数学式6】

而且,在随着从加速区间的点a到点p1s、而将各线段的线段号设为j(j=0,1,2,…)时,各线段的距离acc_seg[j]按照以下的数学式7那样来设定。

【数学式7】

接下来,在减速区间中,为了尽力使各线段的移动时间固定,进行以下设定,以使得随着从点p2s到点b,线段的距离逐渐变短。

即,在减速区间的距离dacc_dst为90mm以下的情况下,将减速区间的线段数dacc_seg_num设为9,在减速区间的距离dacc_dst大于90mm的情况下,利用以下的数学式8来计算减速区间的线段数dacc_seg_num。

【数学式8】

而且,在随着从减速区间的点p2s到点b而将各线段的线段号设为j(j=0,1,2,…)时,将各线段的距离dacc_seg[j]按照以下的数学式9那样来设定。

【数学式9】

最后,在等速区间中,使各线段的距离固定且将它们设定为20mm以下。

具体而言,在用20除以等速区间的距离cst_dst而得到的值小于1.25的情况下,将等速区间的线段数cst_seg_num设为1。在用20除以等速区间的距离cst_dst而得到的值为1.25以上的情况下,利用以下的数学式10计算等速区间的线段数cst_seg_num。各线段的距离如数学式11所示。

【数学式10】

【数学式11】

另外,上述的各线段的距离的设定只是一个示例,能够适当地进行变更。例如,如上述数学式7所示,加速区间的各线段的距离被设定为,相邻的线段间的距离每次增加2倍,但并不限定于此。相邻的线段间的距离的比率可以适当地调整。减速区间的各线段的距离也同样可以适当地调整。

角速度设定部313具有如下功能:针对加速区间、等速区间以及减速区间的各线段、根据角度变化量最大的关节的角度变化量来设定以ptp(pointtopoint:点到点)控制使基准点在各线段上移动时的各线段上的角速度。

以下,参照图8对由线段设定部312设定的加速区间、等速区间和减速区间的各线段的主关节的角速度的设定方法进行说明。图8是表示本实施方式的机器人控制方法中的与时间的经过对应的主关节的角速度变化的图,将各线段的主关节的角速度示为棒状。

如已经叙述的那样,在本实施方式的直线插值控制中,以使机器人在直线ab间高速地进行移动为目的,模拟假设以ptp控制使机器人在ab间移动的情况下的与时间的经过对应的主关节的速度变化。在图8中,梯形形状的粗线与图4所示的相同,表示以ptp控制使机器人在ab间进行动作时的主关节的速度变化,该速度变化在本实施方式的直线插值动作中被模拟。即,在本实施方式中各线段的主关节的角速度被设定为,与ptp控制的情况下的主关节的角速度变化一致。

此外,将各线段内的主关节的角速度设为固定。

在本实施方式的直线插值控制中,按照每个线段来确定主关节(即,在线段中角度变化量最大的关节)。如上述那样设定了各线段的距离,从而各线段的距离是已知的,因此,能够利用逆向运动学求出各线段的末端位置上的、机器人的各关节的角度,由此来确定角度变化量最大的主关节。

在将加速区间中的线段号设为j(j=0,1,2,…)时,根据以下的数学式12计算出各线段的末端位置处的时刻t。

另外,在数学式12中,

maxdst_seg[j]:线段号为j的线段上的主关节的角度变化量

jcur:当前的线段号

t1:加速时间要求值(msec)

vm:最大角速度要求值(radian)。

【数学式12】

在将等速区间中的线段号设为j(j=0,1,2,…)时,根据以下的数学式13计算出各线段的末端位置的时刻t。

【数学式13】

在将减速区间中的线段号设为j(j=0,1,2,…)时,根据以下的数学式14计算出各线段的末端位置处的时刻t。

另外,在数学式14中,

total_dst:整体(点a到点b)的主关节的角度变化量

t2:减速时间要求值(msec)

tf:总移动时间(msec)。

total_dst与图8的粗线所示的梯形的面积相等。

【数学式14】

如上所述,在计算出加速区间、等速区间和减速区间中的各线段的末端位置处的时刻t之后,根据数学式15计算出各线段上的主关节的角速度。另外,在数学式15中,设在j=0时,t[j-1]=0。

【数学式15】

在图3中,脉冲数设定部314具有设定每个规定时间的脉冲数的功能,所述每个规定时间的脉冲数与由角速度设定部设定的各线段上的角速度对应。脉冲生成部315具有生成如下控制脉冲的功能,该控制脉冲向对机器人的各关节进行驱动的马达供给。此时,将控制脉冲的脉冲数设为由脉冲数设定部314设定的脉冲数。

即,当确定了各线段上的角速度时,在对机器人进行的控制中,按照每基准时间(例如1ms)来设定与所确定的角速度对应的控制脉冲的脉冲数。关于脉冲数的确定方法,只要是能够获得所确定的角速度的控制脉冲数即可,可以是任何确定方法。例如,控制脉冲数可以利用以所确定的角速度为变量的规定的函数运算来计算,也可以通过参照规定的查询表来获得。

接下来,参照图9对本实施方式的机器人控制装置3的处理流程进行说明。图9是由本实施方式的机器人控制装置3执行的流程图。

如已经叙述的那样,机器人控制装置3从信息处理装置2取得机器人程序,机器人控制装置3的控制部31通过执行所取得的机器人程序来进行图9所示的各处理。在机器人程序中,设定起点a和终点b作为示教点,在从起点a向终点b进行移动时,设定加速时间、最大角速度和减速时间的要求值来作为动作参数。

机器人控制装置3的控制部31根据上述动作参数,执行使机器人的基准点从起点a向终点b进行直线移动的直线插值控制。此时,以使直线ab间的主关节的角速度变化与假设在ab间以ptp控制进行移动的情况下的主关节的角速度变化一致的方式,来确定各线段上的主关节的角速度。

机器人控制装置3的控制部31首先根据机器人程序中所设定的加速时间要求值、减速时间要求值以及最大角速度要求值来设定加速区间、等速区间以及减速区间(步骤s10)。加速区间、等速区间以及减速区间的设定以使直线ab间的加速区间、等速区间和减速区间的比率与假设在ab间以ptp控制进行移动的情况下的路径中的各区间的比率相同的方式来确定。

接下来,控制部31针对在步骤s10中所设定的加速区间、等速区间和减速区间各区间设定多个线段(步骤s12)。即,直线ab上的加速区间、等速区间和减速区间各区间分别被分割成多个线段,并确定各线段的距离。此时,控制部31如上所述那样,以使各线段的移动时间实质上成为固定的方式来确定各线段的距离。在加速区间中,设定成随着从点a到点b,各线段的距离根据速度的上升而变长,在减速区间中,设定成随着趋向于点b,各线段的距离根据速度的降低而变短。

接下来,控制部31设定各线段的主关节的角速度(步骤s14)。如上所述,以与假设在ab间利用ptp控制进行移动的情况下的主关节的角速度变化一致的方式来确定各线段的主关节的角速度。

根据以上步骤s10~s14的处理而设定了,利用直线插值使机器人的基准点从起点a向终点b移动时的各线段上的主关节的角速度。机器人控制装置3的控制部31在接下来以获得在步骤s14中所设定的各线段的主关节的角速度的方式来确定控制脉冲数(步骤s16),并生成该数量的控制脉冲(步骤s18)而向机器人r发出。

如以上所说明那样,在本实施方式的机器人系统1中,机器人控制装置3在利用直线插值使机器人的基准点进行移动的情况下,以与假设利用ptp控制在该直线上移动的情况下的主关节的角度变化相同的方式来控制机器人的主关节的角度变化。因此,在使机器人进行直线移动时,能够使该机器人高速地移动。

图10示出了,利用ptp控制使机器人在例示的2点间移动的情况和利用本实施方式的直线插值使机器人在相同的2点间移动的情况下的、随着时间的经过而变化的控制脉冲数的仿真结果。在图10中示出了,针对机器人的6个关节中的角速度较高的关节j1~j3的每1ms的控制脉冲数。如图10所示,可知在进行ptp控制的情况下的针对主关节j1的控制脉冲数、与本实施方式的直线插值的情况下的针对主关节j1(大致500ms为止)和主关节j2(大致500ms以后)的控制脉冲数大致相等,2点间的移动时间为相同程度。即,确认了在本实施方式的直线插值控制中,能够实现与整体利用ptp控制而进行移动的情况下同等的移动速度。

接下来,对第2实施方式进行说明。

在第1实施方式中,是根据假设从起点到终点的整体都以ptp控制来进行移动的情况下的主关节的角度变化量来设定加速区间和减速区间的。但是,在加速区间和减速区间中,是以线段为单位来确定主关节,可能产生所确定的主关节与整体以ptp控制进行移动的情况下的主关节不一致的情况。在该情况下,相对于整体以ptp控制进行移动的情况下的主关节的移动量,全部线段的以线段为单位的主关节的移动量相加在一起而得到的移动量变大,从而本实施方式的总移动时间会变长。即,有时上述数学式12和数学式14中σ的项变大,各线段的末端位置上的时刻t延迟,结果导致总移动时间变长。

因此,在本实施方式中,其特征在于,以满足加速时间要求值和减速时间要求值的方式,根据各线段的主关节的角度变化量来再次设定加速区间和/或减速区间的线段。

在基于由角速度设定部313所设定的各线段上的角速度实现的加速时间与加速时间要求值的第1差分值比第1阈值大的情况下,本实施方式的线段设定部312再次设定加速区间的线段数或各线段的距离以使得第1差分值成为第1阈值以下。

此外,在基于由角速度设定部313所设定的各线段上的角速度实现的减速时间与减速时间要求值的第2差分值比第2阈值大的情况下,本实施方式的线段设定部312再次设定减速区间的线段数或各线段的距离以使得第2差分值为第2阈值以下。

另外,第1阈值和第2阈值能够分别根据与加速时间要求值及减速时间要求值之间的偏离程度在系统上所能够容许的程度来适当设定。

在以下,参照图11对由本实施方式的线段设定部312进行的线段数或者各线段的距离的再次设定的示例进行说明。图11是示出在本实施方式的机器人控制方法中,与线段调整前后的时间的经过对应的主关节的角速度变化的图。

在图11中,在线段调整前的情况下,在加速区间中针对各线段所确定的主关节与整体以ptp控制来进行移动的情况下的主关节不一致,因此直线插值控制的加速时间变得比加速时间要求值t1长。因此,总移动时间tf变长。

与此相对,在本实施方式中,线段设定部312缩短加速区间的各线段的距离或者减少线段数,由此使加速区间满足以下的条件式数学式16。例如在各线段的距离的调整中,能够变更上述数学式6、数学式7的常数。

另外,在条件式数学式16中,

maxdst_seg[j]:线段号为j的线段上的主关节的角度变化量

jcur:当前的线段号

t1:加速时间要求值(msec)

vm:最大角速度要求值(radian)。

【数学式16】

在线段调整前的加速区间的各线段的距离中,针对各线段所设定的角速度比图11的ptp控制下的粗线所示的角速度快,不满足条件式数学式16。

因此,能够通过使加速区间的各线段的距离缩短或者减少加速区间的线段数,使得满足条件式数学式16。其结果是,在线段调整后的加速区间中,如图11所示,可知与线段调整前相比,加速得到缓和,满足加速时间要求值。

上述数学式16的右边减去左边而得到的值是第1差分值的一例。

同样地,在线段调整前的减速区间中,针对各线段所确定的主关节与整体以ptp控制进行移动的情况下的主关节未必一致,因此与加速区间同样,本实施方式的总移动时间有时会变长。

因此,线段设定部312缩短减速区间的各线段的距离或者减少线段数,使得满足以下的条件式数学式17。例如在各线段的距离的调整中,能够变更上述数学式8、9的常数。

另外,在条件式数学式17中,

maxdst_seg[j]:线段号为j的线段上的主关节的角度变化量

jcur:当前的线段号

t2:减速时间要求值(msec)

tf:总移动时间(msec)

vm:最大角速度要求值(radian)。

上述数学式17的右边减去左边后的值是第2差分值的一例。

【数学式17】

在图12中示出本实施方式的机器人控制装置3的处理流程。图12是示出由本实施方式的机器人控制装置3执行的流程图。

图12所示的流程图与图9的不同之处在于追加了步骤s15。

机器人控制装置3的控制部31在设定各线段的主关节的角速度时(步骤s14),对是否满足加速时间要求值和减速时间要求值(即,是否满足数学式16和数学式17)进行判断(步骤s15)。在不满足的情况下返回至步骤s12,变更加速区间和/或减速区间的线段数或各线段的距离。进行步骤s12、s14的处理直到满足步骤s15的条件式为止。

此时,在步骤s15中,可以以上述数学式16的右边减去左边得到的值为规定的第1阈值以下,且上述数学式17的右边减去左边得到的值为规定的第2阈值以下为收敛条件。

接下来,对第3实施方式进行说明。

第1实施方式的机器人控制装置3中所设定的主关节的角速度在各线段内是固定的,因此存在在线段间主关节的角速度较大地发生变化的情况。但是,较大的角速度的变化有时会使机器人产生振动,因此不优选。因此,在本实施方式中,使机器人的主关节的角速度的变化平滑化,以使得不易产生振动。

从上述观点出发,本实施方式的机器人控制装置3还具备对由脉冲数设定部314设定的脉冲数进行滤波处理的滤波处理部。然后,脉冲生成部315将控制脉冲的脉冲数设定为滤波处理后的脉冲数。

滤波处理的方法没有特别限定,例如能够利用移动平均滤波,该移动平均滤波基于规定次数的针对基准时间(例如1ms)而设定的脉冲数。虽然在移动平均滤波中使用的脉冲数的样本数没有规定,但为了提高平滑化效果,优选样本数足够多,另一方面,如果样本数过多,则移动时间会变长。在优选的一例中,样本数n是10。

具体而言,当将针对关节号为i(i=1~6)的关节的第k个控制脉冲数设为pls_new[i][k]时,脉冲数pls_new[i][k]根据数学式18求出。

另外,在数学式18中,

pls_new:应用移动平均滤波后的控制脉冲数

pls:应用移动平均滤波前的控制脉冲数

i:关节号(1,2,3,4,5,6)

k:动作脉冲的生成次数

n:在移动平均中使用的样本数。

【数学式18】

虽然在以上对本发明的机器人控制装置的多个实施方式进行了详细叙述,但本发明不限定于上述的各实施方式。此外,上述的实施方式能够在不脱离本发明的主旨的范围内进行各种改良和变更。例如只要各实施方式所提及的技术事项不产生技术上的矛盾,则可以在不同的实施方式之间进行适当组合。

通过上述的说明,本领域技术人员可以理解,上述说明公开了使图3的功能框图所记载的功能的至少一部分功能由计算机来实现的程序、和记录有该程序的计算机可读存储介质(还包括非易失性存储介质。)。

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