机器人控制装置、机器人以及机器人系统的制作方法

文档序号:12440546阅读:354来源:国知局
机器人控制装置、机器人以及机器人系统的制作方法

本发明涉及机器人控制装置、机器人以及机器人系统。



背景技术:

近年来,在机器人的领域,为了根据对机械手施加的力来控制动作位置而使用力检测器。在这里,所谓的动作位置是基于有源阻抗控制中的目标力和对机械手实际施加的力导出的位置。在专利文献1中公开了一种通过显示对机械手施加的力的时间变化、或显示机械手的动作位置的时间变化来容易地进行教示的技术。

另外,在机器人的领域,使用根据对机械手施加的力来控制机械手的力控制。例如,在专利文献2的图2中记载有根据“Activate Force Control;”指令、“Deactivate Force Control;”指令来进行根据对机械手施加的力来控制机械手的力控制模式、以及与对机械手施加的力无关地控制机械手的位置控制模式的切换的程序。

另外,在机器人的领域,公知有将机器人的动作状态显示于显示器、示教器的技术(参照专利文献3、4)。在专利文献3、4中,能够通过视觉确认显示器、示教器,来识别机器人的动作状态。

专利文献1:日本特开2014-128857号公报

专利文献2:美国专利第7340323号公报

专利文献3:日本特开2007-196298号公报

专利文献4:日本特开2013-202731号公报

然而,在专利文献1所公开的技术中,很难知道对机器人设定的目标轨迹和实际的动作轨迹的对应关系。例如,教示者需要基于实际的动作轨迹是如何变为对机器人设定的目标轨迹的,并通过试错来更新并且教示初始位置、目标位置,但在很难知道目标轨迹与实际的动作轨迹的对应关系的情况下,存在判断教示是否是最佳需要很长时间的问题。

另外,在专利文献2所公开的技术中,在根据指令从位置控制模式切换到力控制模式后,执行根据所施加的力来使机械手动作的指令的情况下,存在机械手的动作结果的再现性降低的问题。即,在利用石英的压电效应的情况下等,由于力检测器的输出取决于时间,所以根据是基于力检测器的哪个时间的输出来控制机械手的,动作结果会有不同。具体而言,若以从位置控制模式切换到力控制模式时刻的力检测器的输出为基准来检测对机械手施加的力,则由于从切换到力控制模式开始到执行使机械手实际移动的指令为止的时间的差异,机械手的动作结果不同。

另外,在专利文献3、4所公开的技术中,存在即使在显示器、示教器上显示有动作状态,也很难直观地识别显示的是机器人的哪个部分的动作状态的问题。另外,为了确认动作状态必须视觉确认显示器、示教器,而存在必须暂时盯紧实际动作的机器人的问题。



技术实现要素:

本发明是为了解决上述问题中的至少一部分而完成的,其目的在于提供容易把握目标轨迹与实际的动作轨迹的对应关系的技术、或者提高针对机器人的力控制的再现性的技术、或者能够容易地识别机械手的状态的技术。

(应用例1)本应用例的机器人控制装置是具对备机械手、设置于上述机械手的力检测器以及基于目标位置来驱动上述机械手的致动器的机器人进行控制的机器人控制装置,机器人控制装置具备将基于目标力和力检测器的输出导出的机械手的动作轨迹、以及上述目标位置的轨迹显示于画面的显示控制部。

通过采用该结构,教示者能够容易地把握目标位置以及轨迹与实际的动作位置以及轨迹。

(应用例2)根据上述应用例1所述的机器人控制装置,优选上述显示控制部将上述目标位置和上述动作位置显示于同一坐标平面。

(应用例3)根据上述应用例2所述的机器人控制装置,优选上述显示控制部对将三维的上述目标位置和三维的上述动作位置投影到二维坐标平面后的轨迹进行显示。

(应用例4)根据上述应用例所述的机器人控制装置,优选上述显示控制部将上述目标位置和上述动作位置显示为时间的函数。

(应用例5)根据上述应用例所述的机器人控制装置,优选上述显示控制部获取显示区间,并对与上述显示区间对应的上述目标位置和上述动作位置进行显示。

(应用例6)根据上述应用例5所述的机器人控制装置,优选上述显示区间由控制上述机械手的指令的标识符确定。

(应用例7)根据上述应用例5或者6所述的机器人控制装置,优选上述显示区间由时间确定。

(应用例8)根据上述应用例所述的机器人控制装置,优选上述显示控制部对上述目标位置和上述动作位置的变化方向进行显示。

(应用例9)根据上述应用例所述的机器人控制装置,优选上述显示控制部对上述目标位置和上述动作位置进行实时显示。

(应用例10)根据上述应用例所述的机器人控制装置,优选还具备受理基于所显示的上述目标位置和上述动作位置的教示者的教示的教示部。

(应用例11)一种机器人系统,其特征在于,具备:机器人,上述机器人具备机械手、设置于上述机械手的力检测器以及基于目标位置来驱动上述机械手的致动器;以及上述应用例所述的机器人控制装置。

(应用例12)本应用例的机器人控制装置是对具备机械手、以及检测作用于上述机械手的力的力检测器的机器人进行控制的机器人控制装置,在控制上述机械手的动作的控制部执行使上述机械手动作的指令时,根据该指令的参数来切换是基于上述力检测器的输出来控制上述机械手的动作,还是不基于上述力检测器的输出来控制上述机械手的动作。

在这里,“使机械手动作的指令”是指通过其本身使机械手动作的指令,不包含设定、模式的切换这样的不能通过其本身使机械手动作的指令。即例如,在本应用例中,通过使机械手动作的指令的自变量、指令的主体本身,来决定是否基于力检测器的输出来控制机械手的动作。因此,根据本应用例,在基于力检测器的输出来控制机械手的动作的情况下,能够基于以执行使机械手实际移动的指令的时刻为输出的基准的力检测器的输出来控制机械手的动作。因此,根据本应用例能够提高针对机器人的力控制的再现性。

(应用例13)根据上述应用例12所述的机器人控制装置,优选上述控制部在执行基于上述力检测器的输出来控制上述机械手的动作的上述指令时,将上述力检测器复位,并且在从上述力检测器的复位开始经过规定时间后,开始基于上述力检测器的输出的上述机械手的动作控制。

(应用例14)根据上述应用例12所述的机器人控制装置,优选上述控制部在执行基于上述力检测器的输出来控制上述机械手的动作的上述指令时,根据该指令结束基于上述力检测器的输出的上述机械手的动作控制。

(应用例15)一种机器人控制装置,其特征在于,在对具备机械手、检测作用于上述机械手的力的力检测器的机器人进行控制的机器人控制装置中,具备预先决定有在基于上述力检测器的输出来控制上述机械手的动作的模式下能够执行的指令和不能够执行的指令的控制部。

(应用例16)根据上述应用例15所述的机器人控制装置,优选上述控制部在基于上述力检测器的输出来控制上述机械手的动作时,执行阻抗控制。

(应用例17)一种机器人控制装置,其特征在于,在对具备机械手、以及检测作用于上述机械手的力的力检测器的机器人进行控制的机器人控制装置中,具备通过执行使自变量的对象分层的指令,来控制上述机械手的动作的控制部。

(应用例18)一种机器人控制装置,其特征在于,在对具备机械手、以及检测作用于上述机械手的力的力检测器的机器人进行控制的机器人控制装置中,具备通过执行将相对于基准坐标系定义的任意的坐标系作为自变量的指令,来控制上述机械手的动作的控制部。

(应用例19)一种机器人,其特征在于,是具备机械手以及检测作用于上述机械手的力的力检测器的机器人,在执行使上述机械手动作的指令时,根据该指令的参数来切换是基于上述力检测器的输出来控制上述机械手的动作,还是不基于上述力检测器的输出来控制上述机械手的动作。

(应用例20)一种机器人系统,其特征在于,具备:机器人以及机器人控制装置,上述机器人具备机械手以及检测作用于上述机械手的力的力检测器;上述机器人控制装置具备控制部,该控制部是对上述机械手的动作进行控制的控制部,在执行使上述机械手动作的指令时,根据该指令的参数来切换是基于上述力检测器的输出来控制上述机械手的动作,还是不基于上述力检测器的输出来控制上述机械手的动作。

(应用例21)本应用例的机器人的特征在于,是包含由驱动部驱动的机械手以及力传感器的机器人,基于力传感器来控制驱动部,机械手具有显示与机械手的运动状态有关的参数的显示器。

在本应用例的机器人的结构中,将显示与机械手的运动状态有关的参数的显示器设置于机械手。由此,能够视觉确认机械手本身并能够视觉确认显示器,并且能够直观地识别显示器示有机械手的运动状态。另外,若基于力传感器来控制机械手,则机械手的运动状态变得复杂,或预测变困难,但通过视觉确认显示器能够容易地识别机械手的动作状态。

(应用例22)根据上述应用例21所述的机器人,优选能够在上述机械手安装上述显示器。

(应用例23)根据上述应用例21或者22中任一项所述的机器人,优选上述参数至少包含上述机械手的位置、速度、加速度、以及作用于上述力传感器的作用力中的任意一个。

(应用例24)根据上述应用例21~23中任意一个例子所述的机器人,优选上述参数至少包含上述机械手的移动方向以及上述作用力的方向中的任意一个。

(应用例25)根据上述应用例21~24中任意一个例子所述的机器人,优选上述显示器用指示方向的箭头来显示上述参数。

(应用例26)根据上述应用例21~25中任意一个例子所述的机器人,优选上述参数至少与传感器检测出的上述机械手的现实的运动状态、以及上述机械手的目标的运动状态中的任意一个相关。

(应用例27)根据上述应用例21~26中任意一个例子所述的机器人,优选上述机械手包含通过两端的关节相互连结的多个臂部件,上述显示器安装于上述臂部件,显示与该臂部件的运动状态有关的上述参数。

(应用例28)一种机器人控制装置,具备:驱动控制部,其对上述应用例21~27中任意一个例子所述的机器人的上述驱动部进行控制;以及显示控制部,其将与上述机械手的运动状态有关的上述参数显示于上述机械手所具有的上述显示器。

(应用例29)一种机器人系统,包含机器人以及机器人控制装置,上述机器人是上述应用例21~27中任意一个例子所述的机器人,上述机器人控制装置具备控制上述机器人的上述驱动部的驱动控制部、以及使与上述机械手的运动状态有关的上述参数显示于上述机械手所具有的上述显示器的显示控制部。

另外,上述应用例所记载的各机构的功能通过由结构本身来确定功能的硬件资源、通过程序来确定功能的硬件资源、或者它们的组合来实现。另外,这些各机构的功能并不限于通过分别在物理上相互独立的硬件资源来实现。

附图说明

图1是第一实施方式的机器人系统的示意图。

图2是机器人系统的框图。

图3是监视器画面的画面构成图。

图4A是XY监视器的画面构成。

图4B是XY监视器的画面构成。

图5是第二实施方式的机器人系统的示意图。

图6是机器人系统的框图。

图7是表示由控制装置执行的动作控制指令的表。

图8是表示执行力控制对应指令的情况下的处理顺序的流程图。

图9A是表示力传感器的输出的折线图表。

图9B是表示力传感器的输出的折线图表。

图10是用于对自变量对象的层级结构进行说明的图。

图11A是表示自变量对象的设定画面的画面构成图。

图11B是表示自变量对象的设定画面的画面构成图。

图11C是表示自变量对象的设定画面的画面构成图。

图12是程序代码的实施例和比较例。

图13是第三实施方式的机器人系统的示意图。

图14A是机器人的立体图。

图14B是显示器D的示意图。

图15是机器人系统的框图。

图16是参数的一览表。

图17是显示器的图像的例子。

图18是第四实施方式的机器人的立体图。

图19A是第五实施方式的机器人的立体图。

图19B是显示器D1的示意图。

图19C是显示器D2的示意图。

具体实施方式

以下,参照附图对本发明的优选的实施方式进行说明。此外,在各实施方式中,也有对对应的构成要素标注相同的符号,并省略重复的说明。

另外,在以下的实施方式中,在将规定设定有机器人的空间的坐标系称为机器人坐标系时,机器人坐标系是由在水平面上相互正交的X轴和Y轴、以及将铅垂向上设为正方向的Z轴来规定的三维的正交坐标系。Z轴的负方向大体与重力方向一致。而且用RX来表示绕X轴的旋转角,用RY来表示绕Y轴的旋转角,用RZ来表示绕Z轴的旋转角。能够通过X、Y、Z方向的位置表示三维空间的任意的位置,并能够通过RX、RY、RZ方向的旋转角表示三维空间的任意的姿势。以下,在记作位置的情况下,也能够指姿势。另外,在记作力的情况下,也能够指转矩。

第一实施方式

对作为本发明的第一实施方式的机器人系统进行说明。

图1是第一实施方式的机器人系统的示意图。如图1所示,第一实施方式的机器人系统具备机器人1a、末端执行器2、控制装置3a(控制器)、教示终端4a以及示教器5。控制装置3a和教示终端4a是本发明的机器人控制装置的构成例。

控制装置3a通过未图示的电缆以能够通信的方式与机器人1a连接。控制装置3a具备对机器人1a供给驱动电力的电源部31a、以及用于控制机器人1a的控制部32a。

教示终端4a是本发明的教示部的构成例。控制装置3a和教示终端4a能够通过有线电缆、或者无线通信来连接。

教示终端4a可以是专用的计算机,也可以是安装了用于机器人1a的程序的通用的计算机。例如也可以代替教示终端4a使用用于教示机器人1a的专用装置即示教器5。并且,控制装置3a和教示终端4a可以如图1所示具备分立的壳体,也可以一体地构成。

机器人1a是向臂A安装各种末端执行器2来使用的单臂机器人。

臂A具备6个关节J1、J2、J3、J4、J5、J6以及6个臂部件A1~A6。关节J2、J3、J5是弯曲关节,关节J1、J4、J6是扭转关节。臂A通过关节J1、J2、J3、J4、J5连结6个臂部件A1~A6,在臂部件A6的前端侧连结关节J6。在关节J6能够安装用于对工件进行把持、加工等的各种末端执行器。在本实施方式中,作为把持工件W的末端执行器2安装于关节J6的前端的方式来说明。

即,臂A从基端侧开始依次连结臂部件A1、关节J1、臂部件A2、关节J2、臂部件A3、关节J3、臂部件A4、关节J4、臂部件A5、关节J5、臂部件A6、关节J6,并在最前端的关节J6安装有末端执行器2。

将前端的关节J6的旋转轴上的规定位置表示为工具中心点(TCP)。臂A和末端执行器2是本发明的机械手的构成例。TCP的位置为各种末端执行器2的位置的基准。

在关节J6设置有力传感器FS。力传感器FS是6轴力检测器。力传感器FS检测与在作为固有的坐标系的传感器坐标系中相互正交的三个检测轴平行的力的大小、以及绕这三个检测轴的转矩的大小。此外,力传感器FS是本发明的力检测器的构成例,但也可以在关节J6以外的关节J1~J5中的任意一个以上的关节上具备作为力检测器的力传感器。

控制装置3a通过驱动臂A,在机器人坐标系中控制TCP的位置。

图2是机器人系统的框图。控制部32a是安装了用于进行机器人1a的控制的控制程序的计算机。控制部32a具备处理器、RAM、ROM,这些硬件资源与控制程序相配合。

机器人1a除了图1中图示的结构以外,还具备作为致动器的马达M1~M6、以及作为传感器的编码器E1~E6。对马达M1~M6进行控制是指对臂A进行控制。

马达M1~M6和编码器E1~E6以分别与关节J1~J6对应的方式设置,编码器E1~E6检测马达M1~M6的旋转角度。控制装置3a存储有马达M1~M6的驱动位置的组合与机器人坐标系中的TCP的位置的对应关系U1。另外,控制装置3a按每个机器人1a所进行的作业的工序存储目标位置St和目标力fSt来作为指令。按每个机器人1a所进行的作业的工序,通过教示来设定确定目标位置St和目标力fSt的指令。因此,也能够将目标位置称作教示位置,还能够将目标力称作教示力。

控制装置3a控制臂A,例如使得通过用户的教示设定的目标位置和目标力能够通过TCP来实现。所谓的目标力是根据臂A的动作力传感器FS要检测的力。

在这里,字母S表示规定机器人坐标系的轴的方向(X、Y、Z、RX、RY、RZ)中任意一个方向。另外,S也表示S方向的位置。例如,在S=X的情况下,将在机器人坐标系中设定的目标位置的X方向成分记作St=Xt,将目标力的X方向成分记作fSt=fXt

控制装置3a若获取马达M1~M6的旋转角度Da,则基于对应关系U1,将该旋转角度Da转换为机器人坐标系中的TCP的位置S(X、Y、Z、RX、RY、RZ)。控制装置3a基于TCP的位置S以及力传感器FS的检测值,在机器人坐标系中确定现实作用于力传感器FS的作用力fS

控制装置3a按机器人坐标系中的每个TCP的位置S,存储有规定了力传感器FS的传感器坐标系中的检测轴的方向的对应关系U2。因此,控制装置3a能够基于机器人坐标系中的TCP的位置S和对应关系U2,来确定机器人坐标系中的作用力fS

控制装置3a对作用力fS进行重力补偿。所谓的重力补偿是从作用力fS中除去由重力引起的力、转矩的成分。进行了重力补偿的作用力fS能够视为作用于末端执行器2的重力以外的力。

本实施方式的阻抗控制是通过马达M1~M6来实现虚拟的机械阻抗的有源阻抗控制。控制装置3a在工件W的嵌合作业、研磨作业等末端执行器2从工件W受到力的接触状态的工序中应用这样的阻抗控制。

控制装置3a在末端执行器2未从工件W受到力的非接触状态的工序中,不应用阻抗控制,而是利用根据目标位置通过线性运算导出的旋转角度来控制马达M1~M6。

将利用根据目标位置通过线性运算导出的旋转角度来控制马达M1~M6的模式称为位置控制模式,将阻抗控制马达M1~M6的模式称为力控制模式。

控制装置3a可以根据力传感器FS的输出自主切换位置控制模式和力控制模式,也可以根据指令来切换位置控制模式和力控制模式。

控制装置3a通过将目标力fSt和作用力fS代入阻抗控制的运动方程式,来确定力由来修正量ΔS。所谓的力由来修正量ΔS是指在TCP受到机械阻抗的情况下,为了消除与目标力fSt的力偏差ΔfS(t),TCP应移动的位置S的大小。下述的(1)式是阻抗控制的运动方程式。

[式1]

<mrow> <mi>m</mi> <mi>&Delta;</mi> <mover> <mi>S</mi> <mo>&CenterDot;&CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>d</mi> <mi>&Delta;</mi> <mover> <mi>S</mi> <mo>&CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>k</mi> <mi>&Delta;</mi> <mi>S</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>&Delta;f</mi> <mi>S</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mn>...</mn> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

(1)式的左边由TCP的位置S的2阶微分值乘以虚拟惯性系数m的第一项、TCP的位置S的微分值乘以虚拟粘性系数d的第二项、以及TCP的位置S乘以虚拟弹性系数k的第三项构成。(1)式的右边由从目标力fSt减去了现实的作用力fS的力偏差ΔfS(t)构成。(1)式中的微分是指对时间的微分。在机器人1a所进行的工序中,有将一定值设定为目标力fSt的情况,也有作为目标力fSt设定时间的函数的情况。

虚拟惯性系数m是指TCP虚拟地具有的质量,虚拟粘性系数d是指TCP虚拟地受到的粘性阻力,虚拟弹性系数k是指TCP虚拟地受到的弹力的弹簧常量。各系数m、d、k可以按各方向设定为不同的值,也可以不管方向设定为通用的值。

控制装置3a通过对目标位置St加上力由来修正量ΔS,来确定考虑了阻抗控制的动作位置(St+ΔS)。

而且,控制装置3a基于对应关系U1,将规定机器人坐标系的各轴的方向的动作位置(St+ΔS)转换为各马达M1~M6的目标的旋转角度即目标角度Dt。而且,控制装置3a通过从目标角度Dt中减去作为马达M1~M6的现实的旋转角度Da的编码器E1~E6的输出(Da),来计算驱动位置偏差De(=Dt-Da)。而且,控制装置3a通过将对驱动位置偏差De乘以位置控制增益Kp所得的值与对现实的旋转角度Da的时间微分值即与驱动速度的差也就是驱动速度偏差乘以速度控制增益Kv所得的值相加,来导出控制量Dc。此外,位置控制增益Kp以及速度控制增益Kv也可以不光是比例成分,还包含微分成分、积分成分的控制增益。对各个马达M1~M6确定控制量Dc

根据以上说明的结构,控制装置3a能够基于目标位置St和目标力fSt来阻抗控制臂A。

教示终端4a安装有用于对控制装置3a教示目标位置St和目标力fSt的教示程序。教示终端4a具备图1所示的显示器43、处理器、RAM、ROM,这些硬件资源与控制程序配合。由此,如图2所示,教示终端4a作为显示控制部41和教示部42发挥作用。

教示部42根据教示者的操作生成指定目标力fSt和目标位置St的指令并输出至控制装置3a。教示部42将用于受理指令生成指示的教示画面显示于显示器43。教示部42对每个工序生成指令,并通过多个指令定义机器人1a的一系列的作业,即机械手的一系列的动作。

该指令例如被记作“Move P30 FC1!D50;g_StepID=9!”。在该表示例中,对指示TCP的移动的指令“Move”,作为目标参数设定有“P30FC1”。“P30”是表示对TCP另外确定的目标位置St的函数。“FC1”是对TCP或者力控制坐标原点另外确定的目标力fSt的函数。而且在该指令中,对于从开始执行“D50”所表示的指令起经过了由Move指令预定的时间的50%的位置,“g_StepID=9”作为工序ID定义有“9”。

工序ID是根据指令划分的工序的标识符,但也可以以这样的方式作为有关工序中的特定的期间的标识符来使用。教示者经由教示部42显示于显示器43的教示画面对教示终端4a进行操作,并将这样的指令输出至控制装置3a,从而能够使目标位置St和目标力fSt存储至控制装置3a。按照执行顺序对指定目标位置St和目标力fSt的指令组进行描述,并作为包含一系列的多个指令的教示文件存储至控制装置3a。所谓的本实施方式的教示是像这样使目标位置St和目标力fSt存储至机器人1a。

显示控制部41从教示部42获取教示者设定的目标位置St和目标力fSt,并从控制装置3a获取力由来修正量ΔS和作用力fs。显示控制部41基于目标位置St和力由来修正量ΔS导出动作位置,并将动作位置、目标位置等显示于监视器画面。

教示终端4a也能够将显示控制部41所显示的监视器画面和教示部42受理指令的输入操作的教示画面显示于显示器43的一个画面,并也能够根据教示者的请求来切换监视器画面和教示画面。因此,教示终端4a能够经由教示画面受理基于监视器画面所显示的目标轨迹和动作轨迹的来自教示者的指示。

在这里,对显示控制部41显示动作位置、目标位置等的监视器画面的结构例进行说明。显示控制部41在图3所示的监视器画面上,配置XY监视器101、XZ监视器102、YZ监视器103、Fx监视器111、Fy监视器112、Fz监视器113、Tx监视器114、Ty监视器115、Tz监视器116、步骤监视器121、显示区间设定框122a、122b、122c、X监视器131、Y监视器132、Z监视器133、Rz监视器134、Ry监视器135、Rx监视器136、工序表125、速度计141~146。

若教示者指定教示文件并对教示终端4a请求监视器画面的显示,则显示控制部41对于从教示文件中描述的一系列的指令开始到结束的期间(区间),在监视器画面上以如下的方式显示目标位置、动作位置、作用力、力由来修正量ΔS、速度等。

显示控制部41获取从教示部42获取的目标位置St,并从控制装置3a的控制部32a获取动作位置。而且显示控制部41将使三维的目标位置和三维的动作位置投影到同一二维坐标平面的轨迹显示于XY监视器101、XZ监视器102、YZ监视器103。XY监视器101、XZ监视器102、YZ监视器103的纵轴以及横轴是位置(mm)。

具体而言,XY监视器101是显示将三维的目标位置和三维的动作位置投影到XY坐标平面的轨迹的区域。XZ监视器102是显示将三维的目标位置和三维的动作位置投影到XZ坐标平面的轨迹的区域。YZ监视器103是显示将三维的目标位置和三维的动作位置投影到YZ坐标平面的轨迹的区域。

此外,对于以什么样的方式显示目标位置的轨迹和动作位置的轨迹而言,改变轨迹的显示颜色等,只要能够识别两个轨迹即可。在图3中,用虚线来显示目标位置的轨迹,用实线来显示动作位置的轨迹。而且对于目标位置和动作位置一致的部分,用实线来显示动作位置的轨迹。这样通过将目标位置和动作位置显示于同一坐标平面,教示者能够很容易地把握在进行阻抗控制的情况下产生的目标位置、动作位置、以及它们的差。

Fx监视器111是用折线图表将根据力传感器FS的检测值进行了坐标转换后的作用力fX显示为时间的函数的区域。Fy监视器112是用折线图表将根据力传感器FS的检测值进行了坐标转换后的作用力fY显示为时间的函数的区域。Fz监视器113是用折线图表将根据力传感器FS的检测值进行了坐标转换后的作用力fZ显示为时间的函数的区域。Fx监视器111、Fy监视器112、Fz监视器113的横轴是时间(秒),纵轴是力(N)。

Tx监视器114是用折线图表将根据力传感器FS的检测值进行了坐标转换后的作用力fRX显示为时间的函数的区域。Ty监视器115是用折线图表将根据力传感器FS的检测值进行了坐标转换后的作用力fRY显示为时间的函数的区域。Tz监视器116是用折线图表将根据力传感器FS的检测值进行了坐标转换后的作用力fRZ显示为时间的函数的区域。Tx监视器114、Ty监视器115、Tz监视器116的横轴是时间(秒),纵轴是转矩(Nm)。

步骤监视器121是显示经过时间和工序的对应关系的区域。步骤监视器121的横轴是时间(秒),纵轴是工序ID。将根据工序ID识别的作业内容显示于工序表125。

显示区间设定框122a是用于输入在XY监视器101、XZ监视器102、YZ监视器103、Fx监视器111、Fy监视器112、Fz监视器113、Tx监视器114、Ty监视器115、Tz监视器116、X监视器131、Y监视器132、Z监视器133、Rz监视器134、Ry监视器135、Rx监视器136上显示目标位置、动作位置等的工序的工序ID的下拉文本框。

显示区间设定框122b是用于输入在XY监视器101、XZ监视器102、YZ监视器103、Fx监视器111、Fy监视器112、Fz监视器113、Tx监视器114、Ty监视器115、Tz监视器116、X监视器131、Y监视器132、Z监视器133、Rz监视器134、Ry监视器135、Rx监视器136上显示目标位置、动作位置等的开始时间的下拉文本框。

显示区间设定框122c是用于输入在XY监视器101、XZ监视器102、YZ监视器103、Fx监视器111、Fy监视器112、Fz监视器113、Tx监视器114、Ty监视器115、Tz监视器116、X监视器131、Y监视器132、Z监视器133、Rz监视器134、Ry监视器135、Rx监视器136上显示目标位置、动作位置等的结束时间的下拉文本框。

教示者通过在显示区间设定框122a、122b、122c输入工序ID、或开始时间以及结束时间,能够针对由教示文件中描述的一系列的指令执行的作业的一部分区间,在监视器画面上显示动作位置、作用力、力由来修正量ΔS、动作位置速度等。

另外,也可以对工序ID、开始时间以及结束时间进行组合来进行区间指定。在该情况下,针对从开始执行所输入的工序ID的指令起的经过时间输入开始时间和结束时间。

X监视器131是用折线图表将力由来修正量ΔS的X成分显示为时间的函数的区域。Y监视器132是折线图表将用力由来修正量ΔS的Y成分显示为时间的函数的区域。Z监视器133是用折线图表将力由来修正量ΔS的Z成分显示为时间的函数的区域。X监视器131、Y监视器132、Z监视器133的横轴是时间(秒),纵轴是(mm)。

Rz监视器134是用折线图表将力由来修正量ΔS的Rz成分显示为时间的函数的区域。Ry监视器135是用折线图表将力由来修正量ΔS的Ry成分显示为时间的函数的区域。Rx监视器136是用折线图表将力由来修正量ΔS的Rx成分显示为时间的函数的区域。Rz监视器134、Ry监视器135、Rx监视器136的横轴是时间(秒),纵轴是(度)。

速度计141是用旋转针来显示动作位置的速度的X成分的区域。速度计142是用旋转针来显示动作位置的速度的Y成分的区域。速度计143是用旋转针来显示动作位置的速度的Z成分的区域。速度计141~143的单位是mm/秒。速度计144是用旋转针来显示动作位置的速度的RZ成分的区域。速度计145是用旋转针来显示动作位置的速度的RY成分的区域。速度计146是用旋转针来显示动作位置的速度的RX成分的区域。速度计144~146的单位是度/秒。

显示控制部41根据模式以如下的方式切换监视器画面的显示方式。在实时模式下,将作为通过指令执行的机器人1a的动作结果的动作位置、作用力、力由来修正量ΔS、动作位置速度等在机器人1a的动作中实时地,即若除去由硬件性能带来的不可避免的延迟则与机器人1a的动作同步地,显示于监视器画面。

因此,在实时模式下,显示控制部41从控制装置3a获取力由来修正量以及作用力并导出动作位置并描绘动作位置的轨迹。在播放模式下,将作为通过指令执行的机器人1a的动作结果的动作位置、作用力、力由来修正量ΔS、动作位置速度等基于日志动画显示于监视器画面。这样的日志在指令执行中由教示部42或者显示控制部41从控制装置3a获取并存储至RAM。

而且显示控制部41对根据教示者的请求将目标位置和动作位置的轨迹显示于XY监视器101、XZ监视器102、YZ监视器103的对象区域以及显示倍率进行变更。具体而言,例如,如图3所示,若在XY监视器101进行显示的状态下从教示者获取显示倍率变更请求,则如图4A所示,显示控制部41缩小将目标位置和动作位置的轨迹显示于XY监视器101的对象区域,并增大轨迹的显示倍率即可。另外,如图4A所示,若在XY监视器101进行显示的状态下从教示者获取显示区域变更请求,则如图4B所示,显示控制部41以维持显示倍率的方式对将目标位置和动作位置的轨迹显示于XY监视器101的对象区域进行变更即可。显示控制部41能够使用键盘、鼠标、触摸面板等从教示者获取显示倍率变更请求、显示区域变更请求。

而且如图4A所示,显示控制部41也可以在目标位置和动作位置的轨迹上显示TCP的行进方向(目标位置和动作位置的变化方向)。例如,也可以对每个工序在轨迹上用箭头显示行进方向,也可以对每2个以上的规定量的连续的工序用一个箭头来显示行进方向,也可以在通过整个行程的目标位置的轨迹和动作位置的轨迹上各用一个箭头来显示行进方向。表示行进方向的方式也可以是三角形等图形。

根据以上说明的第一实施方式,由于以能够进行比较的方式对目标位置和动作位置进行画面显示,所以教示者能够对力控制模式下的目标位置和动作位置进行验证并且设定指令的参数(目标位置和目标力)。因此,使指令的参数最佳化的作业变得容易,且能够缩短教示所需要的时间。而且将目标位置和动作位置显示于同一坐标系,从而目标位置和动作位置的比较变得更容易。而且由于能够显示目标位置和动作位置的轨迹、或动画显示目标位置和动作位置、或显示目标位置和动作位置的变化方向、或设定目标位置与动作位置的显示区间,所以目标位置与动作位置的比较变得更容易。

第二实施方式

1.机器人系统的结构

对作为本发明的第二实施方式的机器人系统进行说明。

图5是第二实施方式的机器人系统的示意图。如图5所示,第二实施方式的机器人系统具备机器人1b、末端执行器2、控制装置3b、以及教示装置4b(示教器)。控制装置3b是本发明的机器人控制装置的结构例。

控制装置3b通过未图示的电缆以能够通信与机器人1b连接。此外,控制装置3b的构成要素也可以设置于机器人1b。控制装置3b具备向机器人1b供给驱动电力的电源部31b、以及用于控制机器人1b的控制部32b。控制装置3b和教示装置4b能够通过电缆、或者无线通信连接。

教示装置4b可以是专用的计算机,也可以是安装了用于教示机器人1b的程序的通用的计算机。例如也可以代替教示装置4b使用用于教示机器人1b的专用装置即示教器5。并且,控制装置3b和教示装置4b可以如图5所示具备分立的壳体,也可以一体地构成。

机器人1b是在臂A安装各种末端执行器2来使用的单臂机器人。

臂A由于是与第一实施方式相同的结构,所以省略说明。在关节J6安装用于对工件进行把持、加工等的各种末端执行器2。将前端的关节J6的旋转轴上的规定位置表示为工具中心点(TCP)。TCP的位置成为各种末端执行器2的位置的基准。臂A和末端执行器2是本发明的机械手的结构例。

关节J6具备力传感器FS。力传感器FS由于是与第一实施方式相同的结构所以省略说明。此外,力传感器FS是本发明的力检测器的结构例,但也可以是关节J6以外的关节J1~J5中任意一个以上的关节具备作为力检测器的力传感器。

控制装置3b通过驱动臂A,在机器人坐标系中控制TCP的位置。

图6是机器人系统的框图。控制部32b是安装了用于进行机器人1b的控制的控制程序的计算机。控制部32b具备处理器、RAM、ROM、CPU等,通过这些硬件资源与程序相配合来控制机器人1b。

机器人1b除了图5所示的结构以外,还具备作为致动器的马达M1~M6、以及作为传感器的编码器E1~E6。对臂A进行控制是指对马达M1~M6进行控制。

与各个关节J1~J6对应地具备马达M1~M6和编码器E1~E6,编码器E1~E6检测马达M1~M6的旋转角度。控制装置3b存储有马达M1~M6的旋转角度的组合与机器人坐标系中的TCP的位置的对应关系U1。另外,控制装置3b基于指令对机器人1b所进行的作业的每个工序存储目标位置St与目标力fSt的至少任意一个。对机器人1b所进行的作业的每个工序设定将目标位置St和目标力fSt作为自变量(参数)的指令。

控制装置3b以所设定的目标位置与目标力能够通过TCP来实现的方式,基于指令来控制臂A。所谓的目标力是根据臂A的动作,力传感器FS应检测的力。在这里,字母S表示规定机器人坐标系的轴的方向(X、Y、Z、RX、RY、RZ)中的任意一个方向。另外,S也表示S方向的位置。例如,在S=X的情况下,将在机器人坐标系中设定的目标位置的X方向成分记作St=Xt,将目标力的X方向成分记作fSt=fXt

控制装置3b若获取马达M1~M6的旋转角度Da,则基于对应关系U1,将该旋转角度Da转换为机器人坐标系中的TCP的位置S(X、Y、Z、RX、RY、RZ)。而且控制装置3b基于TCP的位置S和力传感器FS的检测值,在机器人坐标系中确定现实作用于力传感器FS的作用力fS。作用力fs的作用点被定义为与TCP分立的原点O。原点O对应于力传感器FS检测力的点。

另外控制装置3b对机器人坐标系中的每个TCP的位置S,存储有规定了力传感器FS的传感器坐标系中的检测轴的方向的对应关系U2。因此,控制装置3b能够基于机器人坐标系中的TCP的位置S和对应关系U2,来确定机器人坐标系中的作用力fS

另外,作用于机器人的转矩能够根据作用力fS、以及从工具接触点(末端执行器2与工件的接触点)到力传感器FS的距离来计算,并确定为未图示的fs转矩成分。

控制装置3b对作用力fS进行重力补偿。所谓的重力补偿是从作用力fS中除去由重力引起的力、转矩的成分。进行了重力补偿的作用力fS能够视为作用于末端执行器2的重力以外的力。

本实施方式的阻抗控制是通过马达M1~M6来实现虚拟的机械阻抗的有源阻抗控制。控制装置3b在工件的嵌合作业、研磨作业等末端执行器2从对象物(工件)受到力的接触状态的工序中应用这样的阻抗控制。在阻抗控制中,将目标力代入后述的运动方程式导出马达M1~M6的旋转角度。

控制装置3b控制马达M1~M6的信号是进行了PWM(Pulse Width Modulation:脉冲宽度调制)调制的信号。将基于运动方程式根据目标力导出旋转角度来控制(阻抗控制)马达M1~M6的模式称为力控制模式。而且控制装置3b在末端执行器2未从工件受到力的非接触状态的工序中,利用根据目标位置通过线性运算导出的旋转角度来控制马达M1~M6。将利用根据目标位置通过线性运算导出的旋转角度来控制马达M1~M6的模式称为位置控制模式。

而且控制装置3b例如也以通过线性结合,对根据目标位置通过线性运算导出的旋转角度、以及将目标力代入运动方程式而导出的旋转角度进行统一,并以统一后的旋转角度控制马达M1~M6的混合模式来控制机器人1b。

控制装置3b能够基于力传感器FS或者编码器E1~E6的检测值自主地切换位置控制模式、力控制模式以及混合模式,也能够根据指令来切换位置控制模式、力控制模式以及混合模式。

根据以上的结构,控制装置3b能够以末端执行器2在目标的位置成为目标的姿势,并且对末端执行器2作用目标的力和力矩的方式驱动臂A。

控制装置3b通过将目标力fSt和作用力fS代入阻抗控制的运动方程式,来确定力由来修正量ΔS。所谓的力由来修正量ΔS是指在TCP受到了机械阻抗的情况下,为了消除与目标力fSt的力偏差ΔfS(t),TCP应移动的位置S的大小。下述的(1)式是阻抗控制的运动方程式。

[式2]

<mrow> <mi>m</mi> <mi>&Delta;</mi> <mover> <mi>S</mi> <mo>&CenterDot;&CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>d</mi> <mi>&Delta;</mi> <mover> <mi>S</mi> <mo>&CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>k</mi> <mi>&Delta;</mi> <mi>S</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>&Delta;f</mi> <mi>S</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mn>...</mn> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

(1)式的左边由TCP的位置S的2阶微分值乘以虚拟惯性系数m的第一项、TCP的位置S的微分值乘以虚拟粘性系数d的第二项、以及TCP的位置S乘以虚拟弹性系数k的第三项构成。(1)式的右边由从目标力fSt中减去了现实的作用力fS的力偏差ΔfS(t)构成。所谓的(1)式的微分是指时间的微分。在机器人1b所进行的工序中,有将一定值设定为目标力fSt的情况,也有作为目标力fSt设定时间的函数的情况。

虚拟惯性系数m是指TCP虚拟地具有的质量,虚拟粘性系数d是指TCP虚拟地受到的粘性阻力,虚拟弹性系数k是指TCP虚拟地受到的弹力的弹簧常量。各系数m、d、k可以按照每个方向设定为不同值,也可以不管方向设定为通用的值。

而且,控制装置3b基于对应关系U1,将规定机器人坐标系的各轴的方向的动作位置转换为作为各马达M1~M6的目标的旋转角度的目标角度Dt。而且,控制装置3b通过从目标角度Dt中减去马达M1~M6的现实的旋转角度Da即编码器E1~E6的输出(Da),来计算驱动位置偏差De(=Dt-Da)。

而且,控制装置3b通过将对驱动位置偏差De乘以位置控制增益Kp所得的值与对现实的旋转角度Da的时间微分值即与驱动速度的差也就是驱动速度偏差乘以速度控制增益Kv所得的值相加,来导出控制量Dc。此外,位置控制增益Kp以及速度控制增益Kv不光包含比例成分,也可以包含微分成分、积分成分的控制增益。对各个马达M1~M6确定控制量Dc

根据以上说明的结构,控制装置3b能够基于目标力fSt以力控制模式控制臂A。在混合模式中,控制装置3b通过对目标位置St加上力由来修正量ΔS来确定动作位置(St+ΔS)。

教示装置4b中安装有用于对控制装置3b生成将目标位置St和目标力fSt设为自变量的执行程序并上传至控制装置3b的教示程序。教示装置4b具备显示器43、处理器、RAM、ROM,上述硬件资源与教示程序相配合来生成执行程序。

2.执行程序

执行程序以预先决定的程序语言来描述,通过翻译程序经由中间语言转换为机械语言程序。控制部32b的CPU以时钟周期执行机械语言程序。翻译程序可以由教示装置4b来执行,也可以由控制装置3b来执行。执行程序的指令由主体和自变量构成。

指令中包含使臂A和末端执行器2动作的动作控制指令、读出编码器、传感器的检测值的监视器指令、设定各种变量的设定指令等。此外,在本实施方式中,指令的执行与翻译该指令的机械语言程序的执行是一个意思。

图7中示有由控制装置执行的动作控制指令(主体)的一个例子。如图7所示,动作控制指令包含能够以力控制模式使臂A动作的力控制对应指令、以及不能以力控制模式使臂A动作的位置控制指令。

在力控制对应指令中,能够通过自变量来指定力控制模式的开启。在不能通过该自变量来指定力控制模式的开启的情况下,以位置控制模式执行该力控制对应指令,在通过该自变量来指定力控制模式的开启的情况下,以力控制模式执行该力控制对应指令。

另外,力控制对应指令能够在力控制模式下执行,位置控制指令不能在力控制模式下执行。以在力控制模式下不会执行位置控制指令的方式,执行基于翻译程序的语法错误检查。

并且,在力控制对应指令中,能够通过自变量来指定力控制模式的继续。在力控制模式下执行的力控制对应指令中通过该自变量指定了力控制模式的继续的情况下,继续力控制模式,在未通过该自变量来指定力控制模式的继续的情况下,直到该力控制对应指令的执行完成为止,结束力控制模式。

即,即使在力控制模式下执行力控制对应指令,只要未通过自变量明确指定,力控制模式就根据该力控制对应指令自主结束,且到该力控制对应指令的执行结束后不会继续力控制模式。

另外在图7中,“CP”是能够指定移动方向的指令的分类,“PTP”是能够指定目标位置的指令的分类,“CP+PTP”是能够指定移动方向和目标位置的指令的分类。

在这里,以通过自变量来指定力控制模式的开启,并且未指定力控制模式的继续的“Move”指令在不是力控制模式的状态下开始执行的情况为例,参照图8对力控制对应指令的执行顺序,即控制部32b的动作(处理)顺序进行说明。

首先,控制部32b判定有(真)无(假)指定力控制模式的开启的自变量(S102)。

在有指定力控制模式的开启的自变量的情况下,控制部32b将力传感器FS复位(S112)。力传感器FS的复位设定力传感器FS本身、或者控制部32b所存储的偏移值,以使在该复位时机将力传感器FS的输出检测为零。

接着,控制部32b迁移至力控制模式来执行阻抗控制,并使臂A动作(S114)。即控制部32b基于力传感器FS的输出来控制马达M1~M6的旋转角度。在这里,目标力可以指定为力控制对应指令的自变量,也可以由在力控制对应指令之前执行的设定指令来指定。

从位置控制模式向力控制模式的切换,例如通过在图6所示的对ΔS和St相加的算术要素中打开ΔS的输入并关闭St的输入(零)的操作来实施。

接着,控制部32b结束力控制模式(S116)。从力控制模式向位置控制模式的切换例如通过在图6所示的对ΔS和St相加的算术要素中关闭ΔS的输入(零)并打开St的输入的操作来实施。

在S102中,在没有指定力控制模式的开启的自变量的情况下,控制部32b在位置控制模式下执行位置控制,并使臂A动作(S120)。即控制部32b以根据目标位置通过线性运算导出的旋转角度来控制马达M1~M6的旋转角度。

然而,在作为压电元件使用石英的力传感器中,即使对力传感器施加的力没有变化,如图9A所示,也有随着时间的经过输出增大的趋势。因此,例如若在图9B所示的时间t0开启力控制模式,则不管是否施加相同的力,在从t0经过了t1的时刻检测的力f1与在从t0经过了t2的时刻检测的力f2都为不同的结果。

在本实施方式中,由于如上所述在力控制对应指令的执行时刻迁移至力控制模式而使力传感器FS复位,所以能够基于以执行力控制对应指令的时刻作为输出的基准的力传感器FS的输出来控制臂A的动作。因此,能够提高针对臂A的力控制的再现性。

例如,在力传感器FS的复位未与动作控制指令同步的情况下,即在执行动作控制指令之前将力传感器FS复位的情况下,动作控制指令的执行延迟3msec左右(t2-t1)。若以10msec间隔来执行力控制,则该3msec相对于力控制的间隔而言是较大的执行的延迟而使再现性恶化。

执行程序的指令的自变量为被分层了的对象构造。将与力控制指令相关联的自变量的类示于图10。

“Force Coordinate System Object”(力坐标系对象)是坐标系的设定所使用的类,能够由FCSx(x是任意的整数)来定义。“Force Control Object”(力控制对象)是成为力控制的对象的坐标轴等的设定所使用的类,能够由FCx(x是任意的整数)来定义。“Force Trigger Object”(力触发对象)是分支条件、停止条件、嵌入的设定所使用的类,能够由FTx(x是任意的整数)来定义。“Force Monitor Object”(力监视对象)是获取力数据、日志记录等的设定所使用的类,能够由FMx(x是任意的整数)来定义。

由“Force Control Object”、“Force Trigger Object”以及“Force Monitor Object”指定的坐标系为由“Force Coordinate System Object”定义的坐标系。即,“Force Control Object”、“Force Trigger Object”以及“Force Monitor Object”是从属于上位层类“Force Coordinate System Object”的下位层类。

“Force Sensor Object”(力传感器对象)是力传感器FS的控制、以及从力传感器FS获取信息的设定所使用的类,能够由FSx(x是任意的整数)来定义。“Mass Properties Object”(质量属性对象)是重心位置的设定所使用的类,能够由MPx(x是任意的整数)来定义。“Robot Object”(机器人对象)是用于获取与力控制相关联的机器人1b的信息的设定所使用的类,能够由Robotx(x是任意的整数)来定义。

接下来,对像这样被分层了的自变量的设定方法进行说明。

图11A是对“Force Coordinate System Object”类的自变量对象进行设定的画面的构成例。图11A示有对以带有“手面3前端”这样的标签的“力坐标4”(在程序代码中被描述为FCS4的自变量对象)的原点的TCP为基准的机器人坐标系中的相对的位置、以及以TCP的姿势(固定于TCP的坐标系)为基准的相对的姿势进行了设定的状态。在这里,由于控制部32b存储有马达M1~M6的旋转角度的组合与机器人坐标系中的TCP的位置的对应关系U1,所以通过在“Force Coordinate System Object”类的自变量对象中设定相对于TCP的相对的位置和姿势,能够对基准坐标系定义任意的坐标系。

图11B是对“Force Control Object”类的自变量对象进行设定的画面的构成例。图11B示有对带有“姿势模仿”这样的标签的“力控制2”(在程序代码中被描述为FC2的自变量对象)的坐标系、力控制的有效轴、以及阻抗控制的运动方程式的系数(虚拟弹簧系数、虚拟粘性系数、虚拟质量系数)进行了设定的状态。在这里,由于作为坐标系选择“4”,所以对在图11A的画面中设定的“力坐标4”(FCS4)的坐标系的各轴,在“有效”的项目中设定力控制的开启(True)和关闭(False)。即,力控制有效的方向取决于上位的“Force Coordinate System Object”类的对象的设定。

图11C是对“Force Trigger Object”类的自变量对象进行设定的画面的构成例。在图11C中,由于作为带有“接触检测”这样的标签的“力触发1”(在程序代码中被描述为FT1的自变量对象)的坐标系也选择了“4”,所以对在图11A的画面中设定的“力坐标4”(FCS4)的坐标系的各轴确定处理条件。即,停止条件的各变量所表示的值、向量的方向取决于上位的“Force Coordinate System Object”类的对象的设定。

像这样由于本实施方式的指令的自变量被分层,所以若作为“Force Coordinate System Object”类的对象设定一个坐标系,则能够将该坐标系应用于各种指令,使设定作业变得容易。

接下来,将使用了力控制对应指令的程序代码的实施方式与比较例一起示于图12。图12所示的实施方式是在通过6个设定指令“Fset”对“FC1”这样的自变量对象进行了定义后,执行力控制对应指令“Move”,之后通过设定指令“Fset”对作为“FC1”对象的变量之一的“Fz_TargetForce”进行变更的程序代码。

在图12所示的比较例中,不使指令的自变量分层,而是通过“ForceControlSetting”指令对在力控制模式下使用的全部的设定项目进行一次性设定。而且,用逗号划分的各个自变量的定义由在指令主体与自变量之间描述的逗号的个数来决定。因此,立即理解比较例的程序代码的意思很困难。与此相对,在本发明的实施方式中,由于对每个被分层后的对象通过“Fset”指令设定与力控制对应指令相关联的自变量,所以解释程序代码的意思、描述程序代码都很容易。

在本实施方式的指令“Move P1 FC1 CF”中,除了通过“Fset”指令设定的“FC1”对象以外,也将通过未图示的设定指令设定的“P1”对象、“CF”设定为自变量。在这里,“P1”是指定接触位置的自变量。“CF”是指定在指令的执行结束后还继续力控制模式的自变量。由于指令“Move P1 FC1 CF”对“Force Control Object”类的自变量对象“FC1”进行了指定,目标位置被自变量“P1”指定,所以若执行指令“Move P1 FC1 CF”,则力传感器FS被复位,以基于力传感器FS的输出的混合模式来控制臂A。而且由于自变量“CF”被指定,所以在指令的执行结束后还继续力控制模式。

在比较例中,通过执行“ForceControl On”指令,力传感器FS被复位,成为能够基于力传感器FS的输出来控制臂A的状态。接着,通过执行“MoveP1”指令,基于力传感器FS的输出来控制臂A。与此相对,从开始本实施方式的指令“Move P1 FC1 CF”的执行到力传感器FS被复位的实时由于对应的机械语言程序总是相同,所以为根据控制部32b的时钟数预先确定的一定的时间。因此,如上所述,在本实施方式中能够保证力控制的再现性。

第三实施方式

机器人系统的结构

对作为本发明的第三实施方式的机器人系统进行说明。

图13是第三实施方式的机器人系统的示意图。如图13所示,第三实施方式的机器人系统具备机器人1c、以及控制装置3c(机器人控制装置)。控制装置3c是本发明的机器人控制装置的构成例。

控制装置3c可以是专用的计算机,也可以是安装了用于机器人1c的程序的通用的计算机。

机器人1c是具备一个机械手MP、以及力传感器FS的单臂机器人,机械手MP具备臂A、末端执行器2以及显示器D。

由于臂A是与第一实施方式相同的结构所以省略其说明。在各个臂部件A2~A6的两端存在关节J1~J6。在臂A中的最前端侧的关节J6安装力传感器FS以及末端执行器2。

末端执行器2通过夹持器来把持工件W。将末端执行器2的规定位置表示为工具中心点(TCP)。TCP的位置为末端执行器2的位置的基准。

力传感器FS是6轴力检测器。力传感器FS对相互正交的三个检测轴方向的力的大小、以及绕这三个检测轴的转矩的大小进行检测。

控制装置3c通过驱动臂A,在机器人坐标系中控制TCP的位置。

末端执行器2不能相对于力传感器FS相对地移动而是固定的,能够视为由末端执行器2和力传感器FS形成单一的刚性体。因此,TCP和力传感器FS一体地运动。即,TCP、力传感器FS的移动距离(也包含旋转角)、移动方向(也包含旋转方向)、速度(角速度)以及加速度(角加速度)相互一致。另外,能够视为力传感器FS所检测的力的大小和方向与作用于TCP的力的大小和方向一致。以下,将末端执行器2和力传感器FS统称为手指尖部H。

图14A是机器人的立体图。在机器人1c中的力传感器FS安装有显示器D。显示器D可以是液晶显示器,也可以是有机EL(Electro luminescence:电致发光)显示器,也可以是将LED(Light Emitting Diode:发光二极管)等发光元件配置成点阵状的显示器。显示器D也可以被构成为能够显示二维的图像,且能够显示黑白图像,也可以被构成为能够显示灰度图像,也可以被构成为能够显示彩色图像。显示器D可以形成为平面板状,也可以形成为随着力传感器FS的外形形状的曲面状。在本实施方式中,如图14B所示,显示器D为由α轴方向和β轴方向的边构成的矩形平面状。

图15是机器人系统的框图。在控制装置3c中安装有用于进行机器人1c的控制的控制程序。控制装置3c具备包含处理器、RAM、ROM的计算机。通过计算机执行记录于ROM等记录介质的控制程序,控制装置3c具备作为功能结构的驱动控制部31c和显示控制部32c。驱动控制部31c和显示控制部32c是控制装置3c的硬件资源与软件资源相配合来实现的功能结构。此外,驱动控制部31c和显示控制部32c也可以不是必须通过软件资源来实现,也可以通过ASIC(Application Specific Integrated Circuit:专用集成电路)来实现。

驱动控制部31c基于力传感器FS来控制作为驱动部的马达M1~M6。具体而言,驱动控制部31c基于力传感器FS的输出信号来控制机械手MP(臂A),使得手指尖部H的运动状态接近目标的运动状态。手指尖部H的运动状态也包含机械手MP的各部位的移动状态、以及作用于机械手MP的作用力的状态。具体而言,驱动控制部31c以能够通过TCP来实现目标位置和目标力的方式来控制臂A。所谓的目标力是力传感器FS应检测的力,且是应作用于TCP的力。

字母S表示规定机器人坐标系的轴的方向(X、Y、Z、RX、RY、RZ)中的任意一个方向。例如,在S=X的情况下,将在机器人坐标系中设定的目标位置的X方向成分记作St=Xt,将目标力的X方向成分记作fSt=fXt

另外,S也表示S方向的位置(旋转角)。

机器人1c除了图13中图示出的结构以外,还具备作为驱动部的马达M1~M6以及编码器E1~E6。与各个关节J1~J6对应地设置马达M1~M6和编码器E1~E6,编码器E1~E6检测马达M1~M6的驱动位置。对臂A进行控制是指对作为驱动部的马达M1~M6进行控制。驱动控制部31c能够与机器人1c通信。驱动控制部31c存储有马达M1~M6的驱动位置的组合与机器人坐标系中的TCP的位置的对应关系U。

驱动控制部31c若获取马达M1~M6的驱动位置Da1,则基于对应关系U,将该驱动位置Da1转换为机器人坐标系中的TCP的位置S(X、Y、Z、RX、RY、RZ)。驱动控制部31c基于TCP的位置S和力传感器FS的检测值,在机器人坐标系中确定现实作用于力传感器FS的作用力fS。此外,力传感器FS在独自的坐标系中检测检测值,但由于将力传感器FS和TCP的相对位置/方向作为已知的数据来存储,所以驱动控制部31c能够确定机器人坐标系中的作用力fS

驱动控制部31c对作用力fS进行重力补偿。所谓的重力补偿是从作用力fS中除去重力成分。进行了重力补偿的作用力fS能够视为作用于TCP的重力以外的力。对每个TCP的姿势预先调查作用于TCP的作用力fS的重力成分,驱动控制部31c通过从作用力fS中减去与TCP的姿势对应的重力成分来实现重力补偿。

驱动控制部31c通过将目标力fSt和作用力fS代入阻抗控制的运动方程式,来确定力由来修正量ΔS。下述的(1)式是阻抗控制的运动方程式。

[数3]

<mrow> <mi>m</mi> <mi>&Delta;</mi> <mover> <mi>S</mi> <mo>&CenterDot;&CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>d</mi> <mi>&Delta;</mi> <mover> <mi>S</mi> <mo>&CenterDot;</mo> </mover> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>k</mi> <mi>&Delta;</mi> <mi>S</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>&Delta;f</mi> <mi>S</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mn>...</mn> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

(1)式的左边由TCP的位置S的2阶微分值乘以虚拟惯性系数m的第一项、TCP的位置S的微分值乘以虚拟粘性系数d的第二项、以及TCP的位置S乘以虚拟弹性系数k的第三项构成。(1)式的右边由从目标力fSt中减去现实的作用力fS的力偏差ΔfS(t)构成。所谓的(1)式中的微分是指时间的微分。在机器人1c所进行的工序中,有将一定值设定为目标力fSt的情况,也有将通过依赖于时间的函数导出的值设定为目标力fSt的情况。

所谓的阻抗控制是通过马达M1~M6来实现虚拟的机械阻抗的控制。虚拟惯性系数m是指TCP虚拟地具有的质量,虚拟粘性系数d是指TCP虚拟地受到的粘性阻力,虚拟弹性系数k是指TCP虚拟地受到的弹力的弹簧常量。各参数m、d、k可以按照每个方向设定为不同的值,也可以不管方向设定为通用的值。

所谓的力由来修正量ΔS是指在TCP受到机械阻抗的情况下,为了消除与目标力fSt的力偏差ΔfS(t),TCP应移动的位置S的大小。驱动控制部31c通过对目标位置St加上力由来修正量ΔS,来确定考虑了阻抗控制的修正目标位置(St+ΔS)。

而且,驱动控制部31c基于对应关系U,将规定机器人坐标系的各轴的方向的修正目标位置(St+ΔS)转换为各马达M1~M6的目标驱动位置即目标驱动位置Dt1。而且,驱动控制部31c通过从目标驱动位置Dt1中减去马达M1~M6的现实的驱动位置Da1,来计算驱动位置偏差De(=Dt1-Da1)。

驱动控制部31c通过将对驱动位置偏差De乘以位置控制增益Kp所得的值与对现实的驱动位置Da1的时间微分值即与驱动速度的差也就是驱动速度偏差乘以速度控制增益Kv所得的值相加,来确定控制量Dc。此外,位置控制增益Kp以及速度控制增益Kv不光包含比例成分还包含微分成分、积分成分的控制增益。分别对马达M1~M6确定控制量Dc

根据以上说明的结构,驱动控制部31c能够基于目标位置St和目标力fSt来控制臂A。

用于将现实的作用力fS设为目标力fSt的控制是力控制,用于将TCP的现实的位置S设为目标位置St的控制是位置控制。在本实施方式中,驱动控制部31c能够根据动作的内容,进行位置控制以及力控制双方和仅进行位置控制。例如,通过不管现实的作用力fS如何,都视为图15的力由来修正量ΔS常时为0,能够实质上仅进行位置控制。

显示控制部32c对显示器D进行控制。显示控制部32c和显示器D通过布线连接,显示器D对显示控制部32c输出的显示图像数据所表示的图像进行显示。即,显示控制部32c通过生成显示图像数据,并将该显示图像数据输出至显示器D,来控制显示器D的显示。

显示控制部32c使与手指尖部H的运动状态相关的参数显示于显示器D。显示控制部32c为了得到与手指尖部H的目标的运动状态相关的参数从驱动控制部31c获取目标位置St和目标力fSt。另外,显示控制部32c为了得到与TCP的现实的运动状态相关的参数从驱动控制部31c获取TCP的位置S和作用力fS。此外,在本实施方式中,手指尖部H的运动状态能够视为与力传感器FS以及TCP的运动状态相同。

驱动控制部31c按照每个微小的控制周期(例如4毫秒),对目标位置St、目标力fSt、位置S以及作用力fS进行更新,按照每个控制周期获取目标位置St、目标力fSt、位置S以及作用力fS。驱动控制部31c通过按照每个控制周期对目标位置St、目标力fSt、位置S以及作用力fS进行更新,能够使机械手MP进行时间序列的动作,并且能够反映之前的运动状态地进行机械手MP的动作。驱动控制部31c通过按照每个控制周期来设定目标位置St,能够使TCP移动到最终的目标的位置。

驱动控制部31c对到最终的目标位置的TCP的轨道进行设定,并将对该轨道在速度、加速度的上限值等的制约下按照每个控制周期分割而成的各个位置依次设定为目标位置St。显示控制部32c基于每个控制周期的目标位置St、目标力fSt、位置S以及作用力fS,来计算与手指尖部H的运动状态相关的参数。

图16是与手指尖部H的运动状态(移动状态以及力状态)相关的参数的一览表。与运动状态相关的参数能够分类为平移运动的参数和旋转运动的参数。另外,与运动状态相关的参数能够分类为目标的参数和现实的参数。另外,与运动状态相关的参数中包含能够用数值(标量)来表示的参数、和能够用箭头来表示的参数。

显示控制部32c在机器人坐标系中,计算从之前时刻的目标位置St到当前的目标位置St的向量来作为目标的移动向量。所谓的之前时刻是指比当前提前n个(n是自然数)控制周期的时刻。也可以构成为能够任意地设定n。在本实施方式中,n=1。移动向量能够通过机器人坐标系中的各轴方向的移动量来表示。将由移动向量中的X、Y、Z方向的移动量构成的向量表示为平移向量,将由RX、RY、RZ方向的移动量构成的向量表示为旋转向量。

显示控制部32c计算构成目标的平移向量的X、Y、Z方向的移动量的平方和的平方根来作为目标的平移距离。并且,显示控制部32c通过使目标平移距离除以一个控制周期的长度,来计算目标平移速度。显示控制部32c通过使从当前的目标平移速度中减去之前时刻的目标平移速度所得的值除以从过去时刻到当前的期间来计算平移加速度。另外,显示控制部32c通过从规定的累积开始时刻到当前对目标的平移距离进行累积,来计算目标的累积平移距离。

另外,显示控制部32c计算构成目标的旋转向量的RX、RY、RZ方向的移动量的平方和的平方根来作为目标的旋转角。并且,显示控制部32c通过使目标的旋转角除以一个控制周期的长度,来计算目标角速度。显示控制部32c通过使从当前的目标角速度减去之前时刻的目标角速度所得值除以从过去时刻到当前的期间来计算角加速度。

另外,显示控制部32c通过从累积开始时刻到当前对目标旋转角进行累积,来计算目标累积旋转角。显示控制部32c通过对现实的位置S也进行相同的计算,来计算现实平移距离、累积平移距离、平移速度、加速度、旋转角、累积旋转角、旋转速度、角速度以及角加速度。

目标力fSt用机器人坐标系的向量来表示,但显示控制部32c作为平移力向量提取目标力fSt的向量中的X、Y、Z方向的成分,并计算该平移力向量的各成分的平方和的平方根来作为目标平移力的大小。显示控制部32c作为转矩向量提取目标力fSt的向量中的RX、RY、RZ方向的成分,并计算该转矩向量的各成分的平方和的平方根来作为目标转矩的大小。

显示控制部32c生成表示与如上述那样计算出的运动状态相关的参数的数值(文字)的图像的显示图像数据,并输出至显示器D。

显示控制部32c通过用指示方向的箭头来显示参数,将与运动状态相关的方向的参数显示于显示器D。在这里,由于显示器D和TCP成为一体地移动,所以表示构成显示器D的外周的边的方向的α、β轴的方向也根据机器人坐标系的TCP的姿势(RX、RY、RZ)变化。将TCP的姿势与机器人坐标系中的显示器D的α、β轴的方向的对应关系V记录于记录介质,显示控制部32c能够参照对应关系V。显示控制部32c基于当前的TCP的姿势和对应关系V,在机器人坐标系中确定当前的显示器D的α、β轴的方向。即,显示控制部32c能够从机器人坐标系中的任意的方向的向量中提取当前的显示器D的α轴方向的成分和β轴方向的成分。此外,将与αβ平面正交的轴设为γ轴。

显示控制部32c从机器人坐标系中的平移向量和平移力向量中,提取当前的显示器D的α轴方向的成分和β轴方向的成分。而且,显示控制部32c生成表示由提取出的α轴方向的成分和β轴方向的成分构成的αβ平面内的箭头的显示图像数据,分别作为指示平移方向和平移力方向的显示图像数据。

另外,显示控制部32c从机器人坐标系中的旋转向量和转矩向量中提取当前的显示器D的α轴方向的成分和β轴方向的成分。而且,显示控制部32c生成表示围绕由提取出的α轴方向的成分和β轴方向的成分构成的αβ平面内的旋转轴的箭头的显示图像数据,分别作为指示旋转方向和旋转力方向的显示图像数据。

通过以上的结构,能够通过显示器D显示与力传感器FS的运动状态相关的参数。此外,显示控制部32c计算与显示对象的运动状态相关的参数即可,也可以不必须计算全部的参数。

图17表示由显示器D显示的图像的例子。图像5A~5L表示用数值来表示与运动状态相关的参数的图像。如图像5A~5H所示,显示控制部32c也可以使与单一的多个运动状态相关的参数的数值显示于显示器D。

如图像5I、5J所示,显示控制部32c也可以以能够对比的方式对目标和现实的参数进行统一标注。并且,如图像5J所示,显示控制部32c也可以用图表来表示与运动状态相关的参数的数值,也可以以能够对比的方式对目标和现实的参数的图表进行统一标注。另外,显示控制部32c也可以显示目标与现实的参数彼此的差分、比的值。当然,如图像5K所示,显示控制部32c也可以对种类不同的参数进行统一标注。另外,如图像5I~5K所示,显示控制部32c也可以将与运动状态相关的参数名显示于显示器D。

并且,如图像5L所示,显示控制部32c也可以不管显示器D的姿势如何,以文字的向上方向总是朝向Z轴方向的上方的方式生成显示图像数据。即,显示控制部32c也可以基于当前的TCP的姿势和对应关系V,在机器人坐标系中确定当前的显示器D的α、β轴的方向,并基于该α、β轴的方向使图像旋转。此外,显示控制部32c也可以显示与运动状态相关的参数的单位,也可以省略单位的显示。另外,图示出的单位只不过是一个例子,也可以通过其它的单位来表示与运动状态相关的参数,也可以是单位可切换。显示控制部32c也可以根据与运动状态相关的参数的种类来切换表示参数的文字的大小、字体、颜色、背景、闪烁状态。当然,显示控制部32c也可以按照分时的顺序来显示多个与运动状态相关的参数。

图像5M~5Q示有表示与运动状态相关的参数的方向的图像。如图像5M~5Q所示,显示控制部32c也可以使指示与运动状态相关的参数的方向的箭头的图像显示于显示器D。如图像5O、5P所示,显示控制部32c也可以作为指示旋转向量和转矩向量的方向的箭头,生成表示围绕由从旋转向量和转矩向量中提取出的α、β轴成分构成的旋转轴旋转的箭头的显示图像数据。

显示控制部32c也可以使多个指示与运动状态相关的参数的方向的箭头的图像显示于显示器D,如图像5Q所示,也可以以能够对比的方式对指示目标和现实的参数的方向的箭头进行统一标注。并且,如图像5R所示,显示控制部32c也可以与指示参数的方向的箭头一起,显示表示该参数的大小的文字。

在本实施方式中,显示与机械手MP(手指尖部H)的运动状态相关的参数的显示器D设置于机械手MP。由此,能够视觉确认机械手MP本身并且能够视觉确认显示器D,并且能够直观地识别显示器D示有机械手MP的运动状态。另外,若以作用于机械手MP的作用力fS接近目标力fSt的方式进行控制,则机械手MP的运动状态变得复杂、或预测困难,但通过视觉确认显示器D能够容易地识别机械手MP的动作状态。

在进行力控制的情况下,由于使力积极地作用于机械手MP、工件W,所以为了不破坏机械手MP、工件W等,注视机械手MP的状态的必要性较大。另外,由于作用力fS根据机械手MP的微小的动作变化,所以在进行力控制的情况下,机械手MP的运动状态可能小幅度地变化。特别是在作为力控制进行阻抗控制的情况下,机械手MP的运动状态容易成为振动状态而小幅度地变化。在本实施方式中,由于能够保持注视机械手MP的状态地识别与机械手MP的运动状态相关的参数,所以能够容易地识别与机械手MP的运动状态相关的参数。

特别是,在程序员、机械设计师、示教作业者对控制装置3c设定机械手MP的动作时,由于机械手MP进行未知的动作,所以能够通过显示器D来视觉确认与运动状态相关的参数,而具有很大优势。

另外,在对机械手MP的动作进行设定之后,操作人员、设备维修工程师判断机械手MP是否正常动作的情况下,能够保持注视机械手MP的状态地识别与机械手MP的运动状态相关的参数,而具有很大优势。特别是在发生了异常的情况下,由于能够注视机械手MP的状态,所以在安全上具有很大优势。

第四实施方式

图18是第四实施方式的机器人1d的立体图。第四实施方式的机器人1d与第三实施方式的机器人1c在显示器D的安装位置上不同,如图18所示,机器人1d的显示器D安装于臂部件A3。未图示的显示控制部32c将与安装了显示器D的臂部件A3直接连结的基端侧的关节J2的目标或者现实的旋转方向显示于显示器D。关节J2的现实的旋转方向能够基于编码器E2的输出信号来确定,关节J2的目标的旋转方向能够根据目标的TCP的目标位置St导出。显示控制部32c也可以使根据马达M2的负荷导出的转矩的大小、方向显示于显示器D。此外,为了容易表示关节J2的状态,优选将显示器D安装于与关节J2的旋转轴正交的平面上。

即使程序员、机械设计师、示教作业者能够预测手指尖部H的运动状态,也存在不能够预测臂部件A2~A6的运动状态的可能性。因为相对于TCP的位置而言臂部件A2~A6的位置不是唯一的,所以臂A的驱动轴的个数越多各臂部件A2~A6的运动状态的预测越困难。即使在这样的情况下,通过在臂部件A2~A6安装显示器D,能够容易地识别与臂部件A2~A6的运动状态相关的参数。

并且,显示器D的个数并不限于一个,也可以将2个以上的显示器D分别安装于臂部件A2~A6。并且,也可以对力传感器FS、臂部件A2~A6的任意一个安装多个显示器D。另外,驱动控制部31c在控制中所使用的运动状态与显示器D显示的运动状态也可以不一致。例如,在驱动控制部31c仅进行位置控制的状态下,显示器D也可以显示现实平移力、转矩的大小。

第五实施方式

图19A是第五实施方式的机器人1e的立体图。第五实施方式的机器人1e与第三实施方式的机器人1c在显示器D的安装个数上不同,如图19A所示,将2个显示器D1、D2安装于力传感器FS。2个显示器D1、D2具有相互正交的平面。

如图19B所示,显示器D1与上述实施方式的显示器D相同,在αβ平面上显示指示与手指尖部H的运动状态相关的参数的方向的箭头。与此相对,如图19C所示,显示器D2在βγ平面上显示指示与手指尖部H的运动状态相关的参数的方向的箭头。γ轴是与αβ平面正交的轴。

显示控制部32c从机器人坐标系中的平移向量和平移力向量中提取当前的显示器D2的β轴方向的成分和γ轴方向的成分。而且,显示控制部32c生成表示由提取出的β轴方向的成分和γ轴方向的成分构成的βγ平面内的箭头的显示图像数据,分别作为指示平移方向和平移力方向的显示器D2的显示图像数据。

如上所述,由于机器人1e具备2个显示器D1、D2,所以能够表示与手指尖部H的运动状态相关的参数的三维的方向。

其它实施方式

本发明的技术范围并不限定于上述的实施方式,只要不脱离本发明的主旨就可以做出变更。

在上述第一实施方式中,对控制装置3a的控制部32a导出力由来修正量ΔS,且教示终端4a的显示控制部41基于力由来修正量ΔS和目标位置St来导出动作位置的例子进行了说明,但教示终端4a也可以基于作用力fs和目标力fst来导出力由来修正量ΔS,另外,教示终端4a也可以代替导出动作位置,而从控制装置3a的控制部32a获取。

而且在上述第一实施方式中,示出了包含力由来修正量ΔS的动作位置和目标位置的轨迹显示,但也可以表示目标位置和编码器的检测值所表示的位置。而且本发明并不局限于在教示机器人1a的阶段在教示终端4a显示目标位置和动作位置的方式,也能够应用于在教示后机器人运转的阶段,在教示终端、示教器、控制装置的画面上显示目标位置和动作位置的方式。

而且在上述第一实施方式中,将目标位置和动作位置的各2个成分显示于二维坐标系,但也可以将目标位置和动作位置的各1个成分显示为时间的函数。例如,将上述的目标位置和动作位置的X成分以与X监视器131相同的方式显示为时间的函数。另外,也可以利用三维计算机图形学来显示目标位置的XYZ成分和动作位置的XYZ成分。

另外,在上述第二实施方式中,能够通过指令的自变量来指定力控制模式的开启,但也可以通过指令的主体来指定力控制模式的开启。具体而言,也可以将指令的主体本身被分为开启力控制模式、以及不开启力控制模式的程序语言安装于机器人系统。

另外,也可以通过计时器来控制从根据力控制对应指令使力传感器复位到通过力控制使臂动作的时间。即,也可以按照力控制对应指令的执行顺序对计时器的设置进行编排。

另外,在上述第二实施方式中,作为基于力检测器的输出来控制机械手的动作的例子采取了阻抗控制,但也可以不使用运动方程式,而是例如以相对于检测器的输出线性的控制量来控制机械手的动作。

另外,在第三实施方式中,对单一地显示多个与运动状态相关的参数的数值的例子进行了说明,但显示控制部32c也可以在进行力控制和位置控制双方的情况下、和仅进行位置控制的情况下,对作为显示对象的与运动状态相关的参数进行切换。例如,显示控制部32c也可以只有在进行力控制和位置控制双方的情况下,才显示平移力方向、平移力的大小、转矩方向、转矩的大小等力状态的参数。

当然,显示控制部32c也可以在进行力控制和位置控制双方的情况下,显示平移速度、平移加速度、旋转方向、累积旋转角、旋转速度、角速度、角加速度、平移力方向等移动状态的参数。由于在进行力控制和位置控制双方的情况下,机械手MP的移动状态容易小幅度地变化,所以与仅进行位置控制的情况相比,可以缩小移动状态的参数的显示更新周期,也可以增大数值的显示位数。

另外,显示控制部32c也可以在进行力控制和位置控制双方的情况下,对累积平移距离、累积旋转角进行累积,也可以将力控制的开始时刻作为累积平移距离、累积旋转角的累积开始时刻。由此,能够容易地把握通过力控制,机械手MP的轨道延伸到什么程度。

而且在上述实施方式中,对向6轴单臂机器人的控制装置应用了本发明的例子进行了说明,但本发明的机器人也可以不是6轴的单臂机器人,对于机械手的关节数并没有特别限定。本发明的机器人也能够应用于5轴以下的机器人、或者7轴以上的机器人、甚至双臂机器人、标量机器人。

另外,力传感器FS也可以不是多轴的力传感器,也可以是按照每个关节J1~J6来检测作用于该关节J1~J6的转矩的转矩传感器。另外,也可以代替转矩传感器基于马达M1~M6的负荷来检测转矩。

另外,控制装置也可以不是与机器人独立的装置,也可以内置于机器人。在该情况下,显示控制部设置于机器人。另外,显示控制部也可以设置于机器人和控制装置以外的其它的装置。

显示器D只要具有机械手即可,也可以安装于能够移动的臂部件A2~A6,也可以安装于末端执行器2。在将显示器D安装于臂部件A2~A6的情况下,显示控制部将与安装有显示器D的臂部件A2~A6的运动状态相关的参数显示于显示器D即可。

显示控制部也可以基于比臂部件A2~A6靠基端侧(臂部件A1侧)的关节J2~J6的马达M2~M6的驱动位置,来获取与安装有显示器D的臂部件A2~A6的现实的运动状态相关的参数。另外,由于按照每个TCP的目标位置St来确定马达M2~M6应采取的驱动位置,所以显示控制部也可以基于TCP的目标位置St来获取与安装有显示器D的臂部件A2~A6的目标的运动状态相关的参数。

具体而言,显示控制部也可以作为与安装有显示器D的臂部件A2~A6的运动状态相关的参数,将与安装有显示器D的臂部件A2~A6直接连结的基端侧的关节J2~J6的旋转方向、转矩显示于显示器D。

附图标记说明

1a、1b、1c、1d、1e…机器人;2…末端执行器;3a、3b、3c、3d、3e…控制装置;4a、4b、4c、4d、4e…教示终端;41…姿势设定部;42…导出部;5…示教器;A1~A6…臂部件;E1~E6…编码器;FS…力传感器;J1~J6…关节;M1~M6…马达;W…工件;d…虚拟粘性系数;k…虚拟弹性系数;m…虚拟惯性系数。

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