1、(10)申请公布号 CN 103676662 A (43)申请公布日 2014.03.26 CN 103676662 A (21)申请号 201310428973.0 (22)申请日 2013.09.18 2012-207690 2012.09.21 JP G05B 17/02(2006.01) (71)申请人 欧姆龙株式会社 地址 日本京都府 (72)发明人 森谷俊洋 柴田义也 岛川春奈 浪江正树 阪口泰规 (74)专利代理机构 北京市柳沈律师事务所 11105 代理人 金景花 (54) 发明名称 模拟装置、 模拟方法以及模拟程序 (57) 摘要 提供一种可高精度地模拟被机械所处理的对 象物
2、的追随动作的模拟装置、 模拟方法以及模拟 程序。模拟装置包括执行控制程序的模拟的处理 器, 该控制程序在对处理对象物的机械的活动进 行控制的控制器中执行。处理器包括 : 动作控制 部件, 根据控制程序, 在虚拟空间中基于用于使与 机械对应的虚拟机械活动的动作指令来控制虚拟 机械的活动 ; 判断部件, 基于被虚拟机械所处理 且与对象物对应的虚拟对象物的模型数据和虚拟 机械的模型数据, 判断可供虚拟机械作用的作用 空间与虚拟对象物重叠的区域的体积是否为预先 设定的基准值以上 ; 以及追随部件, 在体积为基 准值以上的情况下, 使虚拟对象物追随基于动作 指令的虚拟机械的活动。 (30)优先权数据 (
3、51)Int.Cl. 权利要求书 2 页 说明书 15 页 附图 17 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书15页 附图17页 (10)申请公布号 CN 103676662 A CN 103676662 A 1/2 页 2 1. 一种模拟装置, 包括执行控制程序的模拟的处理器, 该控制程序在对处理对象物的 机械的活动进行控制的控制器中执行, 所述处理器包括 : 动作控制部件, 根据所述控制程序, 在虚拟空间中基于用于使与所述机械对应的虚拟 机械活动的动作指令来控制所述虚拟机械的活动 ; 判断部件, 基于被所述虚拟机械所处理且与所述对象物对应的虚
4、拟对象物的模型数据 和所述虚拟机械的模型数据, 判断可供所述虚拟机械作用的作用空间与所述虚拟对象物重 叠的区域的体积是否为预先设定的基准值以上 ; 以及 追随部件, 在所述体积为所述基准值以上的情况下, 使所述虚拟对象物追随基于所述 动作指令的所述虚拟机械的活动。 2. 如权利要求 1 所述的模拟装置, 其中, 所述判断部件将所述作用空间分割为多个单位区域, 判定所述经分割而成的各单位区 域是否为包含所述虚拟对象物的区域, 并基于判定为是包含所述虚拟对象物的区域的单位 区域的个数, 计算所述作用空间的体积中的所述虚拟对象物所占的部分的体积。 3. 如权利要求 1 所述的模拟装置, 其中, 所述
5、判断部件将所述虚拟对象物分割为多个单位区域, 判定所述经分割而成的各单位 区域是否包含在所述作用空间中, 并基于判定为所述包含在所述作用空间中的单位区域的 个数, 计算所述虚拟对象物的体积中的与所述作用空间重叠的部分的体积。 4. 如权利要求 3 所述的模拟装置, 其中, 对所述虚拟对象物的每个模型数据决定所述基准值。 5. 如权利要求 1 至 4 的任一项所述的模拟装置, 其中, 所述作用空间包含预先设定为与所述机械的可动范围对应的所述虚拟机械的可动范 围。 6. 一种在计算机中进行的模拟方法, 所述计算机包括执行控制程序的模拟的处理器, 该控制程序在对处理对象物的机械的 活动进行控制的控制
6、器中执行, 所述模拟方法包括 : 所述处理器根据所述控制程序, 在虚拟空间中基于用于使与所述机械对应的虚拟机械 活动的动作指令来控制所述虚拟机械的活动的步骤 ; 所述处理器基于被所述虚拟机械所处理且与所述对象物对应的虚拟对象物的模型数 据和所述虚拟机械的模型数据, 判断可供所述虚拟机械作用的作用空间与所述虚拟对象物 重叠的区域的体积是否为预先设定的基准值以上的步骤 ; 以及 所述处理器在所述体积为所述基准值以上的情况下, 使所述虚拟对象物追随基于所述 动作指令的所述虚拟机械的活动的步骤。 7. 一种在计算机中执行的模拟程序, 所述计算机包括执行控制程序的模拟的处理器, 该控制程序在对处理对象物
7、的机械的 活动进行控制的控制器中执行, 所述模拟程序使所述处理器执行如下步骤 : 根据所述控制程序, 在虚拟空间中基于用于使与所述机械对应的虚拟机械活动的动作 权 利 要 求 书 CN 103676662 A 2 2/2 页 3 指令来控制所述虚拟机械的活动的步骤 ; 基于被所述虚拟机械所处理且与所述对象物对应的虚拟对象物的模型数据和所述虚 拟机械的模型数据, 判断可供所述虚拟机械作用的作用空间与所述虚拟对象物重叠的区域 的体积是否为预先设定的基准值以上的步骤 ; 以及 在所述体积为所述基准值以上的情况下, 使所述虚拟对象物追随基于所述动作指令的 所述虚拟机械的活动的步骤。 8. 一种模拟装置
8、, 包括执行控制程序的模拟的处理器, 该控制程序在对处理对象物的 机械的活动进行控制的控制器中执行, 所述处理器包括 : 动作控制部件, 根据所述控制程序, 在虚拟空间中基于用于使与所述机械对应的虚拟 机械活动的动作指令来控制所述虚拟机械的活动 ; 判断部件, 基于被所述虚拟机械所处理且与所述对象物对应的虚拟对象物的模型数据 和所述虚拟机械的模型数据, 判断可供所述虚拟机械作用的作用空间与所述虚拟对象物重 叠的部分的所述虚拟对象物的表面积是否为预先设定的基准值以上 ; 以及 追随部件, 在所述表面积为所述基准值以上的情况下, 使所述虚拟对象物追随基于所 述动作指令的所述虚拟机械的活动。 9.
9、一种模拟装置, 包括执行控制程序的模拟的处理器, 该控制程序在对处理对象物的 机械的活动进行控制的控制器中执行, 所述处理器包括 : 动作控制部件, 根据所述控制程序, 在虚拟空间中基于用于使与所述机械对应的虚拟 机械活动的动作指令来控制所述虚拟机械的活动 ; 判断部件, 基于被所述虚拟机械所处理且与所述对象物对应的虚拟对象物的模型数据 和所述虚拟机械的模型数据, 判断可供所述虚拟机械作用的作用空间与所述虚拟对象物不 重叠的区域的体积是否小于预先设定的基准值 ; 以及 追随部件, 在所述体积小于所述基准值的情况下, 使所述虚拟对象物追随基于所述动 作指令的所述虚拟机械的活动。 权 利 要 求
10、书 CN 103676662 A 3 1/15 页 4 模拟装置、 模拟方法以及模拟程序 技术领域 0001 本发明涉及模拟装置、 模拟方法以及模拟程序, 尤其, 涉及适合执行在对处理对象 物的机械的活动进行控制的控制器中执行的控制程序的模拟的模拟装置、 模拟方法以及模 拟程序。 背景技术 0002 以往, 作为在对物体的动作进行模拟时使模型追随其他的模型而动作的方式, 已 知基于从模型提取出的模型间的依存关系来实现模型的追随动作的技术。 0003 例如, 特开平 9 258815 号公报 (专利文献 1) 公开了运动连锁模拟系统。运动连 锁模拟系统在计算机内具有物体的模型, 关于模型设定相互
11、进行作用的模型和被作用的模 型的主从关系, 根据主从关系来模拟进行运动的模型的运动连锁。 运动连锁模拟系统包括 : 模型提取部, 自动提取应设定主从关系的模型 ; 主从关系设定部, 基于模型间的关系来自动 设定主从关系 ; 以及追随动作处理部, 使模型根据主从关系来动作。 0004 【现有技术文献】 0005 【专利文献】 0006 【专利文献 1】 特开平 9 258815 号公报 0007 但是, 根据专利文献 1 中的技术, 在对使被机械所处理的对象物追随该机械的追 随动作进行模拟时, 实际上连不能追随该机械的活动的对象物也进行追随的模拟结果的情 况也较多。 发明内容 0008 本发明是
12、为了解决上述的问题而完成的, 其目的之一在于, 提供一种能够高精度 地模拟被机械所处理的对象物的追随动作的模拟装置、 模拟方法以及模拟程序。 0009 根据一个实施方式的模拟装置包括执行控制程序的模拟的处理器, 该控制程序在 对处理对象物的机械的活动进行控制的控制器中执行。 处理器包括 : 动作控制部件, 根据控 制程序, 在虚拟空间中基于用于使与机械对应的虚拟机械活动的动作指令来控制虚拟机械 的活动 ; 判断部件, 基于被虚拟机械所处理且与对象物对应的虚拟对象物的模型数据和虚 拟机械的模型数据, 判断可供虚拟机械作用的作用空间与虚拟对象物重叠的区域的体积是 否为预先设定的基准值以上 ; 以及
13、追随部件, 在体积为基准值以上的情况下, 使虚拟对象物 追随基于动作指令的虚拟机械的活动。 0010 优选地, 判断部件将作用空间分割为多个单位区域, 判定经分割而成的各单位区 域是否为包含虚拟对象物的区域, 并基于判定为是包含虚拟对象物的区域的单位区域的个 数, 计算作用空间的体积中的虚拟对象物所占的部分的体积。 0011 优选地, 判断部件将虚拟对象物分割为多个单位区域, 判定经分割而成的各单位 区域是否包含在作用空间中, 并基于判定为包含在作用空间中的单位区域的个数, 计算虚 拟对象物的体积中的与作用空间重叠的部分的体积。 说 明 书 CN 103676662 A 4 2/15 页 5
14、0012 优选地, 对虚拟对象物的每个模型数据决定基准值。 0013 优选地, 作用空间包含预先设定为与机械的可动范围对应的虚拟机械的可动范 围。 0014 根据其他的实施方式, 提供在计算机中进行的模拟方法。计算机包括执行控制程 序的模拟的处理器, 该控制程序在对处理对象物的机械的活动进行控制的控制器中执行。 模拟方法包括 : 处理器根据控制程序, 在虚拟空间中基于用于使与机械对应的虚拟机械活 动的动作指令来控制虚拟机械的活动的步骤 ; 处理器基于被虚拟机械所处理且与对象物对 应的虚拟对象物的模型数据和虚拟机械的模型数据, 判断可供虚拟机械作用的作用空间与 虚拟对象物重叠的区域的体积是否为预
15、先设定的基准值以上的步骤 ; 以及处理器在体积为 基准值以上的情况下, 使虚拟对象物追随基于动作指令的虚拟机械的活动的步骤。 0015 根据再其他的实施方式, 提供在计算机中执行的模拟程序。计算机包括执行控制 程序的模拟的处理器, 该控制程序在对处理对象物的机械的活动进行控制的控制器中执 行。 模拟程序使处理器执行如下步骤 : 根据控制程序, 在虚拟空间中基于用于使与机械对应 的虚拟机械活动的动作指令来控制虚拟机械的活动的步骤 ; 基于被虚拟机械所处理且与对 象物对应的虚拟对象物的模型数据和虚拟机械的模型数据, 判断可供虚拟机械作用的作用 空间与虚拟对象物重叠的区域的体积是否为预先设定的基准值
16、以上的步骤 ; 以及在体积为 基准值以上的情况下, 使虚拟对象物追随基于动作指令的虚拟机械的活动的步骤。 0016 根据再其他实施方式的模拟装置包括执行控制程序的模拟的处理器, 该控制程序 在对处理对象物的机械的活动进行控制的控制器中执行。 处理器包括 : 动作控制部件, 根据 控制程序, 在虚拟空间中基于用于使与机械对应的虚拟机械活动的动作指令来控制虚拟机 械的活动 ; 判断部件, 基于被虚拟机械所处理且与对象物对应的虚拟对象物的模型数据和 虚拟机械的模型数据, 判断可供虚拟机械作用的作用空间与虚拟对象物重叠的部分的虚拟 对象物的表面积是否为预先设定的基准值以上 ; 以及追随部件, 在表面积
17、为基准值以上的 情况下, 使虚拟对象物追随基于动作指令的虚拟机械的活动。 0017 根据再其他实施方式的模拟装置包括执行控制程序的模拟的处理器, 该控制程序 在对处理对象物的机械的活动进行控制的控制器中执行。 处理器包括 : 动作控制部件, 根据 控制程序, 在虚拟空间中基于用于使与机械对应的虚拟机械活动的动作指令来控制虚拟机 械的活动 ; 判断部件, 基于被虚拟机械所处理且与对象物对应的虚拟对象物的模型数据和 虚拟机械的模型数据, 判断可供虚拟机械作用的作用空间与虚拟对象物不重叠的区域的体 积是否小于预先设定的基准值 ; 以及追随部件, 在体积小于基准值的情况下, 使虚拟对象物 追随基于动作
18、指令的虚拟机械的活动。 0018 能够高精度地模拟被机械所处理的对象物的追随动作。 附图说明 0019 图 1 是用于说明实施方式 1 的控制系统的结构的图。 0020 图 2 是用于说明实施方式 1 的 PC6 的硬件结构的图。 0021 图 3 是通过 CPU 执行控制器支持程序而实现的功能模块图。 0022 图 4 是用于说明实施方式 1 的模拟部的功能的详细的方框图。 0023 图 5 是表示实施方式 1 的模拟的 3D 空间的图。 说 明 书 CN 103676662 A 5 3/15 页 6 0024 图 6(a) (c) 是表示实施方式 1 的模拟的状况的图。 0025 图 7
19、是表示实施方式 1 的模拟的控制的流程的流程图。 0026 图 8 是表示实施方式 1 的追随条件的判定处理的流程的流程图。 0027 图9是用于说明实施方式1的虚拟自动装置 (robot) 的把持空间的分割方式的图。 0028 图 10 是用于说明图 8 所示的步骤 S506 的判断处理方式的图。 0029 图 11 是表示实施方式 2 中的模拟的 3D 空间的图。 0030 图 12(a) (c) 是表示实施方式 2 的模拟的状况的图。 0031 图 13 是表示实施方式 2 的追随条件的判定处理的流程的流程图。 0032 图 14 是用于说明实施方式 2 的虚拟工件 (work) 的分割
20、方式的图。 0033 图 15 是用于说明图 14 所示的步骤 S606 的判定处理方式的图。 0034 图 16(a) (c) 是表示比较例的模拟的状况的图。 0035 图 17 是用于说明实施方式 2 的变形例的虚拟气筒 (air cylinder) 的可动空间的 分割方式的图。 0036 图 18 是用于说明实施方式 2 的变形例的单位区域是否为包含虚拟工件的区域的 判断方式的图。 0037 图 19 是表示实施方式 3 的追随条件的判定处理的流程的流程图。 0038 图 20 是用于说明实施方式 3 的虚拟工件的分割方式的图。 0039 图 21 是用于说明图 20 所示的步骤 S70
21、6 的判定处理方式的图。 具体实施方式 0040 以下, 参照附图说明本发明的实施方式。 在以下的说明中, 对于同一个部件赋予同 一个标号。它们的名称以及功能也是相同的。因此, 不重复关于它们的详细的说明。 0041 实施方式 1 0042 控制系统的整体结构 0043 图 1 是用于说明实施方式 1 的控制系统的结构的图。参照图 1, 实施方式 1 的控制 系统包括服务器 2、 网络 4、 PC(Personal Computer, 个人计算机) 6、 控制器 14、 控制对象装 置 16。 0044 服务器 2 经由网络 4 与 PC6 连接。PC6 与对控制对象装置 16 进行控制的控制
22、器 14 以可通信的方式连接。 0045 PC6相当于一实施方式中的模拟装置。 在PC6中, 安装有包含模拟程序的控制器支 持程序 8, 且存储有用户制作的控制程序 10。CD ROM (Compact Disc-Read Only Memory, 紧凑型只读存储盘) 12 存储控制器支持程序 8。在 PC6 中安装的控制器支持程序 8 是从该 CD ROM12 安装的程序。 0046 控制器 14 对控制对象装置 16 的活动进行控制。作为一例, 控制器 14 使用 PLC (Programmable Logic Controller, 可编程逻辑控制器) 。在该 PLC 中包含所谓的动作
23、(motion) 控制功能。控制器 14 存储用于规定对于控制对象装置 16 的控制内容的控制程序 15。控制器 14 按每个控制周期将控制程序 15 执行一圈。这里, 在控制器 14 中存储的控制 程序 15 为将在 PC6 中存储的控制程序 10 进行了复制的复制数据, 且是从 PC6 发回的数据。 0047 控制对象装置 16 包含伺服电动机、 步进电动机等的电动机 18 以及对电动机进行 说 明 书 CN 103676662 A 6 4/15 页 7 驱动的电动机驱动器 17。 0048 在电动机 18 中, 从电动机驱动器 17 被提供驱动电流。电动机驱动器 17 从执行控 制程序
24、15 的控制器 14 按每个控制周期被提供位置的指令值, 并将与其对应的驱动电流提 供给电动机18。 在电动机18为例如伺服电动机的情况下, 在电动机18中包含编码器, 由编 码器检测出电动机 18 的旋转位置的实测值。电动机驱动器 17 将电动机的旋转位置的实测 值利用于反馈控制。 0049 另外, 在上述中, 说明了经由 CD ROM12 而在 PC6 中安装了模拟程序的情况, 但安 装的方式并不特别限定于此。例如, 也可以是模拟程序从服务器 2 经由网络 4 下载到 PC6 中。这对于控制程序也是相同的。 0050 PC 的硬件结构 0051 图 2 是用于说明实施方式 1 的 PC6
25、的硬件结构的图。参照图 2, PC6 包含作为处理 部件的 CPU901、 作为存储部件的 ROM902、 RAM903 以及 HDD904、 作为数据读取部的 CD ROM 驱动装置 908、 作为通信部件的通信 IF909、 作为显示部件的监视器 907、 作为输入部件的键 盘 905 以及鼠标 906。另外, 这些部位经由内部总线 910 相互连接。 0052 CPU901 读出在 ROM902、 RAM903、 HDD904 中存储的程序以及数据, 并执行程序而控 制 PC6 的各部分。CPU901 一般为微处理器。另外, 该硬件也可以是 CPU 以外的 FPGA (Field Pro
26、grammable Gate Array, 现场可编程门阵列) 、 ASIC (Application Specific Integrated Circuit, 专用集成电路) 以及具有其他的运算功能的电路等。 0053 HDD904一般是非易失性的磁性存储器, 存储通过CDROM驱动装置908而从CD ROM12 读取到的模拟程序。此外, HDD904 也存储控制程序 15。 0054 另外, 也可以是模拟程序在 CD ROM12 以外的其他的存储介质中存储, CPU901 经 由与存储介质对应的存储器接口 (IF) 而读取该模拟程序的方式。例如, 也可以是经由 DVD (Digital V
27、ersatile Disk, 数字视频盘) ROM 驱动装置而从 DVD ROM 读取该模拟程序 的方式, 也可以是经由 USB(Universal Serial Bus, 通用串行总线) 接口而从 USB 存储器 读取该模拟程序的方式。 0055 CPU901 将在 HDD904 中存储的控制器支持程序 8 在 RAM903 等中展开而执行。 0056 RAM903 为易失性存储器, 具有作为工作存储器的功能。ROM902 一般存储操作系统 (OS) 等的程序。 0057 通信接口 (IF) 909 一般支持以太网 (注册商标) 以及 USB 等通用的通信协议, 经由 网络 4 与服务器 2
28、 之间提供数据通信且与控制器 14 之间提供数据通信。 0058 监视器 907 由液晶显示装置、 CRT(Cathode Ray Tube, 阴极射线管) 、 有机 EL (Electro Luminescence, 电致发光) 装置、 等离子显示器装置等构成, 显示 PC6 的处理结果 等。键盘 905 接受用户的键输入, 鼠标 906 接受用户的指示操作。 0059 功能结构 0060 图 3 是通过 CPU901 执行控制器支持程序 8 而实现的功能模块图。参照图 3, 这里, 示出了用户接口部802、 显示数据制作部804、 模拟部806、 控制程序存储部808、 控制程序编 辑部
29、810、 控制器接口部 812。 0061 用户接口部 802 制作在 PC6 的监视器 907 中显示的窗口画面的内容, 此外, 接受键 盘 905 或鼠标 906 的用户的操作。 说 明 书 CN 103676662 A 7 5/15 页 8 0062 控制程序编辑部 810 接受用户的控制程序的输入以及编辑。在为了执行控制程序 而需要编译的情况下, 也进行编译。所制作的控制程序经由控制器接口部 812 而传送到控 制器 14。此外, 所制作的控制程序存储在 HDD904 的规定的区域即控制程序存储部 808 中。 此外, 控制程序编辑部 810 也能够经由控制器接口部 812 读出在控制
30、器 14 中存储的控制程 序 15 而进行编辑。 0063 模拟部 806 是控制器 14 的模拟器。模拟部 806 对根据在控制程序存储部 808 中 存储的控制程序 10 而控制器 14 执行控制程序 15 的动作进行模拟, 算出控制器 14 应按每 个控制周期输出的位置的指令值。 0064 此外, 模拟部806能够对通过外部信号到来而对控制程序15的动作产生影响的状 态进行模拟, 或者通过执行控制程序 15 而控制器 14 的存储器的存储内容等的控制器 14 的 内部状态发生变化, 对该变化对控制程序 15 的动作产生影响的状态进行模拟。 0065 此外, 模拟部 806 经由用户接口部
31、 802 接受关于执行模拟的用户的指示。即, 用户 接口部 802 也作为接受对于模拟部 806 的用户的指示的部件起作用。 0066 显示数据制作部804制作用于显示通过模拟部806而制作的执行结果数据的时间 性的变化的显示数据。显示数据制作部 804 通过将所制作的显示数据传送到用户接口部 802, 在 PC6 的监视器 907 中以曲线或字符的方式或 3D 表现的方式显示显示数据。 0067 模拟部的功能结构 0068 图 4 是用于说明实施方式 1 的模拟部 806 的功能的详细的方框图。 0069 模拟控制部820从控制程序存储部808读入控制程序10, 执行控制程序10的模拟 或者
32、从中途开始再次执行模拟。伴随于此, 模拟控制部 820 对执行结果数据存储部 830 与 模型数据存储部 840 之间的流程进行控制。执行结果数据存储部 830 以及模型数据存储部 840 为分别由 RAM903 或者 HDD904 实现的功能。 0070 此外, 模拟控制部 820 作为主要的功能而包含动作控制部 822、 判断部 824 以及追 随控制部826。 另外, 动作控制部822为通过模拟部806执行后述的机械控制模拟器而实现 的功能。此外, 判断部 824 以及追随控制部 826 为通过模拟部 806 执行后述的 3D 模拟器而 实现的功能。 0071 动作控制部 822 根据控
33、制程序 10, 在虚拟空间中基于用于使与机械对应的虚拟机 械活动的动作指令来控制虚拟机械的活动。 0072 判断部 824 基于被虚拟机械所处理且与对象物对应的虚拟对象物的模型数据和 虚拟机械的模型数据, 判断可供虚拟机械作用的作用空间 (在实施方式 1 中为后述的把持 空间) 与虚拟对象物重叠的区域的体积是否为预先设定的基准值以上。更具体而言, 判断 部 824 将作用空间分割为多个单位区域, 判定经分割而成的各单位区域是否为包含虚拟对 象物的区域。然后, 判断部 824 基于判定为是包含虚拟对象物的区域的单位区域的个数, 计 算在作用空间的体积中、 虚拟对象物所占的部分的体积。 另外, 作
34、用空间为机械可对对象物 作用的空间。 0073 追随控制部 826 基于该体积为基准值以上的判断结果, 使虚拟对象物追随基于该 动作指令的虚拟机械的活动。 0074 执行结果数据存储部 830 存储用于显示的执行结果数据。 0075 模型数据存储部 840 存储对实际空间的自动装置、 工件、 输送机、 支架等的物体进 说 明 书 CN 103676662 A 8 6/15 页 9 行了模型化的模型数据。更具体而言, 模型数据存储部 840 存储与实际空间的物体对应的 虚拟空间中的虚拟物体的形状、 动作的特征、 功能、 性能、 位置、 方向等有关的模型数据。 0076 模拟控制的流程 0077
35、(概略) 0078 图 5 是表示实施方式 1 的模拟的 3D 空间的图。参照图 5, 在实施方式 1 中, 在作为 与实际空间对应的虚拟空间的 3D 空间中, 配置有与实际空间的自动装置对应的虚拟自动 装置 500、 与实际空间的工件 (对象物) 对应的虚拟工件 (虚拟对象物) 530、 与用于放置实际 空间的工件的支架对应的虚拟支架 550。另外, 一般, 自动装置为具有把持工件的把持机构 的机器人手。 0079 模拟部806一边参照虚拟机械和虚拟对象物的模型数据, 一边执行3D模拟器和机 械控制模拟器。 0080 3D 模拟器基于数据描图中取得的结果, 在 3D 空间中显示目标 (在实施
36、方式 1 中为 虚拟自动装置500、 虚拟工件530以及虚拟支架550) 。 此外, 3D模拟器判断使由虚拟自动装 置 500 处理的虚拟工件 530 追随虚拟自动装置 500 的活动的追随条件是否成立。换言之, 3D模拟器判断是否使由虚拟自动装置500处理的虚拟工件530追随虚拟自动装置500的活 动。3D 模拟器在追随条件成立的情况下, 开始使虚拟工件 530 追随虚拟自动装置 500 的活 动的追随动作控制。在追随动作控制开始的情况下, 3D 模拟器计算追随虚拟自动装置 500 的虚拟工件 530 的状态。 0081 机械控制模拟器对3D空间中的虚拟机械 (在实施方式1中为虚拟自动装置5
37、00、 虚 拟支架 550) 进行控制。更具体而言, 机械控制模拟器计算对于虚拟机械的控制的指令值, 并计算对于该指令值的虚拟机械的活动。机械控制模拟器例如基于经由用户接口部 802 的 来自用户的动作指令 (或者, 根据程序而输出的动作指令) 来计算虚拟机械的活动。 0082 实施方式 1 的模拟的控制是通过 3D 模拟器以及机械控制模拟器大致执行如以下 的处理而实现。首先,(1) 机械控制模拟器将计算出的虚拟机械、 虚拟对象物的状态发送到 3D 模拟器。接着,(2) 3D 模拟器基于该接收到的虚拟机械的状态以及虚拟对象物的状态, 将虚拟机械以及虚拟对象物显示在 3D 空间中。接着,(3)
38、3D 模拟器判断使虚拟对象物追随 虚拟机械的追随条件是否成立, 在判断为追随条件成立的情况下, 开始使虚拟对象物追随 虚拟机械的活动的追随动作控制。 0083 这里, 按照时序方式说明实施方式 1 的模拟的状况。 0084 图 6 是表示实施方式 1 的模拟的状况的图。 0085 参照图 6, 虚拟自动装置 500 根据动作指令, 为了把持在虚拟支架 550 的上面放置 的虚拟工件 530 而沿着图的下方向移动 (图 6 的状态 (a) ) 。若从图 6 的状态 (a) 经过一定 时间, 则虚拟自动装置 500 为了把持虚拟工件 530 而进一步接近虚拟工件 530 (图 6 的状态 (b)
39、) 。然后, 若从图 6 的状态 (b) 经过一定时间, 则成为通过虚拟自动装置 500 的把持用的 臂夹持的 (把持对象物的) 把持空间与虚拟工件 530 重叠的状态。这里, 在把持空间的体积 中、 由虚拟工件 530 所占的体积成为了预先设定的基准值以上 (例如, 5 成以上) 的情况下, 使虚拟工件530追随虚拟自动装置500的活动的追随条件成立。 然后, 若虚拟自动装置500 沿着图的上方向移动, 则虚拟工件 530 追随虚拟自动装置 500 的活动而沿着图的箭头 (上) 方向移动 (图 6 的状态 (c) ) 。显示表示虚拟自动装置 500 把持着虚拟工件 530 的模拟结果。 说
40、明 书 CN 103676662 A 9 7/15 页 10 另外, 虚拟自动装置 500 的把持空间预先设定为与实际空间的自动装置的把持空间对应。 0086 (流程图) 0087 图 7 是表示实施方式 1 的模拟的控制的流程的流程图。另外, 图 7 所示的各步骤 基本上通过 CPU901 执行控制程序 10 的模拟而实现。 0088 参照图7, 模拟部806通过执行机械控制模拟器, 设定虚拟工件 (图6中的虚拟工件 530) 的初始位置 (步骤 S302) 。若以图 6 为例进行说明, 则虚拟工件 530 的初始位置被设定 为虚拟支架 550 的中心附近。 0089 接着, 模拟部806通
41、过执行机械控制模拟器, 根据控制程序10而开始虚拟机械 (图 6 中的虚拟自动装置 500) 的控制 (步骤 S304) 。 0090 模拟部 806 通过执行机械控制模拟器, 基于对于虚拟机械的动作指令来执行时序 控制 (步骤S306) 。 接着, 模拟部806通过执行机械控制模拟器, 基于对于虚拟机械的动作指 令来执行动作控制 (步骤 S308) 。更具体而言, 模拟部 806 计算基于经由用户接口部 802 的 来自用户的动作指令的指令值。 0091 然后, 模拟部 806 计算作为动作控制的结果的虚拟机械以及虚拟工件的状态 (步 骤 S310) , 并将表示计算出的虚拟机械以及虚拟工件
42、的状态的信息发送到 3D 模拟器 (步骤 S312) 。然后, 模拟部 806 通过执行机械控制模拟器, 重复从步骤 S306 的处理。 0092 接着, 模拟部 806 通过执行 3D 模拟器, 接收从机械控制模拟器发送的表示虚拟机 械以及虚拟工件的状态的信息 (步骤 S110) 。 0093 接着, 模拟部 806 通过执行 3D 模拟器, 判断是否执行使虚拟工件追随虚拟机械的 活动的追随动作控制 (步骤S111) 。 更具体而言, 模拟部806判断后述的步骤S120中的追随 动作控制是否开始。 0094 在追随动作控制没有开始的情况下 (步骤 S111 中 “否” 的情况下) , 模拟部
43、 806 执 行从后述的步骤 S114 的处理。相对于此, 在追随动作控制已经开始的情况下 (步骤 S111 中 “是” 的情况下) , 模拟部 806 通过执行 3D 模拟器, 计算追随虚拟机械的虚拟工件的状态 (通 过虚拟机械的活动而移动的虚拟工件的状态) (步骤 S112) 。 0095 然后, 基于虚拟机械的状态以及虚拟工件的状态, 将虚拟机械以及虚拟工件显示 在监视器 907 的 3D 空间中 (步骤 S114) 。此时, 与显示数据制作部 804 交接该显示所需的执 行结果数据。 0096 通过进行上述的时序控制以及动作控制等, 图 6 所示的各状态显示在监视器 907 中。更具体
44、而言, 在使虚拟工件追随虚拟自动装置 500 的追随动作控制没有开始的情况下 (步骤 S111 中 “否” 的情况下) , 在监视器 907 中显示相对于配置在虚拟支架 550 的中心附近 的虚拟工件 530, 虚拟自动装置 500 沿着图的下方向移动的状态 (图 6 的状态 (a) ) 或虚拟自 动装置 500 接近虚拟工件 530 的状态 (图 6 的状态 (b) ) 。即, 在监视器 907 中显示虚拟工件 530 不追随虚拟自动装置 500 的状态。 0097 相对于此, 在后述的步骤 S120 中追随动作控制开始的情况下 (步骤 S111 中 “是” 的情况下) , 在监视器 907
45、 中显示虚拟工件 530 追随虚拟自动装置 500(被把持的) 状态 (图 6 的状态 (c) ) 。 0098 再次参照图7, 模拟部806通过执行3D模拟器, 执行判定用于使虚拟工件追随虚拟 机械的活动的追随条件是否成立的处理 (步骤 S116) 。 说 明 书 CN 103676662 A 10 8/15 页 11 0099 图 8 是表示实施方式 1 的追随条件的判定处理的流程的流程图。在这里, 说明图 6 所示的使虚拟工件 530 追随虚拟自动装置 500 的活动时的追随条件。 0100 参照图8, 模拟部806通过执行3D模拟器, 将通过虚拟自动装置500的把持用的两 个臂夹持的把
46、持空间分割为预先设定的大小的单位区域 (例如, 长方体) (步骤 S502) 。 0101 图 9 是用于说明实施方式 1 的虚拟自动装置 500 的把持空间的分割方式的图。 0102 参照图 9, 模拟部 806 基于虚拟自动装置 500 的模型数据, 提取虚拟自动装置 500 的把持空间。然后, 模拟部 806 将所提取的把持空间分割为单位区域。该例表示把持空间 被分割为 75 个单位区域的情况。 0103 再次参照图8, 模拟部806将表示包含虚拟工件530的单位区域的个数的变量t设 置为 0(步骤 S504) 。即, 变量 t 表示在把持空间的体积中、 虚拟工件 530 所占的 (重叠
47、的) 部分的体积。因此, 在把持空间全部由虚拟工件 530 所占的情况下, 变量 t 的值成为 75, 在 把持空间中不存在虚拟工件 530(在把持空间中完全不包含虚拟工件 530) 的情况下, 变量 t 的值成为 0。 0104 接着, 模拟部 806 将在存储部件 (例如, RAM903) 中存储的变量 n 设置为 1(步骤 S505) 。在实施方式 1 中, 在 RAM903 中, 作为变量 N 而保持有分割了把持空间的单位区域的 个数。换言之, 变量 N 表示把持空间的全部体积。 0105 接着, 模拟部 806 判断第 n 个单位区域是否为包含虚拟工件 530 的区域 (是否由虚 拟
48、工件 530 所占) (步骤 S506) 。 0106 图 10 是用于说明图 8 所示的步骤 S506 的判断处理方式的图。参照图 10, 模拟部 806 例如判定第 8 个 (n 8) 单位区域为包含虚拟工件 530 的区域 (判定为 “是” ) , 判定第 23 个 (n 23) 单位区域不是包含虚拟工件 530 的区域 (判定为 “否” ) 。 0107 再次参照图 8, 在第 n 个单位区域不是包含虚拟工件 530 的区域的情况下 (步骤 S506 中 “否” ) , 模拟部 806 执行步骤 S510 的处理。相对于此, 在第 n 个单位区域为包含虚拟 工件 530 的区域的情况下
49、,(步骤 S506 中 “是” ) , 模拟部 806 增加变量 t 的值 (步骤 S508) , 并执行步骤 S510 的处理。 0108 接着, 模拟部 806 判断变量 n 是否与变量 N 一致 (步骤 S510) 。更具体而言, 判断步 骤 S506 的判断处理是否对全部单位区域执行。 0109 在变量 n 与变量 N 不一致的情况下 (步骤 S510 中 “否” ) , 模拟部 806 增加变量 n 的 值 (步骤 S511) , 重复步骤 S506 以后的处理。相对于此, 在变量 n 与变量 N 一致的情况下 (步 骤 S510 中 “是” ) , 模拟部 806 判断变量 t 的值是否为预先设定的基准值以上 (步骤 S512) 。 更具体而言, 例如, 作
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1