CN103429398B - 多关节型机器人的控制装置以及控制方法 - Google Patents

多关节型机器人的控制装置以及控制方法 Download PDF

Info

Publication number
CN103429398B
CN103429398B CN201280012110.9A CN201280012110A CN103429398B CN 103429398 B CN103429398 B CN 103429398B CN 201280012110 A CN201280012110 A CN 201280012110A CN 103429398 B CN103429398 B CN 103429398B
Authority
CN
China
Prior art keywords
angle
axle
speed
drive shaft
joint
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
CN201280012110.9A
Other languages
English (en)
Other versions
CN103429398A (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.)
Kobe Steel Ltd
Original Assignee
Kobe Steel Ltd
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 Kobe Steel Ltd filed Critical Kobe Steel Ltd
Publication of CN103429398A publication Critical patent/CN103429398A/zh
Application granted granted Critical
Publication of CN103429398B publication Critical patent/CN103429398B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K9/00Arc welding or cutting
    • B23K9/12Automatic feeding or moving of electrodes or work for spot or seam welding or cutting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/06Programme-controlled manipulators characterised by multi-articulated arms
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording 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
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • 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/34Director, elements to supervisory
    • G05B2219/34083Interpolation general
    • 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/40333Singularity, at least one movement not possible, kinematic redundancy
    • 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/45Nc applications
    • G05B2219/45104Lasrobot, welding robot
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/30End effector
    • Y10S901/41Tool

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Plasma & Fusion (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

在速度抑制处理中,维持手腕前端的位置及手腕前端的移动速度与轴的允许速度,并且抑制目的坐标系中的姿势角度的特定成分的变动。在计算提示路径上的插值点的位置、姿势、以及各轴的角度并进行运动的多关节机器人中,判别手腕轴的速度是否超过允许限度,在超过允许限度的情况下,计算使速度为允许限度内的该手腕轴的角度的多个候选,从多个该候选中,选择焊接线坐标系的姿势角的特定成分的变动得到最大抑制的候选,作为该手腕轴的角度,重新计算与其对应的其他轴的角度并作为下一插值点的角度,驱动多关节机器人。

Description

多关节型机器人的控制装置以及控制方法
技术领域
本发明涉及多关节型机器人的控制装置、控制方法、以及控制程序,尤其涉及在手腕轴的各驱动轴的速度超过允许范围的情况下,维持手腕的姿势并将各驱动轴的速度维持在允许范围内的技术。
背景技术
这里,在图23所示的作为一种多关节型机器人的6轴机械手中,控制安装于基座的胳膊轴的关节轴从基座起依次为J1轴、J2轴、J3轴,控制手腕轴的关节轴从胳膊部分到手腕前端依次为J4轴、J5轴、J6轴。在此情况下,在给出J1轴~J6轴的各关节角θ1~θ6时,通过求出正运动学问题的解,能够求出正交坐标系中的末端执行器(安装于手指的前端部分的焊接器等效果器)的位置的XYZ坐标、和末端执行器的姿势角α、β、γ(另外,姿势角α、β、γ用欧拉角或横摆(Roll)·纵倾(Pitch)·横倾(Yaw)角等表示)。另外相反,在给出末端执行器的位置的XYZ坐标和姿势角α、β、γ时,通过求出逆运动学问题的解,能够求出J1轴~J6轴的各关节角θ1~θ6
另外,如图24所示,在J5轴的关节角θ5在0度附近时使末端执行器以一定速度运动的情况下,J4轴的关节角θ4与J6轴的关节角θ6的角度急剧变化,因此必须使J4轴与J6轴高速转动。但是,机械手的各关节轴无法超过转动速度的上限值,在勉强超过上限值动作的情况下,产生末端执行器的路径偏离预定路径,或者末端执行器振动的问题。这样,在多关节型机械手中,有时稍微移动末端执行器的位置或姿势角,就产生要求具有极大转动速度的关节轴,出现无法动作的情况。在发生了这种无法动作的情况下,难以兼顾各关节轴的速度和末端执行器的移动路径的精度,会出现为了确保移动路径的精度各关节轴的转动速度低于要求的速度,或者安全装置起作用从而停止机械手的动作的问题。
对此,专利文献1~3中公开了在某个关节轴的速度超过允许范围的情况下,使各手腕轴不发生急剧变化并保持限制内的速度动作的方法。
现有技术文献
专利文献
专利文献1:JP特开昭62-162109号公报
专利文献2:JP特开平6-324730号公报
专利文献3:JP特开2003-300183号公报
发明内容
发明要解决的问题
但是,一般已知,在某个关节轴的速度超过允许范围的情况下,使各手腕轴不发生急剧变化并保持限制内的速度动作,通过预定路径的情况下,无法同时满足对末端执行器要求的(1)位置(2)移动速度(3)姿势角度这三个要素。因此,在一般的机械手中,进行使机械手动作的控制,从而在(1)~(3)要素中仅满足一个或两个要素。
例如,在专利文献1及专利文献2中,记载了维持末端执行器的(1)位置和(3)姿势角度的方法,但是由于无法维持(2)移动速度,移动速度变慢,因此在末端执行器具有焊接器的情况下,花费比原本要求的时间更长的时间通过作业线,比其他部分的焊接时间长,存在强度降低等问题。此外,移动速度变慢、焊接时间变长的地方过度隆起,有可能对下面的步骤(例如,第二层的焊接步骤等)产生影响。
另外,专利文献3中记载了维持末端执行器的移动速度或位置中的任一者的方法,但在维持移动速度的情况下无法维持位置,在末端执行器具有焊接器或涂镀器的情况下,存在偏离原本预定的作业线,效果无法到达需要焊接或涂镀的位置的问题。
因此,本发明鉴于上述情况而作,其目的在于提供一种多关节型机器人的控制装置、控制方法以及控制程序,在需要使手腕轴超过指定允许量急剧变化的情况下,维持焊接或涂镀作业中尤为必需的手腕前端的位置及手腕前端的移动速度和手腕轴的允许速度,并且抑制与目的相应的、作业坐标系中的姿势角度的至少一个特定成分的变动。
用于解决问题的方案
为了实现上述目的,本发明适用于控制多关节型机器人的多关节型机器人的控制装置,该多关节型机器人包括:第一关节驱动系统,在前端具有按照作业对象的作业线移动的作业部,包括与该作业部连接并使所述作业部的姿势发生变化的三个驱动轴;以及第二关节驱动系统,与所述第一关节驱动系统连接,包括使该第一关节驱动系统的位置发生变化的至少三个驱动轴,该多关节型机器人的控制装置的结构特征是包括下述的(11)~(16)。
(11)插值数据计算单元,在所述多关节型机器人的基础坐标系中,计算表示对提示路径进行插值的多个插值点的所述作业部的位置及当时的姿势的数据,该提示路径连接预先提示的所述作业部的作业开始位置及当时的姿势和作业结束位置及当时的姿势。
(12)角度计算单元,根据由所述插值数据计算单元计算的数据求出逆运动学问题的解,据此计算表示所述插值点的所述作业部的位置及当时的姿势的、包含所述第一关节驱动系统及所述第二关节驱动系统的所有驱动轴的角度。
(13)速度计算单元,基于由所述角度计算单元计算的下一个所述插值点与当前的所述插值点的所述第一关节驱动系统的所述各驱动轴的角度的差,计算使所述作业部的姿势移动到下一个所述插值点时的所述第一关节驱动系统的两端的两个驱动轴的速度。
(14)姿势数据变换单元,将由所述插值数据计算单元计算的数据变换为姿势数据,该姿势数据表示包含所述作业部的移动方向的轴、垂直于该轴的方向的轴、以及垂直于这两个轴的轴的作业坐标系中的所述作业部的姿势。
(15)重新计算单元,在由所述速度计算单元计算的所述第一关节驱动系统的两端的两个驱动轴的一者或两者的速度在预先确定的允许范围外的情况下,不变更所述作业部的移动速度,并且对于由所述姿势数据变换单元变换的下一个所述插值点的所述作业部的姿势数据,抑制一个或两个特定成分的变动,同时重新计算所述第一关节驱动系统的两端的两个驱动轴的速度在所述允许范围内的所述第一关节驱动系统的各个驱动轴的角度,基于该计算的所述第一关节驱动系统的各个驱动轴的角度和由所述插值数据计算单元计算的所述作业部的位置,重新计算所述第二关节驱动系统的各个驱动轴的角度。
(16)驱动指示单元,在由所述速度计算单元计算的所述第一关节驱动系统的两端的两个驱动轴的两者的速度在所述允许范围内的情况下,基于由所述角度计算单元计算的所述各个驱动轴的角度,驱动所述多关节型机器人,在由所述速度计算单元计算的所述第一关节驱动系统的两端的两个驱动轴的一者或两者的速度在所述允许范围外的情况下,基于由所述重新计算单元计算的所述各个驱动轴的角度,驱动所述多关节型机器人。
根据本发明,在需要使所述第一关节驱动系统的驱动轴超过所述允许范围急剧变化的情况下,能够维持焊接或涂镀作业中尤为必需的所述作业部的位置及手腕前端的移动速度和所述第一关节驱动系统的驱动轴的允许速度,并且抑制与目的相应的、作业坐标系中的姿势角度的至少一个特定成分的变动。另外,在计算从所述作业开始位置到所述作业结束位置之间存在的特异点(奇异点)区域或特异点避开路径等的情况下,需要设置能够应对事先计算时的过大负载的运算装置(CPU),因而成本提高,但根据本发明,根据当前状态和下一状态逐步控制驱动即可,因此减少对运算装置瞬间要求的处理负载,能够实现低成本化。
例如,考虑所述重新计算单元包括:角度候选计算单元,基于当前的所述插值点的所述第一关节驱动系统的各个驱动轴的角度,计算多个该各个驱动轴的角度作为参照追随由所述角度计算单元计算的下一个所述插值点的角度,并且所述第一关节驱动系统的两端的两个驱动轴的下一个所述插值点的速度位于所述允许范围内的该各个驱动轴的角度候选;姿势数据计算单元,分别计算用所述作业坐标系表示采用由所述角度候选计算单元计算的各个角度候选时下一个所述插值点的所述作业部的姿势的姿势数据;以及角度选择单元,在由所述姿势数据计算单元计算的多个姿势数据中,选择对于由所述姿势数据变换单元变换的下一个所述插值点的所述作业部的姿势数据,所述特定成分的变动得到最大抑制的姿势数据,选择与该姿势数据对应的角度作为所述各个驱动轴的角度。
据此,在使所述作业部的位置·姿势变化时,能够抑制与所述作业部的作业目的相应的适当的特定成分的变动。
另外,在以±180°表示所述第一关节驱动系统的驱动轴的角度时,所述角度计算单元例如计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度为相同符号的逆运动学问题的解。据此,控制使得所述第一关节驱动系统的位于中央的驱动轴的角度不经过0°,能够避开特异点。
另外,所述角度计算单元可以在由所述速度计算单元计算的所述第一关节驱动系统的两端的两个驱动轴的两者的速度在所述允许范围内的情况下,计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度为相同符号的逆运动学问题的解,在由所述速度计算单元计算的所述第一关节驱动系统的两端的两个驱动轴的一者或两者的速度在所述允许范围外的情况下,计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度为不同符号的逆运动学问题的解。
进而,还考虑对它们进行组合而得到的结构。即,较为理想的是,所述角度计算单元在所述作业开始位置以及所述作业结束位置的所述第一关节驱动系统的中央的驱动轴的角度为相同符号的情况下,计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度为相同符号的逆运动学问题的解,在所述作业开始位置以及所述作业结束位置的所述第一关节驱动系统的中央的驱动轴的角度为不同符号的情况下,在由所述速度计算单元计算的所述第一关节驱动系统的两端的两个驱动轴的两者的速度在所述允许范围内的情况下,计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度为相同符号的逆运动学问题的解,在由所述速度计算单元计算的所述第一关节驱动系统的两端的两个驱动轴的一者或两者的速度在所述允许范围外的情况下,计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度为不同符号的逆运动学问题的解。据此,能够根据提示到达所述作业结束位置的所述第一关节驱动系统的中央驱动轴的角度。
另外,考虑所述重新计算单元重新计算所述驱动轴的角度,使得由所述姿势数据变换单元变换后的所述作业部的姿势数据中,从预先确定的加权较大的所述特定成分起,变动的抑制量依次增大。据此,通过适当设定所述加权,能够适当调整所述特定成分的变动的抑制量。
作为本发明申请的更为具体的结构,考虑所述作业部为焊枪,所述姿势数据以作业坐标系表示,该作业坐标系中,以所述作业部的移动方向的轴为X轴,以由所述X轴与重力方向的外积表示的轴为Y轴,以由所述X轴与所述Y轴的外积表示的方向的轴为Z轴,以所述X轴的绕轴的转动角为焊枪倾斜角,以所述Y轴的绕轴的转动角为焊枪前进角,以所述Z轴的绕轴的转动角为焊枪转动角,所述特定成分为所述焊枪倾斜角、所述焊枪前进角、所述焊枪转动角中的任意一个或两个。如图25所示,对于所述手腕前端部具有的所述作业部的姿势,根据正交坐标系∑base上表示的手腕前端位置XYZ与手腕前端姿势αβγ,在以所述作业部移动的方向的轴为X轴的焊接线坐标系∑line(作业坐标系)上进行表示,由此,能够如图26~图28所示,作为相对于各轴的倾角成分来表示所述作业部的姿势。变换后的焊接线坐标系∑line的绕坐标轴的转动角如图26、图27所示,绕Xline轴的转动角以右旋方向为正向作为所述焊枪倾斜角Rx,如图26、图28所示,绕Yline轴的转动角以右旋方向为正向作为所述焊枪前进角Ry,绕Zline轴的转动角以右旋方向为正向作为所述焊枪转动角Rz。
此时,在所述作业部是前端具有对所述作业对象产生作业上的效果的一个作业点的单头焊枪的情况下,认为所述特定成分是所述焊枪倾斜角和所述焊枪前进角。据此,能够抑制对于有一个作业点的单头焊枪的作业而言很重要的所述焊枪倾斜角和所述焊枪前进角的变动。
另一方面,在所述作业部是前端具有对所述作业对象产生作业上的效果的两个作业点的双头焊枪的情况下,认为所述特定成分是所述焊枪倾斜角和所述焊枪转动角。据此,能够抑制对于有两个作业点的双头焊枪的作业而言很重要的所述焊枪倾斜角和所述焊枪转动角的变动。
此外,考虑所述驱动指示单元在由所述速度允许判别单元判别为存在所述允许范围外的驱动轴之后,基于由所述重新计算单元计算的所述各个驱动轴的角度,驱动所述多关节型机器人,随后,以由所述角度计算单元计算的所述第一关节驱动系统的角度与由所述重新计算单元计算的所述第一关节驱动系统的角度的差达到指定值以下为条件,代替由所述重新计算单元计算的所述各个驱动轴的角度,基于由所述角度计算单元计算的所述各个驱动轴的角度,驱动所述多关节型机器人。
此时,考虑所述驱动指示单元在从基于由所述重新计算单元计算的所述各个驱动轴的角度的所述多关节机器人的驱动控制切换为基于由所述角度计算单元计算的所述各个驱动轴的角度的所述多关节机器人的驱动控制时,使该各个驱动轴的角度在指定的变动范围内逐渐变动。据此,能够防止沿着所述作业对象的作业线移动的所述作业部发生振动从而不沿着作业线移动。例如,考虑为由所述重新计算单元计算的角度与根据所述多关节机器人的驱动控制由所述角度计算单元计算的角度的中间角度。
另外,所述速度计算单元可以代替速度而计算加速度,所述重新计算单元以及所述驱动指示单元可以代替速度,基于加速度进行判别。
此外,本发明可以理解为执行由所述多关节型机器人的控制装置执行的各步骤的多关节型机器人的控制方法的发明,或者可以理解为使计算机执行上述各步骤的多关节型机器人的控制程序的发明。
发明效果
根据本发明,在使手腕前端稍微移动,手腕轴就超过指定允许量急剧变化的情况下,也能够维持焊接或涂镀作业中尤为必需的手腕前端的位置及手腕前端的移动速度和手腕轴的允许速度,并且抑制与目的相应的、作业坐标系中的姿势角度的至少一个特定成分的变动。另外,在计算从所述作业开始位置到所述作业结束位置之间存在的特异点区域或特异点避开路径等的情况下,需要设置能够应对事先计算时的过大负载的运算装置(CPU),因而成本提高,但根据本发明,根据当前状态和下一状态逐步控制驱动即可,因此减少对运算装置瞬间要求的处理负载,能够实现低成本化。
附图说明
图1是表示由本发明实施方式的多关节型机器人的控制方法的一例控制的多关节型机器人X的概略结构的方框图。
图2是表示多关节型机器人的控制方法的控制整体处理的一例的流程图。
图3是表示插值点的各转动轴的速度·角度计算处理的一例的流程图。
图4是表示速度抑制必要性判别处理的一例的流程图。
图5是表示速度抑制处理的一例的流程图。
图6是表示从速度抑制处理恢复的处理的一例的流程图。
图7是表示插值点的路径的一例的图。
图8(A)是表示原来路径与例外路径的J6轴的角度变化的一例的图,(B)是表示原来路径的插值点与例外路径的插值点的一例的图。
图9是表示避开特异点的路径的第一关节驱动轴的角度变化的一例的图表。
图10是表示J4轴的速度变化的一例的图。
图11是表示等速动作时焊接线坐标系的各姿势角的变动的一例的图。
图12是表示本发明的控制方法的焊接线坐标系的各姿势角的变动的一例的图。
图13是表示第二关节驱动轴的其他例的图。
图14是表示多关节型机器人的控制方法的控制整体处理的其他例的流程图。
图15是表示经由特异点的路径的第一关节驱动轴的角度变化的一例的图表。
图16是表示采用了本实施例1的控制方法的情况下的第一关节驱动轴的角度变化的一例的图表。
图17是表示等速动作时焊接线坐标系的各姿势角的变动的一例的图。
图18是表示采用了本实施例1的控制方法的情况下的焊接线坐标系的各姿势角的变动的一例的图。
图19是表示多关节型机器人的控制方法的控制整体处理的其他例的流程图。
图20是表示实施例3的具有两个作业点的末端执行器的一例的图。
图21是表示具有两个作业点的末端执行器的多关节型机器人的避开特异点的路径的焊接线坐标系的各姿势角的变动的一例的图。
图22是表示由实施例4的多关节型机器人的控制方法的一例控制的多关节型机器人X2的概略结构的方框图。
图23是表示普通的6轴机械手的概略结构的图。
图24是表示普通的6轴机械手经由特异点的路径的第一关节驱动轴的角度变化的一例的图表。
图25是表示将表示普通的6轴机械手的末端执行器的位置和姿势的坐标系变换为焊接线坐标系的情况下的一例的图。
图26是表示焊接线坐标系的各轴的倾角成分的一例的图。
图27是表示焊接线坐标系的焊枪倾斜角的一例的图。
图28是表示焊接线坐标系的焊枪前进角和焊枪转动角的一例的图。
图29是表示实施例5的计算机系统Y的概略结构的方框图。
图30是用于说明通知正在避开特异点这一情况的装置的图。
具体实施方式
下面参照附图说明本发明的实施方式,以便理解本发明。另外,下面的实施方式是使本发明具体化的一例,不具有限定本发明的技术范围的性质。
首先,参照图1所示的概略结构图,说明本发明实施方式的多关节型机器人X的结构。
多关节型机器人X包括控制部10、操作部21、机械手(manipulator)主体30等。另外,除了图1所示的结构要素以外,多关节型机器人X还包括一般的多关节型机器人所包括的其他结构要素,这里省略记载。控制部10包括主控制部11、存储部12、以及驱动指示部13,是本发明的多关节型机器人的控制装置的一例。
机械手主体30包括:第二关节驱动系统,具有相当于人类的胳膊的J1轴31、J2轴32、以及J3轴33;第一关节驱动系统,具有相当于人类的手腕的J4轴34、J5轴35、以及J6轴36;以及末端执行器39,对作业对象发挥效果,机械手主体30是按照所操作的内容进行驱动,与人类的上臂进行相同作业的机器人。另外,上述机械手主体30是多关节型机器人的一例。
J1轴31~J6轴36由电动机等构成,根据来自驱动指示部13的指示在正负方向上旋转驱动,多个轴的旋转驱动相互关联,由此实现人类的手腕或胳膊的动作。尤其是,上述第二关节驱动系统与上述第一关节驱动系统的驱动轴的动作无关,可以自由地确定上述多关节型机器人的基础坐标系∑base中的上述末端执行器39的位置(X,Y,Z)。
末端执行器39是安装于机械手主体30前端(J6轴36的前端)的效果器,是利用一个作业点进行作业的焊接器(焊枪)、涂镀装置、工具、捕获器、传感器等。另外,上述末端执行器39是作业部的一例。
另外,具有一个作业点的焊枪称为单头焊枪。
操作部21由用户操作的薄片按键或操作按钮、操作杆等构成,是接收用户的操作输入的输入接口。例如,操作部21接收上述末端执行器39的作业开始位置及姿势、作业结束位置及姿势、以及对其进行连接的路径的作业路径或作业时间、用于抑制与目的相应的、焊接线坐标系∑line(作业坐标系)中末端执行器39的姿势角度的各成分的变动的加权信息、以及记载了这些内容的程序等输入,并输出到控制部10。即,操作部21是用于提示末端执行器39的作业开始位置及姿势、作业结束位置及姿势的单元,是用于设定上述加权信息的单元。
存储部12例如是由硬盘或DRAM等构成的易失性存储器,存储末端执行器39的作业开始位置及姿势、作业结束位置及姿势、以及对其进行连接的路径的作业路径或作业时间,用于抑制末端执行器39的姿势角度的各成分的变动的加权信息,由后述的主控制部11计算的插值点(经由特异点的路径和避开特异点的路径的双方)的上述J1轴31~J6轴36的角度和速度(根据情况不同有时还有加速度)等。
驱动指示部13按照来自主控制部11的控制指示,在每个采样周期中,读出上述J1轴31~J6轴36的角度或速度的信息以使末端执行器39移动到存储部12中存储的下一个插值点(经由特异点的路径或避开特异点的路径中的一者),并将上述信息输出到机械手主体30。另外,主控制部11和驱动指示部13是用于执行驱动指示步骤的驱动指示单元的一例。
主控制部11包括CPU、ROM等,CPU是进行该多关节型机器人X的各种控制及运算的运算单元,ROM是存储由CPU执行的控制程序或运算程序、CPU执行这些程序时参照的数据等的存储器。
接着,参照图2~图6的流程图,说明以多关节型机器人X的主控制部11为中心,使机械手主体30动作的处理过程的一例。另外,以下所示的S11、S12、……表示处理过程(步骤)的识别标号。
首先,参照图2,说明一般的机械手主体30的控制与本发明的一实施方式的多关节型机器人X的控制的处理过程的差异。
一般的机械手主体30的控制实施如后所示对主控制部11提示动作轨迹的提示步骤(步骤S11),还实施为了以所提示的动作轨迹上的插值点的位置·姿势动作而计算并存储各驱动轴的角度的步骤(步骤S12),读出所计算的角度并指示动作的步骤(步骤S14),以及判别是否已到达作业结束位置·姿势的步骤(步骤S15),以使机械手主体30从当前插值点的位置·姿势向下一插值点的位置·姿势运动,随后,在指定的每个采样期间中反复执行步骤S12、S14、S15,据此使机械手主体30沿着动作轨迹从作业开始位置·姿势运动到作业结束位置·姿势。另外,主控制部11使机械手主体30的末端执行器39以预先设定的一定速度移动,据此执行该末端执行器39的作业。但是,在以一定速度移动的情况下,当第一关节驱动系统的J5轴35经过0°附近时(特异点),J4轴34、J6轴36的速度有可能超过预先确定的允许范围。
对此,本实施方式的多关节型机器人X的控制除了上述一般的机械手主体30的控制所需的步骤以外,如后所述,还包含:判别是否由于第一关节驱动系统的J4轴34、J6轴36的至少一者的速度超过允许范围而需要执行速度抑制处理的步骤(步骤S13),以及在需要执行速度抑制处理的情况下(步骤S13:是),为了移动至避开特异点的动作轨迹上的插值点而重新计算并存储各驱动轴的角度的速度抑制步骤(步骤S20),避开特异点,使机械手主体30从当前插值点的位置·姿势移动至重新计算的下一个插值点的位置·姿势。
接着,参照图2说明由主控制部11执行的多关节型机器人X的控制处理整体,各处理的细节在后面描述。
最初,利用者利用操作部21点到点地提示机器人的动作轨迹。即,通过操作部21移动到各提示点,将上述末端执行器39的作业位置以及姿势存储到控制部10的存储部12(步骤S11)。另外,步骤S11是提示步骤的一例。
主控制部11在上述提示的点之间按照指定的每个采样周期(例如,1/16秒、1/32秒等)进行分割·插值,计算用于使末端执行器39移动到下一个插值点的J1轴31~J6轴36的角度和第一关节驱动系统的J4轴34~J6轴36的速度(根据情况不同有时还计算加速度),并存储到存储部12(步骤S12)。这里,J1轴31~J6轴36的角度用±180°表示。当然,角度的指定方法并不限于±180°,例如还可以是0°~360°等。另外,该步骤S12的细节在后面进行描述。
然后,主控制部11判别上述步骤S12计算的用于使末端执行器39移动到下一插值点的第一关节驱动系统的J4轴34及J6轴36的一者或两者的速度或加速度位于允许范围内还是允许范围外(以后称为“需要·不需要速度抑制处理”),或者是否处于已判别为存在允许范围外的驱动轴之后的避开处理中(以后称为“处于速度抑制处理中”)(步骤S13)。另外,该步骤S13的细节在后面进行描述。
这里,在判别为需要速度抑制处理或者处于速度抑制处理中时(步骤S13:是),主控制部11进行速度抑制处理(步骤S20),该处理不变更末端执行器39的移动速度,并且对上述步骤S12计算的下一个插值点的末端执行器39的姿势数据,抑制一个或两个特定成分的变动,重新计算该J4轴34及J6轴36的一者或两者的角度以使速度或加速度处于上述允许范围内,重新计算与此对应的其他轴的角度,并存储到存储部12。另外,在该步骤S20的上述说明中,作为判别“需要·不需要速度抑制处理”的标准,以各轴的速度或加速度为问题,但在该步骤S20的具体例的后述说明中,举出对速度进行判别的情况为例进行说明。
另一方面,在判别为不需要速度抑制处理,不处于速度抑制处理中(步骤S13:否),或者进行了速度抑制处理(步骤S20)后,基于主控制部11的指示,驱动指示部13从存储部12中读出用于使末端执行器39移动到下一个插值点的J1轴31~J6轴36的角度,并输出到机械手主体30的各驱动轴的致动器(步骤S14)。此时,在判别为不需要速度抑制处理,不处于速度抑制处理中的情况下,基于上述步骤S12计算的用于移动到下一插值点的J1轴31~J6轴36的角度,控制机械手主体30,在J4轴34、J6轴36的速度位于允许范围外并执行了速度抑制处理的情况下,基于上述步骤S20计算的用于移动到下一插值点的J1轴31~J6轴36的角度,控制机械手主体30。这里,相关步骤S14是驱动指示步骤的一例,执行相关处理时的主控制部11及驱动支持部13相当于驱动指示单元。
接着,主控制部11判别移动后的末端执行器39的位置及姿势是否已到达作业部结束位置及姿势(步骤S15)。在未到达作业部结束位置及姿势的情况下(步骤S15:否),在每个指定的采样周期中,重新实施上述步骤S12之后的步骤,在到达作业部结束位置及姿势的情况下(步骤S15:是),结束处理。
这样,主控制部11在每个指定的采样周期中,计算用于使末端执行器39从当前位置及姿势移动到下一个插值点的J1轴31~J6轴36的角度,并使多关节型机器人X动作。
接着,参照图3,说明对应于图2的步骤S12的、计算用于从多关节型机器人X的当前插值点移动到下一个插值点的J1轴31~J6轴36的角度与第一关节驱动系统的J4轴34~J6轴36的速度的处理过程的一例。
首先,主控制部11计算在上述步骤S11中预先提示的作业开始位置及姿势P0与作业结束位置及姿势Pn之间用n(基于每个采样周期的任意值)个点进行插值而得到的末端执行器39的位置及姿势。在此情况下,每一个采样周期的移动量可用下式表示:ΔP=(Pn-P0)/n={ΔX=(Xn-X0)/n,ΔY=(Yn-Y0)/n,ΔZ=(Zn-Z0)/n,Δα=(αn0)/n,Δβ=(βn0)/n,Δγ=(γn0)/n}。此外,上述各个插值点由上述多关节型机器人X的基础坐标系∑base表示。
如图7所示,主控制部11在当前位置的插值点为Pi的情况下,通过Pi+1=P0+ΔP×(i+1)、Pi+1=Pi+ΔP计算下一个插值点Pi+1的位置及姿势(步骤S121)。另外,该步骤S121是插值数据计算步骤的一例,执行相关处理时的主控制部11相当于插值数据计算单元。
接着,主控制部11根据下一个插值点Pi+1的位置及姿势(Xi+1,Yi+1,Zi+1,αi+1,βi+1i+1)求出逆运动学问题的解,由此计算各J1轴31~J6轴36的角度(θ1,θ2,θ3,θ4,θ5,θ6),并存储到存储部12(步骤S122)。此时,关于J4轴34~J6轴36得到逆运动学问题的两个解,这里,主控制部11采用这两个解中第一关节驱动系统的J5轴35的角度与提示的上述末端执行器39的作业开始位置的J5轴35的角度符号相同的逆运动学问题的解。据此,J5轴35的角度不经过0°而进行推移,因此能够避免经过特异点。
另外,主控制部11在执行后述的速度抑制处理的情况下,不仅计算经由特异点的路径的插值点的各J1轴31~J6轴36的角度,还分别计算避开特异点的路径的插值点的各J1轴31~J6轴36的角度并存储到存储部12,作为进行后述的恢复处理(图5的步骤S310以及图6的流程图)时的比较对象。
这里,步骤S122是角度计算步骤的一例,执行相关处理时的主控制部11相当于角度计算单元。
接着,主控制部11从计算的下一捅值点Pi+1的各J4轴34~J6轴36的角度中,减去存储部12中存储的当前插值点Pi的各J4轴34~J6轴36的角度,计算第一关节驱动系统的J4轴34~J6轴36的速度并存储到存储部12(步骤S123)。另外,如后所述,在执行速度抑制处理(步骤S20)的情况下,计算经由特异点的路径的插值点的第一关节驱动系统的J4轴34~J6轴36的速度并存储到存储部12,用于在后述的步骤S131中计算速度的允许范围,或者在步骤S211等中计算下一插值点的候选速度(根据需要还计算加速度)。
这里,步骤S123是速度计算步骤的一例,执行相关处理时的主控制部11相当于速度计算单元。
接着,参照图4说明相当于图12的步骤S13的速度抑制必要性判别处理过程的一例。
首先,主控制部11计算使末端执行器39的位置及姿势从当前插值点Pi移动到下一插值点Pi+1时的第一关节驱动系统的J4轴34、J6轴36的速度的允许范围(步骤S131)。例如,将当前插值点Pi的速度值加减指定值或指定比例得到的值作为上限·下限,计算速度的允许范围。另外,该各轴的速度的允许范围也可以根据末端执行器39的动作条件(例如焊接时的温度、涂镀时的涂镀膜的厚度等条件)、多关节型机器人动作时不引起振动等异常动作的条件等,在对作业对象的质量不产生影响的范围内预先设定。此外,也可以对J4轴34、J6轴36分别设定各自的允许范围。
接着,主控制部11判别第一关节驱动系统的下一个插值点的J4轴34以及J6轴36的一者或两者的速度是否超过上述允许范围,或者是否设立了表示处于速度抑制处理中的标志(步骤S132)。
这里,在第一关节驱动系统的下一个插值点的J4轴34以及J6轴36的两者位于上述允许范围内,并且不处于速度抑制处理中的情况下(步骤S132:否),基于主控制部11的指示,驱动指示部13从存储部12读出上述步骤S12计算的各J1轴31~J6轴36的角度并输出到机械手主体30(步骤S14)。另一方面,在存在允许范围外的轴,或者处于速度抑制处理中的情况下(步骤S132:是),主控制部11执行以下所述的速度抑制处理(步骤S20)。
下面,参照图5说明相当于图2的步骤S20的该多关节型机器人X的速度抑制处理的具体例。
另外,下面作为例子举出图24所示的J5轴35处于0度附近,J4轴34、J6轴36的速度超过允许范围时执行该速度抑制处理的情况进行说明,由于其他理由,J4轴34、J6轴36的速度超过允许范围的情况也同样。因此,该速度抑制处理在第一关节驱动系统的J4轴34、J6轴36中任意一个或者两个驱动轴的速度超过允许范围时执行。另外,最初发现下一个插值点有允许范围外的轴时,当前插值点的速度处于允许范围内。
首先,主控制部11判别关于下一个插值点,速度处于上述允许范围外的驱动轴是J4轴34及J6轴36中的哪一者或两者,或者在“处于速度抑制处理中”的标志已经设立的情况下,该速度抑制处理是对J4轴34及J6轴36中的哪一者或两者执行的,并对处理进行分支(步骤S201)。如前所述,通过速度是否位于允许范围的上限·下限间,来判别是在允许范围内还是允许范围外。这里,若J4轴34及J6轴36的两者都不在速度的允许范围外,并且“处于速度抑制处理中”的标志并未设立(步骤S201:其他),则主控制部11结束该速度抑制处理。
另一方面,在J6轴36的速度位于允许范围外的情况下处理转至步骤S211,在J4轴34的速度位于允许范围外的情况下处理转至步骤S221,在J4轴34及J6轴36的两者的速度位于允许范围外的情况下处理转至步骤S231。
(J6轴36的速度抑制处理步骤S211~S217)
在J6轴36的速度位于允许范围外,或者设立了表示处于J6轴36的速度抑制处理中的标志的情况下(步骤S201:J6轴为范围外),主控制部11基于当前插值点的J6轴36的角度,计算多个该J6轴36的角度追随上述步骤S12计算的下一个插值点的角度,并且J6轴36的下一个插值点的速度位于上述允许范围内的角度候选(步骤S211)。
例如,主控制部11利用下面的步骤(21)~(23),计算J6轴36的速度候选。
(21)首先,利用下式(21a)计算抑制基准速度V6b。这里,θnow是下一个插值点的J6轴36的角度,θold是当前插值点的J6轴36的角度,E是预先设定的系数(例如0.1)。
V6b=E(θnowold) (21a)
(22)接着,判断抑制基准速度V6b是否在预先设定的速度限值Vmax以上,在判断为该速度限值Vmax以上的情况下,将抑制基准速度V6b设定为上次的速度θold。上述速度限值Vmax例如是上述允许范围内的速度的最大值。
(23)然后,根据抑制基准速度V6b和指定值D(已知保证事先确定的允许范围内的加速度的速度变化绝对值等),计算三个速度候选(Vθ6a=V6b-D,Vθ6b=V6b,Vθ6c=V6b+D)。上述指定值D例如是上述速度限值Vmax的10%左右的值。另外,在Vθ6a大于上述速度限值Vmax的情况下,令Vθ6a=Vmax
随后,主控制部11根据当前插值点的J6轴36的角度θ6,计算与上述速度的各候选(Vθ6a,Vθ6b,Vθ6c)对应的下一插值点的三个J6轴36的角度候选(θ6a,θ6b,θ6c)。即,作为下一插值点,至少计算继续保持了不超过允许范围的抑制基准速度V6b或当前插值点的速度的角度(当然在允许范围内)、以及与其仅相差微小量(±D(与速度变化绝对值对应))的角度。这里,相关步骤S211的处理是角度候选计算步骤的一例,执行相关处理时的主控制部11相当于角度候选计算单元。
接着,主控制部11计算与所计算的下一插值点的J6轴36的各角度候选对应的其他驱动轴J1轴31~J5轴35的角度(步骤S212)。例如,如以下的(1)~(3)所示,对于J6轴36的每个角度候选(θ6a,θ6b,θ6c),使用上述步骤S122中计算的下一插值点Pi+1的末端执行器39的位置(Xi+1,Yi+1,Zi+1)和第一关节驱动系统的J4轴34、J5轴35的角度(θ4,θ5),重新计算第一关节驱动系统及第二关节驱动系统的J1轴31~J6轴36的角度(θ1,θ2,θ3,θ4,θ5,θ6)。
(1)对于候选θ6a,根据[Xi+1,Yi+1,Zi+1,θ4,θ5,θ6a]计算[θ1a,θ2a,θ3a,θ4,θ5,θ6a]。
(2)对于候选θ6b,根据[Xi+1,Yi+1,Zi+1,θ4,θ5,θ6b]计算[θ1b,θ2b,θ3b,θ4,θ5,θ6b]。
(3)对于候选θ6c,根据[Xi+1,Yi+1,Zi+1,θ4,θ5,θ6c]计算[θ1c,θ2c,θ3c,θ4,θ5,θ6c]。
由此,如后面说明的图8所示,计算速度不超过允许范围的下一插值点的候选P’i+1,将该下一插值点的候选P’i+1视为下一插值点,据此能够得到J6轴36的速度不超过允许范围,并且避开的原来的插值点Pi+1(特异点)的例外路径(参照图8(B))。
以此方式得到将J6轴36的速度维持在允许范围内的下一插值点的三个角度候选(θ6a,θ6b,θ6c)后,进行应选择哪个候选作为下一插值点的判断。在迄今为止的计算中,将第一关节驱动系统的J4轴34~J6轴36的角度(θ4,θ5,θ6)作为问题,但最终必须结合根据作业种类认为重要的末端执行器39的姿势,来选择候选。因此,需要从上述J1轴31~J6轴36的角度变换为表示末端执行器39的姿势的数据。
并且,为了进行应选择哪个候选作为下一插值点的判断,主控制部11对于计算的每个候选,分别计算表示下一插值点的焊接线坐标系∑line的末端执行器39的姿势的数据的各成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz)(步骤S213)。另外,该步骤S123是姿势数据计算步骤的一例,执行相关处理时的主控制部11相当于姿势数据计算单元。这里,如图25所示,上述焊接线坐标系∑line是以末端执行器39移动的方向(行进方向)的轴为X轴,以由该X轴与重力方向的外积(X轴×重力方向)表示的轴为Y轴,以由该X轴与该Y轴的外积(X轴×Y轴)表示的方向的轴为Z轴的作业坐标系,如图26~图28所示,该X轴的绕轴的转动角由焊枪倾斜角Rx表示,该Y轴的绕轴的转动角由焊枪前进角Ry表示,该Z轴的绕轴的转动角由焊枪转动角Rz表示。
例如,对于上述(1)~(3)的候选θ6a~θ6c,利用以下的(1’)~(3’)计算表示末端执行器39的姿势的数据的各成分。
(1’)根据[θ1a,θ2a,θ3a,θ4,θ5,θ6a]计算[Rxa,Rya,Rza]。
(2’)根据[θ1b,θ2b,θ3b,θ4,θ5,θ6b]计算[Rxb,Ryb,Rzb]。
(3’)根据[θ1c,θ2c,θ3c,θ4,θ5,θ6c]计算[Rxc,Ryc,Rzc]。
接着,主控制部11对于上述步骤S121中计算的原来路径上的下一插值点Pi+1的末端执行器39的位置及姿势,为了由以末端执行器39移动的方向的轴为X轴的焊接线坐标系∑line(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz)表示由正交坐标系∑base表示的(Xi+1,Yi+1,Zi+1,αi+1,βi+1,γi+1),进行数据变换(步骤S214)。另外,该步骤S214是姿势数据变换步骤的一例,执行相关处理时的主控制部11相当于姿势数据变换单元。
另外,下面的(数式1)中表示从正交坐标系∑base变换为焊接线坐标系∑line的式子。
[数式1]
line R cool = 1 0 0 0 cos Rx - sin Rx 0 sin Rx cos Rx cos 0 sin Ry 0 1 0 - sin Ry 0 cos Ry cos Rz - sin Rz 0 sin Rz cos Rz 0 0 0 1 = = cos Ry cos Rz - cos Ry sin Rz sin Ry sin Rx sin Ry cos Rz + cos Rx sin Rz - sin Rx sin Ry sin Rz + cosRx cos Rz - sin Rx cos Ry - cos Rx sin Ry cos Rz + sin Rx sin Rz cos Rx sin Ry sin Rz + sin Rx cos Rz cos Rx cos Ry
这里,为了根据αβγ求出RxRyRz,作为
base R tool = cos α - sin α 0 sin α cos α 0 0 0 1 cos β 0 sin β 0 1 0 - sin β 0 cos β 1 0 0 0 cos γ - sin γ 0 sin γ cos γ
base R bne = Xm [ x ] Ym [ x ] Zm [ x ] Xm [ y ] Ym [ y ] Zm [ y ] Xm [ z ] Ym [ z ] Zm [ z ]
计算
line R tool = line R base · base R tool = base R line T · base R tool = Rm 11 Rm 12 Rm 13 Rm 21 Rm 22 Rm 23 Rm 31 Rm 32 Rm 33
可以通过下式来求出。
Rx=atan(Rm23/Rm33),Ry=asin(Rm13),Rz=atan(Rm12/Rm11)
并且,原本J6轴36的速度处于允许范围外,因而为了在维持轨道的同时抑制J6轴36的速度,必须从J6轴36以外的J1轴31~J5轴35中选定可以多余转动的轴,通过使该轴多余地转动,抑制与J6轴36的超过速度对应的变动量。但是,在由角度θ1~θ6表示的区域中,无法判断可以在维持轨道的同时使J1轴31~J5轴35中的哪个轴多余地转动。与此相对,在由与末端执行器39的作业种类密切相关的焊接线坐标系∑line的各成分(Rx,Ry,Rz)表示的区域中能够进行判断。
对此,如图5所示,主控制部11从上述步骤S213中变换后的表示焊接线坐标系∑line中末端执行器39的姿势的数据的各成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz)中,取得表示应抑制变动的成分的信息(加权信息)(步骤S215)。另外,主控制部11也可以根据来自上述操作部21的输入,任意设定使哪个成分的权重较大。例如,该实施方式中,末端执行器39是有一个作业点的焊接枪,出于使用焊接枪的焊接作业的性质,相对于焊枪的作业对象(材料)的角度、焊枪的行进速度较为重要,而焊枪的绕轴转动不重要。因此,本实施方式中,上述加权信息是将焊枪倾斜角Rx、焊枪前进角Ry作为加权较大(应抑制)的成分,将焊枪转动角Rz作为加权较小(不抑制)的成分而预先设定的信息。该加权信息用作后述的步骤S216的评价式的与各成分对应的系数,该评价式选择抑制变动的候选。
接着,主控制部11从计算的下一插值点的多个候选中,选择上述步骤S215取得的用于进行抑制的加权较大的特定成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz中的任意一个或两个)的变动最少的候选(步骤S216)。例如,在抑制焊枪倾斜角和焊枪前进角的变动,允许焊枪转动角的变动的情况下,令加权系数A=1,B=1,C=0(即特定成分为焊枪倾斜角及焊枪前进角),对上述(1’)~(3’)的候选进行下式(1”)~(3”)的运算。此外,Rx、Ry、Rz是原来路径上的下一插值点的焊枪倾斜角、焊枪前进角、以及焊枪转动角。
(1”)[Fa=A(Rx-Rxa)2+B(Ry-Rya)2+C(Rz-Rza)2]
(2”)[Fb=A(Rx-Rxb)2+B(Ry-Ryb)2+C(Rz-Rzb)2]
(3”)[Fc=A(Rx-Rxc)2+B(Ry-Rye)2+C(Rz-Rzc)2]
在上述(1”)~(3”)中,对抑制变动的成分进行加权,求出上述步骤S214计算的原来路径上的下一插值点的末端执行器39的姿势角与上述步骤S213计算的例外路径上的下一插值点的各候选的末端执行器39的姿势角的差Fa~Fc,因而在该Fa~Fc中选择值最小(变动最小)的候选,将所选择的候选的驱动轴J1轴31~J6轴36的角度采用为避开特异点的动作时各轴的角度。这里,相关步骤S216的处理是角度选择步骤的一例,执行相关处理时的主控制部11相当于角度选择单元。另外,所选择的候选的驱动轴J1轴31~J6轴36的角度和J6轴36的速度保存到存储部12中。据此,重新计算驱动轴J1轴31~J6轴36的角度,使得末端执行器39的姿势数据中,从预先确定的加权较大的成分起,变动的抑制量依次增大。例如,在加权系数A=0.2,B=0,C=1的情况下,焊枪转动角Rz的变动得到最大抑制,焊枪前进角Ry的变动最大。
接着,若J6轴36的处于速度抑制处理中的标志未设立,则主控制部11设立标志,表示正在处于对J6轴36的速度抑制处理中(步骤S217)。
另外,步骤S211~S213、S216、S217是重新计算步骤的一例,执行相关处理时的主控制部11相当于重新计算单元。
通过执行上述处理(步骤S211~S217),如图8(A)、图8(B)所示,从当前插值点的位置Pi起,不发现经由特异点的原来路径上的下一插值点Pi+1,而是发现避开特异点的例外路径上的下一插值点P’i+1。
反复执行该运算(步骤S201、S211~S217),直到下一插值点为原来路径的插值点(步骤S201:其他),以计算避开特异点的例外路径。不过,在上述控制部10中,该计算处理并不是事先一起执行,而是由主控制部11每次根据当前状态和下一状态执行,因此减轻了对该主控制部11瞬间要求的处理负载,能够实现低成本化。
另外,在下一插值点的角度候选(θ6a,θ6b,θ6c)中,原本包含能够维持在允许范围内的上述抑制基准速度V6b或当前插值点的J6轴36的角度,因此根据所采用的任意候选,都能够将下一插值点的J6轴36的速度维持在允许范围内。
随后主控制部11执行的从J6轴36的速度抑制处理恢复的处理(步骤S310)的细节在后面进行描述。
(J4轴34的速度抑制处理步骤S221~S227)
在J4轴34的速度位于允许范围外,或者设立了表示处于J4轴34的速度抑制处理中的标志的情况下(步骤S201:J4轴为范围外),主控制部11与上述计算J6轴36的速度和角度候选的情况同样,计算纳入允许范围内的多个J4轴34的角度候选(步骤S221)。即,计算J4轴34的抑制基准速度V4b,并计算三个速度候选(Vθ4a=V4b-G,Vθ4b=V4b,Vθ4c=V4b+G),计算三个角度候选(θ4a,θ4b,θ4c)。此外,指定值G是已知保证事先确定的允许范围内的加速度的速度变化绝对值等。这里,相关步骤S221的处理是角度候选计算步骤的一例。
以下的步骤S222~S227、S320的处理执行与上述的J6轴36的步骤S212~S217、S310的处理相同的处理,因此省略说明。
(J4轴34·J6轴36的速度抑制处理步骤S231~S237)
在J4轴34及J6轴36两者的速度位于允许范围外,或者表示处于J4轴34及J6轴36两者的速度抑制处理中的标志已设立的情况下(步骤S201:J4轴·J6轴为范围外),主控制部11计算纳入允许范围内的一个或多个J4轴34与J6轴36两者的速度与角度候选(步骤S231)。
例如,在上述步骤S231中,考虑与上述步骤S211同样计算J6轴36的三个速度候选,与上述步骤S221同样计算J4轴34的三个速度候选,然后组合J4轴34的三个候选与J6轴36的三个候选以计算九个候选。即,主控制部11根据J6轴36的上述抑制基准速度V6b和上述指定值D生成三个速度候选(Vθ6a=V6b-D,Vθ6b=V6b,Vθ6c=V6b+D),根据J4轴34的上述抑制基准速度V4b和指定值G生成三个速度候选(Vθ4a=V4b-G,Vθ4b=V4b,Vθ4a=V4b+G)。进而,主控制部11根据当前插值点的J6轴36的角度θ6计算与上述各速度候选对应的下一插值点的三个J6轴36的角度候选(θ6a,θ6b,θ6c),根据当前插值点的J4轴34的角度θ4计算与上述各速度候选对应的下一插值点的三个J4轴34的角度候选(θ4a,θ4b,θ4c)。接着,组合上述J4轴34的候选与J6轴36的候选,计算(θ4a,θ6a),(θ4a,θ6b),(θ4a,θ6c),(θ4b,θ6a),(θ4b,θ6b),(θ4b,θ6c),(θ4c,θ6a),(θ4c,θ6b),(θ4c,θ6c)共9个候选。即,对于下一插值点的J4轴34·J6轴36,分别计算继续保持了不超过允许范围的当前插值点的速度的角度,以及与其仅相差微小量的角度。这里,相关步骤S231的处理是角度候选计算步骤的一例。
接着,主控制部11计算与所计算的下一插值点的J4轴34、J6轴36的各角度候选对应的其他驱动轴J1轴31~J5轴35的角度(步骤S232)。例如,对于J4轴34·J6轴36的每个角度候选(θ4a,θ6a)~(θ4c,θ6c)组,使用上述步骤S122中计算的下一插值点Pi+1的末端执行器39的位置(Xi+1,Yi+1,Zi+1)和第一关节驱动系统的J5轴35的角度(θ5),重新计算第二关节驱动系统的J1轴31~J3轴33的角度(θ1,θ2,θ3)。
(1)对于候选(θ4a,θ6a),根据[Xi+1,Yi+1,Zi+1,θ4a,θ5,θ6a]计算[θ1aa,θ2aa,θ3aa,θ4a,θ5,θ6a]。
(2)对于候选(θ4a,θ6b),根据[Xi+1,Yi+1,Zi+1,θ4a,θ5,θ6b]计算[θ1ab,θ2ab,θ3ab,θ4a,θ5,θ6b]。
(3)对于候选(θ4a,θ6c),根据[Xi+1,Yi+1,Zi+1,θ4a,θ5,θ6c]计算[θ1ac,θ2ac,θ3ac,θ4a,θ5,θ6c]。
(4)对于候选(θ4b,θ6a),根据[Xi+1,Yi+1,Zi+1,θ4b,θ5,θ6a]计算[θ1ba,θ2ba,θ3ba,θ4b,θ5,θ6a]。
(5)对于候选(θ4b,θ6b),根据[Xi+1,Yi+1,Zi+1,θ4b,θ5,θ-6b]计算[θ1bb,θ2bb,θ3bb,θ4b,θ5,θ6b]。
(6)对于候选(θ4b,θ6c),根据[Xi+1,Yi+1,Zi+1,θ4b,θ5,θ6c]计算[θ1bc,θ2bc,θ3bc,θ4b,θ5,θ6c]。
(7)对于候选(θ4c,θ6a),根据[Xi+1,Yi+1,Zi+1,θ4c,θ5,θ6a]计算[θ1ca,θ2ca,θ3ca,θ4c,θ5,θ6a]。
(8)对于候选(θ4c,θ6b),根据[Xi+1,Yi+1,Zi+1,θ4c,θ5,θ6b]计算[θ1cb,θ2cb,θ3cb,θ4c,θ5,θ6b]。
(9)对于候选(θ4c,θ6c),根据[Xi+1,Yi+1,Zi+1,θ4c,θ5,θ6c]计算[θ1cc,θ2cc,θ3cc,θ4c,θ5,θ6c]。
由此,计算速度不超过允许范围的下一插值点的候选P’i+1,将该下一插值点的候选P’i+1视为下一插值点,据此能够得到不超过允许范围的避开下一插值点Pi+1(特异点)的例外路径。
接着,为了结合末端执行器39的姿势来选择候选,将J1轴31~J6轴36的角度候选变换为表示末端执行器39的姿势的数据。
具体而言,主控制部11计算表示所计算的下一插值点的上述焊接线坐标系的末端执行器39的姿势的数据的各成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz)(步骤S233)。
例如,对于上述(1)~(9)的角度候选,利用下面的(1’)~(9’)计算表示末端执行器39的姿势的数据的各成分。
(1’)根据[θ1aa,θ2aa,θ3aa,θ4a,θ5,θ6a]计算[Rxaa,Ryaa,Rzaa]。
(2’)根据[θ1ab,θ2ab,θ3ab,θ4a,θ5,θ6b]计算[Rxab,Ryab,Rzab]。
(3’)根据[θ1ac,θ2ac,θ3ac,θ4a,θ5,θ6c]计算[Rxac,Ryac,Rzac]。
(4’)根据[θ1ba,θ2ba,θ3ba,θ4b,θ5,θ6a]计算[Rxba,Ryba,Rzba]。
(5’)根据[θ1bb,θ2bb,θ3bb,θ4b,θ5,θ6b]计算[Rxbb,Rybb,Rzbb]。
(6’)根据[θ1bc,θ2bc,θ3bc,θ4b,θ5,θ6c]计算[Rxbc,Rybc,Rzbc]。
(7’)根据[θ1ca,θ2ca,θ3ca,θ4c,θ5,θ6a]计算[Rxca,Ryca,Rzca]。
(8’)根据[θ1cb,θ2cb,θ3cb,θ4c,θ5,θ6b]计算[Rxcb,Rycb,Rzcb]。
(9’)根据[θ1cc,θ2cc,θ3cc,θ4c,θ5,θ6c]计算[Rxcc,Rycc,Rzcc]。
接着,主控制部11计算表示上述步骤S234所计算的下一插值点Pi+1的上述焊接线坐标系的末端执行器39的姿势的数据的各成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz)(步骤S234)。另外,该步骤S234是姿势数据变换步骤的一例,执行相关处理时的主控制部11相当于姿势数据变换单元。
接着,主控制部11从上述步骤S233中变换后的表示焊接线坐标系Σline中末端执行器39的姿势的数据的各成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz)中,取得表示应抑制变动的成分的信息(加权信息)(步骤S235)。
此外,主控制部11从计算的下一插值点的多个候选中,选择通过上述步骤S235取得的用于进行抑制的加权较大的特定成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz中的任一者)的变动最少的候选(步骤S236)。例如,在抑制焊枪倾斜角和焊枪前进的变动,允许焊枪转动角的变动的情况下,令加权系数A=1,B=1,C=0,对上述(1’)~(9’)的候选进行下面的(1”)~(9”)的运算。
(1”)[Faa=A(Rx-Rxaa)2+B(Ry-Ryaa)2+C(Rz-Rzaa)2]
(2”)[Fab=A(Rx-Rxab)2+B(Ry-Ryab)2+C(Rz-Rzab)2]
(3”)[Fac=A(Rx-Rxac)2+B(Ry-Ryac)2+C(Rz-Rzac)2]
(4”)[Fba=A(Rx-Rxba)2+B(Ry-Ryba)2+C(Rz-Rzba)2]
(5”)[Fbb=A(Rx-Rxbb)2+B(Ry-Rybb)2+C(Rz-Rzbb)2]
(6”)[Fbc=A(Rx-Rxbc)2+B(Ry-Rybc)2+C(Rz-Rzbc)2]
(7”)[Fca=A(Rx-Rxca)2+B(Ry-Ryca)2+C(Rz-Rzca)2]
(8”)[Fcb=A(Rx-Rxcb)2+B(Ry-Rycb)2+C(Rz-Rzcb)2]
(9”)[Fcc=A(Rx-Rxcc)2+B(Ry-Rycc)2+C(Rz-Rzcc)2]
在上述(1”)~(9”)中,对抑制变动的成分进行加权,求出上述步骤S234计算的原来路径的下一插值点的末端执行器39的姿势角与上述步骤S233计算的例外路径的下一插值点的各候选的末端执行器39的姿势角的差Faa~Fcc,因而在该差Faa~Fcc中选择值最小(变动最小)的候选,将所选择的候选的驱动轴J1轴31~J6轴36的角度作为避开特异点的动作时各轴的角度。这里,相关步骤S236的处理是角度选择步骤的一例,执行相关处理时的主控制部11相当于角度选择单元。另外,所选择的候选的驱动轴J1轴31~J6轴36的角度和J4轴34·J6轴36的速度保存到存储部12。
随后,若J4轴34·J6轴36的速度抑制处理中的标志未设立,则主控制部11设立标志,表示正在处于对J4轴34·J6轴36的速度抑制处理中(步骤S237)。
通过执行上述处理(步骤S231~S237),从当前插值点的位置Pi起,不发现经由特异点的原来路径上的下一插值点Pi+1,而是发现避开特异点的例外路径上的下一插值点P’i+1
从主控制部11执行的J4轴34·J6轴36的速度抑制处理恢复的处理(步骤S330)的细节在后面进行描述。
接着,参照图6说明相当于图5的步骤S310的从该多关节型机器人X的速度抑制处理恢复的处理的过程的一例。
如图8(B)所示,主控制部11根据避开特异点区间Pi~Pi+1的例外路径上的下一插值点P’i+1,计算经由特异点的原来路径上的下下个插值点Pi+2与避开特异点的例外路径上的下下个插值点P’i+2的角度差,在该差不超过指定范围的情况下向Pi+3前进并结束该处理,在超过指定范围的情况下向P’i+3前进,只要差超过指定范围,就反复执行该处理。最后,在发现了差进入指定范围内的下一插值点的情况(在该例中是P’i+4~Pi+5的情况)下,从插值点P’i+4前进到插值点Pi+5,并结束该处理。对此,以从避开特异点的路径上的当前插值点P’i+4回到经由特异点的路径上的下一插值点Pi+5的情况为中心,进行说明。
(从J6轴36的速度抑制处理恢复的处理)
首先,主控制部11取得上述步骤S122计算的经由特异点的系列的下一插值点Pi+5的J6轴36的角度θ6(i+5),以及上述步骤S214选择的避开特异点的系列的下一插值点P'i+5的J6轴36的角度θ’6(i+5)(步骤S311)。
接着,主控制部11判别避开特异点的系列的J6轴36的角度θ’6(i+5)与经由特异点的系列的J6轴36的角度θ6(i+5)的差值是否位于指定范围内(步骤S312)。另外,上述指定范围采用在以下范围内确定的角度差的值:在将J6轴36的角度θ’6(i+5)置换为角度θ6(i+5)并使末端执行器39动作的情况下,认为一般而言不会发生振动等动作上的问题的范围。即,判断避开的路径上的插值点是否已充分接近经由特异点的原来路径上的插值点以至于可以认为已返回到可视为后者的范围内。
因此,在差值超过指定范围的情况下(步骤S312:否),主控制部11结束步骤S310的恢复处理,进入步骤S14(参照图2)。在差值位于指定范围以内的情况下(步骤S312:是),主控制部11计算将J6轴36的角度θ’6(i+5)置换为角度θ6(i+5)时的速度(步骤S313)。这里,基于经由特异点的下一插值点的J6轴36的角度θ6(i+5)与避开特异点的路径的插值点的J6轴36的角度θ’6(i+4)的差,计算J6轴36的速度。
接着,主控制部11计算J6轴36的速度的允许范围(步骤S314)。例如,将避开特异点的路径的插值点的J6轴36的速度值加减指定值或指定比例得到的值作为上限·下限,计算速度的允许范围。另外,该各轴的速度的允许范围也可以根据末端执行器39的动作条件(例如焊接时的温度、涂镀时的涂镀膜的厚度等条件)、多关节型机器人动作时不引起振动等异常动作的条件等,在对作业对象的质量不产生影响的范围内预先设定。
接着,主控制部11判别J6轴36的速度是否位于指定的允许范围内(步骤S315)。另外,该允许范围采用在使末端执行器39移动的情况下不会产生振动等动作上的问题的范围内预先确定的值。
这里,在J6轴36的速度位于指定的允许范围内的情况下(步骤S315:是),主控制部11将下一插值点从P’i+5变更为Pi+5,使J6轴36的角度为θ6(i+5),计算与其对应的其他所有驱动轴J1轴31~J5轴35的角度(步骤S316)。主控制部11将所计算的所有驱动轴J1轴31~J6轴36的角度存储到存储部12中。此外,主控制部11解除表示J6轴36的速度抑制处理中的标志(步骤S317)。
另一方面,在J6轴36的速度位于指定的允许范围外的情况下(步骤S315:否),主控制部11将角度θ6(i+5)与角度θ’6(i+5)的中间角度θ”6(i+5)作为J6轴36的角度,将包含该J6轴36的角度θ”6(i+5)的插值点作为下一插值点P”i+5(步骤S318),计算与其对应的其他所有驱动轴J1轴31~J5轴35的角度(步骤S319)。即,主控制部11在将J6轴36的角度θ’6(i+5)置换为角度θ6(i+5)时,并不将该驱动轴J6轴36的角度从θ’6(i+5)急剧地变化为θ6(i+5),而是在指定的变动范围内逐渐变动。
进而,主控制部11将所计算的所有驱动轴J1轴31~J6轴36的角度存储到存储部12中。
(从J4轴34的速度抑制处理恢复的处理)
步骤S320的从J4轴34的速度抑制处理恢复的处理采用与上述从J6轴36的速度抑制处理恢复的处理(步骤S311~S319)相同的处理,因此省略说明。
(从J4轴34·J6轴36的速度抑制处理恢复的处理)
步骤S330的从J4轴34·J6轴36的速度抑制处理恢复的处理分别同时实施J4轴34的恢复处理和J6轴36的恢复处理这两者,除此以外与从J6轴36的速度抑制处理恢复的处理相同,因此省略说明。
根据以上所示的控制方法,多关节型机器人X的主控制部11作为中心,抑制用于抑制变动的加权较大的特定成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz中的任意一个或两个)的变动,避开特异点,使安装于机械手主体30的末端执行器39的位置以及姿势产生动作,据此,能够在不大幅偏离基于原来的提示点的插值点并且不变更末端执行器39的移动速度的情况下,得到所有轴的速度都纳入允许范围内的作业轨道。
例如,如图24所示,在存在J5轴35位于0度附近,J4轴34与J6轴36的角度急剧变化(即速度位于允许范围外)的特异点的情况下,通过执行上述速度抑制处理,能够抑制焊枪倾斜角Rx和焊枪前进角Ry的变动,并且如图9所示,缓和J4轴34与J6轴36的角度变动,使J4轴34与J6轴36的速度变为允许范围内的速度。
另外,如图10所示,在不进行速度限制的情况(点划线)下在特异点附近J4轴34的速度急剧变化,在仅进行速度限制的情况(实线)和实施了本发明的控制方法的情况(虚线)下速度被抑制在允许范围内。
但是,如图11所示,在仅进行速度限制的情况下,焊枪前进角、焊枪倾斜角的姿势变动角大幅变动。
但是,如图12所示,若实施本发明的控制方法,则加权较小(无须抑制速度)的焊枪转动角大幅变动,但能够抑制加权较大的焊枪倾斜角和焊枪前进角的姿势变动角的变动。
另外,如图13(A)所示,可以J1轴31在上下方向上驱动,J2轴32与J3轴33的驱动方向为相同方向,此外如图13(B)所示,也可以J1轴31和J2轴32在左右方向上驱动,J3轴33在上下方向上驱动。另外,在驱动轴在上下方向上驱动的情况下,可以不仅基于用于使各驱动轴上下移动的电动机转动的角度差,还基于各驱动轴上下移动的移动距离差来计算速度。
另外,上述说明中,描述了在速度超过允许范围的情况下,通过增加其他轴的变动量来抑制该轴的速度的方法,但在上述说明中得到的速度变化量(加速度)超过指定允许范围的情况下,可以抑制该轴的变动量,计算各轴的角度数据,从而使加速度纳入允许范围内。作为方法,将速度置换为其变化量即加速度进行计算即可。
例如,在上述步骤S123中,主控制部11作为速度的代替计算加速度,在上述步骤S131中,主控制部11计算加速度的允许范围,在上述步骤S132中,主控制部11判别由步骤S123计算的加速度是否位于由步骤S131计算的加速度的允许范围之外。然后,在位于允许范围之外的情况下,计算使加速度纳入上述允许范围内的各轴的角度数据。此时,计算加速度候选时使用的上述指定值D、上述指定值G是已知保证事先确定的允许范围内的加速度的加速度变化绝对值等。另外,由于仅将速度置换为加速度,将加速度置换为加加速度(跃度),因此这里省略其详细说明。
实施例1
本实施例1中,说明与上述实施方式不同的多关节型机器人X的控制方法。
若利用上述实施方式中说明的方法控制多关节型机器人X,则在上述J5轴35的角度的符号在作业开始位置及作业结束位置处为不同符号的情况下,也控制为该J5轴35的角度不经过0°,因此该作业结束位置处的该J5轴35的角度与原本的目标值不同。在此情况下,例如如图15所示,剩余的J4轴34、J6轴36的角度有可能急剧变化,或者有可能超过动作临界角度(例如±180°)。
另外,多关节型机器人X中,根据一个姿势数据求出的逆运动学问题的解存在两个,例如如图15所示,在J6轴36的角度的变化量急剧增减的情况下,上述J6轴36的另一解接近该J6轴36的当前角度。对此,本实施例1中,说明通过利用由逆运动学问题求出的两个解,防止J4轴34、J6轴36的急剧变化的结构。
这里,图14是用于说明多关节型机器人X的另一控制方法的流程图。此外,对于与上述实施方式说明的图2的处理内容相同的处理过程,标注相同标号,并省略其详细说明。
首先,在本实施例1的结构中,在上述步骤S13中判断为需要速度抑制处理之前(S13的“否”侧),主控制部11作为用于使末端执行器39移动到下一个插值点的J1轴31~J6轴36的角度,计算J5轴35的角度的符号与上述作业开始位置的该J5轴35的角度为相同符号的逆运动学问题的解(S12)。此外,在步骤S12中,还计算与该计算出的J4轴34~J6轴36对应的速度。
另外,在接下来的步骤S14中,主控制部11通过控制驱动指示部13,作为用于使末端执行器39移动到下一个插值点的J1轴31~J6轴36的角度,从存储部12中读出J5轴35的角度的符号与上述作业开始位置的该J5轴35的角度为相同符号的解,并输出到机械手主体30的各驱动轴的致动器。据此,J1轴31~J6轴36在末端执行器39移动到作业结束位置的位置及姿势之前(S15的“是”侧),将J5轴35的角度的符号与上述作业开始位置的该J5轴35的角度为相同符号的解作为目标值进行动作(S15的“否”侧)。
(步骤S411~S412)
另一方面,在上述步骤S13中判断为需要速度抑制处理的情况下(S13的“是”侧),主控制部11在接下来的步骤S411中,与上述步骤S12同样,计算下一插值点的J1轴31~J6轴36的角度和J4轴34~J6轴36的速度。此外,在步骤S411中,还计算与该计算出的J4轴34~J6轴36对应的速度。
但是,此时,主控制部11在作为用于使末端执行器39移动到下一插值点的J1轴31~J6轴36的角度求出的逆运动学问题的两个解中,计算J5轴35的角度的符号与上述作业开始位置的该J5轴35的角度为不同符号的逆运动学问题的解(另一解)。这里,假设作为逆运动学问题的两个解求出的J4轴34、J5轴35、J6轴36的角度为θ41、θ51、θ61和θ41’、θ51’、θ61’,则该值存在θ41-θ41’=±π、θ51+θ51’=0、θ61-θ61’=±π的关系。例如,在(θ41,θ51,θ61)=(90°,75°,0°)时,(θ41′,θ51’,θ61’)=(-90°,-75°,180°)。
这样,在本实施例1中,主控制部11在J4轴34、J6轴36的速度位于上述允许范围内的情况下,采用J5轴35的下一插值点的角度与作业开始位置的该J5轴35的角度为相同符号的逆运动学问题的解,在位于上述允许范围外的情况下,采用J5轴35的下一插值点的角度与作业开始位置的该J5轴35的角度为不同符号的逆运动学问题的解。这里,相关处理是角度计算步骤的一例,执行相关处理时的主控制部11相当于角度计算单元。
接着,在接下来的步骤S412中,主控制部11与上述步骤S13同样,判断上述步骤S412计算的J4轴34、J6轴36的速度是否位于允许范围外,或者关于J4轴34、J6轴36的速度抑制处理是否正在执行中等该速度抑制处理的必要性。
这里,判断为需要速度抑制处理时(S412的“是”侧),处理转至步骤S413,判断为不需要速度抑制处理时(S412的“否”侧),处理转至步骤S414。
<步骤S413>
在上述步骤S413中,与图5所示的上述步骤S20同样,执行用于抑制J4轴34及J6轴36中的任一者或两者的速度的速度抑制处理。但是,此时,主控制部11在作为用于使末端执行器39移动到下一插值点的J1轴31~J6轴36的角度求出的逆运动学问题的两个解中,采用J5轴35的角度的符号与上述作业开始位置的该J5轴35的角度为不同符号的解,因此J1轴31~J6轴36将该解作为目标值进行动作。此外,上述步骤S413中的处理内容中,仅J4轴34、J6轴36的角度不同,其他与上述步骤S20同样,因此省略其说明。
(步骤S414~S415)
接着,在步骤S414中,与上述步骤S14同样,主控制部11控制驱动指示部13,从而从存储部12中读出用于使末端执行器39移动到下一个插值点的J1轴31~J6轴36的角度,并输出到机械手主体30的各驱动轴的致动器。此时,J1轴31~J6轴36的角度是在上述步骤S411或上述步骤S413中将J5轴35的角度的符号与上述作业开始位置的该J5轴35的角度为不同符号的解作为目标值而计算的角度。因此,J5轴35的角度经过0°而进行推移。
随后,J1轴31~J6轴36在末端执行器39移动到作业结束位置的位置及姿势之前(S415的“是”侧),将J5轴35的角度的符号与上述作业开始位置的该J5轴35的角度为不同符号的解作为目标值进行动作(S415的“否”侧)。
这里,图15表示在J5轴35的角度的符号在作业开始位置及作业结束位置处不同的情况(从正到负、从负到正变化的情况)下,即经过0°的情况下,以往的经由特异点的路径的J4轴、J5轴和J6轴的动作结果的一例。在图15所示的例子中可知,控制使得J5轴35的角度不经过0°,作业结束位置的J5轴35的角度为正,因此其他的J4轴34、J6轴36的角度变化量变大。
另一方面,图16表示在J5轴35的角度的符号在作业开始位置及作业结束位置处不同的情况下,采用了本实施例1的多关节型机器人X的控制方法的结果的一例。在图16所示的例子中可知,通过使J5轴35经过0°,其他的J4轴34、J6轴36的角度变化量得到抑制。
此外,图17表示不采用本实施例1的多关节型机器人X的控制方法,等速动作时的末端执行器39的姿势数据的变化,图18表示采用了本实施例1的控制方法时的末端执行器39的姿势数据的变化。此外,图17、图18中,纵轴表示相对于本来的插值点的末端执行器39的姿势数据的变动量,横轴表示时间。
如图17所示,在不采用本实施例1的控制方法的情况下,倾斜角以及前进角的变动较大,但如图18所示,采用本实施例1的控制方法,将倾斜角以及前进角的加权(变动抑制量的大小)设定得较大,则能够牺牲焊接时不需要的转动角的精度,抑制倾斜角以及前进角的变动。
实施例2
另外,如上述实施方式所说明,多关节型机器人X中,在从上述作业开始位置到上述作业结束位置之间,控制为不经过J5轴35的角度为0°附近的特异点的情况下,在上述作业开始位置以及上述作业结束位置的J5轴35的角度的符号为不同符号的情况下,该作业结束位置的J5轴35的角度与期望角度不同。
另一方面,如上述实施例1所说明,多关节型机器人X中,在从上述作业开始位置到上述作业结束位置之间,控制为J5轴35的角度经过0°附近的情况下,在上述作业开始位置以及上述作业结束位置的J5轴35的角度的符号为相同符号的情况下,该作业结束位置的J5轴35的角度与期望角度不同。
在这些情况下,例如存在着多关节型机器人X的与J1轴31~J6轴36或末端执行器39等连接的线路缠绕在一起,或者由于之后的操作有可能超过J4轴34~J6轴36的驱动临界点等问题。
对此,考虑根据上述作业开始位置以及上述作业结束位置的上述第一关节驱动系统的J5轴35的符号为相同符号还是不同符号,切换执行上述实施方式的控制方法与上述实施例1的控制方法。
这里,图19是用于说明本实施例2的多关节型机器人X的控制方法的流程图。此外,对于与上述实施方式以及上述实施例1相同的处理过程,标注相同标号,并省略其说明。
具体而言,主控制部11在上述步骤S13的“是”侧与上述步骤S20以及上述步骤S411之间,执行用于判断上述作业开始位置以及上述作业结束位置的上述第一关节驱动系统的J5轴35的角度的符号为相同符号还是不同符号的处理(步骤S511的“是”侧)。
然后,主控制部11在上述作业开始位置以及上述作业结束位置的上述第一关节驱动系统的J5轴35的角度的符号为相同符号的情况下(步骤S511的“是”侧),转至上述步骤S20。在此情况下,采用上述第一关节驱动系统的J5轴35的角度的符号与上述作业开始位置的角度为相同符号的逆运动学问题的解。
另一方面,在上述作业开始位置以及上述作业结束位置的上述第一关节驱动系统的J5轴35的角度的符号为不同符号的情况下(步骤S511的“否”侧),主控制部11将处理转至步骤S411。在此情况下,采用上述第一关节驱动系统的J5轴35的角度的符号与上述作业开始位置的角度为不同符号的逆运动学问题的解。即,在上述作业开始位置以及上述作业结束位置的上述第一关节驱动系统的J5轴35的角度的符号为不同符号的情况下,在J5轴35接近0°附近,J4轴34、J6轴36的速度位于允许范围内的时候,采用上述第一关节驱动系统的J5轴35的角度的符号与上述作业开始位置的角度为相同符号的逆运动学问题的解,在J5轴35接近0°附近,J4轴34、J6轴36的速度位于允许范围外的情况下,采用上述第一关节驱动系统的J5轴35的角度的符号与上述作业开始位置的角度为不同符号的逆运动学问题的解。相关处理是角度计算步骤的一例,执行相关处理时的主控制部11相当于角度计算单元。
据此,所提示的作业结束位置的J5轴35的角度的符号与该提示的符号一致,因此能够防止例如多关节型机器人X的与J1轴31~J6轴36或末端执行器39等连接的线路缠绕在一起,或者由于之后的操作而超过J4轴34~J6轴36的驱动临界点等问题。
实施例3
另外,在上述说明中,说明了多关节型机器人X的末端执行器39的作业点为一个的情况,但如图20所示,也可以控制使用具有两个作业点的末端执行器39A的多关节型机器人X1。
多关节型机器人X1具备末端执行器39A,末端执行器39以外的其他结构与多关节型机器人X相同。另外,上述多关节型机器人X1的控制采用除了图5所示的步骤S215、S216(包括步骤S225、S226以及S235、S236)的处理以外,其他处理与上述多关节型机器人X的控制处理相同的处理。另外,在以下说明中,省略多关节型机器人X1与多关节型机器人X的相同结构以及相同处理的说明。
首先,说明与图1所示的多关节型机器人X的结构不同的部分。
末端执行器39A是安装于机械手主体30前端(J6轴36的前端),具有对作业对象产生效果的两个作业点的效果器,作为作业点有焊接器(焊枪)、涂镀器、工具、捕获器、传感器等。另外,具有两个作业点的焊枪称为双头焊枪。
接着,参照图5的流程图,以与本发明的实施方式处理不同的速度抑制处理的步骤S215、S216的处理为中心进行说明。
首先,主控制部11执行步骤S201。这里,假设相当于J6轴36的速度在允许范围外,或者表示处于速度抑制处理中的标志已设立的情况(步骤S201:J6轴为范围外)。进而执行步骤S211~步骤S214。
接着,在上述步骤S215中,主控制部11从上述步骤S213中变换后的表示焊接线坐标系∑line中末端执行器39A的姿势的数据的各成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz)中,取得表示应抑制变动的成分的信息(加权信息)。此时,该实施例1中,末端执行器39A是有两个作业点的焊接枪,出于使用焊接枪的焊接作业的性质,焊枪的绕轴转动角和焊枪的行进速度较为重要。因此,该实施例1中,作为标准设定,预先设定为将焊枪转动角Rz作为加权较大(应抑制)的成分,将焊枪前进角Ry作为加权较小(不抑制)的成分。
接着,在上述步骤S216中,主控制部11从计算的下一插值点的多个候选中,选择上述步骤S215取得的用于进行抑制的加权较大的特定成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz中的任意一个或两个)的变动最少的候选。例如,在抑制焊枪转动角Rz的变动,允许焊枪前进角Ry的变动的情况下,令加权系数A=0.2,B=0,C=1或者加权系数A=0,B=0,C=1(即特定成分为焊枪倾斜角及焊枪转动角,或者焊枪转动角),对上述步骤S213计算的各候选(1’)~(3’)进行下式(1”)~(3”)的运算。
(1”)[Fa=A(Rx-Rxa)2+B(Ry-Rya)2+C(Rz-Rza)2]
(2”)[Fb=A(Rx-Rxb)2+B(Ry-Ryb)2+C(Rz-Rzb)2]
(3”)[Fc=A(Rx-Rxc)2+B(Ry-Ryc)2+C(Rz-Rzc)2]
在(1”)~(3”)中,求出经由特异点的路径上的下一插值点的末端执行器39A的姿势角与避开特异点的路径上的下一插值点的各候选的末端执行器39A的姿势角的差,因而在Fa~Fc中选择值最小(变动最小)的候选,将所选择的候选的驱动轴J1轴31~J6轴36的角度作为避开特异点的动作时各轴的角度。
接着,主控制部11进行步骤S217以后的处理。另外,与实施方式同样,与判别为速度在允许范围外的各驱动轴对应,代替步骤S211~S216,执行步骤S221~S226或者步骤S231~S236。
根据以上所示的控制方法,多关节型机器人X的主控制部11作为中心,抑制用于进行抑制的加权较大的焊枪倾斜角Rx、焊枪转动角Rz的变动,避开特异点,使安装于机械手主体30的末端执行器39A的位置以及姿势产生动作,能够在不大幅偏离基于原来的提示点的插值点并且不变更末端执行器39A的移动速度的情况下,得到所有轴的速度都纳入允许范围内的作业轨道。
另外,如图21所示,若实施了实施例1的控制方法,则用于进行抑制的加权较小的焊枪前进角Ry大幅变动,但能够抑制用于进行抑制的加权较大的转动角Rz的姿势变动角。
实施例4
在上述说明中,说明了多关节型机器人X的第二关节驱动系统的驱动轴具有J1轴31~J3轴33的三个轴的机械手主体30的控制方法,但也可以是第二关节驱动系统的驱动轴为4个以上的机械手。另外,在以下说明中,省略多关节型机器人X与多关节型机器人X2的相同结构以及相同处理的说明。
首先,说明图1所示的多关节型机器人X与图22所示的多关节型机器人X2的结构不同的部分。
图22所示的多关节型机器人X1包括控制部10、操作部21、机械手主体30A等。机械手主体30A包括:第一关节驱动系统的3个驱动轴J4轴34、J5轴35、J6轴36,以及第二关节驱动系统的4个驱动轴J1轴31、J2轴32、J3轴33、J7轴37。
J7轴37与J1轴31~J6轴36同样,由电动机等构成,根据来自驱动指示部13的指示在正负方向上旋转驱动,多个轴的旋转驱动相互关联,由此实现人类的手腕或胳膊的动作。其中,包含上述J7轴37的第二关节驱动系统的4个驱动轴进行相当于人类的胳膊的动作,移动末端执行器39的位置。
接着,参照图2~图6的流程图,说明与本发明的实施方式处理不同的部分。
在实施方式中,根据插值点的位置及姿势Pi(Xi,Yi,Zi,αi,βi,γi),作为逆运动学问题的解计算各J1轴31~J6轴36的角度(θ1,θ2,θ3,θ4,θ5,θ6),根据插值点的各J1轴31~J6轴36的角度(θ1,θ2,θ3,θ4,θ5,θ6),作为正运动学问题的解计算位置及姿势Pi(Xi,Yi,Zi,αi,βi,γi),但在实施例4中,根据插值点的位置及姿势Pi(Xi,Yi,Zi,αi,βi,γi),作为逆运动学问题的解计算各J1轴31~J7轴37的角度(θ1,θ2,θ3,θ4,θ5,θ6,θ7),根据插值点的各J1轴31~J7轴37的角度(θ1,θ2,θ3,θ4,θ5,θ6,θ7),作为正运动学问题的解计算位置及姿势Pi(Xi,Yi,Zi,αi,βi,γi),不同之处在于角度的变量数为6还是7。
在上述步骤S122中,主控制部11通过求出逆运动学问题的解,根据下一个插值点的位置及姿势Pi+1(Xi+1,Yi+1,Zi+1,αi+1,βi+1,γi+1),计算各J1轴31~J7轴37的角度(θ1,θ2,θ3,θ4,θ5,θ6,θ7),并存储到存储部12。
接着执行与上述步骤S123相同的处理。这里,假设相当于判别为需要速度抑制处理(S13:是),J6轴36的速度在允许范围外,或者表示处于J6轴36的速度抑制处理中的标志已设立的情况(步骤S201:J6轴为范围外)。假设在步骤S211中计算了J6轴36的角度候选。
接着,在上述步骤S212中,主控制部11计算与所计算的下一插值点的J6轴36的各角度候选对应的其他驱动轴J1轴31~J5轴35、J7轴37的角度。例如,对于J6轴36的每个角度候选(θ6a,θ6b,θ6c),使用上述步骤S122中计算的下一插值点Pi+1的末端执行器39的位置(Xi+1,Yi+1,Zi+1)和第一关节驱动系统的J4轴34、J5轴35的角度(θ4,θ5),重新计算第二关节驱动系统的J1轴31~J3轴33、J7轴37的角度(θ1,θ2,θ3,θ7)。
(1)对于候选θ6a,根据[Xi+1,Yi+1,Zi+1,θ4,θ5,θ6a]计算[θ1a,θ2a,θ3a,θ4,θ5,θ6a,θ7]。
(2)对于候选θ6b,根据[Xi+1,Yi+1,Zi+1,θ4,θ5,θ6b]计算[θ1b,θ2b,θ3b,θ4,θ5,θ6b,θ7]。
(3)对于候选θ6c,根据[Xi+1,Yi+1,Zi+1,θ4,θ5,θ6c]计算[θ1c,θ2c,θ3c,θ4,θ5,θ6c,θ7]。
接着,在上述步骤S213中,主控制部11计算表示所计算的避开特异点的路径的下一插值点的上述焊接线坐标系的末端执行器39的姿势的数据的各成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz)。
例如,对于上述(1)~(3)的候选θ6a~θ6c,
(1’)根据[θ1a,θ2a,θ3a,θ4,θ5,θ6a,θ7]计算[Rxa,Rya,Rza]。
(2’)根据[θ1b,θ2b,θ3b,θ4,θ5,θ6b,θ7]计算[Rxb,Ryb,Rzb]。
(3’)根据[θ1c,θ2c,θ3c,θ4,θ5,θ6c,θ7]计算[Rxc,Ryc,Rzc]。
接着,在步骤S214中,主控制部11计算表示所计算的经由特异点的路径的下一插值点Pi+1的上述焊接线坐标系的末端执行器39的姿势的数据的各成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz)。
接着执行上述步骤S215以后的处理。另外,与实施方式同样,与判别为速度在允许范围外的各驱动轴对应,代替步骤S211~S216,执行步骤S221~S226或者步骤S231~S236。
根据以上所示的控制方法,具备第二关节驱动系统的轴为4个轴的机械手主体30A的多关节型机器人X2的主控制部11作为中心,抑制用于进行抑制的加权较大的特定成分(焊枪倾斜角Rx,焊枪前进角Ry,焊枪转动角Rz中的任意一个)的变动,避开特异点,使末端执行器39的位置以及姿势产生动作,能够在不大幅偏离基于原来的提示点的插值点并且不变更末端执行器39的移动速度的情况下,得到所有轴的速度都纳入允许范围内的作业轨道。
这样,实施例4的控制方法对于具备多关节轴的机械手的控制是有用的,该控制中,根据插值点Pi的位置及姿势(Xi,Yi,Zi,αi,βi,γi),作为逆运动学问题的解得到第一关节驱动系统的各轴的角度(θ4,θ5,θ6),并且根据插值点Pi的位置以及第一关节驱动系统的各轴的角度(Xi,Yi,Zi,θ4,θ5,θ6),作为逆运动学问题的解得到第二关节驱动系统的各轴的角度(θ1,θ2,θ3,θ7)。
因此,不限于上述具有6轴、7轴的机械手的多关节型机器人,对于具有更多数量的轴的多关节型机器人也能够适用。
实施例5
另外,多关节型机器人X的控制部10可以不使用专用系统,而是使用图29所示的连接于网络的普通计算机系统Y实现。图29的计算机系统Y例如包括主控制部11、存储部12、外存储部103、输入输出部104、显示部105、发送部106、以及内部总线109。主控制部11包含CPU(CentralProcessing Unit,中央处理单元),存储部12包含RAM(Random AccessMemory,随机存取存储器)等。主控制部11执行存储部12中存储的程序,实现作为多关节型机器人X的控制装置的控制部10。
例如,可以将用于执行上述处理的程序存储到计算机可读取的记录介质(软盘、CD-ROM、DVD-ROM等)中并进行分发,通过将该程序安装到计算机,构成执行上述处理的多关节型机器人X的控制部10。另外,也可以在因特网等通信网络上的服务器装置所具有的存储装置中存储该程序,由普通计算机系统通过下载等构成多关节型机器人X的控制部10。
以上说明了本发明的实施方式,应当认识到,由于设计上的因素或其他原因所需的各种修正或组合也包含在与权利要求书中记载的发明或发明实施方式中记载的具体例对应的发明范围中。
在上述实施方式中,例如,进行避开J5轴35的特异点的特异点避开处理,从而使第一关节驱动系统的J4轴34、J6轴36的一者或两者的速度或加速度不会位于允许范围外。这里,也可以在多关节型机器人中设置将正在进行特异点避开处理这一情况通知给外部的单元。
具体而言,在作为图5所示的用于避开特异点的处理正在进行速度抑制处理时,如图30所示,在操作部21(示教器)的显示画面M上显示表示正在进行特异点避开处理这一情况的“正在避开特异点”。表示正在进行特异点避开处理这一情况的显示不限于“正在避开特异点”,只要是可知正在进行特异点避开处理这一情况的表现,可以为任意表现。
通过以此方式显示“正在避开特异点”这一情况,操作员在焊接过程中能够了解机械手主体30是处于正在避开特异点的状态(避开焊接状态)还是处于不避开特异点的状态(正常焊接状态)。因此,例如,在作业对象(材料)焊接后进行质量检查的情况下,能够关注以避开焊接状态进行了焊接的地方并进行检查,基于该检查结果,能够适当变更以避开焊接状态进行了焊接时的焊接条件。另外,例如,操作员还能够通过注视等监视避开焊接状态下的机械手主体30的整体动作,基于该监视,在下次焊接作业等再次使机械手主体30动作时,能够重新审视机械手主体30的整体动作。
此外,除了“正在避开特异点”的显示以外,还可以在显示画面M上显示处理程序的内容(例如正在再生的程序的编号)以便了解处理程序,或者在显示画面M上显示执行处理程序的时间(再生时间)、末端执行器39的运动(例如直线移动)。此外,还可以在显示画面M上显示预先提示的焊枪的信息(例如焊枪倾斜角、焊枪前进角、焊枪转动角等)、以及当前的焊枪的信息。
据此,能够了解“正在避开特异点”的机械手主体30的详细状态。
在上述例子中,在显示画面M上显示正在进行特异点避开处理这一信息,但也可以代替这种方式,通过扬声器等用声音通知正在进行特异点避开这一情况,或者用灯等的亮灯或灭灯等通过光来进行通知。另外,正在进行特异点避开这一情况也可以显示在多关节型机器人的示教器21之外的外部显示装置上。
另外,也可以在控制部10的存储部12等中存储“正在避开特异点”的时间。然后,例如,焊接结束后可以在操作部21(示教器)的显示画面M上显示“正在避开特异点”的时间历程,从而使操作员等能够确认“正在避开特异点”的时间历程。
符号说明
X、X1、X2:多关节型机器人
10:控制部
11:主控制部
12:存储部
13:驱动指示部
21:操作部
30、30A:机械手主体
31:J1轴
32:J2轴
33:J3轴
34:J4轴
35:J5轴
36:J6轴
37:J7轴
39、39A:末端执行器

Claims (13)

1.一种多关节型机器人的控制装置,其特征在于,对多关节型机器人进行控制,所述多关节型机器人包括:第一关节驱动系统,在前端具有按照作业对象的作业线移动的作业部,并且包括与该作业部连接并使所述作业部的姿势发生变化的三个驱动轴;以及第二关节驱动系统,与所述第一关节驱动系统连接,包括使该第一关节驱动系统的位置发生变化的至少三个驱动轴,
所述多关节型机器人的控制装置包括:
插值数据计算单元,在所述多关节型机器人的基础坐标系中,计算表示对提示路径进行插值的多个插值点的所述作业部的位置及当时的姿势的数据,该提示路径连接预先提示的所述作业部的作业开始位置及当时的姿势和作业结束位置及当时的姿势;
角度计算单元,根据由所述插值数据计算单元计算出的数据求出逆运动学问题的解,据此计算表示所述插值点的所述作业部的位置及当时的姿势的、包含所述第一关节驱动系统及所述第二关节驱动系统的所有驱动轴的角度;
速度计算单元,基于由所述角度计算单元计算出的下一个所述插值点与当前的所述插值点的所述第一关节驱动系统的所述各驱动轴的角度的差,计算使所述作业部的姿势移动到下一个所述插值点时的所述第一关节驱动系统的两端的两个驱动轴的速度;
姿势数据变换单元,将由所述插值数据计算单元计算出的数据变换为姿势数据,该姿势数据表示包含所述作业部的移动方向的轴、垂直于该轴的方向的轴、以及垂直于这两个轴的轴的作业坐标系中的所述作业部的姿势;
重新计算单元,在由所述速度计算单元计算出的所述第一关节驱动系统的两端的两个驱动轴的一者或两者的速度在预先确定的允许范围外的情况下,不变更所述作业部的移动速度,并且对于由所述姿势数据变换单元变换的下一个所述插值点的所述作业部的姿势数据,抑制一个或两个特定成分的变动,同时重新计算所述第一关节驱动系统的两端的两个驱动轴的速度成为所述允许范围内的所述第一关节驱动系统的各个驱动轴的角度,基于该计算出的所述第一关节驱动系统的各个驱动轴的角度和由所述插值数据计算单元计算出的所述作业部的位置,重新计算所述第二关节驱动系统的各个驱动轴的角度;以及
驱动指示单元,在由所述速度计算单元计算出的所述第一关节驱动系统的两端的两个驱动轴的两者的速度在所述允许范围内的情况下,基于由所述角度计算单元计算出的所述各个驱动轴的角度,驱动所述多关节型机器人,在由所述速度计算单元计算出的所述第一关节驱动系统的两端的两个驱动轴的一者或两者的速度在所述允许范围外的情况下,基于由所述重新计算单元计算出的所述各个驱动轴的角度,驱动所述多关节型机器人,
所述作业部为焊枪,
所述特定成分是作业部倾斜角、作业部前进角、作业部转动角中的任意一个。
2.根据权利要求1所述的多关节型机器人的控制装置,其特征在于:
所述重新计算单元包括:
角度候选计算单元,基于当前的所述插值点的所述第一关节驱动系统的各个驱动轴的角度,计算多个该各个驱动轴的角度将由所述角度计算单元计算出的下一个所述插值点的角度作为参照进行追随,并且所述第一关节驱动系统的两端的两个驱动轴的下一个所述插值点的速度成为所述允许范围内的该各个驱动轴的角度的候选;
姿势数据计算单元,分别计算用所述作业坐标系表示采用由所述角度候选计算单元计算出的各个角度候选时下一个所述插值点的所述作业部的姿势的姿势数据;以及
角度选择单元,在由所述姿势数据计算单元计算出的多个姿势数据中,选择对于由所述姿势数据变换单元变换的下一个所述插值点的所述作业部的姿势数据,所述特定成分的变动得到最大抑制的姿势数据,选择与该姿势数据对应的角度作为所述各个驱动轴的角度。
3.根据权利要求2所述的多关节型机器人的控制装置,其特征在于:
在以±180°表示所述第一关节驱动系统的驱动轴的角度时,
所述角度计算单元计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度成为相同符号的逆运动学问题的解。
4.根据权利要求2所述的多关节型机器人的控制装置,其特征在于:
在以±180°表示所述第一关节驱动系统的驱动轴的角度时,
所述角度计算单元在由所述速度计算单元计算出的所述第一关节驱动系统的两端的两个驱动轴的两者的速度在所述允许范围内的情况下,计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度成为相同符号的逆运动学问题的解,
在由所述速度计算单元计算出的所述第一关节驱动系统的两端的两个驱动轴的一者或两者的速度在所述允许范围外的情况下,计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度成为不同符号的逆运动学问题的解。
5.根据权利要求2所述的多关节型机器人的控制装置,其特征在于:
在以±180°表示所述第一关节驱动系统的驱动轴的角度时,
所述角度计算单元,
在所述作业开始位置以及所述作业结束位置的所述第一关节驱动系统的中央的驱动轴的角度为相同符号的情况下,计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度成为相同符号的逆运动学问题的解,
在所述作业开始位置以及所述作业结束位置的所述第一关节驱动系统的中央的驱动轴的角度为不同符号的情况下,在由所述速度计算单元计算出的所述第一关节驱动系统的两端的两个驱动轴的两者的速度在所述允许范围内的情况下,计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度成为相同符号的逆运动学问题的解,在由所述速度计算单元计算出的所述第一关节驱动系统的两端的两个驱动轴的一者或两者的速度在所述允许范围外的情况下,计算所述第一关节驱动系统的位于中央的驱动轴的下一个所述插值点的角度与所述作业开始位置的该驱动轴的角度成为不同符号的逆运动学问题的解。
6.根据权利要求1至5中任一项所述的多关节型机器人的控制装置,其特征在于:
所述重新计算单元重新计算所述驱动轴的角度,使得由所述姿势数据变换单元变换后的所述作业部的姿势数据中,从预先确定的加权较大的所述特定成分起,变动的抑制量依次增大。
7.根据权利要求1至5中任一项所述的多关节型机器人的控制装置,其特征在于:
利用以所述作业部的移动方向的轴为X轴,以由所述X轴与重力方向的外积表示的轴为Y轴,以由所述X轴与所述Y轴的外积表示的方向的轴为Z轴,以所述X轴的绕轴的转动角为焊枪倾斜角,以所述Y轴的绕轴的转动角为焊枪前进角,以所述Z轴的绕轴的转动角为焊枪转动角的作业坐标系表示所述姿势数据。
8.根据权利要求7所述的多关节型机器人的控制装置,其特征在于:
所述作业部是在前端具有对所述作业对象产生作业上的效果的一个作业点的单头焊枪,
所述特定成分是所述焊枪倾斜角以及所述焊枪前进角。
9.根据权利要求7所述的多关节型机器人的控制装置,其特征在于:
所述作业部是在前端具有对所述作业对象产生作业上的效果的两个作业点的双头焊枪,
所述特定成分是所述焊枪倾斜角以及所述焊枪转动角。
10.根据权利要求1至5中任一项所述的多关节型机器人的控制装置,其特征在于:
所述驱动指示单元在由所述速度计算单元计算出的所述第一关节驱动系统的两端的两个驱动轴的一者或两者的速度在所述允许范围外的情况下,基于由所述重新计算单元计算出的所述各个驱动轴的角度,驱动所述多关节型机器人,随后,以由所述角度计算单元计算出的所述第一关节驱动系统的角度与由所述重新计算单元计算出的所述第一关节驱动系统的角度的差成为指定值以下为条件,代替由所述重新计算单元计算出的所述各个驱动轴的角度,基于由所述角度计算单元计算出的所述各个驱动轴的角度,驱动所述多关节型机器人。
11.根据权利要求10所述的多关节型机器人的控制装置,其特征在于:
所述驱动指示单元在从基于由所述重新计算单元计算出的所述各个驱动轴的角度的所述多关节机器人的驱动控制切换为基于由所述角度计算单元计算出的所述各个驱动轴的角度的所述多关节机器人的驱动控制时,使该各个驱动轴的角度在指定的变动范围内逐渐变动。
12.根据权利要求1至5中任一项所述的多关节型机器人的控制装置,其特征在于:
所述速度计算单元计算加速度来代替速度,所述重新计算单元以及所述驱动指示单元基于加速度来代替速度进行判别。
13.一种多关节型机器人的控制方法,其特征在于:
该多关节型机器人包括:第一关节驱动系统,在前端具有按照作业对象的作业线移动的作业部,包括与该作业部连接并使所述作业部的姿势发生变化的三个驱动轴;以及第二关节驱动系统,与所述第一关节驱动系统连接,包括使该第一关节驱动系统的位置发生变化的至少三个驱动轴,
该多关节型机器人的控制方法包括:
插值数据计算步骤,在所述多关节型机器人的基础坐标系中,计算表示对提示路径进行插值的多个插值点的所述作业部的位置及当时的姿势的数据,该提示路径连接预先提示的所述作业部的作业开始位置及当时的姿势和作业结束位置及当时的姿势;
角度计算步骤,根据由所述插值数据计算步骤计算出的数据求出逆运动学问题的解,据此计算表示所述插值点的所述作业部的位置及当时的姿势的、包含所述第一关节驱动系统及所述第二关节驱动系统的所有驱动轴的角度;
速度计算步骤,基于由所述角度计算步骤计算出的下一个所述插值点与当前的所述插值点的所述第一关节驱动系统的所述各驱动轴的角度的差,计算使所述作业部的姿势移动到下一个所述插值点时的所述第一关节驱动系统的两端的两个驱动轴的速度;
姿势数据变换步骤,将由所述插值数据计算步骤计算出的数据变换为姿势数据,该姿势数据表示包含所述作业部的移动方向的轴、垂直于该轴的方向的轴、以及垂直于这两个轴的轴的作业坐标系中的所述作业部的姿势;
重新计算步骤,在由所述速度计算步骤计算出的所述第一关节驱动系统的两端的两个驱动轴的一者或两者的速度在预先确定的允许范围外的情况下,不变更所述作业部的移动速度,并且对于由所述姿势数据变换步骤变换的下一个所述插值点的所述作业部的姿势数据,抑制一个或两个特定成分的变动,同时重新计算所述第一关节驱动系统的两端的两个驱动轴的速度成为所述允许范围内的所述第一关节驱动系统的各个驱动轴的角度,基于该计算出的所述第一关节驱动系统的各个驱动轴的角度和由所述插值数据计算步骤计算出的所述作业部的位置,重新计算所述第二关节驱动系统的各个驱动轴的角度;以及
驱动指示步骤,在由所述速度计算步骤计算出的所述第一关节驱动系统的两端的两个驱动轴的两者的速度在所述允许范围内的情况下,基于由所述角度计算步骤计算出的所述各个驱动轴的角度,驱动所述多关节型机器人,在由所述速度计算步骤计算出的所述第一关节驱动系统的两端的两个驱动轴的一者或两者的速度在所述允许范围外的情况下,基于由所述重新计算步骤计算出的所述各个驱动轴的角度,驱动所述多关节型机器人,
所述作业部为焊枪,
所述特定成分是作业部倾斜角、作业部前进角、作业部转动角中的任意一个。
CN201280012110.9A 2011-03-08 2012-03-02 多关节型机器人的控制装置以及控制方法 Active CN103429398B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2011-050450 2011-03-08
JP2011050450 2011-03-08
JP2011254806A JP5726052B2 (ja) 2011-03-08 2011-11-22 多関節型ロボットの制御装置,制御方法及び制御プログラム
JP2011-254806 2011-11-22
PCT/JP2012/055314 WO2012121125A1 (ja) 2011-03-08 2012-03-02 多関節型ロボットの制御装置,制御方法及び制御プログラム

Publications (2)

Publication Number Publication Date
CN103429398A CN103429398A (zh) 2013-12-04
CN103429398B true CN103429398B (zh) 2016-10-12

Family

ID=46798089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280012110.9A Active CN103429398B (zh) 2011-03-08 2012-03-02 多关节型机器人的控制装置以及控制方法

Country Status (6)

Country Link
US (1) US9199374B2 (zh)
EP (1) EP2684649B1 (zh)
JP (1) JP5726052B2 (zh)
KR (1) KR101581096B1 (zh)
CN (1) CN103429398B (zh)
WO (1) WO2012121125A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10188471B2 (en) 1999-09-17 2019-01-29 Intuitive Surgical Operations, Inc. Tele-operative surgical systems and methods of control at joint limits using inverse kinematics
JP6128767B2 (ja) * 2012-07-05 2017-05-17 キヤノン株式会社 ロボット制御装置、及びロボット制御方法
JP2014213375A (ja) * 2013-04-30 2014-11-17 株式会社ダイヘン アーク溶接装置
JP6168890B2 (ja) * 2013-04-30 2017-07-26 株式会社ダイヘン ロボット制御装置および多層盛溶接ロボットにおけるオフセット値の教示方法
CN104128692B (zh) * 2013-04-30 2018-04-10 株式会社大亨 机器人控制装置及多道焊机器人的补偿值的示教方法
JP2015085427A (ja) * 2013-10-30 2015-05-07 株式会社デンソーウェーブ 6軸ロボットの各軸角度決定方法及び6軸ロボットの制御装置
JP5785284B2 (ja) * 2014-02-17 2015-09-24 ファナック株式会社 搬送対象物の落下事故を防止するロボットシステム
JP6872904B2 (ja) * 2014-03-17 2021-05-19 インテュイティブ サージカル オペレーションズ, インコーポレイテッド 逆運動学を用いた関節制限における制御の遠隔操作手術システム及び方法
DE112014006610B4 (de) 2014-04-24 2019-09-19 Mitsubishi Electric Corporation Robotersteuerungsvorrichtung und Robotersteuerungsverfahren
JP6379853B2 (ja) 2014-08-22 2018-08-29 株式会社デンソーウェーブ ロボットの制御装置及び制御方法
JP6497102B2 (ja) * 2015-02-10 2019-04-10 株式会社デンソーウェーブ ロボットの制御装置及び制御方法
JP6497101B2 (ja) * 2015-02-10 2019-04-10 株式会社デンソーウェーブ ロボットの制御装置及び制御方法
US9682476B1 (en) * 2015-05-28 2017-06-20 X Development Llc Selecting robot poses to account for cost
EP3387496A4 (en) 2015-12-11 2019-07-31 ABB Schweiz AG PROCESS OFFLINE PROGRAMMING OF A ROBOT AND DEVICE USING THE PROCESS
JP6507094B2 (ja) * 2015-12-28 2019-04-24 株式会社東芝 マニピュレータ
JP6565752B2 (ja) 2016-03-17 2019-08-28 株式会社安川電機 ロボット制御装置及びロボット制御方法
CN105643630B (zh) * 2016-03-22 2018-04-10 深圳市百事达卓越科技股份有限公司 油罐的改造方法
US10065311B1 (en) * 2016-06-08 2018-09-04 X Development Llc Singularity handling for robot jogging
CN106041932B (zh) * 2016-07-01 2018-04-17 广东工业大学 一种ur机器人的运动控制方法
JP6577522B2 (ja) * 2017-06-07 2019-09-18 ファナック株式会社 制御装置及び機械学習装置
CN109693233B (zh) * 2017-10-20 2020-11-24 深圳市优必选科技有限公司 机器人姿态检测方法、装置、终端设备及计算机存储介质
JP2019177436A (ja) * 2018-03-30 2019-10-17 日本電産株式会社 ロボット制御装置、ロボットの関節の角度を求める方法、プログラム
JP7169370B2 (ja) * 2018-12-28 2022-11-10 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
CN109894781A (zh) * 2019-04-12 2019-06-18 常熟理工学院 多机器人焊接控制方法及系统
US11667035B2 (en) * 2019-07-01 2023-06-06 Wisconsin Alumni Research Foundation Path-modifying control system managing robot singularities
KR102281119B1 (ko) * 2019-11-27 2021-07-26 한국생산기술연구원 강화학습을 이용한 7축 로봇 제어 방법
CN115515761A (zh) * 2020-05-11 2022-12-23 发那科株式会社 程序生成装置以及程序生成方法
CN112114539B (zh) * 2020-09-25 2023-11-28 成都易慧家科技有限公司 一种双电机驱动推拉门窗的控制系统及其方法
US20230226682A1 (en) * 2022-01-18 2023-07-20 James Walter Beard, III Method for Teaching Torch Orientation for Robotic Welding
CN114750153B (zh) * 2022-04-13 2024-03-19 上海电气集团股份有限公司 机器人机械臂的运动控制系统、协作机器人及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4716350A (en) * 1986-12-08 1987-12-29 Ford Motor Company Method to avoid singularity in a robot mechanism

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58143981A (ja) * 1982-02-19 1983-08-26 株式会社日立製作所 産業用ロボツトの制御方法
JPS59107884A (ja) * 1982-12-10 1984-06-22 株式会社日立製作所 ロボツトの制御方式
US4718078A (en) * 1985-08-19 1988-01-05 Siemens Aktiengesellschaft System for controlling motion of a robot
US4680519A (en) * 1985-09-23 1987-07-14 General Electric Co. Recursive methods for world-to-joint transformation for a robot manipulator
JPS62162109A (ja) 1986-01-10 1987-07-18 Kobe Steel Ltd 多軸ロボツトの速度制御方法
JPS63305407A (ja) * 1987-06-08 1988-12-13 Fujitsu Ltd ロボットの軌跡制御方式
JPH02146607A (ja) * 1988-11-29 1990-06-05 Fanuc Ltd Nc移動指令補間方式
JPH04205208A (ja) 1990-11-30 1992-07-27 Kawasaki Heavy Ind Ltd ロボットアームの制御方法
JP3748454B2 (ja) 1993-05-14 2006-02-22 株式会社安川電機 産業用ロボットの制御装置
JP3078202B2 (ja) 1995-05-10 2000-08-21 日立造船株式会社 多関節ロボットの塗装姿勢制御方法
KR100573462B1 (ko) 1998-12-31 2007-11-12 주식회사 로보테크 산업용 로봇의 이동 제어방법_
US6845295B2 (en) * 2002-03-07 2005-01-18 Fanuc Robotics America, Inc. Method of controlling a robot through a singularity
JP3896024B2 (ja) 2002-04-09 2007-03-22 新日本製鐵株式会社 垂直多関節型マニピュレータの制御装置
KR20040034167A (ko) 2002-10-21 2004-04-28 창원대학교 공작기계기술연구센터 6축 수직다관절 매니퓰레이터의 직선이동 제어방법
JP5011525B2 (ja) * 2006-08-03 2012-08-29 国立大学法人東京工業大学 逐次検索法による6自由度ロボットアームの逆運動学、およびそれを使用するロボットのシステム、制御方法、プログラム
JP2009113172A (ja) * 2007-11-08 2009-05-28 Mitsubishi Electric Corp 指令値生成装置
JP2009166164A (ja) 2008-01-15 2009-07-30 Kobe Steel Ltd 工業用ロボット
JP2009166076A (ja) 2008-01-15 2009-07-30 Kobe Steel Ltd 溶接ロボット
JP5103237B2 (ja) * 2008-03-25 2012-12-19 株式会社神戸製鋼所 ロボットの動作余裕量演算表示方法及びその装置
US8577499B2 (en) * 2008-11-19 2013-11-05 Abb Technology Ab Method and a device for optimizing a programmed movement path for an industrial robot

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4716350A (en) * 1986-12-08 1987-12-29 Ford Motor Company Method to avoid singularity in a robot mechanism

Also Published As

Publication number Publication date
JP5726052B2 (ja) 2015-05-27
JP2012196753A (ja) 2012-10-18
KR101581096B1 (ko) 2015-12-29
EP2684649B1 (en) 2021-04-28
US20130338827A1 (en) 2013-12-19
CN103429398A (zh) 2013-12-04
KR20130122970A (ko) 2013-11-11
US9199374B2 (en) 2015-12-01
WO2012121125A1 (ja) 2012-09-13
EP2684649A4 (en) 2016-05-18
EP2684649A1 (en) 2014-01-15

Similar Documents

Publication Publication Date Title
CN103429398B (zh) 多关节型机器人的控制装置以及控制方法
Wang et al. Symbiotic human-robot collaborative assembly
Sun Synchronization and control of multiagent systems
CN108241339A (zh) 仿人机械臂的运动求解和构型控制方法
Tykal et al. Incrementally assisted kinesthetic teaching for programming by demonstration
CN106003034A (zh) 一种主从式机器人控制系统及控制方法
Green et al. Evaluating the augmented reality human-robot collaboration system
CN105643619B (zh) 一种采用框架描述的工业机器人工具位姿控制方法
JP2010137298A (ja) 複腕ロボットの作業プログラム作成方法
Kamide et al. Comparative evaluation of virtual and real humanoid with robot-oriented psychology scale
Li et al. The classification and new trends of shared control strategies in telerobotic systems: A survey
Chivarov et al. Case study on human-robot interaction of the remote-controlled service robot for elderly and disabled care
Tyrva et al. Anthropomorphic Control over Electromechanical System Motion: Simulation and Implementation
WO2000015395A1 (fr) Procede d&#39;apprentissage d&#39;un robot a axe de translation hors ligne
Van Oosterhout et al. Haptic assistance improves tele-manipulation with two asymmetric slaves
Lunding et al. AR-supported Human-Robot Collaboration: Facilitating Workspace Awareness and Parallelized Assembly Tasks
Jeong et al. Manipulation of a master manipulator with a combined‐grip‐handle of pinch and power grips
JPH01131904A (ja) ロボット操作支援システム
CN109551486A (zh) 运动参数的处理方法、装置和系统及存储介质
Robson et al. Development and Evaluation of a Passive Multiloop Wearable Hand Device for Natural Motion
Tong et al. Designing an AR facial expression system for human-robots collaboration
JP3094418B2 (ja) 産業用ロボットの協調制御方法および装置
Kshirsagar Robot Controllers, Gaze Behaviors and Human Motion Datasets for Object Handovers
JP2787207B2 (ja) 多軸位置サーボ装置
Mishima et al. Haptic teleoperation of humanoid robot hand using three-dimensional force feedback

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant