编程辅助装置、机器人系统以及程序生成方法与流程

文档序号:17700032发布日期:2019-05-17 22:13阅读:157来源:国知局
编程辅助装置、机器人系统以及程序生成方法与流程

本公开涉及编程辅助装置、机器人系统以及程序生成方法。



背景技术:

专利文献1中公开了作业计划装置,其具备分割部和调整部,该分割部按照执行主体将包含多个执行主体的活动(action)分割为多个活动,该调整部基于表示多个活动之间依赖关系的依赖信息,来调整多个活动之中执行主体一致的多个活动中的至少一个的开始定时,该多个活动包括由分割部分割的活动。

现有技术文献

专利文献

专利文献1:日本特开2016-59985号公报。



技术实现要素:

发明要解决的技术问题

本公开的目的在于,提供有效地减轻机器人的动作编程负担的编程辅助装置、机器人系统以及程序生成方法。

用于解决技术问题的手段

本公开的一方面涉及的编程辅助装置包括:第一显示数据生成部,生成第一输入区域的显示用数据,所述第一输入区域用于按照每个任务组来输入第一条件,所述任务组包含多个任务,所述第一条件与机器人用的任务的执行相关;第二显示数据生成部,生成第二输入区域的显示用数据,所述第二输入区域用于输入第二条件,所述第二条件与多个所述任务组的执行顺序相关;第一条件设定部,基于对所述第一输入区域的输入来设定所述第一条件;第二条件设定部,基于对所述第二输入区域的输入来设定所述第二条件;以及程序生成部,基于所述第一条件和所述第二条件来生成动作程序,所述动作程序用于使至少一个所述机器人执行所述多个任务组。

本公开的其他方面涉及的机器人系统包括:至少一个机器人;第一显示数据生成部,生成第一输入区域的显示用数据,所述第一输入区域用于按照每个任务组来输入第一条件,所述任务组包含多个任务,所述第一条件与机器人用的任务的执行相关;第二显示数据生成部,生成第二输入区域的显示用数据,所述第二输入区域用于输入第二条件,所述第二条件与多个所述任务组的执行顺序相关;第一条件设定部,基于对所述第一输入区域的输入来设定所述第一条件;第二条件设定部,基于对所述第二输入区域的输入来设定所述第二条件;程序生成部,基于所述第一条件和所述第二条件来生成动作程序,所述动作程序用于使至少一个所述机器人执行所述多个任务组;以及控制器,按照由所述程序生成部生成的所述动作程序来控制所述机器人。

本公开的还有其他方面涉及的程序生成方法包括:生成第一输入区域的显示用数据,所述第一输入区域用于按照每个任务组来输入第一条件,所述任务组包含多个任务,所述第一条件与机器人用的任务的执行相关;生成第二输入区域的显示用数据,所述第二输入区域用于输入第二条件,所述第二条件与多个所述任务组的执行顺序相关;基于对所述第一输入区域的输入来设定所述第一条件;基于对所述第二输入区域的输入来设定所述第二条件;以及基于所述第一条件和所述第二条件来生成动作程序,所述动作程序用于使至少一个所述机器人执行所述多个任务组的动作程序。

发明效果

根据本公开,能够提供有效地减轻机器人的动作编程负担的编程辅助装置、机器人系统以及程序生成方法。

附图说明

图1是示出机器人系统的整体构成的示意图;

图2是示出编程辅助装置的功能性结构的框图;

图3是例示编程辅助画面的示意图;

图4是编程辅助装置的硬件构成图;

图5是示出编程辅助画面的显示流程的流程图;

图6是示出编辑对象的主任务的设定流程的流程图;

图7是示出第一条件的获取流程的流程图;

图8是示出第一条件的设定流程的流程图;

图9是示出第二条件的设定流程的流程图;

图10是示出动作程序的生成流程的流程图;

图11是示出模拟图像的再现流程的流程图。

具体实施方式

以下,参照附图,对实施方式进行详细说明。在说明中,针对相同要素或具有相同功能的要素标注相同的符号,并省略重复说明。本实施方式涉及的机器人系统是通过使机器人执行由操作员示教的动作而使加工、组装等的各种作业自动化的系统。

〔机器人系统〕

如图1所示,机器人系统1具备多个机器人2、分别控制多个机器人2的多个机器人控制器3、以及编程辅助装置4。机器人2例如为多轴(例如,6轴或7轴)的串联连杆式的垂直多关节机器人,被构成为能够以其前端部5保持工具的状态执行各种作业。机器人2只要在预定的范围内能够自由变更前端部5的位置和姿势即可,不一定局限于6轴的垂直多关节机器人。例如,机器人2可以是在6轴上增加了1轴的冗长轴的7轴的垂直多关节机器人。多个机器人2被配置为:针对配置于相同位置的相同工件,能够通过任意机器人2来执行相同的作业。

机器人控制器3按照预先生成的动作程序来控制机器人2。动作程序例如包括机器人2的前端部5的动作路径。动作路径是指定前端部5的位置/姿势随时间的变化的信息。例如,动作路径包括按时间顺序排列的多个位置/姿势目标值。机器人控制器3计算关节角度目标值(机器人2的各关节的角度目标值),该关节角度目标值用于使前端部5的位置/姿势与上述位置/姿势目标值一致,并按照该关节角度目标值来控制机器人2。

编程辅助装置4是用于辅助动作程序的生成的装置。编程辅助装置4被构成为执行:生成第一输入区域的显示用数据,该第一输入区域用于按照包含多个子任务的任务组来输入与机器人2用的任务的执行相关的第一条件;生成第二输入区域的显示用数据,该第二输入区域用于输入与多个任务组的执行顺序相关的第二条件;基于针对第一输入区域的输入来设定第一条件;基于针对第二输入区域的输入来设定第二条件;以及基于第一条件和第二条件来生成用于使至少一台机器人2执行多个任务组的动作程序。以下,将上述任务称为“子任务”,将上述任务组称为“主任务”。作为主任务的具体例子,举出“移动部件a”、“将部件a安装到(工件)”等。另外,作为子任务的具体例子,可以列举出“取部件a”、“放置部件a”、“将部件a嵌合到(工件)”等。

子任务包括为了使机器人2执行预定的作业而预先设定的动作路径。以下,将该动作路径称为“作业路径”。作业路径例如由操作员预先示教。与子任务的执行相关的第一条件包括执行子任务的机器人2的指定、以及执行子任务的开始条件。开始条件例如由应在子任务的执行开始之前完成的其他子任务的指定等来决定。

〔编程辅助装置〕

以下,对编程辅助装置4的构成进行具体说明。如图2所示,编程辅助装置4具有由一个或多个计算机构成的主体10、监视器20、以及输入装置30。

监视器20是用于显示从主体10输出的信息的装置。监视器20只要能够显示图像就可以是任意的,作为其具体例子,可以例举出液晶面板等。输入装置30是用于对主体10输入信息的装置。输入装置30只要能够输入所希望的信息就可以是任意的,作为其具体例子,可以例举出键盘和鼠标等。此外,监视器20和输入装置30可以作为触控面板而被一体化。另外,例如,如平板电脑那样,主体10、监视器20以及输入装置30的整体可以被一体化。

主体10作为功能性结构(以下,称为“功能模块”)而具有条件存储部111、模型存储部112、子任务存储部113、动作程序存储部114、显示数据生成部121、122、123、124、125、条件设定部131、132、程序生成部140以及程序发送部151。

条件存储部111存储主任务的构成信息、以及上述的第一条件和第二条件。模型存储部112存储模拟用的模型数据。模型数据例如为以多边形构成了机器人2及其周围环境的模型的三维表面数据。子任务存储部113存储预先示教的多个子任务的作业路径。动作程序存储部114存储上述的动作程序。

显示数据生成部121、122、123、124、125生成用于使监视器20显示编程辅助用的画面(以下,称为“编程辅助画面”)的数据。

如图3所示,编程辅助画面200例如包括列表显示区域210、第一输入区域220、第二输入区域230以及规划区域240。列表显示区域210显示多个主任务的列表。例如,列表显示区域210将表示主任务的图标211在预定方向(例如,画面的上下方向)上排列显示。图标211例如包括以文字显示主任务名称的名称显示部212、以及以标记、图解来显示主任务的构成内容的概要的内容显示部213。

第一输入区域220是用于按照主任务输入上述第一条件的区域。例如,第一输入区域220包括新创建按钮221、任务追加按钮222、任务删除按钮223、主任务显示部224、子任务显示部225、机器人输入部226、开始条件输入部227、别名保存按钮228以及覆盖保存按钮229。

主任务显示部224是显示主任务的识别信息(例如,主任务的名称)的文本框。子任务显示部225是显示子任务的识别信息(例如,子任务的名称)的文本框,显示为以枝状从属于主任务显示部224。

机器人输入部226是用于作为第一条件的一个例子而输入执行显示于子任务显示部225的子任务的机器人2的识别信息(例如,机器人的编号)的文本框,机器人输入部226显示为以枝状从属于该子任务显示部225。通过点击(click)(或者轻击(tap))机器人输入部226,能够输入机器人2的识别信息。开始条件输入部227是用于作为第一条件的一个例子而输入子任务显示部225上显示的子任务的开始条件的文本框,并显示为以枝状从属于该子任务显示部225。通过选择开始条件输入部227(例如点击(click)或者轻击(tap)),能够输入该子任务的开始条件。

新创建按钮221是用于开始新的主任务的创建的按钮。例如,当操作(例如,点击(click)或者轻击(tap))新创建按钮221时,显示名称未定且不包含子任务显示部225的状态(以下,称为“空的状态”)的主任务显示部224。

任务追加按钮222是用于向主任务追加子任务的按钮。例如,当主任务显示部224为空的状态下操作任务追加按钮222(例如点击(click)或者轻击(tap))时,针对该主任务显示部224增加一个子任务显示部225。另外,当在任意子任务显示部225被选择的状态下操作任务追加按钮222时,在该子任务显示部225的前面或后面追加一个子任务显示部225。任务删除按钮223是用于从主任务删除子任务的按钮。例如,当在任意子任务显示部225被选择的状态下操作任务追加按钮222时,该子任务显示部225被删除。

别名保存按钮228是用于将按照对第一输入区域220的输入内容的主任务以别名保存到条件存储部111的按钮。覆盖保存按钮229是用于用按照对第一输入区域220的输入内容覆盖现有的主任务并保存到条件存储部111的按钮。

第二输入区域230是用于输入上述第二条件的区域。第二输入区域230将上述第二条件作为流程231而图像显示。流程231包括多个图标232。在第二输入区域230中,预定方向被设为沿着时间顺序的方向(以下,称为“第一方向”)。在图示的例子中,从上往下的方向被设为第一方向。在流程231中,针对沿着第一方向排列的多个图标232(例如,图标232a、232b、232e、232f、232g),按照其排列顺序设定执行顺序。在流程231中,针对向与第一方向正交的第二方向(图示的左右方向)排列的多个图标232(例如,图标232b、232c、232d),执行顺序被设为未定。

规划区域240是用于执行动作程序的生成的区域。例如,规划区域240包括规划执行按钮241、运算水平输入部242以及结果显示部243、244。规划执行按钮241是用于使动作程序的生成开始的按钮。运算水平输入部242是用于输入是否采用为动作程序的生成而自动设定的内容的的判断基准(以下,称为“运算水平”)的对象。例如,运算水平输入部242包括分别与预先设定的多个运算水平对应的多个单选按钮。通过选择该多个单选按钮中任意一个,能够设定运算水平。

结果显示部243、244是显示动作程序的生成结果的部分。结果显示部243显示执行一个周期的动作程序时所需的时间。结果显示部244显示按照动作程序的动作顺序。例如,结果显示部244包括按照每个机器人2示出上述动作顺序的时间图表(timechart)250。时间图表250包括作业时间251(子任务的执行时间)、移动时间252(子任务之间的移动时间)以及待机时间253。图示的例子是显示了两台机器人2的时间图表的状态。

返回到图2,显示数据生成部121(第五显示数据生成部)生成列表显示区域210的显示用数据并输出给监视器20。显示数据生成部122(第一显示数据生成部)生成第一输入区域220的显示用数据并向监视器20输出。

显示数据生成部122更新第一输入区域220的显示用数据,以将在列表显示区域210中选择为设定对象的主任务设为第一条件的设定对象。例如,显示数据生成部122更新第一输入区域220的显示用数据,以从条件存储部111获取与在列表显示区域210中通过点击(click)或者轻击(tap)选择的图标211对应的主任务的信息,并显示该信息。主任务的信息包括该主任务所包含的子任务的识别信息以及已设定的第一条件。

显示数据生成部123(第二显示数据生成部)生成第二输入区域230的显示用数据并向监视器20输出。显示数据生成部123更新第二输入区域230的显示用数据,以将在列表显示区域210中选择为执行对象的主任务追加为第二条件的设定对象。例如,显示数据生成部123更新第二输入区域230的显示用数据,以将与从列表显示区域210拖拽到第二输入区域230的图标211对应的主任务与拖拽完成位置对应地追加到流程231。

条件设定部131(第一条件设定部)基于针对第一输入区域220的输入,设定主任务所包含的子任务的识别信息、以及各子任务的第一条件,并保存到条件存储部111。条件设定部131在第一输入区域220中指定有用于执行子任务的机器人2的情况下,设定第一条件以使得该机器人2执行该子任务,在第一输入区域220中没有指定用于执行子任务的机器人2的情况下,设定第一条件以将用于执行该任务的机器人2设为未定。此外,未指定用于执行子任务机器人2还包括如下情况:虽然指定有可执行该子任务的多个机器人2,但未指定到底使用该多个机器人2中的哪一个。在该情况下,条件设定部131设定第一条件以将执行该子任务的机器人2的选择项限制为该多个机器人2。

条件设定部132(第二条件设定部)基于对第二输入区域230的输入来设定第二条件,并保存到条件存储部111。条件设定部132在第二输入区域230中决定了执行顺序而指定有多个主任务的执行的情况下,设定第二条件以保持该执行顺序,在第二输入区域230中未决定执行顺序而指定有多个主任务的执行的情况下,设定第二条件以将该多个主任务的执行顺序设为未定。例如,条件设定部132在第二输入区域230中多个主任务的图标232沿着上述第一方向排列的情况下,设定第二条件以保持按照该多个图标232的排列顺序的执行顺序,在第二输入区域230中多个主任务的图标232沿着上述第二方向排列的情况下,设定第二条件以将该多个主任务的执行顺序设为未定。

程序生成部140基于第一条件和第二条件来生成动作程序,该动作程序用于使多个机器人2执行多个主任务。例如,程序生成部140作为更细分化的功能模块,包括顺序设定部142、机器人设定部141、路径设定部143、待机时间设定部144、评价值计算部145以及采用与否判断部146。

顺序设定部142在第二条件中多个主任务的执行顺序成为未定的情况下,设定该多个主任务的执行顺序。例如,顺序设定部142设定多个主任务的执行顺序以使得各子任务满足上述开始条件。顺序设定部142也可以设定该多个主任务的执行顺序,以使得执行顺序未定的多个主任务中的至少一部分并行。例如,只要满足上述开始条件,就能够使与机器人2的全部数量相同数量的主任务并行。

机器人设定部141在第一条件中用于执行子任务的机器人2成为未定的情况下,设定该用于执行子任务的机器人2。在执行顺序被设定成使执行用的机器人2未定的多个子任务并行的情况下,机器人设定部141将多个机器人2分别设定为用于执行该多个子任务的机器人。如上所述,在第一条件包含机器人2的选择项的限制的情况下,机器人设定部141在该限制的范围内设定机器人2。

路径设定部143按照每个机器人2设定执行对象的子任务之间的动作路径(以下,称为“空气切割路径”)。例如,路径设定部143使用存储于模型存储部112的模型数据,生成空气切割路径以避免机器人2与其周边配置物之间的冲突。更具体而言,路径设定部143在先行的作业路径的终点和后续的作业路径的始点之间生成能够避免机器人2与周边配置物之间的冲突的经由点,并生成通过该经由点的路径,通过重复该过程生成空气切割路径。这样的生成方法的细节已例如在日本专利第4103057号等中公开。

待机时间设定部144按照每个机器人2设定用于调整多个机器人2之间的动作定时的待机时间。例如,待机时间设定部144在两个机器人2的动作路径彼此干涉的情况下,设定任一机器人2的待机时间以避免该两个机器人2之间的冲突。

评价值计算部145基于预先设定的评价条件来计算由顺序设定部142、机器人设定部141、路径设定部143以及待机时间设定部144进行的设定内容的评价值。作为评价值的具体例子,可以列举出按照上述设定内容的动作程序的执行时间、或者动作程序的消耗功率(按照动作程序动作的多个机器人2的消耗功率)等。可以组合执行时间和消耗功率而导出评价值。

采用与否判断部146基于由评价值计算部145计算出的评价值、以及被输入到运算水平输入部242的运算水平,判断能否采用由顺序设定部142、机器人设定部141、路径设定部143以及待机时间设定部144进行的设定内容。例如,采用与否判断部146在评价值达到预定的合格线的情况下,将上述设定内容判断为可采用,在评价值未达到该合格线的情况下,将上述设定内容判断为不可采用。在该情况下,采用与否判断部146按照被输入到运算水平输入部242的运算水平,变更上述合格线。

采用与否判断部146也可以在通过顺序设定部142、机器人设定部141、路径设定部143、待机时间设定部144以及评价值计算部145在预定期间内反复进行上述设定内容的变更和评价值的计算之后,将得到了最优选的评价值的设定内容判断为可采用。在该情况下,采用与否判断部146按照被输入到运算水平输入部242的运算水平,变更上述预定期间。采用与否判断部146将按照判断为可采用的设定内容的动作程序,保存到动作程序存储部114。

显示数据生成部124(第三显示数据生成部)按照由采用与否判断部146判断为可采用的设定内容,生成结果显示部243、244的显示用数据并向监视器20输出。例如,显示数据生成部124生成将由采用与否判断部146保存到动作程序存储部114的动作程序执行一个周期时所需的时间。另外,显示数据生成部124按照由采用与否判断部146保存到动作程序存储部114的动作程序,生成按照每个机器人2示出子任务的执行时间、按照空气切割路径的移动时间、以及待机时间的时间图表250的显示用数据。

显示数据生成部125(第四显示数据生成部)在针对时间图表250的任意期间进行了动画再现的指示输入(例如,双击(click)或者双击(tap))的情况下,生成示出该期间中的机器人2的动作的动画的显示用数据,并将该显示用数据输出给监视器20。例如,显示数据生成部125基于存储于动作程序存储部114的动作程序、以及存储于模型存储部112的模型数据,生成上述选择期间中的动画的显示用数据。程序发送部151将存储于动作程序存储部114的动作程序发送给机器人控制器3。

图4是例示主体10的硬件构成的框图。如图4所示,主体10具有电路160,电路160具有一个或多个处理器161、存储器162、储存部163以及输入输出端口164。在储存部163中记录有用于构成主体10的上述各功能模块的程序。储存部163只要由计算机可读取,就可以是任意的。作为具体例子,可以列举出硬盘、非易失性半导体存储器、磁盘以及光盘等。存储器162暂时存储从储存部163加载的程序以及处理器161的运算结果等。处理器161通过与存储器162协同执行程序,构成各功能模块。输入输出端口164根据来自处理器161的指令,在与监视器20、输入装置30以及机器人控制器3之间进行电信号的输入输出。

〔编程辅助方法〕

接着,作为程序生成方法以及编程辅助方法的一个例子,说明编程辅助装置4所执行的编程辅助流程。该编程辅助流程包括:生成第一输入区域220的显示用数据,该第一输入区域220用于按照每个主任务来输入与子任务的执行相关的第一条件,主任务包括多个子任务;生成第二输入区域230的显示用数据,该第二输入区域230用于输入与多个主任务的执行顺序相关的第二条件;基于针对第一输入区域220的输入来设定第一条件;基于针对第二输入区域230的输入来设定第二条件;以及基于第一条件和第二条件来生成用于使至少一个机器人2执行多个主任务的动作程序。例如,该编程辅助流程包括编程辅助画面200的显示流程、编辑对象的主任务的设定流程、第一条件的获取流程、第一条件的设定流程、第二条件的设定流程、动作程序的生成流程以及模拟图像的再现流程。以下,例示各流程的内容。

(编程辅助画面的显示流程)

如图5所示,编程辅助装置4首先执行步骤s01。在步骤s01中,显示数据生成部121生成列表显示区域210的显示用数据。例如,显示数据生成部121生成分别与存储于条件存储部111的全部主任务对应的多个图标211的显示用数据,并生成列表显示区域210的显示用数据以在上下方向上排列显示该多个图标211。

接着,编程辅助装置4执行步骤s02。在步骤s02中,显示数据生成部122生成第一输入区域220的显示用数据。例如,显示数据生成部122生成第一输入区域220的显示用数据以使第一输入区域220成为初始状态(例如,显示空的主任务显示部224的状态)。

接着,编程辅助装置4执行步骤s03。在步骤s03中,显示数据生成部123生成第二输入区域230的显示用数据。例如,显示数据生成部123生成第二输入区域230的显示用数据以使得第二输入区域230成为初始状态(未显示任何图标232的状态)。

接着,编程辅助装置4执行步骤s04。在步骤s04中,显示数据生成部124生成规划区域240的显示用数据。例如,显示数据生成部124生成规划区域240的显示用数据,以使规划区域240成为初始状态(在结果显示部243、244上未显示动作程序的生成结果的状态)。

接着,编程辅助装置4执行步骤s05。在步骤s05中,显示数据生成部121、122、123、124分别将列表显示区域210、第一输入区域220、第二输入区域230以及规划区域240的显示用数据输出给监视器20。以上,完成编程辅助画面200的显示。此外,步骤s01、s02、s03、s04的执行顺序能够适当变更。

(编辑对象主任务的设定流程)

如图6所示,编程辅助装置4首先执行步骤s11。在步骤s11中,显示数据生成部122确认在列表显示区域210中任一主任务是否被选择为设定对象(例如,图标211是否被点击(click)或者轻击(tap))。

在步骤s11中,在判断为任何图标211都未被选择的情况下,编程辅助装置4执行步骤s12。在步骤s12中,显示数据生成部122判断新创建按钮221是否被操作(例如,点击(click)或者轻击(tap))。在步骤s12中,在判断为新创建按钮221未被操作的情况下,编程辅助装置4将处理返回到步骤s11。此后,编程辅助装置4等待图标211的选择或者新创建按钮221的操作。

在步骤s11中,在判断为任一主任务被选择为设定对象的情况下,编程辅助装置4更新第一输入区域220的显示用数据,以将在列表显示区域210中被选择的主任务设为第一条件的设定对象。例如,编程辅助装置4依次执行步骤s13、s14。在步骤s13中,显示数据生成部122从条件存储部111获取与在列表显示区域210中被选择的图标211对应的主任务的信息。在步骤s14中,显示数据生成部122生成第一输入区域220的显示用数据,以使其包括按照在步骤s13中所获取的信息的主任务显示部224、子任务显示部225、机器人输入部226以及开始条件输入部227。

在步骤s12中,在判断为新创建按钮221被操作的情况下,编程辅助装置4执行步骤s15。在步骤s15中,显示数据生成部122生成第一输入区域220的显示用数据,以使其包括空的主任务显示部224。

在执行了步骤s14或者步骤s15之后,编程辅助装置4执行步骤s16。在步骤s16中,显示数据生成部122将步骤s14或者步骤s15中生成的第一输入区域220的显示用数据分别输出给监视器20。以上,完成编辑对象的主任务的设定流程。编程辅助装置4反复进行以上流程直到编程辅助画面200关闭为止。

(第一条件的获取流程)

如图7所示,编程辅助装置4首先执行步骤s21。在步骤s21中,显示数据生成部122确认任务追加按钮222是否被操作(例如,点击(click)或者轻击(tap))。在步骤s21中判断为任务追加按钮222未被操作的情况下,编程辅助装置4执行步骤s22。在步骤s22中,显示数据生成部122确认任一子任务显示部225的机器人输入部226是否被选择(例如,点击(click)或者轻击(tap))。在步骤s22中,在判断为机器人输入部226未被选择的情况下,编程辅助装置4执行步骤s23。在步骤s23中,显示数据生成部122确认任一子任务显示部225的开始条件输入部227是否被选择(例如,点击(click)或者轻击(tap))。在步骤s23中,在判断为开始条件输入部227未被选择的情况下,编程辅助装置4将处理返回到步骤s21。此后,编程辅助装置4等待任务追加按钮222的操作、机器人输入部226的选择以及开始条件输入部227的选择中的任何一者被进行。

在步骤s21中,在判断为任务追加按钮222已被操作的情况下,编程辅助装置4依次执行步骤s24、s25、s26。在步骤s24中,显示数据生成部122参照子任务存储部113生成能够追加到主任务显示部224的主任务的子任务的列表,更新第一输入区域220的显示用数据以显示该列表,并将该显示用数据输出给监视器20。在步骤s25中,显示数据生成部122等待在子任务的列表中任一子任务被选择。在步骤s26中,显示数据生成部122更新第一输入区域220的显示用数据,以追加表示被选择的子任务的子任务显示部225(以下,称为“新的子任务显示部225”),并将该显示用数据输出给监视器20。

在主任务显示部224为空的状态时,显示数据生成部122更新第一输入区域220的显示用数据,以将新的子任务显示部225从属于主任务显示部224。在主任务显示部224已包括多个子任务显示部225、且其中的任何一者处于被选择的状态的情况下,显示数据生成部122更新第一输入区域220的显示用数据,以在被选择的子任务显示部225之前追加子任务显示部225。

在步骤s22中,在判断为机器人输入部226被选择的情况下,编程辅助装置4依次执行步骤s27、s28、s29。在步骤s27中,显示数据生成部122参照模型存储部112生成能够执行该子任务(作为该机器人输入部226的从属目的地的子任务显示部225的子任务)的机器人2的列表,更新第一输入区域220的显示用数据以显示该列表,并将该显示用数据输出给监视器20。在步骤s28中,显示数据生成部122等待在机器人2的列表中任一机器人2被选择。在步骤s29中,显示数据生成部122更新第一输入区域220的显示用数据以将被选择的机器人2的识别信息显示于机器人输入部226上,并将该显示用数据输出给监视器20。

在步骤s23中,在判断为开始条件输入部227被选择的情况下,编程辅助装置4依次执行步骤s31、s32、s33。在步骤s31中,显示数据生成部122生成子任务的开始条件的列表的显示用数据并输出给监视器20。例如,显示数据生成部122参照子任务存储部113生成能够指定在开始该子任务(作为该开始条件输入部227的从属目的地的子任务显示部225的子任务)之前完成的子任务(以下,称为“开始条件用的子任务”)的列表的显示用数据。在步骤s32中,显示数据生成部122等待在开始条件的列表中任一开始条件被选择。在步骤s33中,显示数据生成部122更新第一输入区域220的显示用数据,以将被选择的开始条件显示于开始条件输入部227上,并将该显示用数据输出给监视器20。以上,第一条件的获取流程完成。编程辅助装置4反复进行以上的流程直到编程辅助画面200关闭为止。

(第一条件的设定流程)

如图8所示,编程辅助装置4首先执行步骤s41。在步骤s41中,条件设定部131确认设定对象的主任务的名称是否为未定。

在步骤s41中,在判断为设定对象的主任务的名称为未定的情况下,编程辅助装置4依次执行步骤s42、s43、s44、s45。在步骤s42中,条件设定部131等待别名保存按钮228的操作(例如,点击(click)或者轻击(tap))。在步骤s43中,显示数据生成部122通过对话框的显示等来获取主任务的名称的输入。在步骤s44中,条件设定部131按照第一输入区域220的内容,对主任务的名称、该主任务的构成子任务(主任务中所包含的子任务)、以及各构成子任务的第一条件进行集中,并保存到条件存储部111。在步骤s45中,显示数据生成部122更新第一输入区域220的显示用数据以将在步骤s43中获取的名称显示于主任务显示部224上,并将该显示用数据输出给监视器20。

在步骤s41中,在判断为设定有设定对象的主任务的名称的情况下,编程辅助装置4执行步骤s46。在步骤s46中,条件设定部131确认覆盖保存按钮229是否被操作(例如,点击(click)或者轻击(tap))。在步骤s46中,在判断为覆盖保存按钮229未被操作的情况下,编程辅助装置4执行步骤s47。在步骤s47中,条件设定部131确认别名保存按钮228是否被操作。在步骤s47中,在判断为别名保存按钮228未被操作的情况下,编程辅助装置4将处理返回到步骤s46。此后,编程辅助装置4等待覆盖保存按钮229的操作或者别名保存按钮228的操作。

在步骤s46中,在判断为覆盖保存按钮229已被操作的情况下,编程辅助装置4执行步骤s48。在步骤s48中,条件设定部131按照第一输入区域220的内容,将设定对象的主任务的构成子任务、以及各构成子任务的第一条件覆盖保存到条件存储部111。

在步骤s47中,在判断为别名保存按钮228已被操作的情况下,编程辅助装置4依次执行步骤s49、s51、s52。在步骤s49中,显示数据生成部122通过对话框的显示等来获取主任务的名称的输入。在步骤s51中,条件设定部131按照第一输入区域220的内容,对主任务的新的名称、该主任务的构成子任务(主任务中所包含的子任务)、以及各构成子任务的第一条件进行集合,并保存到条件存储部111。在步骤s52中,显示数据生成部122更新第一输入区域220的显示用数据以将在步骤s49中获取的名称显示于主任务显示部224上,并将该显示用数据输出给监视器20。

在步骤s45、s48、s52之后,编程辅助装置4执行步骤s53。在步骤s53中,按照条件存储部111的存储内容的更新,显示数据生成部121更新列表显示区域210的显示用数据并输出给监视器20。以上,完成第一条件的设定流程。编程辅助装置4反复进行以上的流程直到编程辅助画面200关闭为止。

(第二条件的设定流程)

如图9所示,编程辅助装置4首先执行步骤s61。在步骤s61中,显示数据生成部123等待执行对象的主任务被追加到第二输入区域230。例如,显示数据生成部123等待任一图标211被从列表显示区域210向第二输入区域230拖拽。以下,将被追加到第二输入区域230的主任务称为“追加主任务”。

接着,编程辅助装置4执行步骤s62。在步骤s62中,显示数据生成部123确认现有的主任务的图标232是否位于与追加主任务的追加位置(例如,图标211的拖拽完成位置)重复的位置。此外,这里的重复是指,在上述第一方向上的位置的重复。以下,将位于与追加主任务的追加位置重复的位置处的现有的主任务称为“重复主任务”。另外,将位于不与追加主任务的追加位置重复的位置处的现有的主任务称为“非重复主任务”。

在步骤s62中,在判断为存在重复主任务的情况下,编程辅助装置4执行步骤s63。在步骤s63中,显示数据生成部123更新第二输入区域230的显示用数据,以将追加主任务的图标232与重复主任务的图标232并列地(沿着上述第二方向排列)追加,并将该显示用数据输出给监视器20。

在步骤s62中,在判断为不存在重复主任务的情况下,编程辅助装置4执行步骤s64。在步骤s64中,显示数据生成部123更新第二输入区域230的显示用数据,以将追加主任务的图标232追加到不与现有的主任务的图标232并列的位置,并将该显示用数据输出给监视器20。在上述追加位置的前面(或者后面)存在非重复主任务的图标232的情况下,显示数据生成部123追加图标232的显示用数据,以将追加主任务的图标232追加到该非重复主任务的图标232的后面(或者前面)。在存在夹住上述追加位置的两个非重复主任务的图标232的情况下,显示数据生成部123更新第二输入区域230的显示用数据以在该两个非重复主任务的图标232之间插入追加主任务的图标232。

在步骤s63、s64之后,编程辅助装置4执行步骤s65。在步骤s65中,显示数据生成部123基于针对第二输入区域230的输入来设定第二条件,并保存到条件存储部111。例如,显示数据生成部123在第二输入区域230中沿着上述第一方向排列有多个主任务的图标232的情况下,设定第二条件以保持按照该多个图标232的排列顺序的执行顺序,在第二输入区域230中沿着上述第二方向排列有多个主任务的图标232的情况下,设定第二条件以将该多个主任务的执行顺序设为未定。以上,完成第二条件的设定流程。编程辅助装置4反复进行以上的流程直到编程辅助画面200关闭为止。

(动作程序的生成流程)

如图10所示,编程辅助装置4首先执行步骤s71。在步骤s71中,程序生成部140等待规划执行按钮241的操作(例如,点击(click)或者轻击(tap))。

接着,编程辅助装置4依次执行步骤s72、s73。在步骤s72中,顺序设定部142设定在第二条件中执行顺序为未定的多个主任务的执行顺序。例如,顺序设定部142设定该多个主任务的执行顺序以使得各子任务满足上述开始条件。顺序设定部142也可以设定该多个主任务的执行顺序以使得执行顺序为未定的多个主任务中的至少一部分并行执行。在步骤s73中,机器人设定部141设定在第一条件中用于执行子任务的机器人2为未定的用于执行子任务的机器人2。机器人设定部141在执行顺序被设定成用于执行子任务的机器人2为未定的多个子任务并行执行的情况下,将多个机器人2分别设为用于执行该多个子任务的机器人2。

接着,编程辅助装置4依次执行步骤s74、s75、s76。在步骤s74中,路径设定部143按照每个机器人2设定执行对象的子任务之间的上述空气切割路径。在步骤s75中,待机时间设定部144按照每个机器人2设定用于调整多个机器人2之间的动作定时的上述待机时间。在步骤s76中,评价值计算部145基于预先设定的评价条件,计算由顺序设定部142、机器人设定部141、路径设定部143以及待机时间设定部144进行的设定内容的评价值。

接着,编程辅助装置4执行步骤s77。在步骤s77中,采用与否判断部146基于由评价值计算部145计算出的评价值、以及被输入到运算水平输入部242的运算水平,判断能否采用基于顺序设定部142、机器人设定部141、路径设定部143以及待机时间设定部144的设定内容。例如,采用与否判断部146在评价值达到预定的合格线的情况下,将上述设定内容设为可采用,在评价值未达到该合格线的情况下,将上述设定内容设为不可采用。采用与否判断部146按照被输入到运算水平输入部242的运算水平,变更上述合格线。

在步骤s77中,在将由顺序设定部142、机器人设定部141、路径设定部143以及待机时间设定部144进行的设定内容判断为不可采用的情况下,编程辅助装置4将处理返回到步骤s72。此后,反复进行执行顺序的设定、执行主体的设定、空气切割路径的设定、以及待机时间的设定直到设定内容被判断为可采用。

在步骤s77中,在将由顺序设定部142、机器人设定部141、路径设定部143以及待机时间设定部144进行的设定内容判断为可采用的情况下,编程辅助装置4依次执行步骤s78、s79。在步骤s78中,采用与否判断部146将基于判断为可采用的设定内容的动作程序保存到动作程序存储部114。在步骤s79中,显示数据生成部124按照由采用与否判断部146判断为可采用的设定内容,生成结果显示部243、244的显示用数据并输出给监视器20。例如,显示数据生成部124生成采用与否判断部146将保存在动作程序存储部114中的动作程序执行一个周期时所需的时间。另外,显示数据生成部124按照由采用与否判断部146保存于动作程序存储部114的动作程序,生成时间图表250的显示用数据,该时间图表250的显示用数据按照每个机器人2表示子任务的执行时间、按照空气切割路径的移动时间以及待机时间。以上,完成动作程序的生成流程。编程辅助装置4反复进行以上的流程直到编程辅助画面200关闭为止。

此外,编程辅助装置4可以在预定期间反复进行了步骤s72、s73、s74、s75、s76之后,将得到最优选的评价值的设定内容判断为可采用。在该情况下,采用与否判断部146按照被输入到运算水平输入部242的运算水平,变更上述预定期间。

(模拟图像的再现流程)

如图11所示,编程辅助装置4首先依次执行步骤s91、s92。在步骤s91中,显示数据生成部123确认时间图表250中的任一期间是否被新选择(例如点击(click)或者轻击(tap))。

在步骤s91中,在判断为任一期间被新选择的情况下,编程辅助装置4执行步骤s92。在步骤s92中,显示数据生成部123更新第二输入区域230的显示用数据以使强调显示与在时间图表250中被选择的期间对应的主任务的图标232,并将该显示用数据输出给监视器20。

接着,编程辅助装置4执行步骤s93。在步骤s91中,在判断为不存在被新选择的期间的情况下,编程辅助装置4不执行步骤s92而执行步骤s93。在步骤s93中,显示数据生成部125确认针对选择中的期间是否进行了动画再现的指示输入(例如,双击(click)或者双击(tap))。

在步骤s93中,在判断为未进行动画再现的指示输入的情况下,编程辅助装置4将处理返回到步骤s91。此后,编程辅助装置4与期间的选择对应地变更第二输入区域230的显示,并等待动画再现的指示输入。

在步骤s93中,在判断为被进行了动画再现的指示输入的情况下,编程辅助装置4执行步骤s94。在步骤s94中,显示数据生成部125生成动画的显示用数据并向监视器20输出,该动画示出上述选择中的期间的机器人2的动作。以上,完成模拟图像的再现流程。编程辅助装置4反复进行以上的流程直到编程辅助画面200关闭为止。

〔本实施方式的效果〕

编程辅助装置4具备显示数据生成部122、显示数据生成部123、条件设定部131、条件设定部132以及程序生成部140。显示数据生成部122生成第一输入区域220的显示用数据,第一输入区域220用于按照包含多个任务(子任务)的任务组(主任务)输入与机器人2用的任务的执行相关的第一条件。显示数据生成部123生成第二输入区域230的显示用数据,第二输入区域230用于输入与多个任务组的执行顺序相关的第二条件。条件设定部131基于对第一输入区域220的输入来设定第一条件。条件设定部132基于对第二输入区域230的输入来设定第二条件。程序生成部140基于第一条件和第二条件来生成用于使至少一个机器人2执行多个任务组的动作程序。

根据该编程辅助装置4,能够整理为与各自的任务的执行相关的第一条件、以及与执行顺序相关的第二条件,并输入所希望的条件。另外,对于第一条件和第二条件中任何一者,都能够以整合了多个任务的任务组为单位进行输入。因此,减轻所希望的条件的输入负担。一旦第一条件和第二条件被输入,则基于这些自动生成动作程序。因此,该编程辅助装置4对于减轻机器人2的动作编程负担是有效的。

条件设定部131在第一输入区域220中指定有用于执行任务的机器人2的情况下,设定第一条件以使得该机器人2执行该任务,在第一输入区域220中未指定有用于执行任务的机器人2的情况下,设定第一条件以将用于执行该任务的机器人2设为未定,程序生成部140可以具有机器人设定部141,该机器人设定部141在第一条件中用于执行任务的机器人2为未定的情况下,设定用于执行该任务的机器人2。在该情况下,通过分开使用预先指定用于执行任务的机器人2的输入、以及将用于执行任务的机器人2的选择委托给程序生成部140的输入,能够兼顾条件设定负担的减轻和程序生成时间的缩短。

条件设定部132在第二输入区域230中决定了执行顺序而指定有多个任务组的执行的情况下,设定第二条件以保持该执行顺序,在第二输入区域230中未决定执行顺序而指定有多个任务组的执行的情况下,设定第二条件以将该多个任务组的执行顺序设为未定,程序生成部140还可以具有顺序设定部142,该顺序设定部142在第二条件中多个任务组的执行顺序为未定的情况下,设定该多个任务组的执行顺序。在该情况下,通过分开使用预先指定执行顺序的输入、以及将执行顺序的设定委托给程序生成部140的输入,能够兼顾条件设定负担的减轻和程序生成时间的缩短。

顺序设定部142设定该多个任务组的执行顺序,以使得执行顺序为未定的多个任务组中的至少一部分并行执行,机器人设定部141在执行顺序被设定为将用于执行任务的机器人2为未定的多个任务并行执行的情况下,可以将多个机器人分别设为用于执行该多个任务的机器人2。在该情况下,能够生成有助于缩短间隔时间的动作程序。因此,减轻将所生成的动作程序为缩短间隔时间而调整的作业负担。

条件设定部132在第二输入区域230中沿着第一方向排列有多个任务组的图标232的情况下,设定第一条件以按照该多个任务组的图标232的排列顺序的执行顺序,在第二输入区域230中沿着与第一方向交叉的第二方向排列有多个任务组的图标232的情况下,可以设定第二条件以将该多个任务组的执行顺序设为未定。在该情况下,能够提供分开使用预先指定执行顺序的输入、以及将执行顺序的设定委托给程序生成部140的输入的直观的界面。

程序生成部140还可以具有路径设定部143、待机时间设定部144以及采用与否判断部146。路径设定部143按照每个机器人2设定执行对象的任务之间的动作路径。待机时间设定部144按照每个机器人2设定用于调整多个机器人2之间的动作定时的待机时间。采用与否判断部146基于预先设定的评价条件,判断能否采用由机器人设定部141、顺序设定部142、路径设定部143以及待机时间设定部144进行的设定内容。在该情况下,除了用于执行任务的机器人2的设定、任务的执行顺序的设定之外,还自动执行动作路径的生成以及待机时间的设定。并且,基于预先设定的评价条件,判断能否采用用于执行任务的机器人2的设定结果、任务的执行顺序的设定结果、动作路径的生成结果以及待机时间的设定结果。因此,进一步减轻调整所生成的动作程序的作业负担。

编程辅助装置4还可以具备显示数据生成部124,该显示数据生成部124按照由采用与否判断部146判断为可采用的设定内容,生成时间图表的显示用数据,该时间图表按照每个机器人2示出任务的执行时间、按照动作路径的移动时间、以及待机时间。在该情况下,能够提供容易评价所生成的动作程序的界面。因此,减轻验证所生成的动作程序的作业负担。

编程辅助装置4还可以具备显示数据生成部125,该显示数据生成部125生成动画的显示用数据,该动画示出在时间图表中被选择的期间的机器人2的动作。在该情况下,能够提供容易评价所生成的动作程序的界面。因此,进一步减轻验证所生成的动作程序的作业负担。

编程辅助装置4还具备显示数据生成部121,该显示数据生成部121生成显示多个任务组的列表的列表显示区域的显示用数据,显示数据生成部122更新第一输入区域220的显示用数据以将在列表显示区域中被选择为设定对象的任务组设为第一条件的设定对象,显示数据生成部123可以更新第二输入区域230的显示用数据以将在列表显示区域中被选择为执行对象的任务组追加为第二条件的设定对象。在该情况下,成为第一条件以及第二条件的设定对象的任务组的选择变得容易,因此进一步减轻所希望的条件的输入负担。

以上,针对实施方式进行了说明,但本发明不一定局限于上述的方式,在不脱离其宗旨的范围内可以进行各种变形。

符号说明

2…机器人、4…编程辅助装置、121…显示数据生成部(第五显示数据生成部)、122…显示数据生成部(第一显示数据生成部)、123…显示数据生成部(第二显示数据生成部)、124…显示数据生成部(第三显示数据生成部)、125…显示数据生成部(第四显示数据生成部)、131…条件设定部(第一条件设定部)、132…条件设定部(第二条件设定部)、140…程序生成部、141…机器人设定部、142…顺序设定部、143…路径设定部、144…待机时间设定部、146…采用与否判断部、220…第一输入区域、230…第二输入区域。

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