1.本公开涉及控制装置、机器人系统、学习装置、控制方法以及程序。
背景技术:
2.产业用的机器人为了能够进行各种运动而具备多个连杆和连接多个连杆的多个关节。控制装置控制用于驱动机器人具有的多个关节的多个伺服马达,从而机器人能够进行目标动作。例如,当各伺服马达的延迟产生差时,多个连杆中的位于前端的连杆即前端连杆的实际轨迹有时相对于目标轨迹偏移。在专利文献1中公开了一种用于使机器人的实际轨迹与目标轨迹之间的误差最小化的技术的一例。
3.专利文献1所公开的机器人位置提示装置测定机器人的实际轨迹,基于实际轨迹与目标轨迹之间的距离即轨迹误差,来计算用于使误差最小化的预估提示点。通过基于预估提示点来控制机器人,从而使轨迹误差减小。
4.现有技术文献
5.专利文献
6.专利文献1:日本特开平11-048176号公报
技术实现要素:
7.发明要解决的问题
8.即便如上述那样进行使机器人的前端的实际轨迹接近目标轨迹的控制,由于在前端连杆安装加工工具而对加工对象物进行加工时前端连杆受力,因此,前端连杆的轨迹也相对于目标轨迹偏移。其结果是,加工时的机器人的控制精度下降。
9.本公开是鉴于上述的情况而完成的,其目的在于,提供一种加工时的机器人的控制精度高的控制装置、机器人系统、学习装置、控制方法以及程序。
10.用于解决问题的手段
11.为了实现上述目的,本公开的控制装置是控制机器人的控制装置,该机器人能够安装用于进行加工对象物的加工的加工工具,该控制装置具备驱动条件存储部、基准轨迹决定部、实际轨迹取得部、学习部、目标轨迹决定部以及控制部。驱动条件存储部将至少指定机器人的动作开始点和动作结束点的驱动条件与基准中间点对应地存储,该基准中间点表示机器人从动作开始点到动作结束点所通过的位置。基准轨迹决定部从驱动条件存储部取得基准中间点,针对取得的基准中间点,基于驱动条件来决定通过该基准中间点的基准轨迹。实际轨迹取得部取得机器人的实际轨迹。学习部针对所取得的基准中间点求出加工时轨迹误差,学习基准中间点与加工时轨迹误差之间的对应,生成根据驱动条件而示出使加工时轨迹误差最小化的目标中间点的轨迹模型,其中,该加工时轨迹误差表示加工时实际轨迹相对于基于驱动条件的理想轨迹的偏移,该加工时实际轨迹是在根据基准轨迹对机器人进行控制从而进行加工对象物的加工的情况下由实际轨迹取得部取得的。目标轨迹决定部决定通过从轨迹模型得到的目标中间点的目标轨迹。控制部根据基准轨迹或目标轨迹
来控制机器人。
12.发明的效果
13.本公开的控制装置学习基准中间点与加工时轨迹误差之间的对应,生成根据驱动条件而示出将加工时轨迹误差最小化的目标中间点的轨迹模型,根据通过目标中间点的目标轨迹来控制机器人。因此,通过本公开的控制装置进行加工时的机器人的控制精度高。
附图说明
14.图1是实施方式1的机器人的立体图。
15.图2是实施方式1的机器人的侧视图。
16.图3是实施方式1的机器人系统的框图。
17.图4是示出实施方式1的控制装置的硬件结构的框图。
18.图5是示出实施方式1的控制装置进行的学习处理的一例的流程图。
19.图6是示出实施方式1的驱动条件存储部所保持的驱动条件表的例子的图。
20.图7是示出实施方式1中的基准轨迹和实际轨迹的例子的图。
21.图8是示出实施方式1的学习完毕数据存储部所保持的误差表的例子的图。
22.图9是示出实施方式1的学习完毕数据存储部所保持的目标中间点表的例子的图。
23.图10是示出实施方式1的控制装置进行的运用处理的一例的流程图。
24.图11是示出实施方式1中的目标轨迹和实际轨迹的例子的图。
25.图12是实施方式2的机器人系统的框图。
26.图13是示出实施方式2的控制装置进行的学习处理的一例的流程图。
27.图14是示出实施方式2的学习完毕数据存储部所保持的误差表的例子的图。
28.图15是示出实施方式2的控制装置进行的运用处理的一例的流程图。
29.图16是实施方式3的机器人系统的框图。
30.图17是示出实施方式3的控制装置进行的学习处理的一例的流程图。
31.图18是示出实施方式3的学习完毕数据存储部所保持的误差表的例子的图。
32.图19是实施方式4的机器人系统的框图。
33.图20是示出实施方式的学习完毕数据存储部所保持的目标中间点表的变形例的图。
34.图21是示出实施方式的学习完毕数据存储部所保持的误差表的第1变形例的图。
35.图22是示出实施方式的学习完毕数据存储部所保持的误差表的第2变形例的图。
36.图23是示出实施方式的学习完毕数据存储部所保持的误差表的第3变形例的图。
37.图24是实施方式的机器人系统的变形例的框图。
38.图25是实施方式的机器人的第1变形例的立体图。
39.图26是实施方式的机器人的第2变形例的立体图。
具体实施方式
40.以下,参照附图对本公开的实施方式的控制装置、机器人系统、学习装置、控制方法以及程序详细进行说明。另外,图中针对相同或等同的部分标注相同的标号。
41.(实施方式1)
42.以具备多个连杆和多个关节的机器人为例,在实施方式1中对具备机器人和控制机器人的控制装置的机器人系统进行说明。机器人具有多个连杆、将多个连杆相互连接的多个关节、以及与多个关节对应地驱动对应的关节的多个马达。
43.如图1和图2所示,机器人10是垂直多关节型的机器人。详细而言,机器人10具备第1臂110、第2臂120、第3臂130、第4臂140、第5臂150、凸缘160以及基座170作为多个连杆。凸缘160相当于多个连杆中的位于前端的连杆即前端连杆。
44.机器人10还具备固定部180和力觉传感器190,该固定部180固定于平面并对基座170进行支承,该力觉传感器190测定在安装于凸缘160的加工工具200对加工对象物300进行加工时由凸缘160受到的力,即反作用力。在实施方式1中,固定部180是主面的形状为正方形的板状构件。
45.在图1和图2中,设定x轴和y轴作为包含在与固定部180的主面平行的面内且相互正交的轴,设定z轴作为与x轴及y轴分别正交的轴。x轴和y轴分别沿着固定部180的端面延伸。如果固定部180固定于水平面,则z轴沿铅垂方向延伸。在实施方式1中,前端连杆的轨迹、具体而言凸缘160的前端面160a的重心的轨迹由xyz正交坐标系表示。xyz正交坐标系的原点例如是机器人10处于初始位置时的前端面160a的重心的位置。当机器人10处于初始位置时,表示后述的马达m1、m2、m3、m4、m5、m6各自的旋转位置处于初始位置时。
46.第1臂110在能够绕与z轴平行的旋转轴ax1进行旋转的状态下安装于基座170。第2臂120与第1臂110连结,能够绕旋转轴ax2进行旋转。第3臂130与第2臂120连结,能够绕旋转轴ax3进行旋转。第4臂140与第3臂130连结,能够绕旋转轴ax4进行旋转。第5臂150与第4臂140连结,能够绕旋转轴ax5进行旋转。凸缘160与第5臂150连结,能够绕旋转轴ax6进行旋转。换言之,机器人10具有与旋转轴ax1、ax2、ax3、ax4、ax5、ax6对应的6个关节。
47.通过控制装置1对安装有用于进行加工对象物300的加工的加工工具200的机器人10进行控制,从而能够实现加工工具200对加工对象物300的加工。例如,如图2所示,控制装置1对机器人10进行控制,在凸缘160的前端面与固定有机器人10的平面平行的状态下使凸缘160向x轴正方向移动。其结果是,安装于凸缘160的加工工具200抵接于加工对象物300的与x轴方向交叉的侧面,通过进一步向x轴正方向移动而能够从加工对象物300除掉毛边310。毛边310是在加工对象物300的成形时形成的突起,是从加工对象物300的目标的外形突出的部分。
48.如图3所示,机器人10具备与旋转轴ax1、ax2、ax3、ax4、ax5、ax6对应的马达m1、m2、m3、m4、m5、m6。马达m1、m2、m3、m4、m5、m6是伺服马达。控制装置1根据驱动条件对马达m1、m2、m3、m4、m5、m6进行控制,由此,马达m1、m2、m3、m4、m5、m6进行旋转,第1臂110、第2臂120、第3臂130、第4臂140、第5臂150以及凸缘160进行旋转。其结果是,作为机器人10的前端连杆的凸缘160的轨迹成为与驱动条件相应的轨迹。机器人10还具备对马达m1、m2、m3、m4、m5、m6的旋转位置进行检测的编码器e1、e2、e3、e4、e5、e6。
49.机器人系统100具备具有上述结构的机器人10、以及对机器人10进行控制的控制装置1。控制装置1根据至少指定机器人10的动作开始点和动作结束点的驱动条件,进行使机器人10的轨迹具体为使凸缘160的轨迹接近理想轨迹的控制。机器人10的动作开始点是指机器人10的可动部分的动作开始点,具体而言,是机器人10具备的凸缘160的动作开始点。机器人10的动作结束点是指机器人10的可动部分的动作结束点,具体而言,是机器人10
具备的凸缘160的动作结束点。
50.在实施方式1中,控制装置1根据至少指定机器人10具备的凸缘160的动作开始点和动作结束点的驱动条件,对机器人10具备的马达m1、m2、m3、m4、m5、m6进行控制。控制装置1通过如上述那样对安装有加工工具200的机器人10进行控制,从而能够进行去除图2所示的加工对象物300的毛边310的去毛边加工、向加工对象物300安装部件等加工。
51.在根据驱动条件对机器人10进行控制而进行加工对象物300的加工时,前端连杆的实际轨迹相对于基于驱动条件的理想轨迹偏移。在实施方式1中,理想轨迹是从驱动条件所表示的动作开始点到驱动条件所表示的动作结束点为止的最短的轨迹。
52.相对于理想轨迹的偏移包括由机械因素引起的偏移和由外部因素引起的偏移。由机械因素引起的偏移例如是在不进行加工对象物300的加工的情况下由马达m1、m2、m3、m4、m5、m6各自的动作的延迟差引起的偏移。由外部因素引起的偏移例如是由于受到重力、离心力、加工反作用力等的影响而在第1臂110、第2臂120、第3臂130、第4臂140、第5臂150以及凸缘160中的至少任意一方产生机械挠曲而引起的偏移。
53.为了使由机械因素引起的偏移最小化,控制装置1与驱动条件对应地存储有基准中间点,该基准中间点用于使表示非加工时实际轨迹相对于理想轨迹的偏移的非加工时轨迹误差最小化。非加工时实际轨迹表示在不进行加工对象物300的加工的情况下根据驱动条件而被控制的机器人10的前端连杆的轨迹。基准中间点表示前端连杆从驱动条件所示的动作开始点到动作结束点所通过的位置。
54.为了使由作为外部因素的一例的加工反作用力引起的偏移最小化,控制装置1求出表示加工时实际轨迹相对于理想轨迹的偏移的加工时轨迹误差,学习基准中间点与加工时轨迹误差的对应关系。加工反作用力是凸缘160在加工对象物300的加工时受到的力。加工时实际轨迹表示根据通过基准中间点的基准轨迹对机器人10进行控制从而进行加工对象物300的加工的情况下的前端连杆的轨迹。在如上述那样学习了基准中间点与加工时轨迹误差之间的对应之后,控制装置1生成根据驱动条件而示出使加工时轨迹误差最小化的目标中间点的轨迹模型,根据通过目标中间点的目标轨迹对机器人10进行控制。通过根据目标轨迹对机器人10进行控制,能够提高加工时的机器人10的控制精度。
55.以下对控制装置1的各部进行说明。
56.控制装置1具备将驱动条件与基准中间点对应地存储的驱动条件存储部11、决定通过基准中间点的基准轨迹的基准轨迹决定部12、以及取得机器人10的实际轨迹具体而言作为前端连杆的凸缘160的实际的移动轨迹的实际轨迹取得部13。控制装置1还针对基准中间点分别求出表示加工时实际轨迹相对于理想轨迹的偏移的加工时轨迹误差,该加工时实际轨迹表示在根据基准轨迹对机器人10进行控制从而进行加工对象物300的加工的情况下由实际轨迹取得部13取得的实际轨迹。控制装置1具备学习部14,该学习部14学习基准中间点与加工时轨迹误差之间的对应,生成根据驱动条件而示出使加工时轨迹误差最小化的目标中间点的轨迹模型。
57.控制装置1还具备存储学习部14的学习结果的学习完毕数据存储部15、以及基于轨迹模型和包括驱动条件的驱动指令来决定通过与驱动条件相应的目标中间点的目标轨迹的目标轨迹决定部16。控制装置1具备:控制部17,其根据基准轨迹或目标轨迹来控制机器人10,具体而言控制马达m1、m2、m3、m4、m5、m6;以及反作用力取得部18,其从机器人10具
备的力觉传感器190取得传感器信号,根据传感器信号来计算在加工时机器人10受到的力即反作用力。
58.如图4所示,控制装置1具备处理器31、存储器32以及接口33作为硬件结构。处理器31、存储器32以及接口33相互通过总线34而连接。控制装置1的各功能通过处理器31执行存储于存储器32的程序来实现。接口33将控制装置1与外部装置连接,能够进行与外部装置的通信。详细而言,控制装置1经由接口33而与马达m1、m2、m3、m4、m5、m6、编码器e1、e2、e3、e4、e5、e6以及力觉传感器190连接。接口33根据需要具有多种接口模块。
59.图4所示的控制装置1具有一个处理器31和一个存储器32,但控制装置1也可以具有多个处理器31和多个存储器32。在该情况下,通过多个处理器31和多个存储器32协作来实现控制装置1的各功能即可。
60.具有上述结构的控制装置1进行学习处理和运用处理,在该学习处理中,按照每个驱动条件来进行根据通过基准中间点的基准轨迹控制机器人10的处理,生成根据驱动条件来而示出使加工时轨迹误差最小化的目标中间点的轨迹模型,在该运用处理中,根据通过目标中间点的目标轨迹对机器人10进行控制。轨迹误差的最小化是指,使轨迹误差接近最小值或最小值的附近值,或者接近极小值或极小值的附近值。
61.使用图5对控制装置1进行的学习处理的动作的概要进行说明。例如,在设置机器人10之后、控制装置1初次开始动作时或者追加了新的驱动条件时,控制装置1开始进行图5的学习处理。在将加工工具200安装于凸缘160并对加工对象物300进行加工的同时,进行图5的学习处理。换言之,控制装置1为了得到每个驱动条件的加工时轨迹误差而进行加工对象物300的加工。
62.基准轨迹决定部12从将驱动条件与基准中间点对应地存储的驱动条件存储部11取得驱动条件和基准中间点(步骤s11)。然后,基准轨迹决定部12基于在步骤s11中取得的驱动条件和基准中间点,来决定通过基准中间点的基准轨迹(步骤s12)。控制部17根据在步骤s12中决定出的基准轨迹对机器人10的马达m1、m2、m3、m4、m5、m6进行控制,实际轨迹取得部13取得机器人10的实际轨迹,计算反作用力(步骤s13)。
63.详细而言,控制部17为了使凸缘160按照基准轨迹进行移动而决定马达m1、m2、m3、m4、m5、m6的目标位置,进行使马达m1、m2、m3、m4、m5、m6移动到目标位置的控制。实际轨迹取得部13基于从编码器e1、e2、e3、e4、e5、e6取得的马达m1、m2、m3、m4、m5、m6的旋转位置,取得机器人10的实际轨迹。反作用力取得部18基于从力觉传感器190取得的传感器信号来计算反作用力。学习部14计算加工时轨迹误差,将加工时轨迹误差与在步骤s14中计算出的反作用力对应起来,其中,该加工时轨迹误差表示在步骤s13中取得的轨迹相对于基于在步骤s11中取得的驱动条件的理想轨迹的偏移(步骤s14)。在未针对驱动条件存储部11所存储的全部驱动条件而完成加工时轨迹误差与反作用力的对应的期间(步骤s15;否),重复进行上述的步骤s11至s14的处理。
64.在针对驱动条件存储部11所存储的全部驱动条件完成了加工时轨迹误差与反作用力的对应时(步骤s15;是),学习部14求出使加工时轨迹误差最小化的目标中间点,生成根据驱动条件来表示目标中间点的轨迹模型(步骤s16)。当步骤s16的处理完成后,控制装置1结束学习处理。
65.以下对控制装置1进行的学习处理详细进行说明。
66.如图6所示,驱动条件存储部11保持有将驱动条件与基准中间点对应起来的驱动条件表。驱动条件至少指定作为前端连杆的凸缘160的动作开始点和动作结束点。在实施方式1中,驱动条件包括前端连杆的动作开始点、动作结束点、速度以及姿态。动作开始点和动作结束点表示图1和图2所示的xyz正交坐标系中的位置。速度表示前端连杆的动作时的目标速度。姿态表示前端连杆的朝向,具体而言,表示凸缘160的前端面160a与固定有机器人10的平面所成的角度。
67.例如,图6所示的驱动条件表的第一行记录所包含的驱动条件表示在凸缘160的前端面与固定有机器人10的平面平行的状态下,使凸缘160以目标速度v1从动作开始点(0,0,0)移动到动作结束点(100,0,0)。在该情况下,理想轨迹由从动作开始点sp1(0,0,0)延伸到动作结束点ep1(100,0,0)并位于x轴上的线段表示。
68.在实施方式1中,针对各驱动条件决定了基准中间点。如上所述,基准中间点表示前端连杆从驱动条件所示的动作开始点到动作结束点所通过的位置,使得在不进行加工对象物300的加工的情况下由马达m1、m2、m3、m4、m5、m6各自的动作的延迟差引起的偏移最小化。例如,针对位于动作开始点至动作结束点之间的多个初始中间点,分别计算在不进行加工对象物300的加工的情况下根据通过初始中间点的轨迹对机器人10进行了控制时的实际的前端连杆的轨迹相对于理想轨迹的偏移,将使偏移最小化的初始中间点用作基准中间点即可。
69.基准轨迹决定部12从图6所示的驱动条件表取得对应起来的驱动条件与基准中间点。然后,基准轨迹决定部12基于驱动条件,来决定通过所取得的基准中间点的基准轨迹。详细而言,基准轨迹决定部12进行基于驱动条件所示的动作开始点、基准中间点以及驱动条件所示的动作结束点的样条插值,计算从驱动条件所示的动作开始点通过基准中间点而到达驱动条件所示的动作结束点的基准轨迹。基准轨迹例如表示每个控制周期的前端连杆在xyz正交坐标系中的位置。例如根据控制装置1的运算处理能力来决定控制周期。
70.例如,基准轨迹决定部12取得图6所示的驱动条件表的第一行记录所示的驱动条件和基准中间点。将该驱动条件中包含的动作开始点(0,0,0)和动作结束点(100,0,0)分别在图7中表示为动作开始点sp1和动作结束点ep1,将基准中间点(50,-2.5,0)在图7中表示为基准中间点rp1。基准轨迹决定部12基于指示从动作开始点sp1(0,0,0)到动作结束点ep1(100,0,0)的动作的驱动条件,来决定通过基准中间点rp1(50、-2.5、0)的基准轨迹rt1。在图7中以虚线表示的基准轨迹rt1由从动作开始点sp1通过基准中间点rp1到达动作结束点ep1的平滑的曲线表示,该曲线在xy平面中向y轴负方向突出。当如上述那样计算基准轨迹后,基准轨迹决定部12将驱动条件和决定出的基准轨迹送至学习部14和控制部17。
71.图3所示的控制部17根据从基准轨迹决定部12取得的驱动条件和基准轨迹而生成对马达m1、m2、m3、m4、m5、m6的控制指令,将控制指令发送到马达m1、m2、m3、m4、m5、m6。详细而言,控制部17根据基准轨迹所示的表示前端连杆的位置的基准位置而生成对马达m1、m2、m3、m4、m5、m6的控制指令,按照每个控制周期进行向马达m1、m2、m3、m4、m5、m6发送控制指令的处理。其结果是,马达m1、m2、m3、m4、m5、m6按照控制指令进行旋转,第1臂110、第2臂120、第3臂130、第4臂140、第5臂150以及凸缘160进行旋转。由此,作为前端连杆的凸缘160进行移动。
72.优选的是,控制部17从编码器e1、e2、e3、e4、e5、e6取得马达m1、m2、m3、m4、m5、m6的
旋转位置,对马达m1、m2、m3、m4、m5、m6进行反馈控制。
73.在如上述那样通过控制部17驱动马达m1、m2、m3、m4、m5、m6的期间,力觉传感器190对凸缘160受到的力即反作用力进行测定,输出与测定值相应的传感器信号。
74.反作用力取得部18按照每个控制周期来检测从机器人10具备的力觉传感器190取得的传感器信号,根据按照每个控制周期而检测到的值,计算机器人10在加工时受到的力即反作用力,将计算出的反作用力送至控制部17。
75.实际轨迹取得部13从编码器e1、e2、e3、e4、e5、e6取得马达m1、m2、m3、m4、m5、m6的旋转位置,从马达m1、m2、m3、m4、m5、m6的旋转位置取得前端连杆的实际的位置。实际轨迹取得部13按照每个控制周期进行上述的处理,决定实际轨迹,该实际轨迹表示每个控制周期的前端连杆在xyz正交坐标系中的实际的位置即实际位置。
76.作为一例,图7中以实线示出加工时实际轨迹at1,该加工时实际轨迹at1是在根据基于图6所示的驱动条件表的第一行记录所示的驱动条件与基准中间点rp1的基准轨迹rt1对马达m1、m2、m3、m4、m5、m6进行了控制时,由实际轨迹取得部13取得的。实际轨迹取得部13将如上述那样取得的实际轨迹送至学习部14。在未进行加工对象物300的加工的情况下根据基准轨迹rt1对马达m1、m2、m3、m4、m5、m6进行控制时,前端连杆如图7中的虚线所示的实际轨迹at0那样通过接近理想轨迹的轨迹。但是,由于在加工对象物300的加工时受到的反作用力,加工时实际轨迹at1相对于理想轨迹偏移。
77.学习部14在从实际轨迹取得部13取得了实际轨迹时,计算表示加工时实际轨迹相对于理想轨迹的偏移的加工时轨迹误差,该加工时实际轨迹表示在根据基准轨迹对机器人10进行控制而进行了加工对象物300的加工时由实际轨迹取得部13取得的轨迹。详细而言,学习部14基于驱动条件,来决定表示从动作开始点到动作结束点的最短的轨迹的理想轨迹,决定理想轨迹上的每个控制周期的前端连杆的位置。然后,学习部14计算理想位置与实际位置之间的距离,该理想位置是理想轨迹所示的每个控制周期的机器人10的位置具体而言为机器人10的前端连杆的位置,该实际位置是加工时实际轨迹所示的每个控制周期的机器人10的位置具体而言为前端连杆的位置。学习部14将距离成为最大值时的实际位置相对于理想位置的偏移用作加工时轨迹误差。
78.例如,学习部14在从基准轨迹决定部12取得了图6所示的驱动条件表的第一行记录所示的驱动条件和基准轨迹时,计算从动作开始点sp1(0,0,0)到动作结束点ep1(100,0,0)的最短的轨迹即理想轨迹。在该情况下,理想轨迹是从图7所示的动作开始点sp1(0,0,0)延伸到动作结束点ep1(100,0,0)并位于x轴上的线段。然后,学习部14计算理想轨迹所示的每个控制周期的前端连杆的理想位置与加工时实际轨迹at1所示的每个控制周期的前端连杆的实际的位置之间的距离。如图7的箭头er1所示,学习部14将该距离成为最大值时的实际位置相对于理想位置的偏移用作加工时轨迹误差。在图7的例子中,实际位置在xy平面上从理想位置向y轴正方向偏移。
79.学习部14还将反作用力与加工时轨迹误差对应起来。详细而言,学习部14将理想位置与实际位置之间的距离成为最大值时的加工时轨迹误差与反作用力对应起来。
80.学习部14针对图6所示的驱动条件表所存储的全部的驱动条件进行上述的处理。学习部14针对各驱动条件进行加工时轨迹误差的计算,来学习驱动条件、基准中间点、加工时轨迹误差以及反作用力的对应。然后,学习部14生成图8所示的误差表,并存储于学习完
毕数据存储部15。在图8的例子中,加工时轨迹误差作为向量的成分被存储。具体而言,加工时轨迹误差由将理想位置作为起点并表示实际位置的偏移的向量的成分表示。在图8的例子中,在误差表中存储有由(fx,fy,fz)表示的反作用力。
81.当针对全部的驱动条件完成了加工时轨迹误差与反作用力的对应时,学习部14根据基准中间点、加工时轨迹误差以及反作用力的对应而求出使加工时轨迹误差最小化的目标中间点,生成根据驱动条件而示出目标中间点的轨迹模型。详细而言,学习部14按照每个驱动条件,根据理想轨迹、通过基准目标点的基准轨迹、加工时轨迹误差以及反作用力而求出加工时轨迹误差成为最小的目标中间点。例如,学习部14根据反作用力对基准中间点的位置进行调节,将调节后的基准中间点设为目标中间点。在图8所示的误差表的第一行记录的例子中,反作用力的y轴成分的大小大于x轴成分和z轴成分的大小。于是,学习部14为了使向y轴正方向施加的反作用力的影响最小化,向y轴负方向对基准中间点进行调节,将调节后的基准中间点设为目标中间点。在实施方式1中,学习部14生成图9所示的目标中间点表作为轨迹模型,并存储于学习完毕数据存储部15。
82.使用图10,来说明在上述的学习处理结束后进行的机器人10的控制处理即运用处理的动作的概要。例如,控制装置1在学习处理结束后,在通过来自未图示的操作部的操作而输入了包括机器人10的驱动条件的驱动指令时,开始图10的运用处理。在将加工工具200安装于凸缘160并对加工对象物300进行加工的同时,进行图10的运用处理。
83.目标轨迹决定部16在取得了包括驱动条件的驱动指令时,从学习完毕数据存储部15取得与驱动指令所示的驱动条件相应的目标中间点(步骤s21)。然后,目标轨迹决定部16基于驱动条件,来决定通过在步骤s21中取得的目标中间点的目标轨迹(步骤s22)。控制部17根据在步骤s22中决定出的目标轨迹对机器人10的马达m1、m2、m3、m4、m5、m6进行控制(步骤s23)。
84.以下说明控制装置1进行的详细的运用处理。
85.目标轨迹决定部16在取得了驱动指令时,从存储于学习完毕数据存储部15的目标中间点表取得与驱动指令所示的驱动条件相应的目标中间点。然后,目标轨迹决定部16计算目标轨迹,该目标轨迹表示从驱动条件所示的动作开始点通过目标中间点到达驱动条件所示的动作结束点的轨迹。详细而言,目标轨迹决定部16进行基于驱动条件所示的动作开始点、目标中间点以及驱动条件所示的动作结束点的样条插值,决定从驱动条件所示的动作开始点通过目标中间点到达驱动条件所示的动作结束点的目标轨迹。目标轨迹表示每个控制周期的前端连杆的目标位置。
86.例如,目标轨迹决定部16取得驱动指令,该驱动指令表示在凸缘160的前端面160a与固定有机器人10的平面平行的状态下使凸缘160以目标速度v1从动作开始点(0,0,0)移动到动作结束点(100,0,0)的驱动条件。目标轨迹决定部16取得与所取得的驱动条件对应的图9所示的目标中间点表的第一行记录所示的目标中间点(50,-3.5,0)。将该目标中间点(50,-3.5,0)在图11中表示为目标中间点tp1。然后,目标轨迹决定部16决定从动作开始点sp1(0,0,0)通过目标中间点tp1(50,-3.5,0)到达动作结束点ep1(100,0,0)的目标轨迹tt1。如图11的虚线所示,目标轨迹tt1由从动作开始点sp1通过目标中间点tp1到达动作结束点ep1的平滑的曲线表示,该曲线在xy平面中向y轴负方向突出。当如上述那样决定目标轨迹后,目标轨迹决定部16将驱动条件和计算出的目标轨迹送至控制部17。
87.图3所示的控制部17根据从目标轨迹决定部16取得的目标轨迹而生成对马达m1、m2、m3、m4、m5、m6的控制指令,将控制指令发送到马达m1、m2、m3、m4、m5、m6。其结果是,马达m1、m2、m3、m4、m5、m6按照控制指令进行旋转,第1臂110、第2臂120、第3臂130、第4臂140、第5臂150以及凸缘160进行旋转。由此,作为前端连杆的凸缘160进行移动。通过安装有加工工具200的凸缘160进行移动,从而利用加工工具200进行加工对象物300的加工。通过根据使加工时轨迹误差最小化的目标轨迹对马达m1、m2、m3、m4、m5、m6进行控制,从而如图11所示,加工时的前端连杆的实际轨迹at1’接近理想轨迹。
88.如以上说明的那样,实施方式1的控制装置1对基准中间点与加工时轨迹误差的之间对应进行学习,并且基于反作用力,生成根据驱动条件而示出使加工时轨迹误差最小化的目标中间点的轨迹模型。控制装置1根据通过目标中间点的目标轨迹对机器人10进行控制,由此进行加工对象物300的加工。由于根据反作用力来调节目标轨迹,因此,加工时的实际轨迹接近理想轨迹,加工时的控制装置1对机器人10的控制精度变高。
89.(实施方式2)
90.机器人10的控制方法不限于实施方式1的例子,只要是考虑加工时的反作用力的方法,则可以是任意的。以与实施方式1的控制装置1的不同点为中心在实施方式2中对控制装置2进行说明,该控制装置2为了提高加工时的机器人10的控制精度,根据成为反作用力的变动原因的关于加工对象物300的信息对马达m1、m2、m3、m4、m5、m6进行控制。关于加工对象物300的信息包括加工对象物300的重量、形状、材质等。
91.图12所示的实施方式2的机器人系统101具备控制装置2和机器人10。控制装置2具备:加工对象物确定部19,其取得关于加工对象物300的信息;学习部20,其学习由加工对象物确定部19取得的关于加工对象物300的信息,生成根据驱动条件和关于加工对象物300的信息而示出目标中间点的轨迹模型;以及目标轨迹决定部21,其基于包括驱动条件的驱动指令和关于加工对象物300的信息,来决定通过目标中间点的目标轨迹。机器人10与实施方式1不同,不具备力觉传感器190。
92.由控制装置2进行机器人10的控制,从而与实施方式1同样,利用加工工具200进行除掉加工对象物300的毛边310的去毛边加工。加工对象物300例如是聚氨酯泡沫隔热材料。在加工对象物300的成形时产生毛边310。在利用聚氨酯泡沫隔热材料形成加工对象物300时,毛边310的厚度、长度等形状发生变动。毛边310的厚度是图2的例子所示的棒状的加工工具200的延伸方向即z轴方向的毛边310的厚度。毛边310的长度是图2的例子所示的加工工具200的移动方向即x轴方向的毛边310的长度。由于毛边310的形状发生变动,从而凸缘160在加工时受到的力即反作用力发生变动,加工时轨迹误差发生变动。于是,控制装置2根据通过与驱动条件和毛边310的形状相应的目标中间点的目标轨迹,对机器人10进行控制。其结果是,即便毛边310的形状发生变动,也能够提高加工时的机器人10的控制精度。
93.图12所示的加工对象物确定部19具有生成加工对象物300的图像数据的摄影装置191、以及根据摄影装置191生成的图像数据来决定加工对象物300的形状的形状决定部192。
94.在实施方式2中,加工对象物确定部19取得加工对象物300的毛边310的形状,将取得的毛边310的形状送至学习部20。毛边310的形状包括加工工具200的延伸方向即z轴方向的毛边310的厚度的最小值、最大值以及平均值中的至少任意一方。在以下的说明中,设为
加工对象物确定部19取得z轴方向的毛边310的厚度的最大值。
95.学习部20在从加工对象物确定部19取得了毛边310的形状时,将其与加工时轨迹误差对应起来。然后,学习部20将加工时轨迹误差和z轴方向的毛边310的厚度的最大值对应起来,根据驱动条件和毛边310的厚度求出使加工时轨迹误差最小化的目标中间点。
96.目标轨迹决定部21在取得了包含驱动条件的驱动指令后,从加工对象物确定部19取得毛边310的形状。然后,目标轨迹决定部21从学习完毕数据存储部15取得与驱动指令所示的驱动条件以及毛边310的形状相应的目标中间点。在取得了目标中间点后,目标轨迹决定部21基于驱动条件计算通过目标中间点的目标轨迹。
97.控制装置2的硬件结构与图4所示的控制装置1的硬件结构相同。控制装置2经由接口33而与马达m1、m2、m3、m4、m5、m6及编码器e1、e2、e3、e4、e5、e6连接。
98.使用图13来说明具有上述结构的控制装置2所进行的学习处理。与控制装置1同样,例如,在设置机器人10之后、控制装置2初次开始动作时,控制装置2开始进行图13的学习处理。在将加工工具200安装于凸缘160并对加工对象物300进行加工的同时,进行图13的学习处理。换言之,控制装置2为了得到每个驱动条件的加工时轨迹误差而进行加工对象物300的加工。
99.加工对象物确定部19取得关于加工对象物300的信息(步骤s31)。例如,加工对象物确定部19取得加工对象物300的毛边310的形状。详细而言,摄影装置191具有设置于加工对象物300的周围的多个摄像头,通过利用多个摄像头对加工对象物300进行拍摄而生成加工对象物300的图像数据。形状决定部192根据图像数据来决定加工对象物300的毛边310的形状。例如,能够将外表面的位置急剧地变化的部分看作是毛边310。由形状决定部192计算出的加工对象物300的毛边310的形状被送至学习部20。后续的步骤s11至s12的处理与图5所示的控制装置1进行的处理相同。
100.控制部17根据在步骤s12中决定出的基准轨迹对机器人10的马达m1、m2、m3、m4、m5、m6进行控制,实际轨迹取得部13基于从编码器e1、e2、e3、e4、e5、e6取得的马达m1、m2、m3、m4、m5、m6的旋转位置,取得根据基准轨迹而被控制的机器人10的轨迹(步骤s32)。学习部20计算加工时轨迹误差,将加工时轨迹误差与在步骤s31中取得的关于加工对象物300的信息对应起来,其中,该加工时轨迹误差表示在步骤s32中取得的轨迹相对于基于在步骤s11中取得的驱动条件的理想轨迹的偏移(步骤s33)。学习部20生成图14所示的误差表,并将其存储于学习完毕数据存储部15。在图14的例子中,存储有毛边310的厚度的最大值。
101.在针对驱动条件存储部11所存储的各驱动条件未完成规定次数的对应的期间(步骤s34;否),重复进行上述的处理。规定次数是指能够取得用于生成轨迹模型的数据的次数。由于加工对象物300的毛边310的形状发生变动,因此,通过针对各驱动条件重复进行上述的处理,能够取得如图14所示那样根据毛边310的变动而变动的加工时轨迹误差的数据。例如,作为进行了上述的处理的结果,如图14所示,针对各驱动条件,得到表示每个毛边310的厚度的加工时轨迹误差的误差表。
102.当针对驱动条件存储部11所存储的各驱动条件完成了规定次数的对应时(步骤s34;是),学习部20求出使加工时轨迹误差最小化的目标中间点,生成根据驱动条件和关于加工对象物300的信息而示出目标中间点的轨迹模型(步骤s35)。
103.详细而言,学习部20生成根据毛边310的厚度而示出加工时目标中间点的轨迹模
型,并存储于学习完毕数据存储部15。例如,学习部20按照多维函数拟合或神经网络模型,进行有监督学习,生成轨迹模型。有监督学习是指,通过将输入和结果的数据组大量地提供给学习装置,学习装置对大量的数据组中存在的特征进行学习,生成根据输入来估计结果的模型。例如,学习部20将驱动条件、基准中间点以及毛边310的厚度作为输入数据并将加工时轨迹误差作为结果数据而进行学习,生成轨迹模型。能够利用所生成的轨迹模型,得到使加工时轨迹误差最小化的目标中间点。
104.在机器学习中,已知估计精度会由于过度学习而下降,因此,无论在使用哪种学习模型的情况下,都优选抑制过度学习。作为抑制过度学习的方法,例如,具有对学习的数据进行归一化的方法、减少学习模型内的参数数量的方法等。作为一例,在进行多维函数拟合时,优选限制函数的维数,例如,限制为5次以下。作为另一例,在神经网络模型中,优选限制中间层的数量,例如,限制为10层以下。此外,在神经网络模型中,也可以将学习模型的特定层的输出在学习时随机地设为0。此外,也可以通过组合上述的方式,来抑制过度学习。
105.当步骤s35的处理完成后,控制装置2结束学习处理。使用图15来说明在上述的学习处理结束之后进行的运用处理的动作。例如,控制装置2在学习处理结束之后通过来自未图示的操作部的操作输入了包含机器人10的驱动条件的驱动指令时,开始图15的运用处理。
106.目标轨迹决定部16在取得包含驱动条件的驱动指令后,从加工对象物确定部19取得关于加工对象物300的信息,例如,加工对象物300的毛边310的厚度(步骤s24)。目标轨迹决定部16从学习完毕数据存储部15取得与在步骤s24中取得的驱动指令所示的驱动条件以及在步骤s24中取得的毛边310的厚度相应的目标中间点(步骤s25)。如果不存在毛边310的厚度一致的数据,则基于毛边310的厚度的值接近的数据进行插值处理,取得目标中间点即可。
107.步骤s22、s23的处理与图10所示的实施方式1的控制装置1进行的处理相同。
108.如以上说明的那样,实施方式2的控制装置2对基准中间点、加工时轨迹误差以及关于加工对象物300的信息之间的对应进行学习,求出使加工时轨迹误差最小化的目标中间点,生成根据驱动条件和关于加工对象物300的信息而示出目标中间点的轨迹模型。控制装置2根据通过目标中间点的目标轨迹对机器人10进行控制,由此,进行加工对象物300的加工。由于根据关于加工对象物300的信息例如加工对象物300的毛边310的厚度来调节目标轨迹,因此,加工时的实际轨迹接近理想轨迹,加工时的控制装置2对机器人10的控制精度变高。
109.(实施方式3)
110.考虑了加工时的反作用力的机器人10的控制不限于上述的实施方式,也可以通过组合了上述的实施方式的方法对机器人10进行控制。针对根据加工时的反作用力和关于加工对象物300的信息来控制机器人10的控制装置3,以与实施方式1、2的不同点为中心在实施方式3中进行说明。
111.图16所示的实施方式3的机器人系统102具备控制装置3和机器人10。控制装置3除了实施方式1的控制装置1的结构之外,还具备取得关于加工对象物300的信息的加工对象物确定部19。控制装置3具备学习部22,该学习部22对加工时轨迹误差、反作用力以及由加工对象物确定部19取得的关于加工对象物300的信息之间的对应进行学习,求出使加工时
轨迹误差最小化的目标中间点,生成根据驱动条件和关于加工对象物300的信息而示出目标中间点的轨迹模型。在控制装置3中,控制部17从反作用力取得部18取得反作用力。
112.控制装置3的硬件结构与图4所示的控制装置1的硬件结构相同。控制装置3经由接口33,与马达m1、m2、m3、m4、m5、m6、编码器e1、e2、e3、e4、e5、e6以及力觉传感器190连接。
113.使用图17来说明具有上述结构的控制装置3进行的学习处理。与控制装置1同样,例如,在设置机器人10之后、控制装置3初次开始动作时,控制装置3开始进行图17的学习处理。步骤s31的处理与图13所示的控制装置2进行的处理相同。步骤s11至s13的处理与图5所示的控制装置1进行的处理相同。
114.但是,在步骤s13中,控制部17在反作用力增大时,将基准轨迹所示的位置调节为远离加工对象物300的位置,根据调节后的基准轨迹对马达m1、m2、m3、m4、m5、m6进行控制。由此,抑制了前端连杆的轨迹由于较大的反作用力而相对于理想轨迹大幅偏移。
115.与实施方式1同样,学习部22计算表示基于在步骤s11中取得的驱动条件的理想轨迹与在步骤s14中测定出的实际轨迹之间的差分的加工时轨迹误差,将加工时轨迹误差、在步骤s14中计算出的反作用力、以及在步骤s31中取得的关于加工对象物300的信息对应起来(步骤s36)。详细而言,学习部22将理想轨迹上的每个控制周期的前端连杆的理想位置与加工时实际轨迹所示的每个控制周期的前端连杆的实际的位置之间的距离成为最大值时的加工时轨迹误差与反作用力对应起来。学习部22生成图18所示的误差表,并存储于学习完毕数据存储部15。在图18的例子中,在误差表中存储有由(fx,fy,fz)表示的反作用力。在图18的例子中,存储有毛边310的厚度的最大值。
116.如图17所示,在针对驱动条件存储部11所存储的各驱动条件未完成规定次数的对应的期间(步骤s34;否),重复进行上述的处理。规定次数是指,能够取得用于生成轨迹模型的数据的次数。
117.在针对驱动条件存储部11所存储的各驱动条件完成了规定次数的对应时(步骤s34;是),学习部20生成根据驱动条件和关于加工对象物300的信息而示出使加工时轨迹误差最小化的目标中间点的轨迹模型(步骤s37)。
118.详细而言,学习部22生成根据毛边310的厚度来表示加工时目标中间点的轨迹模型,并存储于学习完毕数据存储部15。例如,学习部22按照神经网络模型进行有监督学习,生成轨迹模型。详细而言,学习部22将驱动条件、基准中间点、反作用力以及毛边310的厚度作为输入数据并将加工时轨迹误差作为结果数据而进行学习,生成轨迹模型。能够利用所生成的轨迹模型,来决定使加工时轨迹误差最小化的目标中间点。为了抑制过度学习,优选轨迹模型具有小于10个的中间层。
119.在步骤s37的处理完成后,控制装置3结束学习处理。上述的学习处理结束后进行的运用处理与图15所示的控制装置2进行的处理相同。
120.如以上说明的那样,实施方式3的控制装置3对基准中间点、加工时轨迹误差、反作用力以及关于加工对象物300的信息之间的对应进行学习,求出使加工时轨迹误差最小化的目标中间点,生成根据驱动条件和关于加工对象物300的信息而示出使加工时轨迹误差最小化的目标中间点的轨迹模型。控制装置3根据通过目标中间点的目标轨迹对机器人10进行控制,由此,进行加工对象物300的加工。由于根据关于加工对象物300的信息、例如加工对象物300的毛边310的厚度来调节目标轨迹,因此,加工时的实际轨迹接近理想轨迹,加
工时的控制装置3对机器人10的控制精度变高。
121.关于加工对象物300的信息不限于上述的例子,只要是成为反作用力的变动的主要原因的关于加工对象物300的信息,则可以是任意的。作为一例,加工对象物确定部19也可以是加工工具200的移动方向在上述的例子中为x轴方向的毛边310的长度的最小值、最大值或平均值。
122.(实施方式4)
123.取得机器人10的轨迹的方法不限于上述的例子。针对具备机器人10和通过与实施方式1不同的方法取得机器人10的轨迹的控制装置4的机器人系统103,以与实施方式1的机器人系统100的不同点为中心进行说明。
124.图19所示的控制装置4具备与马达m1、m2、m3、m4、m5、m6的旋转位置无关地取得机器人10的轨迹的实际轨迹取得部23。实际轨迹取得部23具有测定机器人10的轨迹的测定器,例如三维测定器,根据测定器的测定值来取得机器人10的轨迹。三维测定器向机器人10的前端连杆的移动范围照射激光并接收由机器人10的前端连杆反射后的激光,由此取得机器人10的前端连杆的位置。
125.在实施方式4中,实际轨迹取得部23按照每个控制周期进行上述的处理,计算表示实际位置的实际轨迹,该实际位置是每个控制周期的前端连杆在xyz正交坐标系中的实际的位置。然后,实际轨迹取得部23将实际轨迹送至学习部14。
126.控制装置4的硬件结构与图4所示的控制装置1相同。
127.具有上述结构的控制装置4进行的学习处理除了前端连杆的轨迹的取得方法之外,与控制装置1相同。控制装置4进行的运用处理与控制装置1相同。
128.如以上说明的那样,实施方式4的控制装置4与马达m1、m2、m3、m4、m5、m6的旋转位置无关地取得机器人10的轨迹,因此,在取得的实际轨迹中不包含由机器人10的机械刚性引起的误差,实际轨迹的精度提高。
129.本公开不限于上述的实施方式。
130.驱动条件不限于上述的例子。作为一例,驱动条件还可以包含关于加工对象物300的信息。具体而言,驱动条件也可以包含前端连杆的动作开始点、动作结束点、速度和姿态、以及加工对象物300的重量。学习部14从外部装置例如测定加工对象物300的重量的重量传感器取得测定值即可。详细而言,控制装置1-4从重量传感器取得测定值,按照驱动条件存储部11所存储的驱动条件对机器人10进行控制,计算与驱动条件及重量传感器的测定值对应的加工时轨迹误差,对基准中间点、重量传感器的测定值以及加工时轨迹误差之间的对应进行学习,求出使加工时轨迹误差最小化的目标中间点,生成根据驱动条件和加工对象物300的重量而示出目标中间点的轨迹模型。其结果是,如图20所示,学习部14生成将包含前端连杆的动作开始点、动作结束点、速度和姿态、以及加工对象物300的重量的驱动条件与目标中间点对应起来的目标中间点表。
131.在运用时,目标轨迹决定部16在取得驱动指令后,从学习完毕数据存储部15取得与驱动指令所示的前端连杆的动作开始点、动作结束点、速度和姿态、以及重量传感器的测定值相应的目标中间点。然后,目标轨迹决定部16基于驱动指令所示的前端连杆的动作开始点、动作结束点、速度和姿态,来决定通过目标中间点的目标轨迹。基于与加工对象物300的重量相应的目标轨迹对机器人10进行控制,由此,机器人10的控制精度提高。
132.作为另一例,驱动条件也可以包含前端连杆的动作开始点、动作结束点、从动作开始点到动作结束点所需的时间和姿态。
133.在上述的实施方式中,驱动条件指示平面中的直线移动,但驱动条件也可以指示三维中的移动、曲线移动等。
134.在上述的实施方式中,在驱动条件存储部11所存储的驱动条件表的1个记录中存储有1个基准中间点,但也可以在驱动条件表的1个记录中存储多个基准中间点。在该情况下,基准轨迹决定部12决定通过存储于相同记录的多个基准中间点的基准轨迹即可。
135.驱动条件存储部11和学习完毕数据存储部15也可以设置于控制装置1-4的外部。作为一例,驱动条件存储部11和学习完毕数据存储部15也可以作为网络上的存储装置的功能来实现。
136.基准轨迹、理想轨迹以及目标轨迹的决定方法不限于上述的例子。详细而言,在实施方式1中,基准轨迹决定部12所决定的基准轨迹rt1由从动作开始点sp1通过基准中间点rp1到达动作结束点ep1的平滑的曲线表示,该曲线在xy平面中向y轴负方向突出,但基准轨迹rt1不限于这样的曲线,也可以由向多个方向突出的曲线表示。作为一例,基准轨迹rt1也可以由如下曲线表示,该曲线在从动作开始点sp1到动作结束点ep1为止向y轴负方向突出、并且在动作开始点sp1和动作结束点ep1的附近在xy平面中向y轴正方向突出。
137.作为另一例,基准轨迹决定部12也可以对驱动条件所示的动作开始点和基准中间点进行线性插值,对基准中间点和驱动条件所示的动作结束点进行线性插值,由此,来计算基准轨迹。即便通过线性插值来计算基准轨迹,通过控制部17进行使马达m1、m2、m3、m4、m5、m6平滑地旋转的控制,前端连杆也平滑地移动,实际轨迹成为平滑的曲线。
138.作为另一例,基准轨迹决定部12也可以使用将动作开始点、基准中间点以及动作结束点与每个控制周期的前端连杆的基准位置对应起来的未图示的表,来决定基准轨迹。
139.针对理想轨迹和目标轨迹,也能够通过与上述的基准轨迹的决定方法同样的方法来决定。
140.在实施方式1中,使机器人10直线地移动,因此理想轨迹是直线,但根据机器人10的移动方式来决定理想轨迹即可,不限于直线。具体而言,理想轨迹也可以是圆弧、曲线、或者直线、圆弧以及曲线的组合。
141.在实施方式1中,目标轨迹决定部16所决定的目标轨迹tt1由从动作开始点sp1通过目标中间点tp1到达动作结束点ep1的平滑的曲线表示,该曲线在xy平面中向y轴负方向突出,但目标轨迹tt1不限于这样的曲线。作为一例,目标轨迹tt1也可以由如下曲线表示,该曲线在从动作开始点sp1到动作结束点ep1为止向y轴负方向突出、并且在动作开始点sp1和动作结束点ep1的附近在xy平面中向y轴正方向突出。
142.作为另一例,目标轨迹决定部16也可以通过对驱动条件所示的动作开始点和目标中间点进行线性插值,并对目标中间点和驱动条件所示的动作结束点进行线性插值,来决定目标轨迹。即便通过线性插值决定目标轨迹,通过控制部17进行使马达m1、m2、m3、m4、m5、m6平滑地旋转的控制,前端连杆也平滑地移动,实际轨迹成为平滑的曲线。
143.目标中间点的决定方法不限于上述的例子。作为一例,学习部14也可以使用线性回归、曲线回归、多项式回归、多维函数拟合等,来决定目标中间点。例如,学习部14也可以使基准中间点的xyz各坐标成分为独立变量,将加工时轨迹误差作为目标函数进行多维函
数拟合,来决定目标中间点。
144.学习部14也可以计算理想位置与实际位置之间的距离,将距离成为极大值时的实际位置相对于理想位置的偏移用作轨迹误差,其中,该理想位置是理想轨迹所示的每个控制周期的前端连杆的位置,该实际位置是实际轨迹所示的每个控制周期的前端连杆的位置。在该情况下,如图21所示,学习部14也可以将多个加工时轨迹误差存储于误差表。然后,学习部14基于作为加工时轨迹误差而存储的极大值,来计算目标中间点即可。关于学习部20、22也是同样的。
145.学习部14也可以将与轨迹误差对应的前端连杆的实际的位置存储于误差表。例如,学习部14在将每个控制周期的前端连杆的理想位置与实际轨迹所示的每个控制周期的前端连杆的实际的位置之间的距离的极大值用作加工时轨迹误差时,也可以如图22所示,将距离成为极大值时的前端连杆的实际的位置即实际位置存储于误差表。然后,学习部14基于作为加工时轨迹误差而存储的极大值和与极大值对应的前端连杆的实际的位置,来计算目标中间点即可。关于学习部20、22也是同样的。
146.如图23所示,学习部14也可以将距离成为极大值时的反作用力存储于误差表。然后,学习部14基于作为加工时轨迹误差而存储的极大值和与极大值对应的反作用力,来计算目标中间点即可。
147.学习部14、20、22也可以与在学习处理完成后进行的运用处理并行地再次进行学习处理。详细而言,学习部14、20、22在运用处理时,计算表示理想轨迹与实际轨迹取得部13取得的实际轨迹之间的差分的轨迹误差,得到加工时轨迹误差,其中,该理想轨迹对应于目标轨迹决定部16取得的驱动指令所示的驱动条件。通过与运用处理时并行地进行学习处理,使轨迹误差最小化的目标中间点的精度提高,作为结果,机器人10的控制精度提高。
148.学习部14、20、22也可以使用前端连杆的实际位置相对于理想位置的偏移的绝对值、平均值、中央值来决定目标中间点,作为轨迹误差。
149.加工对象物确定部19只要取得关于加工对象物300的信息,则可以是任意的。作为一例,摄影装置191可以是三维摄像头,也可以是二维摄像头。作为另一例,加工对象物确定部19也可以具有安装于机器人10并测定加工对象物300的形状的激光扫描仪。
150.由加工对象物确定部19进行的毛边310的形状的决定方法不限于上述的例子。作为一例,加工对象物确定部19具有的形状决定部192也可以对摄影装置191生成的图像数据与设计数据进行比较,将图像数据与设计数据不一致的部分判定为毛边310。
151.也可以将控制装置1-4进行的学习处理作为其他装置的功能。作为一例,图24示出通过进行机器人10的控制的控制装置5和生成轨迹模型的学习装置6来实现实施方式1的控制装置1的功能的例子。图24所示的机器人系统104具备机器人10、控制机器人10的控制装置5、以及生成用于控制机器人10的轨迹模型的学习装置6。
152.学习装置6具备驱动条件存储部11、基准轨迹决定部12、实际轨迹取得部13、学习部14、学习完毕数据存储部15以及反作用力取得部18。学习装置6的各部的功能与控制装置1的对应的各部的功能相同。控制装置5具备目标轨迹决定部16和控制部17。控制装置5的各部的功能与控制装置1的对应的各部的功能相同。控制装置5具备的目标轨迹决定部16从学习装置6具备的学习完毕数据存储部15取得轨迹模型即可。控制装置5具备的控制部17根据从学习装置6具备的基准轨迹决定部12取得的基准轨迹或者由目标轨迹决定部16计算出的
目标轨迹对机器人10进行控制。学习完毕数据存储部15也可以为能够从控制装置5和学习装置6访问的独立的存储装置。同样,能够通过控制装置5和学习装置6来实现控制装置2、3的功能。
153.作为另一例,在图24所示的机器人系统104中,也可以使控制装置5具有学习装置6所具备的学习部14的功能内的生成轨迹模型的处理。在该情况下,学习装置6按照每个与驱动条件相应的基准中间点来计算加工时轨迹误差,将加工时轨迹误差存储于学习完毕数据存储部15即可。控制装置5取得学习装置6预先学习的数据,具体而言学习完毕数据存储部15所存储的加工时轨迹误差并保持即可。然后,控制装置5生成按照每个驱动条件而示出使加工时轨迹误差最小化的目标中间点的轨迹模型即可。
154.作为控制装置1-5的控制对象的机器人10的轨迹不限于前端连杆的轨迹,是机器人10或安装于机器人10的加工工具200内的任意部位的轨迹。
155.实际轨迹取得部23取得前端连杆的轨迹的取得方法不限于上述的例子。作为一例,实际轨迹取得部23具有多个摄像头作为测定器。实际轨迹取得部23也可以通过多个摄像头来拍摄机器人10的前端连杆的移动范围,根据由多个摄像头拍摄到的图像来决定机器人10的前端连杆的位置。
156.作为另一例,实际轨迹取得部23具有安装于机器人10的前端连杆的加速度传感器作为测定器。实际轨迹取得部23也可以基于加速度传感器的测定值来决定机器人10的前端连杆的位置。
157.实际轨迹取得部23也可以按照独立于控制周期的每个取得周期,来测定机器人10的前端连杆的位置。在该情况下,学习部14对每个取得周期的机器人10的前端连杆的位置进行插值,决定每个控制周期的机器人10的前端连杆的位置,与理想位置进行比较即可。详细而言,学习部14使用线性插值、多项式插值等进行插值处理。
158.控制部17也可以根据由上述的实际轨迹取得部23取得的机器人10的前端连杆的位置,对马达m1、m2、m3、m4、m5、m6进行反馈控制。
159.此外,上述的硬件结构和流程图是一例,能够任意地进行变更和修正。作为一例,控制装置1-4和学习装置6也可以根据未图示的操作部的操作而开始学习处理。
160.在上述的实施方式中,使机器人10实际上进行动作来求出轨迹误差,但也可以通过模拟进行学习处理。
161.也可以通过将用于执行上述动作的计算机程序存储于软盘、cd-rom(compact disc-read only memory:光盘-只读存储器)、dvd-rom(digital versatile disc-read only memory:数字多功能光盘-只读存储器)等计算机可读取的记录介质并发布,将该计算机程序安装于计算机,来实现执行上述的动作的控制装置1-5和学习装置6。或者也可以通过专用的系统,来实现执行上述的动作的控制装置1-5和学习装置6。也可以将上述计算机程序重叠于载波并经由通信网络来提供。
162.机器人10不限于上述的例子,是任意的。作为一例,控制装置1-5也可以对图25所示的作为水平多关节机器人的机器人40进行控制。机器人40具备第1臂410、第2臂420、第3臂430以及基座440。第1臂410以能够绕与z轴平行的旋转轴ax1进行旋转的状态安装于基座440。第2臂420与第1臂410连结,能够绕与z轴平行的旋转轴ax2进行旋转。第3臂430与第2臂420连结,能够绕与z轴平行的旋转轴ax3进行旋转。此外,第3臂430能够在沿着旋转轴ax3的
方向上伸缩。基座440固定于平面,对第1臂410进行支承。能够在第3臂430安装加工工具200。控制装置1-5通过对机器人40具备的未图示的马达进行控制,来控制作为第3臂430的前端的前端连杆的位置即可。
163.作为另一例,控制装置1-5也可以对图26所示的具有多个轴的机器人即机器人50进行控制。机器人50具备第1臂510、第2臂520以及基座530。第1臂510以能够沿x轴方向进行移动的状态安装于基座530。第2臂520与第1臂510连结,能够沿y轴方向进行移动。基座530固定于平面,对第1臂510进行支承。在第2臂520安装有加工工具200。在图26的例子中,第2臂520是印刷头,通过具有液体排出部和排出喷嘴的加工工具200,在设置于基座530上的载台540上的基板上形成电极。详细而言,加工工具200的前端能够在载台540上沿x轴方向和y轴方向进行移动。控制装置1-5通过对机器人50具备的未图示的马达进行控制来控制作为第2臂520的前端的前端连杆的位置即可。
164.在上述的例子中,机器人10、40、50的前端连杆的位置由xyz正交坐标系定义,但也可以由圆筒坐标系定义。
165.本公开在不脱离本公开的广义的精神和范围的情况下能够采用各种实施方式和变形。此外,上述的实施方式用于说明本公开,不限定本公开的范围。即,本公开的范围由权利要求书示出,而并非由实施方式示出。而且,在权利要求书以及与其等同的公开的意义的范围内实施的各种变形被看作是本公开的范围内。
166.本技术是基于2021年2月18日申请的日本专利申请特愿2021-23848号而完成的。日本专利申请特愿2021-23848号的说明书、权利要求书、附图整体作为参照被引入到本说明书中。
167.附图标记说明
168.1、2、3、4、5控制装置,6学习装置,10、40、50机器人,11驱动条件存储部,12基准轨迹决定部,13、23实际轨迹取得部,14、20、22学习部,15学习完毕数据存储部,16、21目标轨迹决定部,17控制部,18反作用力取得部,19加工对象物确定部,31处理器,32存储器,33接口,34总线,100、101、102、103、104机器人系统,110、410、510第1臂,120、420、520第2臂,130、430第3臂,140第4臂,150第5臂,160凸缘,160a前端面,170、440、530基座,180固定部,190力觉传感器,191摄影装置,192形状决定部,200加工工具,300加工对象物,310毛边,540载台,at0、at1、at1’实际轨迹,ax1、ax2、ax3、ax4、ax5、ax6旋转轴,e1、e2、e3、e4、e5、e6编码器,ep1动作结束点,er1、er2轨迹误差,m1、m2、m3、m4、m5、m6马达,rp1基准中间点,rt1基准轨迹,sp1动作开始点,tp1目标中间点,tt1目标轨迹。