CN105459135A - 机器人、机器人***、控制装置以及控制方法 - Google Patents
机器人、机器人***、控制装置以及控制方法 Download PDFInfo
- Publication number
- CN105459135A CN105459135A CN201510623195.XA CN201510623195A CN105459135A CN 105459135 A CN105459135 A CN 105459135A CN 201510623195 A CN201510623195 A CN 201510623195A CN 105459135 A CN105459135 A CN 105459135A
- Authority
- CN
- China
- Prior art keywords
- robot
- operand
- movable area
- posture
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- 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/39—Robotics, robotics to robotics hand
- G05B2219/39201—Control of joint stiffness
-
- 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/40032—Peg and hole insertion, mating and joining, remote center compliance
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/02—Arm motion controller
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明提供一种能够进行与物体间的接触状态的变化对应的顺应运动控制的机器人、机器人***、控制装置以及控制方法。机器人包括臂、和使臂进行动作的控制部,控制部根据与臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。
Description
技术领域
本发明涉及机器人、机器人***、控制装置以及控制方法。
本申请主张于2014年9月29日在日本申请的日本特愿2014-198013号的优先权,并在此引用其内容。
背景技术
正在研究、开发基于根据来自力传感器的输出值的顺应运动控制(力控制)的机器人的控制方法。
对此,已知基于来自力传感器的输出值来判定机器人是否与其它物体干扰(即,接触),并根据该判定结果分别使用专利文献1所述的位置控制和力控制的机器人的控制装置、调整装置(参照专利文献1、2)。
另外,已知基于接受的点动操作等一边使机器人把持的物体与其它物体接触一边决定阻抗控制的控制变量的内置智能控制器(BUILT-ININTELLIGENCECONTROLLER)(参照专利文献3)。该控制器根据基于点动操作等的机器人的动作来决定阻抗控制的控制变量,所以能够使用户的示教作业简单化,并提高便利性。
专利文献1:日本国特开2010-142909号公报
专利文献2:日本国特开2011-88225号公报
专利文献3:日本国特开2014-6566号公报
然而,专利文献1的控制装置根据来自力传感器的输出值相对于规定值的大小来切换位置控制和力控制,所以存在该切换所涉及的控制复杂化这一问题。另外,施加给机器人的力的大小根据机器人把持的物体与其它物体的接触状态的变化而发生变化。然而,该控制装置无法根据机器人把持的物体与其它物体的接触状态的变化来使机器人20把持的物体的刚性变化。据此,该控制装置实施良好的组装作业较困难。
另外,专利文献2的调整装置存在需要判断位置控制和力控制的切换的神经网络的学习,迫使用户进行繁琐的示教作业这个问题。
另外,专利文献3的控制器无法在作业中根据来自力传感器的输出值使让机器人进行作业前决定的控制变量变化,所以与专利文献1的控制装置同样地,不能够根据机器人把持的物体与其它物体的相对位置以及姿势的变化来使机器人20把持的物体的刚性变化,实施良好的组装作业较困难。
发明内容
因此,本发明是鉴于上述以往技术的问题而完成的,提供一种能够进行与物体间的接触状态的变化对应的顺应运动控制的机器人、机器人***、控制装置以及控制方法。
本发明的一方式是一种机器人,该机器人包括臂;以及控制部,其使上述臂进行动作,上述控制部根据与上述臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。
根据该构成,机器人根据与臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。由此,机器人能够进行与物体间的接触状态的变化对应的顺应运动控制。
另外,本发明的其它方式可以使用如下的构成:在机器人中,上述控制部根据基于与上述第2物体之间的上述相对位置姿势的上述第1物体的能够移动的范围来变更上述参数值。
根据该构成,机器人根据基于与第2物体之间的相对位置姿势的第1物体的能够移动的范围来变更顺应运动控制的参数值。由此,即使在第1物体与第2物体不接触的情况下,机器人也能够根据相对位置姿势来变更顺应运动控制的参数值。
另外,本发明的其它方式可以使用如下的构成:在机器人中,上述控制部基于上述能够移动的范围,来计算与上述第1物体和上述第2物体之间的相对位置姿势对应的成为上述第1物体的移动难度或者移动容易度的指标的量,并基于计算出的成为上述指标的量来变更上述参数值。
根据该构成,机器人根据基于与第2物体之间的相对位置姿势的第1物体的能够移动的范围,来计算与第1物体和第2物体的相对位置姿势对应的成为第1物体的移动难度或者移动容易度的指标的量,并基于计算出的成为指标的量来变更顺应运动控制的参数值。由此,机器人能够调整为:在把持的物体难移动的情况下,减小该物体的刚性,而在容易移动把持的物体的情况下,增大该物体的刚性。
另外,本发明的其它方式可以使用如下的构成:在机器人中,上述控制部变更上述顺应运动控制中的阻抗控制的参数值。
根据该构成,机器人变更顺应运动控制中的阻抗控制的参数值。由此,机器人通过根据第1物体与第2物体的相对位置姿势来变更阻抗控制的参数值,从而能够调整机器人把持的物体的刚性。
另外,本发明的其它方式是一种机器人***,该机器人***包括机器人,其具备臂;以及控制装置,其使上述臂进行动作,上述控制装置根据与上述臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。
根据该构成,机器人***根据与机器人的臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。由此,机器人***能够进行与物体间的相对位置以及姿势对应的顺应运动控制。
另外,本发明的其它方式是一种控制装置,该控制装置根据与机器人的臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。
根据该构成,控制装置根据与机器人的臂一起移动的第1物体和第2物体的相对位置姿势来变更顺应运动控制的参数值。由此,控制装置能够进行与物体间的相对位置以及姿势对应的顺应运动控制。
另外,本发明的其它方式是一种控制方法,该控制方法根据与机器人的臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。
根据该构成,控制方法根据与机器人的臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。由此,控制方法能够进行与物体间的相对位置以及姿势对应的顺应运动控制。
根据以上,机器人、机器人***、控制装置以及控制方法根据与机器人的臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。由此,机器人、机器人***、控制装置以及控制方法能够进行与物体间的相对位置以及姿势对应的顺应运动控制。
附图说明
图1是表示第1实施方式所涉及的机器人***1的一个例子的构成图。
图2是表示机器人20使操作对象N沿着包括组装对象O的二维平面移动而组装于组装对象O的样子的一个例子的图。
图3是表示控制装置30的硬件构成的一个例子的图。
图4是表示控制装置30的功能构成的一个例子的图。
图5是表示控制装置30计算操作对象N的可动区域,并至进行规定的作业为止的处理的流程的一个例子的流程图。
图6是表示图5所示的步骤S100的可动区域计算处理中的并进可动区域计算处理的流程的一个例子的流程图。
图7是表示图5所示的步骤S100的可动区域计算处理中的旋转可动区域计算处理的流程的一个例子的流程图。
图8是表示步骤S100中所选择的坐标表示的虚拟空间的点上所配置的操作对象N的一个例子的图。
图9是表示图5所示的步骤S110的势计算处理的流程的一个例子的流程图。
图10A、图10B是分别表示表现这样计算出的并进势的一个例子的图表以及表现旋转势的一个例子的图表的图。
图11是表示由平滑化处理部39生成的平滑的旋转势的一个例子的图表的图。
图12是表示表现图5所示的步骤S130的机器人控制处理的流程的一个例子的流程图。
图13是表示可动区域计算部37a的并进可动区域计算处理的流程的一个例子的流程图。
图14是表示可动区域计算部37a的旋转可动区域计算处理的流程的一个例子的流程图。
具体实施方式
第1实施方式
以下,参照附图,对本发明的第1实施方式进行说明。图1是表示第1实施方式所涉及的机器人***1的一个例子的构成图。机器人***1具备机器人20和控制装置30。
机器人***1基于机器人20把持的物体与其它物体之间的相对位置以及姿势一边使顺应运动控制的控制变量变化一边使机器人20进行作业。作为这种作业的一个例子,机器人***1使机器人20进行将机器人20把持的物体组装于其它物体的组装作业。以下,为了便于说明,将机器人20把持的物体称为操作对象N,将其它物体称为组装对象O进行说明。此外,操作对象N是第1物体的一个例子,组装对象O是第2物体的一个例子,操作对象N与组装对象O的相对位置以及姿势是相对位置姿势的一个例子。另外,控制变量是参数值的一个例子。
另外,上述的其它物体只要是代替组装操作对象N的组装对象O,而被设置为在使操作对象N移动时成为障碍的物体、某些夹具、壁面、作业台等的位置以及姿势相对于机器人20的坐标原点的位置以及姿势没有变化的物体就可以是任何的物体。此外,机器人20的坐标原点例如是机器人20的支承台的重心的位置以及姿势等,但也可以是机器人20的其它部位的位置以及姿势等。以下,将该组装作业称为规定作业,对机器人***1使机器人20执行规定的作业的情况进行说明。
图1中,组装对象O被夹具F支承,但也可以是代替该构成,而设置于桌子、某些底座等的构成。该情况下,假设组装对象O的位置以及姿势被配置为相对于机器人20的坐标原点的位置以及姿势没有变化。另外,操作对象N可以代替被机器人20把持的物体,而是机器人20的末端执行器END的规定部位、机械手MNP的规定部位等。
图1中,虚线所示的物体VN表示组装在组装对象O上的状态的操作对象N。在控制机器人20以便将操作对象N组装于组装对象O时,机器人***1如上所述通过顺应运动控制来控制机器人20。另外,机器人***1根据操作对象N与组装对象O的相对位置以及姿势来使顺应运动控制中的控制变量变化。以下,作为顺应运动控制的一个例子,对机器人***1通过阻抗控制来控制机器人20的情况进行说明。
此处,操作对象N的位置以及姿势例如通过操作对象N的重心的位置以及姿势来表示,但也可以取而代之,通过与操作对象N一起移动的其它某些点的位置以及姿势等来表示。另外,组装对象O的位置以及姿势例如通过组装对象O的重心的位置以及姿势来表示,但也可以取而代之,通过与组装对象O一起固定的其它某些点的位置以及姿势等来表示。
机器人20例如是具有具备能够把持物体(在这一个例子中,为操作对象N)的爪部的末端执行器END、机械手MNP、力传感器21、和未图示的多个致动器的单臂机器人。所谓单臂机器人表示由末端执行器END和机械手MNP(或者,仅机械手MNP)构成的具有一条臂的机器人。
此外,机器人20也可以代替是单臂机器人的构成,而是SCARA机器人(水平多关节机器人)、双臂机器人等。所谓SCARA机器人是机械手仅在水平方向上移动,仅机械手的前端的滑动轴上下移动的机器人。另外,所谓双臂机器人表示分别由末端执行器END和机械手MNP(或者,仅机械手MNP的)构成的具有两条臂的机器人。
机器人20的臂为6轴垂直多关节型,支承台、机械手MNP和末端执行器END能够通过基于致动器的协作的动作进行6轴的自由度的动作。此外,机器人20的臂可以以5自由度(5轴)以下进行动作,也可以以7自由度(7轴)以上进行动作。以下,对通过具备末端执行器END以及机械手MNP的臂进行的机器人20的动作进行说明。
在机器人20的末端执行器END与机械手MNP之间具备力传感器21,对作用于末端执行器END(或者被末端执行器END把持的操作对象N)的力、力矩进行检测。力传感器21通过通信向控制装置30输出表示检测出的力、力矩的信息(以下,称为力传感器信息)。由力传感器21检测出的力传感器信息例如被使用于控制装置30对机器人20的阻抗控制。此外,该力传感器信息也可以使用于其它处理。
机器人20例如通过电缆与控制装置30以能够通信的方式连接。经由电缆的有线通信例如根据以太网(注册商标)、USB(UniversalSerialBus:通用串行总线)等标准进行。此外,机器人20和控制装置30也可以通过根据Wi-Fi(注册商标)等通信标准进行的无线通信来连接。此外,机器人20如图1所示为与设置在机器人20的外部的控制装置30连接的构成,但也可以代替该构成,而是控制装置30内置于机器人20的构成。
机器人20从控制装置30获取基于操作对象N与组装对象O的相对位置以及姿势、和由力传感器21检测出的力传感器信息的控制信号,并基于获取的控制信号来进行规定作业。以下,为了便于说明,将操作对象N与组装对象O的相对位置以及姿势简称为相对位置姿势进行说明。
控制装置30基于预先存储的组装对象O的位置以及姿势、和表示包括预先存储的组装对象O的作业区域的信息来计算阻抗控制的控制变量。所谓包括组装对象O的作业区域例如表示包括为了将操作对象N组装于组装对象O而操作对象N的重心通过的路径的平面或者空间的一部分或者全部的范围。以下,为了便于说明,将包括组装对象O的作业区域简称为作业区域进行说明。另外,所谓表示作业区域的信息是例如在作业区域为长方形的平面的情况下,表示该长方形的各顶点的坐标的组合等。
另外,控制装置30从机器人20的力传感器21获取力传感器信息。控制装置30通过基于计算出的阻抗控制的控制变量、和获取的力传感器信息的阻抗控制,使机器人20进行规定作业(即,将操作对象N组装于组装对象O的组装作业)。
此外,以下,为了使说明简单化,对机器人20基于来自控制装置30的控制信号将操作对象N组装于组装对象O时,如图2所示机器人20使操作对象N仅沿着包括组装对象O的二维平面(xy平面)移动的情况进行说明,但也可以取而代之,而是机器人20使操作对象N在三维空间中移动而组装于组装对象O的构成。
图2是表示机器人20使操作对象N沿着包括组装对象O的二维平面移动而组装于组装对象O的样子的一个例子的图。图2所示的x轴以及y轴是包括组装对象O的二维平面(即,作业区域)上的坐标轴。更具体而言,机器人***1控制机器人20,以使例如被末端执行器END把持的操作对象N沿着图2所示的箭头(上述的路径)组装于组装对象O。
在该组装时,机器人***1控制机器人20,以使操作对象N仅沿着由图2所示的坐标轴表示的二维平面移动。此外,使操作对象N移动的路径(移动路径)是预先存储在控制装置30中的构成,但也可以取而代之,而是控制装置30计算该路径的构成。在控制装置30计算该路径的情况下,例如,机器人***1具备能够拍摄包括作业区域的范围的拍摄部,基于由拍摄部拍摄的拍摄图像来计算该路径。
接下来,参照图3,对控制装置30的硬件构成进行说明。图3是表示控制装置30的硬件构成的一个例子的图。控制装置30例如具备CPU(CentralProcessingUnit:中央处理单元)31、存储部32、输入接受部33、和通信部34,经由通信部34与机器人20进行通信。这些构成部件经由总线Bus以相互能够进行通信的方式连接。CPU31执行储存在存储部32中的各种程序。
存储部32例如包括HDD(HardDiskDrive:硬盘驱动器)、SSD(SolidStateDrive:固态硬盘)、EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory:电可擦可编程只读存储器)、ROM(Read-OnlyMemory:只读存储器)、RAM(RandomAccessMemory:随机存取存储器)等,对控制装置30处理的各种信息、图像、程序、表示组装对象O的位置以及姿势的信息、表示进行规定作业时的作业区域的信息等进行储存。此外,存储部32也可以代替内置于控制装置30的结构,而是通过USB等数字输入输出端口等连接的外置型的存储装置。
输入接受部33例如是键盘、鼠标、触摸板、其它输入装置。此外,输入接受部33也可以作为触摸面板与显示部一体构成。
通信部34构成为例如包括USB等数字输入输出端口、以太网(注册商标)端口等。
接下来,参照图4,对控制装置30的功能构成进行说明。图4是表示控制装置30的功能构成的一个例子的图。控制装置30具备存储部32和控制部36。控制部36具备的功能部中的一部分或者全部例如通过CPU31执行存储在存储部32中的各种程序来实现。另外,这些功能部中的一部分或者全部也可以是LSI(LargeScaleIntegration:大规模集成)、ASIC(ApplicationSpecificIntegratedCircuit:专用集成电路)等硬件功能部。
控制部36控制控制装置30全体。控制部36具备可动区域计算部37、势计算部38、平滑化处理部39、和机器人控制部40。
可动区域计算部37从存储部32读入表示组装对象O的位置以及姿势的信息、和表示作业区域的信息。以下,为了便于说明,将组装对象O的位置以及姿势称为组装对象位置姿势进行说明。可动区域计算部37基于读入的表示组装对象位置姿势的信息以及表示作业区域的信息来计算操作对象N的可动区域。
此外,假设表示组装对象位置姿势的信息预先由存储部32存储,但也可以取而代之,而是机器人***1具备拍摄部,基于由拍摄部拍摄的拍摄图像来进行检测的构成。另外,假设表示作业区域的信息预先由存储部32存储,但可以取而代之,而是机器人***1具备拍摄部,基于由拍摄部拍摄的拍摄图像来进行检测的构成。
此处,所谓操作对象N的可动区域是在作业区域内的各点中定义的量,是定量地表示作业区域内操作对象N不与组装对象O接触而能够移动的范围的量。在这一个例子中,所谓操作对象N的可动区域是根据从表示作业区域的二维平面上的某点开始在该二维平面内不与组装对象O接触而操作对象N在x方向以及y方向上能够移动的距离的总和(以下,称为并进可动区域)、和该点上不与组装对象O接触而在正方向(例如,逆时针方向)以及负方向(例如,顺时针方向)能够旋转的旋转角的总和(以下,称为旋转可动区域)这两个量所定义的量,是在该二维平面上的各点上所定义的量。
此外,操作对象N的可动区域可以根据作业区域内的各点中的操作对象N所涉及的其它量来定义。另外,操作对象N的可动区域可以代替在作业区域内的各点中所定义的构成,例如是按照将作业区域分割成多个区域的情况下的各个区域来定义的构成。另外,可动区域计算部37也可以代替计算并进可动区域和旋转可动区域双方的构成,而是仅计算并进可动区域和旋转可动区域中的任意一方的构成(即,操作对象N的可动区域根据并进可动区域和旋转可动区域中的任意一方来定义的构成)。
势计算部38基于由可动区域计算部37计算出的操作对象N的可动区域(并进可动区域和旋转可动区域中的任意一方或者双方)来计算作业区域内的各点中的成为操作对象N的移动难度(或者,移动容易度)的指标的量。以下,将通过势计算部38在作业区域内的各点中计算的该量称为势进行说明。该势在本实施方式中在作业区域内的各点中计算,所以表现为表示作业区域内的各点的坐标的函数。
此外,这样称的理由是因为将作业区域的各点中的操作对象N的刚性,即成为由末端执行器END把持的操作对象N的移动难度(或,移动容易度)的指标的量模拟为在空间的某点中作用于物体的保存力所涉及的势能。另外,由于在作业区域内组装对象O的位置以及姿势没有变化,所以作业区域内的物体(例如,操作对象N)的位置以及姿势表示操作对象N与组装对象O的相对位置以及姿势。因此,若对这些说明换种说法,势计算部38计算与操作对象N和组装对象O的相对位置以及姿势对应的成为操作对象N的移动难度的指标的量,作为作业区域内的各点中的势。
平滑化处理部39对表示由势计算部38计算出的作业区域的各点中的势的函数应用低通滤波器,对表示势的函数进行平滑化(即,平均化)。以下,为了便于说明,将平滑化处理部39这样变换表示势的函数称为生成平滑的势进行说明。另外,以下,将应用低通滤波器前的表示势的函数称为不连续地变化的势进行说明。若要基于不连续地变化的势来控制机器人20,则例如对致动器等带来负担,有可能会成为故障的原因。因此,平滑化处理部39通过对计算出的不连续地变化的势应用低通滤波器来生成平滑的势。
机器人控制部40从存储部32读入表示机器人20的TCP与操作对象N之间的相对位置以及姿势的信息、和表示作业区域的信息。机器人控制部40基于机器人20具备的各致动器的旋转角、机器人20的TCP与操作对象N之间的相对位置以及姿势、和表示作业区域的信息来计算操作对象N的作业区域内的位置以及姿势(即,操作对象N与组装对象O的相对位置以及姿势)。另外,机器人控制部40从力传感器21获取力传感器信息。机器人控制部40通过基于计算出的操作对象N的作业区域内的位置以及姿势、由平滑化处理部39生成的平滑的势、和从力传感器21获取的力传感器信息的阻抗控制使机器人20进行规定作业。此处,表示机器人20的TCP与操作对象N之间的相对位置以及姿势的信息预先存储于存储部32,但可以取而代之,而是机器人***1具备拍摄部,基于由拍摄部拍摄的拍摄图像来计算或者检测的构成。
以下,参照图5,对控制装置30计算操作对象N的可动区域,直至进行规定作业为止的处理进行说明。图5是表示控制装置30计算操作对象N的可动区域,直至进行规定作业为止的处理的流程的一个例子的流程图。以下,作为一个例子,作为机器人20预先通过末端执行器END把持操作对象N进行说明。首先,可动区域计算部37进行用于计算操作对象N的可动区域的可动区域计算处理(步骤S100)。
在这一个例子中,可动区域计算处理由2个处理构成,一个是并进可动区域计算处理,另一个是旋转可动区域计算处理。并进可动区域计算处理是计算作业区域内的各点中的操作对象N的并进可动区域的处理。另外,旋转可动区域计算处理是计算作业区域内的各点中的操作对象N的旋转可动区域的处理。可动区域计算部37可以在步骤S100中的可动区域计算处理中,先进行并进可动区域计算处理和旋转可动区域计算处理中的任意一个,也可以同时进行双方。此外,如图4中所说明那样,可动区域计算部37也可以是在可动区域计算处理中进行并进可动区域计算处理和旋转可动区域中的任意一个的构成。
接下来,势计算部38进行用于基于在步骤S100中由可动区域计算部37计算出的操作对象N的并进可动区域和旋转可动区域中的任意一方或者双方来计算作业区域内的各点中的势的势计算处理(步骤S110)。在本实施方式中,作为势计算部38在势计算处理中,基于操作对象N的并进可动区域和旋转可动区域的双方来计算作业区域内的各点中的势进行说明。
接下来,平滑化处理部39通过对步骤S110中所计算出的不连续地变化的势应用低通滤波器来生成平滑地变化的势(平滑化)(步骤S120)。接下来,机器人控制部40进行通过基于步骤S120中由平滑化处理部39生成的平滑的势的阻抗控制使机器人20进行规定的作业的机器人控制处理(步骤S130)。
此处,参照图6以及图7,对图5所示的步骤S100的可动区域计算处理进行说明。图6是表示图5所示的步骤S100的可动区域计算处理中的并进可动区域计算处理的流程的一个例子的流程图。首先,可动区域计算部37从存储部32读入表示作业区域的信息,并基于读入的表示作业区域的信息来生成表示作业区域的虚拟空间。而且,可动区域计算部37每次选择一个表示生成的虚拟空间的各点的坐标,并对选择出的每个坐标反复进行从步骤S210至步骤S270的处理(步骤S200)。
首先,可动区域计算部37在步骤S200中所选择的坐标表示的虚拟空间的点上虚拟地配置操作对象N。此时,可动区域计算部37以操作对象N的重心的位置与虚拟空间的点一致的方式配置操作对象N。另外,可动区域计算部37将配置在虚拟空间的点上的操作对象N的姿势初始化为规定的初始姿势(步骤S210)。此外,所谓规定的初始姿势例如是通过预先决定的操作对象N的重心的中心线与x轴或者y轴所成的角度为零度这样的姿势,但是并不局限于此,也可以是其它姿势。
接下来,可动区域计算部37生成可储存表示数值的信息的变量D,并将变量D的值初始化为零(步骤S220)。接下来,可动区域计算部37判定步骤S260中的操作对象N的旋转所涉及的旋转角的累积值是否达到360°(步骤S230)。在判定为操作对象N的旋转所涉及的旋转角的累积值未达到360°的情况下(步骤S230-否),可动区域计算部37计算步骤S200中所选择的坐标表示的虚拟空间的点上配置的操作对象N向x轴的正方向、x轴的负方向、y轴的正方向、y轴的负方向各个方向(以下,称为4个方向)的能够移动的距离的和(步骤S240)。
此外,由可动区域计算部37计算的这些能够移动的距离的和可以代替分别向4个方向的能够移动的距离的和,而是向4个方向中的任意一个的移动距离,也可以是分别向4个方向的能够移动的距离的一部分的组合的和,也可以是向1个以上其它方向的能够移动的距离的和(其它方向仅一个的情况下,不是和,而是向该方向的能够移动的距离),也可以是分别向上述的4个方向的能够移动的距离与向其它方向的能够移动的距离的和。例如可动区域计算部37构成为在计算向1个以上的其它方向(例如,x轴的延伸方向与y轴的延伸方向之间的方向(倾斜方向)等)的能够移动的距离的和作为操作对象N能够移动的距离的和的情况下,根据勾股定理等在距离空间中计算距离的方法来计算向这些方向的距离。
接下来,可动区域计算部37在步骤S220中所生成的储存成变量D的值加上步骤S240中所计算出的向4个方向的能够移动的距离的和(步骤S250)。接下来,可动区域计算部37使步骤S200中所选择的坐标表示的虚拟空间的点上配置的操作对象N的姿势旋转规定角度(步骤S260)。此外,规定角度优选是其倍数包括360°的任意角度,在这一个例子中,假设为5°、10°等,但也可以是其倍数不包括360°的其它角度。
若对从步骤S230至步骤S260的处理集中换种说法,则可动区域计算部37使步骤S200中所选择的坐标表示的虚拟空间的点上配置的操作对象N的姿势按规定角度地变化,对每个姿势计算上述的向4个方向的能够移动的距离的和,并在变量D加上计算出的每个姿势的向4个方向的能够移动的距离的和。
此处,参照图8,对从步骤S230至步骤S260的处理进行说明。图8是表示步骤S100中所选择的坐标表示的虚拟空间的点上配置的操作对象N的一个例子的图。图8中,将坐标(x,y)作为是步骤S200中所选择的坐标进行说明。点G(x,y)表示配置在坐标(x,y)上的操作对象N的重心的位置。另外,框VS表示由可动区域计算部37生成的虚拟空间即表现作业区域的虚拟空间。以下,将由该框VS围起的范围称为虚拟空间VS进行说明。此外,图8所示的坐标轴是表示该虚拟空间VS上的位置以及姿势的坐标轴。另外,作为图8中示出的操作对象N的姿势是规定的初始姿势进行说明。
可动区域计算部37使配置在坐标(x,y)上的操作对象N分别向上述的4个方向移动。此时,可动区域计算部37计算使操作对象N移动到操作对象N的轮廓与虚拟空间VS的框或组装对象O的轮廓干扰(即,接触)为止时的移动距离,作为向4个方向的各个方向能够移动的距离。图8中,距离D+x是向x轴的正方向的能够移动的距离,距离D-x是向x轴的负方向的能够移动的距离。另外,图8中,距离D+y是向y轴的正方向的能够移动的距离,距离D-y是向y轴的负方向的能够移动的距离。可动区域计算部37在储存为变量D的值加上这些距离D+x、距离D-x、距离D+y、距离D-y的和。
而且,可动区域计算部37使操作对象N的姿势按规定角度变化直到360°为止,每当变化规定角度而此时的姿势中,计算这样的向4个方向的能够移动的距离的和,并在储存为变量D的值加上计算出的向4个方向的能够移动的距离的和。该向4个方向的能够移动的距离的和根据操作对象N的位置以及姿势而取不同的值。因此,加到变量D的值为与操作对象N的位置以及姿势对应的值。这样,可动区域计算部37进行从步骤S230至步骤S260的处理。
另一方面,在步骤S230中判定为操作对象N的旋转所涉及的旋转角的累积值达到360°的情况下(步骤S230-是),可动区域计算部37将储存为变量D的值作为步骤S100中所选择的坐标中的并进可动区域Ft(步骤S270),之后,返回到步骤S200,选择下一个虚拟空间的坐标。以下,在将表示虚拟空间VS内的各点的坐标设为坐标(x,y)的情况下,将该坐标中的并进可动区域Ft的值表示为并进可动区域Ft(x,y)。此外,表示虚拟空间的各点的坐标、和表示作业区域的各点的坐标通过校准等预先建立对应。因此,虚拟空间VS内的各点表示作业区域内的各点。
图7是表示图5所示的步骤S100的可动区域计算处理中的旋转可动区域计算处理的流程的一个例子的流程图。首先,可动区域计算部37从存储部32读入表示作业区域的信息,并基于读入的表示作业区域的信息来生成表示作业区域的虚拟空间。而且,可动区域计算部37一个个地选择表示生成的虚拟空间的各点的坐标,并对选择的每个坐标反复进行从步骤S310至步骤S360的处理(步骤S300)。此外,在通过可动区域计算部37在图6所示的并进可动区域计算处理后(或者与并进可动区域计算处理并列)进行旋转可动区域计算处理的情况下,已经生成虚拟空间,所以可以在步骤S300中不重新生成虚拟空间。
首先,可动区域计算部37在步骤S300中所选择的坐标表示的虚拟空间的点上虚拟地配置操作对象N。此时,可动区域计算部37以操作对象N的重心的位置与虚拟空间的点一致的方式配置对象N。另外,可动区域计算部37将配置在虚拟空间的点上的操作对象N的姿势初始化为上述的规定的初始姿势(步骤S310)。
接下来,可动区域计算部37生成可储存表示数值的信息的变量E,并将变量E的值初始化为零(步骤S320)。接下来,可动区域计算部37判定当前时刻步骤S300中所选择的坐标表示的虚拟空间的点上配置的操作对象N是否与图8所示的虚拟空间VS的框、组装对象O的轮廓干扰(即,接触)(步骤S330)。
在判定为操作对象N未与虚拟空间VS的框、组装对象O的轮廓接触的情况下(步骤S330-否),可动区域计算部37使步骤S300中所选择的坐标表示的虚拟空间的点上配置的操作对象N例如以操作对象N的重心为中心在正方向和负方向的各个方向上旋转到操作对象N的轮廓与虚拟空间VS的框或组装对象O的轮廓接触为止。其中,在操作对象N的轮廓未与虚拟空间VS的框、组装对象O的轮廓接触的情况下,假设正方向和负方向的各个的旋转角为360°。可动区域计算部37计算向正方向的旋转角和向负方向的旋转角的和作为能够旋转的角度(步骤S340),并与储存为变量E的值相加(步骤S350)。
另一方面,在步骤S330中判定为操作对象N与虚拟空间VS的框、组装对象O的轮廓干扰(即,接触)的情况下(步骤S330-是),可动区域计算部37将储存为变量E的值设为旋转可动区域Fr(步骤S360),之后,返回到步骤S300,选择下一个虚拟空间的坐标。以下,在将表示虚拟空间VS内的各点的坐标设为坐标(x,y)的情况下,将该坐标中的旋转可动区域Fr的值表示为旋转可动区域Fr(x,y)。
此处,参照图9,对图5所示的步骤S110的势计算处理进行说明。图9是表示图5所示的步骤S110的势计算处理的流程的一个例子的流程图。首先,势计算部38基于步骤S100中由可动区域计算部37计算出的虚拟空间VS内的各点(即,作业区域内的各点)中的可动区域,即并进可动区域Ft(x,y)以及旋转可动区域Fr(x,y),来检测并进可动区域Ft(x,y)的全部点中的最大值FtMAX、和旋转可动区域Fr(x,y)的全部点中的最大值FrMAX(步骤S400)。
接下来,势计算部38基于步骤S400中所检测出的并进可动区域Ft(x,y)的最大值FtMAX、和旋转可动区域Fr(x,y)的最大值FrMAX,来计算作业区域内的各点中的势(步骤S410)。此处,对计算该势的处理进行说明。势计算部38基于以下所示的式子(1)以及式子(2)来计算作业区域内的各点中的势。
Pt(x,y)=FtMAX-Ft(x,y)…(1)
Pr(x,y)=FrMAX-Fr(x,y)…(2)
此处,Pt(x,y)是表示作业区域内的某点的坐标(x,y)中的势,表示基于并进可动区域所计算的势(以下,称为并进势)。另外,Pr(x,y)是表示作业区域内的某点的坐标(x,y)中的势,表示基于旋转可动区域所计算的势(以下,称为旋转势)。
上述的式子(1)是将从并进可动区域的最大值FtMAX减去表示作业区域内的某点的坐标(x,y)中的并进可动区域Ft(x,y)而得的值定义为坐标(x,y)中的并进势的式子。通过这样定义并进势,能够在作业区域内的点中并进势较大的点表现由末端执行器END把持的操作对象N的刚性大,即较难以移动(难并进)操作对象N。
另外,上述的式子(2)是将从旋转可动区域的最大值FrMAX减去表示作业区域内的某点的坐标(x,y)中的旋转可动区域Fr(x,y)而得的值定义为坐标(x,y)中的旋转势的式子。通过这样定义旋转势,能够在作业区域内的点中旋转势较大的点表示由末端执行器END把持的操作对象N的刚性较大,即难以移动(难旋转)操作对象N。
图10A、图10B分别表示表现这样计算出的并进势的一个例子的图表以及表现旋转势的一个例子的图表的图。图10A表示表现并进势的一个例子的图表。图10B表示表现旋转势的一个例子的图表。从这些图可知由势计算部38计算出的并进势以及旋转势其大小分别不连续地变化。
此处,控制装置30具备的控制部36的平滑化处理部39在图5所示的步骤S120中对这些不连续地变化的势应用低通滤波器,从而生成图11所示的平滑的势。图11是表示表现由平滑化处理部39生成的平滑的旋转势的一个例子的图表的图。由于平滑化处理部39生成图11所示的平滑的势,所以机器人控制部40能够基于平滑的并进势以及平滑的旋转势使机器人20进行规定作业,结果能够抑制施加到机械手MNP的致动器的负荷,并通过和操作对象N与组装对象O的相对位置以及姿势对应的阻抗控制来实施良好的组装作业。
此处,参照图12,对图5所示的步骤S130的机器人控制处理进行说明。图12是表示图5所示的步骤S130的机器人控制处理的流程的一个例子的流程图。首先,机器人控制部40从存储部32读入表示操作对象N的移动路径的信息(步骤S500)。所谓操作对象N的移动路径表示从当前(初始状态)的操作对象N的位置以及姿势至操作对象N被安装到组装对象O的情况下的组装对象O的位置以及姿势的操作对象N的移动路径。此外,假设表示移动路径的信息预先由存储部32存储,但可以取而代之,而是由机器人控制部40计算的构成。
接下来,机器人控制部40读入机器人20具备的多个致动器各个的旋转角,并基于读入的旋转角根据顺运动学来计算作业区域内的操作对象N的位置以及姿势(步骤S510)。接下来,机器人控制部40从力传感器21获取力传感器信息(步骤S520)。接下来,机器人控制部40读入阻抗控制的控制变量(步骤S530)。此外,假设阻抗控制的控制变量预先由存储部32存储。接下来,机器人控制部40基于步骤S510中计算出的作业区域内的操作对象N的位置以及姿势,来计算用于调整步骤S530中读入的控制变量的调整量(步骤S540)。此处,对阻抗控制的控制变量、和调整该控制变量的调整量进行说明。
机器人控制部40在对把持操作对象N的末端执行器END施加外力时(即,由力传感器21检测出外力时),与向沿着用于将操作对象N组装于组装对象O的移动路径的方向的移动量rt不同,而以不对操作对象N、末端执行器END施加过大的力的方式使操作对象N向释放外力的方向微小移动。此时的操作对象N的微小移动量Δr基于以下的式子(3)所示的运动方程式来计算。此外,移动量rt以及微小移动量Δr为矢量。
【数1】
此处,Fext是机器人控制部40在步骤S520中从力传感器21获取的力传感器信息所包含的表示外力的向量。另外,M、D、K分别按顺序是惯性矩阵、粘性矩阵、刚性矩阵,是阻抗控制的控制变量。机器人控制部40在步骤S530中从存储部32读入这些控制变量。机器人控制部40通过解开上述的式子(3)来计算微小移动量Δr。
机器人控制部40为了使机器人20进行规定作业而使操作对象N移动时的移动量r基于步骤S500中读入的向沿着移动路径的方向的移动量rt、和向释放力的方向的微小移动量Δr并根据以下的式子(4)、式子(5)来计算。此外,移动量r是矢量。
【数2】
r=rt+T△r···(4)
【数3】
此处,T是基于表示当前的操作对象N的位置的坐标(x,y)中的并进势Pt(x,y)以及旋转势Pr(x,y)所计算的量,即调整微小移动量Δr的大小的调整量。此外,PtMAX是并进势Pt(x,y)能够取的最大值,PrMAX是旋转势Pr(x,y)能够取的最大值。另外,上述的式子(5)中的系数0.45是在某条件下通过实验求出的机器人20良好地被控制的最佳值的例子,也可以是其它值。
如上述式子(4)那样通过调整量T调整根据阻抗控制的控制变量所计算出的微小移动量Δr即相当于间接调整阻抗控制的控制变量。在调整量T较大的情况下(即,并进势、旋转势较小的情况下),向释放力的方向的微小移动量变大(即,刚性较低)。另一方面,在调整量T较小的情况下(即,并进势、旋转势较大的情况下),向释放力的方向的微小移动量变小(即,刚性较高)。
机器人控制部40基于图5所示的步骤S120中由平滑化处理部39生成的变化为平滑的并进势Pt(x,y)以及旋转势Pr(x,y)、和上述式子(5)来计算调整量T。
步骤S540中计算出调整量T后,机器人控制部40基于步骤S510中所获取的力传感器信息、和步骤S530中读入的阻抗控制的控制变量来计算微小移动量Δr。机器人控制部40基于计算出的微小移动量Δr、步骤S500中所计算出的移动路径、步骤S540中所计算出的调整量T、和上述式子(4)来计算移动量r。而且,机器人控制部40基于计算出的移动量r来使操作对象N移动(步骤S550)。
接下来,机器人控制部40基于步骤S550中移动后的操作对象N的位置以及姿势来判定操作对象N是否被组装在组装对象O上(步骤S560)。机器人控制部40在判定为操作对象N未被组装在组装对象O上的情况下(步骤S560-否),返回到步骤S510,再次计算操作对象N的位置以及姿势。另一方面,机器人控制部40在判定为操作对象N被组装在组装对象O上的情况下(步骤S560-是),结束处理。
此外,机器人控制部40也可以代替在步骤S540中计算调整量T的构成,而是基于图5所示的步骤S120中由平滑化处理部39生成的变化为平滑的并进势Pt(x,y)以及旋转势Pr(x,y)来分别计算作为阻抗控制的控制变量的惯性矩阵M、粘性矩阵D、刚性矩阵K的构成。该情况下,机器人控制部40在步骤S550中基于计算出的作为阻抗控制的控制变量的惯性矩阵M、粘性矩阵D、刚性矩阵K、和上述式子(3)来计算微小移动量Δr。而且,机器人控制部40基于将比通过上述式子(5)所计算的最大值大的值代入T的上述的式子(4)来计算移动量r。此外,假设代入式子(4)的值在这一个例子中为1,但也可以是1以上的值。
如以上说明那样,第1实施方式中的机器人***1根据与机械手MNP一起移动的操作对象N和组装对象O之间的相对位置以及姿势来调整(变更)顺应运动控制的控制变量。由此,机器人***1能够进行与操作对象N和组装对象O的相对位置以及姿势对应的顺应运动控制。
另外,机器人***1根据基于与组装对象O之间的相对位置姿势的操作对象N的能够移动的范围来变更顺应运动控制的参数值。由此,即使在操作对象N与组装对象O不接触的情况下,机器人***1也能够根据相对位置姿势来变更顺应运动控制的参数值。
机器人***1根据基于与组装对象O之间的相对位置姿势的操作对象N的能够移动的范围,来计算同操作对象N与组装对象O的相对位置姿势对应的成为操作对象N的移动难度或者移动容易度的指标的量,并基于计算出的成为指标的量来变更顺应运动控制的参数值。由此,机器人***1能够调整为:在把持的操作对象N难移动的情况下,减小操作对象N的刚性,在容易移动把持的操作对象N的情况下,增大操作对象N的刚性。
另外,机器人***1计算同基于与组装对象O之间的相对位置姿势的操作对象N的能够移动的范围对应的成为操作对象N的移动难度或者移动容易度的指标的量,并基于计算的成为指标的量来变更顺应运动控制的参数值。
另外,机器人***1调整顺应运动控制中的阻抗控制的控制变量。由此,机器人***1通过根据操作对象N与组装对象O的相对位置以及姿势来调整阻抗控制的控制变量,能够调整机器人20把持的操作对象N的刚性。
第2实施方式
以下,参照附图,对本发明的第2实施方式进行说明。在第2实施方式中,控制部36代替可动区域计算部37而具备可动区域计算部37a。可动区域计算部37a代替可动区域计算部37在步骤S100中的可动区域计算处理,而进行以下说明的可动区域计算处理。更具体而言,可动区域计算部37a在步骤S100中进行图13所示的并进可动区域计算处理和图14所示的旋转可动区域计算处理。此外,在第2实施方式中,对与第1实施方式同样的构成部附加相同的附图标记。
以下,参照图13,对可动区域计算部37a的并进可动区域计算处理进行说明。图13是表示可动区域计算部37a的并进可动区域计算处理的流程的一个例子的流程图。图13所示的并进可动区域计算处理与图6所示的计算并进可动区域作为位置的函数的并进可动区域计算处理不同,计算并进可动区域,作为位置和姿势的函数。首先,可动区域计算部37a从存储部32读入表示作业区域的信息,并基于读入的表示作业区域的信息来生成表示作业区域的虚拟空间。然后,可动区域计算部37a一个个地选择表示生成的虚拟空间的各点的坐标,并对选择的每个坐标反复进行从步骤S610至步骤S650的处理(步骤S600)。
接下来,可动区域计算部37a在步骤S600中所选择的坐标表示的虚拟空间的点上虚拟地配置操作对象N。此时,可动区域计算部37a以操作对象N的重心的位置与虚拟空间的点一致的方式配置操作对象N。另外,可动区域计算部37a使操作对象N旋转,直到使配置在虚拟空间的点上的操作对象N的姿势成为规定的初始姿势为止。然后,可动区域计算部37a使操作对象N的姿势按规定角度地改变,并对每个姿势反复进行从步骤S620至步骤S650的处理(步骤S610)。
接下来,可动区域计算部37a生成可储存表示数值的信息的变量D,并将变量D的值初始化为零(步骤S620)。接下来,可动区域计算部37a计算在步骤S600所选择的坐标表示的虚拟空间的点上以步骤S610中所选择的姿势配置的操作对象N分别向4个方向(即,x轴的正方向、x轴的负方向、y轴的正方向、y轴的负方向)的能够移动的距离的和(步骤S630)。接下来,可动区域计算部37a在步骤S620所生成的储存为变量D的值加上步骤S630中计算出的向4个方向的能够移动的距离的和(步骤S640)。
以下,参照图14,对可动区域计算部37a的旋转可动区域计算处理进行说明。图14是表示可动区域计算部37a的旋转可动区域计算处理的流程的一个例子的流程图。首先,可动区域计算部37a从存储部32读入表示作业区域的信息,并基于读入的表示作业区域的信息来生成表示作业区域的虚拟空间。然后,可动区域计算部37a一个个地选择表示生成的虚拟空间的各点的坐标,并对选择的每个坐标反复进行从步骤S710至步骤S850的处理(步骤S700)。此外,在通过可动区域计算部37a在图13所示的并进可动区域计算处理后(或者并列)进行旋转可动区域计算处理的情况下,由于已经生成虚拟空间,所以可以在步骤S700中不重新生成虚拟空间。
接下来,可动区域计算部37a在步骤S700所选择的坐标表示的虚拟空间的点上虚拟地配置操作对象N。此时,可动区域计算部37a以操作对象N的重心的位置与虚拟空间的点一致的方式配置操作对象N。另外,可动区域计算部37a使操作对象N旋转,直至使配置在虚拟空间的点上的操作对象N的姿势成为规定的初始姿势为止。然后,可动区域计算部37a使操作对象N的姿势按规定角度地改变,并对每个姿势反复进行从步骤S720至步骤S850的处理(步骤S710)。
接下来,可动区域计算部37a生成可储存表示数值的信息的变量D+,并将变量D+的值初始化为零(步骤S720)。接下来,可动区域计算部37a判定在步骤S700所选择的坐标表示的虚拟空间的点上配置的操作对象N,即当前的姿势的操作对象N是否与图8所示的虚拟空间VS的框、组装对象O的轮廓干扰(即,接触)(步骤S730)。
在判定为操作对象N未与虚拟空间VS的框、组装对象O的轮廓接触的情况下(步骤S730-No),可动区域计算部37a判定步骤S750中的操作对象N的旋转所涉及的旋转角的累积值是否达到360°(步骤S740)。在判定为操作对象N的旋转所涉及的旋转角的累积值未达到360°的情况下(步骤S740-否),可动区域计算部37a使在步骤S700所选择的坐标表示的虚拟空间的点上配置的操作对象N,即当前的姿势的操作对象N例如以操作对象N的重心为中心在正方向上旋转规定角度(步骤S750),再次进行步骤S730的判定。此处,规定角度优选是其倍数包括360°的任意角度,在这一个例子中,是5°、10°等,但也可以是其倍数不包括360°的其它角度。另一方面,在判定为操作对象N的旋转所涉及的旋转角的累积值达到360°的情况下(步骤S740-是),可动区域计算部37a将步骤S750中的操作对象N的旋转所涉及的旋转角的累积值代入变量D+(步骤S760)。
另一方面,在步骤S730中判定为操作对象N与虚拟空间VS的框、组装对象O的轮廓干扰(即,接触)的情况下(步骤S730-是),可动区域计算部37a移至步骤S760,将步骤S750中的操作对象N的旋转所涉及的旋转角的累积值代入变量D+。接下来,可动区域计算部37a使在步骤S700所选择的坐标表示的虚拟空间的点上配置的操作对象N的姿势返回到步骤S710中所选择的姿势(步骤S770)。
接下来,可动区域计算部37a生成可储存表示数值的信息的变量D-,并将变量D-的值初始化为零(步骤S780)。接下来,可动区域计算部37a判定步骤S700所选择的坐标表示的虚拟空间的点上配置的操作对象N,即当前的姿势的操作对象N是否与图8所示的虚拟空间VS的框、组装对象O的轮廓干扰(即,接触)(步骤S790)。
在判定为操作对象N未与虚拟空间VS的框、组装对象O的轮廓接触的情况下(步骤S790-否),可动区域计算部37a判定步骤S810中的操作对象N的旋转所涉及的旋转角的绝对值的累积值是否达到360°(步骤S800)。在判定为操作对象N的旋转所涉及的旋转角的累积值未达到360°的情况下(步骤S800-否),可动区域计算部37a使在步骤S700所选择的坐标表示的虚拟空间的点上配置的操作对象N,即当前的姿势的操作对象N例如以操作对象N的重心为中心在负方向上旋转规定角度(步骤S810),再次进行步骤S790的判定。此处,规定角度优选是其倍数包括360°的任意角度,在这一个例子中,是5°、10°等,但也可以是其倍数不包括360°的其它角度。另一方面,在判定为操作对象N的旋转所涉及的旋转角的累积值达到360°的情况下(步骤S800-是),可动区域计算部37a将步骤S810中的操作对象N的旋转所涉及的旋转角的累积值代入变量D-(步骤S820)。
另一方面,在步骤S790中判定为操作对象N与虚拟空间VS的框、组装对象O的轮廓干扰(即,接触)的情况下(步骤S790-是),可动区域计算部37a移至步骤S820,将步骤S810中的操作对象N的旋转所涉及的旋转角的累积值代入变量D-。接下来,可动区域计算部37a判定代入到变量D+的值是否小于代入到变量D-的值(步骤S830)。在判定为代入到变量D+的值小于代入到变量D-的值的情况下(步骤S830-是),可动区域计算部37a将变量D+的值代入旋转可动区域(步骤S840)。另一方面,在判定为代入到变量D+的值为代入到变量D-的值以上的情况下(步骤S830-否),可动区域计算部37a将变量D-的值代入旋转可动区域(步骤S850)。
这样,可动区域计算部37a通过分别反复进行从步骤S600至步骤S650的处理、和从步骤S700至步骤S850的处理,能够按操作对象N的每个姿势计算作业区域内的各点中的操作对象N的并进可动区域以及旋转可动区域。由此,控制部36能够与第1实施方式同样地进行基于操作对象N与组装对象O的相对位置以及姿势的顺应运动控制的控制变量的调整。
此外,也可以是在步骤S730中,可动区域计算部37a判定代入到变量D-的值是否小于代入到变量D+的值的构成。另外,也可以是可动区域计算部37a以相反的顺序进行从步骤S730至步骤S760的处理、和从步骤S780至步骤S820的处理的构成,也可以是同时进行的构成。
如以上说明那样,第2实施方式中的机器人***1通过进行图13以及图14所示的并进可动区域计算处理以及旋转可动区域计算处理,能够获得与第1实施方式同样的效果。
以上,参照附图,详述了该发明的实施方式,但具体的构成并不限于该实施方式,只要不脱离该发明的要旨,就可以变更、置换、删除等。
另外,也可以将用于实现以上说明的装置(例如,机器人***1的控制装置30)中的任意构成部的功能的程序记录于计算机可读取的记录介质,使计算机***读入该程序来执行。此外,此处所谓的“计算机***”是包括OS(OperatingSystem:操作***)、周边设备等硬件的计算机***。另外,“计算机可读取的记录介质”是指软盘、光磁盘、ROM(ReadOnlyMemory)、CD(CompactDisk)-ROM等可移动介质、内置于计算机***的硬盘等存储装置。而且,“计算机可读取的记录介质”也包括如经由因特网等网络、电话线路等通信线路发送程序的情况下的成为服务器、客户端的计算机***内部的易失性存储器(RAM:RandomAccessMemory)那样将程序保持一定时间的介质。
另外,上述的程序也可以从存储装置等储存有该程序的计算机***经由传输介质,或者通过传输介质中的传输波传输给其它计算机***。此处,传输程序的“传输介质”是指如因特网等网络(通信网)、电话线路等通信线路(通信线)那样具有传输信息的功能的介质。
另外,上述的程序可以用于实现上述的功能的一部分。并且,上述的程序可以是通过与已经将上述的功能记录在计算机***中的程序的组合能够实现的、所谓补丁文件(补丁程序)。
符号说明
1…机器人***,20…机器人,30…控制装置,31…CPU,32…存储部,33…输入接受部,34…通信部,36…控制部,37…可动区域计算部,38…势计算部,39…平滑化处理部,40…机器人控制部。
Claims (7)
1.一种机器人,其特征在于,包括:
臂;以及
控制部,其使所述臂进行动作,
所述控制部根据与所述臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。
2.根据权利要求1所述的机器人,其特征在于,
所述控制部根据基于与所述第2物体之间的所述相对位置姿势的所述第1物体的能够移动的范围来变更所述参数值。
3.根据权利要求2所述的机器人,其特征在于,
所述控制部基于所述能够移动的范围,来计算与所述第1物体和所述第2物体之间的相对位置姿势对应的成为所述第1物体的移动难度或者移动容易度的指标的量,并基于计算出的成为所述指标的量来变更所述参数值。
4.根据权利要求1~3中的任意一项所述的机器人,其特征在于,
所述控制部变更所述顺应运动控制中的阻抗控制的参数值。
5.一种机器人***,其特征在于,包括:
机器人,其具备臂;以及
控制装置,其使所述臂进行动作,
所述控制装置根据与所述臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。
6.一种控制装置,其特征在于,
根据与机器人的臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。
7.一种控制方法,其特征在于,
根据与机器人的臂一起移动的第1物体和第2物体之间的相对位置姿势来变更顺应运动控制的参数值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014198013A JP6443837B2 (ja) | 2014-09-29 | 2014-09-29 | ロボット、ロボットシステム、制御装置、及び制御方法 |
JP2014-198013 | 2014-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105459135A true CN105459135A (zh) | 2016-04-06 |
CN105459135B CN105459135B (zh) | 2020-06-30 |
Family
ID=55583505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510623195.XA Active CN105459135B (zh) | 2014-09-29 | 2015-09-25 | 机器人、机器人***、控制装置以及控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9908237B2 (zh) |
JP (1) | JP6443837B2 (zh) |
CN (1) | CN105459135B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI654058B (zh) | 2017-11-02 | 2019-03-21 | 日商三菱電機股份有限公司 | 校正裝置、校正方法及控制裝置 |
CN113260936A (zh) * | 2018-12-26 | 2021-08-13 | 三菱电机株式会社 | 移动体控制装置、移动体控制学习装置及移动体控制方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9592608B1 (en) | 2014-12-15 | 2017-03-14 | X Development Llc | Methods and systems for providing feedback during teach mode |
JP6651707B2 (ja) * | 2015-04-10 | 2020-02-19 | セイコーエプソン株式会社 | ロボット、制御装置、及び制御方法 |
US9919422B1 (en) * | 2016-01-06 | 2018-03-20 | X Development Llc | Methods and systems to provide mechanical feedback during movement of a robotic system |
US20180021949A1 (en) * | 2016-07-20 | 2018-01-25 | Canon Kabushiki Kaisha | Robot apparatus, robot controlling method, program, and recording medium |
JP7020812B2 (ja) * | 2017-07-19 | 2022-02-16 | キヤノン株式会社 | ロボット装置、ロボット装置の制御方法、ロボット装置を用いた物品の組立方法、制御プログラムおよび記録媒体 |
US10569426B2 (en) * | 2017-08-24 | 2020-02-25 | Seiko Epson Corporation | Robot hand jig and robot |
USD827006S1 (en) * | 2017-09-06 | 2018-08-28 | Hiwin Technologies Corp. | Robotic arm |
USD827005S1 (en) * | 2017-09-06 | 2018-08-28 | Hwin Technologies Corp. | Robotic arm |
JP6999163B2 (ja) * | 2017-12-25 | 2022-01-18 | 国立大学法人信州大学 | 油圧ロボット、ロボット制御装置、及びプログラム |
JP6904327B2 (ja) * | 2018-11-30 | 2021-07-14 | オムロン株式会社 | 制御装置、制御方法、及び制御プログラム |
US11673264B2 (en) * | 2021-03-25 | 2023-06-13 | Mitsubishi Electric Research Laboratories, Inc. | System and method for robotic assembly based on adaptive compliance |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04310388A (ja) * | 1991-04-05 | 1992-11-02 | Mitsubishi Electric Corp | 物体把持装置および物体把持装置の制御方法 |
CN1668424A (zh) * | 2002-07-17 | 2005-09-14 | 株式会社安川电机 | 搬运用机器人***和搬运用机器人的控制方法 |
CN1984756A (zh) * | 2004-07-13 | 2007-06-20 | 松下电器产业株式会社 | 物品保持***、机器人以及机器人控制方法 |
WO2011021376A1 (ja) * | 2009-08-21 | 2011-02-24 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、家事ロボット、ロボットアームの制御プログラム、及び、ロボットアーム制御用集積電子回路 |
US20110093120A1 (en) * | 2009-10-20 | 2011-04-21 | Kabushiki Kaisha Yaskawa Denki | Apparatus and method for adjusting parameter of impedance control |
JP2013111696A (ja) * | 2011-11-29 | 2013-06-10 | Seiko Epson Corp | 把持ロボット、制御装置、制御方法、及びプログラム |
CN103747927A (zh) * | 2011-08-19 | 2014-04-23 | 株式会社安川电机 | 机器人***、机器人和机器人控制装置 |
CN104039511A (zh) * | 2012-02-14 | 2014-09-10 | 川崎重工业株式会社 | 摄像检查装置及该摄像检查装置的控制装置及控制方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4603284A (en) * | 1984-06-05 | 1986-07-29 | Unimation, Inc. | Control system for manipulator apparatus with resolved compliant motion control |
JPH05108108A (ja) * | 1991-05-10 | 1993-04-30 | Nok Corp | コンプライアンス制御方法及び制御装置 |
US6141863A (en) * | 1996-10-24 | 2000-11-07 | Fanuc Ltd. | Force-controlled robot system with visual sensor for performing fitting operation |
JP2006341372A (ja) * | 2006-08-25 | 2006-12-21 | Yaskawa Electric Corp | ロボットの制御方法 |
JP4490997B2 (ja) * | 2007-07-18 | 2010-06-30 | 株式会社東芝 | 移動ロボット |
EP2268459B9 (en) * | 2008-04-30 | 2012-03-21 | ABB Technology AB | A method and a system for determining the relation between a robot coordinate system and a local coordinate system located in the working range of the robot |
US8185263B2 (en) * | 2008-11-24 | 2012-05-22 | General Electric Company | Apparatus and method for estimating resistance parameters and weight of a train |
JP2010131711A (ja) * | 2008-12-05 | 2010-06-17 | Honda Motor Co Ltd | ロボットアームの制御方法 |
JP5338297B2 (ja) | 2008-12-19 | 2013-11-13 | 株式会社安川電機 | ロボットの制御装置 |
CN102483625B (zh) * | 2009-08-14 | 2015-09-09 | Abb技术有限公司 | 工业机器人和调节机器人程序的方法 |
JP5528095B2 (ja) * | 2009-12-22 | 2014-06-25 | キヤノン株式会社 | ロボットシステム、その制御装置及び方法 |
JP5218470B2 (ja) * | 2010-04-28 | 2013-06-26 | 株式会社安川電機 | ロボットの作業成否判定装置、および方法 |
DE102011005513A1 (de) * | 2011-03-14 | 2012-09-20 | Kuka Laboratories Gmbh | Roboter und Verfahren zum Betreiben eines Roboters |
CN103118842A (zh) * | 2011-03-17 | 2013-05-22 | 松下电器产业株式会社 | 机器人、机器人的控制装置、控制方法以及控制程序 |
JP5904635B2 (ja) * | 2012-03-02 | 2016-04-13 | セイコーエプソン株式会社 | 制御装置、制御方法及びロボット装置 |
JP2014006566A (ja) | 2012-06-21 | 2014-01-16 | Institute Of National Colleges Of Technology Japan | 組み込み知能コントローラ、制御システム、制御プログラム、記録媒体、及び制御方法 |
-
2014
- 2014-09-29 JP JP2014198013A patent/JP6443837B2/ja active Active
-
2015
- 2015-09-18 US US14/858,287 patent/US9908237B2/en active Active
- 2015-09-25 CN CN201510623195.XA patent/CN105459135B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04310388A (ja) * | 1991-04-05 | 1992-11-02 | Mitsubishi Electric Corp | 物体把持装置および物体把持装置の制御方法 |
CN1668424A (zh) * | 2002-07-17 | 2005-09-14 | 株式会社安川电机 | 搬运用机器人***和搬运用机器人的控制方法 |
CN1984756A (zh) * | 2004-07-13 | 2007-06-20 | 松下电器产业株式会社 | 物品保持***、机器人以及机器人控制方法 |
WO2011021376A1 (ja) * | 2009-08-21 | 2011-02-24 | パナソニック株式会社 | ロボットアームの制御装置及び制御方法、家事ロボット、ロボットアームの制御プログラム、及び、ロボットアーム制御用集積電子回路 |
US20110093120A1 (en) * | 2009-10-20 | 2011-04-21 | Kabushiki Kaisha Yaskawa Denki | Apparatus and method for adjusting parameter of impedance control |
CN103747927A (zh) * | 2011-08-19 | 2014-04-23 | 株式会社安川电机 | 机器人***、机器人和机器人控制装置 |
JP2013111696A (ja) * | 2011-11-29 | 2013-06-10 | Seiko Epson Corp | 把持ロボット、制御装置、制御方法、及びプログラム |
CN104039511A (zh) * | 2012-02-14 | 2014-09-10 | 川崎重工业株式会社 | 摄像检查装置及该摄像检查装置的控制装置及控制方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI654058B (zh) | 2017-11-02 | 2019-03-21 | 日商三菱電機股份有限公司 | 校正裝置、校正方法及控制裝置 |
CN113260936A (zh) * | 2018-12-26 | 2021-08-13 | 三菱电机株式会社 | 移动体控制装置、移动体控制学习装置及移动体控制方法 |
CN113260936B (zh) * | 2018-12-26 | 2024-05-07 | 三菱电机株式会社 | 移动体控制装置、移动体控制学习装置及移动体控制方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6443837B2 (ja) | 2018-12-26 |
CN105459135B (zh) | 2020-06-30 |
US20160089788A1 (en) | 2016-03-31 |
JP2016068169A (ja) | 2016-05-09 |
US9908237B2 (en) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105459135A (zh) | 机器人、机器人***、控制装置以及控制方法 | |
US8918215B2 (en) | Telematic interface with control signal scaling based on force sensor feedback | |
JP6456555B1 (ja) | キャリブレーション装置、キャリブレーション方法および制御装置 | |
CN109968361B (zh) | 一种基于实时力反馈的变阻抗遥操作控制装置及方法 | |
US8321075B2 (en) | Mitigating effects of biodynamic feedthrough on an electronic control device | |
CN104908024A (zh) | 机械臂、机械臂***以及控制装置 | |
Willaert et al. | Towards multi-DOF model mediated teleoperation: Using vision to augment feedback | |
CN111061215B (zh) | 控制机器人脱困的方法、装置、机器人 | |
CN113305839A (zh) | 机器人的导纳控制方法、导纳控制***和机器人 | |
CN115756007A (zh) | 一种人、环境和机器人耦合交互的变导纳控制***及方法 | |
JP2023038776A (ja) | 指令値生成装置、方法、及びプログラム | |
US20230173671A1 (en) | Slip handling and ground friction estimation for robots | |
US20200070369A1 (en) | Electronic device and method for calculating at least one parameter for measuring external force | |
CN114800505B (zh) | 一种机器人作业控制方法及装置 | |
CN115042178A (zh) | 保证接触安全的机器人强化学习方法、装置、设备及介质 | |
CN112936282B (zh) | 一种提高工业机器人体感控制精确度的方法及*** | |
CN112975965B (zh) | 仿人机器人的解耦控制方法、装置和仿人机器人 | |
JP2004306249A (ja) | ロボットに搭載されたステレオ・カメラの診断用装置、並びにロボット装置に搭載されたステレオ・カメラの診断方法 | |
JP6651707B2 (ja) | ロボット、制御装置、及び制御方法 | |
WO2020149020A1 (ja) | ロボット制御装置、ロボット制御方法、及びロボット制御プログラム | |
CN114764241A (zh) | 运动状态的控制方法、装置、设备及可读存储介质 | |
JP6908907B1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
Cheng et al. | Design of Five-Axis Camera Stabilizer Based on Quaternion Untracked Kalman Filtering Algorithm | |
WO2024050729A1 (en) | Robot teleoperation system and method | |
CN114248804B (zh) | 步态规划方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |