CN110524536A - 机器人控制装置以及机器人系统 - Google Patents
机器人控制装置以及机器人系统 Download PDFInfo
- Publication number
- CN110524536A CN110524536A CN201910423162.9A CN201910423162A CN110524536A CN 110524536 A CN110524536 A CN 110524536A CN 201910423162 A CN201910423162 A CN 201910423162A CN 110524536 A CN110524536 A CN 110524536A
- Authority
- CN
- China
- Prior art keywords
- information
- robot
- power control
- torque
- power
- 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.)
- Granted
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/06—Control stands, e.g. consoles, switchboards
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
提供一种机器人控制装置以及机器人系统,预先判断是否能够使机器人执行力控制。机器人控制装置具有:接收部,接收力控制中目标力的大小及朝向、力控制开始时的位置及姿势;存储部,存储与机器人结构相关的固有信息,即包含关节的容许转矩值的固有信息;计算部,基于目标力的大小及朝向、力控制开始时的位置及姿势、固有信息,在力控制时的位置及姿势中以目标力的大小及朝向执行了力控制的情况下,计算机器人具有的各个关节产生的转矩的值;输出控制部,对于机器人具有的全部关节,在关节产生的转矩的值为容许转矩值以下的情况下,输出第一种信息,在存在关节产生的转矩的值超过容许转矩值的关节的情况下,输出与第一种信息不同的第二种信息。
Description
技术领域
本发明涉及进行力控制的机器人的动作的设定。
背景技术
以往,如专利文献1所述,存在通过模拟来计算驱动机器人的电机的负载,并评价是否超过电机的负载的容许值的装置。
专利文献1:日本特开2007-54942号公报
但是,在上述的技术中,没有假设使机器人进行力控制的情况。因此,无法评价包含为了力控制而产生的负载在内的施加于电机的负载。其结果为,根据上述的技术,无法判断是否能够使机器人执行某种力控制。
另外,根据上述的技术,由于无法评价施加于机器人的电机的负载,因此用户无法预先获知是否能够在机器人的位置执行某种力控制。
发明内容
本发明是为了解决上述课题的至少一部分而提出的,能够作为以下的方式或应用例来实现。
根据本发明的一个方式,提供一种机器人控制装置,其特征在于,对机器人的动作进行控制,所述机器人具有检测从外部施加的力的大小的力检测部。该机器人控制装置具有:接收部,接收基于所述力检测部的输出进行的力控制中的目标力的大小、所述目标力的朝向、开始所述力控制时的位置、所述力控制的开始时的姿势;存储部,存储与所述机器人的结构相关的固有信息,即包含所述机器人具有的一个以上的关节的容许转矩的值的固有信息;计算部,基于所述目标力的所述大小以及所述朝向、开始所述力控制时的所述位置以及姿势、所述固有信息,在开始所述力控制时的所述位置以及所述姿势中,以所述目标力的所述大小以及所述朝向执行了力控制的情况下,计算所述机器人具有的所述各个关节产生的转矩的值;输出控制部,对于所述机器人具有的全部的所述关节,在所述关节产生的转矩的值为所述容许转矩的值以下的情况下,输出第一种信息,在存在所述关节产生的转矩的值超过所述容许转矩的值的关节的情况下,输出与所述第一种信息不同的第二种信息。
根据本发明的又一个方式,提供一种机器人控制装置,其特征在于,所述机器人控制装置对机器人的动作进行控制,所述机器人具有检测从外部施加的力的大小的力检测部,所述机器人控制装置具有:接收部,接收基于所述力检测部的输出进行的力控制中的目标力的大小、所述目标力的朝向;存储部,存储包含与所述机器人具有的多个关节对应的多个容许转矩的值的固有信息;计算部,基于所述目标力的大小、所述目标力的朝向、所述固有信息,对于作为开始所述力控制的位置的候选的多个候选点,在从所述候选点以所述目标力的大小以及所述目标力的朝向开始了力控制的情况下,计算所述机器人具有的所述多个关节产生的多个转矩的值;以及输出控制部,在所述多个候选点中,输出所述多个转矩的值分别为所述多个容许转矩的值以下的候选点。
根据本发明的又一个方式,提供一种机器人系统,其特征在于,具有上述任一项所述的机器人控制装置;以及通过所述机器人控制装置控制的所述机器人。
根据本发明的又一个方式,提供一种机器人控制装置,其特征在于,所述机器人控制装置对机器人的动作进行控制,所述机器人具有检测从外部施加的力的大小的力传感器,所述机器人控制装置具有处理器,所述处理器构成为,接收基于所述力传感器的输出进行的力控制中的目标力的大小、所述目标力的朝向、开始所述力控制的位置、开始所述力控制的姿势,基于所述目标力的大小、所述目标力的朝向、开始所述力控制的位置、开始所述力控制的姿势、包含与所述机器人具有的多个关节对应的多个容许转矩的值的固有信息,在开始所述力控制的位置以及开始所述力控制的姿势中,在以所述目标力的大小以及所述目标力的朝向执行了所述力控制的情况下,计算所述多个关节产生的多个转矩的值,在所述多个转矩的值分别为所述多个容许转矩的值以下的情况下,输出第一种信息,在所述多个转矩的值中至少一个超过对应的所述容许转矩的值的情况下,输出第二种信息。
附图说明
图1是表示本实施方式涉及的机器人系统1的结构的图。
图2是表示机器人20、动作控制装置30和示教装置50的功能结构的图。
图3是表示在示教装置50中,进行根据负载转矩判定是否能够实现力控制时的处理的流程图。
图4表示在图3的步骤S120以及S140中,示教装置50的输出装置58所显示的用户界面UI12。
图5是在图3的步骤S170中,输出到作为输出装置58的显示器的错误显示ED。
图6是表示在图3的步骤S180中,作为输出装置58的显示器所显示的用户界面UI18的图。
图7是表示在示教装置50中,进行根据臂A的姿势的奇异点判定是否能够实现力控制时的处理的流程图。
图8是表示图7的步骤S370中的输出装置58的显示的图。
图9是表示在示教装置50中,决定能够实现力控制的候选位置时的处理的流程图。
图10表示在图9的步骤S550中,示教装置50的输出装置58所显示的用户界面UI55。
图11是表示在图9的步骤S580中,输出装置58所显示的用户界面UI58a的图。
图12是表示将候选点假定为二维的点R0-0~R7-6的56个点的情况下的凸包的示例的说明图。
图13是示出了表示对于各轴方向能够采取的范围的用户界面UI58b的图。
图14是表示由多个处理器构成机器人的控制装置的一例的概念图。
图15是表示由多个处理器构成机器人的控制装置的另一例的概念图。
图16是表示代替图9的步骤S580中的用户界面UI58b的用户界面UI58c的图。
[附图标记说明]
1…机器人系统,20…机器人,21…力检测部,25…机器人控制装置,30…动作控制装置,30a…CPU,30b…RAM,30c…ROM,50…示教装置,50a…CPU,50b…RAM,50c…ROM,52…输出控制部,53…接收部,54…设定部,55…取得部,56…计算部,57…输入装置,58…输出装置(显示器),400、410…个人计算机,500…云服务,A…臂,B…支承台,B01、B02、B04~B06、B21、B22、B24、B25、B27、B28…按钮,DW2、DW4…图像显示,Da…旋转角度,Dc…控制量,De…偏差,Dt…目标角度,E…末端执行器,E1~E6…编码器,ED…错误显示,EM、EM2…错误消息,Ic…固有信息,Ie…末端执行器信息,If…力信息,Ip…位置信息,Ir…范围信息,Iw…工件信息,J1~J6…关节,Kpd…微分增益,Kpi…积分增益,Kpp…比例增益,Kvd…微分增益,Kvi…积分增益,Kvp…比例增益,L1~L5…连杆,M1~M6…电机,P1、P2…顶点,R0-0~R7-6…候选点,R0-0-0~R4-4-4…候选点,RC…机器人坐标系,Rs…代表点,RX…围绕X轴的旋转的角度位置,RY…围绕Y轴的旋转的角度位置,RZ…围绕Z轴的旋转的角度位置,S…位置,SMV…力控制的动作设定值,S11~S16…滑块显示,S110…滑块,S111…可执行范围,S112…搜索范围,SMV…动作设定值,Sr…应该搜索能够实现力控制的位置的空间,St…目标位置,U…电机M1~M6的角度位置的组合与机器人坐标系RC中的TCP的位置的对应关系,UI12、UI18、UI55、UI58a~UI58c…用户界面,W…工件,W11~W16、W21~W26、W31~W36、W41~W46…输入窗,W50、W61~W63、W71~W73…输出窗,d…粘性参数,fi…输入的目标力,fp1、fp2…可能力,fs…作用力,fst…目标力,k…弹性参数,m…质量参数,ΔS…力由来校正量,Δfs…力偏差。
具体实施方式
A.第一实施方式:
A1.机器人系统的结构:
图1是表示本实施方式涉及的机器人系统1的结构的图。机器人系统1具有机器人20和机器人控制装置25。机器人控制装置25控制机器人20。机器人控制装置25由动作控制装置30和示教装置50构成。
动作控制装置30控制机器人20的臂A,以在由用户的示教作业设定的目标位置实现目标力。动作控制装置30具有作为处理器的CPU(Central Processing Unit:中央处理器)30a、RAM(Random Access Memory:随机存储器)30b和ROM(Read Only Memory:只读存储器)30c。在动作控制装置30中安装有用于进行机器人20的控制的控制程序。在动作控制装置30中,这些硬件资源与控制程序协同动作。对于动作控制装置30的功能,在后面详细说明。
示教装置50向动作控制装置30示教目标位置St和目标力fst。示教装置50具有CPU50a、RAM50b、ROM50c等。在示教装置50中安装有用于向动作控制装置30示教目标位置St和目标力fst的示教程序。在示教装置50中,这些硬件资源与示教程序协同动作。
示教装置50还具有输入装置57和输出装置58。输入装置57例如是鼠标、键盘、触摸面板等,接收来自用户的指示。输出装置58例如是显示器或扬声器等,向用户输出各种信息。对于示教装置50的功能,在后面详细说明。
机器人20是具有臂A和支承臂A的支承台B的单臂机器人。臂A是六轴的垂直多关节型的臂。臂A具有五个臂部件即连杆L1~连杆L5和六个关节即关节J1~J6。关节J2、关节J3、关节J5是弯曲关节,关节J1、关节J4、关节J6是扭转关节。
支承台B与连杆L1经由关节J1连接。连杆L1与连杆L2经由关节J2连接。连杆L2与连杆L3经由关节J3连接。连杆L3与连杆L4经由关节J4连接。连杆L4与连杆L5经由关节J5连接。连杆L5与力检测部21以及末端执行器E经由关节J6连接。
在臂A的末端经由力检测部21安装有末端执行器E。末端执行器E是用于把持作为机器人20所处理的对象物的工件W的装置。末端执行器E的位置由TCP(Tool Center Point:工具中心点)规定。在本实施方式中,TCP位于关节J6的旋转轴上。动作控制装置30通过驱动臂A,在机器人坐标系RC中控制作为控制点的TCP的位置。
力检测部21是能够检测从外部施加的力的大小的六轴的力传感器。力检测部21检测相互正交的三个检测轴上的力的大小和围绕这三个检测轴的转矩的大小。
在本实施方式中,将支承台B的位置作为基准,将规定设置有机器人20的空间的坐标系表示为机器人坐标系RC。机器人坐标系RC是由在水平面上相互正交的X轴和Y轴,以及以铅垂向上为正方向的Z轴规定的三维正交坐标系。在本说明书中,在简称为“X轴”的情况下,表示机器人坐标系RC中的X轴。在简称为“Y轴”的情况下,表示机器人坐标系RC中的Y轴。在简称为“Z轴”的情况下,表示机器人坐标系RC中的Z轴。机器人坐标系RC中的任意的位置能够由X轴方向的位置DX、Y轴方向的位置DY和Z轴方向的位置DZ来确定。
在本实施方式中,由围绕X轴的旋转的角度位置RX来表示。由围绕Y轴的旋转的角度位置RY来表示。由围绕Z轴的旋转的角度位置RZ来表示。机器人坐标系RC中的任意的姿势能够由围绕X轴的角度位置RX、围绕Y轴的角度位置RY、围绕Z轴的角度位置RZ来表示。
在本说明书中,在记为“位置”的情况下,除了狭义的位置以外,还可以指姿势。
在记为“力”的情况下,除了在三维空间中由朝向和大小规定的狭义的力以外,还可以指作用于角度位置RX、角度位置RY、角度位置RZ各自的旋转方向的转矩。
臂A、力检测部21和末端执行器E通过电缆以能够通信的方式与动作控制装置30连接。
A2.动作控制装置30的动作控制:
图2是表示机器人20、动作控制装置30和示教装置50的功能结构的图。图2所示的S表示规定机器人坐标系RC的轴的方向(X轴方向、Y轴方向、Z轴方向、角度位置RX的方向、角度位置RY的方向、角度位置RZ的方向)中的任意一个方向。例如,在S表示的方向为X轴方向的情况下,在机器人坐标系RC中设定的目标位置的X轴方向分量记为St=Xt,目标力的X轴方向分量记为fst=fXt。另外,S也表示沿着S表示的方向的轴的位置。
机器人20在关节J1~J6中分别具有作为驱动部的电机M1~M6和编码器E1~编码器E6(参照图2的上部)。电机M1和编码器E1设置于关节J1。电机M1驱动关节J1。编码器E1检测电机M1的驱动位置。电机M2~M6和编码器E2~E6在关节J2~J6中也发挥同样的功能。
动作控制装置30将电机M1~M6的角度位置的组合与机器人坐标系RC中的TCP的位置的对应关系U存储在RAM内(参照图2的中部右侧)。动作控制装置30按照机器人20进行的作业的每个工序,将目标位置St与目标力fst建立对应地存储在RAM内。目标位置St和目标力fst通过后述的示教作业来设定。
动作控制装置30当取得电机M1~M6的旋转角度Da时,基于对应关系U,将旋转角度Da转换为机器人坐标系RC中的TCP的位置S(参照图2的右侧中部)。更具体而言,旋转角度Da被转换为位置DX、位置DY、位置DZ、角度位置RX、角度位置RY以及角度位置RZ的组合。
力检测部21在独自的坐标系中检测力fs(参照图2的右上部)。力检测部21与TCP的相对位置以及相对方向作为已知的数据存储在动作控制装置30的RAM30b中(在图2中省略图示)。因此,动作控制装置30能够基于TCP的位置S和力检测部21的输出,确定机器人坐标系RC中的力fs。
动作控制装置30对转换为机器人坐标系RC后的力fs进行重力补偿(参照图2的右下部)。“重力补偿”是指从力fs中除去重力分量的处理。进行了重力补偿的力fs表示作用于末端执行器E的重力以外的力。以下,也将作用于末端执行器E的重力以外的力称为“作用力”。
动作控制装置30通过将目标力fst和作用力fs代入顺应运动控制的运动方程式,确定力由来校正量ΔS(参照图2的左侧中部)。在本实施方式中,作为顺应运动控制,采用阻抗控制。“阻抗控制”是指通过电机M1~M6实现虚拟的机械阻抗的控制。以下所示的式(1)是阻抗控制的运动方程式。
[数学式1]
在式(1)中,m是质量参数。质量参数也称为惯性参数。d是粘性参数。k是弹性参数。各参数m、d、k可以从示教装置50中得到。各参数m、d、k可以是将每个方向设定为不同的值的结构,也可以与方向无关而设定为通用的值。
在式(1)中,Δfs(t)是相对于目标力fst的作用力fs的偏差。
t表示时间。目标力fst可以在机器人20进行的工序中被设定为恒定值,也可以通过依赖于时间的函数来设定。式(1)中的微分是指基于时间的微分。
根据式(1)得到的力由来校正量ΔS是指在TCP受到了基于机械阻抗的作用力fs的情况下,为了消除目标力fst与作用力fs的力偏差Δfs(t)而实现目标力fst,TCP应该移动的位移。在此,“位移”由直线前进距离和/或旋转角来表示。
动作控制装置30通过将目标位置St加上力由来校正量ΔS,确定考虑了阻抗控制的校正目标位置(St+ΔS)(参照图2的中部右侧)。
动作控制装置30基于对应关系U,将机器人坐标系RC中的六个方向(X轴方向、Y轴方向、Z轴方向、角度位置RX的方向、角度位置RY的方向、角度位置RZ的方向)各自的校正目标位置(St+△S),转换为作为电机M1~M6各自的目标驱动位置的目标角度Dt(参照图2的中部右侧)。
动作控制装置30执行使编码器E1~E6的输出所示的电机M1~M6的旋转角度Da与作为控制目标的目标角度Dt一致的反馈控制。更具体而言,动作控制装置30使用旋转角度Da与目标角度Dt的偏差De、该偏差De的积分、以及该偏差De的微分,执行对于位置的PID控制。在图2中,表示为比例增益Kpp、积分增益Kpi、微分增益Kpd(参照图2的中央部)。
动作控制装置30使用对于使用了上述Kpp、Kpi、Kpd的位置的PID控制的输出与旋转角度Da的微分的偏差、该偏差的积分、该偏差的微分,执行对于速度的PID控制。在图2中,表示比例增益Kvp、积分增益Kvi、微分增益Kvd(参照图2的中部左侧)。
作为以上的处理的结果,决定电机M1~M6的控制量Dc。动作控制装置30以各电机M1~M6的控制量Dc控制各电机M1~M6。
通过以上的处理,动作控制装置30能够基于目标位置St和目标力fst来控制臂A。
A3.示教装置50中的处理:
(1)是否能够实现力控制的判定其一:
图3是表示在示教装置50中,进行根据负载转矩判定是否能够实现力控制时的处理的流程图。具体而言,图3的处理由示教装置50的CPU50a(参照图1)来执行。
在步骤S120中,示教装置50从用户接收末端执行器E的信息和工件W的信息。末端执行器E的信息包含:(i)末端执行器E的重量的信息;(ii)臂A的末端的位置与安装在臂A上的末端执行器E的重心位置的相对位置关系的信息。将这些信息称为“末端执行器信息”。
工件W的信息包含:(i)工件W的重量的信息;(ii)在对象动作中工件W被末端执行器E把持时的工件W的重心位置与末端执行器E的重心位置的相对位置关系的信息;(iii)在对象动作中工件W被末端执行器E把持时的末端执行器E和工件W的接触点的位置与末端执行器E的重心位置的相对位置关系的信息。将这些信息称为“工件信息”。
末端执行器信息和工件信息与用于识别对象动作的信息建立对应地存储在示教装置50的RAM50b中。在图1中,将RAM50b内的末端执行器信息表示为“末端执行器信息Ie”。在图1中,将RAM50b内的工件信息表示为“工件信息Iw”。将在步骤S120中接收末端执行器E的信息和工件W的信息的示教装置50的功能部在图2中表示为“接收部53”。
在图3的步骤S140中,示教装置50从用户接收位置信息、范围信息和力信息。
示教装置50从用户接收表示应该开始对象动作的TCP的位置以及末端执行器E的姿势的“位置信息”。“应该开始对象动作的位置以及末端执行器E的姿势”例如是在力控制中,以对力检测部21作用力的方式控制臂A之前的TCP的位置以及姿势、或将通过把持了加工工具的末端执行器E加工其他物体之前的位置以及姿势等。具体而言,位置信息是机器人坐标系RC的X轴方向的位置、Y轴方向的位置、Z轴方向的位置、围绕X轴的旋转的角度位置RX、围绕Y轴的旋转的角度位置RY、围绕Z轴的旋转的角度位置RZ的组合。
示教装置50从用户接收表示在对象动作中能够变动的TCP的位置以及末端执行器E的姿势的范围的“范围信息”。在进行力控制的对象动作中,进行使用了力检测部的输出的反馈控制,因此作为控制点的TCP的位置以及末端执行器E的姿势不局限于成为预先规定的位置以及姿势。另外,根据工件W的形状的误差或配置的误差,对象动作中的TCP的位置以及末端执行器E的姿势能够变化。表示这样的变化的假设范围的范围信息由用户输入到示教装置50。具体而言,范围信息是机器人坐标系RC的X轴方向的尺寸(即,位置的范围)、Y轴方向的尺寸、Z轴方向的尺寸、围绕X轴的旋转的角度范围、围绕Y轴的旋转的角度范围、围绕Z轴的旋转的角度范围的组合。
示教装置50从用户接收表示在执行对象动作时应该施加给工件W的目标力fst的方向和大小的“力信息”。具体而言,力信息由机器人坐标系RC的X轴方向的力分量、Y轴方向的力分量、Z轴方向的力分量、角度位置RX的方向的转矩分量、角度位置RY的方向的转矩分量、角度位置RZ的方向的转矩分量的组合来确定。但是,在本实施方式的步骤S120中,作为目标力fst的方向,以选择性地输入上述六个方向中的任意一个方向的方式构成示教装置50。另外,作为目标力fst的大小,以输入任意的数值的方式构成示教装置50。目标力fst的大小能够取正值和负值。
输入的位置信息、范围信息和力信息与能够识别对象动作的信息建立对应地存储在RAM50b中。在图1中将RAM50b内的位置信息表示为“位置信息Ip”。在图1中将RAM50b内的范围信息表示为“范围信息Ir”。在图1中将RAM50b内的力信息表示为“力信息If”。
在步骤S140中,接收并存储位置信息、范围信息和力信息的示教装置50的功能部是接收部53(参照图2)。
需要说明的是,在此,为了容易理解技术,将步骤S120的处理和步骤S140的处理分开,按照该顺序进行说明(参照图3)。但是,在步骤S120、S140中输入到示教装置50的信息不一定按照该顺序输入。即,也能够在步骤S140中输入的一部分或全部的信息之后输入在步骤S120中输入的一部分或全部的信息。但是,在后述的步骤S170的处理之后能够输入的是在步骤S140中输入的一部分或全部的信息。
图4表示在图3的步骤S120以及S140中,示教装置50的输出装置58所显示的用户界面UI12。需要说明的是,在用户界面UI12的显示之前,预先输入了工件信息(参照图3的S120)以及位置信息(参照图3的S140)。
用户界面UI12具有输入窗W11~W16,按钮B01、B02,以及输入窗W21~W26。
输入窗W11是用于输入作为力信息的一部分的力控制中的目标力的朝向的界面(参照图3的S140)。在图4的示例中,指定为Z轴方向的正侧的朝向。输入窗W12是用于输入作为力信息的一部分的力控制中的目标力的大小的界面(参照图3的S140)。在图4的示例中,指定为10N。
需要说明的是,力信息也能够采用与用于识别对象动作的信息建立对应地预先存储在示教装置50的RAM50b中的方式。在这样的方式中,用户经由规定的用户界面选择对象动作。其结果为,在图4的用户界面UI12中,在输入窗W11、W12中自动地输入信息。
输入窗W13是用于输入作为末端执行器信息的一部分的末端执行器E的重量的信息的界面(参照图3的S120)。在图4的示例中,指定为1kg。
输入窗W14~W16是用于输入作为末端执行器信息的一部分的臂A的末端的位置与安装在臂A上的末端执行器E的重心位置的相对位置关系的信息的界面(参照图3的S120)。在图4的示例中,作为相对位置关系的信息,指定为X轴方向0、Y轴方向0、Z轴方向的正侧50mm的相对位置。
输入窗W21~W23是用于输入作为范围信息的一部分的在对象动作中能够变动的TCP的位置范围的信息的界面(参照图3的S140)。在图4的示例中,作为TCP的位置范围的信息,指定为X轴方向0、Y轴方向0、Z轴方向的10mm的位置范围。
输入窗W24~W26是用于输入作为范围信息的一部分的在对象动作中能够变动的末端执行器E的姿势的范围的信息的界面(参照图3的S140)。在图4的示例中,作为末端执行器E的姿势的范围的信息,指定为U轴(即围绕X轴)方向0、V轴(即围绕Y轴)方向0、W轴(即围绕Z轴)方向0的角度范围。
按钮B01是结束了对输入窗W11~W16以及输入窗W21~W26的输入的用户用于使示教装置50进行下一个处理的按钮。按钮B02是用于返回到经由用户界面UI12输入信息之前的处理的按钮。当按下按钮B02时,处理返回到用于输入工件信息(参照图3的S120)以及位置信息(参照图3的S140)的阶段。
在图3的步骤S160中,示教装置50从动作控制装置30的RAM30b(参照图1)中取得与机器人20的硬件结构相关的固有信息Ic。
具体而言,机器人20的固有信息Ic为:(i)相邻的关节彼此之间的长度(即,连杆L1~连杆L5的长度);(ii)连杆L1~连杆L5的重量;(iii)关节J1~J6的刚性;(iv)关节J1~J6的容许转矩。“关节的刚性”是表示在关节的旋转角度被设定为某个值的状态下,在受到了来自外部的以该关节为中心的旋转力的情况下,该关节的旋转角度偏移何种程度的值。
“关节的容许转矩”是将关节的电机的容许转矩乘以用于设置余量的1以下的系数(例如0.8)而得到的转矩。
这些值是在机器人20中固有的值。这些值预先存储在动作控制装置30的RAM30b中。在步骤S160中,将取得机器人20的固有信息Ic的示教装置50的功能部在图2中表示为“取得部55”。
示教装置50基于末端执行器信息以及工件信息(参照S120)、位置信息、范围信息以及力信息(参照S140)、固有信息Ic,对于各关节J1~J6计算施加于关节的负载转矩的最大值。更具体而言,对于在由位置信息和范围信息确定的动作范围所包含的多个代表性的位置(以下,也称为“代表点”),在其中存在TCP的状态下,在实现了由力信息指定的力控制的情况下,计算施加于各关节的负载转矩。然后,从与所得到的多个代表性位置对应的负载转矩中,对于各关节J1~J6,决定负载转矩的最大值。
施加于某个关节的负载转矩能够分为由施加于位于该关节前方的连杆的重力引起的负载转矩ta、由施加于末端执行器E以及工件W的重力引起的负载转矩tb、由力控制中的目标力引起的负载转矩tc来计算。
按以下方式计算由目标力引起的负载转矩tc。基于该力控制中的臂的姿势,即连杆L1~连杆L5的位置以及姿势,计算作为计算负载转矩的对象的关节与TCP的相对位置关系。然后,计算将施加于TCP的目标力投影到与该关节的旋转轴垂直的平面,即将该关节的旋转中心作为原点的平面(以下,称为“处理平面”)而得到的力。然后,基于该力、投射到处理平面上的TCP与原点的距离,计算施加于该关节的由目标力引起的负载转矩tc。
按以下方式计算由施加于位于该关节前方的连杆的重力引起的负载转矩ta。基于连杆L1~连杆L5的长度、连杆L1~连杆L5的重量、以及该力控制中的臂的姿势,计算以下的参数。即,计算位于该关节前方的连杆整体的重量、以及由位于该关节前方的连杆构成的结构的重心与该关节的相对位置关系。然后,计算将施加于结构的重心的位于对象关节前方的连杆整体的重力投影到该关节的处理平面而得到的力。然后,基于该力、投射到处理平面上的结构的重心与原点的距离,计算施加于该关节的由施加于位于该关节前方的连杆的重力引起的负载转矩ta。
按以下方式计算由施加于工件W和末端执行器E的重力引起的负载转矩tb。基于工件W的重量、末端执行器E的重量、臂A的末端的位置与安装在臂A上的末端执行器E的重心位置的相对位置关系的信息、在对象动作中工件W被末端执行器E把持时的工件W的重心位置与末端执行器E的重心位置的相对位置关系的信息、连杆L1~连杆L5的长度、以及该力控制中的臂的姿势,计算以下的参数。即,计算工件W的重量与末端执行器E的重量的合计值、以及由工件W和末端执行器E构成的结构的重心与该关节的相对位置关系。然后,计算将施加于由工件W和末端执行器E构成的结构的重心的该结构的重力投影到该关节的处理平面而得到的力。然后,基于该力、投射到处理平面上的结构的重心与原点的距离,计算施加于该关节的由施加于工件W和末端执行器E的重力引起的负载转矩tb。
通过利用末端执行器信息和工件信息,与不利用它们的方式相比,能够更准确地计算各个关节产生的转矩的值。作为工件信息的一部分,通过利用把持了对象物的情况下的末端执行器与对象物的相对位置的信息,与不利用它们的方式相比,能够更准确地计算各个关节产生的转矩的值。
作为范围信息,通过利用力控制中的位置或姿势的范围,能够通过力控制的动作整体来计算各个关节产生的转矩的值。因此,用户能够更准确地获知是否能够使机器人执行由输入到机器人控制装置的目标力的大小以及朝向、开始位置、开始时的姿势规定的力控制。
施加于某个关节的负载转矩是在以上的处理中得到的由目标力引起的负载转矩tc、由位于该关节前方的连杆引起的负载转矩ta、由末端执行器E以及工件W引起的负载转矩tb的合计。在图2中,将实现步骤S160的处理的示教装置50的功能部表示为“计算部56”。
在图3的步骤S165中,示教装置50判定施加于各关节J1~J6的负载转矩的最大值是否在各关节J1~J6的容许转矩的范围内。需要说明的是,由于电机的旋转方向能够采用正转和反转两个方向,因此规定关节的容许转矩的范围的上限和下限值能够取正值和负值两者。在本实施方式中,对于各关节J1~J6,容许转矩的范围的上限为正值,容许转矩的范围的下限为负值。
在步骤S165中,在关节J1~J6中存在施加于关节的负载转矩的最大值不在关节的容许转矩的范围内的关节的情况下,处理进入步骤S170。
在步骤S170中,示教装置50在作为输出装置58的显示器上进行错误显示。
示教装置50在进行错误显示之前,进行以下的处理。对于负载转矩的最大值超过了关节的容许转矩的范围的关节,示教装置50计算从接近负载转矩的一侧的容许转矩阈值t01中减去由位于该关节前方的连杆引起的负载转矩ta、以及由末端执行器E以及工件W引起的负载转矩tb而得到的余量转矩tm。然后,基于余量转矩tm、该力控制中的该关节与TCP的相对位置关系以及目标力的朝向,通过所谓的正向运动学,在臂A采用了由该力控制指定的姿势的情况下,计算在TCP中能够在目标力的朝向上产生的力的大小。示教装置50对超过了关节的容许转矩的全部关节进行这样的处理。将这样得到的在TCP中能够在目标力的朝向上产生的力的大小中最小的力的大小设为可能力fp1。可能力fp1是在由目标力的朝向、开始力控制时的位置以及姿势规定的力控制中能够实现的目标力的大小。
另外,示教装置50对于全部的关节,使用远离负载转矩的一侧的容许转矩阈值t02,进行与上述相同的处理,计算逆向的可能力fp2。
图5是在图3的步骤S170中,输出到作为输出装置58的显示器的错误显示ED。示教装置50在图3的步骤S170中,使用目标力的大小和可能力fp1、fp2,进行输出到作为输出装置58的显示器的错误显示ED。在图5的示例中,显示“在当前的设定中无法以10N进行按压。能够设定为-10~5N。是否变更为5N?”这样的错误消息EM。错误消息EM表示由输入的目标力的大小以及朝向、输入的力控制的开始位置以及姿势规定的力控制无法实现的信息。
错误消息EM中的“10N”是输入的目标力的大小fi(参照图4的W12)。“5N”是与目标力相同朝向的可能力fp1。“-10(N)”是与目标力逆向的可能力fp2。
通过进行这样的处理,在输出了错误消息EM的情况下,用户能够获知无法使机器人执行由输入到机器人控制装置的目标力的大小以及朝向、开始位置、开始时的姿势规定的力控制。
另外,通过输出能够实现的目标力的大小fp1,用户能够获知在由输入到机器人控制装置的目标力的朝向、开始位置、开始时的姿势规定的力控制中,能够使机器人实现的力的大小。
错误显示ED包含按钮B04、B05。用户观察错误显示ED,按下“是”的按钮B04、或者“否”的按钮B05中的任意一个。然后,处理返回到图3的步骤S140。
在步骤S170中按下了“是”的按钮B04的情况下,在步骤S140中再次显示的图4的用户界面UI12的输入窗W12中,用可能力fp1代替在上次的步骤S140的处理中输入的值“10N”,即,在此自动地输入“5N”。
在步骤S170中按下了“否”的按钮B05的情况下,在步骤S140中显示的图4的用户界面UI12的输入窗W12中,原样输入在上次的步骤S140的处理中输入的值“10N”。
用户参考图5的错误消息EM自己在输入窗W12中输入其他值,或者变更用户界面UI12的其他输入窗的设定。
在图3的步骤S165中,对于全部的关节J1~J6,在施加于关节的负载转矩的最大值在关节的容许转矩的范围内的情况下,处理进入步骤S180。
在步骤S180中,对于全部关节,示教装置50使用接近负载转矩的一侧的容许转矩阈值t01和负载转矩,在作为输出装置58的显示器上进行研究结果的显示。
图6是表示在图3的步骤S180中,作为输出装置58的显示器所显示的用户界面UI18的图。对于全部的关节J1~J6,示教装置50表示相对于容许转矩阈值t01的负载转矩的比例。100%表示负载转矩与容许转矩阈值t01相等。在图6的示例中,相对于容许转矩阈值t01的负载转矩的比例为80%以下的区域用绿色表示,超过80%的区域用黄色表示,超过92%的区域用红色表示。通过进行这样的处理,用户能够获知对于在图3的步骤S120、S140中指定的力控制,机器人20的各电机具有何种程度的余力。
示教装置50在图3的步骤S180中,将在步骤S120、S140中输入的信息与用于识别对象动作的信息建立对应地存储在RAM50b中。此外,示教装置50将在步骤S120、S140中输入的信息与用于识别对象动作的信息一起输出到动作控制装置30。动作控制装置30将两者建立对应地存储在RAM30b中。
将在步骤S180中存储在RAM50b以及RAM30b内的信息在图1中表示为“力控制的动作设定值SMV”。将在图3的步骤S165、S170、S180的处理中进行向输出装置58的显示的示教装置50的功能部在图2中表示为“输出控制部52”。将在图3的步骤S180的处理中在步骤S120、S140中输入的信息存储在RAM50b向动作控制装置30输出的示教装置50的功能部在图2中表示为“设定部54”。
根据本实施方式,在使机器人20进行力控制时,根据输出用户界面UI18(参照图6)还是输出错误显示ED(参照图5),用户能够获知是否能够使机器人执行由输入到机器人控制装置25的目标力的大小以及朝向、开始位置、开始时的姿势规定的力控制。
在本实施方式中,将存储有固有信息Ic的动作控制装置30的RAM30b也称为“存储部”。将用户界面UI18(参照图6)所表示的信息也称为“第一种信息”。将错误消息EM(参照图5)所表示的信息也称为“第二种信息”。将末端执行器信息Ie和工件信息Iw也统称为“选择信息”。
(2)是否能够实现力控制的判定其二:
图7是表示在示教装置50中,进行根据有无臂A的姿势的奇异点判定是否能够实现力控制的判定时的处理的流程图。具体而言,图7的处理由示教装置50的CPU50a(参照图1)来执行。
在步骤S320中,示教装置50从用户接收末端执行器E的信息和工件W的信息。步骤S320的处理与图3的步骤S120的处理相同。
在步骤S340中,示教装置50从用户接收位置信息和范围信息。步骤S340的处理除了不接收力信息这一点以外,与图3的步骤S140的处理相同。
在步骤S360中,示教装置50从动作控制装置30的RAM30b(参照图1)中取得与机器人20的硬件结构相关的固有信息Ic。示教装置50基于末端执行器信息以及工件信息(参照S320)、位置信息以及范围信息(参照S340)、固有信息Ic,计算采用了将由位置信息和范围信息确定的动作范围所包含的多个代表性的位置(以下,记为“代表点”)作为控制点的TCP的情况下的各关节J1~J6的角度位置。该计算能够通过所谓的逆向运动学来进行。然后,基于与所得到的多个代表点对应的各关节的角度位置,对于各关节J1~J6,决定能够采取的角度范围。
在步骤S365中,示教装置50判定在由位置信息和范围信息确定的动作范围所包含的多个代表点中是否存在奇异点。“奇异点”是指作为控制点的TCP无法控制的位置,在上述步骤S360的处理中,是无法决定各关节的角度范围的位置。
在步骤S365中,在代表点中存在奇异点的情况下,处理进入步骤S370。在步骤S370中,示教装置50将代表点与错误消息一起显示在作为输出装置58的显示器58中。
图8是表示图7的步骤S370中的输出装置58的显示的图。示教装置50将三维空间内的代表点Rs与机器人20的三维图像一起显示在作为输出装置58的显示器上。不是奇异点的代表点Rs显示为绿色的点。是奇异点的代表点Rs显示为红色的点。另外,在存在是奇异点的代表点Rs的情况下,与是奇异点的代表点之一建立关联地显示“有奇异点”这样的错误消息EM2。
当按下图8的显示中的按钮B06时,处理返回到步骤S340。用户在步骤S340中变更位置信息以及范围信息的一方或双方的设定。
在图7的步骤S365中,在代表点中没有奇异点的情况下,处理进入步骤S380。在步骤S380中,示教装置50在作为输出装置58的显示器58中显示代表点。步骤S380中的显示除了不显示表示是奇异点的代表点Rs的红色的点的显示以及“有奇异点”这样的错误消息EM2这一点以外,与图8的显示相同。
示教装置50将在步骤S320、S340中输入的信息与用于识别对象动作的信息建立对应地存储在RAM50b中。此外,示教装置50将在步骤S320、S340中输入的信息与用于识别对象动作的信息一起输出到动作控制装置30。动作控制装置30将两者建立对应地存储在RAM30b中。
需要说明的是,图7所示的进行根据有无臂A的姿势的奇异点判定是否能够实现力控制的处理,能够在图3的处理之前进行,也能够与图3的处理并行地进行。在并行地进行图3的处理和图7的处理的情况下,能够省略图7的步骤S320、S340的处理。
根据本实施方式,在使机器人进行力控制时,根据是否输出错误消息EM2(参照图8),用户能够获知,根据有无奇异点考虑是否能够使机器人执行由输入到机器人控制装置25的开始位置、开始时的姿势、动作范围规定的力控制。
(3)能够实现力控制的位置的搜索:
图9是表示在示教装置50中,决定能够实现力控制的候选位置时的处理的流程图。具体而言,图9的处理由示教装置50的CPU50a(参照图1)来执行。
在步骤S520中,示教装置50从用户接收末端执行器E的信息和工件W的信息。步骤S520的处理与图3的步骤S120的处理相同。
在步骤S540中,示教装置50从用户接收作为位置信息的一部分的表示末端执行器E的姿势的姿势信息、范围信息和力信息。
步骤S540的处理除了不接收位置信息中控制点的位置信息这一点以外,与图3的步骤S140的处理相同。
在步骤S550中,示教装置50从用户接收空间信息。“空间信息”是指定应该搜索能够实现用户指定的力控制的位置的空间的信息。
图10表示在图9的步骤S550中,示教装置50的输出装置58所显示的用户界面UI55。用户界面UI55具有输入窗W31~W36,W41~W46,按钮B21、B22。
输入窗W31~W33是用于指定将用于指定应该搜索能够实现力控制的位置的空间作为长方体的第一个顶点P1的界面。在图10的示例中,机器人坐标系RC中的(X、Y、Z)=(100、400、500)的点被指定为顶点P1。
输入窗W31~W36是用于指定将用于指定应该搜索能够实现力控制的位置的空间作为长方体的第二个顶点P2的界面。在图10的示例中,机器人坐标系RC中的(X,Y,Z)=(0,100,300)的点被指定为顶点P2。
应该搜索能够实现力控制的位置的空间Sr是以顶点P1、P2为顶点、由与XY平面平行的两个面、与YZ平面平行的两个面、以及与ZX平面平行的两个面规定的空间。
输入窗W41~W43是用于指定顶点P1中的姿势的界面。在图10的示例中,被指定为机器人坐标系RC中的(U,V,W)=(90,0,180)的姿势。
输入窗W44~W46是用于指定顶点P2中的姿势的界面。在图10的示例中,被指定为机器人坐标系RC中的(U,V,W)=(90,0,180)的姿势。在本实施方式中,示教装置50将输入窗W44~W46的值和分别输入到输入窗W41~W43中的一方的值的组合反映到另一方。
通过进行这样的处理,与不接收应该搜索能够实现力控制的位置的空间Sr的指定的方式相比,示教装置50能够以更少的处理负载,决定关节产生的转矩的值为容许转矩的值以下的位置。
按钮B21是结束了对输入窗W31~W36、W41~W46的输入的用户用于使示教装置50进行下一个处理的按钮。按钮B22是用于返回到经由用户界面UI55输入信息之前的处理的按钮。当按下按钮B22时,处理返回到图9的步骤S540以前的阶段。执行步骤S550的处理的是作为示教装置50的功能部的接收部53。
在图9的步骤S560中,示教装置50在由空间信息确定的空间Sr内决定多个候选点。在本实施方式中,将由空间信息确定的长方体的空间Sr的各边4等分的点和通过这些点的与XY平面平行的面、与YZ平面平行的面以及与ZX平面平行的面的交点作为候选点。示教装置50对于各候选点进行以下的处理。
在图9的步骤S560中,示教装置50基于末端执行器信息以及工件信息(参照S520)、表示候选点的位置的信息(以下,称为“候选点信息”)、位置信息中的姿势信息、范围信息以及力信息(参照S540)、固有信息Ic,对于由候选点信息和范围信息确定的动作范围所包含的多个代表点,示教装置50计算施加于关节的负载转矩的最大值。该处理与图3的步骤S160的处理相同。
另外,示教装置50基于末端执行器信息以及工件信息(参照S320)、候选点信息以及范围信息(参照S140)、固有信息Ic,对于上述的多个代表点,决定各关节所采取的角度范围。该处理与图7的步骤S360的处理相同。
当对于由空间信息确定的长方体的空间Sr所包含的全部候选点结束上述的处理时,处理进入步骤S565。执行步骤S560的处理的是作为示教装置50的功能部的计算部56。
在步骤S565中,示教装置50对于各候选点,判定施加于各关节J1~J6的负载转矩的最大值是否在各关节J1~J6的容许转矩的范围内。对于各候选点进行的判定处理与图3的步骤S165的判定处理相同。
示教装置50判定在由候选点信息和范围信息确定的动作范围所包含的多个代表点中是否存在奇异点。对于各候选点进行的判定处理与图7的步骤S365的判定处理相同。
示教装置50在上述的各处理之后,对于全部的关节J1~J6,判定是否存在负载转矩的最大值在容许转矩的范围内,并且不存在奇异点的候选点(以下,称为“可执行候选点”)。
在步骤S565中,在不存在可执行候选点的情况下,处理进入步骤S570。在步骤S570中,示教装置50将错误显示输出到作为输出装置58的显示器。错误显示例如能够设为“在所指定的范围内没有能够执行作业的地点”这样的显示。当按下规定的按钮时,处理返回到步骤S540。用户在步骤S540中变更位置信息以及范围信息的一方或双方的设定,或者在步骤S550中变更空间信息的设定。
在步骤S565中,在存在可执行候选点的情况下,处理进入步骤S580。在步骤S580中,示教装置50在作为输出装置58的显示器上显示候选点。
图11是表示在图9的步骤S580中,输出装置58所显示的用户界面UI58a的图。在步骤S580中,示教装置50将用户界面UI58a显示在作为输出装置58的显示器上。用户界面UI58a包含机器人20的三维图像和三维空间内的125个候选点R0-0-0~R4-4-4的显示。可执行候选点显示为绿色的点。不是可执行候选点的候选点显示为红色的点。
为了容易理解技术,在图11中省略了图示,但在步骤S580中的输出中,包含执行候选点的集合的三维凸包用浅绿色来表示。某点的集合的“凸包”是包含该点的集合的全部的凸集合的交叉,即通用部分。
图12是表示将候选点假定为二维的点R0-0~R7-6的56个点的情况下的凸包的示例的说明图。用白色圆圈表示可执行候选点。用黑色圆圈表示可执行候选点以外的候选点。用斜线表示的区域是可执行候选点的凸包。如图12所示,在应该搜索能够实现力控制的位置的空间Sr内,能够存在一个以上的凸包。
图13是示出了表示对于各轴方向能够采取的范围的用户界面UI58b的图。在图11的状态下,当经由作为输入装置57的鼠标点击可执行候选点之一或空间Sr时,示教装置50将图13的用户界面UI58b显示在作为输出装置58的显示器上。用户界面UI58b包含滑块显示S11~S16、图像显示DW2和按钮B24、B25。
图像显示DW2示出了表示采用被点击的可执行候选点的姿势时的机器人20的状态的立体图。
滑块显示S11表示X轴方向的搜索范围S112、可执行范围S111、表示图像显示DW2所显示的机器人的TCP的位置的滑块S110。更具体而言,X轴方向的搜索范围用红色的矩形S112表示。在图13中,为了方便,X轴方向的搜索范围S112用带点的区域表示。在X轴方向的搜索范围中,可执行范围用蓝色的矩形S111表示。在图13中,为了方便,X轴方向的可执行范围S111用带斜线的区域表示。在X轴方向的可执行范围中,表示图像显示DW2所显示的机器人的位置的滑块S110用白色的矩形表示。
同样地,滑块显示S12、S13分别表示Y轴方向和Z轴方向的搜索范围、可执行范围、表示图像显示DW2所显示的机器人的TCP的位置的滑块。滑块显示S14~S16分别表示U轴方向、V轴方向、W轴方向的搜索范围、可执行范围、表示图像显示DW2所显示的机器人的末端的姿势的滑块。
通过进行这样的处理,用户能够获知对于各候选点的位置以及姿势相对于可执行范围具有何种程度的余量。需要说明的是,图13是用于说明技术内容的图,在图13中,DW2所示的机器人20的姿势与滑块显示S11~S16所示的数值不一定匹配。
图13的用户界面UI58b中的滑块显示S11~S16的可执行范围的显示相当于用户界面UI58a中的可执行候选点的凸包。
按钮B25是用于返回到经由用户界面UI58a选择可执行候选点的处理的按钮。当按下按钮B25时,处理返回到经由用户界面UI58a选择可执行候选点的处理。
按钮B24是用于确定可执行候选点的按钮。当按下按钮B24时,示教装置50将在步骤S520、S540中输入的信息、以及所选择的可执行候选点的候选点信息,与用于识别对象动作的信息建立对应地存储在RAM50b中。然后,示教装置50将在步骤S520、S540中输入的信息、以及所选择的可执行候选点的候选点信息,与用于识别对象动作的信息一起输出到动作控制装置30。动作控制装置30将两者建立对应地存储在RAM30b中。动作控制装置30能够基于所保存的这些信息,之后控制机器人20。
在图9的步骤S565、S570、S580的处理中,进行向输出装置58的显示的示教装置50的功能部是输出控制部52(参照图2)。在图9的步骤S580的处理中,将在步骤S520、S540中输入的信息、以及所选择的可执行候选点的候选点信息存储在RAM50b中,向动作控制装置30输出的示教装置50的功能部是设定部54(参照图2)。
根据本实施方式,在使机器人20进行力控制时,用户能够经由用户界面UI58a(参照图11),预先获知能够执行由目标力的大小和朝向规定的力控制的地点。另外,用户能够经由用户界面UI58b,将可执行候选点之一作为使机器人20执行的力控制的设定值保存在动作控制装置30中。
B.第二实施方式:
图14是表示由多个处理器构成机器人的控制装置的一例的概念图。在该例中,除了机器人20及其控制装置30以外,还描绘有个人计算机400、410和经由LAN等网络环境提供的云服务500。个人计算机400、410分别包含处理器和存储器。另外,在云服务500中也能够利用处理器和存储器。处理器执行计算机可执行的命令。利用这些多个处理器的一部分或全部,能够实现包含动作控制装置30以及示教装置50的机器人控制装置25。另外,存储各种信息的存储部也能够利用这些多个存储器的一部分或全部来实现。
C.第三实施方式:
图15是表示由多个处理器构成机器人的控制装置的另一例的概念图。在该例中,机器人20的动作控制装置30存储在机器人20中这一点与图14不同。在该例中,也能够利用多个处理器的一部分或全部来实现机器人20的控制装置。另外,存储各种信息的存储部也能够利用多个存储器的一部分或全部来实现。
D.其他方式:
D1.其他方式1:
(1)在上述实施方式中,在计算各关节的负载转矩(参照图3的S160以及图9的S560)之前,作为规定力控制的信息,输入位置信息Ip、范围信息Ir以及力信息If(参照图3的S140以及图9的S540)。但是,也能够采用在计算各关节的负载转矩之前,还输入力控制中的控制点的移动速度以及加速度的一方或双方的方式。在这样的方式中,优选为考虑所输入的移动速度以及加速度的一方或双方来计算各关节产生的转矩的值。例如,在控制点中产生了加速度(即,速度的变化)的情况下,对各关节施加负载转矩。如果采用这样的方式,能够更准确地计算各关节产生的转矩的值。
(2)在上述实施方式中,机器人20是六轴的垂直多关节型机器人。
但是,由控制装置控制的机器人也可以是SCARA机器人、直角坐标机器人等其他机器人。另外,臂A可以是具有五个以下的轴的结构,也可以是具有七个以上的轴的结构。
(3)在上述实施方式中,用户经由输入装置57向示教装置50输入位置信息(参照图3的S140)。但是,对象动作的目标位置St也可以通过用户用手移动臂A来对机器人系统1进行示教,也可以通过经由机器人控制装置指定坐标来进行示教。另外,表示对象动作的位置的位置信息可以由正交坐标系来指定,也可以由各关节的角度位置来指定。
应该开始对象动作的位置以及末端执行器E的姿势也可以通过用户用手移动臂A来对机器人系统1进行示教,也可以经由机器人控制装置指定坐标来进行示教。另外,应该开始对象动作的TCP的位置以及末端执行器E的姿势可以由正交坐标系来指定,也可以由各关节的角度位置来指定。
(4)在上述实施方式的步骤S140中,作为目标力的方向,以选择性地输入X轴方向、Y轴方向、Z轴方向、围绕X轴的旋转方向、围绕Y轴的旋转方向、围绕Z轴的旋转方向的六个方向中的任意一个方向的方式构成示教装置50(参照图4的W11)。但是,目标力的方向也能够采用通过X轴方向的力分量、Y轴方向的力分量、Z轴方向的力分量、角度位置RX的方向的转矩分量、角度位置RY的方向的转矩分量、角度位置RZ的方向的转矩分量的组合来确定的方式。
(5)在上述实施方式中,作为力检测部21,在臂A的末端安装有能够同时检测平移三轴方向的力分量和围绕旋转三轴的力矩分量的六个分量的六轴力觉传感器(参照图1)。但是,力检测部例如也能够采用检测相互正交的三个检测轴上的力的大小的三轴传感器。在这样的方式中,能够由输入窗N1接收的目标力fst的方向(参照图6以及图9的S520),例如成为机器人坐标系RC中的X轴方向、Y轴方向、Z轴方向的三个方向中的任意一个方向。
另外,力检测部也可以设置在支承台B与连杆L1之间等臂A的末端以外的机器人的其他部位。此外,也能够根据配置于机器人的各关节的电机的转矩,计算TCP中的三轴方向的力或围绕三轴的转矩,从而实现力检测部的功能。
(6)在上述实施方式中,在关节的负载转矩超过容许转矩的情况下,错误显示消息EM,促使接受或重新输入关节的负载转矩不超过容许转矩的目标力的大小(参照图5)。但是,也能够采用以下方式:机器人控制装置强制性地将输入的目标力的大小变更为关节的负载转矩不超过容许转矩的目标力的大小,然后对用户发出表示促使重新输入设定值的消息、或者表示设定值已变更的消息。另外,也能够不进行图像显示(参照图5的EM),而进行声音的输出。另外,也能够采用以下方式:经由对复选框的勾选等,使用户选择是否进行机器人控制装置的输入值的变更。
(7)存储各种信息的存储部可以是存在于同一框体内的存储机构,也可以是分别设置在以能够相互通信的方式连接的多个构成要素的内部的存储机构。
(8)示教装置50还能够采用以下方式:接收表示继续力控制的时间的时间信息,在执行力控制的期间,判定各关节的电机的温度是否超过阈值。另外,在力控制伴随位置的变更的情况下,也能够采用以下方式:基于在位置控制中指定的动作时间,判定各关节的电机的温度是否超过阈值。
(9)在上述实施方式中,位置信息表示作为应该开始对象动作的控制点的TCP的位置以及末端执行器E的姿势。但是,位置信息还能够包含应该结束对象动作的控制点的信息。如果采用这样的方式,能够更准确地计算在包含力控制的对象动作中施加于各关节的负载转矩的最大值(参照图3的S160、图9的S560)。另外,对于全部的关节J1~J6,能够更准确地判定负载转矩的最大值是否在容许转矩的范围内,并且不存在奇异点的可执行候选点。
(10)在上述实施方式中,在图9的步骤S580中,显示表示对于各轴方向能够采取的范围的用户界面UI58b(参照图13)。但是,在判定为存在可执行候选点的情况下(S565:是),也能够对于所选择的可执行候选点进行以下的显示。即,也能够与用户界面UI58b的滑块显示S11~S16同样地显示各关节能够采取的角度范围和在该力控制中各关节所采取的角度范围。通过进行这样的处理,用户能够获知对于各候选点的位置以及姿势,相对于能够采取的角度范围在力控制中所采取的角度范围具有何种程度的余量。
(11)“关节的容许转矩”也能够采用将关节的电机的容许转矩和减速器的输出侧的容许转矩中较小的一方的转矩乘以1以下的系数(例如0.8、0.9等)而得到的转矩。
(12)在上述实施方式中,在图7的步骤S365中,示教装置50判定在由位置信息和范围信息确定的动作范围所包含的多个代表点中是否存在奇异点。但是,示教装置50也能够代替图7的步骤S365的处理,而采用以下方式:判定在由位置信息和范围信息确定的动作范围所包含的多个代表点中是否存在奇异点,或者在多个代表点中是否存在奇异点附近的代表点。在该方式中,在代表点中没有这样的奇异点的情况下,处理进入图7的步骤S380。
另一方面,在多个代表点中存在奇异点,或者在多个代表点中存在奇异点附近的代表点的情况下,进入步骤S370。在步骤S370中,示教装置50进行与图8的输出同样的输出,将代表点Rs与错误消息一起显示在作为输出装置58的显示器58中。在步骤S370的处理中,是奇异点的代表点Rs显示为红色的点。位于奇异点的附近的代表点Rs显示为黄色的点。并非它们中的任意一个的代表点Rs显示为绿色的点。
在多个代表点中是否存在奇异点附近的代表点的判定能够按以下方式进行。例如,也能够采用以下方式:对于机器人20预先确定奇异点附近的TCP的位置和末端执行器E的姿势的组合的范围,并判定在多个代表点中是否存在包含于这样的范围的点。另外,也能够基于多个代表点中的一个以上的代表点,使TCP的位置和末端执行器E的姿势在预先规定的范围内变化,在这样变化而得到的TCP的位置和末端执行器E的姿势的组合中,根据是否存在奇异点,进行上述的判断。
例如,在使TCP的位置从一个代表点向各方向仅变化代表点的间隔的1/2以下的规定量而得到的TCP的位置中存在奇异点的情况下,能够判断为该代表点是奇异点附近的代表点。另外,在将连结相邻的两个代表点的线段等分的多个位置中存在奇异点的情况下,能够判断为这些相邻的两个代表点是奇异点附近的代表点。
通过采用这样的方式,在使机器人的姿势从不是奇异点的某个代表点变化为不是奇异点的另一个代表点的情况下,能够降低机器人变得无法控制的可能性。
D2.其他方式2:
在上述实施方式中,在计算各关节的负载转矩(参照图3的S160以及图9的S560)之前,输入末端执行器信息Ie和工件信息Iw(参照图3的S120以及图9的S520)。但是,也能够采用不输入末端执行器信息Ie和工件信息Iw的一方或双方的方式。在这样的方式中,也能够计算由位置信息以及力信息(参照图3的S140以及图9的S540)规定的力控制中的各关节产生的转矩的大致的值。
D3.其他方式3:
(1)在上述实施方式中,工件信息包含以下信息。(i)工件W的重量的信息。(ii)在对象动作中工件W被末端执行器E把持时的工件W的重心位置与末端执行器E的重心位置的相对位置关系的信息。(iii)在对象动作中工件W被末端执行器E把持时的末端执行器E和工件W的接触点的位置与末端执行器E的重心位置的相对位置关系的信息。
但是,输入到机器人控制装置的工件信息也能够采用不包含上述(iii)的信息的方式。在这样的方式中,基于(i)工件W的重量的信息、(ii)工件W的重心位置与末端执行器E的重心位置的相对位置关系的信息(参照图3的S120以及图9的S520)、以及位置信息以及力信息(参照图3的S140以及图9的S540),能够计算由位置信息以及力信息规定的力控制中的各关节产生的转矩的大致的值。
(2)在工件信息中,以下的信息能够在机器人坐标系中输入,也能够在末端坐标系中输入。(ii)在对象动作中工件W被末端执行器E把持时的工件W的重心位置与末端执行器E的重心位置的相对位置关系的信息。(iii)在对象动作中工件W被末端执行器E把持时的末端执行器E和工件W的接触点的位置与末端执行器E的重心位置的相对位置关系的信息。“末端坐标系”是指相对于末端执行器相对固定的三维正交坐标系。
D4.其他方式4:
在上述实施方式中,在计算各关节的负载转矩(参照图3的S160以及图9的S560)之前,输入表示在对象动作中能够变动的TCP的位置以及末端执行器E的姿势的范围的范围信息(参照图3的S120以及图9的S520)。但是,也能够采用不输入力控制中的位置的范围和姿势的范围的一方或双方的信息的方式。在这样的方式中,虽然不是通过对象动作整体,但是能够计算由位置信息以及力信息(参照图3的S140以及图9的S540)规定的力控制中的各关节产生的转矩的值。
D5.其他方式5:
在上述实施方式中,在图3的步骤S170中显示的错误显示ED错误显示显示ED,其包含表示无法实现力控制的信息的错误消息EM和在力控制中能够实现的目标力的大小fp1。但是,在错误消息中,也能够采用不显示能够实现的目标力的大小的方式。
另外,在错误消息中,也能够采用不显示表示无法实现力控制的信息的错误消息的方式。在这样的方式中,在用户完成向图4的用户界面UI12的各输入窗输入后(参照图3的S120、S140),按下了按钮B01的情况下,能够进行以下的处理。例如,能够不错误显示显示ED(参照图5)而原样维持图4的用户界面UI12的表意,强调显示应该变更输入值的输入窗。此时,也能够输出声音,引起用户的注意。
D6.其他方式6:
(1)在上述实施方式中,在图9的步骤S565中,示教装置50判定在由候选点信息和范围信息确定的动作范围所包含的多个代表点中是否存在奇异点。但是,在决定能够实现力控制的候选位置时的处理(参照图9)中,对于各候选点,也能够采用不判定在多个代表点中是否存在奇异点的方式。
在这样的方式中,在步骤S565中,示教装置50对于各候选点,判定施加于各关节J1~J6的负载转矩的最大值是否在各关节J1~J6的容许转矩的范围内。然后,示教装置50对于全部的关节J1~J6,判定是否存在负载转矩的最大值在容许转矩的范围内的候选点(即,可执行候选点)。在不存在这样的可执行候选点的情况下,处理进入步骤S570。在存在这样的可执行候选点的情况下,处理进入步骤S580。
(2)在上述实施方式中,在图9的步骤S580中,可执行候选点显示为绿色的点,不是可执行候选点的候选点显示为红色的点(参照图11)。另外,包含执行候选点的集合的三维凸包显示为浅绿色。
但是,也能够采用不显示包含执行候选点的集合的三维凸包的方式。另外,也能够采用不显示不是可执行候选点的候选点的方式。但是,优选为,可执行候选点被输出到机器人控制装置具有的输出装置。
(3)在第一实施方式中,在图9的步骤S580中,显示包含滑块显示S11的用户界面UI58b(参照图13)。但是,决定能够实现力控制的候选位置时的输出也能够采用其他方式。
图16是表示代替图9的步骤S580中的用户界面UI58b(参照图13)的用户界面UI58c的图。在图9的步骤S580中,当经由作为输入装置57的鼠标点击了图11中的可执行候选点R0-0-0~R4-4-4中的一个时,示教装置50将图16的用户界面UI58c显示在作为输出装置58的显示器上。用户界面UI58c包含输出窗W50、W61~W63、W71~W73、图像显示DW4、按钮B27、B28。
图像显示DW4示出了表示采用被点击的可执行候选点的姿势时的机器人20的状态的立体图。输出窗W50表示用于识别所选择的可执行候选点的信息。在此,为了方便,进行了“候选点1”这样的显示。
输出窗W61~W63分别表示所选择的可执行候选点的机器人坐标系RC中的X轴方向的位置、Y轴方向的位置、Z轴方向的位置。输出窗W71~W73分别表示所选择的可执行候选点的机器人坐标系RC中的U轴方向的角度位置、V轴方向的角度位置、W轴方向的角度位置。在图16的示例中,示出了选择了可执行候选点R4-4-4的情况的示例。但是,图16是用于说明技术内容的图,在图16中,DW4所示的机器人20的姿势与输出窗W61~W63、W71~W73所示的数值不一定匹配。
按钮B28是用于返回到经由用户界面UI58a选择可执行候选点的处理的按钮。当按下按钮B28时,处理返回到经由用户界面UI58a选择可执行候选点的处理。
按钮B27是用于确定可执行候选点的按钮。当按下按钮B27时,示教装置50将在步骤S520、S540中输入的信息、以及所选择的可执行候选点的候选点信息,与用于识别对象动作的信息建立对应地存储在RAM50b中。此外,示教装置50将在步骤S120、S140中输入的信息、以及所选择的可执行候选点的候选点信息,与用于识别对象动作的信息一起输出到动作控制装置30。动作控制装置30将两者建立对应地存储在RAM30b中。动作控制装置30能够基于所保存的这些信息,之后控制机器人20。
作为这样的方式,在使机器人20进行力控制时,用户能够经由用户界面UI58a(参照图11),预先获知能够执行由目标力的大小和朝向规定的力控制的地点。另外,能够经由用户界面UI58c,将可执行候选点之一作为使机器人20执行的力控制的设定值保存在动作控制装置30中。
(4)在上述实施方式中,在图9的步骤S540中,作为位置信息的一部分,输入表示姿势的信息,输出能够执行力控制的可执行候选点(参照图11)。但是,也能够采用以下方式:在步骤S540中,作为位置信息的一部分,输入X轴方向的位置DX、Y轴方向的位置DY、Z轴方向的位置DZ,在步骤S580中,输出在该位置由力信息指定的力控制能够执行的姿势的范围。输出方式能够设为与用户界面UI58b的滑块显示S14~S16相同。如果采用这样的方式,用户在进行力控制时,能够预先获知在特定的位置能够采取的姿势的范围。
D7.其他方式7:
(1)在上述实施方式中,应该搜索能够实现力控制的位置的空间被指定为长方体(参照图10)。但是,应该搜索能够实现力控制的位置的空间也能够被指定为以某个点为中心、具有某个值的半径的球体的空间。另外,作为应该搜索能够实现力控制的位置的空间,也能够被指定为圆柱或多棱柱等形状。此外,作为组合了这些三维形状的空间,也能够被指定为应该搜索能够实现力控制的位置的空间。即,接收部只要构成为接收能够确定包含多个候选点的空间的参数即可。
(2)在上述实施方式中,在图9的步骤S560中,将由空间信息确定的长方体的空间Sr的各边4等分的点,与通过这些点的与XY平面平行的面、与YZ平面平行的面以及与ZX平面平行的面的交点被决定为候选点。但是,候选点也能够通过其他方法来决定。例如,在上述的处理中,也能够采用3等分、5等分、10等分等其他方法来代替4等分。另外,也能够将由用户指定的以一定的间隔分隔空间的格子的交点设为候选点。此外,也能够根据以某个基准点为中心的极坐标,决定多个候选点。
E.其他方式:
应用例1:
根据本发明的一个方式,提供一种对具有检测从外部施加的力的大小的力检测部的机器人的动作进行控制的机器人控制装置。该机器人控制装置具有:接收部,接收基于所述力检测部的输出进行的力控制中的目标力的大小、所述目标力的朝向、开始所述力控制的位置、开始所述力控制的姿势;存储部,存储包含与所述机器人具有的多个关节对应的多个容许转矩的值的固有信息;计算部,基于所述目标力的大小、所述目标力的朝向、开始所述力控制的位置、开始所述力控制的姿势、所述固有信息,在开始所述力控制的位置以及开始所述力控制的姿势中,以所述目标力的大小以及所述目标力的朝向执行了所述力控制的情况下,计算所述多个关节产生的多个转矩的值;输出控制部,在所述多个转矩的值分别为所述多个容许转矩的值以下的情况下,输出第一种信息,在所述多个转矩的值中至少一个超过对应的所述容许转矩的值的情况下,输出第二种信息。
在这样的方式中,在使机器人进行力控制时,根据输出第一种信息还是输出第二种信息,用户能够获知是否能够使机器人执行由输入到机器人控制装置的目标力的大小以及朝向、力控制的开始位置、开始力控制时的姿势规定的力控制。
应用例2:
是上述方式的机器人控制装置;能够采用以下方式:所述接收部接收与安装于所述机器人的末端执行器或所述机器人所处理的对象物相关的选择信息;所述计算部基于所述选择信息,计算所述多个转矩的值。
在这样的方式中,利用与末端执行器和对象物的结构相关的选择信息,能够更准确地计算各个关节产生的转矩的值。因此,用户能够更准确地获知是否能够使机器人执行由输入到机器人控制装置的目标力的大小以及朝向、力控制的开始位置、开始力控制时的姿势规定的力控制。
应用例3:
是上述方式的机器人控制装置;能够采用以下方式:所述选择信息包含在所述力控制中把持了所述对象物的情况下的所述末端执行器与所述对象物的相对位置的信息。
在这样的方式中,在力控制中,利用把持了对象物的情况下的末端执行器与对象物的相对位置的信息,能够更准确地计算各个关节产生的转矩的值。因此,用户能够更准确地获知是否能够使机器人执行由输入到机器人控制装置的目标力的大小以及朝向、开始位置、开始时的姿势规定的力控制。
应用例4:
是上述方式的机器人控制装置;能够采用以下方式:所述计算部基于所述接收部接收的所述力控制中的位置的范围或所述力控制中的姿势的范围,计算所述多个转矩的值。
在这样的方式中,利用力控制中的位置或姿势的范围,能够通过力控制的动作整体来计算各个关节产生的转矩的值。因此,用户能够更准确地获知是否能够使机器人执行由输入到机器人控制装置的目标力的大小以及朝向、开始位置、开始时的姿势规定的力控制。
应用例5:
是上述方式的机器人控制装置;能够采用以下方式,所述第二种信息包含:表示由所述目标力的大小或所述目标力的朝向、开始所述力控制的位置或开始所述力控制的姿势规定的力控制无法实现的信息;或者表示在由所述目标力的朝向、开始所述力控制的位置或开始所述力控制的姿势规定的力控制中,能够实现的所述目标力的大小的信息。
在这样的方式中,在输出了表示无法实现力控制的信息的情况下,用户能够获知无法使机器人执行由输入到机器人控制装置的目标力的大小以及朝向、开始位置、开始时的姿势规定的力控制。
另外,在输出了能够实现的目标力的大小的情况下,用户能够获知在由输入到机器人控制装置的目标力的朝向、开始位置、开始时的姿势规定的力控制中,能够使机器人实现的力的大小。
应用例6:
根据本发明的一个方式,提供一种对具有检测从外部施加的力的大小的力检测部的机器人的动作进行控制的机器人控制装置。该机器人控制装置具有:接收部,接收基于所述力检测部的输出进行的力控制中的目标力的大小、所述目标力的朝向;存储部,存储包含与所述机器人具有的多个关节对应的多个容许转矩的值的固有信息;计算部,基于所述目标力的大小、所述目标力的朝向、所述固有信息,对于作为开始所述力控制的位置的候选的多个候选点,在从所述候选点以所述目标力的大小以及所述目标力的朝向开始了力控制的情况下,计算所述机器人具有的所述多个关节产生的多个转矩的值;输出控制部,在所述多个候选点中,输出所述多个转矩的值分别为所述多个容许转矩的值以下的候选点。
在这样的方式中,在使机器人进行力控制时,用户能够预先获知能够执行由目标力的大小和朝向规定的力控制的候选点。
应用例7:
是上述方式的机器人控制装置;能够采用以下方式:所述接收部接收与安装于所述机器人的末端执行器或所述机器人所处理的对象物的结构相关的选择信息;所述计算部基于所述选择信息,计算所述多个转矩的值。
在这样的方式中,利用与末端执行器和对象物的结构相关的选择信息,能够更准确地计算各个关节产生的转矩的值。因此,用户能够更准确地获知能够执行由目标力的大小和朝向规定的力控制的位置。
应用例8:
一种机器人控制装置,是上述方式的机器人控制装置;所述选择信息包含在所述力控制中把持了所述对象物的情况下的所述末端执行器与所述对象物的相对位置的信息。
在这样的方式中,在力控制中,利用把持了对象物的情况下的末端执行器与对象物的相对位置的信息,能够更准确地计算各个关节产生的转矩的值。因此,用户能够更准确地获知能够执行由目标力的大小和朝向规定的力控制的位置。
应用例9:
是上述方式的机器人控制装置;能够采用以下方式:所述计算部基于所述接收部接收的所述力控制中的位置的范围或所述力控制中的姿势的范围,计算所述多个转矩的值。
在这样的方式中,利用力控制中的位置或姿势的范围,能够通过力控制的动作整体来计算各个关节产生的转矩的值。因此,用户能够更准确地获知能够执行由目标力的大小和朝向规定的力控制的位置。
应用例10:
一种机器人控制装置,是上述方式的机器人控制装置;所述接收部接收包含有所述多个候选点的空间的指定;所述计算部在所述空间内决定所述多个候选点。
在这样的方式中,与不接收包含有多个候选点的空间的指定的方式相比,能够以更少的处理负载决定关节产生的转矩的值为容许转矩的值以下的位置。
应用例11:
一种机器人系统,具有:上述方式的机器人控制装置;通过所述机器人控制装置控制的所述机器人。
上述的本发明的各方式具有的多个构成要素并非全部是必须的,为了解决上述课题的一部分或全部,或者为了实现本说明书所述的效果的一部分或全部,能够适当地对所述多个构成要素的一部分构成要素进行其变更、删除、与新的其他构成要素的替换、删除限定内容的一部分。另外,为了解决上述课题的一部分或全部,或者为了实现本说明书所述的效果的一部分或全部,也能够将上述的本发明的一个方式所包含的技术特征的一部分或全部与上述的本发明的其他方式所包含的技术特征的一部分或全部进行组合,作为本发明的独立的一个方式。
Claims (11)
1.一种机器人控制装置,其特征在于,
所述机器人控制装置对机器人的动作进行控制,所述机器人具有检测从外部施加的力的大小的力检测部,所述机器人控制装置具有:
接收部,接收基于所述力检测部的输出进行的力控制中的目标力的大小、所述目标力的朝向、开始所述力控制的位置、开始所述力控制的姿势;
存储部,存储包含与所述机器人具有的多个关节对应的多个容许转矩的值的固有信息;
计算部,基于所述目标力的大小、所述目标力的朝向、开始所述力控制的位置、开始所述力控制的姿势、所述固有信息,在开始所述力控制的位置以及开始所述力控制的姿势中,以所述目标力的大小以及所述目标力的朝向执行了所述力控制的情况下,计算所述多个关节产生的多个转矩的值;以及
输出控制部,在所述多个转矩的值分别为所述多个容许转矩的值以下的情况下,输出第一种信息,在所述多个转矩的值中至少一个超过对应的所述容许转矩的值的情况下,输出第二种信息。
2.根据权利要求1所述的机器人控制装置,其特征在于,
所述接收部接收选择信息,所述选择信息与安装于所述机器人的末端执行器或所述机器人处理的对象物相关;
所述计算部基于所述选择信息,计算所述多个转矩的值。
3.根据权利要求2所述的机器人控制装置,其特征在于,
所述选择信息包含在所述力控制中把持了所述对象物的情况下的所述末端执行器与所述对象物的相对位置的信息。
4.根据权利要求1至3中任一项所述的机器人控制装置,其特征在于,
所述计算部基于所述接收部接收的所述力控制中的位置的范围或所述力控制中的姿势的范围,计算所述多个转矩的值。
5.根据权利要求1所述的机器人控制装置,其特征在于,
所述第二种信息包含:
表示通过所述目标力的大小或所述目标力的朝向、开始所述力控制的位置或开始所述力控制的姿势规定的力控制无法实现的信息;
或者表示在通过所述目标力的朝向、开始所述力控制的位置或开始所述力控制的姿势规定的力控制中,能够实现的所述目标力的大小的信息。
6.一种机器人控制装置,其特征在于,
所述机器人控制装置对机器人的动作进行控制,所述机器人具有检测从外部施加的力的大小的力检测部,所述机器人控制装置具有:
接收部,接收基于所述力检测部的输出进行的力控制中的目标力的大小、所述目标力的朝向;
存储部,存储包含与所述机器人具有的多个关节对应的多个容许转矩的值的固有信息;
计算部,基于所述目标力的大小、所述目标力的朝向、所述固有信息,对于作为开始所述力控制的位置的候选的多个候选点,在从所述候选点以所述目标力的大小以及所述目标力的朝向开始了力控制的情况下,计算所述机器人具有的所述多个关节产生的多个转矩的值;以及
输出控制部,在所述多个候选点中,输出所述多个转矩的值分别为所述多个容许转矩的值以下的候选点。
7.根据权利要求6所述的机器人控制装置,其特征在于,
所述接收部接收选择信息,所述选择信息与安装于所述机器人的末端执行器或所述机器人处理的对象物的结构相关;
所述计算部基于所述选择信息,计算所述多个转矩的值。
8.根据权利要求7所述的机器人控制装置,其特征在于,
所述选择信息包含在所述力控制中把持了所述对象物的情况下的所述末端执行器与所述对象物的相对位置的信息。
9.根据权利要求6至8中任一项所述的机器人控制装置,其特征在于,
所述计算部基于所述接收部接收的所述力控制中的位置的范围或所述力控制中的姿势的范围,计算所述多个转矩的值。
10.根据权利要求6所述的机器人控制装置,其特征在于,
所述接收部接收包含所述多个候选点的空间的指定,
所述计算部在所述空间中决定所述多个候选点。
11.一种机器人系统,其特征在于,具有:
权利要求1至10中任一项所述的机器人控制装置;以及
通过所述机器人控制装置控制的所述机器人。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018098507A JP7124440B2 (ja) | 2018-05-23 | 2018-05-23 | ロボット制御装置およびロボットシステム |
JP2018-098507 | 2018-05-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110524536A true CN110524536A (zh) | 2019-12-03 |
CN110524536B CN110524536B (zh) | 2022-11-08 |
Family
ID=68614956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910423162.9A Active CN110524536B (zh) | 2018-05-23 | 2019-05-21 | 机器人控制装置以及机器人系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10960553B2 (zh) |
JP (1) | JP7124440B2 (zh) |
CN (1) | CN110524536B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3387496A4 (en) * | 2015-12-11 | 2019-07-31 | ABB Schweiz AG | PROCESS OFFLINE PROGRAMMING OF A ROBOT AND DEVICE USING THE PROCESS |
JP6950612B2 (ja) * | 2018-03-30 | 2021-10-13 | オムロン株式会社 | センサ、情報処理装置、センサ制御方法、情報処理方法、プログラム、および記録媒体 |
JP7318295B2 (ja) * | 2019-04-24 | 2023-08-01 | セイコーエプソン株式会社 | 表示方法 |
TW202239550A (zh) * | 2021-03-31 | 2022-10-16 | 日商發那科股份有限公司 | 算出作用在機器人裝置或工件上之外力的容許值的計算裝置及機器人的控制裝置 |
JP2022157882A (ja) * | 2021-03-31 | 2022-10-14 | セイコーエプソン株式会社 | ロボットの制御方法、ロボットシステムおよびロボット制御プログラム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010120124A (ja) * | 2008-11-20 | 2010-06-03 | Toyota Motor Corp | ロボットアームの教示システム及び方法 |
DE102009034938A1 (de) * | 2009-07-28 | 2011-02-17 | Sensodrive Gmbh | Verfahren zur Kommandierung eines Bewegungssystems mit einer Messeinrichtung |
CN103203755A (zh) * | 2012-01-17 | 2013-07-17 | 精工爱普生株式会社 | 机器人控制装置、机器人系统以及机器人控制方法 |
CN103302667A (zh) * | 2012-03-15 | 2013-09-18 | 株式会社捷太格特 | 机器人控制方法、机器人控制装置和机器人控制系统 |
JP2017030059A (ja) * | 2015-07-29 | 2017-02-09 | セイコーエプソン株式会社 | ロボット制御装置、ロボットおよびロボットシステム |
CN106903692A (zh) * | 2017-03-31 | 2017-06-30 | 华南理工大学 | 一种基于机器人动力学模型的关节力矩限制方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3946753B2 (ja) | 2005-07-25 | 2007-07-18 | ファナック株式会社 | ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置 |
JP5311294B2 (ja) * | 2010-04-28 | 2013-10-09 | 株式会社安川電機 | ロボットの接触位置検出装置 |
JP5505138B2 (ja) * | 2010-07-05 | 2014-05-28 | 株式会社安川電機 | ロボット装置およびロボット装置による把持方法 |
JP5383760B2 (ja) * | 2011-09-09 | 2014-01-08 | ファナック株式会社 | ワーク質量測定機能を備えたロボット |
JP5966372B2 (ja) * | 2012-01-17 | 2016-08-10 | セイコーエプソン株式会社 | ロボット制御装置、ロボットシステム、ロボット制御方法及びロボット |
WO2013175777A1 (ja) * | 2012-05-23 | 2013-11-28 | パナソニック株式会社 | ロボット、ロボットの制御装置、制御方法、及び制御プログラム |
WO2013176212A1 (ja) * | 2012-05-25 | 2013-11-28 | 学校法人立命館 | ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム |
GB2518576B (en) * | 2012-08-02 | 2015-09-02 | Toshiba Machine Co Ltd | Robotic apparatus and control method therefor |
JP2014108466A (ja) * | 2012-11-30 | 2014-06-12 | Fanuc Ltd | 力センサ付き電動ハンド |
JP6586079B2 (ja) * | 2014-03-28 | 2019-10-02 | ソニー株式会社 | アーム装置、及びプログラム |
CN105382839A (zh) * | 2014-08-25 | 2016-03-09 | 精工爱普生株式会社 | 机器人以及机器人系统 |
JP5927284B1 (ja) * | 2014-12-22 | 2016-06-01 | ファナック株式会社 | 人との接触力を検出してロボットを停止させるロボット制御装置 |
US10272568B2 (en) * | 2015-09-17 | 2019-04-30 | Canon Kabushiki Kaisha | Robot apparatus, robot controlling method, program, recording medium, and assembly manufacturing method |
JP2018051735A (ja) * | 2016-09-30 | 2018-04-05 | セイコーエプソン株式会社 | ロボット制御装置、ロボットおよびロボットシステム |
WO2018159336A1 (ja) * | 2017-02-28 | 2018-09-07 | ソニー株式会社 | 医療用支持アームシステムおよび制御装置 |
JP2018171668A (ja) * | 2017-03-31 | 2018-11-08 | セイコーエプソン株式会社 | 制御装置、ロボット、およびロボットシステム |
JP6939024B2 (ja) * | 2017-03-31 | 2021-09-22 | セイコーエプソン株式会社 | ロボット制御装置、ロボットおよびロボットシステム |
US10406685B1 (en) * | 2017-04-20 | 2019-09-10 | X Development Llc | Robot end effector control |
-
2018
- 2018-05-23 JP JP2018098507A patent/JP7124440B2/ja active Active
-
2019
- 2019-05-21 CN CN201910423162.9A patent/CN110524536B/zh active Active
- 2019-05-22 US US16/419,185 patent/US10960553B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010120124A (ja) * | 2008-11-20 | 2010-06-03 | Toyota Motor Corp | ロボットアームの教示システム及び方法 |
DE102009034938A1 (de) * | 2009-07-28 | 2011-02-17 | Sensodrive Gmbh | Verfahren zur Kommandierung eines Bewegungssystems mit einer Messeinrichtung |
CN103203755A (zh) * | 2012-01-17 | 2013-07-17 | 精工爱普生株式会社 | 机器人控制装置、机器人系统以及机器人控制方法 |
CN103302667A (zh) * | 2012-03-15 | 2013-09-18 | 株式会社捷太格特 | 机器人控制方法、机器人控制装置和机器人控制系统 |
JP2017030059A (ja) * | 2015-07-29 | 2017-02-09 | セイコーエプソン株式会社 | ロボット制御装置、ロボットおよびロボットシステム |
CN106903692A (zh) * | 2017-03-31 | 2017-06-30 | 华南理工大学 | 一种基于机器人动力学模型的关节力矩限制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190358824A1 (en) | 2019-11-28 |
JP7124440B2 (ja) | 2022-08-24 |
JP2019202381A (ja) | 2019-11-28 |
CN110524536B (zh) | 2022-11-08 |
US10960553B2 (en) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110524536A (zh) | 机器人控制装置以及机器人系统 | |
JP6951659B2 (ja) | タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法 | |
CN106239516B (zh) | 机器人控制装置、机器人以及机器人系统 | |
Wojtara et al. | Human–robot collaboration in precise positioning of a three-dimensional object | |
US11161249B2 (en) | Robot control apparatus and robot system | |
Neto et al. | High‐level robot programming based on CAD: dealing with unpredictable environments | |
CN111015649B (zh) | 一种驱控一体化控制系统 | |
Naceri et al. | Towards a virtual reality interface for remote robotic teleoperation | |
CN109397265A (zh) | 一种基于动力学模型的关节型工业机器人拖拽示教方法 | |
Li et al. | Neural learning and kalman filtering enhanced teaching by demonstration for a baxter robot | |
Stoyanov et al. | Assisted telemanipulation: A stack-of-tasks approach to remote manipulator control | |
Bratchikov et al. | Development of digital twin for robotic arm | |
Lopez Infante et al. | Usability of force-based controllers in physical human-robot interaction | |
Nandikolla et al. | Teleoperation Robot Control of a Hybrid EEG‐Based BCI Arm Manipulator Using ROS | |
Pajor et al. | Kinect sensor implementation in FANUC robot manipulation | |
Gienger et al. | Exploiting task intervals for whole body robot control | |
Ma et al. | Unknown constrained mechanisms operation based on dynamic hybrid compliance control | |
Gunawardane et al. | Control of robot arm based on hand gesture using leap motion sensor technology | |
Gravdahl | Force estimation in robotic manipulators: Modeling, simulation and experiments | |
CN116802020A (zh) | 用于监督式自主抓取的用户界面 | |
Reis et al. | Visual servoing for object manipulation with a multifingered robot hand | |
CN208100390U (zh) | 格斗机器人及格斗机器人装置 | |
Yan et al. | Design of a coordinated control strategy for multi-mobile-manipulator cooperative teleoperation system | |
Ribeiro et al. | RAMBO—Robotic Anthropomorphic Manipulator for Bimanual Operations | |
Alquisiris-Quecha et al. | Teleoperation and control of a humanoid robot NAO through body gestures |
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 |