运动生成方法、运动生成装置、运动生成系统及存储介质与流程

文档序号:16694553发布日期:2019-01-22 19:22阅读:219来源:国知局
运动生成方法、运动生成装置、运动生成系统及存储介质与流程

本发明涉及用于生成机器人的动作的运动生成方法、运动生成装置、系统以及计算机程序。



背景技术:

以往,已知一种用于自动生成机器人的运动的被称为路径规划的算法。路径规划算法一般生成如动作时间最短的运动。

专利文献1公开了夹具到达候补工件wc为止所需的时间t越小、使评价值ev的分数越高的机器人拣选系统。该机器人拣选系统针对多个拣选对象候补的候补工件wc生成候补数据,并基于该候补数据选择、拣选实际拣选的对象工件wo。

专利文献1:日本特开2014-180704号公报

但是,如动作时间最短的运动常常未必是最佳的运动。例如尽管是切勿倾倒的工件,但在生成了动作时间最短的运动的情况下,由于不考虑工件的姿势,因此可能会发生将切勿倾倒的工件弄倒的问题,由于不考虑施加于工件的加速度,因此可能会发生未固定在所把持的工件上的部件脱离而散落的问题。每次发生这种问题时,用户都要手动示教该控制点间的最佳运动,并进行所生成的运动的再生成、修正,导致作业效率下降。



技术实现要素:

因此,本发明的目的在于,提供能够根据作业内容等生成机器人的合适的运动的运动生成方法、运动生成装置、系统以及计算机程序。

本发明的一方面涉及的运动生成方法生成用于使机器人从第一姿势变化为第二姿势的动作,所述运动生成方法包括以下步骤:获取指定第一姿势的第一姿势信息和指定第二姿势的第二姿势信息;获取与从第一姿势变化为第二姿势的动作相关的至少一个优先项目;以及基于获取到的第一姿势信息、第二姿势信息以及优先项目,生成包括从第一姿势移动到第二姿势的机器人的动作路径的机器人的运动。

根据本方面,不仅基于指定第一姿势和第二姿势的信息,而且还基于与从第一姿势变化为第二姿势的动作相关的至少一个优先项目来生成机器人的运动,因此能生成还考虑了被输入的优先项目的合适的运动。

在上述方面中,也可以是,还包括以下步骤:选择机器人的作业内容或作业对象;以及基于所选择的作业内容或作业对象生成优先项目。

根据本方面,通过仅选择作业内容或作业对象就能生成优先项目,因此即使是对机器人不熟悉的用户,也能生成合适的运动。

在上述方面中,也可以是,还包括:使作业内容或作业对象与优先项目相关联的步骤。

根据本方面,能使用户等将作业内容或作业对象与优先项目相关联,因此通过预先使基于过去的实绩等的作业内容或作业对象与优先项目相关联,从而能生成合适的运动,并能缩短该生成所需的时间。

在上述方面中,也可以是,获取优先项目的步骤构成为,获取与动作关联的多个优先项目和该多个优先项目间的优先度,在生成运动的步骤中,基于获取到的优先度生成运动。

根据本方面,可基于多个优先项目生成更合适的运动,因此能灵活应对各种用户的需求。

在上述方面中,也可以是,还包括获取机器人的周边环境信息的步骤,在生成运动的步骤中,基于获取到的周边环境信息来生成运动。

根据本方面,可考虑与障碍物等周边环境有关的信息来生成例如自动避开障碍物样的运动。

在上述方面中,周边环境信息既可以使用获取机器人的周边的信息的传感器或输入单元来获取,也可以从包括机器人的周边的信息的电子数据中获取。

根据本方面,能使用传感器的计测结果等来容易地获取周边环境信息。

在上述方面中,也可以是,第一姿势信息是基于机器人的姿势获取的。

根据本方面,可省略或简化用户等对第一姿势信息的输入,因此能减轻用户等的输入负担,并能提高实用性。

在上述方面中,也可以是,机器人是包括指尖部的机械手,第一姿势信息或第二姿势信息是基于指尖部的位置和姿势获取的。

根据本方面,可基于指尖部的位置和姿势,例如使用逆运动学(inversekinematics)等方法来获取姿势信息,因此能无损实用性地减轻用户的输入负担。

在上述方面中,也可以是,生成的动作是用于处理工件的动作,第二姿势信息是基于工件的空间位置信息获取的。

根据本方面,例如在拣选等工件把持动作时,能无损实用性地减轻用户的输入负担。

在上述方面中,也可以是,机器人是用于虚拟地验证动作的模拟装置。

根据本方面,能在不使用实际作业中使用的机器人的情况下生成运动。

在上述方面中,也可以是,优先项目是与动作相关的限制条件。

根据本方面,能以设定为优先项目的项目必定满足预定的条件的方式生成运动。

在上述方面中,也可以是,优先项目是机器人的速度、机器人的加速度以及由机器人处理的第一对象物的姿势中至少一项。

根据本方面,可生成考虑了机器人的速度、加速度以及被处理的第一对象物的姿势的运动。

在上述方面中,也可以是,运动的生成还包括基于优先项目选择第一算法、第二算法和第三算法中任一算法的步骤,第一算法用于以使从第一姿势移动至第二姿势时的机器人的移动时间在规定范围内的方式生成运动,第二算法用于以使从第一姿势移动至第二姿势时的机器人的加速度在规定范围内的方式生成运动,第三算法用于以使从第一姿势移动至第二姿势时由机器人处理的第二对象物的姿势在规定范围内的方式生成运动。

根据本方面,可基于根据目的从速度优先的算法、加速度优先的算法、姿势优先的算法中选择的最佳算法来生成机器人的运动。

本发明的一方面涉及的运动生成装置是生成用于使机器人从第一姿势变化为第二姿势的动作的运动生成装置。并且,包括:第一获取单元,获取指定第一姿势的第一姿势信息和指定第二姿势的第二姿势信息;以及第二获取单元,获取与从第一姿势变化为第二姿势的动作相关的至少一个优先项目。并且,包括:动作生成单元,基于获取到的第一姿势信息、第二姿势信息以及优先项目,生成包括从第一姿势移动到第二姿势的机器人的动作路径的机器人的运动。

根据本方面,不仅基于指定第一姿势和第二姿势的信息,而且还基于与从第一姿势变化为第二姿势的动作相关的至少一个优先项目生成机器人的运动,所以能生成还考虑了输入的优先项目的合适的运动。

在上述方面中,也可以是,还包括:选择单元,用于选择机器人的作业内容或作业对象;以及优先项目确定单元,基于所选择的作业内容或作业对象确定优先项目。

根据本方面,通过仅选择作业内容或作业对象就能确定优先项目,因此即使是对机器人不熟悉的用户,也能生成合适的运动。

在上述方面中,也可以是,还包括注册单元,注册单元用于使作业内容或作业对象与优先项目相关联。

根据本方面,能使用户等将作业内容或作业对象与优先项目相关联,因此通过预先使基于过去的实绩等的作业内容或作业对象与优先项目相关联,从而能生成合适的运动,并能缩短该生成所需的时间。

在上述方面中,也可以是,第二获取单元构成为,获取与动作关联的多个优先项目和该多个优先项目间的优先度,动作生成单元构成为,基于获取到的优先度生成运动。

根据本方面,可基于多个优先项目生成更合适的运动,因此能灵活应对各种用户的需求。

在上述方面中,也可以是,还包括用于获取机器人的周边环境信息的环境获取单元,动作生成单元构成为,基于获取到的周边环境信息来生成运动。

根据本方面,可考虑与障碍物等周边环境有关的信息来生成例如自动避开障碍物样的运动。

本发明的一方面涉及的系统包括:机器人;以及上述运动生成装置,其生成用于使该机器人从第一姿势变化为第二姿势的动作。

根据本方面,可提供一种包括机器人的系统,该机器人不仅能基于指定第一姿势和第二姿势的信息,而且还能基于与从第一姿势变化为第二姿势的动作相关的至少一个优先项目生成机器人的运动,所以能生成还考虑了输入的优先项目的合适的运动,并基于其适当地进行动作。

本发明的一方面涉及的计算机程序用于生成用于使机器人从第一姿势变化为第二姿势的动作,计算机程序用于使计算机执行以下步骤:获取指定第一姿势的第一姿势信息和指定第二姿势的第二姿势信息;获取与从第一姿势变化为第二姿势的动作相关的至少一个优先项目;以及基于获取到的第一姿势信息、第二姿势信息以及优先项目,生成包括从第一姿势移动到第二姿势的机器人的动作路径的机器人的运动。

根据本方面,可提供一种计算机程序,其不仅能基于指定第一姿势和第二姿势的信息,而且还能基于与从第一姿势变化为第二姿势的动作相关的至少一个优先项目生成机器人的运动,所以能生成还考虑了输入的优先项目的合适的运动。

本发明也可以作为存储有上述计算机程序的存储介质而实现。

根据本发明,能够提供能根据作业内容等生成合适的运动的运动生成方法、运动生成装置、系统以及计算机程序。

附图说明

图1是运动生成系统20的功能框图。

图2是运动生成部10的内部构成图。

图3是在显示部28中显示的机器人r。

图4是在显示部28中显示的优先项目pi。

图5是机器人r的示意图。

图6是第一实施方式中的运动生成处理的流程图。

图7是运动生成系统40的功能框图。

图8是第二实施方式中的运动生成处理的流程图。

图9是运动生成系统70的功能框图。

图10是作为gui显示的机器人r和周边的障碍物d1及d2。

图11是第三实施方式中的运动生成处理的流程图。

图12是运动生成系统90的功能框图。

图13是第四实施方式中的运动生成处理的流程图。

图14是用于根据指尖姿势进行姿势计算处理的流程图。

图15是用于根据工件位置进行姿势计算处理的流程图。

附图标记说明

10:运动生成部;12:初始/目标姿势输入部;14:优先项目输入部;16:输入装置;18:外部接口;20:运动生成系统;22:动作生成单元;24:存储器;28:显示部;40:运动生成系统;42:优先项目输入部;46:显示装置;70:运动生成系统;72:周边环境输入部;74:运动生成部;90:运动生成系统;a:臂;as:角度传感器;b:基座;d1、d2:障碍物;e:末端执行器;jm:关节;r:机器人;s:传感器;w:工件。

具体实施方式

参照附图,说明本发明的优选实施方式(需要注意的是,在各图中带有同一附图标记的部分具有同一或同样的构成)。

[第一实施方式]

图1是表示本发明的第一实施方式所涉及的由运动生成部(运动生成装置)10、初始/目标姿势输入部12、优先项目输入部14、输入装置16以及机器人r构成的运动生成系统20的框图。

图2示出了运动生成部10的内部构成,其包括:外部i/f18(获取单元),用于与外部间收发信息;存储装置20,存储用于生成机器人r的运动的计算机程序;cpu22,用于执行该计算机程序,并执行用于生成运动的运算处理;以及存储器24,用于临时存储作为处理对象的数据、计算机程序,运动生成部10还包括用于显示所输入的数据、处理结果等的显示部28。

需要说明的是,存储装置20能够由hdd(harddiskdrive:硬盘驱动器)、ssd(solidstatedrive:固态硬盘)、nand闪存、磁盘、光盘等构成。存储器24能够由dram、sram等构成。另外,进行上述运算处理的不仅是cpu22,也可以通过dsp(digitalsignalprocessor:数字信号处理器)、gpu(graphicsprocessingunit:图形处理单元)、asic(applicationspecificintegratedcircuit:专用集成电路)、fpga(fieldprogrammablegatearray:现场可编程门阵列)等单独或组合而构成。在本实施方式中,使用一体构成的个人计算机构成了运动生成部10,但不限于此。例如,用于生成运动的计算机程序也可以记录到存在于网络上的服务器中、或者通过多个计算机将处理分散。另外,本实施方式所述的一连串的处理通过存储于存储装置20的计算机程序执行,但也可以构成为通过硬件来满足计算机程序的一部分功能。

初始/目标姿势输入部12是用于输入机器人r的初始姿势和目标姿势的单元。在本实施方式中,如图3所示,构成为通过gui(graphicaluserinterface:图形用户界面),用户可以使用作为输入装置16的鼠标、键盘改变显示于显示部28的机器人r的姿势。一旦用户设定了希望的初始姿势和目标姿势,则初始/目标姿势输入部12使用运动生成部10的硬件构成(存储装置20、cpu22和存储器24等)来运算由构成机器人r的各关节的角度的集合表现的初始姿势信息(第一姿势信息)和目标姿势信息(第二姿势信息),并将其向运动生成部10输出。

需要说明的是,初始姿势和目标姿势也可以不使用gui来指定。例如,用户也能使用作为输入装置16的键盘直接输入机器人r的各关节的角度的集合来指定初始姿势或目标姿势(在该情况下,也可以将基于输入信息的机器人r的姿势显示于显示部28)。或者,也可以构成为,基于用户通过gui等指定的机器人r的指尖部的空间坐标(x,y,z,roll,pitch,yaw),使用运动学信息来算出机器人r的各关节的角度,从而获取与初始姿势或目标姿势有关的信息。

图4示出了通过优先项目输入部14而示于显示部28的优先项目pi。用户能使用作为输入装置16的鼠标或键盘来选择以下拉列表显示的优先项目pi。优先项目输入部14将所选择的优先项目pi输出到运动生成部10。

需要说明的是,优先项目也可以采用使用作为输入装置16的键盘直接输入id、名字并输出到运动生成部10的构成、通过设定文件的读入等使运动生成部10获取的构成。例如,也可以构成为,当用户使用键盘,以关键字或短语输入了希望优先的项目时,优先项目输入部14选择符合的优先项目pi并将其输出到运动生成部10。

在此,优先项目pi是指关于机器人的动作被优先的项目,在本实施方式中示出机器人r的速度、加速度以及姿势。但是,如果是关于作为控制对象的机器人的动作进行设定的项目,则不限于此,例如也可以是机器人r从规定的初始姿势移动到目标姿势的移动距离、在移动过程中产生的惯性力矩(或扭矩)。进而,也可以有节能模式、安全模式等那样的项目。不过,与机器人的动作本身无关的周围障碍物的信息并不相当于本实施方式中的项目。

图5示出了作为控制对象的机器人r。如该图所示,机器人r是由所谓的多关节机器人构成的机械手,由基座b、用于把持工件的末端执行器e以及连接基座b和末端执行器e的臂a构成。在本实施方式中,基座b固定于地板,但也可以构成为能移动。在该构成的情况下,姿势还包含通过能移动的机构可获得的空间位置、方向、或者为取得其而对移动机构的输入值(伺服编码器值等)。臂a由多个连结部ln(其中,n为自然数)和将连结部彼此连结的多个关节jm(其中,m为自然数)构成。在连结部ln中内置用于驱动关节jm的未图示的电机,基于从运动生成部10对机器人r输出的控制信号而被控制。另外,也可以在各关节jm中内置有用于检测旋转角度等的未图示的角度传感器as,采用对运动生成部10输出计测到的角度值等的构成。末端执行器e安装于臂a的前端,构成为能通过使把持工具开闭来把持工件w。末端执行器e除了具有基于多个手指的开闭的把持机构以外,也可以具有吸附工件w的机构或通过组合这些机构而构成,或者即使不具有特別的机构(例如针、板状的夹具)也能保持工件w。另外,也可以在臂a上设置相机等图像获取装置。

需要说明的是,机器人r不限于用于把持工件w的机械手,也可以是工业用机器人以外的机器人。另外,也可以是在模拟器中设定的虚拟的机器人来代替在实际作业中使用的机器人。当使用模拟器进行用于确定运动的试行演练时,可应用本实施方式涉及的运动生成装置和方法来高效地生成最佳的运动。

图6是表示本实施方式中的运动生成处理的流程图。

首先,由用户输入初始姿势和目标姿势(步骤s30)。具体地,用户用鼠标等操作作为gui显示于显示部28的机器人,定下机器人r的初始姿势和目标姿势。于是,目标姿势输入部12算出定下机器人r的初始姿势和目标姿势的各关节的角度信息,并将其输出到运动生成部10。运动生成部10的外部i/f18(获取单元)获取定下机器人r的初始姿势的信息以及定下目标姿势的信息。该信息例如记录于存储器24。

接着,由用户输入优先项目pi(步骤s32)。具体地,用户用鼠标等从通过优先项目输入部14而显示于显示部28的下拉菜单中选择在机器人r的动作中希望优先的项目。

例如,在不把持工件w的状态下希望使机器人r尽量快地移动到规定位置的情况下,可选择“速度”作为优先项目pi。

另一方面,在是要求准确性的动作的情况下,优选地,选择“加速度”作为优先项目pi,以使加速度为规定以下的方式生成运动。

另外,在需要把持质量大的工件w,但以高加速度输送时,作用于机器人r的关节jm等的力矩会变得过大,有可能损伤关节jm等的情况下,用户也可以选择“加速度”作为优先项目pi,以使加速度不会变得过大的方式生成运动。

另外,在把持或输送切勿倾倒的工件w、由相互不固定的多个零部件构成的工件w的情况下,用户可选择“姿势”作为优先项目pi,以使在输送过程中机器人r的姿势大致一定的方式生成运动。

需要说明的是,也可以同时选择多个项目作为优先项目pi。例如,也可以构成为,在生成如把持、输送切勿倾倒且质量大的工件w的运动的情况下,例如将“姿势”和“加速度”作为优先项目pi,生成如一边维持规定的姿势、一边使加速度为规定以下的运动。

优先项目输入部14将所选择的项目的信息输出到运动生成部10。运动生成部10的外部i/f18(获取单元)获取在机器人r的运动生成中应优先的信息(项目)。该信息例如记录于存储器24。

需要说明的是,也可以不同时进行用于获取该初始姿势和目标姿势的步骤s32和用于获取优先项目pi的步骤s34。例如,也可以构成为,在获取了初始姿势后获取优先项目pi,最后获取目标姿势。

接下来,执行生成运动的步骤s34。具体地,由执行存储在存储装置20中的计算机程序的cpu22基于所获取的指定初始姿势和目标姿势的数据以及所选择的优先项目pi,生成从初始姿势至目标姿势为止的机器人r的运动。通过该运动指定从初始姿势至目标姿势为止的机器人r或其部位(例如规定的连结部ln或末端执行器e)的姿势、动作速度以及动作路径。需要注意的是,在本实施方式中,生成运动不限于生成指定机器人r的动作速度、姿势、动作路径等的信息,还包括为了结果定下姿势、速度以及路径而生成用于控制机器人的控制信息的情况。

在本实施方式中,在存储装置20中预先存储有如下算法作为计算机程序的一部分:速度优先算法,用于以最快速度从初始姿势移动至目标姿势;加速度优先算法,用于以加速度为规定值以下的方式从初始姿势移动至目标姿势;以及姿势优先算法,用于以由末端执行器e把持的工件w的姿势与把持前相比保持一定或变化量为规定值以下的方式将工件w输送至目标位置。

运动生成部10根据通过外部i/f18获取到的优先项目pi选择最佳的算法。然后,按照所选择的算法生成从同样地自外部i/f18获取的初始姿势到目标姿势的运动(步骤s34)。

运动生成部10按照所生成的运动,将用于使机器人r动作的控制信号输出到机器人r,机器人r根据该控制信号照运动样地从初始姿势移动到目标姿势(步骤s36)。

如上所述,通过不仅能够基于指定初始姿势和目标姿势的信息,而且还能基于与从初始姿势移动到目标姿势的动作有关的至少一个项目来生成机器人的运动,从而能生成还考虑了所输入的项目的合适的运动。

特别是,构思不是只有机器人的移动速度是应优先的项目,根据输送对象物的不同,着眼于输送中的输送对象物的姿势才是应优先的事项这一点,从而能实现更合适的运动生成。另外,根据输送对象物的不同,还着眼于作用于机器人的各部位(特别是关节部)的力矩可能成为问题这一点,使加速度被包含作为优先项目pi之一。具体地,通过生成如折叠臂a而使输送对象物与基座b的距离缩小来输送输送对象物以代替使臂a大幅伸展来进行输送的运动,从而能减小在输送中作用于机器人的力矩的最大值。

另外,在本实施方式中构成为,预先将用于生成运动的多个算法与应优先的各个项目相关联地存储于存储装置20,选择与所选择的优先项目pi相关联的算法来生成运动,但不限于此,例如也可以采用如下构成:基于以初始姿势、目标姿势以及多个优先项目pi为参数的单一算法,根据所选择的项目来生成不同的运动(至少从初始姿势变化为目标姿势的机器人的姿势、动作速度和动作路径中任一项不同)。

特别是,也可以采用如下构成:使多个项目具有权重(优先度)地供用户等进行选择,根据所获取的项目信息和该项目的优先度生成最佳的运动。例如,在构成为能将“速度”和“姿势”分别指定为优先度30%、70%的情况下,与仅选择了“姿势”时的运动相比,运动生成装置能生成如在允许把持对象的工件w的姿势稍微变化的同时以更快的速度移动工件w的运动。例如,在虽然仅将“姿势”作为优先项目(优先度100%)输送了工件w,但之后判断为即使在输送中使工件w的姿势改变一些也没有大的影响的情况下,通过降低“姿势”的优先度而作为代替地还选择“速度”作为一个优先项目,从而能进一步生成最佳的运动。为了实现这样的构成,也可以采用如下的运动生成算法:以多个优先项目及其优先度作为参数,即便优先项目相同,也能根据优先度生成不同的运动。由此,可期待更为合适的运动生成,进而能期待作业效率的飞跃式提高。

另外,初始姿势、目标姿势未必是一连串动作的最开始的姿势和最后的姿势,也可以是动作中途的姿势。例如,在机器人反复实施规定的例行作业时,也可以是,关于该例行作业的前半阶段,以速度为优先项目,从例行作业开始时的初始姿势起以中途姿势为目标姿势来生成运动,关于中间阶段,以姿势为优先项目,生成以该中途姿势为初始姿势并以另一中途姿势为目标姿势的运动,关于后半阶段,再次以速度为优先项目,生成以另一中途姿势为初始姿势并以最开始的初始姿势为目标姿势的运动。这样,在一连串的例行作业中,还能基于不同的优先项目(例如使用不同的算法)生成其一部分运动和另一部分运动。

进而,关于本实施方式的硬件构成,能进行各种变形,例如还能将分别以初始/目标姿势输入部12和优先项目输入部14为输入端口并在内部包括运动生成部10的计算机构成为运动生成装置。另外,也可以采用如下构成:外部i/f18获取用于算出初始姿势或目标姿势的一次信息,在运动生成部10内,基于该一次信息获取指定初始姿势或目标姿势的姿势信息。

另外,也可以构成为,在用户熟悉算法的情况下,使应优先的项目不是为表示该项目的名称而是为算法名或输入参数。例如,在stomp(stochastictrajectoryoptimizationformotionplanning:运动规划的随机轨迹优化)这一算法的情况下,可通过以下的式子限制机器人的指尖姿势、扭矩。不过,由于需要设定合适的成本函数(qc,qt),因此削弱即使是对机器人不熟悉的用户也能生成高效的运动这一效果。

[数学式1]

[第二实施方式]

图7是表示本发明的第二实施方式涉及的运动生成系统40的功能框图。该运动生成系统40包括运动生成部(运动生成装置)10、初始/目标姿势输入部12、输入装置16、优先项目输入部42、作业-优先项目db44、显示装置46。以下省略与第一实施方式共同的事项的描述,仅说明不同点。

本实施方式中的运动生成系统40与第一实施方式中的运动生成系统20的不同之处在于,包括使作业内容和优先项目pi相关联的数据库、即作业-优先项目db44。该作业-优先项目db44既可以设于与运动生成部10不同的计算机,也可以设于运动生成部10的存储装置20内。

另外,显示装置46显示机器人r可进行的多个作业内容和与该作业内容相关联的优先项目pi。显示的作业内容例如是“不使指尖旋转的把持作业”、“不把持工件的单纯移动”等内容,作为相关联的优先项目pi,在前者的情况下显示“姿势”,在后者的情况下显示“速度”。根据作业内容的不同,多个优先项目pi与权重一起显示。

作业-优先项目db44是存储作业内容与优先项目pi的关联的数据库。

优先项目输入部42使用运动生成部10的硬件构成(存储装置20、cpu22以及存储器24等)访问作业-优先项目db44,并使显示装置46显示多个作业内容和与其相关联的优先项目pi的组合。进而,获取用户使用输入装置16选择的优先项目pi并将其输出到运动生成部10。

图8是表示第二实施方式涉及的运动生成处理的流程图。

关于初始/目标姿势输入(步骤s50),由于与第一实施方式同样,所以省略说明。

与接收用户进行的初始/目标姿势的输入同时地,优先项目输入部42访问作业-优先项目db44,读出多个作业内容和与其相关联的优先项目pi的组合(步骤s52),并使显示装置46显示读出的作业和与其相关联的优先项目pi的组合作为选择候补(步骤s54)。

用户判断是否有希望的作业内容和根据其应优先的项目pi的合适的组合(步骤s56)。在有符合的合适的组合的情况下,使用输入装置16选择该优先项目pi(步骤s58)。

另一方面,在没有对作业内容进行合适的优先项目pi的注册的情况下,用户能使用输入装置16输入优先项目pi(步骤s60),将作业内容和优先项目pi的组合注册到作业-优先项目db44(步骤s62)。

关于运动生成部10基于获取到的优先项目pi、初始姿势以及目标姿势生成运动(步骤s64),并且机器人r按照该运动进行动作(步骤s66)这一点,与第一实施方式同样。

在本实施方式中,通过使作业内容和优先项目pi相关联,从而用户能简单地选择合适的优先项目。

另外,通过使能够在之后注册作业内容和根据其应优先的项目pi的组合,从而能选择与各种作业内容相应的优先项目pi。另外,能再次利用过去的用户的注册内容,并且,能参照那样的注册内容设定更合适的优先项目pi。需要说明的是,与第一实施方式同样地,也可以将作业内容和多个项目pi相关联,还能对每个项目设置权重。

需要说明的是,在上述实施方式中,用户从作业内容和优先项目pi的组合的候补中选择了合适的组合,但也可以代替其而采用优先项目输入部42从多个候补中建议合适的作业内容和优先项目pi的组合的构成。由于用户的熟悉度的不同而无法根据作业内容适当地选择应优先的项目,因此通过采用这样的构成,能提供对用户更友好的运动生成方法。

另外,在上述实施方式中,将作业内容和优先项目相关联,但也可以构成为代替作业内容而使作业对象和优先项目相关联。例如,作为作业对象,设定(1)“液体”或“焊接或锡焊前的部件”、(2)“固体”或“焊接或锡焊后的部件”,分别对前者关联“姿势”、对后者关联“速度”的优先项目pi,并使之存储于作业-优先项目db44。用户判断是否有希望的作业对象和根据其应优先的项目pi的合适的组合,在有符合的合适的组合的情况下,能使用输入装置16选择该优先项目pi。

通过采用这样的构成,能选择与作业对象相应的合适的优先项目。需要注意的是,也可以将作业内容和作业对象组合来与优先项目相关联。

[第三实施方式]

图9示出第三实施方式涉及的运动生成系统70。

该运动生成系统70除了包括初始/目标姿势输入部12、优先项目输入部14、输入装置16、机器人r以外,还包括传感器s、周边环境输入部72、运动生成部74。需要注意的是,省略与第一和第二实施方式共同的事项的描述,仅说明不同点。

运动生成部74包括:外部i/f18(获取单元),用于与外部间收发信息;存储装置20,存储用于生成机器人r的运动的计算机程序;cpu22,用于执行该计算机程序,并执行用于生成运动的运算处理;存储器24,用于临时存储作为处理对象的数据、计算机程序;以及显示部28,用于显示所输入的数据、处理结果等,运动生成部74基于经由外部i/f18输入的初始/目标姿势、优先项目以及周边环境来生成机器人r的运动。

周边环境输入部使用运动生成部74的硬件构成(存储装置20、cpu22、存储器24以及显示部28等),使用户输入障碍物信息。

首先,如图10所示,周边环境输入部72使显示部28显示gui。用户能在显示的gui上使用输入装置16设定障碍物。因此,能进行以障碍物为前提的高效的运动生成及其模拟。需要说明的是,通过代替或并用用户的输入来读入设定文件,从而也能设定障碍物信息。

进而,在本实施方式中,也可以采用以下构成:能将图像获取用的相机用作传感器s来获取机器人r的周边的图像,并将计测得到的图像信息作为障碍物信息的一部分获取到周边环境输入部72中。周边环境输入部72基于由用户设定的障碍物信息以及从传感器s获取到的周边图像信息,将存在于机器人周边的多个障碍物的形状、位置以及姿势的几何参数输出到运动生成部74。

运动生成部74基于从初始/目标姿势输入部12获取的初始姿势信息、目标姿势信息、从优先项目输入部14获取的优先项目、从周边环境输入部72获取到的周边环境信息,生成如避开障碍物的机器人r的运动。

图11是上述运动生成系统70中的运动生成处理的流程图。

关于初始姿势和目标姿势的输入(步骤s80)以及优先项目的输入(步骤s82),由于与其它实施方式同样,因此省略说明。

接下来,在步骤s84中,周边环境输入部72经由gui或通过传感器s获取周边环境信息,算出存在于机器人周边的障碍物(例如图10所示的障碍物d1和障碍物d2)等的形状、位置(以及姿势)的几何参数,并将其输出到运动生成部74。

在步骤s86中,运动生成部74基于获取到的初始姿势信息、目标姿势信息以及优先项目,与其它实施方式同样地生成机器人r的运动。然后,比较该运动和障碍物的几何参数,判断运动是否与这些障碍物相干涉(步骤s88)。例如,通过比较包含在运动中机器人r所采取的中间姿势的多面体的位置坐标和包含障碍物的多面体的位置坐标,能判断有无干涉。在存在干涉的情况下,再次生成新的运动(步骤s86),再次判断有无再生成的运动与障碍物的干涉(步骤s88)。反复进行以上的步骤s86和s88直至干涉消失。需要说明的是,作为避开障碍物的运动的生成方式,除了这样的基于试错法的方式以外,还可以使用按运动的每一中间点判断与障碍物的干涉的方法、优先选择离障碍物有距离的场所的方法等。

在判断为不存在生成的运动与障碍物的干涉的情况下,按照该运动使机器人r进行动作(步骤s89)。

如上所述,在本实施方式中,构成为基于初始姿势信息、目标姿势信息、周边的障碍物信息以及优先项目来生成从初始姿势到目标姿势的机器人r的运动。由此,可高效地生成能进一步应用于实际的作业的运动。

另外,周边环境信息也可以不仅从图像获取用的传感器s的计测数据获取,还从其它传感器(例如激光测距仪、lidar)、与周边环境有关的cad数据获取。

[第四实施方式]

图12是本发明的第四实施方式涉及的运动生成装置90的功能框图。该运动生成装置90与其它实施方式的不同之处在于,除了包括角度传感器as、运动生成部10、初始/目标姿势输入部12、优先项目输入部14、输入装置16、机器人r以外,还包括姿势算出部92。另外,图13是表示使用了运动生成装置90的运动生成处理的流程图。

本实施方式中的姿势算出部92包括存储于存储装置20的用于算出姿势的计算机程序,并能使用运动生成部10的硬件构成(存储装置20、cpu22以及存储器24等)获取机器人r的当前姿势的姿势信息。因而,如步骤s100所示,能使用姿势算出部92获取机器人r的当前姿势作为初始姿势或目标姿势。具体地,使用设于每个关节jm的多个角度传感器as计测机器人r的各关节jm的旋转角度,姿势算出部92获取作为计测结果的角度信号并基于其算出指定机器人r的姿势的位置信息和姿势信息,从而获取初始姿势信息或目标姿势信息(步骤s103)。

另外,初始姿势或目标姿势信息也可以是姿势算出部92基于用户使用输入装置16或gui输入的机器人r的指尖部分(末端执行器e)的姿势信息算出(步骤s101)。

具体地,执行如图14所示的子程序处理。首先,由用户设定机器人r的指尖姿势作为初始姿势或目标姿势(步骤sr10)。于是,姿势算出部92实施ik计算(inversekinematics:逆运动学)(步骤sr12)。在此,ik计算是指,基于多关节机器人中的前端的位置和姿势信息简单地对用于实现该位置的各关节的角度、位置进行反算的计算方法。经过这样的姿势计算处理(步骤s102),确定、获取初始姿势或目标姿势信息(步骤s103)。

进而,也能基于作为把持对象的工件w的空间上位置信息获取姿势信息(步骤s101)。例如,期望的是,在工件w未被载置于规定的位置来把持载置在传送带等运输机上进行移动的工件w的情况、拣选不规则载置的工件w这样的情况、或者初始姿势或目标姿势每次都发生变更这样的情况下,基于工件w的位置来确定初始姿势或目标姿势。

图15示出用于基于工件w的空间上位置来确定机器人r的初始姿势或目标姿势的子程序。首先,使用设于机器人r的图像传感器s或设于位于传送带上部的天花板部的图像传感器s来拍摄、计测工件w(步骤sr20)。然后,姿势算出部92处理从传感器s获取的图像,识别(获取)工件w(步骤sr22)。在工件w的形状、颜色等为已知的情况下,可使用公知的技术来识别工件w。

接下来,姿势算出部92计算工件w的把持点或把持位置(步骤sr24)。例如,按圆柱、球以及长方体等各模型形状预先使存储装置20存储与末端执行器e相应的接触条件,算出基于通过图像传感器s实际识别的工件w的形状的接触点,从而能指定工件w的把持点。然后,计算用于在算出的把持点处把持工件w的指尖部的姿势(步骤sr26)。之后,执行上述ik计算,算出机器人r整体的姿势信息(步骤sr28)。经过这样的步骤,算出初始姿势信息或目标姿势信息,并由运动生成部10获取(步骤s103)。

同上述步骤一道,与在其它实施方式中说明的同样地获取优先项目(步骤s104),将其输入到运动生成部10。

运动生成部10基于获取的初始和目标姿势信息、优先项目生成运动(步骤s105),并基于生成的运动来控制机器人r。

通过采用这样的构成,可获取此时的机器人r的当前姿势作为初始姿势或目标姿势,能减轻由用户进行的繁杂的输入作业。

另外,可基于工件w的位置或机器人r的指尖姿势获取机器人r的初始姿势或目标姿势,能减轻由用户进行的繁杂的输入作业。

上述实施方式的一部分或全部也可如以下的附记这样记载,但不限于以下的内容。

(附记1)

一种生成用于使机器人从第一姿势变化为第二姿势的动作的运动生成方法,包括以下步骤:

获取指定上述第一姿势的第一姿势信息和指定上述第二姿势的第二姿势信息;

获取与从上述第一姿势变化为第二姿势的动作相关的至少一个优先项目;以及

基于获取的上述第一姿势信息、第二姿势信息以及上述优先项目生成包括从上述第一姿势移动到第二姿势的上述机器人的动作路径的上述机器人的运动。

(附记2)

一种生成用于使机器人从第一姿势变化为第二姿势的动作的运动生成装置,包括:

第一获取单元,获取指定上述第一姿势的第一姿势信息和指定上述第二姿势的第二姿势信息;

第二获取单元,获取与从上述第一姿势变化为第二姿势的动作相关的至少一个优先项目;以及

动作生成单元,基于获取的上述第一姿势信息、第二姿势信息以及上述优先项目生成包括从上述第一姿势移动到第二姿势的上述机器人的动作路径的上述机器人的运动。

(附记3)

一种用于生成用于使机器人从第一姿势变化为第二姿势的动作的计算机程序,

该计算机程序用于使计算机执行以下步骤:

获取指定上述第一姿势的第一姿势信息和指定上述第二姿势的第二姿势信息;

获取与从上述第一姿势变化为第二姿势的动作相关的至少一个优先项目;以及

基于获取的上述第一姿势信息、第二姿势信息以及上述优先项目生成包括从上述第一姿势移动到第二姿势的上述机器人的动作路径的上述机器人的运动。

以上说明的实施方式是为了易于理解本发明的内容,并非用于限定性地解释本发明。实施方式包含的各要素及其配置、材料、条件、形状和尺寸等不限于例示的内容,可适当进行变更。另外,可将不同实施方式中示出的构成彼此部分地替换或者组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1