CN114728411A - 控制装置和机器人系统 - Google Patents

控制装置和机器人系统 Download PDF

Info

Publication number
CN114728411A
CN114728411A CN202080080590.7A CN202080080590A CN114728411A CN 114728411 A CN114728411 A CN 114728411A CN 202080080590 A CN202080080590 A CN 202080080590A CN 114728411 A CN114728411 A CN 114728411A
Authority
CN
China
Prior art keywords
actual
correction parameter
point
learning
data
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.)
Pending
Application number
CN202080080590.7A
Other languages
English (en)
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN114728411A publication Critical patent/CN114728411A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia

Abstract

一种对机器人装置(100)进行控制的控制装置(50),具有:校正参数计算部(72),执行计算校正参数的第一处理,该校正参数对应于在基于预先决定的学习用的动作数据驱动了多个马达(M1、M2、M3、M4、M5、M6)的情况下计算出的第一连杆的实际的动作轨迹与在基于学习用的动作数据驱动了多个马达(M1、M2、M3、M4、M5、M6)的情况下的第一连杆的理想的动作轨迹之差;以及动作指令部(74),在基于实际的动作数据驱动了多个马达(M1、M2、M3、M4、M5、M6)的情况下,使用校正参数对实际的动作数据进行校正,基于校正后的实际的动作数据生成多个马达(M1、M2、M3、M4、M5、M6)的动作指令。

Description

控制装置和机器人系统
技术领域
本公开涉及一种控制装置和机器人系统。
背景技术
在对具有使多个连杆分别运动的多个马达(也就是说,多个轴)的机器人装置的动作进行控制的控制装置中,提出了如下控制方法:为了使机器人装置的前端的连杆的实际的动作轨迹接近目标的动作轨迹,使多个马达各自的伺服延迟时间与基准时间一致。例如参照专利文献1。
专利文献1:日本特开2009-151527号公报
发明内容
发明要解决的问题
然而,在机器人装置中,有时限制用户设定伺服延迟时间。在该情况下,由于机器人装置的实际的动作轨迹与目标的动作轨迹之差不降低,因此存在机器人装置的动作精度下降这样的问题。
本公开的目的在于,提高机器人装置的动作精度。
用于解决问题的方案
本公开的一个方式所涉及的控制装置是一种对机器人装置进行控制的控制装置,该机器人装置具有包括第一连杆的多个连杆、基于动作指令使所述多个连杆分别运动的多个马达以及分别检测所述多个马达的旋转位置的多个旋转位置检测器,所述控制装置具有:校正参数计算部,执行计算校正参数的第一处理,该校正参数对应于使用在基于预先决定的学习用的动作数据驱动了所述多个马达的情况下由所述多个旋转位置检测器检测出的所述旋转位置计算出的所述第一连杆的实际的动作轨迹与在基于所述学习用的动作数据驱动了所述多个马达的情况下的所述第一连杆的理想的动作轨迹的第一差;以及动作指令部,在基于实际的动作数据驱动所述多个马达的情况下,使用所述校正参数对所述实际的动作数据进行校正,基于校正后的所述实际的动作数据生成所述多个马达的所述动作指令。
发明的效果
根据本公开,能够提高机器人装置的动作精度。
附图说明
图1是概略性地表示实施方式1所涉及的机器人系统的结构的立体图。
图2是表示实施方式1所涉及的机器人系统的机器人装置的前端的连杆的目标轨迹和实际的动作轨迹的一例的立体图。
图3是概略性地表示实施方式1所涉及的机器人系统的结构的框图。
图4是表示实施方式1所涉及的机器人系统的控制装置的硬件结构的图。
图5是表示实施方式1所涉及的控制装置中的使实际的动作轨迹接近目标轨迹的处理的示意图。
图6是表示实施方式1所涉及的控制装置的学习阶段的动作的一例的流程图。
图7是表示实施方式1所涉及的机器人系统的控制装置的学习用的动作数据存储部中存储的数据的一例的图。
图8是表示实施方式1所涉及的控制装置的校正参数存储部中存储的数据的一例的图。
图9是表示实施方式1所涉及的控制装置中的计算校正参数的处理的示意图。
图10是表示图6的计算校正参数的处理的流程图。
图11是表示实施方式1所涉及的控制装置的运用阶段的动作的一例的流程图。
图12是表示实施方式2所涉及的控制装置中的计算校正参数的处理的流程图。
图13的(A)是表示图12的从步骤ST111至步骤ST214的处理的示意图。(B)是表示图12的从步骤ST215至步骤ST217的处理的示意图。(C)是表示图12的步骤ST218的处理的示意图。
图14是表示在实施方式3所涉及的控制装置中计算校正参数的处理的流程图。
图15是表示实施方式4所涉及的机器人系统中的、包含在机器人装置的多个马达的动作指令中的校正参数的指定数量与实际的动作轨迹与目标轨迹的轨迹误差的关系的一例的图表。
图16的(A)是概略性地表示实施方式5所涉及的控制装置中的指定实际的第一动作轨迹上的极大点的方法的一例的示意图。(B)是概略性地表示实施方式5所涉及的控制装置中的指定实际的第一动作轨迹上的极大点的方法的其它例的示意图。
图17是概略性地表示实施方式6所涉及的机器人系统的结构的框图。
图18是概略性地表示实施方式7所涉及的机器人系统的结构的框图。
图19的(A)是表示图18所示的校正参数存储部中存储的数据的一例的图。(B)是表示被输入到图18所示的目标动作数据获取部的数据的一例的图。
(附图标记说明)
1、6、7:机器人系统;50、750:控制装置;60:马达控制装置;70、770:运算装置;71:动作数据存储部;72、772:校正参数计算部;73、773:校正参数存储部;74:动作指令部;80:仿真装置;100:机器人装置;110:基座;120:第一臂;130:第二臂;140:第三臂;150:第四臂;160:腕部;170:凸缘;A1、A11、A12:第一极大点;A2、A21、A22:第二极大点;C1:第一中间点;C2、C21、C22:第二中间点;C3、C31、C32:第三中间点;E1、E2、E3、E4、E5、E6:编码器;M1、M2、M3、M4、M5、M6:马达;T1、T10、T100、T110:目标轨迹;T200、T201、T210、T211:实际的动作轨迹。
具体实施方式
以下,参照图来说明本公开的实施方式所涉及的控制装置和机器人系统。以下的实施方式只不过是例子,能够适当组合实施方式以及适当变更各实施方式。
实施方式1.
图1是概略性地表示实施方式1所涉及的机器人系统1的结构的立体图。如图1所示,机器人系统1具有机器人装置(以下还仅称为“机器人”)100和对机器人装置100的动作进行控制的控制装置50。
机器人装置100例如是垂直多关节型的机器人。此外,机器人装置100不限于垂直多关节型的机器人,例如也可以是水平多关节型的机器人或门型的机器人。另外,机器人装置100例如被用作进行部件加工的装配机器人。
机器人装置100具有基座110、第一臂120、第二臂130、第三臂140、第四臂150、腕部160以及凸缘170。基座110、第一臂120、第二臂130、第三臂140、第四臂150、腕部160以及凸缘170分别是机器人装置100中的连杆。基座110是大致圆柱状的连杆。基座110具备被固定于例如地面等设置面的固定面110a。在图1所示的XYZ正交坐标系中,X轴和Y轴是与基座110的固定面110a平行的坐标轴。Z轴是与X轴及Y轴正交的坐标轴。
第一臂120在基座110上能够绕与Z轴平行的第一轴J1旋转。第二臂130以能够绕第二轴J2旋转的方式与第一臂120连结。第三臂140以能够绕第三轴J3旋转的方式与第二臂130连结。第四臂150以能够绕第四轴J4旋转的方式与第三臂140连结。腕部160以能够绕第五轴J5旋转的方式与第四臂150的前端部连结。凸缘170以能够绕第六轴J6旋转的方式与腕部160连结。也就是说,机器人装置100是具有与第一轴J1至第六轴J6对应的6轴的关节的机器人。此外,机器人装置100只要是具有2个以上的轴的关节的机器人即可。
机器人装置100连接于控制装置50。控制装置50对机器人装置100的动作中的作为第一连杆的凸缘170的位置进行控制。在实施方式1中,控制装置50进行使在机器人装置100被输入动作指令时的凸缘170的实际的动作轨迹(例如,后述的图2所示的实际的动作轨迹T2)接近理想的动作轨迹(例如,后述的图2所示的目标轨迹T1)的控制。此外,控制装置50也可以对机器人装置100中的与作为前端的连杆的凸缘170不同的其它连杆(例如,第四臂150等)的位置进行控制。另外,在凸缘170上安装有作为前端的连杆的物体把持机构的情况下,控制装置50也可以对该物体把持机构的位置进行控制。
图2是表示机器人装置100的凸缘170的理想的动作轨迹和实际的动作轨迹的一例的图。图2中示出了在机器人装置100被输入动作指令的情况下的凸缘170的理想的动作轨迹(也就是说,目标轨迹)T1和在机器人装置100被输入与目标轨迹T1对应的动作指令的情况下的凸缘170的实际的动作轨迹T2。如图2所示,凸缘170的实际的动作轨迹T2有时与目标轨迹T1不一致。控制装置50进行降低目标轨迹T1与实际的动作轨迹T2之差(以下还称为“轨迹误差”)的控制。也就是说,控制装置50进行使实际的动作轨迹T2接近目标轨迹T1的控制。
图3是概略性地表示实施方式1所涉及的机器人系统1的结构的框图。如图3所示,机器人装置100具有使多个连杆分别运动的多个马达M1~M6和对多个马达M1~M6各自的旋转位置进行检测的作为多个旋转位置检测器的多个编码器E1~E6。基座110中具备使第一臂120旋转的马达M1和对马达M1的旋转位置进行检测的编码器E1。第一臂120中具备使第二臂130旋转的马达M2和对马达M2的旋转位置进行检测的编码器E2。第二臂130中具备使第三臂140旋转的马达M3和对马达M3的旋转位置进行检测的编码器E3。第三臂140中具备使第四臂150旋转的马达M4和对马达M4的旋转位置进行检测的编码器E4。第四臂150中具备使腕部160旋转的马达M5和对马达M5的旋转位置进行检测的编码器E5。腕部160中具备使凸缘170(参照图1)旋转的马达M6和对马达M6的旋转位置进行检测的编码器E6。多个马达M1~M6例如是伺服马达。
控制装置50具有马达控制装置60和运算装置70。马达控制装置60连接于多个马达M1~M6和多个编码器E1~E6。马达控制装置60基于从运算装置70输出的动作指令使多个马达M1~M6驱动。在驱动了多个马达M1~M6的情况下,马达控制装置60被输入与由多个编码器E1~E6检测出的多个旋转位置分别对应的多个检测信号(也就是说,编码器值)。马达控制装置60将从多个编码器E1~E6输入的多个检测信号输出到运算装置70(具体地说,后述的校正参数计算部72)。马达控制装置60具有与多个马达M1~M6分别对应的多个马达控制部61~66。
运算装置70具有校正参数计算部72和动作指令部74。校正参数计算部72例如通过机器学习来计算在降低轨迹误差的计算中使用的校正参数(以下还称为“轨迹误差降低参数”)。校正参数对应于在基于预先决定的学习用的动作数据驱动了多个马达M1~M6的情况下得到的凸缘170(参照图1)的实际的动作轨迹与在基于学习用的动作数据驱动多个马达M1~M6的情况下的凸缘170的理想的动作轨迹之差。使用由多个编码器E1~E6检测出的多个马达M1~M6各自的旋转位置计算凸缘170的实际的动作轨迹。
动作指令部74使用由校正参数计算部72计算出的校正参数对实际的动作数据进行校正,基于校正后的实际的动作数据生成多个马达M1~M6的动作指令。动作指令部74将所生成的多个马达M1~M6的动作指令输出到马达控制装置60。
运算装置70也可以还具有作为第一存储部的动作数据存储部71和作为第二存储部的校正参数存储部73。动作数据存储部71(以下还称为“学习用动作一览DB”)是存储有学习用的动作数据的数据库。校正参数存储部(以下还称为“轨迹误差降低DB”)73是存储有由校正参数计算部72计算出的校正参数的数据库。此外,动作数据存储部71和校正参数存储部73也可以是同一个存储装置的不同的存储区域。另外,动作数据存储部71和校正参数存储部73也可以不是控制装置50的一部分,也可以是云服务器等外部的装置。
图4是表示控制装置50的硬件结构的图。如图4所示,能够使用保存作为软件的程序的作为存储装置的存储器51和执行被保存在存储器51中的程序的作为信息处理部的处理器52(例如通过计算机)来实现控制装置50。此外,也可以由图4所示的存储器51和处理器52实现控制装置50的一部分。另外,也可以通过电路来实现控制装置50。
接着,使用图5来说明控制装置50中的使凸缘170的实际的动作轨迹T20接近目标轨迹T10的处理。在图5中,为了使说明容易理解,使图1和图2所示的机器人装置100在三维空间中动作时的凸缘170的动作轨迹被投影到作为二维平面的XY平面。另外,目标轨迹T10是连结起点S与终点F而沿X轴方向延伸的直线的轨迹。实际的动作轨迹T20是其起点S及终点F与目标轨迹T10一致、且在起点S与终点F之间偏离了目标轨迹T10的向-Y轴方向凸起来的圆弧状的曲线的轨迹。实际的动作轨迹T20的通过点Q的X坐标与目标轨迹T10上的基准点P的X坐标相同。也就是说,实际的动作轨迹T20在X轴方向上未产生与目标轨迹T10的偏离。此外,在目标轨迹T10中,起点S与基准点P之间的距离等于基准点P与终点F之间的距离。
在实际的动作轨迹T20上的通过点Q与目标轨迹T10上的基准点P之间,在Y轴方向上产生了作为第一差的轨迹误差D1。为了使通过点Q的Y坐标接近基准点P的Y坐标,计算比基准点P靠+Y轴侧的中间点C的坐标。在此,中间点C的X坐标与基准点P及通过点Q的X坐标相同。使用后述的计算式根据通过点Q的Y坐标导出中间点C的Y坐标的值。中间点C的坐标用于与目标轨迹T10对应的动作指令的校正。具体地说,与目标轨迹T10对应的动作指令被校正为意图使凸缘170沿着包括起点S、中间点C以及终点F的轨迹动作的动作指令R10。用在起点S与终点F之间偏离了目标轨迹T10的向+Y轴方向凸起来的圆弧状的曲线来表示校正后的动作指令R10。机器人装置100(参照图1)基于校正后的动作指令R10动作,由此凸缘170(参照图1)的实际的动作轨迹T21接近目标轨迹T10。另外,中间点C的坐标是使用机器人系统1的用户能够在控制装置50中设定的参数。
接着,说明图3所示的运算装置70的动作。运算装置70的动作中包括由校正参数计算部72执行处理的“学习阶段”和由动作指令部74执行处理的“运用阶段”。
图6是表示运算装置70的学习阶段的动作的一例的流程图。首先,在步骤ST101中,校正参数计算部72从作为学习用动作一览DB的动作数据存储部71读入学习用的动作数据。图7是表示动作数据存储部71中存储的学习用的动作数据的一例的图。动作数据存储部71例如预先存储有多个学习用的动作数据。在动作数据存储部71中,例如以表形式存储有在机器学习中使机器人装置100动作时的参数(也就是说,多个机器人参数)。在图7中,摘取构成多个学习用的动作数据的各学习用的动作数据的参数的一部分来示出。参数例如包括作为凸缘170动作的动作平面的“平面”、作为凸缘170动作的方向的“动作方向”、作为凸缘170相对于凸缘170的动作平面的角度(例如,凸缘170的前端平面的角度)的“相对于平面的角度”、作为从凸缘170的动作的起点到终点的距离的“动作距离”。另外,参数例如包括作为安装于凸缘170的物体把持机构所把持的工件的重量的“工件重量”、作为凸缘170到达终点时的凸缘170的姿势的“凸缘姿势”、作为凸缘170的动作速度的“速度”、作为起点的“动作开始点”、作为工件的形状信息的“工件重心位置”。此外,在图7中,省略了“工件重心位置”的图示。另外,关于使机器人装置100动作时的参数数量,能够根据机器人系统任意地进行选择,也可以仅为图7所示的参数的一部分。
返回到图6,在步骤ST102中,校正参数计算部72判定预先决定的学习动作(例如,稍后在图9中叙述的多个学习动作)是否完成。在学习动作完成的情况下(也就是说,在步骤ST102中“是”的情况下),校正参数计算部72结束处理。在学习动作未完成的情况下(也就是说,在步骤ST102中“否”的情况下),校正参数计算部72使处理进入步骤ST103。
在步骤ST103中,校正参数计算部72计算在用于生成多个马达M1~M6的动作指令的计算中使用的中间点的坐标来作为校正参数。此外,稍后叙述计算中间点的处理的详情。
在步骤ST104中,校正参数计算部72将起点的坐标、终点的坐标以及中间点的坐标写入校正参数存储部73。在实施方式1中,校正参数计算部72将使包含起点的坐标和终点的坐标的学习用的动作数据与中间点的坐标相关联而成的数据写入校正参数存储部73。图8是表示校正参数存储部73中存储的数据的一例的图。如图8所示,在作为轨迹误差降低DB的校正参数存储部73中,以与图7所示的多个学习用的动作数据分别对应的方式,以表形式存储有中间点的坐标。此外,在图8中,省略了终点的坐标的图示。另外,如图8所示,与多个学习用的动作数据分别对应的中间点的坐标的数量也可以是2个以上。在存储有2个以上的中间点的坐标的情况下,也可以存储有中间点的通过顺序来作为构成意图使凸缘170沿着包含这2个以上的中间点的轨迹动作的实际的动作数据的一个参数。
图9是表示计算中间点的坐标的处理的示意图。在图9中,为了使说明容易理解,与图5同样地,目标轨迹T100是连结起点S与终点F而沿X轴方向延伸的直线的轨迹。目标轨迹T100中的起点S的Y坐标和终点F的Y坐标的值为0。在实施方式1中,为了使机器人装置100的凸缘170(参照图1)的实际的动作轨迹接近目标轨迹T100,进行基于第一学习用的动作数据使机器人装置100动作的第一学习动作和基于第二学习用的动作数据使机器人装置100动作的第二学习动作。
首先,说明第一学习动作。第一学习用的动作数据是基于第一中间点C1生成的。第一中间点C1是目标轨迹T100上的点。在此,起点S与第一中间点C1之间的距离等于第一中间点C1与终点F之间的距离。实际的第一动作轨迹T200是基于第一学习用的动作数据使机器人装置100(参照图1)动作时的凸缘170(参照图1)的实际的动作轨迹。实际的第一动作轨迹T200是在起点S与终点F之间偏离了目标轨迹T100的向+Y轴方向凸起来的圆弧状的曲线的轨迹。第一极大点A1是实际的第一动作轨迹T200上的与目标轨迹T100之间产生最大的轨迹误差的通过点。换言之,第一极大点A1是轨迹误差的微分值为0的实际的第一动作轨迹T200上的通过点中的与其前后的通过点相比轨迹误差大的通过点。在此,目标轨迹T100是y=0的直线的轨迹,因此实际的第一动作轨迹T200与目标轨迹T100的最大的轨迹误差相当于第一极大点A1的Y坐标A1y
接着,说明接着第一学习动作的第二学习动作。第二学习用的动作数据是基于第二中间点C2生成的。第二中间点C2是在第一学习动作中基于第一极大点A1计算出的。第二中间点C2相对于第一中间点C1向+X轴侧偏离。实际的第二动作轨迹T201是基于第二学习用的动作数据使机器人装置100动作时的凸缘170的实际的动作轨迹。实际的第二动作轨迹T201上的第二极大点A2是产生实际的第二动作轨迹T201与目标轨迹T100的最大的轨迹误差的通过点。如上所述,目标轨迹T100是y=0的直线的轨迹,因此实际的第二动作轨迹T201与目标轨迹T100的最大的轨迹误差相当于第二极大点A2的Y坐标A2y
实际的第二动作轨迹T201比实际的第一动作轨迹T200更接近目标轨迹T100。但是,在实际的第二动作轨迹T201与目标轨迹T100之间,在Y轴方向上产生少许的轨迹误差。为了使实际的第二动作轨迹T201更接近目标轨迹T100,计算第三中间点C3。第三中间点C3是基于第二中间点C2、第一极大点A1以及第二极大点A2计算出的。第三中间点C3的坐标是在使实际的第二动作轨迹T201接近目标轨迹T100的计算中使用的第一校正参数。此外,如稍后在图12和图13的(A)~(C)中叙述的那样,也可以为了使实际的第二动作轨迹T201接近目标轨迹T100而计算多个第三中间点的坐标。
第三中间点C3的X坐标C3x与第二中间点C2的X坐标C2x相同。接着,说明计算第三中间点C3的Y坐标C3y的计算式。在此,在利用一次函数规定中间点的Y坐标与最大的轨迹误差的关系的情况下,用以下的式(1)表示第一中间点C1的Y坐标C1y与最大的轨迹误差A1y的关系,用以下的式(2)表示第二中间点C2的Y坐标C2y与最大的轨迹误差A2y的关系。此外,式(1)和式(2)所示的“a”和“b”是系数。
a·C1y+b=A1y (1)
a·C2y+b=A2y (2)
在此,第一中间点C1是作为y=0的直线的轨迹的目标轨迹T100上的点,因此用以下的式(3)表示第一中间点C1的Y坐标C1y
C1y=0 (3)
根据式(1)~式(3),针对系数a和b导出以下的式(4)和式(5)。
a=(A2y-A1y)/C2y (4)
b=A1y (5)
在此,假设在利用基于第三中间点C3的坐标(C3x,C3y)生成的第三学习用的动作数据使机器人装置100动作时的实际的第三动作轨迹与目标轨迹T100的最大的轨迹误差为A3y的情况下,用以下的式(6)表示第三中间点C3的Y坐标C3y与轨迹误差A3y的关系。
a·C3y+b=A3y (6)
当对式(6)代入式(4)和式(5)时导出以下的式(7)。
C3y·(A2y-A1y)/C2y+A1y=A3y (7)
关于为了使轨迹误差A3y成为A3y→0所需的第三中间点C3的Y坐标C3y,用在式(7)中代入A3y=0之后变形的以下的式(8)表示。
C3y=-A1y·C2y/(A2y-A1y) (8)
第三中间点C3的Y坐标C3y是为了生成使实际的第二动作轨迹T201接近目标轨迹T100的动作指令而使用的校正值。
图10是表示计算第三中间点C3的坐标(C3x,C3y)的处理(图8所示的步骤ST103)的流程图。图10中的从步骤ST111至步骤ST115是第一学习动作中的处理。另外,图10中的从步骤ST116至步骤ST118是第二学习动作中的处理。首先,在步骤ST111中,校正参数计算部72获取目标轨迹T11的起点S的坐标(Sx,0)和终点F的坐标(Fx,0)。
在步骤ST112中,校正参数计算部72计算位于目标轨迹T11的起点S与终点F之间的第一中间点C1的坐标(C1x,C1y)。在此,用以下的式(9)求出第一中间点C1的X坐标C1x
C1x=(Sx+Fx)/2 (9)
此外,在图9中,第一中间点C1的Y坐标C1y如上述的式(3)所示为0。
在步骤ST113中,校正参数计算部72生成与包括起点S、第一中间点C1以及终点F的轨迹对应的第一学习用的动作数据,基于第一学习用的动作数据使机器人装置100动作,来获取图9所示的实际的第一动作轨迹T200。
在步骤ST114中,校正参数计算部72获取实际的第一动作轨迹T200与目标轨迹T100的轨迹误差最大的第一极大点A1的坐标(A1x,A1y)。
在步骤ST115中,校正参数计算部72基于第一极大点A1的坐标(A1x,A1y)计算第二中间点C2的坐标(C2x,C2y)。用以下的式(10)和式(11)求出第二中间点C2的X坐标C2x和Y坐标C2y
C2x=A1x (10)
C2y=-A1y (11)
在步骤ST116中,校正参数计算部72生成与包括起点S、第二中间点C2以及终点F的轨迹对应的第二学习用的动作数据,基于第二学习用的动作数据使机器人装置100动作,来获取图9所示的实际的第二动作轨迹T201。
在步骤ST117中,校正参数计算部72获取实际的第二动作轨迹T201与目标轨迹T100的轨迹误差最大的第二极大点A2的坐标(A2x,A2y)。
在步骤ST118中,校正参数计算部72基于第二中间点C2的坐标(C2x,C2y)、第一极大点A1的坐标(A1x,A1y)以及第二极大点A2的坐标(A2x,A2y)计算第三中间点C3的坐标(C3x,C3y)。第三中间点C3的X坐标C3x与第二中间点C2的X坐标C2x相同,因此用以下的式(12)求出。
C3x=C2x (12)
第三中间点C3的Y坐标C3y如上述的式(8)所示。
校正参数计算部72在计算第三中间点C3的坐标(C3x,C3y)之后,结束学习阶段的处理。
此外,在图10中说明了进行第一学习动作和第二学习动作的学习阶段,但是学习阶段也可以进行接着第二学习动作的第三学习动作。另外,在运算装置70的动作中的学习阶段,也可以仅进行第一学习动作。也就是说,也可以在计算第n中间点Cn的坐标(Cnx,Cny)之后结束学习阶段的处理。n是2以上的整数。另外,在图10中,校正参数计算部72也可以在步骤ST117中获取第二极大点A2之后,判定轨迹误差A2y是否为预先决定的阈值以下,决定是否使处理进入步骤ST118。具体地说,也可以在轨迹误差A2y为阈值以下的情况下,校正参数计算部72结束学习阶段的处理,在轨迹误差A2y大于阈值的情况下,校正参数计算部72使处理进入步骤ST118。并且,在将中间点的坐标三维地扩展的情况下,准备多个坐标轴,实施多次图10所示的从步骤ST111至步骤ST118的处理即可。
接着,叙述基于计算出的第三中间点C3的坐标(C3x,C3y)生成图3所示的多个马达M1~M6的动作指令的处理。图11是表示控制装置50的运用阶段的动作的流程图。首先,在步骤ST121中,由机器人系统1的用户将与凸缘170的目标轨迹对应的实际的动作数据输入到控制装置50。在图11中,为了使说明容易理解,输入到控制装置50的实际的动作数据是意图使凸缘170沿着图9所示的目标轨迹T100运动的动作数据。
在步骤ST122中,动作指令部74从校正参数存储部73读入与目标轨迹T100对应的第三中间点C3的坐标(C3x,C3y)。
在步骤ST123中,动作指令部74使用第三中间点C3的坐标(C3x,C3y)对与目标轨迹T100对应的实际的动作数据进行校正,生成校正后的动作数据来作为校正后的动作指令。具体地说,动作指令部74将与目标轨迹T100对应的实际的动作数据校正为意图使凸缘170沿着包括起点S、第三中间点C3以及终点F的轨迹运动的动作数据,生成校正后的实际的动作数据。动作指令部74基于校正后的实际的动作数据计算多个马达M1~M6的动作指令(例如,多个马达M1~M6各自的转矩或多个马达M1~M6各自的驱动时间)。
在步骤ST124中,动作指令部74将所生成的多个马达M1~M6的动作指令输出到马达控制装置60。多个马达M1~M6基于通过计算所得到的多个马达M1~M6的动作指令进行动作。在图11所示的运用阶段,基于校正后的动作数据生成多个马达M1~M6的动作指令,因此实际的动作轨迹接近目标轨迹。
如以上说明的那样,根据实施方式1,为了降低轨迹误差,利用基于通过学习计算出的作为轨迹误差降低参数的中间点C(图5所示)的坐标或第三中间点C3的坐标(C3x,C3y)(图9所示)校正后的动作指令,多个马达M1~M6使包括凸缘170的多个连杆运动,因此能够使凸缘170的实际的动作轨迹接近目标轨迹T100。其结果,能够提高机器人装置100的动作精度。
另外,中间点C(图5所示)的坐标或第三中间点C3的坐标(C3x,C3y)(图9所示)是在控制装置50中能够由用户设定(也就是说,能够输入)的参数,因此无需变更机器人装置100内部的参数而能够使凸缘170的实际的动作轨迹接近目标轨迹T100。在此,机器人装置的多个马达各自的伺服延迟时间(也就是说,响应延迟时间)是用于使机器人装置稳定地动作的重要的参数。因此,在机器人装置中,有时限制用户进行变更伺服延迟时间的设定。此时,在由于某些情况而机器人装置的动作特性发生变化的情况下,无法使前端的连杆的实际的动作轨迹接近目标轨迹。实施方式1所涉及的控制装置50如上所述那样能够使用作为能够由用户设定的参数的中间点C的坐标或第三中间点C3的坐标(C3x,C3y)来使凸缘170的实际的动作轨迹接近目标轨迹T100,因此在应用实施方式1所涉及的控制装置50来作为对限制设定伺服延迟时间的机器人装置进行控制的控制装置的情况下的效果大。
实施方式2.
在实施方式1中,如图10的步骤ST114和步骤ST115所示,校正参数计算部72基于实际的第一动作轨迹T200上的一个第一极大点A1计算一个第二中间点C2。在实施方式2中,使用图12和图13的(A)~(C)来说明基于实际的第一动作轨迹T210上的2个第一极大点A11、A12计算多个第二中间点C21、C22的坐标的例子以及计算多个第三中间点C31、C32的坐标的例子。
图12是表示实施方式2所涉及的控制装置中的计算中间点的处理的流程图。在图12中,对与图9所示的处理步骤相同的处理步骤附加有与图9所示的步骤编号相同的编号。图13的(A)是表示图12的从步骤ST111至步骤ST214的处理的示意图。图13的(B)是表示图12的从步骤ST215至步骤ST217的处理的示意图。图13的(C)是表示图12的步骤ST218的处理的示意图。
在步骤ST214中,校正参数计算部72在实际的第一动作轨迹T210上按与目标轨迹T110之差从大到小的顺序指定多个第一极大点A11、A12,获取这些多个第一极大点A11、A12的坐标(A11x,A11y)、(A12x,A12y)。在此,第一个第一极大点A11是在实际的第一动作轨迹T210上产生与目标轨迹T110之差最大的差D11的第一通过点。第二个第一极大点A12是在实际的第一动作轨迹T210上与目标轨迹T110之间产生第二差D12的第二通过点。第二差D12小于差D11。此外,校正参数计算部72也可以在实际的第一动作轨迹T210上指定3个以上的第一极大点,例如也可以指定10个第一极大点。
在步骤ST215中,校正参数计算部72基于多个第一极大点A11、A12计算多个第二中间点C21、C22的坐标(C21x,C21y)、(C22x,C22y)。在此,第一个第二中间点C21的坐标(C21x,C21y)用于使第一极大点A11接近目标轨迹T110上的第一基准点P11的计算。第二个第二中间点C22的坐标(C22x,C22y)用于使第一极大点A12接近目标轨迹T110上的第二基准点P12的计算。关于多个第二中间点C21、C22的坐标(C21x,C21y)、(C22x,C22y),参考在实施方式1中说明的式(10)和式(11)来导出。用以下的式(13)和式(14)表示第一个第二中间点C21的坐标(C21x,C21y),用以下的式(15)和式(16)表示第二个第二中间点C22的坐标(C22x,C22y)。
C21x=A11x (13)
C21y=-A11y (14)
C22x=A12x (15)
C22y=-A12y (16)
即,在步骤ST214中,在指定了m个第一极大点A1m时,用以下的式(17)和式(18)表示在步骤ST215中计算的第二中间点C2m的X坐标C2mx和Y坐标C2my。此外,m是1以上的整数。
C2mx=A1mx (17)
C2my=-A1my (18)
在步骤ST216中,校正参数计算部72生成与包括起点S、多个第二中间点C21、C22以及终点F的轨迹对应的第二学习用的动作数据,基于第二学习用的动作数据使机器人装置100动作,来获取图13的(B)所示的实际的第二动作轨迹T211。
在步骤ST217中,校正参数计算部72指定实际的第二动作轨迹T211与目标轨迹T110的轨迹误差最大的多个第二极大点A21、A22,获取这些多个第二极大点A21、A22的坐标(A21x,A21y)、(A22x,A22y)。
在步骤ST218中,校正参数计算部72基于多个第二中间点C21、C22的坐标、多个第一极大点A11、A12的坐标、多个第二极大点A21、A22的坐标计算多个第三中间点C31、C32的坐标(C31x,C31y)、(C32x,C32y)。多个第三中间点C31、C32的坐标(C31x,C31y)、(C32x,C32y)是为了生成使实际的第二动作轨迹T211接近目标轨迹T100的动作指令而使用的校正参数。一个第三中间点C31的坐标(C31x,C31y)是第一校正参数,另一个第三中间点C32的坐标(C32x,C32y)是第二校正参数。
关于多个第三中间点C31、C32的坐标(C31x,C31y)、(C32x,C32y),参考在实施方式1中说明的式(8)和式(12)来导出。例如,用以下的式(19)和式(20)表示第一个第三中间点C31的坐标(C31x,C31y),用以下的式(21)和式(22)表示第二个第三中间点C32的坐标(C32x,C32y)。
C31x=C21x (19)
C31y=-A11y·C21y/(A21y-A11y) (20)
C32x=C22x (21)
C32y=-A12y·C22y/(A22y-A12y) (22)
即,在步骤ST217中,在指定了m个第二极大点A2m时,用以下的式(23)和式(24)表示在步骤ST218中计算的第三中间点C3m的X坐标C3mx和Y坐标C3my
C3mx=C2mx (23)
C3my=-A1my·C2my/(A2my-A1my) (24)
根据实施方式2,利用基于作为轨迹误差降低参数的多个第三中间点C31、C32的坐标(C31x,C31y)、(C32x,C32y)校正后的动作指令,多个马达M1~M6使包括凸缘170的多个连杆运动,因此能够提高使凸缘170的实际的动作轨迹接近目标轨迹T100的精度。其结果,能够进一步提高机器人装置100的动作精度。
关于上述以外的方面,实施方式2与实施方式1相同。
实施方式3.
在实施方式2中,在图12所示的步骤ST218中,在计算出多个第三中间点C31、C32的坐标(C31x,C31y)、(C32x,C32y)之后,处理结束。在实施方式3中,说明根据利用基于多个第三中间点C31、C32的坐标生成的第三学习用的动作数据使机器人装置动作时的实际的第三动作轨迹与目标轨迹T110之差是否小于预先决定的阈值来判定是否结束处理的例子。
图14是表示在实施方式3所涉及的控制装置中计算中间点的处理的流程图。在图14中,对与图12所示的处理步骤相同的处理步骤附加了与图12所示的步骤编号相同的编号。如图14所示,实施方式3所涉及的控制装置的校正参数计算部在步骤ST301中利用基于多个第三中间点C31、C32的坐标生成的第三学习用的动作数据使机器人装置动作,来获取实际的第三动作轨迹。
在步骤ST302中,校正参数计算部72判定实际的第三动作轨迹与目标轨迹T110的轨迹误差是否小于预先决定的阈值。在轨迹误差小于阈值的情况下(也就是说,在步骤ST302中“是”的情况下),校正参数计算部结束处理。在轨迹误差大于阈值的情况下(也就是说,在步骤ST302中“否”的情况下),校正参数计算部将处理返回到步骤ST217。此外,在步骤ST302中“否”的情况下,校正参数计算部也可以将处理返回到步骤ST214。
如以上说明的那样,如果使用实施方式3所涉及的控制装置,则在判定为多个第三中间点C31、C32的坐标对于使实际的第二动作轨迹T211接近目标轨迹T110并非有效的情况下,能够重新设定多个第三中间点C31、C32的坐标或者追加设定新的第三中间点,因此能够进一步提高机器人装置100的动作精度。
关于上述以外的方面,实施方式3与实施方式1或2相同。
实施方式4.
在实施方式2中,说明了在图12所示的步骤ST218中校正参数计算部计算多个第三中间点C31、C32的坐标(C31x,C31y)、(C32x,C32y)的例子。在实施方式4中,也可以指定校正参数计算部计算的第三中间点的数量的上限值。
图15是表示在实施方式4所涉及的机器人系统中在多个马达M1~M6的校正后的动作指令中指定的第三中间点的数量(以下还称为“中间点的指定数量”)与轨迹误差的关系的一例的图表。在图15中,横轴是中间点的指定数量,纵轴是在基于校正后的动作指令驱动了多个马达M1~M6的情况下的凸缘170的实际的动作轨迹与目标轨迹的轨迹误差的值。在图15中,在中间点的指定数量为5个的情况下,轨迹误差最小。另外,在中间点的指定数量为6个的情况下,与中间点的指定数量为5个的情况相比轨迹误差变大。
这样,在中间点的指定数量与轨迹误差的关系上存在极小值的情况下,实施方式4所涉及的控制装置的校正参数计算部将中间点的指定数量设为5个。在图15中,校正参数计算部将凸缘170的实际的动作轨迹上的极大点的指定数量限制为5个,计算与这5个极大点分别对应的5个第三中间点的坐标。此时,期望校正参数计算部在实际的动作轨迹上按与目标轨迹的轨迹误差从大到小的顺序指定5个极大点。也就是说,校正参数计算部为了使在基于校正后的动作指令驱动了多个马达(参照图3)的情况下的凸缘170的实际的动作轨迹与目标轨迹之差最小,获取实际的动作轨迹上的j个极大点,基于j个极大点计算j个中间点的坐标。j是1、2、…、N,N是正整数。
如以上说明的那样,如果使用实施方式4所涉及的控制装置,则基于最能降低轨迹误差的中间点的指定数量校正实际的动作数据,因此能够使凸缘170的实际的动作轨迹接近目标轨迹。其结果,能够提高机器人装置100的动作精度。
关于上述以外的方面,实施方式4与实施方式1至3中的任一个相同。
实施方式5.
在实施方式2中,说明了在图12所示的步骤ST214中校正参数计算部72指定实际的第一动作轨迹T210上的多个第一极大点A11、A12的例子。在实施方式5中,在指定图13的(A)所示的实际的第一动作轨迹T210上的第一极大点时,也可以通过预先决定的方法指定该第一极大点。
图16的(A)是概略性地表示在实施方式5所涉及的控制装置中指定实际的第一动作轨迹T210上的第一极大点的方法的一例的示意图。在图16的(A)中,对与使用图13的(A)说明的实施方式2相同的结构要素附加了相同的符号。如图16的(A)所示,在实际的第一动作轨迹T210上,在相邻的多个第一极大点A11、A12间的距离L1为预先决定的基准距离以下时,校正参数计算部72仅执行基于第一极大点A11计算第二中间点C21的坐标的处理。也就是说,在图16的(A)中,在实际的第一动作轨迹T210上,在一个第一极大点A12位于接近另一个第一极大点A11的位置时,不执行计算与第一极大点A12对应的第二中间点C22的坐标的处理。此外,校正参数计算部72也可以仅执行基于第一极大点A12计算第二中间点C22的坐标的处理,而不执行计算与第一极大点A11对应的第二中间点C21的坐标的处理。
图16的(B)是概略性地表示在实施方式5所涉及的控制装置中指定实际的第一动作轨迹T210上的第一极大点的方法的其它例的示意图。如图16的(B)所示,在距离L1为预先决定的基准距离以下时,校正参数计算部72计算在使位于第一极大点A11与第一极大点A12之间的第三通过点A13接近目标轨迹T110上的第三基准点P13的计算中使用的第二中间点的坐标。也就是说,在图16的(B)中,在实际的第一动作轨迹T210上,在一个第一极大点A12位于接近另一个第一极大点A11的位置时,将位于第一极大点A11与第一极大点A12之间的第三通过点A13作为新的第一通过点来执行计算第二中间点的坐标的处理。
如以上说明的那样,如果使用实施方式5所涉及的控制装置,则限制实际的第一动作轨迹T210中的第一极大点的数量,因此能够缩短控制装置的运算装置中的处理时间以及控制装置的学习阶段的机器人装置100的动作时间。
关于上述以外的方面,实施方式5与实施方式1至4中的任一个相同。
实施方式6.
图17是概略性地表示实施方式6所涉及的机器人系统6的结构的框图。实施方式6所涉及的机器人系统6具有仿真装置80,在这一点上不同于实施方式1所涉及的机器人系统1。在图17中,对与图3所示的结构要素相同或对应的结构要素附加与图3所示的符号相同的符号。
仿真装置80将在基于学习用的动作数据驱动了多个马达M1~M6(参照图3)的情况下的凸缘170(参照图1)的动作进行模拟,预测凸缘170的实际的动作轨迹。仿真装置80预测凸缘170的实际的动作轨迹的时间比计算在基于学习用的动作数据使机器人装置100实际动作时的凸缘170的实际的动作轨迹的时间短。仿真装置80将预测出的凸缘170的实际的动作轨迹输出到校正参数计算部72。校正参数计算部72基于由仿真装置80得到的实际的动作轨迹计算校正参数。
如以上说明的那样,如果使用实施方式6所涉及的机器人系统6,则校正参数计算部72能够以短时间得到运算装置70的学习阶段的凸缘170的实际的动作轨迹。
关于上述以外的方面,实施方式6与实施方式1至5中的任一个相同。
实施方式7.
在实施方式1至6中的任一个中,说明了为了通过学习来计算校正参数而使用的学习用的动作数据与意图使机器人装置100沿着目标轨迹T1(参照图2)运动的实际的动作数据相同的例子。在实施方式7中,说明学习用的动作数据与实际的动作数据不同的例子。
图18是概略性地表示实施方式7所涉及的机器人系统7的结构的框图。在图18中,对与图3所示的结构要素相同或对应的结构要素示出与图3所示的符号相同的符号。如图18所示,机器人系统7具有机器人装置100和对机器人装置100的动作进行控制的控制装置750。
控制装置750具有进行计算校正参数的运算处理和生成对机器人装置100的动作指令的运算处理的运算装置770。运算装置770具有动作数据存储部71、校正参数计算部772、校正参数存储部773、动作指令部74以及动作数据获取部775。动作数据获取部775获取表示使机器人装置100实际驱动时的驱动条件的实际的动作数据。对于动作数据获取部775例如从未图示的输入装置输入实际的动作数据。动作数据获取部775将被输入的实际的动作数据输出到校正参数计算部772。此外,实际的动作数据也可以从输入装置直接输入到校正参数计算部772。
图19的(A)是表示图18所示的校正参数存储部773中存储的数据的一例的图。如图19的(A)所示,在校正参数存储部773中,以表形式存储有学习用的动作数据以及与该学习用的动作数据相对应的校正参数。
校正参数存储部773中存储的学习用的动作数据具有多个学习用数据。在图19的(A)中,学习用的动作数据具有用“No.1”表示的第一学习用数据和用“No.2”表示的第二学习用数据。此外,在图19的(A)中,摘取构成学习用的动作数据的参数的一部分来示出。
校正参数存储部773存储有第一中间点的坐标和第二中间点的坐标来作为校正参数。在图19的(A)所示的例子中,第一中间点的坐标是(50,2,0),第二中间点的坐标是(50,104,0)。第一中间点的坐标(50,2,0)对应于第一学习用数据,第二中间点的坐标(50,104,0)对应于第二学习用数据。此外,与第一中间点的坐标(50,2,0)对应的第一学习用数据中的“动作开始点”的坐标是(0,0,0),与第二中间点的坐标(50,104,0)对应的第二学习用数据中的“动作开始点”的坐标是(0,100,0)。
图19的(B)是表示由图18所示的动作数据获取部775获取的实际的动作数据的一例的图。在图19的(B)中,摘取构成实际的动作数据的参数的一部分来示出。如图19的(A)和(B)所示,实际的动作数据中的“平面”、“动作方向”、“凸缘姿势”、“速度”以及“动作距离”与学习用的动作数据中的“平面”、“动作方向”、“凸缘姿势”、“速度”以及“动作距离”相同。但是,实际的动作数据中的“动作开始点”的坐标是(0,50,0),与学习用的动作数据中的“动作开始点”的坐标(0,0,0)、(0,100,0)不同。也就是说,在校正参数存储部773中未存储对应于与实际的动作数据相同的学习用的动作数据的中间点的坐标。
这样,在学习用的动作数据与实际的动作数据不同的情况下,校正参数计算部772基于学习用的动作数据、基于学习用的动作数据计算出的校正参数以及实际的动作数据计算与该实际的动作数据对应的新的校正参数。具体地说,在实施方式7中,校正参数计算部772进行根据第一中间点的坐标和第二中间点的坐标通过插值来估计作为新的校正参数的新的中间点的坐标的处理。
以下,说明计算新的中间点的坐标的例子。对于校正参数计算部772从动作数据获取部775输入实际的动作数据。在图19的(A)和(B)所示的例子中,实际的动作数据中的“动作开始点”的坐标(0,50,0)与第一学习用数据中的“动作开始点”的坐标(0,0,0)之间的距离等于实际的动作数据中的“动作开始点”的坐标(0,50,0)与第二学习用数据中的“动作开始点”的坐标(0,100,0)之间的距离。
因此,校正参数计算部772计算满足第一中间点的坐标(50,2,0)与新的中间点的坐标之间的距离等于第二中间点的坐标(50,104,0)与新的中间点的坐标之间的距离这样的条件的新的中间点的坐标。在实施方式7中,满足上述条件的新的中间点的坐标是(50,53,0)。
校正参数计算部772例如通过线性插值(也就是说,一次插值)来估计新的中间点的坐标。此外,在通过线性插值来估计新的中间点的坐标的情况下,第一中间点的坐标和第二中间点的坐标都必须是绝对坐标。另外,不限于线性插值,校正参数计算部772也可以通过2次以上的多项式插值或使用机器学习的插值等其它插值方法来估计出估计中间点的坐标。使用机器学习的插值是使用支持向量机或K近邻法的插值、使用神经网络的插值等。
由校正参数计算部772计算出的新的中间点的坐标被输出到动作指令部74。动作指令部74生成意图使机器人装置100沿着包括新的中间点的坐标(50,53,0)的轨迹动作的动作指令。所生成的动作指令被输出到马达控制装置60。此外,也可以将新的中间点的坐标在校正参数存储部773中与图19的(B)所示的实际的动作数据相对应地进行存储。
根据以上说明的实施方式7所涉及的机器人系统7,校正参数计算部772基于学习用的动作数据、基于学习用的动作数据计算出的第一及第二中间点的坐标以及实际的动作数据计算新的中间点的坐标。由此,即使在学习用的动作数据与实际的动作数据不同的情况下,也能够使机器人装置100的动作轨迹接近目标轨迹。因此,能够提高机器人装置100的动作精度。
关于上述以外的方面,实施方式7与实施方式1至6中的任一个相同。
〈实施方式7的变形例〉
在实施方式7的变形例所涉及的机器人系统中,提取构成学习用的动作数据的多个学习用数据中的接近实际的动作数据的学习用数据、也就是说与实际的动作数据的误差最小的学习用数据,使用该学习用数据计算校正参数,在这一点上不同于实施方式7所涉及的机器人系统7。除此以外,实施方式7的变形例所涉及的机器人系统与实施方式7所涉及的机器人系统7相同。因此,在以下的说明中,参照图18、图19的(A)和(B)。
在学习用的动作数据与实际的动作数据不同的情况下,在实施方式7的变形例中,校正参数计算部772提取多个学习用数据(例如,图19的(A)所示的“No.1”的学习用数据和“No.2”的学习用数据)中的接近实际的动作数据的学习用数据。校正参数计算部772例如通过最小二乘法来提取多个学习用数据中的与实际的动作数据的误差小的学习用数据。此外,不限于最小二乘法,校正参数计算部772也可以通过映射等其它方法来提取接近实际的动作数据的学习用数据。在通过映射来提取的情况下,例如将学习用数据的参数和实际的动作数据的参数映射到空间,搜索学习用数据的参数与实际的动作数据的参数之间的最短距离。
校正参数计算部772计算对应于在基于提取出的学习用数据驱动了机器人装置100的情况下的实际的动作轨迹与理想的动作轨迹之差的校正参数。计算出的校正参数被输出到动作指令部74。动作指令部74生成意图使机器人装置100沿着包括与学习用数据对应的校正参数的轨迹动作的动作指令。所生成的动作指令被输出到马达控制装置60。
根据以上说明的实施方式7的变形例,校正参数计算部772基于多个学习用数据中的与实际的动作数据的误差最小的学习用数据计算校正参数。由此,即使在学习用的动作数据与实际的动作数据不同的情况下,也能够使机器人装置100的动作轨迹接近目标轨迹。因此,能够提高机器人装置100的动作精度。
另外,在学习用的动作数据由一个学习用数据构成的结构中,每当发生学习用的动作数据与实际的动作数据不同的事例时都需要计算校正参数。另一方面,根据实施方式7的变形例,学习用的动作数据由多个学习用数据构成,因此能够进行提取接近实际的动作数据的学习用数据的处理,在发生了学习用的动作数据与实际的动作数据不同的事例的情况下,容易设定校正参数。

Claims (18)

1.一种控制装置,对机器人装置进行控制,该机器人装置具有包括第一连杆的多个连杆、基于动作指令使所述多个连杆分别运动的多个马达以及分别检测所述多个马达的旋转位置的多个旋转位置检测器,所述控制装置具有:
校正参数计算部,执行计算校正参数的第一处理,该校正参数对应于所述第一连杆的实际的动作轨迹与所述第一连杆的理想的动作轨迹的第一差,所述第一连杆的实际的动作轨迹是使用在基于预先决定的学习用的动作数据驱动了所述多个马达的情况下由所述多个旋转位置检测器检测出的所述旋转位置计算出的,所述第一连杆的理想的动作轨迹是在基于所述学习用的动作数据驱动了所述多个马达的情况下的所述第一连杆的理想的动作轨迹;以及
动作指令部,在基于实际的动作数据驱动所述多个马达的情况下,使用所述校正参数对所述实际的动作数据进行校正,基于校正后的所述实际的动作数据生成所述多个马达的所述动作指令。
2.根据权利要求1所述的控制装置,其中,
所述校正参数计算部在所述第一处理中计算在使第一通过点接近所述理想的动作轨迹的计算中使用的第一校正参数,该第一通过点是在所述实际的动作轨迹上产生所述第一差的点。
3.根据权利要求2所述的控制装置,其中,
所述校正参数计算部使用所述实际的动作轨迹与所述理想的动作轨迹之差最大的所述实际的动作轨迹上的点来作为所述第一通过点。
4.根据权利要求1所述的控制装置,其中,
所述校正参数计算部:
计算作为所述理想的动作轨迹上的点的第一中间点,
基于所述第一中间点生成第一学习用的动作数据,
获取在基于所述第一学习用的动作数据驱动了所述多个马达的情况下的所述第一连杆的实际的第一动作轨迹,
获取所述实际的第一动作轨迹中的第一极大点,
基于所述第一极大点计算在使所述实际的第一动作轨迹接近所述理想的动作轨迹的计算中使用的第二中间点来作为所述校正参数。
5.根据权利要求1所述的控制装置,其中,
所述校正参数计算部:
计算作为所述理想的动作轨迹上的点的第一中间点,
基于所述第一中间点生成第一学习用的动作数据,
获取在基于所述第一学习用的动作数据驱动了所述多个马达的情况下的所述第一连杆的实际的第一动作轨迹,
获取所述实际的第一动作轨迹中的第一极大点,
基于所述第一极大点计算第二中间点,
基于所述第二中间点生成第二学习用的动作数据,
获取在基于所述第二学习用的动作数据驱动了所述多个马达的情况下的所述第一连杆的实际的第二动作轨迹,
获取所述实际的第二动作轨迹中的第二极大点,
基于所述第二中间点、所述第一极大点以及所述第二极大点计算在使所述实际的第二动作轨迹接近所述理想的动作轨迹的计算中使用的第三中间点来作为所述校正参数。
6.根据权利要求5所述的控制装置,其中,
所述校正参数计算部:
基于所述第三中间点生成第三学习用的动作数据,
获取在基于所述第三学习用的动作数据驱动了所述多个马达的情况下的所述第一连杆的实际的第三动作轨迹,
在判定为所述实际的第三动作轨迹与所述理想的动作轨迹之差大于预先决定的阈值时,再次执行获取所述第二极大点的处理和计算所述第三中间点的处理。
7.根据权利要求2或3所述的控制装置,其中,
所述校正参数计算部执行计算在使第二通过点接近所述理想的动作轨迹的计算中使用的第二校正参数的第二处理,该第二通过点是在所述实际的动作轨迹上产生所述实际的动作轨迹与所述理想的动作轨迹的第二差的点。
8.根据权利要求7所述的控制装置,其中,
所述第二差小于所述第一差。
9.根据权利要求7或8所述的控制装置,其中,
所述校正参数计算部:
计算作为所述理想的动作轨迹上的点的第一中间点,
基于所述第一中间点生成第一学习用的动作数据,
获取在基于所述第一学习用的动作数据驱动了所述多个马达的情况下的所述第一连杆的实际的第一动作轨迹,
获取所述实际的第一动作轨迹中的多个第一极大点来作为所述第一通过点和所述第二通过点,
基于所述多个第一极大点计算多个第二中间点,
基于所述多个第二中间点生成第二学习用的动作数据,
获取在基于所述第二学习用的动作数据驱动了所述多个马达的情况下的所述第一连杆的实际的第二动作轨迹,
获取所述实际的第二动作轨迹中的多个第二极大点,
基于所述多个第二中间点、所述多个第一极大点以及所述多个第二极大点计算所述第一校正参数和所述第二校正参数。
10.根据权利要求7或8所述的控制装置,其中,
所述校正参数计算部在判定为在所述实际的动作轨迹上所述第一通过点与所述第二通过点之间的距离小于预先决定的基准距离时,不执行计算所述第二校正参数的所述第二处理。
11.根据权利要求7或8所述的控制装置,其中,
所述校正参数计算部在判定为在所述实际的动作轨迹上所述第一通过点与所述第二通过点之间的距离小于预先决定的基准距离时,将在所述实际的动作轨迹上位于所述第一通过点与所述第二通过点之间的通过点作为新的第一通过点来执行计算所述第一校正参数的所述第一处理,不执行计算所述第二校正参数的所述第二处理。
12.根据权利要求1所述的控制装置,其中,
所述校正参数计算部计算使在基于校正后的所述动作指令驱动了所述多个马达的情况下的所述第一连杆的所述实际的动作轨迹与所述理想的动作轨迹之差最小的j个中间点来作为所述校正参数,其中,j=1、2、…、N,N是正整数。
13.根据权利要求1至12中的任一项所述的控制装置,其中,
所述校正参数计算部在所述学习用的动作数据与所述实际的动作数据不同的情况下,根据所述学习用的动作数据、基于所述学习用的动作数据计算出的所述校正参数以及所述实际的动作数据计算与所述实际的动作数据对应的新的校正参数。
14.根据权利要求1至12中的任一项所述的控制装置,其中,
所述学习用的动作数据具有多个学习用数据,
所述校正参数计算部在所述多个学习用数据的各学习用数据与所述实际的动作数据不同的情况下,基于所述多个学习用数据中的与所述实际的动作数据的误差最小的学习用数据执行计算所述校正参数的所述第一处理。
15.根据权利要求1至14中的任一项所述的控制装置,其中,
还具有第一存储部,该第一存储部预先存储所述学习用的动作数据。
16.根据权利要求1至15中的任一项所述的控制装置,其中,
还具有第二存储部,该第二存储部存储由所述校正参数计算部计算出的所述校正参数。
17.一种机器人系统,具有:
权利要求1至16中的任一项所述的控制装置;以及
所述机器人装置。
18.根据权利要求17所述的机器人系统,其中,
还具有仿真装置,该仿真装置将在基于所述学习用的动作数据驱动了所述多个马达时的所述第一连杆的动作进行模拟,预测所述实际的动作轨迹,
所述校正参数计算部基于由所述仿真装置预测出的所述实际的动作轨迹计算所述校正参数。
CN202080080590.7A 2019-11-25 2020-03-19 控制装置和机器人系统 Pending CN114728411A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019212226 2019-11-25
JP2019-212226 2019-11-25
PCT/JP2020/012190 WO2021106237A1 (ja) 2019-11-25 2020-03-19 制御装置及びロボットシステム

Publications (1)

Publication Number Publication Date
CN114728411A true CN114728411A (zh) 2022-07-08

Family

ID=76130415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080080590.7A Pending CN114728411A (zh) 2019-11-25 2020-03-19 控制装置和机器人系统

Country Status (3)

Country Link
JP (1) JP7357689B2 (zh)
CN (1) CN114728411A (zh)
WO (1) WO2021106237A1 (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01211102A (ja) * 1988-02-19 1989-08-24 Tokico Ltd ロボットの制御装置
JP2003530230A (ja) * 2000-04-10 2003-10-14 エービービー エービー 産業ロボットの経路補正
CN102785046A (zh) * 2011-05-17 2012-11-21 发那科株式会社 具备学习控制功能的机器人和点焊机器人
CN103080859A (zh) * 2010-08-25 2013-05-01 三菱电机株式会社 轨迹控制装置
CN104647387A (zh) * 2013-11-25 2015-05-27 佳能株式会社 机器人控制方法、系统和装置
JP2016078149A (ja) * 2014-10-15 2016-05-16 キヤノン株式会社 ロボット装置の制御方法及びロボット装置、プログラム及び記録媒体
JP2016120549A (ja) * 2014-12-24 2016-07-07 キヤノン株式会社 ロボット制御方法及びロボット制御装置
CN108073137A (zh) * 2016-11-11 2018-05-25 发那科株式会社 数值控制装置
CN108214485A (zh) * 2016-12-13 2018-06-29 发那科株式会社 机器人控制装置、以及机器人控制方法
CN110023857A (zh) * 2017-11-10 2019-07-16 三菱电机株式会社 伺服控制装置
US20190317457A1 (en) * 2018-04-13 2019-10-17 Fanuc Corporation Machine learning device, control device, and machine learning method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109571473B (zh) 2018-12-03 2021-10-12 武汉工程大学 一种误差可控的小线段轨迹光顺方法
CN109664303B (zh) 2019-02-28 2021-10-12 武汉工程大学 一种误差可控的四轴工业机器人b样条过渡式平顺轨迹生成方法
JP2021013983A (ja) 2019-07-11 2021-02-12 ファナック株式会社 移動機械の移動軌跡のずれを取得する装置、及び方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01211102A (ja) * 1988-02-19 1989-08-24 Tokico Ltd ロボットの制御装置
JP2003530230A (ja) * 2000-04-10 2003-10-14 エービービー エービー 産業ロボットの経路補正
CN103080859A (zh) * 2010-08-25 2013-05-01 三菱电机株式会社 轨迹控制装置
CN102785046A (zh) * 2011-05-17 2012-11-21 发那科株式会社 具备学习控制功能的机器人和点焊机器人
CN104647387A (zh) * 2013-11-25 2015-05-27 佳能株式会社 机器人控制方法、系统和装置
EP2875913A2 (en) * 2013-11-25 2015-05-27 Canon Kabushiki Kaisha Robot control method, robot control apparatus, robot control program, and storage medium
JP2016078149A (ja) * 2014-10-15 2016-05-16 キヤノン株式会社 ロボット装置の制御方法及びロボット装置、プログラム及び記録媒体
JP2016120549A (ja) * 2014-12-24 2016-07-07 キヤノン株式会社 ロボット制御方法及びロボット制御装置
CN108073137A (zh) * 2016-11-11 2018-05-25 发那科株式会社 数值控制装置
CN108214485A (zh) * 2016-12-13 2018-06-29 发那科株式会社 机器人控制装置、以及机器人控制方法
CN110023857A (zh) * 2017-11-10 2019-07-16 三菱电机株式会社 伺服控制装置
US20190317457A1 (en) * 2018-04-13 2019-10-17 Fanuc Corporation Machine learning device, control device, and machine learning method

Also Published As

Publication number Publication date
JP7357689B2 (ja) 2023-10-06
WO2021106237A1 (ja) 2021-06-03
JPWO2021106237A1 (zh) 2021-06-03

Similar Documents

Publication Publication Date Title
CN110355751B (zh) 控制装置和机器学习装置
JP2895672B2 (ja) 複数ロボット制御方法
JP6826069B2 (ja) ロボットの動作教示装置、ロボットシステムおよびロボット制御装置
JP2012096338A (ja) ロボット制御装置
CN108687767B (zh) 离线编程装置以及离线编程方法
JP7275759B2 (ja) 物体検出方法、物体検出装置およびロボットシステム
CN105710880B (zh) 安全的、具有轨迹前进变量的机器人
JP6217322B2 (ja) ロボット制御装置、ロボット及びロボット制御方法
JP7474681B2 (ja) プログラム生成システム、ロボットシステム、プログラム生成方法、および生成プログラム
CN107735226B (zh) 利用机器人驶过预设的轨迹
CN114728411A (zh) 控制装置和机器人系统
JP7061013B2 (ja) 経路補正方法及び多軸加工機の制御装置
EP4052865A1 (en) Information processing apparatus, robot system, information processing method, program, and recording medium
JP2020175471A (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
WO2021250923A1 (ja) ロボットシステム、制御装置、及び制御方法
JPH08286722A (ja) Cadデータ利用オフラインティーチング方法及びそのシステム
JP2000112510A (ja) ロボットの教示方法及びその装置
JPH08257955A (ja) マニピュレーターの曲面なぞり制御方法
US20230103364A1 (en) Device for controlling return of robot to origin thereof, and method of searching return path of robot to origin thereof
WO2018180298A1 (ja) ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム
JPH10244481A (ja) ロボットの動作プログラム作成方法および装置
WO2023145309A1 (ja) 動作経路生成装置、方法、及びプログラム
JP7335096B2 (ja) ロボットシステムの障害物探索装置
RU2775693C1 (ru) Способ управления многостепенным манипулятором
JP7276359B2 (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