模拟装置、模拟方法及存储介质与流程

文档序号:18543118发布日期:2019-08-27 21:25阅读:195来源:国知局
模拟装置、模拟方法及存储介质与流程

本发明涉及一种模拟装置、模拟方法及存储介质。



背景技术:

在工厂的生产线等中,传输零件或产品等工件的设备中有一种抓取和放置装置。抓取和放置装置例如有吸盘等,具有保持体,吸附工件从而保持,在规定的场所,吸附工件并保持,以保持的状态传输工件,在目的地场所解除吸附,放置好工件。

为确定抓取和放置装置的最佳实施条件,提出了使用工件模型及搬运机器人模型的模拟装置(例如,参照专利文献1)。

根据专利文献1中记载的技术,通过搬运机器人的操作速度及工件模型的质量,算出工件模型的振动加速度,再根据振动加速度,确定装置的操作条件。

专利文献:日本特开平7-256578号公报

但是,专利文献1中记载的技术中,虽然能在模拟中确认工件模型的振动,但是无法确认到多大的振动会使得搬运机器人的保持失败,工件掉落。



技术实现要素:

本发明鉴于以上问题,提供了一种针对工件掉落而执行模拟的模拟装置、模拟方法及存储介质。

本发明的模拟装置具有:导出部,在使包含工件、保持工件的具有弹性的保持体及安装有保持体的机器臂的各模型的模拟模型根据动作指令执行加速度运动的模拟时,根据机器臂的加速度和工件的加速度之差导出发生在保持体上的负载力矩;和执行条件变更部,在导出部导出的负载力矩大于阈值时,进行用于变更模拟的执行条件的处理,以使在导出部导出的负载力矩在阈值以下,从产生于工件的力矩中减去因惯性力而产生的力矩从而导出负载力矩。

在加速度运动为水平运动时,因惯性力而产生的力矩为因作用于水平方向的水平惯性力而产生的力矩,在加速度运动为相对于水平方向倾斜的运动时,因惯性力而产生的力矩为作用于水平方向的水平惯性力的力矩和作用于垂直方向的垂直惯性力的力矩之和。

在执行条件为最大加速度时,在导出部导出的负载力矩大于阈值的情况下,执行条件变更部进行用于减少最大加速度的处理。

在执行条件为最大加速度时,在导出部导出的负载力矩在阈值以下的情况下,执行条件变更部进行用于增加最大加速度的处理。

执述执行条件变更部在反复进行用于变更执行条件的处理时,将在导出部导出的负载力矩在阈值以下且最接近阈值的执行条件作为最终的执行条件而进行提示。

在导出部导出的负载力矩大于阈值时,保持体解除对工件的保持,也就是说,还包含一个判断部,判断工件从保持体掉落。

在机器臂的传输路径上根据对机器臂的动作指令划分的多个区间中,对于包含由判断部判断为工件掉落的时刻的区间,执行条件变更部变更模拟的执行条件或进行变更执行条件所必要的提示。

阈值被设定为以下的值,即在使相当于模拟模型的具有机器臂的实际机器变更执行条件进行反复操作时,在保持体未解除对工件的保持的执行条件下产生的负载力矩中的最大值。

模拟装置还具有显示部,显示部显示依据执行条件的模拟的结果。

本发明的模拟方法包括:导出工序,在使包含工件、保持工件的具有弹性的保持体及安装有保持体的机器臂的各模型的模拟模型根据动作指令执行加速度运动的模拟时,根据机器臂的加速度和工件的加速度之差导出发生在保持体上的负载力矩;和执行条件变更工序,在导出工序导出的负载力矩大于阈值时,进行用于变更模拟的执行条件的处理,以使在导出工序导出的负载力矩在阈值以下。

根据本发明的存储介质,存储模拟程序,模拟程序使计算机执行:导出工序,在使包含工件、保持工件的具有弹性的保持体及安装有保持体的机器臂的各模型的模拟模型根据动作指令执行加速度运动的模拟时,根据机器臂的加速度和工件的加速度之差导出发生在保持体上的负载力矩;和执行条件变更工序,在导出工序导出的负载力矩大于阈值时,进行用于变更模拟的执行条件的处理,以使在导出工序导出的负载力矩在阈值以下。

根据本发明,在负载力矩大于阈值时,进行变更模拟执行条件的处理使其变更为在阈值以下。由于如果负载力矩在阈值以下就能够避免工件掉落,从而能够提供针对工件掉落的模拟。

附图说明

图1是显示根据第1实施方式的模拟装置的硬件构成的框图。

图2是显示模拟装置的功能结构示例的框图。

图3是显示机器人动作的坐标位置的示例图。

图4是运动程序的示例示意图。

图5是运动参数的示例示意图。

图6是工件是否吸附的状态示意图。

图7是表示工件受到的向下的力的示意图。

图8是机器臂和工件的加速度差值的示意图。

图9是工件旋转运动的示意图。

图10是包含机器臂、保持体及工件的物理模型的示例示意图。

图11是表示模拟装置的cpu执行的动作流程的流程图。

图12是表示垂直运动的最大加速度(执行条件)的变更处理的流程的流程图。

图13是表示水平运动的最大加速度(执行条件)的变更处理的流程的流程图。

图14是表示变更加速时间时的速度及加速度的变化的示意图。

图15是根据第2实施方式的由模拟装置的cpu执行操作的流程图。

图16是表示工件上施加的力的示意图。

附图标记说明:

10…模拟装置;101…运动程序编辑部;102…运动参数编辑部;103…运动指令值计算部;104…动力计算部;105…负荷导出部;106…掉落判断部;107…3d显示部;108…执行条件变更部。

具体实施方式

以下,参照附图说明本发明的实施方式的一个示例。各附图中同一或同等的构成要素及部分用同一附图标记标注。另外,附图的尺寸比例,为便于说明做了放大处理,有些与实际比例不符。

(第1实施方式)

图1是显示第1实施方式的模拟装置的硬件构成的框图。

本实施方式的模拟装置10将模拟对象的装置、装置用到的工件及障碍物等作为模拟模型,预测及设计模拟模型的举动。模拟模型例如可以是用算式表示作用于装置等的物理现象的物理模型,或者由实际机器测量的数据通过系统识别或者机械学习等得到的动态模型。

本实施方式中,作为模拟对象的装置是具有机器臂的机器人。机器臂的前端安装有具有弹性的保持体,机器人通过保持体抓取工件,进行传输,将工件运载到目的地,也就是抓取和放置装置。本实施方式中,特别就保持体为吸盘,机器臂吸附传输工件的情况进行说明。

如图1所示,模拟装置10具有cpu(centralprocessingunit)11、rom(readonlymemory)12、ram(randomaccessmemory)13、存储器14、输入部15、显示器16、光盘驱动装置17及通信接口18。各构成通过总线19相互可通信地连接。

本实施方式中rom12或存储器14中,保存有执行模拟的模拟程序。cpu11是中央计算处理单元,执行各种程序或控制各个构成。也就是说,cpu11从rom12或存储器14读取程序,以ram13为操作区域执行程序。cpu11根据rom12或存储器14中记录的程序,进行上述各构成的控制及各种计算处理。

rom12保存各种程序及各种数据。ram13作为操作区域暂时存储程序或数据。存储器14由hdd(harddiskdrive)或ssd(solidstatedrive)构成,保存包含操作系统的各种程序及各种数据。

输入部15包含键盘151及鼠标152等的定点设备,用于进行各种输入。显示器16例如液晶显示器显示工件是否成功吸附等的各种信息。显示器16采用触屏方式,也可以起到输入部15的作用。光盘驱动装置17进行存储在各种存储介质(cd-rom或蓝光光盘等)的数据的读入、将数据写入存储介质中等。

通信接口18是用于与其他设备进行通信的接口,使用例如以太网络(注册商标)、fddi或wi-fi(注册商标)等标准。

接下来说明模拟装置的功能结构。

图2是显示模拟装置的功能结构的示例的框图。图3是显示机器人操作的坐标位置的示例图,图4是表示运动程序的示例图,图5是表示运动参数的示例图。图6是显示工件吸附是否成功的状态的示例图。

如图2所示,模拟装置10作为功能结构,具有运动程序编辑部101、运动参数编辑部102、运动指令值计算部103、动力计算部104、负荷导出部105、掉落判断部106、3d显示部107及执行条件变更部108。通过读取cpu11存储在rom12或存储器14中的模拟程序,并在ram13中展开执行来实现各功能结构。

运动程序编辑部101从用户受理在模拟中希望机器人进行的操作或受理操作的编辑。用户能够参照显示器16通过输入部15输入或编辑运动程序。另外,运动程序编辑部101也可以用作运动策划部,根据装置及障碍物的配置信息自动生成装置的操作运动程序。

运动程序编辑部101中,为使机器臂执行如图3所示的操作,设定了如图4所示的运动程序。如图3所示的操作示例中,显示了机器臂从位置p0开始移动,经过位置p1及位置p2,到达位置p3的操作。位置p0在xyz坐标系中为坐标(0,0,0),即表示原点。位置p1为坐标(0,0,30),是从位置p0向z方向(高度方向)按坐标中定义的单位移动30的位置。位置p2为坐标(50,0,30),是从位置p1再在x方向上前进50的位置。位置p3为坐标(50,0,0),是从位置p2进一步向z方向前进30的位置。这样,图3所示的操作即为机器臂从原点上升的垂直运动、维持高度不变的水平运动以及下降的垂直运动这三组运动连续进行的操作。

为进行这种操作的命令,作为运动程序,例如被输入到图4所示的运动程序编辑部101中。图4所示的运动程序包含按行号的升序执行命令的三行的动作指令。如果是抓取和放置装置,抓取及放置的操作也可以包含在运动程序中。不仅是机器人的移动,工件的保持(吸附)及放下等的操作也可以通过运动程序下达命令。

运动参数编辑部102从用户受理由运动程序命令的操作参数的编辑。用户能够参照显示器16,通过输入部15输入或编辑运动参数。运动参数例如图5所示,确定依照各命令的操作中的最大速度及最大加速度。最大速度及最大加速度可以设定为预先设定在机器人中的基准速度及基准加速度的比值。通过受理基准速度比值的输入,能够防止用户不知道机器人的正常操作速度而输入功能上或结构上无法实现的操作速度。或者,运动参数编辑部102还可以受理速度及加速度的物理量的数值,来取代比值。另外,本说明书中,“加速度”是包含加速时的加速度(正值)及减速时的减速度(负值)这两方面的含义。因此,图5的最大加速度的参数不仅包含加速时的最大加速度,还包含减速时的最大减速度。但最大加速度和最大减速度的参数不必统一设定为相同的值,可以分别单独设定。

运动指令值计算部103指示模拟的开始后,读入运动程序编辑部101所获得的运动程序中进行最开始操作的命令。然后,运动指令值计算部103读入运动参数编辑部102中获得的运动参数中,与命令相对应的运动参数。接着,运动指令值计算部103通过读入的命令和运动参数,依次计算模拟中使用的动作指令值并输出。同样的,运动指令值计算部103依次读入与后续的命令相对应的运动参数,输出动作指令值。

动力计算部104读入从运动指令值计算部103输出的动作指令值、机器人的三维cad数据、以及包含分别表示工件、吸盘(保持体)及机器臂的模型的模拟模型。动力计算部104通过读入的动作指令值、cad数据及模拟模型计算并输出考虑动力(动力学)的模拟模型的操作相关的各种数据。机器人的三维cad数据及模拟模型可以预先收纳在存储器14中,也可以从光盘驱动装置17读入获得,或者通过通信接口18从外部设备获得。另外,以上是使用三维cad数据的示例,不使用三维cad数据也能执行模拟。例如,可以使用二维cad数据、机器人的尺寸数据、或机器人的设计数据等执行模拟。

负荷导出部105根据动力计算部104计算的模拟模型的各种数据,导出模拟模型进行垂直运动时作用于工件上的向下的力。另外,根据动力计算部104计算的模拟模型的各种数据,模拟模型导出与水平运动时的机器臂的加速度和工件加速度之间的差相适应的作用于吸盘的力矩。本说明书中,将发生于吸盘的力矩称为负载力矩。负荷导出部105也可以根据模拟模型的操作计算向下的力及负载力矩,另外,也可以从预先登录的表中导出。负荷导出部105在模拟中,根据模拟模型的操作反复导出变化的负载力矩。后文将详细说明向下的力及负载力矩。

掉落判断部106根据负荷导出部105导出的向下的力及负载力矩,判断工件是否从吸盘掉落。掉落判断部106在模拟模型进行垂直运动时,根据向下的力是否大于阈值(以下称阈值tv)判断工件是否掉落。另外,掉落判断部106在模拟模型进行水平运动时,通过负载力矩是否大于阈值(以下称阈值th)判断工件是否掉落。另外,水平运动中工件也受到重力,阈值th是加上重力后发生多大的负载力矩则工件会掉落这一角度确定的值。

阈值tv及阈值th均为考虑工件掉落设定的值。例如,阈值tv可以设定为,使相当于模拟模型的机器人的实际机器操作时,工件没有掉落的执行条件下产生的向下的力。优选的,阈值tv设定为使相当于模拟模型的机器人的实际机器变更执行条件反复进行操作时,工件未掉落的执行条件下产生的向下的力中的最大值。同样的,阈值th可以设定为使相当于模拟模型的机器人的实际机器进行操作时,工件未掉落的执行条件下产生的负载力矩。优选的,阈值th可以设定为使相当于模拟模型的机器人的实际机器变更执行条件而进行反复操作时,工件未掉落的执行条件下产生的负载力矩中的最大值。另外,阈值tv及阈值th也可以不根据使实际机器进行操作来设定。也可以参照提前积累的每个工件的阈值的数据库,将与想要运送的工件类似的工件的垂直运动时的阈值及水平运动时的阈值作为阈值tv及阈值th来设定。

3d显示部107将根据动力计算部104计算出的模拟模型的操作显示在显示器16上。3d显示部107例如将机器人传输工件的状态按时间顺序以三维动画的形式显示在显示器16上。显示不一定限于三维,也可以是二维或者数值。掉落判断部106判断工件未掉落时(工件吸附成功时),3d显示部107将如图6的上图所示的内容显示在显示器16上。另外,掉落判断部106判断工件掉落时(工件吸附失败时),3d显示部107将如图6的下图所示的内容显示在显示器16上。

执行条件变更部108进行变更模拟执行条件的处理。作为变更模拟执行条件的处理有自动变更模拟执行条件或进行向用户提示需要变更执行条件的处理。执行条件变更部108在3d显示部107显示模拟结果后,从用户受理是否变更执行条件。这时,执行条件变更部108将请求输入是否变更执行条件的消息显示到显示器16中,促使用户输入。或执行条件变更部108根据掉落判断部106的判断结果,在工件掉落时,即负载力矩大于阈值th或向下的力大于阈值tv时,自动变更执行条件。或者,执行条件变更部108根据掉落判断部106的判断结果在工件掉落时,督促用户变更执行条件。

接下来详细说明向下的力及负载力矩。

图7时表示工件受到的向下的力的示意图,图8是表示机器臂和工件的加速度之差的示意图,图9是表示工件旋转运动的示意图,图10是包含机器臂、保持体及工件的物理模型的示例示意图。

如图7至图10所示,第1实施方式的模拟模型由分别表示工件、吸附工件的吸盘以及前端安装有吸盘的机器臂的模型构成。如图10所示,模拟模型中,工件及机器臂为刚体,吸盘为质量mpad、旋转阻尼系数cpad、及旋转弹性系数kpad的弹性体。

首先说明向下的力。机器臂r在垂直方向上方及下方进行加速度运动时,作用于工件w的向下的力为重力和惯性力之和。即如图7所示,机器臂r在垂直方向上以加速度ar进行加速度运动时,包含在模拟模型中的工件w的重心上受到重力m×g和惯性力m×az之和的力。这里,m是工件w的质量,g是重力加速度,az是工件w的加速度。重力m×g和惯性力m×az之和的向下的力在阈值tv以下时判断工件w不掉落,大于阈值tv时判断工件w掉落。阈值tv设定为使相当于模拟模型的机器人的实际机器变更执行条件反复进行操作时工件未掉落的执行条件下产生的向下的力中的最大值。

接下来,说明负载力矩。说明如图8所示机器臂r根据动作指令在水平方向上以加速度ar进行加速度运动时的情况。这里,机器臂r和工件w之间有一个具有弹性的吸盘p。因此,加速度运动时吸盘p变形,工件w,以吸盘p上假想的旋转轴为旋转中心,如图9所示进行旋转,工件w及机器臂r之间产生加速度的差。这里,工件加速度以aw表示,从旋转中心到工件w的重心的距离用符号l1表示,从旋转中心到工件底部的距离用符号l2表示。另外,模拟模型的旋转部分的工件w的惯性力矩用符号i表示。相对于工件w的垂直方向的旋转角度用θ表示。工件w及机器臂r移动的惯性坐标系中,工件w产生的力矩τ用一下式(1)表示。

【数1】

用下面的式(2)近似角加速度

将式(2)代入式(1)中得到下面的式(3)。

如式(3)所示,由工件w加速度aw和机器臂r的加速度ar之差,表示工件w产生的力矩τ。将力矩τ可以视为作为负荷加在吸盘p上的力,即负载力矩。因此,也可以通过用式(3)表示的负载力矩的大小,判断工件w在吸盘p上的保持是否解除,工件w是否掉落。

同时,负载力矩也可以放在和机器臂r一起运动的平移坐标系中考虑。在平移坐标系中,工件产生的力矩τ用如下式(4)所示的旋转的运动方程式表示。m为负载力矩。

【数2】

平移坐标系中,力矩τ可以用机器臂r的加速度运动(水平运动)产生的作用于水平方向上的水平惯性力作用于工件w的惯性力而产生的力矩marl1和作为负荷加在吸盘p上的力,即,与负载力矩m之和表示。如式(4)所示,在平移坐标系中考虑的话,相比式(1),考虑到由作用于工件w上的惯性力产生的力矩,能够更加准确地算出吸盘p上的负载力矩m。

将式(2)代入式(4),变形为负载力矩m的式,得到式(5)。因此,给出加速度ar,就能从后述式(6)求得加速度aw,因此能从式(5)求得负载力矩。

【数3】

在以下的说明中,说明用式(5)表示负载力矩m的情况。负载力矩m如上所述在阈值th以下时,工件w不掉落,大于阈值th时工件w掉落。阈值th设定为使相当于模拟模型的机器人的实际机器变更执行条件反复进行操作时,工件未掉落的执行条件下产生的负载力矩中的最大值。

另外,在模拟中,上述式(3)及式(5)的工件w的加速度aw使用吸盘p和工件w之间的传递函数g(s),用如下式(6)表示。

aw=g(s)×ar…式(6)

这里传递函数g(s)用以下式(7)表示,其中用图10所示的物理模型来表示吸盘p。物理模型从实际机器的操作数据抽取影响工件w的加速度aw的参数构建而成。例如,图10中,使机器臂r以加速度ar进行加速度运动时,影响工件w的加速度aw的吸盘p的质量mpad、旋转阻尼系数cpad、及旋转弹性系数kpad被作为吸盘模型的参数提示出来。特别是只用影响工件w的加速度aw的参数构建吸盘模型,因此可以减少加速度aw以外的外部影响,以更高的精度求得加速度aw。传递函数g(s)例如可以用式(7)表示。

【数4】

下面说明模拟装置10的作用。

图11是显示通过模拟装置的cpu执行的操作流程的流程图。cpu11从rom12或存储器14读取模拟程序,在ram13展开执行,来进行模拟处理。

cpu11读入运动程序及运动参数(步骤s101),作为运动指令值计算部103,计算运动指令值(步骤s102)。作为动作指令的一个示例的运动指令值,如图5所示,用move1~3的各自的最大加速度。

cpu11作为动力计算部104,根据运动指令值及模拟模型执行模拟(步骤s103)。cpu11作为负荷导出部105,在模拟过程中进行变化,根据所有向下的力及式(5)和式(6)算出全部负载力矩m(步骤s104)。

cpu11作为掉落判断部106,在模拟过程中,根据是否有向下的力超过阈值tv的时刻及负载力矩超过阈值th的时刻,判断工件w的吸附是否成功(步骤s105)。并且,当cpu11判断吸附失败时,指定工件w的掉落时机。

cpu11作为3d显示部107,将模拟结果显示在显示器16上(步骤s106)。这里,cpu11以动画形式显示基于模拟的模拟模型的操作。在动画中,根据工件w的吸附是否成功的判断结果,来显示图6所示的图像。判断工件w的吸附失败时,在工件w掉落的时刻显示工件w在掉落的图像。cpu11还可以在显示器16中显示步骤s105中的工件w的吸附是否成功的判断结果,例如“在水平运动中工件掉落”或“在垂直运动中工件掉落”等。

cpu11作为执行条件变更部108,确认用户是否希望变更模拟的执行条件(步骤s107)。确认是否希望变更的方法,例如有cpu11在显示器16上显示“是否变更执行条件?”,让用户选择“是”或“否”。另外,模拟的执行条件的变更中,包含上述运动参数的变更及运动程序的变更。在步骤s107中,特别是还可以在判断步骤s105的吸附判断中判断吸附失敗的情况下,为避免掉落(向下的力在阈值tv以下及负载力矩m在阈值th以下),请用户变更执行条件。因此,cpu11还可以在显示器16中显示“为避免工件掉落,请变更执行条件”等的消息。

在用户不希望变更执行条件时(步骤s107:否),cpu11结束模拟处理。用户希望变更执行条件时(步骤s107:是),cpu11判断手动还是自动变更执行条件(步骤s108)。确认手动还是自动的方法,例如cpu11在显示器16上显示“是否手动变更模拟的执行条件?”,让用户选择“是”或“否”。

用户希望手动变更时(步骤s108:是),cpu11作为运动程序编辑部101或运动参数编辑部102,受理运动程序或运动参数的编辑(步骤s109)。这里,cpu11可同时受理运动程序及运动参数这二者的编辑。并且,cpu11返回步骤s102的处理,根据基于受理到的编辑而编辑的运动程序及运动参数,进行模拟。

用户希望自动变更时(步骤s108:否),cpu11判断变更对象是否为水平运动(步骤s110)。确认是否为水平运动的方法,例如,cpu11在显示器上显示“是否变更水平运动的执行条件?”,让用户选择“是”或“否”。用户能够参考步骤s106中的模拟结果的显示确定变更对象。

用户不希望变更水平运动的执行条件时(步骤s110:否),cpu11进行垂直运动的执行条件的变更(步骤s111)。另外,用户希望变更水平运动的执行条件时(步骤s110:是),cpu11进行水平运动的执行条件的变更(步骤s112)。并且,cpu11返回步骤s102的处理,自动根据执行条件的变更,进行模拟。垂直运动的执行条件的变更及水平运动的执行条件的变更处理的具体情况参照图12及图13进行说明。以下,作为变更的执行条件的一个示例,说明使用最大加速度ar时的情况。

首先,说明垂直运动的最大加速度的变更。

图12是垂直运动的最大加速度的变更处理流程的流程图。

如图12所示,cpu11在步骤s104中判断算出的所有向下的力是否在阈值tv以下(步骤s201)。

所有向下的力在阈值tv以下时(步骤s201:是),cpu11使机器臂r的所有垂直运动的最大加速度增加规定的值(步骤s202)。所有垂直运动包含上升运动及下降运动两个方向。最大加速度中还包含最大减速度。规定的值根据机器臂r所要求的精度适当设置。例如,要求0.1%的最大加速度的精度时,规定的值为0.1%。最大加速度用物理量表示时,规定的值也设置为物理量。

存在大于阈值tv的向下的力时(步骤s201:否),cpu11判断向下的力超过阈值tv的掉落时刻机器臂r是否处在上升运动时(步骤s203)。cpu11判断步骤s105指定的掉落时刻落入机器臂r的传输路径上根据对机器臂r的动作指令区分的(以机器臂r的行进方向的变化区分的)多个区间中的哪个区间。根据从运动程序确认的掉落时刻落入的区间的机器臂r的操作,判断是否处在上升运动时。

掉落时刻处在上升运动时(步骤s203:是),cpu11将上升移动的最大加速度减少规定的值(步骤s204)。掉落时刻处在下降运动时(步骤s203:否),cpu11将下降移动的最大加速度减少规定的值(步骤s205)。步骤s204及步骤s205中,最大加速度也包含最大减速度。规定的值与步骤s202相同。

接下来说明水平运动的最大加速度的变更。

图13是水平运动的最大加速度的变更处理的流程图。图14是表示变更加速时间时的速度及加速度的变化的示意图。

如图13所示,cpu11判断步骤s104中算出的所有负载力矩是否在阈值th以下(步骤s301)。

所有负载力矩在阈值th以下时(步骤s301:是),cpu11将机器臂r的水平移动时的最大加速度增加规定的值(步骤s302)。最大加速度也包含最大减速度。规定的值可以根据机器臂r要求的精度适当设定。例如,要求0.1%的最大加速度的精度时,规定的值为0.1%。最大加速度表示为物理量时,规定的值也设定为物理量。

在有大于阈值th的负载力矩时(步骤s301:否),cpu11将机器臂r的水平移动时的最大加速度减少规定的值(步骤s303)。

上述说明了变更最大加速度的例子。但是,变更最大速度,加速时间,减速时间,及加速度率的至少其中之一而引起加速度发生变化时,向下的力及负载力矩m也发生变化。因此,不变更最大加速度,而是变更最大速度、加速时间、减速时间、及加速度率的至少其中之一也可以。

即如上所述,负载力矩能够通过式(5)(或式(3))算出。这里,作为执行条件,如图14所示保持加速度一定,而使最大速度发生变更。在图14中,实线表示变更前的机器臂r的速度和时间的关系,及变更前的机器臂r的加速度和时间的关系。虚线表示变更后的机器臂r的速度和时间的关系,及变更后的机器臂r的加速度和时间的关系。如图14的上图及下图所示,即使加速度不变,改变最大速度,加速(减速)时间也会改变,以加速度和时间的积表示的物理量发生变化。与此相伴,工件w受到的力也发生变化,工件w的加速度aw也变化。因此,例如通过准备以加速度和时间的积表示的物理量作为输入,工件w的加速度aw作为输入的传递函数g,能够算出负载力矩。

另外,图13中,变更运动参数作为模拟的执行条件的变更。而模拟的执行条件的变更还可以变更模拟模型。模拟模型得变更包含例如模拟模型所包含的吸盘p的设计变更。吸盘p的设计变更包含,例如吸附压力、吸附时间、垫板形状(常用的碗型、波纹管形、直径的大小等)、垫板材质(丁腈橡胶、硅等)、垫板的吸附位置、垫板的个数等的变更。变更吸盘p时,变更前的阈值th不可再用。即阈值th依存于吸盘的设计条件。因此,变更在假定范围内,或者容许变更的范围内,变更实际机器的吸盘的设计,进行掉落试验,需要根据每个吸盘的设计模式准备阈值th。在模拟截断吸盘p的设计发生变更时,使用与变更的设计相对应的阈值th,与负载力矩进行比较。

如图13所示的运动参数的变更,或上述模拟模型的变更,例如可以根据工件w的传输时间、吸盘的吸附痕的容许程度适当地执行。吸附痕的容许程度大时,可以优先调整吸附压力及吸附时间。

根据以上第1实施方式的模拟装置10,可以得到以下効果。模拟装置10通过将负载力矩与阈值th进行比较判断吸附的成功与否即判断工件的掉落。因此,能够为用户提供针对工件掉落的模拟。特别的,在步骤s108、步骤s110中,进行变更执行条件的必要提示,引导用户进行执行条件变更的选择。因此,用户能够根据引导适当地对执行条件的变更进行选择。

另外,模拟装置10可以导出负载力矩,作为在机器臂运动的平移坐标系来看因工件w上产生的力矩和作用于工件w的惯性力而产生的(外观的)力矩之差。此时,与将工件w产生的力矩定义为负载力矩时相比,负载力矩能够更准确地表示吸盘p上的负荷。因此,能够更加准确地考虑吸盘p上的负荷,判断工件w的掉落。

另外,模拟装置10将模拟的执行条件作为最大加速度,负载力矩大于阈值时减少最大加速度。通过减少最大加速度直到获得小于阈值的负载力矩来有效防止工件w的掉落。

并且模拟装置10将模拟的执行条件作为最大加速度,负载力矩在阈值以下时,增加最大加速度。因此,可将最大加速度变更至使负载力矩接近阈值。如果在阈值不超过阈值的范围内,尽可能使负载力矩接近阈值,则能够得到工件不掉落而能达到的最大加速度的临界值。因为能够使最大加速度增大到临界值,其结果能够缩短传输工件w的时间。

另外,模拟装置10在负载力矩大于阈值时,判断工件掉落。因此,能够不依赖用户的判断,而是机械的判断是否掉落。

模拟装置10不限于上述实施方式,还可以有各种改変。例如,省略图11的步骤s105,不进行步骤s106中的模拟结果的显示,只通过显示负载力矩的值来提示用户。如果是熟练的用户(习惯负载力矩的用户),只看数值就能判断工件w的掉落,进行是否适当变更执行条件的输入。以下说明更多的改变。

(第2实施方式)

第1实施方式中,用户决定是否变更执行条件。第2实施方式中,即使用户不做变更执行条件的决定,也能自动设定执行条件的变更。

图15是第2实施方式中的通过模拟装置的cpu执行操作的流程图。cpu11通过从rom12或存储器14读取模拟程序,在ram13中展开并执行,来进行模拟处理。

步骤s401~步骤s405与图11所示的步骤s101~步骤s105相同,因此省略说明。

cpu11判断步骤s404中导出的全部负载力矩是否在阈值th以下(步骤s406)。有大于阈值th的负载力矩时(步骤s406:否),cpu11将机器臂r的水平移动时的最大加速度减少规定的值(步骤s407)。cpu11将减少后的最大加速度存储为极限最大加速度(步骤s408),为根据减少后的最大加速度进行模拟,返回步骤s402的处理。另外,在极限最大加速度以前曾被存储的情况下,cpu11将极限最大加速度更新为在这次的步骤s407中减少后的最大加速度。

所有的负载力矩在阈值th以下时(步骤s406:是),cpu11判断极限最大加速度是否被存储(步骤s409)。若极限最大加速度未被存储(步骤s409:否),cpu11将机器臂r的水平移动时的最大加速度增加规定的值(步骤s410)。cpu11由于要根据增加后的最大加速度进行模拟,因而返回步骤s402的处理。

若极限最大加速度已被存储(步骤s409:是),cpu11将极限最大加速度确定为最终的执行条件(步骤s411),并将执行条件及模拟结果显示在显示器16上(步骤s412)。

如上所述,根据第2实施方式的模拟装置10,用户即便不指示变更执行条件,负载力矩也会增减最大加速度到阈值以下,能够自动确定适当地执行条件。

特别是在第2实施方式的模拟装置10中,负载力矩若大于阈值th,反复进行模拟使最大加速度不断减少规定的值,每当最大加速度减少就将其作为极限最大加速度存储。减少最大加速度执行模拟,结果当负载力矩在阈值th以下时,将极限最大加速度确定为执行条件,因此,模拟装置10能够将负载力矩在阈值th以下且最接近阈值th的执行条件作为最终的执行条件进行提示。另外,负载力矩在阈值th以下时,若极限最大加速度未被存储,则能够增加最大加速度,来找到最大加速度的极限值。

(第3实施方式)

第1实施方式中,就机器臂r进行水平运动及垂直运动的情况进行了说明。特别是对进行水平运动时不考虑机器臂r的垂直加速度的情况进行了说明。第3实施方式中,考虑机器臂r的水平方向的加速度及垂直方向的加速度作用于工件w的情况,导出负载力矩。例如,机器臂r进行相对于水平方向的倾斜运动时,水平方向的加速度及垂直方向的加速度作用于工件w。

图16是显示作用于工件的力的示意图。

图16中,机器臂r的水平方向的加速度表示为ay,垂直方向的加速度为az。并且,作用于工件w的合成惯性力表示为fw,分解合成惯性力fw得到的水平方向的惯性力表示为fy,垂直方向的惯性力为fz。相对于工件w的垂直方向的旋转角度表示为θ。并且,工件w的质量为m,作用于模拟模型的旋转部分的惯性力矩表示为i。设从工件w的旋转中心到工件w的重心的距离为l1,从旋转中心到工件w的前端的距离为l2。

水平方向的惯性力fy,表示为fy=m×ay,垂直方向的惯性力fz表示为fz=m×az。

由水平方向的惯性力产生的力矩的臂长为l1sinθ,垂直方向的惯性力产生的力矩的臂长为l1cosθ,θ较小时,分别用l1θ,l1来表示。因此,与机器臂r一起运动的平移坐标系中,工件w上产生的力矩τ用如下式(8)所示的旋转的运动方程式来表示。

【数5】

力矩τ和上述力矩的差为作为负荷加到吸盘p上的力,即负载力矩m。

将上述式(2)代入式(8),变形为负载力矩m的式后,得到式(9)。

【数6】

关于θ,可以通过用户输入等使用预先准备的工件预测摇摆角的值。或者根据模拟算出揺摆角。工件w的加速度aw也可以用与第1实施方式相同的传递函数g(s)算出。

因此,模拟装置10通过上述式(8)在与水平方向交叉的方向上使机器臂r运动时也能算出负载力矩m。模拟装置10将负载力矩m与阈值th进行比较,由此判断工件w的掉落,或提示工件w未掉落的模拟的执行条件。

另外,上述实施方式中说明了用吸盘作保持体的例子。然而并不限于吸盘,只要是有弹性的,也可以使用握持工件的夹盘等。

另外,上述各实施方式中也可以将cpu读入软件(程序)并执行的模拟处理执行在cpu以外的各种处理器上。此时的处理器例如可以是fpga(field-programmablegatearray)等的可在制造后变更电路构成的pld(programmablelogicdevice)、及asic(applicationspecificintegratedcircuit)等具有为执行特定处理的专门设计的电路构成的处理器等专用电气回路等。另外,模拟处理可以用这些各种处理器中的一个来执行,也可以用同类或不同类的2个以上的处理器组合(例如多个fpga,及cpu和fpga的组合等)来执行。另外,这些各种处理器的硬件构造,更加具体的,为将半导体原件等的电路原件组合起来后的电气回路。

另外,上述各实施方式中,说明了模拟程序预先存储在存储器14或rom12中(安装)的形式,但并不限于此。也可以以存储在程序、cd-rom(compactdiskreadonlymemory)、dvd-rom(digitalversatilediskreadonlymemory)、及usb(universalserialbus)存储器等存储媒体的形式提供。另外,程序还可以是通过网络从外部设备下载的形式。

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