CN107363830B - 机器人控制装置、机器人以及机器人系统 - Google Patents

机器人控制装置、机器人以及机器人系统 Download PDF

Info

Publication number
CN107363830B
CN107363830B CN201710156616.1A CN201710156616A CN107363830B CN 107363830 B CN107363830 B CN 107363830B CN 201710156616 A CN201710156616 A CN 201710156616A CN 107363830 B CN107363830 B CN 107363830B
Authority
CN
China
Prior art keywords
robot
coordinate system
control
axis
point
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.)
Active
Application number
CN201710156616.1A
Other languages
English (en)
Other versions
CN107363830A (zh
Inventor
竹内馨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN107363830A publication Critical patent/CN107363830A/zh
Application granted granted Critical
Publication of CN107363830B publication Critical patent/CN107363830B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39343Force based impedance control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39348Generalized impedance control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39529Force, torque sensor in wrist, end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/405866-DOF force sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

本发明提供一种能够使机器人执行与被指定的范围对应的动作的机器人控制装置。该机器人控制装置指定通过力控制使机器人动作的控制值的范围,并使上述机器人执行基于上述控制值与上述被指定的上述范围的动作。

Description

机器人控制装置、机器人以及机器人系统
技术领域
本发明涉及机器人控制装置、机器人以及机器人系统。
背景技术
一直以来进行着在规定的范围内使机器人执行作业的技术的研究、开发。
关于这一点,已知有如下所述的机器人的控制方法,对因力控制而在示教点的位置与当前的机器人前端的位置之间产生的位置偏移进行检测,并比较检测出的值与预先决定的阈值,在检测出的该值大于该阈值的情况下,至少对机器人进行异常处理(参照专利文献1)。
专利文献1:日本特开平11-282536号公报
然而,由于在这样的控制装置中,由于仅对示教点的位置与机器人前端的位置之间的位置偏移进行检测,因此即使能够在各示教点中限制机器人前端向平移方向的基于力控制的可动范围,也难以在各示教点中限制机器人前端向旋转方向的基于力控制的运动、或难以限制除了机器人前端之外的机器人的可动部的基于力控制的运动。该可动部例如是指机器人的关节等。其结果,存在该控制装置使机器人执行不希望的动作的情况。
发明内容
用于解决上述课题的至少一个的本发明的一方式的机器人控制装置构成为,指定通过力控制使机器人动作的控制值的范围,并使上述机器人执行基于上述控制值与上述指定的上述范围的动作。
根据该构成,机器人控制装置指定通过力控制使机器人执行动作的控制值的范围,并使机器人执行基于控制值与范围的动作。由此,机器人控制装置能够使机器人执行与被指定的范围对应的动作。
另外,本发明的其他方式的机器人控制装置构成为,在机器人控制装置中,上述范围通过与坐标系对应的每个轴的阈值来指定。
根据该构成,机器人控制装置对于使机器人动作的控制值,在与坐标系对应的每个轴上指定阈值,并使机器人执行基于控制值与通过被指定的该阈值来指定的范围的动作。由此,机器人控制装置能够使机器人执行与坐标系的每个轴对应的动作。
另外,本发明的其他方式的机器人控制装置构成为,在机器人控制装置中,上述控制值包含上述机器人的控制点的位置,上述坐标系包含表示预先存储的每个示教点的位置以及姿势的示教点坐标系,其中上述示教点是使上述控制点与其一致的点,对与上述示教点坐标系对应的每个轴指定第一阈值作为上述阈值。
根据该构成,机器人控制装置与示教点坐标系对应的每个轴上将第一阈值指定为阈值。由此,机器人控制装置能够使机器人执行与示教点坐标系的每个轴对应的动作。
另外,本发明的其他方式也可以采用如下构成,即在机器人控制装置中,对每个上述示教点指定不同的上述第一阈值。
根据该构成,机器人控制装置针对每个示教点指定不同的第一阈值。由此,机器人控制装置能够使机器人执行基于控制值与针对每个示教点不同的第一阈值的动作。
另外,本发明的其他方式也可以采用如下构成,即在机器人控制装置中,通过上述第一阈值来规定的机器人坐标系内的空间的形状为与按照上述示教点的顺序用线连接上述示教点而成的轨迹对应的形状。
根据该构成,机器人控制装置使机器人执行基于对机器人坐标系内的空间进行规定的第一阈值的动作,其中上述机器人坐标系内的空间是与按照示教点的顺序用线连接上述示教点而成的轨迹对应的形状的空间。由此,机器人控制装置能够在由控制值与第一阈值规定的机器人坐标系内的空间的内侧和外侧,分别使机器人执行不同的动作。
另外,本发明的其他方式也可以采用如下构成,即在机器人控制装置中,上述控制值包含上述机器人的关节的旋转角,上述坐标系包含表示上述关节的旋转角的关节坐标系,对与上述关节坐标系对应的每个轴指定第二阈值作为上述阈值。
根据该构成,机器人控制装置对与关节坐标系对应的每个轴指定第二阈值作为阈值。由此,机器人控制装置能够使机器人执行与关节坐标系的每个轴对应的动作。
另外,本发明的其他方式也可以采用如下构成,即在机器人控制装置中,上述坐标系包含机器人坐标系,对与上述机器人坐标系对应的每个轴指定第三阈值作为上述阈值。
根据该构成,机器人控制装置对与机器人坐标系对应的每个轴指定第三阈值作为上述阈值。由此,机器人控制装置能够使机器人执行与机器人坐标系的每个轴对应的动作。
另外,本发明的其他方式也可以采用如下构成,即在机器人控制装置中,在与上述坐标系对应的轴中的被预先决定的一部分的轴上指定上述阈值。
根据该构成,机器人控制装置在与坐标系对应的轴中的被预先决定的一部分的轴上指定阈值。由此,机器人控制装置能够使机器人执行与坐标系的轴中的被预先决定的一部分的轴对应的动作。
另外,本发明的其他方式也可以采用如下构成,即在机器人控制装置中,在上述控制值持续超过上述范围达规定时间以上的情况下,使上述机器人执行基于上述控制值与上述范围的动作。
根据该构成,在控制值持续超过范围达规定时间以上的情况下,机器人控制装置执行规定的处理。由此,机器人控制装置能够在控制值持续超过范围达规定时间之前和之后,分别使机器人执行不同的动作。
另外,本发明的其他方式可以采用如下构成,即在机器人控制装置中,上述规定的处理执行与异常处理不同的处理。
根据该构成,在控制值持续超过阈值达规定时间以上的情况下,机器人控制装置执行与异常处理不同的处理。由此,机器人控制装置能够在控制值持续超过阈值规定时间之前和之后,分别使机器人执行与异常处理不同的处理的动作。
另外,本发明的其他方式的机器人由如上述记载的机器人控制装置控制。
根据该构成,机器人对通过力控制使机器人动作的控制值指定范围,并执行基于控制值与范围的动作。由此,机器人能够执行与被指定的范围对应的动作。
另外,本发明的其他方式的机器人系统具备:如上述记载的机器人控制装置;以及机器人,由上述机器人控制装置控制。
根据该构成,机器人系统对通过力控制使机器人的动作的控制值指定范围,并使机器人执行基于控制值与范围的动作。由此,机器人系统能够使机器人执行与被指定的范围对应的动作。
根据以上,机器人控制装置以及机器人系统对通过力控制使机器人动作的控制值指定范围,并使机器人执行基于控制值与范围的动作。由此,机器人控制装置能够使机器人执行与被指定的范围对应的动作。
另外,机器人对通过力控制使机器人的动作的控制值指定范围,并执行基于控制值与范围的动作。由此,机器人能够执行与指定的范围对应的动作。
附图说明
图1是表示本实施方式所涉及的机器人系统1的构成的一个例子的图。
图2是表示机器人控制装置30的硬件构成的一个例子的图。
图3是表示机器人控制装置30的功能构成的一个例子的图。
图4是表示基于针对示教点坐标系的X轴以及Y轴的每一个分别指定的第一阈值而计算出的临时变化域的一个例子的图。
图5是表示机器人控制装置30基于图4所示的变化域RA1而计算出的第一变化域的一个例子的图。
图6是示例被包含在变化域RA2内的修正示教点以及不被包含在变化域RA2内的修正示教点的图。
图7是表示基于在示教点坐标系的W轴上被指定的第一阈值而计算出的第二变化域的一个例子的图。
图8是表示基于对机器人坐标系RC的X轴以及Y轴的每一个分别指定的第三阈值而计算出的第三变化域的一个例子的图。
图9是将在图5~图6中说明的变化域RA2的一个例子与在图8中说明的变化域RA3的一个例子在机器人坐标系RC中重叠表示的图。
图10是表示基于在关节坐标系J4C的W轴上指定的第二阈值而计算出的第四变化域的一个例子的图。
图11是表示关节J4的旋转角的随时间变化的一个例子的图。
图12是表示基于在关节坐标系J4C的W轴上指定的第二阈值而计算出的第四变化域的其他例子的图。
图13是表示机器人控制装置30所执行的处理的流程的一个例子的流程图。
图14是表示关节J4的旋转角的随时间变化的其他例子的图。
图15是表示在规定的作业中,机器人20使第一物体O1的第一表面M1与第二物体O2的第二表面M2接触之前的时刻下的手部H与第二物体O2的相对位置关系的一个例子的图。
图16是表示在规定的作业中,机器人20使第一物体O1的第一表面M1与第二物体O2的第二表面M2接触之前的时刻下的手部H与第二物体O2的相对位置关系的其他例子的图。
图17是表示基于圆形状的临时变化域而计算出的第一变化域的一个例子的图。
具体实施方式
<实施方式>
以下,参照附图对本发明的实施方式进行说明。
<本实施方式的坐标系的坐标轴>
首先,对本实施方式的说明中所使用的各种坐标系的坐标轴进行说明。本实施方式的说明中所使用的各种坐标系具有X轴、Y轴、Z轴、U轴、V轴、W轴的六个坐标轴。
某个坐标系的X轴与该坐标系的Y轴以及Z轴正交,并且是表示沿着该X轴的方向即X轴方向的位置(X轴的坐标)的坐标轴。该坐标系的Y轴与该坐标系的X轴以及Z轴正交,并且是表示沿着该Y轴的方向即Y轴方向的位置(Y轴的坐标)的坐标轴。该坐标系的Z轴与该坐标系的X轴以及Y轴正交,并且是表示沿着该Z轴的方向即Z轴方向的位置(Z轴的坐标)的坐标轴。该坐标系的U轴是表示绕该X轴的旋转角的坐标轴,并且是表示沿着该U轴的方向即U轴方向的位置(表示该旋转角的坐标且U轴的坐标)的坐标轴。该坐标系的V轴是表示绕该Y轴的旋转角的坐标轴,并且是表示沿着该V轴的方向即V轴方向的位置(表示该旋转角的坐标且V轴的坐标)的坐标轴。该坐标系的W轴是表示绕该Z轴的旋转角的坐标轴,并且是表示沿着该W轴的方向即W轴方向的位置(表示该旋转角的坐标且W轴的坐标)的坐标轴。
此外,在以下的说明中,作为第一个坐标系的第一坐标系的各坐标轴与作为第二个坐标系的第二坐标系的各坐标轴一致是指,第一坐标系的X轴与第二坐标系的X轴一致,第一坐标系的Y轴与第二坐标系的Y轴一致,第一坐标系的Z轴与第二坐标系的Z轴一致,第一坐标系的U轴与第二坐标系的U轴一致,第一坐标系的V轴与第二坐标系的V轴一致,第一坐标系的W轴与第二坐标系的W轴一致的意思。
以下,基于具有这样的六个坐标轴的各种坐标系,对本实施方式所涉及的机器人系统1进行说明。
<机器人系统的构成>
以下,参照图1对机器人系统1的构成进行说明。图1是表示本实施方式所涉及的机器人系统1的构成的一个例子的图。机器人系统1具备机器人20以及机器人控制装置30。
机器人20是具备手臂A以及支承手臂A的支承台B的单臂机器人。单臂机器人是具备这个例子中的手臂A那样的1条手臂(臂)的机器人。此外,机器人20除了是单臂机器人之外也可以是多臂机器人。多臂机器人是具备两条以上手臂(例如,两条以上的手臂A)的机器人。此外,多臂机器人中的具备两条手臂的机器人也称为双臂机器人。即,机器人20可以是具备两条手臂的双臂机器人,也可以是具备3条以上手臂(例如,3条以上手臂A)的多臂机器人。另外,机器人20也可以是平面SCARA机器人、直角坐标机器人等其他机器人。直角坐标机器人例如是桁架式机器人。
手臂A具备末端执行器E、机械手M以及力检测部21。末端执行器E在这个例子中是具备能够把持物体的指部的末端执行器。此外,末端执行器E除了是具备该指部的末端执行器之外,也可以是通过空气的吸引或磁力、夹具等而能够举起物体的末端执行器或其他末端执行器。
末端执行器E通过电缆以能够通信的方式与机器人控制装置30连接。由此,末端执行器E基于从机器人控制装置30获取的控制信号来执行动作。此外,经由电缆的有线通信例如基于以太网(注册商标)、USB(Universal Serial Bus:通用串行总线)等标准来进行。另外,末端执行器E也可以是借助基于Wi-Fi(注册商标)等通信标准进行的无线通信从而与机器人控制装置30连接的构成。
机械手M从支承台B侧朝向末端执行器E侧依次具备被称为关节J1、关节J2、关节J3、关节J4、关节J5、关节J6、关节J7的未图示的7个关节。并且,该7个关节分别具备未图示的致动器。即,具备机械手M的手臂A是7轴垂直多关节型的手臂。手臂A通过支承台B、末端执行器E、机械手M以及机械手M所具备的7个关节各自的致动器的相协作的动作来执行7轴的自由度的动作。此外,手臂A可以是以6轴以下的自由度进行动作的构成,也可以是以8轴以上的自由度进行动作的构成。
手臂A以7轴的自由度进行动作的情况,与手臂A以6轴以下的自由度进行动作的情况相比,手臂A可以得到的姿势增加。由此,手臂A例如能够使动作变得顺畅,还能够容易地避免与存在于手臂A的周边的物体的干扰。另外,手臂A以7轴的自由度进行动作的情况,与手臂A以8轴以上的自由度进行动作的情况相比,手臂A的控制的计算量变少且容易进行。
机械手M所具备的7个(被配备在关节的)致动器分别通过电缆以能够与机器人控制装置30通信的方式连接。由此,该致动器基于从机器人控制装置30获取的控制信号使机械手M动作。并且,各致动器具备编码器。各编码器将表示配备了各编码器的致动器的旋转角的信息输出至机器人控制装置30。此外,经由电缆的有线通信例如基于以太网(注册商标)、USB等标准来进行。并且,机械手M所具备的7个致动器中的一部分或者全部也可以是借助基于Wi-Fi(注册商标)等通信标准进行的无线通信从而与机器人控制装置30连接的构成。
在这个例子中,某个关节的旋转轴与该关节的关节坐标系的Z轴一致。该关节的旋转轴是指该关节的致动器的旋转轴。该关节坐标系是与该关节的致动器建立对应的三维局部坐标系,以便与该关节一同活动。即,该关节的旋转角通过与该关节的致动器建立对应的关节坐标系中的W轴方向的位置(坐标)来表示。该关节的旋转角是指该关节的致动器的旋转轴已旋转的角度。
在这个例子中,关节坐标系J1C与关节J1的致动器建立对应。并且,关节坐标系J2C与关节J2的致动器建立对应。并且,关节坐标系J3C与关节J3的致动器建立对应。并且,关节坐标系J4C与关节J4的致动器建立对应。并且,关节坐标系J5C与关节J5的致动器建立对应。并且,关节坐标系J6C与关节J6的致动器建立对应。并且,关节坐标系J7C与关节J7的致动器建立对应。
此外,某个关节的旋转轴也可以是不与和该关节的致动器建立对应的关节坐标系的Z轴一致的构成。并且,虽然这个例子中的致动器是仅具有一个旋转轴的致动器,但除此之外,也可以是具有两个以上旋转轴的致动器。在该情况下,为了表示该两个以上旋转轴各自已旋转的旋转角,关节坐标系在每个旋转轴与该致动器建立对应。
力检测部21装备在末端执行器E与机械手M之间。力检测部21例如是力传感器。力检测部21检测施加至手部H的外力。手部H是指末端执行器E或者由末端执行器E把持的物体。外力是指力与力矩(扭矩)中的至少一方。具体而言,力检测部21检测出的力的大小是施加至手部H的力的大小,并且是沿力检测坐标系的X轴方向、Y轴方向、Z轴方向的每一个方向施加的力的大小。并且,力检测部21检测出的力矩的大小是施加至手部H的力矩,并且是沿力检测坐标系的U轴方向、V轴方向、W轴方向的每一个方向施加的力矩的大小。力检测部21通过通信将包含表示检测出的这些大小的力检测值在内的力检测信息输出至机器人控制装置30。力检测坐标系是与力检测部21对应的三维局部坐标系,以便与力检测部21一同活动。
力检测信息用于机器人控制装置30对手臂A的基于力检测信息进行的控制即力控制。力控制例如是指阻抗控制等顺应运动控制。此外,力检测部21也可以是对施加至扭矩传感器等手部H的外力进行检测的其他传感器。
力检测部21通过电缆以能够通信的方式与机器人控制装置30连接。经由电缆的有线通信例如基于以太网(注册商标)、USB等标准进行。此外,力检测部21与机器人控制装置30也可以是借助基于Wi-Fi(注册商标)等通信标准进行的无线通信连接的构成。
在这个例子中,机器人控制装置30是机器人控制器。机器人控制装置30基于用户预先输入的动作程序生成各种控制值。机器人控制装置30基于生成的控制值,生成使机械手M的各关节所具备的致动器执行动作的控制信号。机器人控制装置30将生成的控制信号发送至机器人20,并通过使该各致动器执行动作从而使机器人20执行动作。在此,该控制信号中也包含使末端执行器E执行动作的控制信号。这样一来,机器人控制装置30使机器人20执行动作,并使机器人20执行规定的作业。此外,机器人控制装置30除了是设置于机器人20的外部的构成之外,也可以是内置于机器人20的构成。
<机器人执行的规定的作业>
以下,对机器人20执行的规定的作业进行说明。
作为规定的作业,机器人20执行使由末端执行器E把持的第一物体O1的第一表面M1与第二物体O2的第二表面M2接触的作业。
第一物体O1例如是工业用的零件或部件、制品等。此外,第一物体O1除了是上述之外也可以是与工业用不同的日用品的零件或部件、制品等、生物体等其他物体。在图1所示的例子中,第一物体O1表示为立方体形状的物体。此外,第一物体O1的形状除了是立方体形状地之外也可以是其他形状。
第一物体O1的第一表面M1在这个例子中是由末端执行器E把持的第一物体O1的面中的最远离末端执行器E的重心的表面。此外,第一表面M1除了上述之外也可以是由末端执行器E把持的第一物体O1的面中的、除了最远离末端执行器E的重心的表面以外的其他表面。
如图1所示,第一物体O1由末端执行器E预先把持。此外,第一物体O1也可以是不由末端执行器E预先把持的构成。在该情况下,规定的作业包含机器人20将配置于未图示的投料区域的第一物体O1通过末端执行器E进行把持的作业。
第二物体O2例如是工业用的零件或部件、制品等。此外,第二物体O2除了上述之外也可以是与工业用不同的日用品的零件或部件、制品等、生物体等其他物体。在图1所示的例子中,第二物体O2表示为平板状的物体。此外,第二物体O2的形状除了是平板状之外也可以是其他形状。另外,第二物体O2预先载置于工作台TB的上表面。工作台TB在这个例子中是作业台等的台。此外,工作台Tb除了是上述之外只要是具有板面、搁板等能够载置第二物体O2的表面的物体,则也可以是其他物体。
第二物体O2的第二表面M2例如是第二物体O2的上表面。该上表面在这个例子中是与第二物体O2的表面中的与和工作台TB接触的表面即下表面的相反侧的表面。此外,第二表面M2除了是上述之外也可以是非该表面的第二物体O2的其他表面。以下,作为一个例子,对第二表面M2是与机器人坐标系RC的Z轴正交的表面的情况进行说明。此外,除此之外第二表面M2也可以是不与该Z轴正交的表面。
<机器人控制装置执行的处理的概要>
以下,针对机器人控制装置30执行的处理的概要进行说明。
机器人控制装置30在与末端执行器E预先建立对应的位置设定与末端执行器E一同活动的TCP(Tool Center Point:工具中心点)即控制点T。与末端执行器E预先建立对应的位置例如是由末端执行器E预先把持的第一物体O1的重心的位置。此外,末端执行器E所对应的位置除了上述之外可以是末端执行器E的重心的位置等其他位置,也可以是与机械手M建立对应的任意位置。
控制点T与表示控制点T的位置的信息的控制点位置信息以及表示控制点T的姿势的信息的控制点姿势信息建立对应。此外,控制点T除此之外也可以是与其他信息建立对应的构成。机器人控制装置30指定(决定)控制点位置信息以及控制点姿势信息。机器人控制装置30基于被指定的控制点位置信息以及控制点姿势信息来导出控制值。
具体而言,机器人控制装置30导出控制位置、控制姿势、控制旋转角来作为控制值。控制位置是控制点位置信息所表示的位置。控制姿势是控制点姿势信息所表示的位置。控制旋转角是使控制点T的位置以及姿势与控制位置以及控制姿势一致的情况下实现的机械手M的各关节所具备的致动器的旋转角。机器人控制装置30基于控制位置以及控制姿势、反向运动学来导出控制旋转角。
机器人控制装置30生成包含已导出的控制值的控制信号。机器人控制装置30将生成的控制信号发送至机器人20,并使机械手M的各关节所具备的致动器执行动作,机器人控制装置30使控制点T的位置与控制位置一致,并使控制点T的姿势与控制姿势一致。即,机器人控制装置30通过指定控制点位置信息以及控制点姿势信息从而使机器人20执行动作。由此,机器人控制装置30使机器人20执行规定的作业。
在这个例子中,控制点T的位置通过控制点坐标系TC的原点在机器人坐标系RC的位置来表示。并且,控制点T的姿势通过控制点坐标系TC的各坐标轴在机器人坐标系RC的方向来表示。控制点坐标系TC是与控制点T建立对应的三维局部坐标系,以便与控制点T一同活动。此外,在这个例子中,上述的第一物体O1的位置以及姿势通过控制点T的位置以及姿势来表示。并且,在这个例子中,控制点坐标系TC的各坐标轴与上述的力检测坐标系的各坐标轴一致。此外,控制点坐标系TC的各坐标轴也可以是不与力检测坐标系的各坐标轴一致的构成。
机器人控制装置30基于用户预先输入的控制点设定信息来设定控制点T。控制点设定信息例如是表示末端执行器E的重心的位置以及姿势、与控制点T的位置以及姿势的相对的位置以及姿势的信息。此外,控制点设定信息除此之外可以是表示末端执行器E所对应的任意一个位置以及姿势、与控制点T的位置以及姿势的相对的位置以及姿势的信息,可以是表示机械手M所对应的任意一个位置以及姿势、与控制点T的位置以及姿势的相对的位置以及姿势的信息,也可以是表示与机器人20的其他部位建立对应的任意的位置以及姿势、与控制点T的位置以及姿势的相对的位置以及姿势的信息。
机器人控制装置30通过位置控制使机器人20执行动作。位置控制是机器人控制装置30基于预先存储于机器人控制装置30的示教点信息而使机器人20执行动作的控制。具体而言,机器人控制装置30通过位置控制并基于预先存储于机器人控制装置30的示教点信息来使控制点T移动。
示教点信息是表示示教点的信息。示教点是指机器人控制装置30使机械手M动作时成为使控制点T移动的目标的假想的点。示教点与示教点位置信息、示教点姿势信息、示教点识别信息建立对应。示教点位置信息是表示示教点的位置的信息。并且,示教点姿势信息是表示示教点的姿势的信息。示教点识别信息是识别示教点的信息。在这个例子中,示教点的位置通过与示教点建立对应的三维局部坐标系即示教点坐标系的原点在机器人坐标系RC的位置来表示。并且,示教点的姿势通过示教点坐标系的各坐标轴在机器人坐标系RC的方向来表示。
在位置控制中,机器人控制装置30基于用户预先输入的动作程序依次指定示教点信息所表示的1个以上的示教点。机器人控制装置30将与被指定的示教点即指定示教点建立对应的示教点位置信息指定为控制点位置信息,并且将与指定示教点建立对应的示教点姿势信息指定为控制点姿势信息。即,在位置控制中,机器人控制装置30基于指定示教点来指定控制点位置信息以及控制点姿势信息。由此,机器人控制装置30能够使控制点T与指定示教点一致。此外,在这个例子中,某个示教点与控制点T一致是指该示教点的位置以及姿势与控制点T的位置以及姿势一致的意思。
另外,机器人控制装置30基于用户预先输入的动作程序,在依次指定示教点信息所表示的1个以上的示教点时,使控制点T与示教点一同移动的速度被指定。由此,机器人控制装置30在使控制点T与指定示教点一致时,根据与指定示教点一同被指定的速度来使控制点T活动。并且,机器人控制装置30基于被指定的速度计算预计移动时间。预计移动时间是指预计从第一示教点到第二示教点移动所需要的时间。第一示教点是指第一个示教点且是指与当前控制点T一致的示教点。第二示教点是第二个示教点且是作为指定示教点的示教点。具体而言,机器人控制装置30计算第一示教点的位置与第二示教点的位置之间的距离。机器人控制装置30基于计算出的该距离以及被指定的速度来计算预计移动时间。
另外,机器人控制装置30通过力控制使机器人20动作。力控制是机器人控制装置30基于机器人控制装置30从力检测部21获取到的力检测信息,从而使机器人20动作的控制。具体而言,机器人控制装置30从力检测部21获取力检测信息。然后,机器人控制装置30在从力检测部21获取的力检测信息所包含的力检测值不满足力控制条件的情况下,将成为使控制点T移动的目标的假想的点从指定示教点变更(修正)为修正示教点。修正示教点是在与控制点T一致的情况下预计从力检测部21获取的力检测值的每一个满足规定的力控制条件的假想的点。力控制条件是针对从力检测部21获取的力检测信息所包含的力检测值的条件。以下,作为一个例子对力控制条件在从力检测部21获取的力检测信息所包含的力检测值的每一个为0情况进行说明。此外,力控制条件除此之外也可以是其他条件。
机器人控制装置30基于从力检测部21获取到的力检测信息所包含的力检测值、当前的控制点T的位置以及姿势、位置控制的指定示教点的位置以及姿势来计算修正示教点的位置以及姿势。针对修正示教点的位置以及姿势的计算方法,可以使用已知的方法,也可以使用未来开发的方法,因此省略说明。机器人控制装置30将表示计算出的修正示教点的位置的修正点示教点位置信息指定为控制点位置信息,并且将表示计算出的修正示教点的姿势的修正示教点姿势信息指定为控制点姿势信息。由此,机器人控制装置30使控制点T移动,并使控制点T与修正示教点一致。此外,在这个例子中,某个修正示教点与控制点T一致是指,该修正示教点的位置以及姿势与控制点T的位置以及姿势一致的意思。
这样,机器人控制装置30在从力检测部21获取到的力检测信息所包含的力检测值不满足力控制条件的情况下,通过力控制将使控制点T移动的目标从指定示教点变更为修正示教点,并使控制点T与变更后的修正示教点一致。由此,机器人控制装置30能够根据施加于手部H的外力使控制点T移动。其结果,机器人控制装置30能够抑制因使其他物体干扰手部H而导致该物体变形的情况。
在此,在机器人控制装置30通过力控制使控制点T与修正示教点一致时,若施加于手部H的外力的大小大于希望的大小,则存在控制点T向不希望的位置以及姿势变化的情况。不希望的位置以及姿势例如是在使机器人20执行规定的作业时,机器人20难以继续进行规定的作业的位置以及姿势。
为了抑制这种情况,这个例子中的机器人控制装置30对通过力控制使机器人20动作的控制值指定范围,并使机器人20执行基于控制值与范围的动作。更具体而言,机器人控制装置30对于使机器人20执行动作的控制值,在与坐标系对应的每个轴上指定阈值,并使机器人20执行基于控制值与通过所指定的该阈值而被指定的范围的动作。在这个例子中该轴是坐标轴。由此,机器人控制装置30能够使机器人执行与被指定的范围、即与被指定的该阈值对应的动作。以下,详细地说明机器人控制装置30在与坐标系对应的每个轴上指定阈值并使机器人20执行基于控制值与阈值的动作的处理。此外,与某个坐标系对应的轴可以是X轴、Y轴、Z轴、U轴、V轴、W轴中的一部分,也可以是X轴、Y轴、Z轴、U轴、V轴、W轴的全部。
<机器人控制装置的硬件构成>
以下,参照图2对机器人控制装置30的硬件构成进行说明。图2是表示机器人控制装置30的硬件构成的一个例子的图。
机器人控制装置30例如具备CPU(Central Processing Unit:中央处理器)31、存储部32、输入接收部33、通信部34以及显示部35。并且,机器人控制装置30经由通信部34执行与机器人20的通信。这些构成要素经由总线(Bus)以能够通信的方式连接。
CPU31执行储存于存储部32的各种程序。
存储部32例如包含HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid StateDrive:固态硬盘)、EEPROM(Electrically Erasable Programmable Read-Only Memory:电可擦可编程只读存储器)、ROM(Read-Only Memory:只读存储器)、RAM(Random AccessMemory:随机存取存储器)等。此外,存储部32除了是内置于机器人控制装置30的存储装置以外,也可以是由USB等数字输入输出接口等连接的外置型的存储装置。存储部32储存包含机器人控制装置30所处理的各种信息、图像、动作程序在内的各种程序、示教点信息。
输入接收部33例如是与显示部35一体构成的触摸面板。此外,输入接收部33可以是键盘、鼠标、触摸板、其他输入装置。
通信部34例如构成为包含USB等数字输入输出接口、以太网(注册商标)接口等。
显示部35例如是液晶显示器面板或者有机EL(Electro Luminescence:电致发光)显示器面板。
<机器人控制装置的功能构成>
以下,参照图3对机器人控制装置30的功能构成进行说明。图3是表示机器人控制装置30的功能构成的一个例子的图。
机器人控制装置30具备存储部32以及控制部36。
控制部36控制机器人控制装置30的整体。控制部36具备力检测信息获取部361以及机器人控制部363。控制部36所具备的这些功能部例如,能够通过使CPU31执行存储于存储部32的各种程序来实现。并且,该功能部中的一部分或者全部也可以是LSI(Large ScaleIntegration:大规模集成电路)、ASIC(Application Specific Integrated Circuit:专用集成电路)等硬件功能部。
力检测信息获取部361从力检测部21获取力检测信息。
机器人控制部363从存储部32读出动作程序以及示教点信息。机器人控制部363基于读出的动作程序以及示教点信息,通过位置控制使机器人20动作。并且,机器人控制部363基于力检测信息获取部361获取到的力检测信息通过力控制使机器人20动作。由此,机器人控制部363使机器人20执行规定的作业。
<机器人控制装置所执行的处理的具体例子>
以下,针对机器人控制装置30所执行的处理的具体例子进行说明。
这个例子中的机器人控制装置30基于上述的动作程序,在依次指定示教点信息所表示的1个以上的示教点时,指定用户所希望的坐标系以及与该坐标系对应的每个轴的阈值。在此,机器人控制装置30也可以指定用户所希望的坐标系以及与该坐标系对应的各轴中的预先决定的一部分的轴的阈值。并且,在机器人控制装置30指定该坐标系时,作为用户所希望的坐标系,机器人控制装置30基于动作程序指定与指定示教点建立对应的示教点坐标系、机器人坐标系RC、与关节J1建立对应的关节坐标系J1C、与关节J2建立对应的关节坐标系J2C、与关节J3建立对应的关节坐标系J3C、与关节J4建立对应的关节坐标系J4C、与关节J5建立对应的关节坐标系J5C、与关节J6建立对应的关节坐标系J6C、以及与关节J7建立对应的关节坐标系J7C的一部分或者全部。
在这个例子中,与用户所希望的坐标系对应的每个轴的阈值是指每一个该轴的上限值以及下限值。每一个该轴的上限值是每一个该轴的轴向的位置(坐标)的上限值。并且,每一个该轴的下限值是每一个该轴的轴向的位置(坐标)的下限值。例如,在该坐标系是机器人坐标系RC,且与该坐标系所对应的轴是机器人坐标系RC的X轴以及Y轴的情况下,与该坐标系对应的每个轴的阈值分别是该X轴的上限值以及下限值、该Y轴的上限值以及下限值。此外,与该坐标系对应的每个轴的阈值除了是每一个该轴的上限值以及下限值之外,也可以是每一个该轴的上限值与下限值中的任一方。
机器人控制装置30在指定用户所希望的坐标系以及与该坐标系对应的每个轴的阈值之后,基于被指定的每一个该轴的阈值来计算与已指定的坐标系对应的控制值的变化域。在该坐标系是示教点坐标系的情况下,该控制值是控制位置与控制姿势的至少一方。并且,在该坐标系是机器人坐标系RC的情况下,该控制值是控制位置。并且,在该坐标系是关节坐标系的情况下,该控制值是7个控制旋转角中的一部分或者全部。在这个例子中,该控制值的变化域是根据机器人控制装置30能够使该控制值变化的范围中的与该坐标系对应的每个轴的阈值来指定(来表示)的范围。
在计算上述的变化域之后,机器人控制装置30基于计算出的变化域以及基于被指定的控制点位置信息以及控制点姿势信息而导出的控制值来使机器人20动作。以下,针对计算出的变化域即与各坐标系对应的控制值的变化域、以及基于该变化域的机器人控制装置30的处理的具体例子进行说明。
<与示教点坐标系对应的控制值的变化域的具体例子>
以下,参照图4~图7对与示教点坐标系对应的控制值的变化域的具体例子进行说明。以下,为了方便说明,将机器人控制装置30在示教点坐标系的每个轴指定的阈值称为第一阈值来进行说明。
首先,参照图4~图6,对基于在示教点坐标系的X轴、Y轴、Z轴的每一个分别被指定的第一阈值而计算出的变化域即第一变化域、与基于第一变化域的机器人控制装置30的处理的具体例子进行说明。此外,在图4~图6中,为了简化说明,针对控制点T没有沿机器人坐标系RC的Z轴方向移动的情况进行说明。即,图4~图6表示的示教点全部被包含在与机器人坐标系RC的Z轴正交的一个平面内。因此,在图4~图6中,对机器人控制装置30未在示教点坐标系的Z轴上指定第一阈值的情况进行说明。此外,机器人控制装置30也可以为如下构成:在对于被指定的坐标系的各轴中的一部分未指定阈值的情况下,通过指定无限大来作为针对该一部分的阈值从而不指定该阈值。
图4是表示基于对示教点坐标系的X轴以及Y轴的每一个分别指定的第一阈值计算出的临时变化域的一个例子的图。临时变化域是指为了计算第一变化域而计算的控制值的变化域。在图4中,示教点P1是机器人控制装置30通过前次的位置控制而指定的示教点、或者通过前次的力控制来修正该示教点所得到的修正示教点。在图4所示的例子中,控制点T与示教点P1一致。示教点P2是机器人控制装置30通过本次的位置控制指定的指定示教点。只要不对手部H施加外力,机器人控制装置30就会使控制点T移动,并使控制点T与示教点P2一致。如图4所示,示教点坐标系P2C与示教点P2建立对应。示教点坐标系P2C表示机器人坐标系RC的示教点P2的位置以及姿势。并且,示教点P3是机器人控制装置30通过下次的位置控制指定的示教点。
另外,图4所示的示教点坐标系P2C的X轴的值XC1表示机器人控制装置30所指定的第一阈值中的该X轴的上限值。并且,该X轴的值XC2表示该第一阈值中的该X轴的下限值。并且,图4所示的示教点坐标系P2C的Y轴的值YC1表示该第一阈值中的该Y轴的上限值。并且,该Y轴的值YC2表示该第一阈值中的该Y轴的下限值。并且,变化域RA1表示机器人控制装置30基于机器人控制装置30所指定的第一阈值而计算出的临时变化域。在图4所示的例子中,变化域RA1的形状是正方形。此外,变化域RA1的形状除此之外也可以是通过机器人控制装置30所指定的各个第一阈值的圆形状等、基于机器人控制装置30所指定的第一阈值的其他形状。
机器人控制装置30基于用户预先输入的动作程序,在示教点P2被指定为下一个指定示教点时,与示教点P2一同,指定坐标系P2C为用户所希望的坐标系,进一步指定针对示教点坐标系P2C的X轴以及Y轴的每一个的第一阈值。该第一阈值是指图4所示的各个值XC1、值XC2、值YC1、值YC2。机器人控制装置30基于所指定的该第一阈值,计算与示教点坐标系P2C对应的控制值的变化域RA1。在图4所示的例子中,该控制值是指控制位置以及控制姿势中的控制位置。
机器人控制装置30基于计算出的变化域RA1来计算第一变化域。具体而言,机器人控制装置30基于变化域RA1计算第一变化域。更具体而言,第一变化域是指机器人坐标系RC的空间中的基于变化域RA1的空间。
图5是表示机器人控制装置30基于图4所示的变化域RA1而计算出的第一变化域的一个例子的图。图5所示的变化域RA2是基于变化域RA1计算出的第一变化域。机器人控制装置30在机器人控制装置30沿着使控制点T移动的移动轨迹,使示教点P2与变化域RA1一同移动至示教点P1的情况下,作为供变化域RA1通过的区域而计算变化域RA2。该移动轨迹是在机器人坐标系RC中控制点T从示教点P1移动至示教点P2的轨迹。即,变化域RA2的形状形成为与该移动轨迹对应的形状。该移动轨迹可以是直线,也可以是曲线。机器人控制装置30在沿着该移动轨迹使示教点P2与变化域RA1一同移动至示教点P1的情况下,将供变化域RA1通过的区域作为变化域RA2来计算。此外,在这个例子中,机器人控制装置30基于用户预先输入的动作程序将该移动轨迹指定为直线或者曲线的任一个。
在计算出变化域RA2之后,机器人控制装置30在使控制点T从示教点P1移动至示教点P2的过程中对手部H施加有外力的情况下,如上所述那样计算修正示教点的位置以及姿势。机器人控制装置30判定计算出的该位置以及姿势中的该位置(即,控制位置)是否被包含在变化域RA2内。然后,机器人控制装置30执行与该位置是否被包含在变化域RA2内的判定结果对应的处理。例如,机器人控制装置30在判定该位置被包含在变化域RA2内的情况下,将指定示教点变更为修正示教点之后,使控制点T移动并使控制点T与修正示教点一致。然后,机器人控制装置30基于上述的动作程序将作为下一个被指定的示教点的示教点P3指定为指定示教点。另一方面,机器人控制装置30在判定该位置不被包含在变化域RA2内的情况下,执行规定的处理。规定的处理例如是异常处理。异常处理在这个例子中,是指使机器人20的动作停止。此外,异常处理除此之外也可以是其他处理。另外,机器人控制装置30也可以在异常处理中仅停止通过位置控制使机器人20执行动作的处理,并仅通过力控制来进行使机器人20执行动作的处理。
图6是分别示例被包含在变化域RA2内的修正示教点以及不被包含在变化域RA2内的修正示教点的图。图6所示的示教点V1是被包含在变化域RA2内的位置的修正示教点。并且,图6表示的示教点V2是不被包含在变化域RA2内的位置的修正示教点。
在机器人控制装置30计算出的修正示教点的位置是示教点V1的位置的情况下,机器人控制装置30在将指定示教点变更为示教点V1之后,使控制点T移动从而使控制点T与示教点V1一致。然后,机器人控制装置30基于上述的动作程序将作为接下来被指定的示教点的示教点P3指定为指定示教点。另一方面,在机器人控制装置30所计算出的修正示教点的位置是示教点V2的位置的情况下,机器人控制装置30例如执行异常处理作为规定的处理。
此外,异常处理可以为如下构成,即在机器人控制装置30使控制点T移动至修正示教点的时候,不将变化域RA2的外侧与变化域RA2之间的边界面、和从当前的控制点T的位置到修正示教点的位置连接的直线的交点的位置作为修正示教点的位置来重新计算的构成等、不使控制点T向该外侧移动。在重新计算修正示教点的位置的情况下,机器人控制装置30使控制点T与重新计算出的位置的修正示教点一致。由此,机器人控制装置30能够针对示教点坐标系的X轴以及Y轴的每一个分别限制机器人的动作。此外,在机器人控制装置30对示教点坐标系的X轴、Y轴、Z轴的每一个分别指定第一阈值的情况下,机器人控制装置30能够针对示教点坐标系的X轴、Y轴、Z轴的每一个分别限制机器人的动作。在该情况下,变化域RA1的形状例如为球形形状。
接下来,参照图7来说明基于针对示教点坐标系的U轴、V轴、W轴的每一个分别指定的第一阈值而计算出的变化域即第二变化域、以及基于第二变化域的机器人控制装置30的处理的具体例子。此外,在图7中,为了简化说明,针对控制点T不向机器人坐标系RC的U轴、V轴的各个方向旋转的情况进行说明。因此,在图7中,针对机器人控制装置30未对示教点坐标系的U轴、V轴分别指定第一阈值的情况进行说明。
图7是表示基于在示教点坐标系的W轴上指定的第一阈值而计算出的第二变化域的一个例子的图。此外,由于图7所示的示教点P1~示教点P3与控制点T的相对位置以及姿势的关系、与图4所示的示教点P1~示教点P3与控制点T的相对位置以及姿势的关系相同,因此省略说明。并且,在图7中,作为一个例子对机器人控制装置30基于被施加于手部H的外力,将使控制点T移动的目标从示教点P2变更为示教点V3的情况进行说明。即,示教点V3是修正示教点。并且,图7所示的示教点坐标系V3C是与示教点V3建立对应的示教点坐标系。从示教点坐标系V3C的原点延伸的辅助线HL1是用于明确表示示教点坐标系V3C的姿势而画出的辅助线,并且是与示教点坐标系P2C的X轴平行的直线。
在此,在这个例子中,从某个示教点坐标系的原点延伸且与该示教点坐标系的XY平面平行的直线所延伸的方向表示该示教点坐标系的W轴的位置。以下,作为一个例子对从该示教点坐标系的X轴的负方向朝向正方向的方向表示该W轴的原点的情况进行说明。此外,该原点除此之外也可以是通过其他方向表示的构成。并且,在从该示教点坐标系的Z轴的正方向朝向负方向观察到该示教点坐标系的情况下,以该示教点坐标系的原点为中心逆时针旋转的方向是该示教点坐标系的W轴的正方向。
机器人控制装置30在基于用户预先输入的动作程序,将示教点P2指定为接下来被指定的指定示教点的时候,与示教点P2一同地将示教点坐标系P2C指定为用户所希望的坐标系,进一步指定示教点坐标系P2C的W轴的第一阈值。该第一阈值分别是W轴的上限值θ1以及下限值θ2。机器人控制装置30基于已指定的该第一阈值,将上限值θ1与下限值θ2之间的范围作为与示教点坐标系P2C对应的控制值的第二变化域来计算。在图7表示的例子中,该控制值是指控制位置以及控制姿势中的控制姿势。
在计算出第二变化域之后,机器人控制装置30在使控制点T从示教点P1移动至示教点P2的过程中在手部H施加有外力的情况下,如上述那样计算作为修正示教点的示教点V3的位置以及姿势。机器人控制装置30对计算出的该位置以及姿势中的该姿势(即,控制姿势)与示教点P2的姿势的差量进行计算。机器人控制装置30判定计算出的该差量是否被包含在第二变化域内。
在图7所示的例子中,该差量是辅助线HL1与示教点坐标系V3C的X轴之间的角度θ3。在图7中,为了明确该差量是否被包含在第二变化域内,画出了辅助线HL2以及辅助线HL3。辅助线HL2是从示教点坐标系V3C的原点延伸的辅助线,并且是与以该原点为中心使辅助线HL1逆时针旋转上限值θ1的量的情况一致的辅助线。辅助线HL3是从示教点坐标系V3C的原点延伸的辅助线,并且是与以该原点为中心使辅助线HL1顺时针旋转下限值θ2的量的情况一致的辅助线。即,在图7所示的例子中,该差量被包含在第二变化域内。
机器人控制装置30执行与该差量是否被包含在第二变化域内的判定结果对应的处理。例如,机器人控制装置30在判定为该差量被包含在第二变化域内的情况下,将指定示教点变更为作为修正示教点的示教点V3之后,使控制点T移动从而使控制点T与示教点V3一致。然后,机器人控制装置30基于上述的动作程序将作为接下来被指定的示教点的示教点P3指定为指定示教点。另一方面,机器人控制装置30在判定该差量不被包含在第二变化域内的情况下,例如作为规定的处理执行异常处理。
此外,异常处理可以为如下构成,即在机器人控制装置30使控制点T移动至修正示教点的时候,在该差量超过了指定为第一阈值的W轴的上限值的情况下,重新计算修正示教点的姿势以使该差量成为该上限值,在该差量超过了指定为第一阈值的W轴的下限值的情况下,重新计算修正示教点的姿势以使该差量成为该下限值的构成等、在第一阈值所表示的第二变化域内一定含有该差量的构成。在重新计算修正示教点的姿势的情况下,机器人控制装置30使控制点T与重新计算出的姿势的修正示教点一致。
如图4~图7中说明的那样,机器人控制装置30对与示教点坐标系对应的每个轴指定第一阈值,并基于已指定的第一阈值使机器人20执行动作。由此,机器人控制装置30能够使机器人20执行与示教点坐标系的每个轴对应的动作。此外,在图4~图7中,虽然说明了针对每个X轴、Y轴的第一阈值与针对W轴的第一阈值被机器人控制装置30分别指定的例子,但也可以构成为通过机器人控制装置30分别针对X轴、Y轴、Z轴、U轴、V轴、W轴中的一部分或者全部来指定第一阈值。
此外,机器人控制装置30也可以为如下构成,即在对与示教点坐标系对应的每个轴指定第一阈值时,在使控制点T从当前的控制点T的姿势旋转至修正示教点的姿势的旋转轴上指定第一阈值,其中该旋转轴也是示教点坐标系的旋转轴。在该情况下,机器人控制装置30计算使当前的控制点T的姿势旋转为计算出的修正示教点的姿势的旋转轴。然后,机器人控制装置30判断修正示教点的姿势与当前的控制点T的姿势的差量是否被包含在基于被指定的第一阈值的第二变化域。
<与机器人坐标系对应的控制值的变化域的具体例子>
以下,参照图8及图9对与机器人坐标系对应的控制值的变化域即第三变化域的具体例子进行说明。以下,为了方便说明,将机器人控制装置30对机器人坐标系的每个轴指定的阈值称为第三阈值来进行说明。
首先,参照图8对基于针对机器人坐标系RC的X轴、Y轴、Z轴的每一个分别指定的第三阈值而计算出的第三变化域、以及基于第三变化域的机器人控制装置30的处理的具体例子进行说明。此外,在图8中,为了简化说明,针对不使控制点T向机器人坐标系RC的Z轴方向移动的情况进行说明。即,图8所示的示教点全部被包含在与机器人坐标系RC的Z轴正交的一个平面内。因此,在图8中,针对机器人控制装置30在机器人坐标系RC的Z轴上未指定第三阈值的情况进行说明。
图8是表示基于对机器人坐标系RC的X轴以及Y轴的每一个分别指定的第三阈值而计算出的第三变化域的一个例子的图。此外,由于图8所示的示教点P1~示教点P3与控制点T的相对的位置以及姿势的关系、和图4所示的示教点P1~示教点P3与控制点T的相对的位置以及姿势的关系相同,因此省略说明。
另外,图8所示的机器人坐标系RC的X轴的值XC3表示机器人控制装置30指定的第三阈值中的该X轴的上限值。并且,该X轴的值XC4表示该第三阈值中的该X轴的下限值。并且,图8所示的机器人坐标系RC的Y轴的值YC3表示该第三阈值中的该Y轴的上限值。并且,该Y轴的值YC4表示该第三阈值中的该Y轴的下限值。并且,变化域RA3表示机器人控制装置30基于机器人控制装置30所指定的第三阈值而计算出的第三变化域。在图8所示的例子中,变化域RA3的形状为长方形形状。此外,变化域RA3的形状除此之外也可以是通过机器人控制装置30所指定的各个第三阈值的圆形形状等、基于机器人控制装置30所指定的第三阈值的其他形状。
机器人控制装置30基于用户预先输入的动作程序,在示教点P2被指定为下一个指定示教点时,与示教点P2一起,机器人坐标系RC被指定为用户所希望的坐标系,进一步指定针对机器人坐标系RC的X轴以及Y轴的每一个的第三阈值。该第三阈值是指图8所示的各个值XC3、值XC4、值YC3、值YC4。机器人控制装置30基于被指定的该第三阈值,计算与机器人坐标系RC对应的控制值的变化域RA3。在图8所示的例子中,该控制值是指控制位置以及控制姿势中的控制位置。
在计算出变化域RA3之后,机器人控制装置30在使控制点T从示教点P1移动至示教点P2的过程中对手部H施加有外力的情况下,如上述那样计算修正示教点的位置以及姿势。机器人控制装置30判定计算出的该位置以及姿势中的该位置(即,控制位置)是否被包含在变化域RA3内。然后,机器人控制装置30执行与该位置是否被包含在变化域RA3内的判定结果对应的处理。例如,在机器人控制装置30判定该位置被包含在变化域RA3内的情况下,将指定示教点变更为修正示教点之后,使控制点T移动从而使控制点T与修正示教点一致。然后,机器人控制装置30基于上述的动作程序将作为接下来被指定的示教点的示教点P3指定为指定示教点。另一方面,在机器人控制装置30在判定该位置不被包含在变化域RA3内的情况下,例如作为规定的处理来执行异常处理。
此外,异常处理可以为如下的构成,即在机器人控制装置30使控制点T移动至修正示教点的时候,将变化域RA3的外侧与变化域RA3的边界面、和连接从当前的控制点T的位置到修正示教点的位置的直线的交点的位置作为修正示教点的位置来重新计算的构成等、不使控制点T向该外侧移动的构成。在重新计算修正示教点的位置的情况下,机器人控制装置30使控制点T与重新计算出的位置的修正示教点一致。这样,机器人控制装置30能够针对机器人坐标系RC的X轴以及Y轴的每一个轴分别限制机器人的动作。此外,在机器人控制装置30对机器人坐标系RC的X轴、Y轴、Z轴的每一个分别指定第三阈值的情况下,机器人控制装置30能够针对机器人坐标系RC的X轴、Y轴、Z轴的每一个分别限制机器人的动作。在该情况下,变化域RA3的形状例如为球形状。
另外,在图8所示的例子中,虽然机器人控制装置30针对机器人坐标系RC的X轴、Y轴的每一个分别指定第三阈值,但并不限定于此,也可以是针对机器人坐标系RC的X轴、Y轴、Z轴、U轴、V轴、W轴中的一部分或者全部分别指定第三阈值的构成。尤其在针对机器人坐标系RC的U轴、V轴、W轴中的一部分或者全部分别指定第三阈值的情况下,机器人控制装置30能够将机器人20的动作限制在以机器人坐标系RC的原点为中心且通过第三阈值表示的立体角的至少一部分的区域(范围)内。
图9是将在图5~图6中说明的变化域RA2的一个例子与在图8中说明的变化域RA3的一个例子在机器人坐标系RC中重叠表示的图。在机器人控制装置30在针对示教点坐标系P2C的X轴以及Y轴的每一个分别指定第一阈值,并针对机器人坐标系RC的X轴以及Y轴的每一个分别指定第三阈值的情况下,执行与变化域RA2和变化域RA3重叠的重叠区域对应的处理。
具体而言,机器人控制装置30在使控制点T从示教点P1移动至示教点P2的过程中对手部H施加有外力的情况下,如上述那样计算修正示教点的位置以及姿势。机器人控制装置30判定计算出的该位置以及姿势中的该位置(即,控制位置)是否被包含在重叠区域内。然后,机器人控制装置30执行与该位置是否被包含在重叠区域内的判定结果对应的处理。例如,机器人控制装置30在判定出该位置被包含在重叠区域内的情况下,将指定示教点变更为修正示教点之后,使控制点T移动从而使控制点T与修正示教点一致。然后,机器人控制装置30基于上述的动作程序将作为下一个示教点的示教点P3指定为指定示教点。另一方面,机器人控制装置30在判定出该位置不被包含在重叠区域内的情况下,例如执行异常处理作为规定的处理。
这样,机器人控制装置30针对与机器人坐标系RC对应的每个轴来指定第三阈值,并基于被指定的第三阈值使机器人20执行动作。由此,机器人控制装置30能够使机器人20执行与机器人坐标系RC的每个轴对应的动作。
<与关节坐标系对应的控制值的变化域的具体例子>
以下,参照图10~图12对与关节坐标系对应的控制值的变化域即第四变化域的具体例子进行说明。以下,为了方便说明,将机器人控制装置30针对与关节坐标系对应的每个轴指定的阈值称为第二阈值来进行说明。以下,作为一个例子对机器人控制装置30在与关节J4对应的关节坐标系J4C的W轴上指定第二阈值的情况进行说明。
图10是表示基于在关节坐标系J4C的W轴上指定的第二阈值而计算出的第四变化域的一个例子的图。在图10中示出了使控制点T与图4所示的示教点P2一致的情况下的关节J4的状态。图10所示的关节坐标系J4C是如上所述那样与关节J4建立对应的关节坐标系。在图10所示的例子中,关节J4的旋转角是旋转角θ10。从关节坐标系J4C的原点延伸的辅助线HL4是为了明确表示关节坐标系J4C中关节J4的旋转角θ10而画出的辅助线。
在此,在这个例子中,从关节坐标系J4C的原点延伸且与关节坐标系J4C的XY平面平行的直线所延伸的方向表示关节坐标系J4C的W轴的位置。以下,作为一个例子对从关节坐标系J4C的X轴的负方向朝向正方向的方向表示该W轴的原点的情况进行说明。此外,该原点除此之外也可以是通过其他方向表示的构成。并且,在从关节坐标系J4C的Z轴的正方向朝向负方向观察关节坐标系J4C的情况下,以关节坐标系J4C的原点为中心逆时针旋转的方向是关节坐标系J4C的W轴的正方向。
机器人控制装置30在基于用户预先输入的动作程序,将图4所示的示教点P2指定为接下来被指定的示教点的时候,与示教点P2一同指定关节坐标系J4C作为用户所希望的坐标系,进一步指定关节坐标系J4C的W轴的第二阈值。该第二阈值是从关节J4的旋转角起的相对旋转角。具体而言,该第二阈值分别为从关节J4的旋转角朝向关节J4的旋转角增加的旋转方向的旋转角的上限值θ20、以及从关节J4的旋转角朝向关节J4的旋转角减少的旋转方向的旋转角的下限值θ30。机器人控制装置30基于被指定的该第二阈值,计算上限值θ20与下限值θ30之间的范围作为与关节坐标系J4C对应的控制值的第四变化域。此外,在图10所示的例子中,该控制值是指控制旋转角。
计算出第四变化域之后,机器人控制装置30在使控制点T从示教点P1移动至示教点P2的过程中对手部H施加有外力的情况下,如上述那样计算作为修正示教点的示教点V3的位置以及姿势。机器人控制装置30计算使控制点T的位置以及姿势与计算出的该位置以及姿势一致的情况下的关节J4的旋转角(即,控制旋转角)、和使控制点T的位置以及姿势与示教点P2的位置以及姿势一致的情况下的关节J4的旋转角。然后,机器人控制装置30计算这两个旋转角的差量。机器人控制装置30判定计算出的该差量是否被包含在第四变化域内。
在图10所示的例子中,第四变化域是控制点T与示教点P2一致的情况的从关节J4的旋转角朝向该关节J4的旋转角增加的旋转方向的旋转角的上限值θ20、与从该关节J4的旋转角朝向该关节J4的旋转角减少的旋转方向的旋转角的下限值θ30之间的范围(区域)。在图10中,为了明确该差量是否被包含在第四变化域内,而画出了辅助线HL5以及辅助线HL6。辅助线HL5是从关节坐标系J4C的原点延伸的辅助线,并且是与以该原点为中心使辅助线HL4逆时针旋转上限值θ20的量的情况一致的辅助线。辅助线HL6是从关节坐标系J4C的原点延伸的辅助线,并且是与以该原点为中心使辅助线HL4顺时针旋转下限值θ30的量的情况一致的辅助线。
机器人控制装置30执行与该差量是否被包含在第四变化域内的判定结果对应的处理。例如,机器人控制装置30判定出该差量被包含在第四变化域内的情况下,在将指定示教点变更为作为修正示教点的示教点V3之后,使控制点T移动从而使控制点T与示教点V3一致。然后,机器人控制装置30基于上述的动作程序将作为接下来被指定的示教点的示教点P3指定为指定示教点。另一方面,机器人控制装置30在判定出该差量不被包含在第四变化域内的情况下,例如执行异常处理作为规定的处理。
此外,异常处理可以为如下构成,即在机器人控制装置30使控制点T移动至修正示教点的时候,在该差量超过被指定为第二阈值的W轴的上限值的情况下,重新计算机械手M所具备的各关节的旋转角以使该差量成为该上限值,在该差量超过指定为第二阈值的W轴的下限值的情况下,重新计算该旋转角以使该差量成为该下限值的构成等、在第二阈值所表示的变化域内一定包含该差量的构成。在重新计算该旋转角的情况下,机器人控制装置30将控制点T的位置以及姿势与修正示教点的位置以及姿势一致作为条件来重新计算该旋转角。然后,机器人控制装置30使机械手M的各关节旋转,以实现重新计算出的该旋转角,并使控制点T与修正示教点一致。
图11是表示关节J4的旋转角的随时间变化的一个例子的图。图11所示的坐标图的纵轴表示关节J4的旋转角。该坐标图的横轴表示时间。图11所示的曲线L1是表示机器人控制装置30使控制点T依次与图4所示的示教点P1、示教点P2、示教点P3一致的情况下的关节J4的旋转角的随时间变化的曲线。并且,图11所示的曲线UL是旋转角从曲线L1相对远离了上限值θ20的量后所得到的曲线。即,曲线UL表示随着在这种情况下的关节J4的旋转角的随时间变化而变化的上限值的随时间变化。该上限值是将表示为从该旋转角起的相对旋转角的上限值θ20作为从关节坐标系J4C的W轴的原点起的旋转角来表示的值。并且,图11所示的曲线DL是旋转角从曲线L1相对远离下限值θ30的量后所得到的曲线。即,曲线DL表示随着在这种情况下的关节J4的旋转角的随时间变化而变化的下限值的随时间变化。该下限值是将表示为从该旋转角起的相对旋转角的下限值θ30作为从关节坐标系J4C的W轴的原点起的旋转角来表示的值。
另外,图11所示的时刻t1是机器人控制装置30使控制点T与示教点P1一致的时刻。并且,图11所示的时刻t2是,预计机器人控制装置30使控制点T从示教点P1移动至示教点P2所需要的预计移动时间已经经过的时刻。
另外,图11所示的曲线L2表示在机器人控制装置30通过力控制使控制点T从示教点P1与修正示教点一致的时候,该修正示教点与控制点T一致的情况下的机械手M的关节J4的旋转角的随时间变化。如图11所示那样,在曲线L2从下至上与曲线UL交叉的情况下,该旋转角不被包含在机器人控制装置30基于第二阈值而计算出的变化域内。在该情况下,机器人控制装置30例如执行异常处理作为规定的处理。
图12是表示基于在关节坐标系J4C的W轴上指定的第二阈值而计算出的第四变化域的其他例子的图。在图12中示出了使控制点T与图4所示的示教点P2一致的情况下的关节J4的状态。
机器人控制装置30在基于用户预先输入的动作程序,将图4所示的示教点P2指定为下一个指定示教点的时候,与指定示教点P2一起指定关节坐标系J4C为用户所希望的坐标系,进一步指定关节坐标系J4C的W轴的第二阈值。该第二阈值分别是关节J4的旋转角的上限值θ40以及下限值θ50。机器人控制装置30基于所指定的该第二阈值,将上限值θ40与下限值θ50之间的范围作为与关节坐标系J4C对应的控制值的第四变化域来计算。此外,在这个例子中该控制值是指控制旋转角。
计算出第四变化域之后,机器人控制装置30在使控制点T从示教点P1移动至示教点P2的过程中对手部H施加有外力的情况下,如上所述那样计算作为修正示教点的示教点V3的位置以及姿势。机器人控制装置30计算在使控制点T的位置以及姿势与计算出的该位置以及姿势一致的情况下的关节J4的旋转角(即,控制旋转角)。然后,机器人控制装置30判定计算出的该旋转角是否被包含在第四变化域内。机器人控制装置30执行与该旋转角是否被包含在第四变化域内的判定结果对应的处理。例如,机器人控制装置30在判定出该旋转角被包含在第四变化域内的情况下,将指定示教点变更为作为修正示教点的示教点V3之后,使控制点T移动从而使控制点T与示教点V3一致。然后,机器人控制装置30基于上述的动作程序将作为下一个示教点的示教点P3指定为指定示教点。另一方面,机器人控制装置30在判定为该旋转角不被包含在该变化域内的情况下,例如执行异常处理作为规定的处理。
此外,异常处理可以为如下构成,即在机器人控制装置30使控制点T移动至修正示教点的时候,在该旋转角超过了指定为第二阈值的W轴的上限值的情况下,重新计算机械手M所具备的各关节的旋转角以使该旋转角成为该上限值,在该旋转角超过了指定为第二阈值的W轴的下限值的情况下,重新计算该各关节的旋转角以使该差量成为该下限值的构成等、使该各关节仅在第二阈值表示的变化域内旋转的构成。在重新计算该旋转角的情况下,机器人控制装置30以控制点T的位置以及姿势、与修正示教点的位置以及姿势一致为条件来重新计算该旋转角。然后,机器人控制装置30使机械手M的各关节旋转从而实现重新计算出的该旋转角,使控制点T与修正示教点一致。
另外,在这个例子中针对说明的关节坐标系的处理,也能够适用于用户所希望的每个关节的阻抗控制。该阻抗控制是指根据施加至手部H的外力使用户所希望的关节旋转的控制。关节的阻抗控制难以根据控制点T的位置以及姿势来掌握关节的旋转角。因此,该处理例如在关节的阻抗控制中有效地限制关节的旋转。即,通过机器人控制装置30执行该处理,用户能够容易地限制关节的旋转。
<机器人控制装置执行的处理的流程>
以下,参照图13对机器人控制装置30执行的处理的流程进行说明。图13是表示机器人控制装置30执行的处理的流程的一个例子的流程图。针对机器人控制装置30依次指定的示教点所包含的全部的组合中的、作为顺序连续的两个示教点的第一示教点以及第二示教点的组合的每一个,机器人控制装置30分别执行图13所示的步骤S110~步骤S190的处理。并且,在图13所示的流程图中,开始步骤S110的处理之前,针对控制点T与第一示教点一致的情况进行说明。
机器人控制部363基于用户预先输入的动作程序,将第二示教点指定为指定示教点,并且指定使控制点T移动的速度、用户所希望的坐标系以及与该坐标系对应的每个轴的阈值(步骤S110)。然后,机器人控制部363基于被指定的该坐标系以及该阈值,计算上述的变化域(第一变化域~第四变化域)中的一部分或者全部。接下来,机器人控制部363计算第一示教点的位置与第二示教点的位置之间的距离。然后,机器人控制部363基于计算出的该距离以及在步骤S110中被指定的速度计算预计移动时间(步骤S120)。
接下来,机器人控制部363通过位置控制开始控制点T的向第二示教点的移动(步骤S130)。接下来,机器人控制部363从力检测部21获取力检测信息。然后,机器人控制部363基于获取到的力检测信息所包含的检测值判定是否对手部H施加有外力(步骤S140)。
在判定未对手部H施加外力的情况下(步骤S140-否),机器人控制部363判定在从步骤S130中开始进行控制点T的移动起到当前的期间步骤S120中计算出的预计移动时间是否已经过(步骤S180)。在判定为预计移动时间已经过的情况下(步骤S180-是),机器人控制部363结束处理。另一方面,在判定出未经过预计移动时间的情况下(步骤S180-否),机器人控制部363移至步骤S140,并再次判定是否对手部H施加有外力。
在判定为对手部H施加有外力的情况下(步骤S140-是),机器人控制部363基于在步骤S140中获取到的力检测信息所包含的力检测值来计算修正示教点的位置以及姿势(步骤S150)。接下来,机器人控制部363判定包含步骤S150中计算出的修正示教点的位置以及姿势在内的控制值是否满足规定条件(步骤S160)。规定条件在这个例子中是指,满足如下所示的1)~4)的四个条件中的至少一个。
1)作为用户所希望的坐标系在步骤S110中指定示教点坐标系,并在步骤S110中在示教点坐标系的X轴、Y轴、Z轴中的至少一个上指定第一阈值的情况下,控制位置不被包含于在步骤S110中计算出的第一变化域内。
2)作为用户所希望的坐标系在步骤S110中指定示教点坐标系,并在步骤S110中在示教点坐标系的U轴、V轴、W轴中的至少一个上指定第一阈值的情况下,控制姿势不被包含于在步骤S110中计算出的第二变化域内。
3)作为用户所希望的坐标系在步骤S110中指定机器人坐标系RC,并在步骤S110中在机器人坐标系RC的X轴、Y轴、Z轴、U轴、V轴、W轴中的至少一个上指定第三阈值的情况下,控制位置不被包含于在步骤S110中计算出的第三变化域内。
4)作为用户所希望的坐标系在步骤S110中指定某个关节坐标系,并在步骤S110中在该关节坐标系的W轴上指定第二阈值的情况下,使与该关节坐标系建立对应的关节旋转的控制值即控制旋转角、与使控制点T的位置以及姿势与第二示教点的位置以及姿势一致的情况下的该关节的旋转角的差量不被包含与在步骤S110中计算出的第四变化域内。此外,该控制旋转角是使控制点T的位置以及姿势与在步骤S150中计算出的位置以及姿势一致的情况下的旋转角。
在判定出控制值满足规定条件的情况下(步骤S160-是),机器人控制部363例如执行异常处理作为规定的处理(步骤S190),并结束处理。另一方面,在判定出控制值不满足规定条件的情况下(步骤S160-否),机器人控制部363使控制点T移动,并使控制点T的位置以及姿势与在步骤S150中计算出的修正示教点的位置以及姿势一致(步骤S170)。然后,机器人控制部363移至步骤S180,判定从步骤S130中开始进行控制点T的移动起到当前的期间在步骤S120中计算出的预计移动时间是否已经过。
这样,机器人控制装置30对于使机器人20执行动作的控制值,在与坐标系对应的每个轴上指定阈值,并使机器人20执行基于控制值与阈值的动作。由此,机器人控制装置30能够使机器人执行与坐标系的每个轴对应的动作。
<机器人控制部的判定方法的其他例子>
以下,参照图14对图13所示的步骤S160的处理中机器人控制部363所执行的判定方法的其他例子进行说明。以下,作为一个例子,列举关节J4的旋转角是否满足规定条件的判定方法来进行说明。此外,机器人控制部363可以是在步骤S160中即使对于其他控制值,也通过与以下说明的判定方法相同的判定方法来判定该控制值是否满足规定条件的构成,也可以是通过其他判定方法来判定该控制值是否满足规定条件的构成。
图14是表示关节J4的旋转角的随时间变化的其他例子的图。图14所示的坐标图的纵轴表示关节J4的旋转角。该图的横轴表示时间。此外,由于图14所示的曲线L1、曲线UL、曲线DL、时刻t1、时刻t2的每一个与图11所示的曲线L1、曲线UL、曲线DL、时刻t1、时刻t2的每一个相同,因此省略说明。
另外,图14所示的曲线L3表示在机器人控制装置30通过力控制使控制点T从示教点P1与修正示教点一致的时候,该修正示教点与控制点T一致的情况下的关节J4的旋转角的随时间变化。如图14所示那样,在作为从时刻t3到时刻t4为止的期间的时间ts1中,该旋转角不被包含在机器人控制装置30基于第二阈值计算出的第四变化域内。并且,该旋转角在作为从时刻t1到时刻t2为止的期间的时间ts2中,不被包含在该第四变化域内。
该旋转角不被包含在该第四变化域内的时间在规时刻间tsc以上的情况下,机器人控制部363判定为该旋转角不被包含在该第四变化域内。另一方面,该旋转角不被包含在该第四变化域内的时间不足规定时间tsc的情况下,判定为该旋转角被包含在该第四变化域内。在图14所示的例子中,从时刻t1经过了规定时间tsc的时刻是时刻t5。即,机器人控制部363在时刻t5判定为该旋转角不被包含在该第四变化域内。另一方面,时间ts1是不足规定时间tsc的时间。即,机器人控制部363在时刻t4判定为该旋转角被包含在该第四变化域内。
这样,在控制值持续超过阈值的时间在规定时间以上的情况下,机器人控制装置30使机器人20执行基于控制值与阈值的动作。由此,机器人控制装置30能够在控制值持续超过阈值达规定时间之前与之后,分别使机器人20执行不同的动作。
<在规定的作业中机器人控制装置基于控制值与变化域所执行的处理的具体例子>
以下,参照图15对在规定的作业中机器人控制装置30基于控制值与变化域所执行的处理的具体例子进行说明。
图15是表示在规定的作业中,机器人20使第一物体O1的第一表面M1与第二物体O2的第二表面M2接触之前的时刻下的手部H与第二物体O2的相对位置关系的一个例子的图。并且,图15是从机器人坐标系RC的Z轴的正方向朝向负方向观察手部H与第二物体O2的侧视图。在图15所示的例子中,在这种情况下,在比第二物体O2的上表面中的一半靠机器人坐标系RC的Y轴的正方向侧的部分,配置有物体MT。物体MT在这种情况下为具有斜面的三棱柱形状的物体。该斜面是从该正方向侧朝向该一半的位置高度变低的斜面。
示教点P10是与当前控制点T一致的示教点。示教点P11是机器人控制装置30指定的指定示教点。机器人控制装置30通过位置控制使控制点T移动,并使与示教点P10一致的控制点T与示教点P11一致。但是,在图15所示的例子中,在第一物体O1的第一表面M1与第二物体O2的第二表面M2之间的空间中进入有物体MT的斜面的一部分。即,在机器人控制装置30欲使控制点T与示教点P11一致而使控制点T移动的情况下,第一物体O1与物体MT接触,并从物体MT施加外力。
机器人控制装置30通过基于从物体MT施加至第一物体O1的外力的力控制来计算修正示教点。而且,机器人控制装置30在将指定示教点变更为计算出的修正示教点之后,使控制点T移动从而与修正示教点一致。图15所示的示教点VP11是机器人控制装置30基于从物体MT施加至第一物体O1的外力而计算出的修正示教点。并且,轮廓VO11是机器人控制装置30通过力控制使控制点T与该修正示教点一致的情况下的第一物体O1的轮廓。
这样在机器人控制装置30使机器人20动作的时候,例如机器人控制装置30基于用户预先输入的动作程序,计算第一变化域RA4。此外,在图15所示的例子中,针对变化域仅是第一变化域RA4的情况进行说明,但并不限定于此,变化域也可以是第一变化域~第四变化域中的一部分或者全部。
机器人控制装置30在通过力控制使控制点T移动的时候,只要判定为控制点T的位置被包含在图15所示的第一变化域RA4内,就能够使控制点T朝向示教点VP11继续移动。而且,在从力检测部21获取到的力检测信息所包含的力检测值中的在力检测坐标系的Z轴的正方向上施加的力为规定值以上,在该力检测坐标系的X轴方向以及Y轴方向上施加的力为0,并且在该力检测坐标系的U轴方向、V轴方向、W轴方向上施加的力矩为0的情况下,机器人控制装置30判定为规定的作业结束,并停止控制点T的移动。另一方面,机器人控制装置30在判定为控制点T的位置未被包含在图15所示的第一变化域RA4内的情况下,例如执行异常处理作为规定的处理。
另外,在图15所示的例子中,从示教点P10到第一变化域RA的端部中的机器人坐标系RC的Y轴的正方向侧的端部的距离,比从示教点P10到第一变化域RA4的端部中的机器人坐标系RC的Y轴的负方向侧的端部的距离短。这在图15所示的例子中是如下原因的结果:用户输入动作程序,以使得在第一物体O1因与物体MT不同的其他重要因素而被施加外力的情况下,机器人控制装置30不使控制点T向该正方向侧移动。即,机器人控制装置30基于该动作程序并基于被指定的坐标系以及被指定的第一阈值来计算第一变化域RA4。
以下,参照图16对在规定的作业中机器人控制装置30基于控制值与变化域而执行的处理的具体例子进行说明。
图16是表示在规定的作业中,机器人20使第一物体O1的第一表面M1与第二物体O2的第二表面M2接触之前的时刻下的手部H与第二物体O2的相对位置关系的其他例子的图。并且,图16是从机器人坐标系RC的Z轴的正方向朝向负方向观察手部H与第二物体O2的情况下的侧视图。
示教点P12是与当前控制点T一致的示教点。示教点坐标系P12C是与示教点P12建立对应的示教点坐标系。示教点P13是机器人控制装置30所指定的指定示教点。机器人控制装置30通过位置控制使控制点T移动,并使与示教点P12一致的控制点T与示教点P13一致。但是,在图16所示的例子中,第一物体O1的第一表面M1与第二物体O2的第二表面M2不平行而倾斜。即,控制点T的姿势相对于图15所示的控制点T的姿势,沿控制点坐标系TC的U轴方向倾斜。由此,在机器人控制装置30欲使控制点T与示教点P13一致而使控制点T移动的情况下,第一物体O1的一部分与第二物体O2的第二表面M2接触,并被从第二表面M2施加外力。
机器人控制装置30通过基于从第二表面M2施加至该一部分的外力的力控制来计算修正示教点。而且,机器人控制装置30在将指定示教点变更为计算出的修正示教点之后,使控制点T移动从而使其与修正示教点一致。图16所示的示教点V13是机器人控制装置30基于从第二表面M2施加至该一部分的外力而计算出的修正示教点。并且,轮廓VO12是机器人控制装置30通过力控制使控制点T与该修正示教点一致的情况下的第一物体O1的轮廓。
如此,在机器人控制装置30使机器人20执行动作的时候,例如机器人控制装置30基于用户预先输入的动作程序,在作为被指定的坐标系的示教点坐标系P12C的U轴上指定第一阈值。该第一阈值是该U轴的上限值θ70以及下限值θ80。机器人控制装置30基于被指定的该第一阈值来计算与示教点坐标系P12C对应的第二变化域。该第二变化域在这个例子中,在从机器人坐标系RC的Z轴的正方向朝向负方向观察手部H与第二物体O2的情况下,为辅助线HL70与辅助线HL80之间的范围(区域)。在这种情况下,辅助线HL70是以示教点坐标系P12C的X轴为中心使示教点坐标系P12C逆时针旋转上限值θ70的量时与示教点坐标系P12C的Z轴一致的直线。辅助线HL80是以示教点坐标系P12C的X轴为中心使示教点坐标系P12C顺时针旋转下限值θ80的量时与示教点坐标系P12C的Z轴一致的直线。此外,在图16所示的例子中,虽然仅对变化域为该第二变化域的情况进行说明,但并不限定于此,变化域也可以是第一变化域~第四变化域中的一部分或者全部。
在计算出该第二变化域之后,机器人控制装置30在使控制点T从示教点P12移动至示教点P13的过程中对手部H施加有外力的情况下,如上所述那样计算作为修正示教点的示教点V13的位置以及姿势。机器人控制装置30对计算出的该位置以及姿势中的该姿势与示教点P12的姿势的差量进行计算。然后,机器人控制装置30计算这两个旋转角的差量。机器人控制装置30判定计算出的该差量是否被包含在该第二变化域内。
机器人控制装置30在通过力控制使控制点T移动的时候,只要判定出该差量被包含在该第二变化域内,就能够使控制点T向示教点V13继续移动。而且,在从力检测部21获取到的力检测信息所包含的力检测值中的在力检测坐标系的Z轴的正方向上施加的力为规定值以上,在该力检测坐标系的X轴方向以及Y轴方向上施加的力为0,并且在该力检测坐标系的U轴方向、V轴方向、W轴方向上施加的力矩为0的情况下,机器人控制装置30判定为规定的作业结束,并停止控制点T的移动。另一方面,机器人控制装置30在判定为该差量未被包含在该第二变化域内的情况下,例如执行异常处理作为规定的处理。
另外,在图16所示的例子中,下限值θ80的绝对值大于上限值θ70的绝对值。这在图16所示的例子中是如下原因的结果:用户输入动作程序,以使得在第一物体O1因与第二物体不同的其他重要因素而被施加有外力的情况下,机器人控制装置30不使控制点T向第一物体O1的第一表面M1与第二物体O2的第二表面M2之间的角度变大的方向旋转。
<第一变化域的形状的其他例子>
以下,参照图17对第一变化域的形状的其他例子进行说明。如上所述,用于供机器人控制装置30计算第一变化域的临时变化域的形状可以如图17所述的临时变化域RA10那样是分别通过机器人控制装置30所指定的第一阈值的圆形形状。图17是表示基于圆形形状的临时变化域而计算出的第一变化域的一个例子的图。
图17所示的示教点P15是与当前控制点T一致的示教点。示教点P16是机器人控制装置30所指定的指定示教点。机器人控制装置30基于用户预先输入的动作程序,在与示教点P16建立对应的示教点坐标系P16C的X轴以及Y轴上指定第一阈值,以使得临时变化域在示教点坐标系P16C的XY平面内为圆形形状。例如,机器人控制装置30在指定第一阈值的时候,指定在该X轴的第一阈值与该Y轴的第一阈值之间的约束条件。该约束条件是指在指定该X轴的第一阈值的范围内所包含的该X轴的位置、与在指定该Y轴的第一阈值的范围内所包含的该Y轴的位置为圆的方程式的解。此外,在临时变化域为与圆形形状不同的形状的情况下,该约束条件也可以是其他条件。机器人控制装置30基于计算出的临时变化域RA10,通过上述说明的方法来计算第一变化域RA11。
这样,机器人控制装置30通过对被指定的第一阈值指定约束条件,从而能够计算与被指定的约束条件对应的形状的临时阈值。此外,在图17中,虽然说明了机器人控制装置30对第一阈值指定约束条件的情况,但并不限定于此,也可以是对第三阈值指定约束条件的构成。并且,在图17中,虽然说明了机器人控制装置30对示教点坐标系P16C的X轴以及Y轴指定第一阈值的构成,但除此之外也可以构成为机器人控制装置30对示教点坐标系P16C的X轴、Y轴、Z轴、U轴、V轴、W轴的一部分或者全部指定第一阈值。
<实施方式的变形例>
在上述的说明中,规定的处理是异常处理。但是,规定的处理除了是异常处理之外也可以是其他处理。例如,规定的处理可以是机器人控制装置30判定为规定的作业结束而使机器人20执行与规定的作业不同的下一个作业的处理等其他处理。由此,机器人控制装置30能够使机器人执行与异常处理不同的处理的动作。
另外,上述的说明的异常处理可以是机器人控制装置30使错误显示于显示部35的处理,可以是机器人控制装置30从未图示的扬声器发出声音的处理,可以是机器人控制装置30结束动作的处理,也可以是其他处理。
另外,机器人控制装置30可以为如下构成,在显示部35显示未图示的GUI(Graphical User Interface:图形用户界面),并从GUI接收与各坐标系对应的每个轴的阈值的由用户进行的输入。
另外,机器人控制装置30可以为如下构成:使基于动作程序以及示教点信息计算出的由位置控制进行的控制点T的移动的轨迹在显示部35显示。在该情况下,该轨迹的显示可以是三维显示,也可以是二维显示。
另外,显示部35可以是头戴式显示器。
另外,机器人控制装置30也可以为如下构成,即在通过如视觉伺服等那样由拍摄部拍摄的拍摄图像来修正通过位置控制使控制点T移动的目标的时候,通过上述说明的变化域变更或者限制被修正的目标的控制点T的位置以及姿势。
如上所述,机器人控制装置30对通过力控制使机器人20执行动作的控制值指定范围,并使机器人20执行基于控制值与范围的动作。由此,机器人控制装置30能够使机器人20执行与被指定的范围对应的动作。
另外,机器人控制装置30对于使机器人20执行动作的控制值,对与坐标系对应的每个轴指定阈值,并使机器人20执行基于控制值与由被指定的该阈值指定的范围的动作。由此,机器人控制装置30能够使机器人20执行与坐标系的每个轴对应的动作。
另外,机器人控制装置30对与示教点坐标系对应的每个轴指定第一阈值来作为阈值。由此,机器人控制装置30能够使机器人20执行与示教点坐标系的每个轴对应的动作。
另外,机器人控制装置30对每个示教点指定不同的第一阈值。由此,机器人控制装置30能够使机器人20执行基于控制值与针对每个示教点不同的第一阈值的动作。并且,机器人控制装置30即使在规定的作业的内容变化的情况下,也能够容易地变更第一阈值。
另外,机器人控制装置30使机器人20执行基于规定机器人坐标系RC内的空间的第一阈值的动作,其中该机器人坐标系RC内的空间是与按照示教点的顺序用线连接上述示教点而成的轨迹对应的形状的空间。由此,机器人控制装置30能够使机器人20在由控制值与第一阈值规定的机器人坐标系RC内的空间的内侧和外侧各自中执行不同的动作。
另外,机器人控制装置30对与关节坐标系对应的每个轴指定第二阈值作为阈值。由此,机器人控制装置30能够使机器人20执行与关节坐标系的每个轴对应的动作。其结果,机器人控制装置30能够基于第二阈值,对用户所希望的关节的旋转进行变更或者限制。关节的旋转角难以从控制点T的位置以及姿势来掌握。因此,机器人控制装置30的这样的处理在对用户所希望的关节的旋转进行限制的时候为有效的处理。
另外,机器人控制装置30对与机器人坐标系RC对应的每个轴指定第三阈值作为上述阈值。由此,机器人控制装置30能够使机器人执行与针对机器人坐标系RC的每个轴对应的动作。
另外,机器人控制装置30在与坐标系对应的轴中的预先决定的一部分的轴上指定阈值。由此,机器人控制装置30能够使机器人20执行与坐标系的轴中的被预先决定的一部分的轴对应的动作。其结果,机器人控制装置30例如能够仅在某个坐标系的各坐标轴方向中的用户所希望的方向上对机器人20的动作进行变更或者限制。并且,机器人控制装置30例如针对某个坐标系的某个坐标轴的正方向以及负方向的任意一方或者双方,能够对机器人20的动作进行变更或者限制。
另外,在控制值持续超过阈值达规定时间以上的情况下,机器人控制装置30执行规定的处理。由此,机器人控制装置30能够在控制值持续超过阈值达规定时间之前与之后,分别使机器人20执行不同的动作。其结果,机器人控制装置30例如允许因干扰而导致控制值暂时超过阈值的情况,并能够监视因不希望的动作而导致控制值超过阈值的情况。
另外,在控制值持续超过阈值达规定时间以上的情况下,机器人控制装置30执行与异常处理不同的处理。由此,机器人控制装置30能够在控制值持续超过阈值达规定时间之前与之后,分别使机器人20执行与异常处理不同的处理的动作。
以上,虽然参照附图对本发明的实施方式进行了详细描述,但具体的构成不限定于该实施方式,只要不脱离本发明的要旨,可以进行变更、置换、删除等。
另外,可以将用于实现以上说明的装置(例如,机器人控制装置30)的任意的构成部的功能的程序记录于计算机能够读取的记录介质,并将该程序读入计算机系统来执行。此外,在此所述的“计算机系统”是指包含OS(Operating System:操作系统)、周边设备等硬件装置。并且,“计算机能够读取的记录介质”是指软盘、光磁盘、ROM、CD(Compact Disk:光盘)-ROM等便携式介质、内置于计算机系统的硬盘等存储装置。进一步“计算机能够读取的记录介质”是指经由因特网等网络、电话线路等通信线路发送程序的情况下的成为服务器、客户端的计算机系统内部的易失性存储器(RAM)那样,保持恒定时间程序的装置。
另外,上述的程序也可以从将该程序储存于存储装置等的计算机系统经由传送介质或者通过传送介质中的传送波传送至其他计算机系统。在此,传送程序的“传送介质”是指像因特网等网络(通信网)、电话线路等通信线路(通信线)那样具有传送信息的功能的介质。
另外,上述的程序也可以是用于实现上述的功能的一部分的程序。进一步,上述的程序也可以是通过与已经记录于计算机系统的程序的组合来实现上述功能的、所谓差分文件(差分程序)。
附图标记说明:
1…机器人系统;20…机器人;21…力检测部;30…机器人控制装置;31…CPU;32…存储部;33…输入接收部;34…通信部;35…显示部;36…控制部;361…力检测信息获取部;363…机器人控制部。

Claims (8)

1.一种机器人控制装置,其特征在于,
指定通过力控制使机器人动作的控制值的范围,并基于所述控制值与所述指定的所述范围使所述机器人动作;其中
所述范围由与坐标系对应的每个轴的阈值来指定;
所述控制值包含所述机器人的控制点的位置,所述坐标系包含表示预先存储的每个示教点的位置以及姿势的示教点坐标系,所述示教点是所述机器人控制装置使机械手动作时成为使控制点移动的目标的假想的点,对与所述示教点坐标系对应的每个轴指定第一阈值作为所述阈值;并且
由所述第一阈值规定的机器人坐标系内的空间的形状为与按照所述示教点的顺序用线连接所述示教点而成的轨迹对应的形状。
2.根据权利要求1所述的机器人控制装置,其特征在于,
对每个所述示教点指定不同的所述第一阈值。
3.根据权利要求1所述的机器人控制装置,其特征在于,
所述控制值包含所述机器人的关节的旋转角,
所述坐标系包含表示所述关节的旋转角的关节坐标系,
对与所述关节坐标系对应的每个轴指定第二阈值作为所述阈值。
4.根据权利要求1所述的机器人控制装置,其特征在于,
所述坐标系包含机器人坐标系,
对与所述机器人坐标系对应的每个轴指定第三阈值作为所述阈值。
5.根据权利要求1~4中任一项所述的机器人控制装置,其特征在于,
在所述控制值持续超过所述范围达规定时间以上的情况下,执行规定的处理。
6.根据权利要求5所述的机器人控制装置,其特征在于,
所述规定的处理是与异常处理不同的处理。
7.一种机器人,其特征在于,
由权利要求1~6中任一项所记载的机器人控制装置控制。
8.一种机器人系统,其特征在于,具备:
机器人控制装置,记载于权利要求1~6中任一项,以及
机器人,由所述机器人控制装置控制。
CN201710156616.1A 2016-03-18 2017-03-16 机器人控制装置、机器人以及机器人系统 Active CN107363830B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-054960 2016-03-18
JP2016054960A JP6746990B2 (ja) 2016-03-18 2016-03-18 ロボット制御装置及びロボットシステム

Publications (2)

Publication Number Publication Date
CN107363830A CN107363830A (zh) 2017-11-21
CN107363830B true CN107363830B (zh) 2022-02-25

Family

ID=59848038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710156616.1A Active CN107363830B (zh) 2016-03-18 2017-03-16 机器人控制装置、机器人以及机器人系统

Country Status (3)

Country Link
US (1) US10377043B2 (zh)
JP (1) JP6746990B2 (zh)
CN (1) CN107363830B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180021949A1 (en) * 2016-07-20 2018-01-25 Canon Kabushiki Kaisha Robot apparatus, robot controlling method, program, and recording medium
US11364630B2 (en) * 2017-02-17 2022-06-21 Abb Schweiz Ag Method for controlling an industrial robot during lead-through programming of the robot and an industrial robot
US10406685B1 (en) * 2017-04-20 2019-09-10 X Development Llc Robot end effector control
JP7020812B2 (ja) * 2017-07-19 2022-02-16 キヤノン株式会社 ロボット装置、ロボット装置の制御方法、ロボット装置を用いた物品の組立方法、制御プログラムおよび記録媒体
CN109093599A (zh) * 2018-09-07 2018-12-28 中科新松有限公司 一种抓取示教方法及系统
CN109465823B (zh) * 2018-11-06 2022-03-18 泰康保险集团股份有限公司 智能机器人控制方法及装置、电子设备、存储介质
JP6721922B1 (ja) 2019-04-23 2020-07-15 Arithmer株式会社 指定データ生成装置、指定データ生成方法、および指定データ生成プログラム
EP4190511A4 (en) * 2020-12-03 2024-05-29 Samsung Electronics Co., Ltd. MANIPULATOR AND ITS CONTROL METHOD

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1676287A (zh) * 2004-03-31 2005-10-05 发那科株式会社 机器人示教装置
JP4513071B2 (ja) * 1997-07-08 2010-07-28 株式会社安川電機 ロボットの制御装置
CN102310409A (zh) * 2010-07-05 2012-01-11 株式会社安川电机 机器人装置及基于机器人装置的把持方法
JP2015168017A (ja) * 2014-03-06 2015-09-28 セイコーエプソン株式会社 ロボット、ロボットシステム、及び制御装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60205717A (ja) 1984-03-30 1985-10-17 Toshiba Seiki Kk ロボツトの位置決め制御方法
JP2505394B2 (ja) 1992-09-17 1996-06-05 川崎重工業株式会社 産業用ロボットの加速度変化を利用した制御方法
JP3366248B2 (ja) 1998-03-30 2003-01-14 松下電器産業株式会社 ロボットの制御方法および装置
JP4483047B2 (ja) * 2000-08-14 2010-06-16 株式会社安川電機 ロボットの制御装置
EP1854037B1 (en) * 2005-02-25 2014-12-31 Abb Research Ltd. Method of and apparatus for automated path learning
JP4267027B2 (ja) * 2006-12-07 2009-05-27 ファナック株式会社 ロボット制御装置
JP4271249B2 (ja) * 2007-06-14 2009-06-03 ファナック株式会社 嵌合装置
ES2529375B1 (es) * 2013-07-15 2015-06-02 Kiro Robotics, S.L. Método de control del accionamiento de un brazo robótico y brazo robótico que utiliza dicho método
JP5893664B2 (ja) * 2014-04-14 2016-03-23 ファナック株式会社 作用された力に応じて移動されるロボットを制御するロボット制御装置
JP5820013B1 (ja) * 2014-04-30 2015-11-24 ファナック株式会社 ワークを把持して搬送するロボットの安全監視装置
JP2015217486A (ja) * 2014-05-19 2015-12-07 富士通株式会社 判定装置、判定方法、および判定プログラム
JP6460690B2 (ja) * 2014-09-16 2019-01-30 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム及び記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4513071B2 (ja) * 1997-07-08 2010-07-28 株式会社安川電機 ロボットの制御装置
CN1676287A (zh) * 2004-03-31 2005-10-05 发那科株式会社 机器人示教装置
CN102310409A (zh) * 2010-07-05 2012-01-11 株式会社安川电机 机器人装置及基于机器人装置的把持方法
JP2015168017A (ja) * 2014-03-06 2015-09-28 セイコーエプソン株式会社 ロボット、ロボットシステム、及び制御装置

Also Published As

Publication number Publication date
US10377043B2 (en) 2019-08-13
US20170266816A1 (en) 2017-09-21
CN107363830A (zh) 2017-11-21
JP2017164877A (ja) 2017-09-21
JP6746990B2 (ja) 2020-08-26

Similar Documents

Publication Publication Date Title
CN107363830B (zh) 机器人控制装置、机器人以及机器人系统
US11090814B2 (en) Robot control method
US10434646B2 (en) Robot control apparatus, robot, and robot system
US10589424B2 (en) Robot control device, robot, and robot system
CN108139747B (zh) 确定用于机器人的、由手动施加于机器人的力来输入的输入指令
US10532461B2 (en) Robot and robot system
JP5620445B2 (ja) 選択条件に基づいてロボットの保持位置姿勢を決定する物品取出装置
JP5114019B2 (ja) エフェクタの軌道を制御するための方法
CN106493711B (zh) 控制装置、机器人以及机器人系统
US20150039129A1 (en) Robot system and product manufacturing method
US20170277167A1 (en) Robot system, robot control device, and robot
JP7275488B2 (ja) ロボットシステム
JP6697544B2 (ja) 最適化装置及びそれを備えた垂直型多関節ロボット
CN112118940B (zh) 机械手的直接教示装置以及直接教示方法
US11759955B2 (en) Calibration method
US20210146542A1 (en) Control method for robot system
CN113276088A (zh) 示教方法和机器人系统
CN113492400B (zh) 机器人的控制方法及机器人系统
CN110549329B (zh) 控制装置及机器人系统
WO2023013739A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
JP2019010700A (ja) ロボット、ロボットシステム、及びそれらの制御方法
US20220080587A1 (en) Method Of Adjusting Force Control Parameter, Robot System, And Force Control Parameter Adjustment Program
US20220258353A1 (en) Calibration Method
JP2020157475A (ja) 制御装置、ロボットシステム及びロボット制御方法
JP2023133844A (ja) 制御装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant