CN111055265B - 机器人系统以及机器人控制方法 - Google Patents
机器人系统以及机器人控制方法 Download PDFInfo
- Publication number
- CN111055265B CN111055265B CN201910977738.6A CN201910977738A CN111055265B CN 111055265 B CN111055265 B CN 111055265B CN 201910977738 A CN201910977738 A CN 201910977738A CN 111055265 B CN111055265 B CN 111055265B
- Authority
- CN
- China
- Prior art keywords
- teaching
- data
- robot
- force
- unit
- 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
Links
Images
Classifications
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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
- B25J9/00—Programme-controlled manipulators
- B25J9/0081—Programme-controlled manipulators with master teach-in means
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36458—Teach only some points, for playback interpolation between points
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36489—Position and force
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40387—Modify without repeating teaching operation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40435—Extract minimum number of via points from a trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
机器人系统以及机器人控制方法,该机器人系统(1)具有:示教位置获取部(411),其根据作业人员的实际演示数据,获取包含按照时间序列排列的多个示教位置在内的示教位置数据;位置剔除部(414),其生成从示教位置数据中剔除至少一个示教位置后的剔除后位置数据;位置指令生成部(415),其根据剔除后位置数据来生成位置指令;以及控制部(212),其根据位置指令,使作业用的机器人动作。
Description
技术领域
本公开涉及机器人系统以及机器人控制方法。
背景技术
在日本特开平10-138182号公报中公开了一种示教装置,其具有虚拟工具以及检测虚拟工具在三维空间中的坐标位置及姿势的单元,该示教装置将配置在想要示教的位置的虚拟工具在三维空间中的坐标位置及姿势作为示教数据并进行存储。
发明内容
本公开提供一种机器人系统,其有效地进一步简化了对机器人的动作示教。
本公开的一个方面的机器人系统具有:示教位置获取部,其根据作业人员的实际演示数据,获取包含按照时间序列排列的多个示教位置的示教位置数据;位置剔除部,其生成从示教位置数据中剔除至少一个示教位置后的剔除后位置数据;位置指令生成部,其根据剔除后位置数据来生成位置指令;以及控制部,其根据位置指令,使作业用的机器人进行动作。
本公开的另一方面的机器人控制方法包含了如下动作:根据作业人员的实际演示数据,获取包含按照时间序列排列的多个示教位置的示教位置数据;生成从示教位置数据中剔除至少一个示教位置后的剔除后位置数据;根据剔除后位置数据,生成位置指令;以及根据位置指令,使作业用的机器人进行动作。
根据本公开,可以提供一种机器人系统,其有效地进一步简化了对机器人的动作示教。
附图说明
图1是例示机器人系统的结构的示意图。
图2是例示垂直多关节机器人的结构的示意图。
图3是例示实际演示装置的结构的示意图。
图4是例示示教用计算机及机器人控制器的功能性结构的框图。
图5是例示示教位置数据的曲线图。
图6是例示剔除处理的具体内容的曲线图。
图7是示出剔除处理的变形例的曲线图。
图8是例示滤波处理的具体内容的曲线图。
图9是例示示教用计算机及机器人控制器的硬件结构的框图。
图10是例示动作示教步骤的流程图。
图11是例示剔除处理步骤的流程图。
图12是例示示教位置数据的修正步骤的流程图。
具体实施方式
以下,参照附图对实施方式进行详细说明。在说明中,对相同要素或具有相同功能的要素标注相同的符号,并省略重复的说明。
【机器人系统】
本实施方式的机器人系统1是用于对工件W进行研磨作业的系统。另外,由机器人系统1执行的作业不限于研磨作业。机器人系统1只要按照预先示教的动作使机器人动作即可,可以使机器人执行任何作业。如图1所示,机器人系统1具有机器人装置2和动作示教装置3。
(机器人装置)
机器人装置2具有作业用的机器人100和机器人控制器200。机器人100通过将工件W按压在研磨机4上来进行工件W的研磨作业。机器人控制器200控制机器人100,使其按照预先示教的动作对工件W进行研磨作业。
如图2所例示的那样,机器人100是6轴的垂直多关节机器人,具有:前端部110;基部120;以及多关节臂130,其变更前端部110相对于基部120的位置及姿势。基部120在机器人100的作业区域中例如设置在地面上。另外,也存在基部120设置在台车等可动部的情况。多关节臂130连接基部120和前端部110,变更前端部110在第一坐标系C1(机器人坐标系)中的位置及姿势。机器人坐标系是作为机器人100的控制基准的坐标系,例如是固定在基部120的坐标系。
例如多关节臂130具有旋转部131、第一臂132、第二臂133、手腕部134、致动器151、152、153、154、155、156。旋转部131以能够绕铅垂的轴线Ax1旋转的方式设置在基部120的上部。即,多关节臂130具有能够使旋转部131绕轴线Ax1旋转的关节141。
第一臂132以能够绕与轴线Ax1交叉(例如垂直)的轴线Ax2摆动的方式与旋转部131连接。即,多关节臂130具有能够使第一臂132绕轴线Ax2摆动的关节142。另外,这里的交叉有时也包含像所谓的立体交叉那样处于彼此扭绞在一起的关系。以下也同样。
第二臂133以能够绕与轴线Ax1交叉的轴线Ax3摆动的方式与第一臂132的端部连接。即,多关节臂130具有能够使第二臂133绕轴线Ax3摆动的关节143。轴线Ax3也可以与轴线Ax2平行。
手腕部134具有旋转臂135和摆动臂136。旋转臂135沿着第二臂133的中心从第二臂133的端部延伸,能够绕沿着第二臂133的中心的轴线Ax4旋转。即,多关节臂130具有能够使旋转臂135绕轴线Ax4旋转的关节144。
摆动臂136以能够绕与轴线Ax4交叉(例如垂直)的轴线Ax5摆动的方式与旋转臂135的端部连接。即,多关节臂130具有能够使摆动臂136绕轴线Ax5摆动的关节145。
前端部110以能够绕沿着摆动臂136的中心的轴线Ax6旋转的方式与摆动臂136的端部连接。即,多关节臂130具有能够使前端部110绕轴线Ax6旋转的关节146。
致动器151、152、153、154、155、156例如以电动马达作为动力源,分别驱动多关节臂130的多个关节141、142、143、144、145、146。例如,致动器151使旋转部131绕轴线Ax1旋转,致动器152使第一臂132绕轴线Ax2摆动,致动器153使第二臂133绕轴线Ax3摆动,致动器154使旋转臂135绕轴线Ax4旋转,致动器155使摆动臂136绕轴线Ax5摆动,致动器156使前端部110绕轴线Ax6旋转。即,致动器151~156分别驱动关节141~146。
在前端部110设置有手160。手160是用于把持工件W等作业对象物的工具,设置在前端部110。手160具有主体161和多个指部162。多个指部162以包围(或夹着)作业对象物的配置区域的方式配置,分别与主体161连接。主体161安装在前端部110,例如以电动马达作为驱动源来驱动多个指部162。主体161在把持作业对象物时使多个指部162相互靠近,在释放作业对象物时使多个指部162相互远离。另外,作业对象物不限于工件W。手160的作业对象物也可以是用于对工件W进行作业的工具。
手160隔着力传感器170安装在前端部110。力传感器170检测作用在手160上的力。例如,力传感器170是检测沿相互垂直的三个轴线的力和绕该三个轴线的扭矩这6种力的6轴型的力传感器。
上述机器人100的结构只是一个例子。机器人100只要能通过多关节臂130变更前端部110相对于基部120的位置及姿势,则可以为任何结构。例如,机器人100也可以是在上述6轴的垂直多关节机器人上追加了冗余轴而成的7轴机器人。
(动作示教装置)
返回到图1,动作示教装置3具有实际演示装置30和示教用计算机400。实际演示装置30具有实际演示工具31和示教动作检测部32。实际演示工具31是用于对机器人100进行基于实际演示的动作示教的工具。例如,实际演示工具31安装在示教对象进行作业的作业对象物上,与该作业对象物一起移动而成为位置及姿势的计测目标。
示教动作检测部32检测实际演示工具31在与上述第一坐标系C1不同的第二坐标系C2中的位置及姿势。例如,示教动作检测部32具有:被动型的多关节臂33,其与实际演示工具31连接,根据实际演示工具31的位置及姿势进行动作;以及传感器34,其检测多关节臂33的姿势。另外,示教动作检测部32只要能检测实际演示工具31在第二坐标系C2中的位置及姿势,则可以为任何结构。例如,示教动作检测部32也可以根据图像信息等以非接触的方式检测实际演示工具31的位置及姿势。
示教用计算机400从实际演示装置30获取通过实际演示表示的动作的数据,并根据获取的数据生成机器人100的动作指令。以下,作为以接触式的方式检测实际演示工具31的位置及姿势的情况的一例,对上述的臂式的实际演示装置30的结构进行更详细地说明。
如图3所示,实际演示装置30具有数字化仪300和实际演示作业工具360。数字化仪300具有基部310、前端部320以及多关节臂330。基部310在机器人100的作业区域中例如设置在地面上。另外,基部310有时也设置在台车等可动部。
多关节臂330是上述多关节臂33的一例。多关节臂330连接基部310和前端部320,根据前端部320在上述第二坐标系C2(实际演示坐标系)中的位置及姿势进行动作。实际坐标系是作为实际演示工具31的位置及姿势的检测基准而预先设定的坐标系,例如是固定在基部310的坐标系。
例如多关节臂330具有旋转部331、第一臂332、第二臂333、手腕部334、角度传感器351、352、353、354、355、356。
旋转部331以能够绕铅垂的轴线Ax11旋转的方式设置在基部310的上部。即,多关节臂330具有能够使旋转部331绕轴线Ax11旋转的关节341。
第一臂332以能够绕与轴线Ax11交叉(例如垂直)的轴线Ax12摆动的方式与旋转部331连接。即,多关节臂330具有能够使第一臂332绕轴线Ax12摆动的关节342。
第二臂333以能够绕与轴线Ax11交叉的轴线Ax13摆动的方式与第一臂332的端部连接。即,多关节臂330具有能够使第二臂333绕轴线Ax13摆动的关节343。轴线Ax13也可以与轴线Ax12平行。
手腕部334具有旋转臂335和摆动臂336。旋转臂335沿着第二臂333的中心从第二臂333的端部延伸,能够绕沿着第二臂333的中心的轴线Ax14旋转。即,多关节臂330具有能够使旋转臂335绕轴线Ax14旋转的关节344。
摆动臂336以能够绕与轴线Ax14交叉(例如垂直)的轴线Ax15摆动的方式与旋转臂335的端部连接。即,多关节臂330具有能够使摆动臂336绕轴线Ax5摆动的关节345。
前端部320以能够绕沿着摆动臂336的中心的轴线Ax16旋转的方式与摆动臂336的端部连接。即,多关节臂330具有能够使前端部320绕轴线Ax16旋转的关节346。
角度传感器351、352、353、354、355、356是上述传感器34的一例。角度传感器351、352、353、354、355、356例如是旋转编码器或电位计等角度传感器,分别检测多关节臂330的多个关节341、342、343、344、345、346的动作角度。例如角度传感器351检测旋转部331绕轴线Ax11的旋转角度,角度传感器352检测第一臂332绕轴线Ax12的摆动角度,角度传感器353检测第二臂333绕轴线Ax13的摆动角度,角度传感器354检测旋转臂335绕轴线Ax14的旋转角度,角度传感器355检测摆动臂336绕轴线Ax15的摆动角度,角度传感器356检测前端部320绕轴线Ax16的旋转角度。
实际演示作业工具360是能够相对于前端部320装卸的工具。在本结构中,上述实际演示工具31包含前端部320和实际演示作业工具360。
实际演示作业工具360是用于把持工件W等作业对象物的工具。例如,实际演示作业工具360具有安装部361、手362以及力传感器363。安装部361能够相对于前端部320装卸。手362是把持上述作业对象物的部分。手362具有主体364和多个指部365。多个指部365以包围(或夹着)作业对象物的配置区域的方式配置,分别与主体364连接。主体364例如通过作业者的手动操作使多个指部365移动。主体364在把持作业对象物时使多个指部365相互靠近,在释放作业对象物时使多个指部365相互远离。另外,作业对象物不限于工件W。实际演示作业工具360的作业对象物也可以是用于对工件W进行作业的工具。
手362隔着力传感器363安装在安装部361。作为作用于实际演示工具31的力的一例,力传感器363检测作用于手362的力。例如,力传感器363是检测沿相互垂直的三个轴线的力和绕该三个轴线的扭矩这6种力的6轴型的力传感器。
(示教用计算机)
接着,详细地例示了示教用计算机400的结构。示教用计算机400根据作业者的实际演示数据生成机器人100的动作指令。作业者的实际演示数据是在作业者的实际演示作业中获取的数据,至少包含与实际演示作业中的实际演示工具31的位置及姿势相关的数据。动作指令至少包含位置指令。位置指令是使前端部110依次追随按时间序列排列的多个目标位置的指令,包含与多个目标位置分别对应的多个移动命令。目标位置包含前端部110的位置的目标值和前端部110的姿势的目标值。
例如示教用计算机400构成为执行如下动作:根据作业者的实际演示数据,获取包含按时间序列排列的多个示教位置的示教位置数据;生成从示教位置数据中剔除至少一个示教位置后的剔除后位置数据;以及根据剔除后位置数据生成位置指令。
作业者的实际演示数据还可以包含与在实际演示作业过程中作用在实际演示工具31上的力相关的数据,动作指令也可以包含力指令。力指令是使机器人100施加给作业对象物的力依次追随按时间序列排列的多个目标作业力的指令,包含与多个目标作业力分别对应的多个力施加命令。示教用计算机400也可以构成为还执行如下动作:根据作业者的实际演示数据,获取包含按时间序列排列的多个示教力的示教力数据;生成从示教力数据中剔除至少一个示教力后的剔除后力数据;以及根据剔除后力数据生成力指令。
例如,示教用计算机400作为功能上的结构(以下称为“功能模块”)而具有示教位置获取部411、示教力获取部412、示教数据保持部413、位置剔除部414、位置指令生成部415、力剔除部416、力指令生成部417、指令保持部418以及指令登记部419。
示教位置获取部411根据作业者的实际演示数据,获取包含按时间序列排列的多个示教位置的示教位置数据。示教位置只要是能够确定前端部110的目标位置的信息,则可以是任何信息。例如,示教位置可以是直接确定前端部110的目标位置的信息(即,前端部110的目标位置自身),也可以是间接确定前端部110的目标位置的信息。
例如,作为作业者的实际演示数据的一例,示教位置获取部411在使用实际演示工具31的实际演示作业过程中从角度传感器351、352、353、354、355、356分别获取多关节臂330的关节341、342、343、344、345、346的动作角度的信息。并且,示教位置获取部411通过基于多关节臂330的关节341、342、343、344、345、346的动作角度的正向运动学运算,计算出实际演示工具31在第二坐标系C2中的位置及姿势。根据实际演示工具31在第二坐标系C2中的位置及姿势,通过包含从第二坐标系C2向第一坐标系C1的坐标转换在内的运算,确定前端部110的目标位置。因此,实际演示工具31在第二坐标系C2中的位置及姿势相当于上述示教位置的一例。
示教位置获取部411通过在实际演示作业过程中周期性地反复进行关节341、342、343、344、345、346的动作角度的信息的获取和实际演示工具31在第二坐标系C2中的位置及姿势的计算,得到包含按时间序列排列的多个示教位置的示教位置数据。
示教力获取部412根据作业者的实际演示数据,获取包含按时间序列排列的多个示教力的示教力数据。示教力只要是能够确定前端部110的目标作业力(前端部110施加给作业对象物的力的目标值)的信息,则可以是任何信息。例如,示教力可以是直接确定前端部110的目标作业力的信息(即,前端部110的目标作业力自身),也可以是间接地确定前端部110的目标作业力的信息。例如,作为作业者的实际演示数据的一例,示教力获取部412在使用实际演示工具31的实际演示作业过程中从力传感器363获取作用于实际演示工具31的力的信息。根据作用于实际演示工具31的力,确定前端部110应施加给作业对象物的力(即上述目标作业力)。因此,作用于实际演示工具31的力相当于上述示教力的一例。示教力获取部412通过在实际演示作业过程中周期性地反复进行作用于实际演示工具31的力的信息的获取和前端部110的目标作业力的计算,得到包含按时间序列排列的多个示教力的示教力数据。
示教数据保持部413存储由示教位置获取部411获取的示教位置数据和由示教力获取部412获取的示教力数据。
位置剔除部414生成从示教数据保持部413所存储的示教位置数据中剔除了至少一个示教位置后的剔除后位置数据。例如,位置剔除部414从示教位置数据中剔除对机器人100的运动的影响较小的示教位置而生成剔除后位置数据。
作为基于对机器人100的运动的影响的剔除处理的一例,位置剔除部414也可以在示教位置存在的情况下的机器人100的动作与该示教位置不存在的情况下的机器人100的动作之差较大的情况下,以保留该示教位置的方式生成剔除后位置数据。
作为表示示教位置存在的情况下的机器人100的动作与该示教位置不存在的情况下的机器人100的动作之差的数值的一例,位置剔除部414也可以计算示教位置与将该示教位置的前后的示教位置彼此连结而成的基准线的偏离,根据该偏离的大小来决定是否剔除该示教位置。
例如,位置剔除部414在示教位置数据的至少一部分的时间区间中,反复进行如下动作直到满足规定的条件为止:在采用两端的示教位置之后,导出连结已经采用的示教位置彼此的基准线;以及根据与基准线的偏离的大小来决定可否采用其他示教位置,该位置剔除部414剔除未被采用的示教位置而生成剔除后位置数据。作为上述规定的条件(以下称为“重复完成条件”)的具体例,举出了已经采用的示教位置的数量达到上限值等。上限值例如是根据能够登记在机器人控制器200中的移动命令的数量等来设定的。另外,一个示教位置有时包含多个数值要素(例如每个坐标轴的位置及姿势角度)。在该情况下,位置剔除部414也可以对每个数值要素的上述偏离进行合计来计算出示教位置与基准线的偏离。
图5是例示出示教位置数据的曲线图。图6是例示出剔除处理的具体内容的曲线图。图5和图6的曲线图的横轴表示经过时间,纵轴表示示教位置的值。图5和图6所例示的示教位置数据包含26个示教位置P01~P26。在图6中,白圈表示未采用的示教位置,黑圈表示已经采用的示教位置。
首先,位置剔除部414在示教位置数据的至少一部分的时间区间(例如全部时间区间)中采用两端的示教位置P01、P26(参照图6的(a))。接下来,位置剔除部414导出连结示教位置P01、P26的基准线BL01,采用与基准线BL01的偏离最大的示教位置P06(参照图6的(b))。接着,位置剔除部414导出连结已经采用的示教位置P01、P06、P26彼此的基准线BL02,采用与基准线BL02的偏离最大的示教位置P15(参照图6的(c))。接下来,位置剔除部414导出连结已经采用的示教位置P01、P06、P15、P26彼此的基准线BL03,采用与基准线BL03的偏离最大的示教位置P20(参照图6的(d))。位置剔除部414反复进行上述动作直到已经采用的示教位置的数量达到上限值(例如10个)为止。由此,采用了10个示教位置P01、P04、P06、P07、P15、P17、P20、P22、P24、P26(参照图6的(e))。然后,位置剔除部414剔除未被采用的示教位置P02、P03、P05、P08、P09、P10、P11、P12、P13、P14、P16、P18、P19、P21、P23、P25(参照图6的(f))。至此,示教位置数据的剔除处理完成。
在以上的步骤中,在采用数量达到上限值为止未被采用的示教位置与采用的示教位置相比,相对于基准线的偏离相对较小。相对于基准线的偏离的大小与对机器人的运动的影响的大小相关。即,根据以上的步骤,对机器人的运动的影响比较小的示教位置被剔除。因此,连结所有的示教位置P01~P26的移动轨迹PT01与连结剔除后的示教位置P01、P04、P06、P07、P15、P17、P20、P22、P24、P26的移动轨迹PT02的偏离被抑制得较小。
上述重复完成条件不限于已经采用的示教位置的数量达到上限值。例如,位置剔除部414也可以将与基准线的偏离超过规定的阈值的示教位置消失来作为重复完成条件。在该情况下,已经采用的示教位置的数量有可能超过上限值。在已经采用的示教位置的数量超过上限值的情况下,能够通过修正偏离的阈值的值等方法来调节已经采用的示教位置的数量。
另外,基于示教位置相对于连结该示教位置的前后的示教位置彼此的基准线的偏离的大小的方法不限于图6所例示的方法。图7是示出基于示教位置相对于连结该示教位置的前后的示教位置彼此的基准线的偏离的大小的方法的变形例的曲线图。在图7的方法中,可否采用除了两端的示教位置P01、P26以外的各个示教位置P02~P25,是以前一个示教位置和后一个示教位置为基准来进行判定的。
首先,位置剔除部414根据相对于连结示教位置P01、P03的基准线BL11的偏离的大小来判定可否采用示教位置P02(参照图7的(a))。在与基准线BL11的偏离小于阈值的情况下,示教位置P02被剔除。接下来,位置剔除部414根据相对于连结示教位置P01、P04的基准线BL12的偏离的大小来判定可否采用示教位置P03(参照图7的(b))。在相对于基准线BL12的偏离小于阈值的情况下,示教位置P03被剔除。接下来,位置剔除部414根据相对于连结示教位置P01、P05的基准线BL13的偏离的大小来判定可否采用示教位置P04(参照图7的(c))。在相对于基准线BL13的偏离大于阈值的情况下,采用示教位置P04。接下来,位置剔除部414根据相对于连结示教位置P04、P06的基准线BL14的偏离的大小来判定可否采用示教位置P05(参照图7的(d))。在相对于基准线BL14的偏离小于阈值的情况下,示教位置P05被剔除。接下来,位置剔除部414根据相对于连结示教位置P04、P07的基准线BL15的偏离的大小来判定可否采用示教位置P06(参照图7的(e))。在相对于基准线BL15的偏离大于阈值的情况下,采用示教位置P06。位置剔除部414反复进行以上的处理,直到判定出可否采用示教位置P25为止。由此,采用10个示教位置P01、P04、P06、P07、P15、P17、P20、P22、P24、P26(参照图7的(f))。
在以上的步骤中,未被采用的示教位置与采用的示教位置相比,与基准线的偏离相对较小。即,通过以上的步骤,对机器人的运动的影响比较小的示教位置也被剔除。因此,连结所有的示教位置P01~P26的移动轨迹PT01相对于连结剔除后的示教位置P01、P04、P06、P07、P15、P17、P20、P22、P24、P26的移动轨迹PT02的偏离被抑制得较小。
返回到图4,位置指令生成部415根据剔除后位置数据而生成位置指令。例如位置指令生成部415对剔除后位置数据所包含的多个示教位置实施包含从第二坐标系C2向第一坐标系C1的坐标转换在内的运算,来计算多个目标位置,生成与多个目标位置分别对应的多个移动命令。
另外,也存在如下情况:在实际演示作业时作业对象物所配置的位置及姿势(以下称为“实际演示位置”)不同于在与实际演示作业对应的机器人100动作时作业对象物所配置的位置及姿势(以下称为“再现位置”)。即使在这样的情况下,只要第二坐标系C2中的实际位置的坐标数据与第一坐标系C1中的再现位置的坐标数据的关系是已知的,则也可以根据多个示教位置来计算多个目标位置。
力剔除部416生成从示教数据保持部413所存储的示教力数据中剔除了至少一个示教力后的剔除后位置数据。在力剔除部416的示教力的剔除处理中,能够应用与位置剔除部414的示教位置的剔除处理相同的方法。例如,力剔除部416从示教力数据中剔除对机器人100施加给作业对象物的力(以下称为“作业力”)的影响较小的示教力而生成剔除后力数据。
作为基于对作业力的影响的剔除处理的一例,也可以是,力剔除部416以在示教力存在的情况下的机器人100的作业力与该示教力不存在的情况下的机器人100的作业力之差较大的情况下保留该示教力的方式,生成剔除后力数据。作为表示示教力存在的情况下的机器人100的作业力与该示教力不存在的情况下的机器人100的作业力之差的数值的一例,力剔除部416也可以计算示教力相对于连结该示教力的前后的示教力彼此的基准线的偏离,根据该偏离的大小来决定是否剔除该示教力。
例如,力剔除部416在示教力数据的至少一部分的时间区间中反复进行如下动作直到满足规定的条件为止,来剔除未被采用的示教力而生成剔除后力数据,该动作为:在采用两端的示教力之后,导出连结已经采用的示教力彼此的基准线;以及根据相对于基准线的偏离的大小来决定可否采用其他示教力。作为上述规定的条件(以下称为“重复完成条件”)的具体例,举出了已经采用的示教力的数量达到上限值等。上限值例如是根据能够登记在机器人控制器200中的力施加命令的数量等来设定的。
另外,一个示教力有时包含多个数值要素(例如每个坐标轴的力分量)。在这种情况下,力剔除部416也可以对每个数值要素的上述偏离进行合计来计算示教力相对于基准线的偏离。
力指令生成部417根据剔除后力数据而生成力指令。例如,力指令生成部417根据剔除后力数据所包含的多个示教力来计算多个目标作业力,生成与多个目标位置分别对应的多个力施加命令。指令保持部418存储由位置指令生成部415生成的位置指令和由力指令生成部417生成的力指令。指令登记部419将指令保持部418所存储的位置指令和力指令登记在机器人控制器200中。
示教用计算机400还可以具有测定数据获取部421、位置修正部422以及反复管理部423。测定数据获取部421在机器人控制器200使机器人100进行动作时,获取机器人100施加给作业对象物的力的测定数据。例如,测定数据获取部421从机器人控制器200获取力传感器170的测定数据。
位置修正部422以使测定数据获取部421获取到的测定数据接近上述示教力数据的方式修正位置指令。例如,位置修正部422请求机器人控制器200根据位置指令和力指令使机器人100进行动作。与此相应,机器人控制器200使机器人100动作,测定数据获取部421从机器人控制器200获取这期间的测定数据。位置修正部422以使该测定数据接近上述示教力数据的方式修正位置指令。
例如,位置修正部422在以机器人100的动作开始时为基准的多个时刻下,计算该测定数据相对于示教力数据的偏差,以缩小各时刻的偏差的方式修正位置指令。例如,位置修正部422对该测定数据相对于示教力数据的偏差实施比例运算、比例/积分运算、或者比例/积分/微分运算等,计算位置指令的修正量。
另外,位置修正部422也可以代替测定数据相对于示教力数据的偏差,而根据测定数据相对于剔除后力数据的偏差来修正位置指令。如上所述,由于以抑制剔除前后的力推移的偏离的方式生成剔除后力数据,因此即使基于测定数据相对于剔除后力数据的偏差,结果也使测定数据接近示教力数据。
作为位置指令的修正的一例,也可以是,位置修正部422以使测定数据接近示教力数据的方式修正示教位置数据。在该情况下,以与示教位置数据的修正相对应地修正位置指令的方式,位置剔除部414从位置修正部422修正后的示教位置数据中剔除至少一个示教位置而更新剔除后位置数据。
位置指令生成部415根据位置剔除部414更新后的剔除后位置数据来更新位置指令。这里的更新包含用新数据替换旧数据的情况。另外,这里的替换包含用新数据覆盖旧数据的情况。
另外,位置修正部422也可以修正剔除后位置数据,来代替修正示教位置数据。在该情况下,有时需要修正示教位置不存在的时间中的位置。而且,若进行示教位置不存在的时间中的位置修正,则其结果为剔除后位置数据所包含的示教位置的数量有时增加。因此,在位置修正部422修正剔除后位置数据的情况下,位置剔除部414也可以从位置修正部422修正后的剔除后位置数据中剔除至少一个示教位置来更新剔除后位置数据。位置指令生成部415也可以根据位置剔除部414更新后的剔除后位置数据来更新位置指令。
反复管理部423反复进行基于机器人控制器200的控制部212(后述)的机器人100的动作、测定数据获取部421对测定数据的获取、位置修正部422对位置指令的修正,直到测定数据相对于示教力数据的偏离满足容许条件为止。作为容许条件的具体例,举出了上述多个时刻的测定数据相对于示教力数据的偏差的绝对值的总和为规定的容许值以下、上述多个时刻的测定数据相对于示教力数据的偏差的平方的总和为规定的允许值以下等。通过使反复管理部423反复进行机器人100的动作、测定数据的获取以及位置指令的修正,使测定数据收敛在满足容许条件的范围内。例如,在位置修正部422反复进行示教位置数据的修正的情况下,在示教数据保持部413所存储的示教位置数据中累积有位置修正部422的修正结果,测定数据收敛为满足容许条件的值。
示教用计算机400还可以具有滤波处理部424。滤波处理部424以缩小对作业对象物施加力之前的机器人100的位置变动(例如前端部110的位置变动)的方式修正示教位置数据。例如,滤波处理部424针对向作业对象物施加力之前的示教位置实施低通型的滤波来修正示教位置数据。作为低通型的滤波的具体例,举出了有限脉冲响应方式的滤波。
图8是例示滤波处理的具体内容的曲线图。图8的横轴表示经过时间。图8的(a)的纵轴表示示教位置的值。图8的(b)的纵轴表示示教力的值。图8的(a)的实线表示滤波处理前的示教位置数据,图8的(a)的虚线表示滤波处理后的示教位置数据。
在图8中,示教力在时刻t02以后上升,因此设想在时刻t02开始施加力。以在施加力后不应用滤波处理的方式,滤波处理部424以比时刻t02提前规定时间的时刻t01为基准,对时刻t01以前的示教位置数据实施滤波处理,对时刻t01以后的示教位置数据不实施滤波处理。由此,在时刻t01以前,缩小了因作业者的手抖动等引起的示教位置的变动。
(机器人控制器)
在机器人控制器200中,作为功能模块而具有指令保持部211、控制部212、测定数据获取部213以及测定数据保持部214。
指令保持部211存储由示教用计算机400的指令登记部419登记的位置指令和力指令。控制部212至少根据指令保持部211所存储的位置指令使机器人100进行动作。例如,控制部212以规定的控制周期反复进行如下动作:根据位置指令计算前端部110的目标位置;计算与前端部110的目标位置对应的关节141、142、143、144、145、146的目标角度;将用于使关节141、142、143、144、145、146的角度追随目标角度的驱动电力输出到致动器151、152、153、154、155、156。
测定数据获取部213在控制部212使机器人100进行动作时,从力传感器170获取机器人100施加给作业对象物的力的测定数据。例如,测定数据获取部213按照上述控制周期从力传感器170获取测定数据。
测定数据保持部214按时间序列存储在机器人100的动作过程中测定数据获取部213所获取的测定数据。上述测定数据获取部421例如从测定数据保持部214获取测定数据。
机器人控制器200还可以具有控制目标校正部215。控制目标校正部215以使机器人100施加到作业对象物的力接近力指令的方式在机器人100的动作过程中修正基于控制部212的机器人100的控制目标位置。
例如,控制目标校正部215以缩小力传感器170的测定数据相对于力指令的偏差的方式,按照每个控制周期计算出前端部110的位置及姿势的修正量(以下称为“目标位置修正量”),并将目标位置修正量与下一个控制周期的目标位置相加。例如,控制目标校正部215在力传感器170的测定数据大于力指令的情况下,在减弱力的方向上计算目标位置修正量,在力传感器170的测定数据小于力指令的情况下,在增强力的方向上计算目标位置修正量。更具体而言,控制目标校正部215对力传感器170的测定数据相对于力指令的偏差实施比例运算、比例/积分运算或者比例/积分/微分运算等来计算目标位置修正量。通过遵循控制目标校正部215,控制部212根据指令保持部211所存储的位置指令和力指令这两者使机器人100进行动作。
(示教用计算机和机器人控制器的硬件构成)
如图9所示,示教用计算机400具有主体481、显示设备482以及输入设备483。显示设备482和输入设备483作为示教用计算机400的用户接口而发挥功能。显示设备482例如包含液晶监视器等,用于对用户进行信息显示。输入设备483例如是脚踏开关或键盘等,获取用户的输入信息。显示设备482和输入设备483也可以像所谓触摸面板那样一体化。
主体481包含电路490。电路490包含至少一个处理器491、内存492、存储器493、输入输出端口494以及通信端口495。存储器493是计算机能够读取的非易失性的存储介质(例如闪存)。
存储器493存储用于使示教用计算机执行包含如下动作的动作示教方法的程序:获取包含示教动作检测部32在设置于实际演示工具31的工具标识部配置于第一坐标系C1中的多个位置的状态下检测出的位置及姿势的信息在内的基准信息;根据基准信息,导出表示第一坐标系C1与第二坐标系C2的关系的坐标关系信息;获取包含表示在使用实际演示工具31的实际演示作业过程中示教动作检测部32检测出的位置及姿势的推移的信息在内的实际演示动作信息;以及根据实际演示动作信息和坐标关系信息而生成前端部110的动作指令。例如,存储器493包含用于构成上述功能模块的存储区域和分配给示教数据保持部413及指令保持部418的存储区域。
内存492暂时存储从存储器493加载的程序以及处理器491的运算结果等。处理器491通过与内存492协作地执行上述程序,构成示教用计算机400的各功能模块。输入输出端口494根据来自处理器491的指令,获取来自角度传感器351、352、353、354、355、356、力传感器363以及输入设备483的信号,另外,向显示设备482输出信号。通信端口495根据来自处理器291的指令,与机器人控制器200之间进行网络通信。
机器人控制器200具有电路290。电路290包含至少一个处理器291、内存292、存储器293、输入输出端口294、驱动器295以及通信端口296。存储器293是计算机能够读取的非易失性的存储介质(例如闪存)。存储器293包含用于构成上述功能模块的存储区域以及分配给指令保持部211和测定数据保持部214的存储区域。
内存292暂时存储从存储器293加载的程序以及处理器291的运算结果等。处理器291通过与内存292协作地执行上述程序,构成机器人控制器200的各功能模块。输入输出端口294根据来自处理器291的指令,获取来自力传感器170的信号。驱动器295根据来自处理器291的指令,向致动器151、152、153、154、155、156输出驱动电力。通信端口296根据来自处理器291的指令,与示教用计算机400之间进行网络通信。
【动作示教步骤】
接着,作为动作示教方法的一例,例示了机器人系统1执行的动作示教步骤。该步骤包含如下动作:根据作业者的实际演示数据,获取示教位置数据;生成从示教位置数据中剔除了至少一个示教位置后的剔除后位置数据;根据剔除后位置数据而生成位置指令;以及根据位置指令使作业用的机器人进行动作。该步骤还包含如下动作:根据作业者的实际演示数据,获取示教力数据;生成从示教力数据中剔除至少一个示教力后的剔除后力数据;以及根据剔除后力数据而生成力指令,也可以根据位置指令和力指令使作业用的机器人进行动作。
如图10所示,示教用计算机400首先执行步骤S01、S02。在步骤S01中,示教位置获取部411根据作业者的实际演示数据,获取包含按时间序列排列的多个示教位置的示教位置数据。另外,在步骤S01中,示教力获取部412根据作业者的实际演示数据,获取包含按时间序列排列的多个示教力的示教力数据。在步骤S02中,滤波处理部424以缩小对作业对象物施加力之前的机器人100的位置变动(例如前端部110的位置变动)的方式修正示教位置数据。
接下来,示教用计算机400执行步骤S03。在步骤S03中,位置剔除部414生成从示教数据保持部413所存储的示教位置数据中剔除了至少一个示教位置后的剔除后位置数据,并保存在指令保持部418中。另外,在步骤S03中,力剔除部416生成从示教数据保持部413所存储的示教力数据中剔除了至少一个示教力后的剔除后位置数据,并保存在指令保持部418中。关于步骤S03的处理步骤,在后面详细地进行例示。
接下来,示教用计算机400执行步骤S04、S05。在步骤S04中,位置指令生成部415根据剔除后位置数据而生成位置指令并保存在指令保持部418中。另外,在步骤S04中,力指令生成部417根据剔除后力数据而生成力指令并保存在指令保持部418中。在步骤S05中,指令登记部419将指令保持部418所存储的位置指令和力指令登记在机器人控制器200中。
接下来,示教用计算机400执行步骤S06。在步骤S06中,位置修正部422向机器人控制器200的控制部212请求按照位置指令的动作控制。控制部212根据指令保持部211所存储的位置指令使致动器151~156进行动作。此时,控制目标校正部215也可以修正机器人100的控制目标位置。例如,也可以是,控制目标校正部215以缩小力传感器170的测定数据相对于指令保持部211所存储的力指令的偏差的方式,按照每个控制周期计算出目标位置修正量,并将目标位置修正量与下一个控制周期的目标位置相加。即,控制部212也可以根据位置指令和力指令这两者进行动作。
接下来,示教用计算机400执行步骤S07、S08、S09。在步骤S07中,测定数据获取部421从机器人控制器200获取力传感器170的测定数据。在步骤S08中,反复管理部423计算由测定数据获取部421获取的测定数据与示教力数据之间的偏离值。作为偏离值的例子,例如举出了多个时刻下的测定数据相对于示教力数据的偏差的绝对值的总和、以及该偏差的平方的总和。在步骤S09中,反复管理部423确认在步骤S08中计算出的偏离值是否为容许值以下。
在步骤S09中,在偏离值超过容许值的情况下,示教用计算机400执行步骤S11。在步骤S11中,位置修正部422修正示教位置数据。关于步骤S11的处理过程,在后面详细地进行例示。在步骤S11结束后,示教用计算机400使处理返回到步骤S03。之后,反复进行位置剔除部414对示教位置数据的剔除处理、基于控制部212的机器人100的动作、位置修正部422对示教位置数据的修正,直到偏离值成为容许值以下为止。
在步骤S09中,在偏离值为容许值以下的情况下,反复管理部423完成从步骤S03到步骤S11的重复处理。以上完成了动作示教步骤。
图11是例示了步骤S03中的剔除处理步骤的流程图。图11与位置剔除部414的剔除处理和力剔除部416的剔除处理是共同的。因此,在图11中,将相当于示教位置或示教力的要素记为“示教点”。
如图11所示,示教用计算机400首先执行步骤S21、S22、S23、S24。在步骤S21中,位置剔除部414或力剔除部416将至少一部分的时间区间的两端的示教点追加到采用候选列表中。在步骤S22中,位置剔除部414或力剔除部416导出连结追加到采用候选列表中的示教点彼此的基准线。在步骤S23中,位置剔除部414或力剔除部416将相对于基准线的偏离值最大的示教点追加到采用候选列表中。在步骤S24中,位置剔除部414或力剔除部416确认追加到采用候选列表中的示教点的数量是否达到上限值。
在步骤S24中,在追加到采用候选列表中的示教点的数量未达到上限值的情况下,示教用计算机400使处理返回到步骤S22。之后,反复进行导出基准线以及将相对于基准线的偏离最大的示教点追加到采用候选列表中的动作,直到追加到采用候选列表中的示教点的数量达到上限值为止。
在步骤S24中,在追加到采用候选列表中的示教点的数量达到上限值的情况下,示教用计算机400执行步骤S25。在步骤S25中,位置剔除部414或力剔除部416剔除在采用候选列表中没有的示教点。以上完成了剔除处理步骤。
图12是例示了步骤S11中的示教位置数据的修正步骤的流程图。如图12所示,示教用计算机400执行步骤S31、S32、S33、S34、S35。在步骤S31中,位置修正部422选择全部时间区间的最初的示教位置。在步骤S32中,位置修正部422针对与选择中的示教位置对应的时刻,计算测定数据相对于示教力数据的偏差。在步骤S33中,位置修正部422根据在步骤S32中计算出的力偏差来计算位置校正值。在步骤S34中,位置修正部422将在步骤S33中计算出的位置校正值与选择中的示教位置相加。在步骤S35中,确认选择中的示教位置是否是最终的示教位置。
在步骤S35中,在选择中的示教位置不是最终的示教位置的情况下,示教用计算机400执行步骤S36。在步骤S36中,位置修正部422选择下一个示教位置。之后,示教用计算机400使处理返回到步骤S32。之后,反复进行示教位置的选择和修正,直到最终的示教位置的修正完成为止。
在步骤S35中,在选择中的示教位置是最终的示教位置的情况下,示教用计算机400结束处理。以上完成了示教位置数据的修正步骤。
【本实施方式的效果】
如以上所说明的那样,机器人系统1具有:示教位置获取部411,其根据作业者的实际演示数据,获取包含按时间序列排列的多个示教位置的示教位置数据;位置剔除部414,其生成从示教位置数据中剔除了至少一个示教位置后的剔除后位置数据;位置指令生成部415,其根据剔除后位置数据而生成位置指令;以及控制部212,其根据位置指令使作业用的机器人100进行动作。
根据该机器人系统1,通过从基于实际演示数据的示教位置数据中剔除示教位置的处理,自动生成以有限的数据点数适当地再现实际演示数据的位置指令。因此,有效地进一步简化了对机器人100的动作示教。另外,通过减少位置指令的数据点数,位置指令的手动调整的作业性也提高。并且,通过减少位置指令的数据点数,来抑制机器人100的无用的运动,这也有助于动作的高速化、高效率化。
位置剔除部414也可以从示教位置数据中剔除对机器人100的运动的影响较小的示教位置而生成剔除后位置数据。在该情况下,由于对机器人100的运动的影响较小的示教位置被剔除,因此能够生成更适当地再现实际演示数据的位置指令。
机器人系统1还具有:示教力获取部412,其根据作业者的实际演示数据,获取包含按时间序列排列的多个示教力的示教力数据;力剔除部416,其生成从示教力数据中剔除了至少一个示教力后的剔除后力数据;力指令生成部417,其根据剔除后力数据而生成力指令,控制部212也可以根据位置指令和力指令使机器人100进行动作。在该情况下,在生成基于实际演示数据的力指令的基础上,通过剔除对力的经时变动的贡献小的力目标值的处理,进一步自动生成以有限的数据点数适当地再现实际演示数据的力指令。因此,有效地进一步简化了对机器人100的动作示教。
力剔除部416也可以从示教力数据中剔除对机器人100施加给工件W的力的影响小的示教力而生成剔除后力数据。在该情况下,由于对机器人100所产生的力的影响小的示教力被剔除,因此能够生成更适当地再现实际演示数据的力指令。
机器人系统1还可以具有:测定数据获取部421,其在控制部212使机器人100进行动作时获取机器人100施加给工件W的力的测定数据;以及位置修正部422,其以使测定数据接近示教力数据的方式修正位置指令。在该情况下,以兼顾对位置指令的追随和对力指令的追随的方式自动调节位置指令。因此,有效地进一步简化了对机器人100的动作示教。
位置修正部422以使测定数据接近示教力数据的方式修正示教位置数据,位置剔除部414从位置修正部422修正后的示教位置数据中剔除至少一个示教位置来更新剔除后位置数据,位置指令生成部415也可以根据位置剔除部414更新后的剔除后位置数据来更新位置指令。在该情况下,抑制了数据点数的增加并且适当地自动调节位置指令。并且,通过修正剔除前的示教位置数据,能够进行更细致的位置修正。因此,有效地进一步简化了对机器人100的动作示教。
机器人系统1还可以具有反复管理部423,该反复管理部423反复进行基于控制部212的机器人100的动作、测定数据获取部421对测定数据的获取、位置修正部对位置指令的修正,直到测定数据与示教力数据的偏离满足容许条件为止。在该情况下,通过重复处理,位置指令被更适当地自动调节。因此,有效地进一步简化了对机器人100的动作示教。
位置剔除部414在示教位置存在的情况下的机器人100的动作与该示教位置不存在的情况下的机器人100的动作之差较大的情况下,也可以以保留该示教位置的方式生成剔除后位置数据。
位置剔除部414也可以根据示教位置相对于连结该示教位置的前后的示教位置彼此的基准线的偏离的大小来决定是否剔除该示教位置。在该情况下,能够容易地剔除对机器人100的运动的影响较小的位置目标值。
位置剔除部414也可以在示教位置数据的至少一部分的时间区间中反复进行如下动作直到满足规定的条件为止,来剔除未被采用的示教位置而生成剔除后位置数据,该动作为:在采用两端的示教位置之后,导出连结已经采用的示教位置彼此的基准线;以及根据相对于基准线的偏离的大小来决定可否采用其他示教位置。在该情况下,能够更容易地剔除对机器人100的运动的影响较小的位置目标值。
机器人系统1还具有滤波处理部424,该滤波处理部424以缩小对工件W施加力之前的机器人100的位置变动的方式修正示教位置数据,位置剔除部414也可以从滤波处理部424修正后的示教位置数据中剔除至少一个示教位置而生成剔除后位置数据。在该情况下,由于容易剔除不影响作业结果的动作中的位置目标值,因此能够将有限的数据点数更有效地用于实际演示数据的再现。
机器人系统1还可以具有控制目标校正部215,该控制目标校正部215以使机器人100施加给工件W的力接近力指令的方式,在机器人100的动作过程中修正基于控制部212的机器人100的控制目标位置。在该情况下,能够以有限的数据点数更适当地再现实际演示中的力的转变。
以上,对实施方式进行了说明,但本发明不必限定于上述的方式,在不脱离其主旨的范围内可以进行各种变形。
关于上述的实施方式,附记以下内容。
(附记1)
一种机器人系统,其具有:
示教位置获取部,其根据作业人员的实际演示数据,获取包含按照时间序列排列的多个示教位置的示教位置数据;
位置剔除部,其生成从所述示教位置数据中剔除至少一个所述示教位置后的剔除后位置数据;
位置指令生成部,其根据所述剔除后位置数据,生成位置指令;以及
控制部,其根据所述位置指令,使作业用的机器人进行动作。
(附记2)
根据附记1所述的机器人系统,其中,
所述位置剔除部从所述示教位置数据中剔除对所述机器人的运动的影响较小的所述示教位置而生成所述剔除后位置数据。
(附记3)
根据附记1所述的机器人系统,其中,
该机器人系统还具有:
示教力获取部,其根据所述作业人员的实际演示数据,获取包含按照时间序列排列的多个示教力的示教力数据;
力剔除部,其生成从所述示教力数据中剔除至少一个所述示教力后的剔除后力数据;以及
力指令生成部,其根据所述剔除后力数据而生成力指令,
所述控制部根据所述位置指令和所述力指令,使所述机器人动作。
(附记4)
根据附记3所述的机器人系统,其中,
所述力剔除部从所述示教力数据中剔除对所述机器人施加给作业对象物的力的影响较小的所述示教力而生成所述剔除后力数据。
(附记5)
根据附记3或4所述的机器人系统,其中,
该机器人系统还具有:
测定数据获取部,其在所述控制部使所述机器人动作时,获取所述机器人施加给作业对象物的力的测定数据;以及
位置修正部,其以使所述测定数据接近所述示教力数据的方式修正所述位置指令。
(附记6)
根据附记5所述的机器人系统,其中,
所述位置修正部以使所述测定数据接近所述示教力数据的方式修正所述示教位置数据,
所述位置剔除部从由所述位置修正部修正后的所述示教位置数据中剔除至少一个所述示教位置而更新所述剔除后位置数据,
所述位置指令生成部根据由所述位置剔除部更新后的所述剔除后位置数据而更新所述位置指令。
(附记7)
根据附记5或6所述的机器人系统,其中,
所述机器人系统还具有反复管理部,该反复管理部反复进行所述控制部对所述机器人的动作、所述测定数据获取部对所述测定数据的获取以及所述位置修正部对所述位置指令的修正,直到所述测定数据与所述示教力数据的偏离满足允许条件为止。
(附记8)
根据附记2所述的机器人系统,其中,
所述位置剔除部在所述示教位置存在的情况下的所述机器人的动作与该示教位置不存在的情况下的所述机器人的动作的差较大的情况下,以保留该示教位置的方式生成所述剔除后位置数据。
(附记9)
根据附记8所述的机器人系统,其中,
所述位置剔除部根据所述示教位置与将该示教位置的前后的示教位置彼此连结的基准线的偏离的大小,来决定是否剔除该示教位置。
(附记10)
根据附记9所述的机器人系统,其中,
所述位置剔除部在所述示教位置数据的至少一部分的时间区间中,反复进行如下内容直到满足规定的条件为止,该动作为:在采用两端的示教位置之后,导出连结已经采用的示教位置彼此的基准线;以及根据与所述基准线的偏离的大小来决定可否采用其他示教位置,所述位置剔除部剔除未被采用的示教位置而生成所述剔除后位置数据。
(附记11)
根据附记1~10中的任意一项所述的机器人系统,其中,
所述机器人系统还具有滤波处理部,该滤波处理部以使缩小对作业对象物施加力之前的机器人的位置变动的方式,修正所述示教位置数据,
所述位置剔除部从由所述滤波处理部修正后的所述示教位置数据中剔除至少一个所述示教位置而生成所述剔除后位置数据。
(附记12)
根据附记3~7中的任意一项所述的机器人系统,其中,
所述机器人系统还具有控制目标校正部,该控制目标校正部以使所述机器人施加给作业对象物的力接近所述力指令的方式,在所述机器人的动作过程中修正基于所述控制部的所述机器人的控制目标位置。
(附记13)
一种机器人控制方法,其包含如下动作:
根据作业人员的实际演示数据,获取包含按照时间序列排列的多个示教位置的示教位置数据;
生成从所述示教位置数据中剔除至少一个所述示教位置后的剔除后位置数据;
根据所述剔除后位置数据,生成位置指令;以及
根据所述位置指令,使作业用的机器人动作。
Claims (15)
1.一种机器人系统,其具有:
示教位置获取部,其根据作业人员的实际演示数据,获取包含按照时间序列排列的多个示教位置的示教位置数据;
位置剔除部,其生成从所述示教位置数据中剔除至少一个所述示教位置后的剔除后位置数据;
位置指令生成部,其根据所述剔除后位置数据,生成包含按照时间序列排列的多个目标位置的位置指令;
示教力获取部,其根据所述作业人员的实际演示数据,获取包含按照时间序列排列的多个示教力的示教力数据;
控制部,其根据所述位置指令,使作业用的机器人动作;
测定数据获取部,其在基于所述位置指令的所述机器人的动作过程中,获取所述机器人施加给作业对象物的力的测定数据;以及
位置修正部,其在基于所述位置指令的所述机器人的动作完成后,以使所述测定数据与所述示教力数据之差缩小的方式修正剔除所述至少一个所述示教位置之前的所述示教位置数据,
所述位置剔除部从由所述位置修正部修正后的所述示教位置数据中剔除至少一个所述示教位置来更新所述剔除后位置数据,
所述位置指令生成部根据由所述位置剔除部更新后的所述剔除后位置数据,来更新所述位置指令。
2.根据权利要求1所述的机器人系统,其中,
所述示教位置包含对所述机器人的运动的影响彼此不同的两个示教位置,
所述位置剔除部从所述示教位置数据中剔除所述两个示教位置中的对所述机器人的运动的影响较小的一方的示教位置。
3.根据权利要求1所述的机器人系统,其中,
该机器人系统还具有:
力剔除部,其生成从所述示教力数据中剔除至少一个所述示教力后的剔除后力数据;以及
力指令生成部,其根据所述剔除后力数据,生成包含按照时间序列排列的多个目标作业力的力指令,
所述控制部根据所述位置指令和所述力指令,使所述机器人动作。
4.根据权利要求3所述的机器人系统,其中,
所述示教力包含对所述机器人的运动的影响彼此不同的两个示教位置,
所述力剔除部从所述示教力数据中剔除所述两个示教位置中的对所述机器人施加给作业对象物的力的影响较小的一方的示教力。
5.根据权利要求1至4中的任意一项所述的机器人系统,其中,
所述机器人系统还具有反复管理部,该反复管理部反复进行基于所述控制部的基于所述位置指令的所述机器人的动作、所述测定数据获取部对所述测定数据的获取以及所述位置修正部对所述位置指令的修正,直到所述测定数据与所述示教力数据的偏离满足允许条件为止。
6.根据权利要求2所述的机器人系统,其中,
所述示教位置对所述机器人的运动的影响包含从所述示教位置数据中剔除该示教位置后的情况下的所述机器人的动作的变化。
7.根据权利要求6所述的机器人系统,其中,
所述位置剔除部根据所述示教位置与将该示教位置的前后的示教位置彼此连结的基准线的偏离的大小,生成所述剔除后位置数据。
8.根据权利要求7所述的机器人系统,其中,
所述位置剔除部在所述示教位置数据的至少一部分的时间区间中反复进行如下动作直到满足规定的条件为止,该动作为:在采用两端的示教位置之后,导出将已经采用的示教位置彼此连结的基准线;以及根据所述一部分的时间区间内的另一个示教位置与所述基准线的偏离的大小而采用该另一个示教位置,
所述位置剔除部剔除未被采用的示教位置而生成所述剔除后位置数据。
9.根据权利要求1至4中的任意一项所述的机器人系统,其中,
所述机器人系统还具有滤波处理部,该滤波处理部以缩小对作业对象物施加力之前的机器人的位置变动的方式修正所述示教位置数据,
所述位置剔除部从由所述滤波处理部修正后的所述示教位置数据中剔除至少一个所述示教位置而生成所述剔除后位置数据。
10.根据权利要求3或4所述的机器人系统,其中,
所述控制部根据所述位置指令,使所述机器人依次移动到按照时间序列排列的多个控制目标位置,
所述机器人系统还具有控制目标校正部,该控制目标校正部以缩小所述机器人施加给作业对象物的力与所述力指令之差的方式,在基于所述控制部的所述机器人的动作过程中,修正多个控制目标位置中的至少任意一个。
11.一种机器人系统,其具有:
示教位置获取部,其根据作业人员的实际演示数据,获取包含按照时间序列排列的多个示教位置的示教位置数据;
位置剔除部,其生成从所述示教位置数据中剔除至少一个所述示教位置后的剔除后位置数据;
位置指令生成部,其根据所述剔除后位置数据,生成包含按照时间序列排列的多个目标位置的位置指令;
示教力获取部,其根据所述作业人员的实际演示数据,获取包含按照时间序列排列的多个示教力的示教力数据;
控制部,其根据所述位置指令,使作业用的机器人动作;
测定数据获取部,其在基于所述位置指令的所述机器人的动作过程中,获取所述机器人施加给作业对象物的力的测定数据;以及
位置修正部,其在基于所述位置指令的所述机器人的动作完成后,以使所述测定数据与所述示教力数据之差缩小的方式修正所述剔除后位置数据,
所述位置剔除部从由所述位置修正部修正后的所述剔除后位置数据中剔除至少一个所述示教位置来更新所述剔除后位置数据,
所述位置指令生成部根据由所述位置剔除部更新后的所述剔除后位置数据,来更新所述位置指令。
12.一种机器人系统,其具有:
示教位置获取部,其根据作业人员的实际演示数据,获取包含按照时间序列排列的多个示教位置的示教位置数据;
位置剔除部,其生成从所述示教位置数据中剔除至少一个所述示教位置后的剔除后位置数据;
位置指令生成部,其根据所述剔除后位置数据,生成位置指令;以及
控制部,其根据所述位置指令,使作业用的机器人动作;
所述位置剔除部在所述示教位置数据中的、包含对所述机器人的运动的影响彼此不同的两个示教位置的至少一部分的时间区间中反复进行如下动作直到满足规定的条件为止,该动作为:在采用两端的示教位置之后,导出将已经采用的示教位置彼此连结的基准线;以及根据所述一部分的时间区间内的另一个示教位置与所述基准线的偏离的大小而采用该另一个示教位置,所述位置剔除部通过剔除未被采用的示教位置,从而剔除所述两个示教位置中的对所述机器人的运动的影响较小的一方的示教位置,来生成所述剔除后位置数据。
13.一种机器人控制方法,其包含如下动作:
根据作业人员的实际演示数据,获取包含按照时间序列排列的多个示教位置的示教位置数据;
生成从所述示教位置数据中剔除至少一个所述示教位置后的剔除后位置数据;
根据所述剔除后位置数据,生成包含按照时间序列排列的多个目标位置的位置指令;
根据所述作业人员的实际演示数据,获取包含按照时间序列排列的多个示教力的示教力数据;
根据所述位置指令,使作业用的机器人动作;
在基于所述位置指令的所述机器人的动作过程中,获取所述机器人施加给作业对象物的力的测定数据;
在基于所述位置指令的所述机器人的动作完成后,以使所述测定数据与所述示教力数据之差缩小的方式修正剔除所述至少一个所述示教位置之前的所述示教位置数据;
从修正后的所述示教位置数据中剔除至少一个所述示教位置来更新所述剔除后位置数据;
根据更新后的所述剔除后位置数据,来更新所述位置指令;以及
根据更新后的位置指令,使所述机器人动作。
14.一种机器人控制方法,其包含如下动作:
根据作业人员的实际演示数据,获取包含按照时间序列排列的多个示教位置的示教位置数据;
生成从所述示教位置数据中剔除至少一个所述示教位置后的剔除后位置数据;
根据所述剔除后位置数据,生成包含按照时间序列排列的多个目标位置的位置指令;
根据所述作业人员的实际演示数据,获取包含按照时间序列排列的多个示教力的示教力数据;
根据所述位置指令,使作业用的机器人动作;
在基于所述位置指令的所述机器人的动作过程中,获取所述机器人施加给作业对象物的力的测定数据;
在基于所述位置指令的所述机器人的动作完成后,以使所述测定数据与所述示教力数据之差缩小的方式修正所述剔除后位置数据;
从修正后的所述剔除后位置数据中剔除至少一个所述示教位置来更新所述剔除后位置数据;
根据更新后的所述剔除后位置数据,来更新所述位置指令;以及
根据更新后的位置指令,使所述机器人动作。
15.一种机器人控制方法,其包含如下动作:
根据作业人员的实际演示数据,获取包含按照时间序列排列的多个示教位置的示教位置数据;
在所述示教位置数据中的、包含对所述机器人的运动的影响彼此不同的两个示教位置的至少一部分的时间区间中反复进行如下动作直到满足规定的条件为止,该动作为:在采用两端的示教位置之后,导出将已经采用的示教位置彼此连结的基准线;以及根据所述一部分的时间区间内的另一个示教位置与所述基准线的偏离的大小而采用该另一个示教位置,
通过剔除未被采用的示教位置,从而剔除所述两个示教位置中的对所述机器人的运动的影响较小的一方的示教位置,来生成剔除后位置数据;
根据所述剔除后位置数据,来生成位置指令;以及
根据所述位置指令,使作业用的机器人动作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018196016A JP6773098B2 (ja) | 2018-10-17 | 2018-10-17 | ロボットシステム及びロボット制御方法 |
JP2018-196016 | 2018-10-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111055265A CN111055265A (zh) | 2020-04-24 |
CN111055265B true CN111055265B (zh) | 2023-03-21 |
Family
ID=67981962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910977738.6A Active CN111055265B (zh) | 2018-10-17 | 2019-10-15 | 机器人系统以及机器人控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11230004B2 (zh) |
EP (2) | EP3639984B1 (zh) |
JP (1) | JP6773098B2 (zh) |
CN (1) | CN111055265B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6838017B2 (ja) * | 2018-08-31 | 2021-03-03 | ファナック株式会社 | レーザ加工のための教示装置、教示方法、及び教示プログラム |
US11312015B2 (en) * | 2018-09-10 | 2022-04-26 | Reliabotics LLC | System and method for controlling the contact pressure applied by an articulated robotic arm to a working surface |
EP3663054A1 (de) * | 2018-12-05 | 2020-06-10 | Siemens Aktiengesellschaft | Gelenkarmroboter |
DE102019120633B4 (de) * | 2019-07-31 | 2022-05-05 | Liebherr-Hydraulikbagger Gmbh | Verfahren zur automatischen Bewegung eines Arbeitsgeräts sowie Arbeitsgerät |
WO2021101514A1 (en) * | 2019-11-19 | 2021-05-27 | Google Llc | Optimization of motion paths of a robot using vision data |
US20210316450A1 (en) * | 2020-04-14 | 2021-10-14 | 3Deo, Inc. | Robotics for three-dimensional printing |
CN112757261B (zh) * | 2021-01-11 | 2022-05-10 | 珠海格力电器股份有限公司 | 一种机器人的拖动示教装置、机器人及其拖动示教方法 |
IT202100005975A1 (it) * | 2021-03-12 | 2022-09-12 | Cnh Ind Italia Spa | Metodo di registrazione di una manovra di un braccio azionabile di un veicolo pesante |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0890468A (ja) * | 1994-09-27 | 1996-04-09 | Nissan Motor Co Ltd | ロボットのティーチング装置 |
JP2009269155A (ja) * | 2008-05-09 | 2009-11-19 | Yamatake Corp | 教示装置及び教示方法 |
JP2011110688A (ja) * | 2009-11-30 | 2011-06-09 | Mitsubishi Electric Corp | ロボットの教示装置、及びロボットの制御装置 |
JP2012076181A (ja) * | 2010-10-01 | 2012-04-19 | Yaskawa Electric Corp | ロボット制御装置、ロボットおよびロボット制御装置の教示方法 |
CN103921265A (zh) * | 2013-01-16 | 2014-07-16 | 株式会社安川电机 | 机器人示教系统和机器人示教方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1043940B (it) * | 1974-12-20 | 1980-02-29 | Fiat Spa | Apparecchaitura per il controllo di una macchina operatrice del tipo robot |
JPH0736513A (ja) * | 1993-07-20 | 1995-02-07 | Fujitsu Ltd | 制御装置 |
JPH10138182A (ja) | 1996-11-08 | 1998-05-26 | Toyoda Mach Works Ltd | ロボットの教示装置 |
JPH1190870A (ja) * | 1997-09-17 | 1999-04-06 | Yaskawa Electric Corp | ロボットの教示用プログラミング装置 |
JP4578056B2 (ja) * | 2003-02-06 | 2010-11-10 | 株式会社ダイヘン | 作業ロボットを用いた制御システムによるワーク加工方法 |
SE524818C2 (sv) * | 2003-02-13 | 2004-10-05 | Abb Ab | En metod och ett system för att programmera en industrirobot att förflytta sig relativt definierade positioner på ett objekt |
US8054289B2 (en) * | 2006-12-01 | 2011-11-08 | Mimic Technologies, Inc. | Methods, apparatus, and article for force feedback based on tension control and tracking through cables |
JP5176790B2 (ja) * | 2008-09-02 | 2013-04-03 | 株式会社安川電機 | ロボットの教示再生装置および教示再生方法 |
US9056396B1 (en) * | 2013-03-05 | 2015-06-16 | Autofuss | Programming of a robotic arm using a motion capture system |
EP3045271B1 (en) | 2013-09-19 | 2022-04-06 | Keio University | Position/force controller, and position/force control method and program |
JP2016062477A (ja) * | 2014-09-19 | 2016-04-25 | 株式会社東芝 | 溶接プログラム作成装置および溶接プログラム作成方法 |
US9804593B1 (en) * | 2014-12-12 | 2017-10-31 | X Development Llc | Methods and systems for teaching positions to components of devices |
CN105058396A (zh) * | 2015-07-31 | 2015-11-18 | 深圳先进技术研究院 | 机器人示教系统及其控制方法 |
WO2017036519A1 (en) * | 2015-09-02 | 2017-03-09 | Abb Schweiz Ag | Device, system and method for teaching a position with a hand-held position teaching device |
JP2018126799A (ja) * | 2017-02-06 | 2018-08-16 | セイコーエプソン株式会社 | 制御装置、ロボットおよびロボットシステム |
JP2018126798A (ja) * | 2017-02-06 | 2018-08-16 | セイコーエプソン株式会社 | 制御装置、ロボットおよびロボットシステム |
CN107728619B (zh) * | 2017-10-16 | 2020-06-23 | 邦鼓思电子科技(上海)有限公司 | 一种用于机器人示教路径的规划方法 |
-
2018
- 2018-10-17 JP JP2018196016A patent/JP6773098B2/ja active Active
-
2019
- 2019-09-16 EP EP19197569.7A patent/EP3639984B1/en active Active
- 2019-09-16 EP EP20213747.7A patent/EP3812109B1/en active Active
- 2019-10-03 US US16/591,637 patent/US11230004B2/en active Active
- 2019-10-15 CN CN201910977738.6A patent/CN111055265B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0890468A (ja) * | 1994-09-27 | 1996-04-09 | Nissan Motor Co Ltd | ロボットのティーチング装置 |
JP2009269155A (ja) * | 2008-05-09 | 2009-11-19 | Yamatake Corp | 教示装置及び教示方法 |
JP2011110688A (ja) * | 2009-11-30 | 2011-06-09 | Mitsubishi Electric Corp | ロボットの教示装置、及びロボットの制御装置 |
JP2012076181A (ja) * | 2010-10-01 | 2012-04-19 | Yaskawa Electric Corp | ロボット制御装置、ロボットおよびロボット制御装置の教示方法 |
CN103921265A (zh) * | 2013-01-16 | 2014-07-16 | 株式会社安川电机 | 机器人示教系统和机器人示教方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111055265A (zh) | 2020-04-24 |
US20200122325A1 (en) | 2020-04-23 |
EP3639984A2 (en) | 2020-04-22 |
EP3639984A3 (en) | 2020-07-29 |
EP3812109B1 (en) | 2023-09-20 |
JP6773098B2 (ja) | 2020-10-21 |
JP2020062721A (ja) | 2020-04-23 |
EP3639984B1 (en) | 2023-09-20 |
EP3812109A3 (en) | 2021-07-07 |
EP3812109A2 (en) | 2021-04-28 |
US11230004B2 (en) | 2022-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111055265B (zh) | 机器人系统以及机器人控制方法 | |
CN107921645B (zh) | 远程操作机器人系统 | |
CN110394780B (zh) | 机器人的仿真装置 | |
CN111432990B (zh) | 技能传承机械装置 | |
CN108422420B (zh) | 具有学习控制功能的机器人系统以及学习控制方法 | |
CN110997249B (zh) | 作业机器人和作业机器人的控制方法 | |
US10525594B2 (en) | Teaching system, robot system, and teaching method | |
US8498745B2 (en) | Robot apparatus and gripping method for use in robot apparatus | |
US11911912B2 (en) | Robot control apparatus and method for learning task skill of the robot | |
CN111093903B (zh) | 机器人系统及其运行方法 | |
CN110666773B (zh) | 动作示教装置、机器人系统和动作示教方法 | |
NO317898B1 (no) | Fremgangsmate og system for a programmere en industrirobot | |
JP2006110702A (ja) | 学習制御機能を備えたロボット及びロボットの制御方法 | |
CN108687767B (zh) | 离线编程装置以及离线编程方法 | |
CN116604589A (zh) | 机器人的控制器和控制方法 | |
JP2018167334A (ja) | 教示装置および教示方法 | |
JP2013184236A (ja) | ロボットのキャリブレーション方法及びキャリブレーション装置 | |
CN110497382B (zh) | 操作设备、控制系统、控制方法及存储介质 | |
CN113874177A (zh) | 机器人系统、恢复程序生成装置、控制辅助装置、控制装置、程序、恢复程序的生成方法以及恢复程序的输出方法 | |
CN111975763B (zh) | 算术设备、控制程序、机器学习器、抓握装置和控制方法 | |
JP2021045810A (ja) | モーション情報生成装置、エンドエフェクタ、ロボット及びロボットシステム | |
JPH05345291A (ja) | ロボットの動作範囲制限方式 | |
JP5447150B2 (ja) | ロボットの制御装置およびロボットを制御する方法 | |
JP2021070096A (ja) | 制御方法、制御装置、ロボット装置、物品の製造方法、動作プログラム作成方法、動作プログラム作成装置、表示装置、制御プログラムおよび記録媒体 | |
CN111844017A (zh) | 显示方法 |
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 |