CN102528809B - 机器人控制设备 - Google Patents

机器人控制设备 Download PDF

Info

Publication number
CN102528809B
CN102528809B CN201110339526.9A CN201110339526A CN102528809B CN 102528809 B CN102528809 B CN 102528809B CN 201110339526 A CN201110339526 A CN 201110339526A CN 102528809 B CN102528809 B CN 102528809B
Authority
CN
China
Prior art keywords
order
command data
unit
shared storage
operational command
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
CN201110339526.9A
Other languages
English (en)
Other versions
CN102528809A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of CN102528809A publication Critical patent/CN102528809A/zh
Application granted granted Critical
Publication of CN102528809B publication Critical patent/CN102528809B/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/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • 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/33Director till display
    • G05B2219/33081Parallel computing, pipeline
    • 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/40449Continuous, smooth robot motion
    • 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/40495Inverse kinematics model controls trajectory planning and servo system
    • 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/40512Real time path planning, trajectory generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

本发明涉及一种机器人控制设备。在多关节机器人主体的控制中,即使轨迹计算复杂并且该计算所需的时间不确定,也有必要并行地执行复杂的轨迹计算和同步操作。为此目的,本发明的机器人控制设备包括共享存储器及与共享存储器连接的第一处理单元和第二处理单元。第一处理单元执行轨迹计算处理,所述轨迹计算处理包括基于将多关节机器人主体操作成期望的位置姿势的命令计算指示要被输出到臂马达的命令值的序列的操作命令数据,并将计算的操作命令数据存储在共享存储器中。第二处理单元执行同步处理,所述同步处理包括获取存储在共享存储器中的操作命令数据,并以预先确定的时间间隔将命令值同步地输出到臂马达。

Description

机器人控制设备
技术领域
本发明涉及一种机器人控制设备,该机器人控制设备控制驱动多关节机器人主体的关节的多个驱动单元。
背景技术
在多轴多关节机器人主体中,有必要在同步地改变关节角度的同时操作主体。如果不同步改变这些关节角度,则多关节机器人主体的端点位置的轨迹偏离(shift)。因此,机器人控制设备同步地控制驱动多关节机器人主体的各个关节的多个驱动单元(参见JP-A-2004-524171(PCT国际申请的日本译文))。指出,从多关节机器人主体的期望的位置姿势(position posture)计算各关节角度被称为逆问题。相反,从各个关节角度计算多关节机器人主体的位置姿势被称为正问题。处理这些问题的领域被称为机械学。
该常规机器人控制设备具有在其中组合具有不同特性的两个计算机的构造。计算机之一是通用计算机,另一个计算机是实时计算机。而且,通用计算机将指示多关节机器人主体的期望的位置姿势的命令输出到实时计算机。实时计算机可根据逆运动学基于输入命令来计算操作命令数据,在该操作命令数据中,命令值按时间序列排列,各命令值指示各驱动单元的关节角度。
当按时安全地操作各个驱动单元时,有必要以预先确定的时间间隔(比如,5ms)将计算的命令值同步输出到多关节机器人主体的各个驱动单元。
然而,常规机器人控制设备不能允许多关节机器人主体执行任意人类灵巧的操作。具体地讲,非常高级的复杂算法隐藏在人类灵巧的操作中,机器人控制系统必须执行基于高级的复杂算法的计算。而且,即使当多关节机器人主体的期望的位置姿势简单时,多关节机器人主体的各关节角度也绘制复杂的轨迹。也就是说,与基于正运动学的计算处理相比,基于逆运动学的计算处理复杂,并且需要很多时间。
因此,当执行这样的复杂的轨迹计算时,计算所需的时间有时变得比同步时间(输出命令值的时间间隔)长。而且,所需时间通常根据计算条件而改变。也就是说,轨迹计算所需的时间是不确定的。假设例如比同步时间(比如,5ms)无可比拟地长的1s的时间作为该所需的时间。
然而,在JP-A-2004-524171中所公开的机器人控制设备中,实时计算机有必要并行地执行复杂的轨迹计算和同步操作。因此,实时计算机必须在同步时间内完成轨迹计算,但是轨迹计算所需的时间是不确定的,以使得有时在同步时间内没有完成轨迹计算。在这样的情况下,实时计算机有必要在完成所有的轨迹计算之后执行同步操作,并且必须停止多关节机器人主体的操作,直到轨迹计算结束为止。结果,多关节机器人主体不能执行任何平滑的操作,并且不能实现人类灵巧的操作。
为了解决所述问题,本发明的目的是提供一种机器人控制设备,即使轨迹计算复杂并且计算所需的时间不确定,该机器人控制设备也能并行地执行复杂的轨迹计算和同步操作。
发明内容
根据本发明,提供一种机器人控制设备,所述机器人控制设备将关节角度的命令值输出到驱动多关节机器人主体的关节的多个驱动单元中的每个,以控制各个驱动单元的驱动操作,所述机器人控制设备包括:共享存储器;以及,第一处理单元和第二处理单元,所述第一处理单元和第二处理单元与所述共享存储器可存取地连接,其中,所述第一处理单元执行轨迹计算处理,所述轨迹计算处理包括基于用于将所述多关节机器人主体操作成期望的位置姿势的命令计算操作命令数据,并将所述操作命令数据作为计算结果存储在共享存储器中,所述操作命令数据指示要被输出到各个驱动单元的命令值的序列;以及,所述第二处理单元执行同步处理,所述同步处理包括获取存储在共享存储器中的操作命令数据,并以预先确定的时间间隔将命令值同步地输出到各个驱动单元。
根据本发明,由于通过第一处理单元执行轨迹计算处理以将操作命令数据作为计算结果存储在共享存储器中,所以第二处理单元不必执行任何复杂的轨迹计算处理。而且,由于第二处理单元不执行任何复杂的轨迹计算处理,所以可实现同步处理,所述同步处理包括将已由第一处理单元计算的操作命令数据的命令值同步地输出到各个驱动单元,而不停止多关节机器人主体的操作。因此,多关节机器人主体可执行人类灵巧的操作。
从以下参照附图对示例性实施例的描述,本发明的进一步的特征将变得清楚。
附图说明
图1是示出根据本发明的第一实施例的机器人装置的示意性构造的说明性视图。
图2是示出根据本发明的第一实施例的机器人装置的示意性构造的框图。
图3是示出根据本发明的第一实施例的机器人控制设备的各单元的操作流程的说明性图表。
图4是示出根据本发明的第一实施例的存储在共享存储器中的各命令的构造的说明性示图。
图5A是要被输出到多关节机器人主体的关节的操作命令数据的说明性示图、以及要被输出到各个关节的多条操作命令数据按时间序列排列的情况下的时序图。
图5B是要被输出到多关节机器人主体的各关节的操作命令数据的说明性示图、以及示出被图5A的圆包围的部分的命令值序列的放大图。
图6是示出使用三个命令的操作示例的时序图。
图7是示出根据本发明的第二实施例的机器人控制设备的操作流程的说明性图表。
图8是示出根据本发明的第二实施例的存储在机器人控制设备的共享存储器中的各命令的构造的说明性示图。
图9是示出根据本发明的第三实施例的机器人控制设备的第一处理单元的操作流程的说明性图表。
图10是示出根据本发明的第三实施例的机器人控制设备的第二处理单元的操作流程的说明性图表。
图11是示出由根据本发明的第四实施例的机器人控制设备生成的操作命令数据的示例的示图。
图12是示出由根据比较示例的机器人控制设备生成的操作命令数据的示例的示图。
图13是示出根据本发明的第五实施例的机器人控制设备的操作流程的说明性图表。
图14是示出由根据本发明的第四实施例的机器人控制设备生成的、被添加了偏移(offset)值的操作命令数据的示例的示图。
具体实施方式
【第一实施例】
图1是示出根据本发明的第一实施例的机器人装置的示意性构造的说明性视图。机器人装置50包括多关节机器人主体100和控制多关节机器人主体100的机器人控制设备200。
多关节机器人主体100包括多个联接件101至105和作为与末端联接件(tip link)105连接的端部执行器(effector)的手106,联接件101至105和手106通过关节J1至J6可摆动地或者可枢转地互连。在本实施例中,多关节机器人主体100是自由度为6的六轴多关节机器人。
图2是示出机器人装置50的示意性构造的框图。关节J1至J6设有作为驱动关节J1至J6的多个驱动单元的臂马达Ma(Ma1至Ma6),手106设有用于手的马达Mb。而且,虽然未显示,但是多关节机器人主体100包括直接作用致动器、气缸(cylinder)等。臂马达Ma、手马达Mb、直接作用致动器和气缸构成输出设备214。
而且,关节J1至J6设有臂编码器Ea,臂编码器Ea检测臂马达Ma的旋转角度。而且,手106设有手编码器Eb,手编码器Eb检测手马达Mb的旋转角度。在手106与末端联接件105之间,设置了力传感器Sa,力传感器Sa检测作用在手106上的力和转矩。而且,虽然未显示,但是多关节机器人主体100设有电流传感器和转矩传感器,所述电流传感器检测供给马达Ma和Mb中的每个的电流,所述转矩传感器检测关节J1至J6中的每个的转矩。这些编码器Ea和Eb、力传感器Sa、电流传感器和转矩传感器构成作为用于检测多关节机器人主体100的状态的传感器的输入设备215。以下,输入设备215和输出设备214被总称为设备207。
机器人控制设备200大致包括第一处理单元201、第二处理单元202和共享存储器203。第一处理单元201和第二处理单元202与共享存储器203可存取地连接。在本实施例中,机器人控制设备200包括一个双核CPU,该双核CPU中的核分别执行第一处理单元201的功能和第二处理单元202的功能。指出,机器人控制设备200可包括两个单核CPU,这些CPU可分别执行第一处理单元201的功能和第二处理单元202的功能。
在第一实施例中,第一处理单元201输入将多关节机器人主体100操作成期望的位置姿势的命令,并基于该输入命令计算操作命令数据(轨道数据),在该操作命令数据中,要被输出到马达Ma1至Ma6的关节角度的命令值按时间序列排列。然后,将作为计算结果的操作命令数据存储在共享存储器203中。结果,第一处理单元201执行在其中基于逆运动学的计算所需的时间不确定的轨迹计算处理。
第二处理单元202执行同步处理,该同步处理包括:获取存储在共享存储器203中的操作命令数据,并以预先确定的时间间隔将命令值同步输出到马达Ma1至Ma6。也就是说,第一实施例使得第一处理单元201执行在其中计算所需的时间不确定的复杂轨迹计算处理,并使得第二处理单元202执行马达Ma1至Ma6的同步处理。
以下,将对处理单元201和202及共享存储器203进行详细描述。第一处理单元201包括计算开始条件确定单元211和计算单元212。第二处理单元202包括操作开始条件确定单元221、接收单元222、命令值校正单元223、发送单元224和操作完成条件确定单元225。
图3是示出机器人控制设备200的各单元的操作流程的说明性图表。首先如图3所示,将包括多个命令C1、C2、C3等的命令集A预先存储在共享存储器203中。也就是说,在共享存储器203中,预先存储用于确定多关节机器人主体100的关节角度的多个命令。为了用户描述机器人操作的目的,以例如文本类型文件的形式准备命令集A。通常组合大量命令来实现机器人操作。如图4所示,各命令Cn(n是正整数)包括操作描述部分c1、计算开始条件描述部分c2、操作开始条件描述部分c3和操作完成条件描述部分c4
首先,将对存储在共享存储器203中的命令之中的用于使得马达Ma1至Ma6中的每个执行驱动操作的命令进行描述。在操作描述部分c1中,描述将多关节机器人主体100(更具体地,多关节机器人主体100的手106)操作成期望的位置姿势的命令。这里,该命令具有与“作业(job)”或“指令”相同的意义。命令指定多关节机器人主体100的手106在正交坐标系中的期望的位置姿势。也就是说,手106的期望的位置姿势通过正交坐标系中的(X,Y,Z,θX,θY,θZ)来指定。而且,例如,在操作描述部分c1中描述将手106移动到X=100mm且Y=200mm的坐标位置的命令。此外,例如,在操作描述部分c1中描述用于指定手106与其当前位置姿势的相对位置姿势的命令。
在计算开始条件描述部分c2中,描述计算单元212开始轨迹计算的条件。例如,当执行另一个包括的命令时,所述命令建立手106要到达的最终期望位置,然后所述单元开始计算。在计算开始条件描述部分c2中描述这样的条件。而且,例如,当多关节机器人主体100的操作停止时,所述单元开始计算。当传感器的值被建立时,所述单元开始计算。在计算开始条件描述部分c2中描述这样的条件。
在操作开始条件描述部分c3中,描述开始马达Ma1至Ma6中的每个的操作以执行命令的条件。例如,当两个臂合作地操作时,有必要同时开始操作。因此,例如,在操作开始条件描述部分c3中描述等待两个轨迹的计算的操作开始条件。
在操作完成条件描述部分c4中,描述完成马达Ma1至Ma6的操作的条件。例如,在马达Ma1至Ma6的轨迹到达终止端的情况下(在多关节机器人主体100到达期望的位置姿势的情况下),马达Ma1至Ma6的操作完成。在操作完成条件描述部分c4中描述这样的条件。
指出,用于使得马达Mb、未显示的直接作用致动器、未显示的气缸等执行驱动操作的命令具有与用于轨迹计算的命令的构造类似的构造,这些命令预先存储在共享存储器203中。
而且,在共享存储器203中,还存储用于使得输入设备(传感器)215执行测量操作的命令。以下,将对用于使得输入设备215执行测量操作的命令进行描述。
在操作描述部分c1中,描述对输入设备215的测量请求。在计算开始条件描述部分c2中,描述开始在输入设备215执行测量之前所需的测量准备的条件。例如,当输入设备215是附连到手106的力传感器Sa或视觉传感器时,描述该设备等待直到手106到达期望的位置姿势为止的条件。
在操作开始条件描述部分c3中,描述用于使得输入设备215开始测量操作的条件。在输入设备215是视觉传感器的情况下,描述视觉传感器可实际开始测量的条件。例如,描述这样的条件,即,在另一个机器人装置抓住测量对象的情况下,所述设备等待,直到所述机器人装置停止。在操作完成条件描述部分c4中,描述输入设备215完成测量操作的条件。例如,描述确定测量值是否变得稳定的条件。
接着,将对第一处理单元201进行描述。计算开始条件确定单元211依次参照存储在共享存储器203中的命令集A中的多个命令C1、C2、C3等的计算开始条件描述部分c2。然后,计算开始条件确定单元211从共享存储器203获取满足计算开始条件的命令的操作描述部分c1中所述的命令。
如果不存在满足计算开始条件的任何命令,则计算开始条件确定单元211等待,直到所述条件满足为止。因此,首先在开始处,多个命令C1、C2、C3等中的至少一个有必要满足计算开始条件。而且,虽然未显示,但是可通过改变来自外部的命令的计算开始条件来启动所述设备。
当接收到由计算开始条件确定单元211获取的命令时,计算单元212根据逆运动学模型基于该命令计算操作命令数据B,在操作命令数据B中,要被输出到马达Ma1至Ma6的关节角度的命令值按时间序列排列。然后,计算单元212将操作命令数据B作为计算结果存储在共享存储器203中。由于由计算单元212计算的多条操作命令数据B依次存储在共享存储器203中,所以多条操作命令数据B被存储。
以下,将参照图5A和5B中所示的特定示例对操作命令数据B进行描述。图5A是要被输出到各个关节的多条操作命令数据B按时间序列排列的情况的时序图。在计算开始条件确定单元211获取图5A中所示的将多关节机器人主体100从位置姿势P1经由位置姿势P2移动到位置姿势P3的命令的情况下,计算单元212基于该命令计算操作命令数据B。在操作命令数据B中,指示要被输出到马达Ma1至Ma6的关节J1至J6的关节角度的命令值按时间序列排列。
图5B是示出被图5A的圆包围的部分的命令值序列的放大图。如图5B所示,对关节J1中的马达Ma1计算命令值d11至d19,并对关节J6中的马达Ma6计算命令值d61至d69。然后,第二处理单元202以预先确定的时间间隔δt(即,每隔同步时间δt)将各个命令值输出到马达Ma1至Ma6。如上所述,第一处理单元201执行在其中计算复杂并且计算所需的时间不确定的轨迹计算处理。当计算单元212的以上处理操作结束时,计算开始条件确定单元211再次执行操作。
指出,计算单元212不执行手马达Mb、直接作用致动器、气缸等的轨迹计算,而是基于输入命令计算其操作命令数据,包括命令值。这也适用于输入设备215。计算单元不计算如马达Ma1至Ma6中的任何轨迹,而是执行测量之前的计算。例如,在力传感器Sa的情况下,当多关节机器人主体100(手106)来到预先确定的位置时,计算单元计算其值,由此作为计算结果的测量命令数据被存储在共享存储器203中。
接着,将对第二处理单元202进行描述。操作开始条件确定单元221参照存储在共享存储器203中的命令C1、C2、C3等的操作开始条件描述部分c3。然后,操作开始条件确定单元221从共享存储器203获取存储在共享存储器203中的多条操作命令数据B等之中的与满足操作开始条件的命令对应的操作命令数据B。此时,在多个命令满足操作开始条件的情况下,操作开始条件确定单元221从共享存储器203获取多条操作命令数据。指出,还是关于测量命令数据,当命令满足操作开始条件时,操作开始条件确定单元221从共享存储器203获取与该命令对应的测量命令数据。
接收单元222输入作为来自输入设备215(传感器)的检测结果的信号。然后,在操作开始条件确定单元221获得测量命令数据的情况下,对检测结果进行校正。例如,在力传感器Sa的情况下,每次实际执行测量时,从检测结果减去测量命令数据的命令值,由此减轻重力的影响。例如,在视觉传感器的情况下,从多关节机器人主体100的关节角度计算视觉传感器所附连到的三维位置,所述三维位置被用于实际测量期间的校正。
命令值校正单元223通过使用来自输入设备215的信号对由操作开始条件确定单元221获取的操作命令数据B的、将被同步输出到马达Ma1至Ma6的各个命令值进行校正,由此所述单元将命令值输出到发送单元224。结果,当输入设备215是例如力传感器Sa时,可执行力反馈控制。而且,当输入设备215是视觉传感器时,可执行视觉反馈控制。
计算校正量的方法已经是已知的。例如,可利用阻抗控制或者力控制,诸如文献(由日本的Robotics Society编辑且由CoronaPublishing Co.,Ltd.(Tokyo)出版的Robot Engineering Handbook,2005,287页)中所述的顺从性控制。
发送单元224输入从共享存储器203获取的各个经校正的命令值,并以预先确定的时间间隔δt,即,每隔同步时间δt,将各个命令值同步地输出到马达Ma1至Ma6。该同步时间δt短如数毫秒,例如,5毫秒。操作完成条件确定单元225基于处理的命令中的操作完成条件来确定操作是否完成。然后,将操作结果D存储在共享存储器203中。每隔同步时间δt,重复地执行单元221至225的上述操作。
根据以上构造,例如,按命令C1、C2和C3的顺序执行轨迹计算处理,并同时执行命令C1和C2。在命令C2的执行结束之后,执行命令C3。将对这种情况进行描述。图6示出使用三个命令的操作示例的时序图。
第一处理单元201的计算单元212基于从共享存储器203获取的命令C1计算与命令C1对应的操作命令数据,以将该数据存储在共享存储器203中。接着,计算单元212基于从共享存储器203获取的命令C2计算与命令C2对应的操作命令数据,以将该数据存储在共享存储器203中。接着,计算单元212基于从共享存储器203获取的命令C3计算与命令C3对应的操作命令数据,以将该数据存储在共享存储器203中。以这种方式,第一处理单元201的计算单元212逐个地依次计算各命令,以将计算结果存储在共享存储器203中。
此时,第二处理单元202的操作能够独立于第一处理单元201的计算操作,例如,即使在第一处理单元201的计算单元212基于命令C3计算操作命令数据的同时,第二处理单元202也能够进行操作。因此,第二处理单元202的操作开始条件确定单元221访问共享存储器203(而不等待第一处理单元201基于命令C3的计算结束),并获取命令C1和C2的操作命令数据。然后,第二处理单元执行命令C1和C2的相应操作。其后,第二处理单元202执行命令C3的操作。因此,在第一实施例中,可并行地执行轨迹计算处理和同步处理,这缩短了机器人装置50的操作时间。具体地讲,在机器人装置50被合并在生产装置中的情况下,由于可降低生产成本,所以操作时间的缩短非常重要。
如上所述,第一实施例使得第一处理单元201执行轨迹计算处理,以将操作命令数据B作为计算结果存储在共享存储器203中,以使得第二处理单元202不必执行任何复杂的轨迹计算处理。因此,即使当第一处理单元201花费长的计算时间时,第二处理单元202也不执行基于逆运动学的任何轨迹计算处理。因此,在操作开始条件满足之后,可立即操作各个马达Ma1至Ma6
然后,第二处理单元202不执行任何复杂的轨迹计算处理,而是执行同步处理,该同步处理包括将已经由第一处理单元201计算的操作命令数据B的命令值同步地输出到马达Ma1至Ma6。因此,可在不停止多关节机器人主体100的操作的情况下实现所述处理,并且可平滑地操作多关节机器人主体100,这使得多关节机器人主体100能够执行人类灵巧的操作。
此外,在第一实施例中,由于第一处理单元201包括计算开始条件确定单元211,所以计算单元212可在合适的定时开始计算。而且,由于第二处理单元202包括操作开始条件确定单元221,所以可在合适的定时开始操作。也就是说,由于可根据命令C1、C2、C3等在令人满意的定时执行各个轨迹计算处理和同步处理,所以机器人装置可与另一个操作装置(比如,抓持物体安装在其上的可移动台)同步。
在以上描述中,描述了一个机器人控制设备200控制一个多关节机器人主体100的情况。然而,在一个机器人控制设备200控制多个多关节机器人主体的情况下,也可执行相同的控制操作。也就是说,在共享存储器203中,预先存储用于各个多关节机器人主体的命令,并且各个处理单元201和202分别基于命令执行轨迹计算处理和同步处理。具体地讲,当同时操作各个多关节机器人主体时,可如例如图6所示那样同时输出命令C1和C2。因此,可同步地操作多个多关节机器人主体,而不停止这些多关节机器人主体。结果,可平滑地操作多个多关节机器人主体,这使得多个多关节机器人主体能够执行人类灵巧的操作。
【第二实施例】
接着,将对根据本发明的第二实施例的机器人控制设备进行描述。图7是示出机器人控制设备200A的操作流程的说明性图表,图8是示出存储在共享存储器中的各命令的构造的说明性示图。指出,在第二实施例中,用相同的参考标记表示与以上第一实施例类似的构造,并省略其描述。
如图8所示,除了以上在第一实施例中所述的操作描述部分c1、计算开始条件描述部分c2、操作开始条件描述部分c3和操作完成条件描述部分c4之外,预先存储在共享存储器203中的各命令Cn还包括状态变量c5。在第二实施例中,状态变量c5是表示计算开始等待状态、计算状态、计算完成状态、操作状态和操作完成状态之一的值。首先在开始处,将状态变量c5设置为计算开始等待状态。
计算开始等待状态是等待轨迹计算开始的状态。计算状态是图7中所示的计算单元212开始轨迹计算并正计算轨迹的状态。计算完成状态是计算单元212的计算完成并且操作命令数据B被存储在共享存储器203中的状态。操作状态是第二处理单元202A开始操作并正在操作的状态,操作完成状态是第二处理单元202A完成操作的状态。
而且,除了计算开始条件确定单元211A和计算单元212之外,图7中所示的第一处理单元201A还包括第一状态变量改变单元301和第二状态变量改变单元302。计算开始条件确定单元211A参照存储在共享存储器203中的命令C1、C2、C3等中的每个的计算开始条件描述部分c2。然后,计算开始条件确定单元211A提取满足计算开始条件的命令,在该命令中,状态变量c5具有计算开始等待状态。然后,计算开始条件确定单元211A从共享存储器203获取包括在所述命令中的操作描述部分c1中所述的一个命令。
这里,如果任何对应命令不存在,则计算开始条件确定单元211A等待,直到满足计算条件为止。因此,首先在开始处,至少一个命令必须满足计算开始条件。而且,即使当所有的命令都不满足计算开始条件,也易于改变计算开始条件,并从未显示的外部程序启动。例如,可将状态变量变为开始等待状态。
接着,第一状态变量改变单元301将由计算开始条件确定单元211A从存储在共享存储器203中的命令C1、C2、C3等获取的命令的状态变量c5从计算开始等待状态变为计算状态。然后,计算单元212基于由计算开始条件确定单元211A获取的命令计算操作命令数据B,并将操作命令数据B存储在共享存储器203中。
也就是说,计算开始条件确定单元211A不从其中状态变量c5具有除了计算开始等待状态之外的状态的命令获取任何命令,这可避免冗余的计算。
在计算单元212完成计算的情况下,第二状态变量改变单元302改变存储在共享存储器203中的命令C1、C2、C3等之中的与计算单元212完成计算的操作命令数据对应的命令的状态变量c5。具体地讲,所述单元将状态变量c5从计算状态变为计算完成状态。当第二状态变量改变单元302的以上改变操作结束时,再次执行计算开始条件确定单元211A的操作。
接着,将对第二处理单元202A进行描述。除了操作开始条件确定单元221A、接收单元222、命令值校正单元223、发送单元224和操作完成条件确定单元225之外,第二处理单元202A还包括第三状态变量改变单元303和第四状态变量改变单元304。
操作开始条件确定单元221A参照存储在共享存储器203中的命令C1、C2、C3等中的每个的操作开始条件描述部分c3。然后,操作开始条件确定单元221A从共享存储器203获取存储在共享存储器203中的多条操作命令数据B等之中的与满足操作开始条件的命令对应的操作命令数据B,在所述命令中,状态变量c5具有计算完成状态。此时,当多个命令满足操作开始条件并具有计算完成状态时,操作开始条件确定单元221A从共享存储器203获取满足条件的所有条操作命令数据B。
第三状态变量改变单元303将与由操作开始条件确定单元221A从存储在共享存储器203中的命令获取的操作命令数据B对应的命令的状态变量c5从计算完成状态变为操作状态。结果,可避免操作命令的冗余的执行,并且控制变得稳定。
接收单元222输入作为来自输入设备215(传感器)的检测结果的信号。然后,在操作开始条件确定单元221A获取测量命令数据的情况下,对检测结果进行校正。例如,在力传感器Sa的情况下,每次实际执行测量时,从检测结果减去测量命令数据的命令值,由此减轻重力的影响。而且,例如,在视觉传感器的情况下,从多关节机器人主体100的关节角度计算视觉传感器所附连到的三维位置,所述三维位置被用于实际测量期间的校正。
命令值校正单元223通过使用来自输入设备215的信号对由操作开始条件确定单元221A获取的操作命令数据B的、将被同步地输出到马达Ma1至Ma6的各个命令值进行校正,由此所述单元将命令值输出到发送单元224。结果,当输入设备215是例如力传感器Sa时,可执行力反馈控制。而且,当输入设备215是视觉传感器时,可执行视觉反馈控制。
发送单元224输入从共享存储器203获取的各个经校正的命令值,并以预先确定的时间间隔δt,即,每隔同步时间δt,将各个命令值同步地输出到马达Ma1至Ma6。该同步时间δt短如数毫秒,例如,5毫秒。操作完成条件确定单元225基于处理的命令中的操作完成条件确定操作是否完成。然后,将操作结果D存储在共享存储器203中。
第四状态变量改变单元304将存储在共享存储器203中的命令之中的与当操作完成时的操作命令数据B对应的命令的状态变量c5从操作状态变为操作完成状态。每隔同步时间δt,重复地执行各个单元221A-304的上述操作。指出,在存储在共享存储器203中的命令是用于输入设备215的命令的情况下,所述单元也类似地操作。
如上所述,第二实施例使得第一处理单元201A执行轨迹计算处理,以将操作命令数据B作为计算结果存储在共享存储器203中,因此,第二处理单元202A不必执行任何复杂的轨迹计算处理。因此,即使第一处理单元201A花费长的计算时间,第二处理单元202A也不执行基于逆运动学的任何轨迹计算处理。因此,在操作开始条件满足之后,就可立即操作马达Ma1至Ma6
然后,第二处理单元202A不执行任何复杂的轨迹计算处理,而是执行同步处理,所述同步处理包括将由第一处理单元201A已经计算的操作命令数据B的命令值同步地输出到马达Ma1至Ma6。因此,可在不停止多关节机器人主体100的操作的情况下实现所述处理,并可平滑地操作多关节机器人主体100,这使得多关节机器人主体100能够执行人类灵巧的操作。
此外,在第二实施例中,由于第一处理单元201A包括计算开始条件确定单元211A,所以计算单元212可在合适的定时开始计算。而且,由于第二处理单元202A包括操作开始条件确定单元221A,所以可在合适的定时开始操作。也就是说,由于可根据命令C1、C2、C3等在令人满意的定时执行各个轨迹计算处理和同步处理,所以机器人装置可与另一个操作装置(比如,抓持物体安装在其上的可移动台)同步。
此外,在第二实施例中,命令C1、C2、C3等包括状态变量c5。因此,当监测状态变量c5时,第一处理单元201A和第二处理单元202A的控制操作变得稳定。
在以上描述中,描述了一个机器人控制设备200A控制一个多关节机器人主体100的情况。然而,在一个机器人控制设备200A控制多个多关节机器人主体的情况下,执行相同的控制操作。也就是说,在共享存储器203中,预先存储用于各个多关节机器人主体的命令,并且处理单元201A和202A分别基于命令执行轨迹计算处理和同步处理。具体地讲,当同时操作各个多关节机器人主体时,可如例如图6中所示的那样同时输出命令C1和C2。因此,可在不停止多个多关节机器人主体的情况下同步地操作所述多个多关节机器人主体。结果,可平滑地操作多个多关节机器人主体,这使得多个多关节机器人主体能够执行人类灵巧的操作。
【第三实施例】
接着,将对根据本发明的第三实施例的机器人控制设备进行描述。图9是示出机器人控制设备的第一处理单元中的各单元的操作流程的说明性图表。图10是示出机器人控制设备的第二处理单元中的各单元的操作流程的说明性图表。指出,与以上第一实施例和第二实施例类似的构造用相同的参考标记表示,并省略其描述。这里,在以上第一实施例和第二实施例中,描述了提供一个多关节机器人主体100的情况,但是在提供两个或更多个主体的情况下执行相同的控制操作。在第三实施例中,两个多关节机器人主体100a和100b作为对象,但是,当提供一个多关节机器人主体时和当提供三个或更多个主体时,控制操作不改变。
在第三实施例中,机器人控制设备包括图9中所示的第一处理单元201B和图10中所示的第二处理单元202B。首先,将对第一处理单元201B进行描述。计算开始条件确定单元211A参照存储在共享存储器203中的命令集A中的命令C1、C2、C3等中的每个的计算开始条件描述部分c2,并选择满足计算开始条件的命令(401)。此时,计算开始条件确定单元211A根据状态变量c5是计算开始等待状态的条件搜索命令(402)。如果对应的命令不存在,则所述单元再次参照存储在共享存储器203中的命令集A中的命令C1、C2、C3等中的每个的计算开始条件描述部分c2,并选择满足计算开始条件的命令。
在计算开始条件确定单元211A获取一个命令之后,第一状态变量改变单元301将状态变量c5从计算开始等待状态变为计算状态。
计算单元212B基于由计算开始条件确定单元211A获取的命令计算操作命令数据B。计算单元212B包括处理选择单元403、马达控制计算单元404、传感器控制计算单元405、外部装置控制单元406、校正单元407和操作命令数据输出单元408。
处理选择单元403对命令的内容进行解释。马达控制计算单元404关于臂马达Ma1至Ma6计算多关节机器人主体100a和100b的关节的轨迹。在轨迹被确定之后,所述单元计算沿着轨迹前进的各关节的速度,以使得在加速和减速期间,不超过最大加速度、最大速度和最大马达转矩。已建议了各种计算方法。例如,以下文献对计算轨迹的方法进行了论述。J.E.Bobrow,S.Dubowsky,J.S.Gibson:Time-Optimal Control of Robotic Manipulators Along Specified Paths,the International Journal of Robotics Research,Vol.4,No.3(1985),p.3-17。
这样的轨迹计算需要第一力学模型409,第一力学模型409是逆运动学的模型。这里,第一力学模型409是多关节机器人主体100a和100b的仿真器,并包括逆计算单元。通过使用力学模型409,马达控制计算单元404计算当操作多关节机器人主体100a和100b时施加于各个关节的转矩和加速度,以执行轨迹计算,从而计算操作命令数据B。
传感器控制计算单元405计算测量命令数据,以将该数据输出到输入设备(传感器)215。
外部装置控制单元406处理除了多关节机器人主体100a和100b的马达之外的外部装置的命令,所述外部装置例如为气缸和由马达控制的台(table)。所述单元将操作命令数据分别输出到设备。
接着,校正单元407对计算的操作命令数据B进行校正。通常,多关节机器人具有比位置再现性(reproducibility)低的定位精度。例如,如果六轴多关节机器人主体的手线性移动,则由于关节之间的长度和关节附连误差,而导致手抖动(undulate)。由于这样的原因而导致的移动误差被再现。因此,当手下次移动时,可预期基于前面的移动的结果的改进。因此,第三实施例添加预先存储在共享存储器203中的学习数据410。获得学习数据410的方法可用已知的技术来执行。
如在例如文献(由日本的Robotics Society编辑且由CoronaPublishing Co.,Ltd.(Tokyo)出版的Robot Engineering Handbook,2005,第320页)中所讨论的,基于曾移动的轨迹与期望的轨迹之间的差异对下一个操作命令进行校正。结果,可使轨迹接近于期望的轨迹。
接着,操作命令数据输出单元408将通过使用第一力学模型409计算的经校正的操作命令数据B输出到共享存储器203。将操作命令数据B存储在与存储命令集A的存储区分离的存储区中。每一次对命令进行处理时,生成操作命令数据B。因此,多条操作命令数据B被存储在共享存储器203中。
当上述操作完成时,第一处理单元201B重新开始计算开始条件确定单元211A中的另一个命令的处理。
接着,将对第二处理单元202B进行描述。第二处理单元202B以与以上第二实施例中的方式相同的方式包括操作开始条件确定单元221A、接收单元222、命令值校正单元223、发送单元224、操作完成条件确定单元225、第三状态变量改变单元303和第四状态变量改变单元304。此外,第二处理单元202B包括缓冲写入单元413、全部数据写入确定单元414、缓冲单元415、缓冲读取单元416和机器人状态监测单元417。
操作开始条件确定单元221A参照与多条操作命令数据B1、B2、B3等中的各条操作命令数据对应的命令C1、C2、C3等中的每个的操作开始条件描述部分c3,并选择满足操作开始条件的所有条操作命令数据(411)。此时,操作开始条件确定单元221A根据状态变量c5是计算完成状态的条件搜索数据(412)。结果,操作开始条件确定单元221A获取满足操作开始条件的所有条操作命令数据。
在不存在满足操作开始条件的任何条数据的情况下,所述流程前进到缓冲读取单元416。在存在满足操作开始条件的一条数据的情况下,缓冲写入单元413将数据写入缓冲单元415中。
缓冲单元415被称为环缓冲器(ring buffer),并包括分别与设备207对应的轨迹。也就是说,缓冲单元415包括分别与臂马达Ma1至Ma6对应的(六个)轨迹,并另外包括分别与其它设备对应的轨迹。缓冲单元415保存写位置和读位置。
缓冲单元415是矩形状存储区,行(轨迹)的数量对应于所有设备207的数量,被称为轨迹宽度。例如,当总共提供30个马达和传感器时,缓冲单元具有30行的轨迹宽度。列方向指示时间,一列指示同步时间δt的一个区。例如,当同步时间间隔δt是1ms并且积累了40秒时,列数为40000。缓冲写入单元413使用缓冲单元415的写位置作为参照,以将由操作开始条件确定单元221A获取的操作命令数据的命令值按时间序列的顺序连续地写入与设备207中的每个对应的轨迹中。
而且,缓冲读取单元416从缓冲单元415的各个轨迹读取要被同时输出的命令值。所述单元的特征在于同时读取用于所有设备207的操作命令数据的命令值。而且,在读取之后,将下一个读取列移位一个列那么多。如果所述单元到达最后一列,则所述单元返回到第一列。也就是说,缓冲单元415具有带状环形,所述带状环形具有轨迹宽度。而且,缓冲单元415首先将整个单元重设为“无操作命令”的状态。
在图10中,缓冲写入单元413将由操作开始条件确定单元221A获取的操作命令数据从缓冲单元415的写位置写入到对应的轨迹中。当用于一列的命令值的写入处理结束时,将写位置前进写入的数据块那么多。当写位置到达缓冲单元415的终止端时,将该位置返回到缓冲单元415的顶部。而且,在操作命令数据的所有命令值的写入处理没有在预先确定的时间(同步时间δt)内结束的情况下,在下一轮将剩余的命令值写入缓冲单元415中。写位置前进写入的数据块(命令值)那么多,因此,没有丢失连续性。
当缓冲写入单元413的写入处理完成时,全部数据写入确定单元414确定是否完成了操作命令数据的所有写入。如果所述处理没有完成,则所述处理前进到缓冲读取单元416的处理。这里,在所述处理没有完成的情况下,如上所述,仅写入命令值的一部分,并且命令值留在操作命令数据中。当写入处理完成时,第三状态变量改变单元303将状态变量c5从计算完成状态变为操作状态。
缓冲读取单元416从缓冲单元415的读位置读取操作命令数据。通过从缓冲单元415进行读取,可同时获取用于所有设备207的数据(命令值)。在读取数据之后,缓冲读取单元416执行以下两个操作。在第一个操作中,清除读位置处的数据,并将状态返回到没有任何操作命令的原始状态。在第二个操作中,将读位置更新为下一个位置。此时,在读位置到达缓冲单元415的终止端的情况下,将该位置返回到缓冲单元415的顶部。因此,当缓冲写入单元413没有写入任何操作命令时,读取没有任何操作命令的状态。
以这种方式,将存储在共享存储器203中的操作命令数据B一次存储在缓冲单元415中,这可显著地减少存取共享存储器203的次数。这最终减少了当第一处理单元201B和第二处理单元202B二者同时存取共享存储器203时的存取冲突次数,由此提高操作速度。
接收单元222输入来自输入设备215(传感器)的测量值。在输入设备是例如编码器的情况下,接收单元接收马达的旋转角度位置。具体地讲,各接收器222b输入来自各输入设备215的信号,并将各测量值输出到接收控制单元222a。接收控制单元222a对各测量值进行校正,并将值输出到命令值校正单元223。
命令值校正单元223基于输入的测量值对操作命令数据B进行校正。在输入设备215是力传感器的情况下,可执行力反馈控制,在输入设备215是视觉传感器的情况下,可执行视觉反馈控制。
发送单元224将操作命令数据B的命令值发送到设备207。在设备207是马达的情况下,发送单元发送指示马达关节角度的命令值,在设备207是传感器的情况下,所述单元发送指示信号输入命令的命令值。具体地讲,发送控制单元224a在预先确定的时间输出各命令值,并且各发送器224b将该值输出到各输出设备214。各个输出设备214基于输入的命令值进行操作。
机器人状态监测单元417监测多关节机器人主体100a和100b的姿势,并通过使用第二力学模型418计算多关节机器人主体100a和100b(手)的位置姿势,第二力学模型418是正运动学模型。例如,在使进入预先设定的移动禁止区域的手停止的情况下,手位置姿势的计算结果被用于确定。
这里,第一处理单元201B通过使用第一力学模型409从多关节机器人主体100a和100b的手的位置姿势计算指示多关节机器人主体100a和100b的关节角度的命令值。
另一方面,当监测多关节机器人主体100a和100b的状态时,第二处理单元202B使用与第一力学模型409分离的第二力学模型418。也就是说,机器人状态监测单元417通过使用第二力学模型418执行正计算,以从多关节机器人主体100a和100b的关节角度计算多关节机器人主体100a和100b的手的位置。然后,机器人状态监测单元417将计算结果存储在共享存储器203中与命令集A和操作命令数据B的存储区分离的存储区中。
因此,由于第一处理单元201B和第二处理单元202B设有两个相应的独立力学模型409和418,所以所述单元不彼此干扰。也就是说,第二处理单元202B更新存放多关节机器人主体100a和100b(手)的位置姿势的存储器的内容。然而,将数据存储在与命令集A和操作命令数据B的存储区分离的存储区中,因此,所述单元不彼此影响。
接着,操作完成条件确定单元225基于处理的命令中的操作完成条件确定操作是否完成。在确定操作完成的方法中,例如,当操作命令数据的所有命令值被从缓冲单元415读取并被发送到了设备207时,确定操作完成。作为备选的方案,当多关节机器人主体100a和100b的手的位置进入预先设定的移动完成区域时,确定操作完成。在操作完成的情况下,第四状态变量改变单元304将状态变量c5从操作状态变为操作完成状态。每一个预先确定的同步时间δt,重复执行第二处理单元202B的以上处理。
因此,以与第一实施例和第二实施例中的方式相同的方式,第三实施例使得第一处理单元201B执行轨迹计算处理,以将操作命令数据B作为计算结果存储在共享存储器203中,因此,第二处理单元202B不必执行任何复杂的轨迹计算处理。结果,可在不停止多关节机器人主体100a和100b的操作的情况下实现同步处理,所述同步处理包括将已经由第一处理单元201B计算的操作命令数据B的命令值同步地输出到马达Ma1至Ma6。这使得多关节机器人主体100a和100b能够执行人类灵巧的操作。
【第四实施例】
接着,将对根据本发明的第四实施例的机器人控制设备进行描述。指出,机器人控制设备的构造与以上第一实施例至第三实施例类似。图11是示出由机器人控制设备生成的操作命令数据的示例的示图。指出,多关节机器人主体是多轴的,因此,多个命令值序列输出到关节的马达,但是仅示出了一个命令值序列进行描述。当多关节机器人主体重复相同操作时,第一条操作命令数据与第二条操作命令数据相同,因此,可省略第二条和后面条操作命令数据的计算。
因此,在第四实施例中,计算单元212(212B)确定基于由计算开始条件确定单元211(211A)获取的命令计算的操作命令数据是否与存储在共享存储器203中的操作命令数据B匹配。然后,在计算单元212(212B)确定这些条数据彼此匹配的情况下,省略操作命令数据的计算。
这里,即使数据被操作开始条件确定单元221(221A)读取了一次,也不删除存储在共享存储器203中的操作命令数据,而是保留该操作命令数据。结果,即使当计算单元212(212B)省略计算时,由于操作命令数据没有被删除而是被保留在共享存储器203中,所以操作开始条件确定单元221(221A)能够再次获取操作命令数据。
这里,命令C1、C2、C3等具有标志,各标志指示操作命令数据是否已被计算,并且计算单元212(212B)可参照标志确定数据是否已被计算。在计算单元212(212B)的计算结束之后,计算单元212(212B)改变该标志。
如上所述,在第四实施例中,通过第一操作计算的操作命令数据在第二操作和随后的操作中被再利用。以这种方式,省略复杂的轨迹计算。因此,能以更高的速度操作多关节机器人主体100,并可分离出第一处理单元201(201A和201B)的计算能力,以备后用。
【第五实施例】
接着,将对根据本发明的第五实施例的机器人控制设备进行描述。在以上的第四实施例中,描述了如图11中所示的两个连续条操作命令数据之一的终止端值与另一条操作命令数据的起始端值匹配的情况。然而,如图12所示,两个连续条操作命令数据之一的终止端值与另一条操作命令数据的起始端值不匹配,并且有时候,所述值彼此偏离差值Δf那么多。当这些值彼此不匹配时,不平滑地操作多关节机器人主体的基于第二条操作命令数据的操作。因此,第五实施例执行包括添加偏移值的处理。
图13是示出根据第五实施例的机器人控制设备200C的各单元的操作流程的图表。指出,图13的设备与以上第二实施例的机器人控制设备200A的不同之处在于操作开始条件确定单元的操作。其它构造相同,因此,用相同的参考编号表示,并且省略其描述。
机器人控制设备200C的第二处理单元202C包括与以上第二实施例不同的操作开始条件确定单元221C。具体地讲,操作开始条件确定单元221C具有以与第二实施例的操作开始条件确定单元221A中的方式相同的方式操作的功能,并另外包括偏移添加单元501。
也就是说,操作开始条件确定单元221C的偏移添加单元501计算先前从共享存储器203获取的操作命令数据的最后命令值(终止端值)与当前从共享存储器203获取的操作命令数据的第一命令值(起始端值)之间的差值Δf。然后,操作开始条件确定单元221C的偏移添加单元501从当前从共享存储器203获取的操作命令数据的第一命令值起按时间序列的顺序将偏移值添加到命令值,所述偏移值从作为初始值的差值Δf逐渐地减小到零。
也就是说,当重新利用操作命令数据时,偏移添加单元501计算操作命令数据的顶部数据与当前位置之间的差,并将偏移值添加到操作命令数据,所述偏移值从作为初始值的差值逐渐地减小到零。
图14示出被添加了偏移值的操作命令数据的示例。当将从作为初始值的差值Δf逐渐减小到零的偏移值f(t)添加到操作命令数据时,可执行平滑的操作。
偏移函数f(t)具有如下两个必要要求。所述要求是初始值等于差值Δf,并且所述值随时间流逝减小到零。例如,当差值是Δf、直到偏移值变为零所需的时间是T、并且从输出要被再利用的操作命令数据的第一命令值时起所流逝的时间是t时,以下偏移函数f(t)是有效的。
【式1】
f ( t ) = Δf T - t T , 0 ≤ t ≤ T
f(t)=0    T<t
该线性函数的计算量小,因此,计算机上的负担轻。
然而,下一个函数更平滑。
【式2】
f ( t ) = Δf [ cos [ πt T ] + 1 ] 2 , 0 ≤ t ≤ T
f(t)=0    T<t
该余弦函数的两端比线性函数的两端平滑。因此,可更平滑地操作多关节机器人主体。
已参照以上第一实施例至第五实施例对本发明进行了描述,但是本发明不限于这些实施例。驱动单元的示例包括伺服马达和线性马达,并另外包括压电式致动器和使用气压的气缸。另一方面,可将包括编码器和位移计的各种类型的传感器应用于测量马达、照相机和力检测负载单元的旋转角度。

Claims (7)

1.一种机器人控制设备,所述机器人控制设备将关节角度的命令值输出到驱动多关节机器人主体的关节的多个驱动单元中的每个,以控制各个驱动单元的驱动操作,所述机器人控制设备包括:
共享存储器;和
第一处理单元和第二处理单元,所述第一处理单元和第二处理单元与所述共享存储器可存取地连接,
其中,所述第一处理单元执行轨迹计算处理,所述轨迹计算处理包括基于用于将所述多关节机器人主体操作成期望的位置姿势的命令计算操作命令数据,并将所述操作命令数据作为计算结果存储在共享存储器中,所述操作命令数据指示要被输出到各个驱动单元的命令值的序列;以及
所述第二处理单元执行同步处理,所述同步处理包括获取存储在共享存储器中的操作命令数据,并以预先确定的时间间隔将命令值同步地输出到各个驱动单元,
其中,所述第二处理单元的操作能够独立于所述第一处理单元的计算处理,
其中,所述共享存储器存储命令,各命令包括:
操作描述部分,在所述操作描述部分中描述了用于将所述多关节机器人主体操作成期望的位置姿势的命令;
计算开始条件描述部分,在所述计算开始条件描述部分中描述了基于所述操作描述部分中描述的命令计算所述操作命令数据的计算开始条件;和
操作开始条件描述部分,在所述操作开始条件描述部分中描述了操作各个驱动单元的操作开始条件,
其中,所述第一处理单元包括:
计算开始条件确定单元,所述计算开始条件确定单元参照存储在所述共享存储器中的各命令的计算开始条件描述部分,并从所述共享存储器获取满足所述计算开始条件的命令的操作描述部分中描述的命令;和
计算单元,所述计算单元基于由所述计算开始条件确定单元获取的命令计算所述操作命令数据,以将所述操作命令数据存储在所述共享存储器中;
其中,所述第二处理单元包括:
操作开始条件确定单元,所述操作开始条件确定单元参照存储在所述共享存储器中的各命令的操作开始条件描述部分,并从所述共享存储器获取存储在所述共享存储器中的多条操作命令数据之中的与满足所述操作开始条件的命令对应的操作命令数据;和
发送单元,所述发送单元从由所述操作开始条件确定单元获取的操作命令数据获取与各驱动单元对应的命令值,而以预先确定的时间间隔将所述命令值同步地输出到各个驱动单元。
2.根据权利要求1所述的机器人控制设备,其中,所述共享存储器存储命令,各命令包括:
操作描述部分,在所述操作描述部分中描述了将所述多关节机器人主体操作成期望的位置姿势的命令;
计算开始条件描述部分,在所述计算开始条件描述部分中描述了基于所述操作描述部分中描述的命令计算所述操作命令数据的计算开始条件;
操作开始条件描述部分,在所述操作开始条件描述部分中描述了操作各个驱动单元的操作开始条件;和
状态变量,所述状态变量指示计算开始等待状态、计算状态、计算完成状态和操作状态中的至少一个,
其中,所述第一处理单元包括:
计算开始条件确定单元,所述计算开始条件确定单元参照存储在所述共享存储器中的各命令的计算开始条件描述部分,并从所述共享存储器获取满足所述计算开始条件且具有指示计算开始等待状态的状态变量的命令的操作描述部分中描述的命令;
第一状态变量改变单元,所述第一状态变量改变单元将由所述计算开始条件确定单元从存储在所述共享存储器中的命令获取的命令的状态变量变为计算状态;
计算单元,所述计算单元基于由所述计算开始条件确定单元获取的命令计算所述操作命令数据,以将所述操作命令数据存储在所述共享存储器中;和
第二状态变量改变单元,所述第二状态变量改变单元将存储在所述共享存储器中的命令之中的与所述计算单元完成计算的操作命令数据对应的命令的状态变量变为计算完成状态,
其中,所述第二处理单元包括:
操作开始条件确定单元,所述操作开始条件确定单元参照存储在所述共享存储器中的各命令的操作开始条件描述部分,并从所述共享存储器获取存储在所述共享存储器中的多条操作命令数据之中的与满足所述操作开始条件且具有指示计算完成状态的状态变量的命令对应的操作命令数据;
第三状态变量改变单元,所述第三状态变量改变单元将与由所述操作开始条件确定单元从存储在所述共享存储器中的命令获取的操作命令数据对应的命令的状态变量变为操作状态;和
发送单元,所述发送单元从由所述操作开始条件确定单元获取的操作命令数据获取与各驱动单元对应的命令值,而以预先确定的时间间隔将所述命令值同步地输出到各个驱动单元。
3.根据权利要求1所述的机器人控制设备,其中,所述第二处理单元包括:
缓冲单元,所述缓冲单元包括分别与所述驱动单元对应的轨道;
缓冲写入单元,所述缓冲写入单元将由所述操作开始条件确定单元获取的操作命令数据的命令值按时间序列的顺序连续地写入与各驱动单元对应的轨道中;和
缓冲读取单元,所述缓冲读取单元从所述缓冲单元的各个轨道读取要被同时输出的命令值。
4.根据权利要求1所述的机器人控制设备,其中,在确定基于由所述计算开始条件确定单元获取的命令计算的操作命令数据与存储在所述共享存储器中的操作命令数据匹配的情况下,所述计算单元省略所述计算。
5.根据权利要求4所述的机器人控制设备,其中,所述操作开始条件确定单元计算先前从所述共享存储器获取的操作命令数据的最后命令值与当前从所述共享处理器获取的操作命令数据的第一命令值之间的差值,并由当前从所述共享存储器获取的操作命令数据的第一命令值起按时间序列的顺序将偏移值添加到所述命令值,以对所述命令值进行校正,所述偏移值从作为初始值的所述差值逐渐减小到零。
6.根据权利要求1所述的机器人控制设备,其中,所述第二处理单元包括机器人状态监测单元,所述机器人状态监测单元监测所述多关节机器人主体的姿势,
所述计算单元通过使用逆运动学模型计算所述操作命令数据,以及
所述机器人状态监测单元通过使用正运动学模型计算所述多关节机器人主体的位置姿势。
7.根据权利要求1所述的机器人控制设备,还包括:
传感器,所述传感器检测所述多关节机器人主体的状态,
其中,所述第二处理单元包括命令值校正单元,所述命令值校正单元通过使用所述传感器的检测结果对由所述操作开始条件确定单元获取的操作命令数据的命令值进行校正。
CN201110339526.9A 2010-11-05 2011-11-01 机器人控制设备 Active CN102528809B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010248187A JP5743495B2 (ja) 2010-11-05 2010-11-05 ロボット制御装置
JP2010-248187 2010-11-05

Publications (2)

Publication Number Publication Date
CN102528809A CN102528809A (zh) 2012-07-04
CN102528809B true CN102528809B (zh) 2015-01-14

Family

ID=45065642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110339526.9A Active CN102528809B (zh) 2010-11-05 2011-11-01 机器人控制设备

Country Status (4)

Country Link
US (1) US8744625B2 (zh)
EP (1) EP2450157B1 (zh)
JP (1) JP5743495B2 (zh)
CN (1) CN102528809B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5743495B2 (ja) * 2010-11-05 2015-07-01 キヤノン株式会社 ロボット制御装置
JP5896789B2 (ja) 2012-03-07 2016-03-30 キヤノン株式会社 ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体
WO2014110748A1 (en) * 2013-01-17 2014-07-24 Abb Technology Ltd. Motion controller and robot control system using the same
WO2014110749A1 (en) * 2013-01-17 2014-07-24 Abb Technology Ltd. Robot control system and method thereof
JP6211802B2 (ja) * 2013-05-29 2017-10-11 日本電産サンキョー株式会社 データ処理装置およびデータ処理方法
JP6238628B2 (ja) 2013-08-06 2017-11-29 キヤノン株式会社 ロボット装置、ロボット制御方法、ロボット制御プログラム及びロボット装置を用いた部品の製造方法
JP6288104B2 (ja) * 2013-11-05 2018-03-07 株式会社安川電機 トレースデータ収集システム、操作端末、及びトレースデータ収集方法
JP6510761B2 (ja) * 2014-04-08 2019-05-08 川崎重工業株式会社 データ採取システムおよび方法
CN105500361B (zh) * 2014-09-23 2017-07-11 上海通用汽车有限公司 一种连杆结构机械手的运动控制方法及系统
CN104440910B (zh) * 2014-11-07 2016-05-04 绵阳市维博电子有限责任公司 一种实现机器人双手臂同步控制的方法及系统
CN105843081A (zh) * 2015-01-12 2016-08-10 芋头科技(杭州)有限公司 控制系统及控制方法
JP6700669B2 (ja) 2015-04-07 2020-05-27 キヤノン株式会社 制御方法、ロボット装置、プログラム、記録媒体、及び物品の製造方法
KR102430277B1 (ko) * 2015-11-27 2022-08-09 큐렉소 주식회사 정형외과 수술용 마커 위치 확인 시스템 및 그 확인 방법
DE102015225183B4 (de) * 2015-12-15 2022-09-15 Carl Zeiss Meditec Ag Medizinische Vorrichtung mit einem medizinisch-optischen Gerät und einer Haltevorrichtung und Verfahren zum Betrieb der medizinischen Vorrichtung
JP6363643B2 (ja) * 2016-03-04 2018-07-25 ファナック株式会社 プログラム指令の解析桁数を増やすことを可能とする数値制御装置
JP2018037021A (ja) * 2016-09-02 2018-03-08 オムロン株式会社 制御装置および制御システム
JP6851837B2 (ja) * 2017-01-20 2021-03-31 キヤノン株式会社 制御装置、ロボットシステム、制御方法、プログラム、記録媒体及び物品の製造方法
EP3589457B1 (en) * 2017-03-01 2022-01-12 Omron Corporation Monitored control system
CN107745382A (zh) * 2017-09-29 2018-03-02 李少锋 机器手臂的同步控制系统
CN109960178B (zh) * 2017-12-26 2020-10-16 深圳市优必选科技有限公司 机器人及其关节运动控制方法、装置
CN112236728B (zh) * 2018-06-22 2024-05-03 软件伺服系统公司 运动控制程序、运动控制方法以及运动控制装置
KR102288826B1 (ko) * 2018-06-22 2021-08-12 소프트 서보 시스템즈 가부시키가이샤 모션 제어 프로그램, 모션 제어 방법 및 모션 제어 장치
US11045950B2 (en) 2018-11-02 2021-06-29 Canon Kabushiki Kaisha Driving device and detecting device
WO2020161880A1 (ja) * 2019-02-08 2020-08-13 日本電気株式会社 動作モデル算出装置、制御装置、関節機構、動作モデル算出方法、プログラムが記録された記録媒体
US20220226993A1 (en) * 2019-04-17 2022-07-21 Universal Robots A/S Method of controlling a robot arm based on adaptive friction
DE102019135810B3 (de) * 2019-12-27 2020-10-29 Franka Emika Gmbh Erzeugung eines Steuerprogramms für einen Robotermanipulator
JP7490979B2 (ja) * 2020-02-17 2024-05-28 オムロン株式会社 処理装置、及び処理方法
JP7137042B1 (ja) * 2022-03-04 2022-09-13 ファナック株式会社 産業機械の制御装置
KR20240011342A (ko) * 2022-07-19 2024-01-26 코가로보틱스 주식회사 로봇 제어를 위한 데이터 처리 장치 및 방법
KR102607429B1 (ko) * 2023-03-13 2023-11-29 (주)빅텍스 매니퓰레이터 보정 제어장치 및 장치 제어방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1279140A (zh) * 1999-06-25 2001-01-10 三星电子株式会社 焊接机器人系统
CN1484807A (zh) * 2000-12-28 2004-03-24 自动装置工作空间技术有限公司 多功能机器人控制系统
CN1876334A (zh) * 2005-06-07 2006-12-13 发那科株式会社 机械手控制装置及机械手控制方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61117605A (ja) * 1984-11-14 1986-06-05 Hitachi Ltd ロボツトの制御方法
JPH0538689A (ja) * 1991-07-29 1993-02-19 Toshiba Corp 多関節ロボツトの分散制御システム
US5739811A (en) * 1993-07-16 1998-04-14 Immersion Human Interface Corporation Method and apparatus for controlling human-computer interface systems providing force feedback
US5701140A (en) * 1993-07-16 1997-12-23 Immersion Human Interface Corp. Method and apparatus for providing a cursor control interface with force feedback
JP3309559B2 (ja) * 1994-03-28 2002-07-29 株式会社デンソー サーボ制御装置
JPH08328628A (ja) 1995-06-02 1996-12-13 Yaskawa Electric Corp 複数ロボット制御装置
JPH1020922A (ja) * 1996-07-05 1998-01-23 Seiko Epson Corp ロボットコントローラおよびそのプログラム更新方法
JP3023667B2 (ja) * 1997-03-27 2000-03-21 ファナック株式会社 数値制御方法
US6659939B2 (en) * 1998-11-20 2003-12-09 Intuitive Surgical, Inc. Cooperative minimally invasive telesurgical system
US6865441B2 (en) * 2002-12-19 2005-03-08 National Instruments Corporation Parallel trajectory generation, interpolation, and control in a motion control application
JP4587738B2 (ja) * 2003-08-25 2010-11-24 ソニー株式会社 ロボット装置及びロボットの姿勢制御方法
JP2006187826A (ja) * 2005-01-05 2006-07-20 Kawasaki Heavy Ind Ltd ロボットコントローラ
JP4810251B2 (ja) * 2006-02-16 2011-11-09 キヤノン株式会社 原子間力顕微鏡
JP4941068B2 (ja) * 2007-04-16 2012-05-30 トヨタ自動車株式会社 経路作成方法及び経路作成装置
US7915787B2 (en) * 2007-07-20 2011-03-29 Canon Kabushiki Kaisha Actuator
JP4839487B2 (ja) * 2007-12-04 2011-12-21 本田技研工業株式会社 ロボット及びタスク実行システム
DE102008005124A1 (de) * 2008-01-18 2009-07-23 Kuka Roboter Gmbh Computersystem, Steuerungsvorrichtung für eine Maschine, insbesondere für einen Industrieroboter, und Industrieroboter
US8175749B2 (en) * 2008-02-28 2012-05-08 Panasonic Corporation Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit for controlling robot arm
AU2009221571B2 (en) 2008-03-06 2014-03-06 Commonwealth Scientific And Industrial Research Organisation Manufacture of pipes
JP5424581B2 (ja) * 2008-06-06 2014-02-26 キヤノン株式会社 部分測定を合成する形状測定方法
JP4568795B2 (ja) * 2009-01-09 2010-10-27 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
WO2012029227A1 (ja) * 2010-08-31 2012-03-08 パナソニック株式会社 マスタースレーブロボットの制御装置及び制御方法、マスタースレーブロボット、制御プログラム、並びに、集積電子回路
JP5743495B2 (ja) * 2010-11-05 2015-07-01 キヤノン株式会社 ロボット制御装置
JP2012232363A (ja) * 2011-04-28 2012-11-29 Seiko Epson Corp ロボット制御システム、ロボットシステム及びプログラム
JP5962020B2 (ja) * 2012-01-17 2016-08-03 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、ロボット及びロボット制御方法
JP5966372B2 (ja) * 2012-01-17 2016-08-10 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、ロボット制御方法及びロボット

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1279140A (zh) * 1999-06-25 2001-01-10 三星电子株式会社 焊接机器人系统
CN1484807A (zh) * 2000-12-28 2004-03-24 自动装置工作空间技术有限公司 多功能机器人控制系统
CN1876334A (zh) * 2005-06-07 2006-12-13 发那科株式会社 机械手控制装置及机械手控制方法

Also Published As

Publication number Publication date
US8744625B2 (en) 2014-06-03
JP5743495B2 (ja) 2015-07-01
EP2450157A3 (en) 2018-02-28
US20120116582A1 (en) 2012-05-10
EP2450157B1 (en) 2019-03-27
CN102528809A (zh) 2012-07-04
JP2012096338A (ja) 2012-05-24
EP2450157A2 (en) 2012-05-09

Similar Documents

Publication Publication Date Title
CN102528809B (zh) 机器人控制设备
CN110355751B (zh) 控制装置和机器学习装置
JP5744587B2 (ja) ロボット制御装置、ロボット制御方法、プログラム及び記録媒体
CN101449229B (zh) 用于控制触觉装置的方法和设备
US20190143510A1 (en) Position/force controller, and position/force control method and storage medium
JP4532577B2 (ja) 数値制御装置と機上計測装置を有する工作機械
CN104057447B (zh) 机器人拾取系统以及被加工物的制造方法
CN103813889B (zh) 操作输入装置和操作输入装置的初始化方法
JP5612386B2 (ja) 形状測定装置
JP2512099B2 (ja) ロボットの動作教示方法および制御装置
TWI448969B (zh) Three - axis dynamic simulation platform system and its control method
CN111775145A (zh) 一种串并联机器人的控制系统
JP2007000954A (ja) ロボット教示装置及び方法
JPS5815801B2 (ja) 工業用ロボツトの軌跡制御方式
CN108247636B (zh) 并联机器人闭环反馈控制方法、系统及存储介质
CN114260896B (zh) 一种协作机器人的柔顺力控制方法及系统
CN113752236B (zh) 机械臂示教的装置、标定杆和方法
CN116214510A (zh) 一种机械臂导纳控制方法和系统
US9067318B2 (en) Method for estimating connection orders of modules of modular robot
CN112643678A (zh) 机械臂及其控制装置、机械臂的控制系统和控制方法
CN113103241B (zh) 用于实现g2连续的机器人双nurbs轨迹插补方法、装置及系统
JP3030565B2 (ja) ロボットの駆動制御装置
JP5218748B2 (ja) マニプレータシステム
Augschöll Force sensitive teach-in for industrial robots
CN117359623A (zh) 机械臂的受迫运动控制方法和系统

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