CN116635799A - 模拟装置和模拟程序 - Google Patents
模拟装置和模拟程序 Download PDFInfo
- Publication number
- CN116635799A CN116635799A CN202180079396.1A CN202180079396A CN116635799A CN 116635799 A CN116635799 A CN 116635799A CN 202180079396 A CN202180079396 A CN 202180079396A CN 116635799 A CN116635799 A CN 116635799A
- Authority
- CN
- China
- Prior art keywords
- cable
- behavior
- simulation
- partial
- parameter
- 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.)
- Pending
Links
- 238000004088 simulation Methods 0.000 title claims description 227
- 238000004364 calculation method Methods 0.000 claims abstract description 55
- 238000009434 installation Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims description 56
- 230000036544 posture Effects 0.000 claims description 56
- 238000011156 evaluation Methods 0.000 claims description 26
- 230000002093 peripheral effect Effects 0.000 claims description 16
- 230000006399 behavior Effects 0.000 description 217
- 230000033001 locomotion Effects 0.000 description 57
- 238000010586 diagram Methods 0.000 description 44
- 230000010365 information processing Effects 0.000 description 34
- 238000005457 optimization Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 30
- 238000012545 processing Methods 0.000 description 23
- 238000003860 storage Methods 0.000 description 23
- 238000011960 computer-aided design Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000005452 bending Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000013016 damping Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 238000006073 displacement reaction Methods 0.000 description 6
- 230000010354 integration Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 239000012636 effector Substances 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000012212 insulator Substances 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 230000005483 Hooke's law Effects 0.000 description 1
- 208000032005 Spinocerebellar ataxia with axonal neuropathy type 2 Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 208000033361 autosomal recessive with axonal neuropathy 2 spinocerebellar ataxia Diseases 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229920001971 elastomer Polymers 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 125000000391 vinyl group Chemical group [H]C([*])=C([H])[H] 0.000 description 1
- 229920002554 vinyl polymer Polymers 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/16—Cables, cable trees or wire harnesses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Electric Cable Installation (AREA)
Abstract
事先设计安装于设备的线缆的布线。线缆模拟器(165)针对各部分线缆(341、342、343),对多个参数组中的每个参数组,使用该参数组计算与计算出的该部分线缆对应的对象的行为,根据计算出的行为计算施加于该对象的负载。线缆模拟器针对各部分线缆,判定具有满足限制条件的负载的行为的计算中所使用的参数组,从判定出的参数组的集合中,决定与整体线缆的安装相关的参数组。
Description
技术领域
本公开涉及能够对配置在3维虚拟空间内的对象的行为进行估计的模拟装置和模拟程序。
背景技术
使用了计算机的模拟(simulation)应用于各种技术领域。作为将这样的模拟应用于FA(Factory Automation:工厂自动化)的例子,例如,专利文献1(日本特开2016-042378号公报)公开了在对机械的动作进行控制的控制器中执行的控制程序的模拟。
现有技术文献
专利文献
专利文献1:日本特开2016-042378号公报
发明内容
发明要解决的课题
在FA的领域中,存在想要事先设计安装于作为机械的一例的产业用机器人的线缆的布线这一期望。更具体而言,以往,在布设产业用机器人的线缆的情况下,用户进行一边实际操作线缆一边决定适当的安装位置或线缆长度的作业,但该作业由于进行反复试错,因此需要长时间。因此,存在想要事先设计线缆布线(安装位置或线缆长度等)这一期望。
本公开的目的在于提供能够事先设计安装于设备的线缆的布线的模拟装置和模拟程序。
用于解决课题的手段
本公开的模拟装置计算经由多个引导件安装于设备的线缆的行为,该模拟装置具有:部分线缆行为计算部,其根据配置在虚拟空间内的与设备对应的第1对象的行为,使用与线缆安装相关的参数组计算与各引导件之间的部分线缆对应的配置在虚拟空间内的第2对象的行为,所述与线缆安装相关的参数组包含该虚拟空间内的多个引导件各自的位置和姿势以及各引导件之间的部分线缆长度;参数判定部,其针对各部分线缆,按照多个参数组中的每个参数组,根据由部分线缆行为计算部使用该参数组计算出的与该部分线缆对应的第2对象的行为,计算施加于与该部分线缆对应的该第2对象的负载,按照每一个各参数组,判定与该部分线缆对应的第2对象的所计算出的负载的大小是否满足限制条件;以及参数决定部,其针对各部分线缆,从被参数判定部判定为满足限制条件的1个以上的参数组中,决定满足与组合各部分线缆而得到的整体线缆的安装相关的条件的参数组。
根据该公开,能够针对每个部分线缆判定参数组,从各部分线缆的判定出的参数组中决定用于将整体线缆安装于设备的参数组。
在上述公开中,限制条件包含以下条件:施加于与部分线缆对应的第2对象的所述负载的大小不超过阈值。
根据该公开,能够依照施加于与该部分线缆对应的第2对象的负载的大小不超过阈值这一条件来判定各部分线缆的参数。
在上述公开中,限制条件包含以下条件:在部分线缆的长度在预先决定的范围内变化的情况下,施加于与该部分线缆对应的第2对象的负载的大小不超过阈值。
根据该公开,部分线缆的参数判定的条件能够应用即使部分线缆的长度在规定的范围内变化,负载的大小也不会超过阈值这一条件,即满足针对线缆的长度的鲁棒性这一条件。
在上述公开中,与整体线缆的安装相关的条件包含以下条件:在相邻的部分线缆之间所共享的引导件的位置和姿势相同。
根据本公开,整体线缆的参数的条件包含在相邻的部分线缆之间所共享的引导件的位置和姿势相同这一条件。
在上述公开中,第1对象的行为包含按照每个规定的时间步长所计算出的行为,部分线缆行为计算部按照每个时间步长,根据与该时间步长对应的第1对象的行为,使用参数组计算第2对象的行为。
根据上述公开,能够根据按照每个时间步长计算出的设备的行为而按照每个时间步长计算线缆的行为。
在上述公开中,部分线缆行为计算部包含物理模拟器。
根据上述公开,能够通过物理模拟器计算线缆的行为。
在上述公开中,第2对象包含以通过接头将相邻的刚体之间接合而连起的方式进行模型化的刚体连杆,物理模拟器根据第1对象的行为而实施遵循如下的方程式的运算,由此计算第2对象的行为,所述方程式表示模型化的刚体连杆中的相邻的刚体彼此的位置和姿势的关系以及对刚体彼此的位置和姿势的关系施加的与接头对应的约束条件。
根据上述公开,能够将线缆模型化为对线缆施加约束条件的刚体连杆,通过示出该模型的方程式来计算行为。
在上述公开中,约束条件包含表示线缆的硬度的参数。
根据上述公开,能够使用要安装于设备的线缆的硬度来计算与部分线缆对应的第2对象的行为。
在上述公开中,负载包含施加于第2对象所具备的各刚体的负载。
根据上述公开,能够计算施加于各刚体的负载。
在上述公开中,模拟装置还具有评价部,该评价部根据计算出的负载来评价由部分线缆行为计算部计算出的第2对象的行为。
根据上述公开,能够针对每个部分线缆,根据计算出的负载来评价所对应的第2对象的行为。
在上述公开中,设备包含机器人,第1对象的行为是通过具有操作机器人的指令代码的机器人程序的仿真而计算的。
根据上述公开,能够根据通过机器人程序的仿真器计算出的第1对象的行为来实施针对安装于机器人的线缆的行为的模拟。
在上述公开中,模拟装置执行模拟程序来计算配置在虚拟空间内的与上述机器人的外围设备对应的对象的行为,所述模拟程序包含对该外围设备进行控制的命令或参数。
根据上述公开,能够计算同一虚拟空间内的与线缆对应的第2对象的行为和与外围设备对应的对象的行为。
在上述公开中,模拟装置还具有图像生成部,该图像生成部生成将虚拟空间可视化的图像。
根据上述公开,能够将所模拟的对象配置的虚拟空间视觉化而提供给用户。
本公开的模拟程序是使计算机执行计算线缆的行为的方法的程序,所述线缆经由多个引导件而安装于设备。
上述方法具有以下步骤:根据配置在虚拟空间内的与设备对应的第1对象的行为,使用与线缆安装相关的参数组计算与各引导件之间的部分线缆对应的配置在虚拟空间内的第2对象的行为,该与线缆安装相关的参数组包含该虚拟空间内的多个引导件各自的位置和姿势以及各引导件之间的部分线缆长度;以及针对各部分线缆,判定参数,判定参数的步骤包含以下步骤:针对各部分线缆,按照多个参数组中的每个参数组,根据使用该参数组所计算出的与该部分线缆对应的所述第2对象的行为,计算施加于与该部分线缆对应的该第2对象的负载;以及针对各部分线缆,按照各多个参数组中的每个参数组,判定与该部分线缆对应的第2对象的所计算出的负载的大小是否满足限制条件,方法还具有以下步骤:在判定参数的步骤中,针对各部分线缆,从判定为满足限制条件的1个以上的参数组中,决定满足与组合各部分线缆而得到的整体线缆的安装相关的条件的参数组。
根据该公开,能够针对每个部分线缆判定参数组,从各部分线缆的判定出的参数组中决定用于将整体线缆安装于设备的参数组。
发明效果
根据本公开,能够事先设计安装于设备的线缆的布线。
附图说明
图1是示意性地示出本实施方式的线缆模拟装置1B的应用场景的一例的图。
图2是示意性地示出本实施方式的模拟装置1所模拟的设备的图。
图3是示出本实施方式的控制系统2的单元结构的一例的示意图。
图4是示出用于实现本实施方式的模拟装置1的硬件结构的一例的示意图。
图5是示出用于实现本实施方式的模拟装置1的功能结构的一例的示意图。
图6是示意性地示出安装有线缆和引导件的机器人的臂的模型的一例的图。
图7是示意性地示出模拟用的部分线缆的模型的图。
图8是示意性地示出本实施方式的线缆的物理模拟的模型的一例的图。
图9是示出图8的线缆的物理模拟模型的联立方程式147的一例的图。
图10是示意性地示出本实施方式的物理模拟的位置的更新的图。
图11是示意性地示出本实施方式的模拟的时间序列的一例的图。
图12是图11的线缆模拟(步骤S100)的处理流程图。
图13是图12的部分线缆最优化处理(步骤S110)的处理流程图。
图14是图12的整体线缆最优化处理(步骤S120)的处理流程图。
图15是对在机器人的臂中要最优化的区段数和引导件位置/姿势进行说明的图。
图16是示意性地示出机器人臂的拾放运动的一例的图。
图17是示出模拟的结果的图。
图18是示出图17的各运动与整体线缆的最优参数组及线缆的形状之间的关系的图。
图19是示意性地示出弹簧常数的估计方法的图。
图20是以表的形式示出针对图19的(a)的各线缆长度所测定出的垂直位移的图。
图21是示意性地示出针对圆柱的轴的扭转力矩与扭转角之间的关系的图。
图22是示出扭转角与扭转力矩之间的关系的图。
图23是示意性地示出本实施方式的与线缆的参数设定相关的UI画面的一例的图。
图24是示出以表的形式示出本实施方式的可安装参数组的画面的一例的图。
具体实施方式
以下,参照附图对各实施方式进行说明。在以下的说明中,对相同的部件和构成要素标注相同的标号。它们的名称和功能也相同。因此,不重复对它们进行详细说明。
<A.应用例>
对应用了本发明的场景的一例进行说明。图1是示意性地示出本实施方式的线缆模拟装置1B的应用场景的一例的图。参照图1,线缆模拟装置1B计算(估计)能够安装于机器人30的线缆的行为,该机器人30是FA的生产线上配备的设备的一例。另外,安装有线缆的设备不限于机器人30。并且,机器人30没有限定,例如具有以多关节构成的臂301。机器人30具有通过连接器7而装卸自如地安装于前端的臂301处的机器人手210。线缆借助机器人手210的线缆引导件、设置于臂301的表面306(参照图8)的线缆引导件350、351进行安装。以下,也将线缆引导件简称为引导件。在利用该多个引导件将线缆安装于机器人30的状态下,将各引导件之间的线缆称为部分线缆。在图1中,部分线缆包含机器人手210的引导件与引导件350之间的部分线缆341、引导件350与351之间的部分线缆342、以及引导件351与352之间的部分线缆343。以下,将连接部分线缆而得到的线缆称为整体线缆340或线缆340,以与部分线缆区别开。
将部分线缆341、342、343在它们共通的说明中称为“部分线缆”。线缆340例如是用绝缘体来包覆构成信号线的线状导电体而构成的。作为绝缘体的材料,没有限定,可以使用塑料、橡胶、乙烯基等的树脂材料。并且,作为导电体的材料,没有限定,可以使用具有导电性的金属。线缆340例如可以包含供空气等气体流通的空气线缆。并且,引导件350、351、352具有同样的特征(形状、材料等),因此在它们共通的说明中,总称为“引导件”。通过借助引导件将线缆340安装于机器人30,机器人控制器310(参照图2)等其他设备能够经由线缆340而与机器人30之间交换信号。
通常,鉴于机器人用的线缆340价格高并且如上述那样布线作业需要长时间,如果事先设计安装于实机的机器人30的线缆340的适当布线,用户根据其设计结果而实施线缆340的布线,则能够降低包含布设线缆340所花费的费用和作业时间在内的成本。通过线缆模拟装置1B实施线缆模拟而实现该事先设计。
更具体而言,信息处理装置100具有线缆模拟装置1B和设备行为生成模块151,该设备行为生成模块151生成表示设备(机器人30)的行为的设备行为数据2520。线缆模拟装置1B包含线缆模拟器165,该线缆模拟器165计算(估计)与安装于机器人30的线缆340对应的对象(以下,也称为第2对象)在3维虚拟空间中的行为。设备行为数据2520表示与机器人30对应并且配置在与整体线缆340的对象所配置的3维虚拟空间相同的空间内的对象(以下,也称为第1对象)的行为。“第1对象”没有限定,例如,包含与机器人30以及安装于该机器人30的机器人手210对应的对象。
线缆模拟器165使用设备行为数据2520和多个参数组来计算对象在3维虚拟空间中的行为。对该3维虚拟空间应用例如由正交的X轴、Y轴以及Z轴所规定的3维绝对坐标系。线缆模拟装置1B例如能够安装于由通用计算机构成的信息处理装置100,通过信息处理装置100执行规定的程序而实现设备行为生成模块151、线缆模拟器165以及评价模块177。
线缆模拟器165计算借助设置于机器人30的多个引导件而安装的线缆340的行为,根据计算出的行为而从多个参数组之中决定与整体线缆340的安装相关的最优参数组。为了决定与整体线缆340的安装相关的最优参数组,线缆模拟器165包含用于将各部分线缆的参数组最优化的部分线缆最优化部和用于将整体线缆340的参数组最优化的整体线缆最优化部。部分线缆最优化部是“参数判定部”的一个实施例,该“参数判定部”针对各部分线缆来判定与安装相关的最优参数组。在本公开中,与安装相关的参数组包含引导件的位置/姿势和线缆长度。
部分线缆最优化部包含作为“部分线缆行为计算部”的一个实施例的部分线缆行为计算模块166、作为“负载计算部”的一个实施例的负载计算模块167、作为“限制条件判定部”的一个实施例的限制条件判定模块168以及鲁棒性判定模块169。部分线缆行为计算模块166针对设置在相邻的位置的引导件之间的部分线缆的每一个,使用负载计算模块167、限制条件判定模块168以及鲁棒性判定模块169对与该部分线缆的安装相关的参数组进行最优化。更具体而言,信息处理装置100通过部分线缆行为计算模块166,根据配置在虚拟空间内的与设备对应的第1对象的行为(设备行为数据2520),使用包含该虚拟空间内的各引导件的位置和各引导件之间的部分线缆长度的各参数组,针对各参数组计算与各引导件之间的部分线缆对应的配置在虚拟空间内的第2对象的行为。
负载计算模块167针对多个参数组中的每个参数组,根据部分线缆行为计算模块166计算出的与各部分线缆对应的第2对象的行为,计算施加于该第2对象的负载。负载计算模块167所计算的负载的种类没有限定,例如在设备依照设备行为数据2520进行了行为的情况下,可以包含第2对象的弯曲、伸长、扭转和冲击(第2对象的碰撞)以及在发生了碰撞的情况下施加于第2对象的力(反作用力)等。
限制条件判定模块168判定针对与各部分线缆对应的第2对象所计算出的负载的大小是否满足限制条件。更具体而言,限制条件可以包含该负载的大小不超过阈值这一条件。并且,限制条件可以包含以下条件(以下,也称为鲁棒性条件):即使在各部分线缆的长度在预先决定的范围内变化的情况下,施加于与该部分线缆对应的第2对象的负载的大小也不会超过上述的阈值。限制条件判定模块168在各种负载的大小不超过阈值时,判定为各种负载的大小满足限制条件。鲁棒性判定模块169判定针对与各部分线缆对应的第2对象所计算出的负载的大小是否满足上述的鲁棒性条件。
线缆模拟器165将通过限制条件判定模块168或者鲁棒性判定模块169针对各部分线缆判定为满足限制条件(或者包含鲁棒性条件的限制条件)的1个以上的参数组决定为该部分线缆的最优参数组的集合D2,n。
整体线缆最优化部的参数决定模块170是“参数决定部”的一个实施例。参数决定模块170根据被判定为满足限制条件的各部分线缆的最优参数组的集合D2,n决定满足与组合各部分线缆而得到的整体线缆340的安装相关的条件的整体线缆的最优参数组d*。与整体线缆340的安装相关的条件例如包含是使组合各部分线缆而得到的整体线缆340的线缆长度为最短那样的参数组这一条件。
在本公开中,满足限制条件的参数组也可以构成为还满足针对干扰的鲁棒性,该干扰是基于模拟的计算的误差、用户安装线缆的误差等。更具体而言,关于各部分线缆的最优参数组,即使在该部分线缆长度在一定范围内缩短和延长的情况下也满足上述的限制条件那样的参数组被判定为是最优的。
当判定了每个部分线缆的最优参数组后,参数决定模块170决定与整体线缆340的安装相关的最优参数组。参数决定模块170在相邻条件下,根据各部分线缆的最优参数组的集合决定整体线缆340的最优参数组d*,其中,该相邻条件是为了将相邻的部分线缆彼此结合,需要在两个部分线缆之间共享引导件的位置/姿势这一条件。并且,在针对整体线缆340取得了多个最优参数组的情况下,参数决定模块170从多个最优参数组之中选择使整体线缆340的长度最短那样的参数组。
这样,在本公开中,线缆模拟器165针对设备行为数据2520所示的机器人30的预先设定的运动(motion),对由与线缆安装相关的参数、即线缆长度和设置引导件的位置/姿势(“位置/姿势”表示位置和姿势)构成的参数组进行最优化。在模拟中,假如将安装整体线缆340的引导件的位置/姿势和引导件之间的线缆长度同时设为最优化对象,则参数数量过多,该模拟花费大量成本(计算时间等)。与此相对,本公开的线缆模拟器165将与整体线缆340的安装相关的参数组的最优化分割为各部分线缆的参数组的最优化而实施。由此,能够将通过模拟进行的参数组的最优化置换为由相邻的引导件的位置/姿势以及这些引导件之间的部分线缆长度构成的有限数量的参数的最优化。因此,降低了模拟所花费的成本,能够使用通过模拟所决定的整体线缆340的参数组而事先对安装于设备的线缆的布线进行设计。
以下,对本实施方式的更具体的应用例进行说明。
<B.控制系统的例子>
图2是示意性地示出本实施方式的模拟装置1所模拟的设备的图。模拟装置1具有系统模拟装置1A,该系统模拟装置1A估计由FA的生产线上配备的控制系统2的PLC(可编程逻辑控制器)200控制的作为实机的设备的行为。模拟装置1例如可以安装于由通用计算机构成的信息处理装置100,该通用计算机包含PC(Personal Computer:个人计算机)、平板终端等终端装置,通过信息处理装置100执行规定的程序实现对设备的行为进行估计的系统模拟。信息处理装置100提供用于辅助用户运用控制系统2的辅助工具。辅助工具包含用于准备模拟的执行环境、控制系统2用的控制程序的执行环境以及控制系统2的通信环境等的设定工具。辅助工具例如通过UI(User Interface:用户界面)而提供给用户。
在图2中,信息处理装置100可通信地与PLC 200连接,但也可以以不与PLC 200连接的方式实施模拟。并且,上述的线缆模拟装置1B可以配置于模拟装置1。在该情况下,由模拟装置1提供能够实施线缆模拟和系统模拟的环境。
参照图2,控制系统2包含PLC 200、机器人控制器310以及伺服马达驱动器531、532。PLC 200、机器人控制器310以及伺服马达驱动器531、532经由现场网络22而以菊花链连接。现场网络22例如采用EtherCAT(注册商标)。但是,现场网络22不限于EtherCAT。信息处理装置100能够经由图3的网络80而与PLC 200连接。该网络80可以采用有线或无线的任意通信单元。PLC 200和信息处理装置100例如依照USB(Universal Serial Bus:通用串行总线)进行通信。
PLC 200根据包含来自现场网络22的传感器的输出值等的现场值而执行所设计的控制程序,根据执行的结果对机器人控制器310或伺服马达驱动器531、532分别赋予目标值,由此对机器人30以及与输送机230的搬运相关联的设备等进行控制。
伺服马达驱动器531、532对输送机230的伺服马达41、42进行驱动。在伺服马达41、42的旋转轴配置有编码器236、238。该编码器将伺服马达的位置(旋转角度)、转速、累积转数等作为伺服马达41、42的反馈值而输出给PLC 200。
机器人30和输送机230一边相互协作一边使工件232移动。另外,这里,为了简化说明,对工件232的移动进行说明,但不限于移动。例如,也可以是由机器人30对载置在托盘9上的工件232进行的加工。
在图2中,作为机器人30的驱动装置的一例,例示了设置于机器人30的伺服马达1301、1302、1033、1304(以下,也统称为“机器人伺服马达”)和对机器人伺服马达进行驱动的机器人控制器310。同样地,作为输送机230的驱动装置的一例,例示了对设置于输送机230的伺服马达41、42进行驱动的伺服马达驱动器531、532。
机器人控制器310对机器人30的机器人伺服马达进行驱动。在各机器人伺服马达的旋转轴配置有编码器(未图示)。该编码器将伺服马达的位置(旋转角度)、转速、累积转数等作为机器人伺服马达的反馈值而输出给机器人控制器310。
伺服马达驱动器531、532依照指令值而对相应的伺服马达41、42进行驱动。控制系统2还与输送机230相关联地具有光电传感器6和可开闭的止挡件8。光电传感器6检测输送机230的搬运面上配备的托盘9到达了规定的工件跟踪区之前这一情况,将检测值发送给PLC 200。止挡件8依照指令值而进行关闭动作,以使到达了跟踪区内的托盘9停止(固定)。
根据工序而安装机器人30的机器人手210。机器人手210的种类例如包含平行手、多指手、多指关节手等,但不限于此,例如也可以包含以吸附式来拾取和放置工件232的种类。
机器人30例如实施拾放(pick-and-place)作为依照来自机器人控制器310的指令值的运动。具体而言,机器人30通过机器人手210来拾取输送机230上的托盘9所载置的工件232,在拾取的状态下使工件232移动至规定的位置的工作台55并载置(放置)在工作台55上。机器人手210依照来自机器人控制器310的指令值控制用于拾取或放置工件232的手的开闭动作。
作为通过系统模拟装置1A所实施的模拟来估计其行为的设备,例示了搬运工件232的输送机230、操作工件232的机器人30(机器人30和机器人手210)等设备,但被估计行为的设备不限于此。线缆模拟装置1B根据通过系统模拟所计算(估计)出的设备的行为来计算(估计)线缆的行为。
也可以由信息处理装置100使用这样的模拟的结果来设计控制程序。在信息处理装置100上设计的控制程序经由现场网络22而发送给PLC 200。
并且,PLC 200也可以具有信息处理装置100所具备的模拟装置1的组件。
<C.控制系统的整体结构>
图3是示出本实施方式的控制系统2的单元结构的一例的示意图。参照图3,控制系统2包含PLC 200、经由现场网络22与PLC 200连接的伺服马达驱动器531、532和远程IO终端5、连接线缆340的机器人控制器310、以及作为设置于现场的IO设备的例如光电传感器6、止挡件8所具备的接近传感器87和编码器236、238。
PLC 200包含执行主要的运算处理的运算单元13、1个以上的IO单元14以及特殊单元17。这些单元构成为能够经由系统总线81而相互交换数据,并且从电源单元12向这些单元提供电源。信息处理装置100可以经由网络80而与运算单元13连接。
IO单元14从包含光电传感器6、止挡件8的接近传感器87、编码器236、238等IO设备收集检测值61、71以及237、239。接近传感器87以非接触的方式检测托盘9相对于止挡件8接近到规定的距离这一情况。来自各IO设备的检测值例如设定(写入)到IO单元14所具备的存储器中。运算单元13使用IO单元14收集到的值而执行控制程序的运算,将运算结果的值设定(写入)到IO单元14的存储器中。外围设备或IO设备参照IO单元14的存储器的值而进行动作。
现场网络22可以与机器人控制器310、伺服马达驱动器531、532以及远程IO终端5连接。IO远程终端5包含用于进行与经由现场网络22的数据传输相关的处理的通信耦合器52和1个以上的IO单元53。这些单元构成为能够经由远程IO终端总线51而相互交换数据。
伺服马达驱动器531、532经由现场网络22与运算单元13连接,并且依照来自运算单元13的指令值而对伺服马达41、42进行驱动。运算单元13根据来自编码器236、238的检测值237、239而生成这些指令值。
运算单元13参照上述的来自IO设备的检测值而执行规定的控制程序,由此使机器人30实施拾放。具体而言,运算单元13在根据光电传感器6的检测值61和接近传感器87的检测值71而检测到工件232接近了规定的跟踪区时,生成实施拾放的机器人的臂301用的控制指令211和机器人手210用的控制指令222,并经由机器人控制器310经过线缆340而输出给机器人30。
<D.硬件结构>
接下来,对本实施方式的模拟装置1的硬件结构的一例进行说明。
图4是示出用于实现本实施方式的模拟装置1的硬件结构的一例的示意图。在本实施方式中,模拟装置1可以安装于图4所示那样的信息处理装置100。具体而言,通过信息处理装置100的处理器102执行所需的程序而实现模拟装置1。在图4中,模拟装置1具有实施系统模拟和线缆模拟的环境。
作为主要的组件,信息处理装置100包含:处理器102,其执行操作系统(OS:Operating System)和后述的各种程序;主存储器104,其提供用于对处理器102执行程序所需的数据进行保存的作业区域;键盘、鼠标等受理用户操作的操作单元106;显示器109、各种指示器、打印机等输出处理结果的输出单元108;网络接口110,其与包含网络80在内的各种网络连接;光学驱动器112;本地通信接口116,其与外部装置进行通信;以及存储装置111。这些组件经由内部总线118等而可进行数据通信地连接。
信息处理装置100通过光学驱动器112而从计算机可读取的存储介质114读取各种程序或数据并安装于存储装置111等,该存储介质114包含非暂时性地保存计算机可读取的程序的光学存储介质(例如DVD(Digital Versatile Disc:数字多功能光盘)等)。
信息处理装置100所执行的各种程序或数据可以经由计算机可读取的存储介质114来安装,但也可以以经由网络接口110从网络上的未图示的服务器装置等下载的形式安装。
存储装置111例如由HDD(Hard Disk Drive)或SSD(Flash Solid State Drive)等构成,保存由处理器102执行的程序。具体而言,存储装置111保存虚拟时刻生成程序120、中继程序121、物理模拟程序122、与物理模拟相关的物理模拟参数124、PLC模拟程序126、与PLC模拟相关的PLC参数128、机器人仿真(emulation)程序130、与机器人仿真相关的机器人参数132、统合程序134以及线缆模拟程序137,作为本实施方式的用于实现模拟的模拟程序。存储装置111还保存图像处理程序136、评价程序143以及参数设定程序145,该图像处理程序136生成对配置在3维虚拟空间内的对象进行显示的图像。
当执行线缆模拟程序137时,实现图1所示的具有部分线缆最优化部的各种模块和整体线缆最优化部的参数决定模块170的线缆模拟器165。线缆模拟程序137包含实现限制条件判定模块168的限制条件判定程序1371和实现鲁棒性判定模块169的鲁棒性判定程序1372。将通过执行线缆模拟程序137所计算的施加于线缆的对象的负载保存为负载信息142。
评价程序143根据线缆模拟程序137计算出的与线缆340对应的对象的行为而对该行为进行评价,并输出表示评价结果的评价数据144。评估数据144可以保存于存储装置111。评价数据包含对在线缆模拟中施加于线缆的模型的负载进行评价的数据。
参数设定程序145例如将根据用户对信息处理装置100的操作内容所设定的线缆参数139保存于存储装置111。线缆参数139包含限制条件参数149、鲁棒性参数140、一个或多个候选参数组141等,该制条件参数149包含限制条件的阈值,该鲁棒性参数140包含后述的鲁棒性的范围R。线缆参数139还包含线缆340的弯曲常数、阻尼系数、Stiffness(刚性)的值等。
虚拟时刻生成程序120生成模拟用的虚拟时刻。模拟装置1按照基于虚拟时刻的周期来执行模拟。
物理模拟程序122计算与工件232的移动相关联地动作的设备所对应的对象的行为。所对应的对象的行为通过物理模拟程序122来计算的设备例如包含与工件232的搬运或移动相关联的光电传感器6、输送机230、托盘9、止挡件8以及机器人手210。向物理模拟程序122提供物理模拟参数124,该物理模拟参数124包含用于规定与这样的设备对应的对象的行为的参数以及规定工件232的重量或形状等的参数。物理模拟参数124的值可以通过用户操作或统合程序134等而适当变更。
作为物理模拟参数124,也可以使用与工件232的搬运或者移动相关联的设备以及工件232的CAD(Computer Aided Design:计算机辅助设计)数据。通过使用CAD数据,能够使用对象对现实的设备的行为进行更准确的再现。
PLC模拟程序126计算所对应的对象的行为通过物理模拟程序122来计算的设备及工件232的位置。计算出的位置提供给物理模拟程序122。向PLC模拟程序126提供PLC参数128,该PLC参数128包含计算上述位置所需的参数。
机器人仿真程序130作为通过对象来再现机器人30的行为的模拟器而发挥功能。机器人仿真程序130根据物理模拟程序122计算出的结果(对象的行为)来再现机器人30操作工件232的预先设定的运动。向机器人仿真程序130提供机器人参数132,该机器人参数132包含用于通过所对应的对象来再现机器人30的行为所需的参数。
中继程序121提供用于物理模拟程序122与机器人仿真程序130相互交换数据的中继功能。中继程序121没有限定,中继功能例如以脚本的命令记述。
统合程序134执行用于使物理模拟程序122、PLC模拟程序126、机器人仿真程序130以及中继程序121相互协作的处理。具体而言,典型的是,统合程序134在主存储器104上生成和更新虚拟空间信息105,该虚拟空间信息105记述3维虚拟空间的对象的状态。物理模拟程序122、PLC模拟程序126以及机器人仿真程序130参照(读出)虚拟空间信息105而执行各模拟的处理,并且将其执行结果中的必要的信息反映到虚拟空间信息105。通过统合程序134所提供的功能来再现控制系统2中的设备的行为及处理,该控制系统2具有搬运工件232的设备和通过预先决定的运动而使工件232移动的机器人30。
图像处理程序136被提供用于在显示器109上显示的3D(three-dimensional:3维)可视化数据135。3D可视化数据135包含行为数据252和图像数据253。图像数据253包含用于描绘与所模拟的设备对应的对象的设备图像数据2530和用于描绘与线缆340对应的对象的线缆图像数据2531。线缆图像数据2531包含与刚体304(后述)的对象对应的图像数据。
行为数据252包含设备行为数据2520和线缆行为数据2521,该设备行为数据2520包含在虚拟空间信息105的各设备的位置使用规定的函数而计算出的位置即3维坐标P(x,y,z)及其时间序列数据。线缆行为数据2521表示线缆模拟器165根据设备行为数据2520的数据而计算出的与线缆340对应的配置在3维虚拟空间内的对象的行为。
图像处理程序136使用设备图像数据2530和设备行为数据2520而生成用于在3维虚拟空间内立体地描绘工件232、与工件232的搬运关联的设备及机器人30、以及安装于机器人30的机器人手210所对应的各对象的行为的图像数据,并输出给显示器109。并且,图像处理程序136使用线缆图像数据2531和线缆行为数据2521而生成用于在3维虚拟空间内立体地描绘与线缆340对应的对象的行为的图像数据,并输出给显示器109。
由此,在显示器109中,依照通过模拟所计算出的行为来显示对象,再现控制系统2的设备的行为,并且,再现与设备的行为联动的线缆340的行为。另外,图像数据253也可以包含CAD(Computer-Aided Design:计算机辅助设计)数据等。
在图4中,示出了利用单个信息处理装置100来实现模拟装置1的例子,但也可以使多个信息处理装置协同来实现模拟装置1。在该情况下,可以是,由信息处理装置100执行实现模拟装置1所需的处理的一部分,并且通过网络上的服务器(云)等来执行剩余的处理。
图4示出了通过处理器102执行一个或者多个程序而实现模拟装置1的例子,但也可以使用ASIC(Application Specific Integrated Circuit:专用集成电路)或FPGA(Field-Programmable Gate Array:现场可编程门阵列)等电路来安装实现模拟装置1所需的处理及功能的一部分。
<E.功能结构>
接下来,对本实施方式的模拟装置1的功能结构的一例进行说明。图5是示出用于实现本实施方式的模拟装置1的功能结构的一例的示意图。典型地,图5所示的功能是通过信息处理装置100的处理器102执行程序(虚拟时刻生成程序120、中继程序121、物理模拟程序122、PLC模拟程序126、机器人仿真程序130、统合程序134、图像处理程序136、线缆模拟程序137、评价程序143以及参数设定程序145等)而实现的。模拟装置1具有系统模拟装置1A和线缆模拟装置1B用的功能、生成系统模拟和线缆模拟的执行周期的周期生成模块154、以及用于根据模拟结果而在3维虚拟空间内描绘对象的3D可视化器164。3D可视化器164可以包含通过执行图像处理程序136而实现的功能。
(E1.系统模拟装置1A的结构)
参照图5,系统模拟装置1A包含虚拟空间信息管理模块150、PLC模拟器152、工件行为模拟器155、物理模拟器156、中继模块158、机器人仿真器160以及工件跟踪模块162。
虚拟空间信息管理模块150是通过执行统合程序134(图4)而实现的,管理虚拟空间信息105,该虚拟空间信息105用于规定实施模拟的3维虚拟空间的各对象的行为(位置和姿势等)的信息。
PLC模拟器152是通过执行PLC模拟程序126(图4)而实现的,根据物理模拟参数124而计算与工件232的搬运相关联的设备所对应的对象的行为。PLC模拟器152计算出的信息反映到虚拟空间信息105中。
PLC模拟器152相当于估计与工件232的搬运相关的设备的行为并且包含PLC程序所包含的多个命令的模拟程序。该多个命令可以包含PLC程序所包含的用于对与搬运相关的设备的行为进行控制的命令组。PLC程序例如用以循环执行型语言(例如,梯形图语言)记载的程序语言来记述。
每次根据虚拟空间信息105的数据而执行PLC模拟器152的这些命令时,生成例如用于对输送机230的伺服马达41、42进行控制的指令值,并保存于虚拟空间信息105中。
中继模块158将使用了工件232的图像计测参数129的计测处理对工件232的计测结果输出给机器人仿真器160。机器人仿真器160根据机器人参数132,依照来自中继模块158的计测结果而再现在虚拟空间内配置的搬运工件的机器人30的行为。机器人仿真器160所计算出的机器人30的行为的信息反映到虚拟空间信息105中。机器人仿真器160是通过执行机器人仿真程序130而实现的。机器人仿真器160输出设备行为数据2520,该设备行为数据2520表示配置在3维虚拟空间内的使工件232移动的机器人30的行为。机器人仿真器160将机器人30的臂301以及安装于其前端的机器人手210视为一体的刚体而实施模拟。
具体而言,机器人仿真程序130包含机器人控制器310的程序所包含的命令组。该命令组包含具有使机器人30操作工件232的指令代码的机器人程序的指令。这些指令包含如下的命令等:根据虚拟空间信息105的PLC模拟器152的输出数据等来计算机器人30的目标轨迹,根据计算出的轨迹来计算表示各轴的行为的指令值等。
这样,机器人仿真器160在执行命令时,生成对机器人30的行为进行控制的各轴的指令值,并将生成的指令值输出给虚拟空间信息管理模块150。虚拟空间信息管理模块150将来自机器人仿真器的指令值作为虚拟空间信息105而进行管理(保存)。
工件行为模拟器155计算配置在3维虚拟空间内的一个或多个工件232的对象的行为。具体而言,工件行为模拟器155是通过执行物理模拟程序122(图4)而实现的,根据PLC模拟器152的与工件232的搬运设备对应的对象的行为的信息,计算配置在3维虚拟空间内的工件232的行为并更新。工件行为模拟器155在计算工件232的行为时,计算工件232的位置、姿势、移动速度、移动方向等。工件232的位置和姿势是根据用户等任意设定的工件参数来计算的。工件行为模拟器155计算出的工件232的位置和姿势的信息反映到虚拟空间信息105中。工件参数也能够包含于物理模拟参数124。
物理模拟器156是通过执行物理模拟程序122(图4)而实现的。物理模拟器156依照物理模拟参数124来计算与用于搬运或移动工件232的设备对应的对象的行为(位置、姿势、移动速度、移动方向等)。物理模拟器156所模拟的对象包含光电传感器6、止挡件8、托盘9、机器人手210、输送机230以及工件232。
物理模拟器156依照规定的物理运算来计算这些对象的位置/姿势等行为。物理模拟器156将在该物理运算中使用的物理模拟参数124中的对象的质量参数127设定为零而实施运算。
物理模拟器156将通过物理运算而计算出的机器人手210的3维坐标P(x,y,z)保存为设备行为数据2520。物理模拟器156按照每个时间步长ti(i=1,2,3,...)执行,由此设备行为数据2520包含与机器人手210对应的时间序列的3维坐标P(x,y,z)。
工件跟踪模块162是通过执行机器人仿真程序130而实现的。工件跟踪模块162根据来自机器人仿真器160的机器人30的行为信息而跟踪在3维虚拟空间中被机器人30拾取和放置的工件232。工件跟踪模块162所跟踪的工件232的位置信息(工件位置)反映到虚拟空间信息105中。
(E2.线缆模拟装置1B的结构)
参照图5,线缆模拟装置1B包含线缆模拟器165和评价模块177,该线缆模拟器165是通过执行线缆模拟程序137而实现的,该评价模块177是通过执行评价程序143而实现的。
线缆模拟器165按照每个时间步长ti执行,由此根据与该时间步长ti对应的设备行为数据2520的数据,使用线缆参数139计算与该线缆340对应的配置在3维虚拟空间内的对象的行为,并将计算结果保存为线缆行为数据2521。
线缆模拟器165通过按照每个时间步长ti计算与线缆340对应的对象的行为而取得线缆行为数据2521。由所取得的线缆行为数据2521示出3维虚拟空间内的线缆340的时间序列的行为。
3D可视化器164相当于生成将3维虚拟空间视觉化的图像的图像生成部。3D可视化器164根据虚拟空间信息105的每个时间步长ti的指令值而计算与工件232、机器人30、机器人手210以及外围设备分别对应的3维虚拟空间的对象的3维坐标P(x,y,z)。计算出包含时间序列的3维坐标P(x,y,z)的设备行为数据2520。外围设备例如是机器人30(机器人臂301)的外围设备,包含与工件232的搬运相关联的设备等。
3D可视化器164根据设备行为数据2520和设备图像数据2530而生成将3维虚拟空间内的设备的行为视觉化的图像数据,并且,根据线缆行为数据2521和线缆图像数据2531而生成将3维虚拟空间内的线缆的行为视觉化的图像数据。这些图像数据输出给显示器109。由此,在显示器109上显示表示通过系统模拟所计算出的设备的行为的图像和表示通过线缆模拟所计算出的线缆340的行为的图像。
周期生成模块154是通过执行虚拟时刻生成程序120而实现的。周期生成模块154根据处理器102所具有的定时器(未图示)的输出而将与定时器的输出同步的信号ST输出给其他各部。各部与从周期生成模块154输出信号ST的周期即规定的时间步长ti同步地执行处理或程序。由此,图5的各部按照每个时间步长ti相互同步地执行处理。信号ST的输出周期没有限定,可以根据图3的现场网络22的通信周期(以下,也称为“控制周期”)来决定,该现场网络22的通信周期遵从控制系统2的时刻同步。此外,基于信号ST的时间步长ti所示的周期可以是可变的。时间步长ti的“i”的值与信号ST的输出周期同步地像例如1,2,3…那样变化到预先决定的最大值,该最大值可以根据从上述预先决定的运动的开始到结束的所需时间的长度来决定。
通过图5所示的各功能相互协作,能够再现与设备的行为联动的线缆340的行为。
在本实施方式中,图5的模拟装置1能够例如依照经由操作单元106所受理的来自用户的指示而启动系统模拟装置1A和线缆模拟装置1B中的一方。并且,模拟装置1能够例如依照经由操作单元106所受理的来自用户的指示而决定启动系统模拟装置1A或线缆模拟装置1B的时机。例如,模拟装置1启动系统模拟装置1A,然后设定线缆模拟装置1B的启动时机。由此,能够在线缆模拟装置1B启动时将设备行为数据2520提供给线缆模拟器。
另外,在图5中,信息处理装置100安装有系统模拟装置1A和线缆模拟装置1B双方,但只要以能够利用设备行为数据2520的方式提供给线缆模拟装置1B即可,信息处理装置100也可以仅安装线缆模拟装置1B。
<F.3维虚拟空间和设备行为数据>
再次参照图2,对作为系统模拟的对象设备的机器人30和输送机230的控制以及这些设备在3维虚拟空间内的行为进行说明。
如上所述,机器人30和输送机230具有能够通过多个驱动轴而移动的可动部。该各驱动轴由伺服马达驱动。具体而言,机器人30具有通过机器人伺服马达(伺服马达1301~1304)旋转来驱动的多个臂。机器人伺服马达通过各自旋转而驱动对应的各臂。通过机器人控制器310控制机器人伺服马达的驱动而对各臂进行3维驱动。通过这样的各臂的驱动而实现机器人30的行为。同样地,输送机230也通过伺服马达41、42旋转而使输送机230及搬运面上的托盘9移动。其移动量(移动的速度、方向、距离等)由伺服马达41、42的旋转量(旋转的方向、角度)决定。通过这样的伺服马达41、42的驱动,实现输送机230和托盘9等设备的行为。
在实施方式中,将机器人30的各臂301与虚拟的轴对应起来,机器人30的位置由各轴的位置决定。PLC 200根据各轴的按照时间序列变换的目标位置而对机器人30进行控制,由此,各臂301的移动的速度和轨道以成为遵从目标的速度和轨道的方式变化。
机器人30的目标位置例如预先保存于PLC 200。机器人控制器310从PLC 200接收目标位置,根据接收到的目标位置而决定各机器人伺服马达的旋转量,并将指定所决定的旋转量的指令值输出给各机器人伺服马达。
系统模拟装置1A能够与机器人30同样地也计算与工件232和搬运工件232的输送机230对应的对象在3维虚拟空间内的行为,并将计算结果作为设备行为数据2520输出。
此外,在控制系统2中,设备相互时刻同步。具体而言,与现场网络22连接的多个设备、即PLC 100、机器人控制器310、伺服马达驱动器531、532以及机器人手210分别具有相互时刻同步的定时器90、91、92、93、94,在设备之间,基于这些定时器进行动作,由此使包含控制指令在内的数据的收发时机同步。
(F1.设备行为数据(关节角度时间序列数据T(t)))
对本实施方式的计算机器人30在3维虚拟空间内的位置/姿势的过程的一例进行说明。在本实施方式中,作为3维虚拟空间的坐标系,例示了机器人30和PLC 200等各部共同具备的绝对坐标系。在计算绝对坐标系下的位置时,在本实施方式中,将伺服马达1301的旋转量表示为αA,将伺服马达1302的旋转量表示为αB,将伺服马达1303的旋转量表示为αC,将伺服马达1304的旋转量表示为αD。通过使用规定的函数对伺服马达旋转量(αA,αB,αC,αD)分别实施运算,能够将伺服马达旋转量(αA,αB,αC,αD)分别转换为关节在3维虚拟空间内的位置(3维坐标P(x,y,z))。在本实施方式中,系统模拟装置1A通过设备行为生成模块151来计算与设备(更特定地说是机器人30的臂301)对应的配置在3维虚拟空间内的第1对象的行为(3维虚拟空间内的位置的时间序列的变化),并输出关节角度时间序列数据T(t)作为计算结果即设备行为数据2520。
(F2.关节角度时间序列数据T(t)的生成方法)
并且,关节角度时间序列数据T(t)也可以不依赖于上述的伺服马达的旋转量的时间序列变化,而是利用CAD(Computer-Aided Design:计算机辅助设计)来生成。更具体而言,在设备行为生成模块151具有CAD(Computer-Aided Design:计算机辅助设计)模块的情况下,当用户指定机器人30的臂要采取的预先决定的运动(行为)后,由CAD模块对该指定的运动执行运动规划,作为运动规划的计算结果,取得关节角度时间序列数据T(t)。以下,作为上述预先决定的运动,例示了作为产业用机器人应用而大量利用的拾放,但运动的种类不限于拾放。
<G.模拟对象的模型>
图6是示意性地示出安装有线缆和引导件的机器人的臂的模型的一例的图。在本实施方式中,作为模拟对象的模型,使用图6所示的具有N个连杆的N连杆机器人臂。图6的模型在从臂的根部到末端的末端执行器(机器人手210)的方向上具有关节θ1、θ2、θ3、...、θN。臂还包含连接绝对坐标系ΣL0的原点(臂的根部)和关节θ1的连杆L0、连接关节θ1和关节θ2的连杆L1、连接关节θ2和关节θ3的连杆L2、...、连接关节θN-1和关节θN的N个连杆LN。连杆相当于连接各关节之间的轴。模型还包含针对连杆Ln(1≤n≤N)设置的引导件Gn(1≤n≤N)以及在相邻的引导件Gn与引导件G(n+1)之间延伸安装的部分线缆Cn(n=1,2,...,N-1)
向模型导入以连杆L0的根部作为原点的绝对坐标系ΣL0和在连杆Ln的根部(连杆Ln的原点侧的端)与连杆Ln一同旋转的坐标系ΣLn。在模型中,坐标系ΣLn用时间t下的关节角度θ(t)=[θ1(t),θ2(t),...,θN-1(t)]T的非线性函数来表示。在图6中,连杆Ln上的黑点表示安装位置。该安装位置设想为引导件、传感器的设置位置,相当于实机的机器人30的臂上的预先准备的螺纹孔的位置和姿势。在模型中,坐标系ΣLn下的引导件Gn的位置/姿势是通过以该安装位置为基准的相对的位置/姿势Pn而提供的。为了简化说明,以下将位置/姿势Pn称为引导件Gn的位置/姿势Pn。能够将模型的绝对坐标系ΣL0下的引导件Gn的位置/姿势作为关节角度θn(t)(1≤n≤N)和位置/姿势Pn(1≤n≤N)的函数来处理。
(G1.部分线缆的模型)
图7是示意性地示出模拟用的部分线缆的模型的图。在本实施方式的模拟中,生成表示部分线缆形状的模型,使用所生成的模型而实施物理模拟。在本实施方式中,部分线缆的模型包含构成线缆的多个区段和将各区段之间结合的接头。模型的区段在物理模拟中作为刚体来处理,接头作为针对两侧的区段的行为的约束条件而发挥作用。即,在模拟中,在计算区段的行为的情况下,针对该行为的成分,依照胡克定律,提供与相邻的区段的相对位置及姿势和初始相对位置及姿势之差成比例的式(1)所示的力和扭矩。后文叙述式(1)的弹簧系数的计算方法。
[数学式1]
在式(1)中,示出了力(Fx,Fy,Fz)和扭矩(τφ,τθ,τψ)。右边第1项是胡克的比例项,Kx、Ky、Kz、Kφ、Kθ、Kψ是弹簧系数,表示相邻的区段的初始相对位置(x,y,z)和姿势(φ,θ,ψ)表示当前的相对位置/姿势。第2项是阻尼项,ζx、ζy、ζz、ζφ、ζθ、ζψ是阻尼系数,相对位置/姿势的上部的点运算符表示是对时间的一次微分。
图7所示的部分线缆Cn的模型由总计Sn个的相同长度的区段Seg以及将它们连成1列的未图示的接头构成。在模型中,第1个区段固定于引导件Gn的位置/姿势Pn,第Sn个区段Seg经由第Sn个接头而与部分线缆C(n+1)的第1个区段Seg连接。因此,根据部分线缆Cn的模型,部分线缆Cn的形状是通过计算Sn个区段的位置/姿势而提供的。更具体而言,为了将区段Seg之间的结合限于相邻的,式(1)所示的约束方程式构成为稀疏矩阵式。因此,在模拟中,使用例如高斯赛德尔迭代法那样的迭代法来导出收敛解。通过模拟,随着时间t的经过而计算出的引导件Gn的位置/姿势Pn和引导件G(n+1)的位置/姿势P(n+1)发生变化,从而部分线缆Cn的形状(行为)也发生变化。
<H.物理模拟的具体模型和行为的计算>
参照图8、图9以及图10,对使用了部分线缆的模型的物理模拟的具体例进行说明。
(H1.部分线缆的物理模拟的具体模型)
图8是示意性地示出本实施方式的线缆的物理模拟的模型的一例的图。
本实施方式的线缆模拟器165包含执行物理模拟的物理模拟器。与作为物理模拟的对象的部分线缆对应的对象(第2对象)包含刚体连杆,该刚体连杆是通过利用接头305将相邻的区段即刚体304之间接合而将多个刚体304连起来从而模型化的。具体而言,在模拟中,将刚体304视为具有规定的尺寸和形状的区段,在刚体连杆中,刚体304之间通过接头305而连成一列。物理模拟参数124包含区段的尺寸和形状等参数。
刚体304例如是圆柱形状的不变形的物体。在物理模拟中,着眼于刚体304的中心,将刚体304定义为具有该中心的当前位置和紧前位置的质点。接头305相当于例如弹簧或阻尼器等接头,接头305在模型中相当于作为针对相邻的刚体304的x、y、z各轴方向的平行移动和旋转的限制的上述约束条件。在图8中,示出了利用与线缆的引导件350对应的对象302而将刚体304的列的两端安装于机器人30的臂的表面306的状态。这样,在线缆模拟中,刚体连杆是以针对刚体304的位置/姿势对相邻的刚体彼此的关系加上约束条件的接头构造而模型化的。在图8中,刚体连杆由3个刚体304构成,但刚体304不限于3个。即,刚体304的个数根据由参数组指定的线缆长度(图23的Cable length)来设定的。
在线缆模拟中,部分线缆行为计算模块166包含物理模拟器。物理模拟器根据与机器人30对应的处于3维虚拟空间内的对象的给定的行为(关节角度时间序列数据T(t)),使用参数组而运算包含表示图8的刚体连杆模型的约束条件在内的约束方程式,由此计算刚体连杆模型在3维虚拟空间内的行为(线缆行为数据2521)。
图9是示出图8的线缆的物理模拟模型的联立方程式147的一例的图。联立方程式147包含与图8的刚体304分别对应的式Ati、Bti以及Cti。联立方程式147的各式包含刚体304的位置(x轴、y轴、z轴各自的坐标)和姿势(x轴、y轴、z轴各自的倾斜ψ(横滚角roll)、θ(俯仰角pitch)、φ(偏转角yaw))的变量,通过求解联立方程式(方程式147)来计算这些变量的值。即,线缆模拟器165根据关节角度时间序列数据T(t),使用参数139,按照每个时间步长ti反复求解联立方程式(方程式147)。由此,能够按照每个时间步长ti计算与各刚体304的位置/姿势对应的变量的值。
(H2.遵从约束条件的位置更新)
部分线缆行为计算模块166包含物理模拟器。更具体而言,在线缆模拟中,根据基于位置的物理模拟(Position Based Dynamics:PBD)来更新(修正)刚体304的位置。图10是示意性地示出本实施方式的物理模拟的位置的更新的图。参照图10,对在线缆模拟中实施的刚体304的位置的更新处理进行说明。
具体而言,在线缆模拟中,按照每个时间步长ti,计算各刚体304的行为。如果模拟的结果是相邻的刚体304彼此发生碰撞,则存在碰撞的刚体304彼此的一方侵入(陷入)另一方的情况(图10的(A))。由线缆模拟器165检测刚体304是否侵入其他刚体304(图10的(A))。
在图10的(A)中,线缆模拟器165按照每个时间步长ti,使用计算出的对象(刚体304)彼此在3维虚拟空间内的位置x0而计算预测位置Xpredict(Xpredict=x0+v×Δt,其中,x0=计算位置,Δt=时间步长ti的时间,v=速度),根据对象之间的预测位置Xpredict的关系来检测对象彼此有无碰撞。碰撞例如包含3维虚拟空间内的对象的位置(坐标)与其他对象的位置(坐标)这两者的距离例如为阈值以下。阈值可以是基于对象的尺寸(宽度、高度等)的值。并且,碰撞的检测方法不限于此。
当在图10的(A)中检测到侵入时,线缆模拟器165以能够解决侵入的方式变更发生碰撞的刚体304彼此的位置(位置:Xpredict)(图10的(B))。此时,当某个刚体304的位置X0(位置:Xpredict)变更为位置X(修正后的位置:Xcorrect)时,伴随于该变更,与该刚体304相邻的其他刚体304的位置有可能发生偏移。然后,反复进行这样的位置的变更后,在线缆模拟中各刚体304的行为成为稳定的状态。在本实施方式中,上述的约束条件对应于用于使对象的行为转移到这样的稳定状态的物理上的限制参数。
当通过线缆模拟器165变更刚体304的位置后,即计算出刚体304的位置X(修正后的位置:Xcorrect)后,对速度v进行变更(图10的(C))。具体而言,通过线缆模拟器165,依照Vcorrect=(X-X0)/Δt来计算变更后的速度Vcorrect,将计算出的速度Vcorrect设定为下一个时间步长ti用的速度v(图10的(A)的速度vt)。
以上,对刚体304的x坐标的位置更新进行了说明,在线缆模拟中,关于y坐标位置和z坐标位置,也与x坐标位置的更新同样地实施更新。
这样,通过根据关节角度时间序列数据T(t)反复实施遵循如下的方程式(式147和式(1))的运算而计算刚体连杆的行为,该方程式(式147和式(1))表示将部分线缆Cn模型化而得到的刚体连杆中的相邻的刚体彼此的位置/姿势的关系以及与接头305对应并且对刚体彼此的位置/姿势的关系施加的约束条件。在模拟的各时间步长ti中,对于不存在刚体304侵入的状态(消除了陷入的状态)的刚体连杆,能够计算其行为。
在本实施方式的线缆模拟中,作为与用于使部分线缆Cn的行为转移到稳定状态的式(1)的约束条件相关的参数,能够包含表示线缆340的硬度的参数。硬度参数例如包含线缆340的材料所固有的参数Stiffness(刚性)和参数Damping(阻尼)。参数Stiffness(刚性)表示刚体304变形的难度,例如与杨氏模量等效。并且,参数Damping(阻尼)表示刚体304相对于振动的衰减特性。
<I.部分线缆最优化>
对本实施方式的部分线缆最优化的处理进行说明。线缆模拟器165通过部分线缆行为计算模块166,以部分线缆Cn为对象而实施部分线缆路径的最优化。部分线缆路径的最优化相当于部分线缆Cn的安装参数组的最优化。部分线缆Cn的安装参数组包含构成部分线缆Cn的区段数Sn、引导件Gn的位置/姿势Pn以及引导件G(n+1)的位置/姿势P(n+1)这三个参数。
线缆模拟器165使用由参数候选构成的所有种类的候选参数组而实施部分线缆路径的最优化。更具体而言,根据物理参数制作线缆形状模型,根据该线缆形状模型,基于1个候选参数组和与关节角度时间序列数据T(t)中的t=0相符的初始关节角度数据T(0)而生成与机器人臂形状对应的线缆初始形状的模型。接着,线缆模拟器165基于该生成的模型,随着时间t的经过,通过物理模拟来计算表示与关节角度时间序列T(t)对应的线缆形状的线缆行为数据2521。线缆模拟器165根据计算出的时间序列的线缆形状来判定在模拟中使用的候选参数组是否满足以下的限制条件。将被判定为满足限制条件的候选参数组保持为该部分线缆Cn的最优参数组。
(I1.负载的计算)
负载计算模块167根据线缆行为数据2521计算负载信息142,该负载信息142表示施加于部分线缆Cn的刚体连杆(第2对象)的负载。在本实施方式中,能够计算的负载的种类包含弯曲、伸长、扭转、冲击、斥力,但不限于这些。
负载计算模块167根据各刚体304的行为(位置和姿势),依照规定的运算而计算施加于该刚体304即各位置1411的负载。例如,各刚体304的扭转、弯曲是根据与该刚体304相邻的刚体304的行为而计算的,伸长是根据相邻的刚体304之间的距离(距离越大,则拉伸越多)而计算的,斥力是根据碰撞时侵入的距离(距离越大,则斥力越大)而计算的。另外,负载计算模块167所计算的冲击可以包含刚体304与不同于刚体304的其他对象的碰撞。其他对象包含外围设备、具有臂301的机器人30以及工件232等的对象。负载计算模块167检测刚体304与其他对象的碰撞。更具体而言,负载计算模块167根据线缆行为数据2521所示的线缆的刚体304的行为(位置/姿势)与设备行为数据2520所示的其他对象的行为(位置/姿势)之间在3维虚拟空间内的相对位置关系来检测上述碰撞。负载计算模块167例如根据线缆行为数据2521所示的时间步长ti的刚体304的位置/姿势与关节角度时间序列数据T(t)所示的臂的位置/姿势之间在3维虚拟空间内的相对位置关系来检测刚体304与臂301的对象的碰撞。
(I2.限制条件)
上述的限制条件例如包含表示施加于部分线缆Cn的刚体连杆的负载的大小不超过阈值的以下条件。线缆参数139包含这些阈值作为参数。
条件1.线缆由于与机器人臂、外围设备的接触而受到的冲击为阈值(Impulse_th)以下。
条件2.线缆的区段之间的相对于初始距离的距离的伸长率为阈值(Stretch_th)以下。
条件3.线缆的曲率半径不低于由线缆的材质决定的阈值(Curvature_th)。
在部分线缆Cn的参数组的最优化中,首先,将根据安装参数候选的全部组合而生成的候选参数组的集合D1,n公式化。
[数学式2]
通过式(2)和式(3),将参数组集合D1,n公式化。首先,将构成连接连杆Ln和连杆Ln+1的部分线缆的区段数的候选集合表现为其中,In是区段数的候选数。接着,将安装于连杆Ln的引导件的位置/姿势的候选集合表现为其中,Jn是引导件的位置/姿势的候选数。根据这些候选集合得到式(2)的D0,n。
满足上述的条件1、条件2以及条件3的候选参数组的集合D1,n用式(3)来表现。
[数学式3]
其中,表示设置于连杆Ln的具有位置/姿势Pn,jn的引导件与设置于连杆Ln+1的具有位置/姿势Pn+1,jn+1的引导件之间的具有区段数Sn,in的部分线缆在时间t由于与机器人臂、外围设备接触而受到的冲击。同样地,和分别表示伸长率或曲率半径。
这里,不将集合D1,n的参数组的集合直接作为部分线缆Cn的最优参数组的集合,在本实施方式中,基于鲁棒性的因数,使各部分线缆Cn的参数组进一步最优化。
这是因为:在依照集合D1,n的参数组的参数组安装了线缆的情况下,有可能由于线缆的建模误差、物理模拟的误差、线缆安装时的安装误差而导致在集合D1,n中包含可能成为在机器人30运转时发生故障的原因的参数组。特别是,线缆布线因用户的熟练度所引起的安装误差的偏差大,有可能发生无法像集合D1,n的最优参数组所示那样安装线缆的情况。
为了防止发生上述情况,线缆模拟器165对集合D1,n应用鲁棒性条件而针对部分线缆Cn决定最优的参数组。在本实施方式中,鲁棒性表示要最优化的参数组是否容易受到上述误差的影响。不容易受到误差影响的参数组具有鲁棒性,容易受到误差影响的参数组不具有鲁棒性。
在本实施方式中,着眼于部分线缆Cn的区段数Sn的鲁棒性。更具体而言,使得即使在区段数Sn在一定范围±R内增减的情况下也满足上述的式(3)的限制。即,在集合D1,n中,即使在区段数Sn在一定范围±R内增减的情况下也满足条件1~条件3的参数组的部分集合是具有该鲁棒性的最优参数组的集合D2,n。最优参数组的集合D2,n用以下的式(4)表示。线缆参数139包含范围R的参数。
[数学式4]
线缆模拟器165对各部分线缆Cn实施以上的处理(模拟)。由此,针对各部分线缆Cn计算出最优参数组的集合D1,n和集合D2,n。
<J.整体线缆最优化>
线缆模拟器165根据通过部分线缆最优化所得到的各部分线缆Cn的最优参数组的集合D2,n来导出使得整体线缆340的线缆长度为最短、即整体线缆340的区段数为最小的参数组。由此,决定用于安装整体线缆340的最优化参数组。
更具体而言,线缆模拟器165导出相邻的部分线缆Cn的集合D2,n的参数组中的满足共享条件的1个以上的参数组。在本实施方式中,共享条件包含如下的条件:对于相邻(邻接)的部分线缆Cn彼此,在两个部分线缆之间进行中继、即两个部分线缆所共享的引导件Gn(G(n+1))的位置/姿势Pn(P(n+1))是相同的。线缆模拟器165从各部分线缆Cn的最优参数组的集合D2,n中提取满足该共享条件的1个以上的参数组,决定由针对各部分线缆Cn提取出的1个以上的参数组构成的整体线缆340的参数组集合D3,n。
更具体而言,通过参数决定模块170,针对相邻(邻接)的部分线缆Cn和部分线缆C(n+1)的各组,对照各部分线缆的集合D2,n的参数组。对照的结果为,通过参数决定模块170,从部分线缆Cn的集合D2,n和部分线缆C(n+1)的集合D2,n中分别提取(决定)满足在该组的两个部分线缆之间进行中继的引导件Gn的位置/姿势Pn在两个部分线缆中共享(相同)这一条件的1个以上的最优参数组。关于上述的进行中继的引导件,例如在图6的相邻的部分线缆C1和C2的组中,示出引导件G2。
通过参数决定模块170,依照上述的过程,基于共享条件,从各部分线缆Cn的集合D2,n中提取1个以上的最优参数组,由提取出的这些部分线缆Cn的最优参数构成的集合D3用式(5)表示。
[数学式5]
集合D3所示的各部分线缆Cn的1个以上的最优参数组是满足限制条件(冲击、伸长率、曲率半径)和共享条件的参数组,也称为可安装参数组。
通过参数决定模块170,最终在集合D3的1个以上的参数组之中,针对各部分线缆Cn决定使构成使整体线缆340的区段数最小、即部分线缆Cn的区段数Sn的总计值最小的参数组,将所决定的各部分线缆Cn的参数组的集合作为式(6)所示的最优参数组d*。
[数学式6]
此外,在计算出构成整体线缆340的区段数的总计一致的多个最优参数组d*的情况下,通过参数决定模块170,根据全部的部分线缆Cn的区段所受的冲击、区段之间的伸长率以及弯曲半径,从多个最优参数组d*中选择1个最优参数组d*。
<K.模拟的概略处理流程>
图11是示意性地示出本实施方式的模拟的时间序列的一例的图。在图11中,将线缆模拟装置1B所实施的线缆模拟的处理与周边处理关联起来表示。为了说明,以下的线缆模拟所使用的设备行为数据2520表示关节角度时间序列数据T(t)。
参照图11,用户对操作单元106进行操作而对信息处理装置100输入用于设定系统模拟的指示和追加线缆模拟的指示(步骤S80、步骤S83)。处理器102依照来自用户的指示,以能够执行系统模拟的方式设定例如用于系统模拟的各种参数。并且,处理器102依照追加线缆模拟的指示,设定能够执行线缆模拟的状态。例如,以能够参照设备行为数据2520(关节角度时间序列数据T(t))的方式设定线缆模拟器165。
用户对操作单元106进行操作而对信息处理装置100输入执行系统模拟和保存设备行为数据2520的指示(步骤S85)。
处理器102启动系统模拟装置1A(步骤S87),执行系统模拟,将作为执行结果的设备行为数据2520保存(保持)于存储装置111(步骤S88),将表示完成了保存设备行为数据2520这一内容的通知输出给例如显示器109(步骤S89)。
用户对操作单元106进行操作而对信息处理装置100输入线缆参数139(步骤S91)。由处理器102执行的参数设定程序145将从操作单元106受理的线缆参数139保存于存储装置111。
用户对操作单元106进行操作而对信息处理装置100输入开始执行线缆模拟的指示(步骤S93)。处理器102依照开始执行线缆模拟的指示而启动线缆模拟器165。
线缆模拟器165启动后,实施线缆模拟(步骤S100)。更具体而言,为了部分线缆最优化,针对各部分线缆一边使时间t变化一边反复进行模拟(循环处理),根据针对各部分线缆所计算出的最优参数组而实施整体线缆最优化处理。
评价模块177执行线缆模拟结果的评价处理(步骤S130)。评价模块177输出作为评价结果的评价数据144的信息(步骤S140)。例如,将基于评价数据144的图像显示于显示器109。
(K1.线缆模拟的概略处理流程)
图12是图11的线缆模拟(步骤S100)的处理流程图。参照图12,当用户从操作单元106指定了预先决定的运动(拾放)时,通过线缆模拟器165的设备行为生成模块151所具有的运动规划来计算相当于设备行为数据2520的关节角度时间序列数据T(t)(步骤S88a)。
线缆模拟器165对n个各部分线缆实施部分线缆最优化的处理(步骤S110),针对各部分线缆Cn计算由1个以上的最优参数组构成的参数组的集合D2,n(n=1,2,3...),根据计算出的各部分线缆Cn的最优参数组的集合D2,n来计算整体线缆340的最优化的参数组d*(步骤S120)。最优参数组d*相当于能够向机器人30安装线缆的可安装参数组。
(K2.部分线缆最优化的处理流程)
图13是图12的部分线缆最优化处理(步骤S110)的处理流程图。参照图13,对计算某个部分线缆Cn的最优参数组的集合D2,n的处理进行说明。通过对于其他部分线缆也实施同样的处理而计算该其他部分线缆的最优参数组的集合D2,n。这里,线缆参数139包含由用户设定的多个候选参数组。
首先,将线缆参数139的第1个候选参数组设定为模拟的对象参数组,并且设定关节角度时间序列数据T(t)(步骤S111)。通过部分线缆行为计算模块166,使用对象参数组、物理模拟参数124的区段的尺寸以及机器人臂的形状模型等来生成部分线缆Cn的初始形状的模型(步骤S112)。该部分线缆Cn的模型例如用图8的刚体连杆的模型和图9的式147表示。
根据部分线缆Cn的初始形状的模型来计算与机器人30的臂301的行为相伴的线缆的行为(形状变化)(步骤S113)。即,通过部分线缆行为计算模块166,根据关节角度时间序列数据T(t),按照每个时间步长ti反复求解联立方程式(式147),由此计算每个时间步长ti的与各刚体304的位置/姿势对应的变量Pn的值、即行为。
根据针对该部分线缆计算出的按时间序列变化的位置/姿势Pn来判定该部分线缆的行为是否满足限制条件(步骤S114)。更具体而言,由负载计算模块167计算施加于作为部分线缆的模型的刚体连杆的负载,由限制条件判定模块168根据该负载,使用线缆参数139的限制条件的阈值来判定该部分线缆的行为是否满足限制条件(步骤S115)。
当判定为不满足限制条件时(步骤S115中为“否”),判定该部分线缆的参数组的最优化是否结束,即判定是否使用线缆参数139的全部候选参数组实施了该部分线缆最优化的处理(步骤S19)。在判定为该部分线缆的参数组的最优化结束时(步骤S119中为“是”),图8的处理结束,而在判定为该部分线缆的参数组的最优化未结束时(步骤S119中为“否”),返回到步骤S111。在步骤S111中,将线缆参数139的下一个候选参数组设定为模拟的对象参数组,对于对象参数组,与上述同样地重复步骤S112及以后的处理。
另一方面,当判定为满足限制条件时(步骤S115中为“是”),通过鲁棒性判定模块169,使用线缆参数139的范围R来判定该部分线缆的行为是否满足鲁棒性条件(步骤S116)。
在没有判定为满足鲁棒性条件时(步骤S117为“否”),转移到步骤S119,在判定为满足鲁棒性条件时(步骤S117为“是”),线缆模拟器165将该对象参数组登记为该部分线缆Cn的最优参数组(步骤S118)。即,线缆模拟器165将对象参数组包含到该部分线缆Cn的集合D2,n中。
通过对各部分线缆实施图13的处理,针对各部分线缆Cn计算出由1个以上的最优参数组构成的集合D2,n。
(K3.整体线缆最优化的处理流程)
图14是图12的整体线缆最优化处理(步骤S120)的处理流程图。参照图14对计算最优参数组d*的过程进行说明。
通过参数决定模块170,在各部分线缆Cn的集合D2,n与相邻于该部分线缆Cn的部分线缆C(n+1)的集合D2,n之间比较各参数组的位置/姿势Pn的值,根据比较的结果来决定具有满足相邻条件的位置/姿势Pn的参数组。取得1个以上的在各部分线缆Cn的集合D2,n中决定的满足相邻条件的参数组的组合。
通过参数决定模块170,将1个以上的组合中的第1个组合设定为对象组合(步骤S121),计算对象组合所包含的各部分线缆的区段数Sn的总计(步骤S122),判定计算出的总计值所示的整体线缆长度是否为全部组合的整体线缆长度中最短的(步骤S123)。
在没有判定为计算出的区段数Sn的总计值示出最短线缆长度时(在步骤S124中为“否”),判定是否已对满足相邻条件的参数组的全部组合实施了图14的处理(步骤S126)。在判定为对全部的组合实施了图14的处理时(步骤S126中为“是”),处理结束。另一方面,在判定为未对全部的组合实施了图14的处理时(步骤S126为“否”),返回到步骤S122,将下一个组合设定为对象组合,针对该对象组合,与上述同样地实施步骤S122及以后的处理。
另一方面,在判定为对于对象组合所计算出的区段数Sn的总计值示出最短线缆长度时(步骤S124中为“是”),将该对象组合所示的参数组(各部分线缆的区段数Sn、各引导件的位置/姿态Pn)决定为整体线缆340的最优参数组d*、即可安装参数组(步骤S125)。
<L.线缆模拟的具体例>
以向6轴垂直多关节机器人的臂安装线缆的情况对线缆模拟的具体例进行说明。这里,以向欧姆龙株式会社制造的型号为Viper850的机器人的臂安装株式会社Fujikura制造的产品编号为AWG28x5PIFVV-SB的线缆的情况进行说明。
首先,对引导件和线缆的配置进行说明,之后,按照图12所示的处理过程,对生成关节角度时间序列、部分线缆最优化以及整体线缆最优化这三个处理进行说明。在模拟中,设想多个运动,针对各运动来优化线缆路径。
(L1.引导件和线缆的配置例)
图15是对在机器人的臂中要最优化的区段数和引导件位置/姿势进行说明的图。在机器人臂的根部设定绝对坐标系ΣL0。并且,将以连杆L3和L4的设备安装位置作为原点的坐标系分别设定为ΣL3以及ΣL4。由于在连杆L6安装有末端执行器(机器人手210),因此以末端执行器所附带的线缆插入口来代替引导件G6。即,引导件G6的位置/姿势P6固定。在机器人臂的构造上,无法在连杆L5设置引导件Gn。因此,在连杆L4的引导件G4与引导件G6之间连接部分线缆C4,对于部分线缆C4成为最优化对象的参数是区段数S4和引导件位置/姿势P4。并且,在连杆L3的引导件G3与引导件G4之间连接有部分线缆C3,针对部分线缆C3成为最优化对象的参数是区段数S3和引导件位置/姿势P3及P4。并且,虽然连杆L2的未图示的引导件G2与G3之间也可以通过未图示的部分线缆C2而连接,但由于来自架台或顶棚的线缆通常与引导件G3连接,因此不将部分线缆C2的参数作为优化的对象。
以下,对图15所示的以经过引导件G4的方式连接引导件G3和引导件G6的部分线缆C3和C4的线缆路径最优化进行说明。即,如上所述,不使用引导件G5。并且,引导件G6的位置/姿势P6由末端执行器的规格唯一地决定。因此,要最优化的参数成为部分线缆C3和C4的区段数S3、S4以及引导件位置/姿势P3、P4。另外,要作为模拟的对象的部分线缆不限于部分线缆C3和C4。
(L2.生成关节角度时间序列的具体例)
参照图15和图16,对基于运动规划的关节角度时间序列数据T(t)的生成进行说明。图16是示意性地示出机器人臂的拾放的运动的一例的图。在用户指定了拾放作为规定的运动的情况下,规定的运动包含如下的一系列动作:机器人臂拾取配置于正面的对象(对象相当于工件232),并在沿图15所示的绝对坐标系ΣL0的X轴方向分开例如300mm且沿Y轴方向分开300mm的场所以既定的角度θ放置。用户以坐标ΣL0为基准,绕Z轴从-45°到45°每15°地设定7种角度θ。由此,用户能够指定与角度θ对应的7种拾放运动作为拾放运动。将7种运动分别称为运动θ。这里,将与绝对坐标系ΣL0的X轴平行的角度设为90°。7种运动各自从图16的(a)所示的初始姿势(initial pose)开始,接着转移到图16的(b)所示的拾取姿势(pick pose),之后转移到与7种角度θ中的任意1个对应的放置姿势(place poses),最后返回到图16的(a)所示的初始姿势(initial pose)。在图16的(c)、(d)、(e)中,作为运动θ,例示了-45°、0°、45°的放置姿势(place pose)。对于用户所指定的7种拾放(Pick and Place)运动的每一个,由设备行为生成模块151按照时间步长ti执行运动规划,针对7种拾放(Pickand Place)运动的每一个,计算按照时间步长ti的关节角度时间序列数据T(t)。
(L3.部分线缆最优化的具体例)
在部分线缆最优化中,使用关节角度时间序列数据T(t),针对例如部分线缆C3和C4,取得包含区段数S3、S4和引导件G3、G4的位置/姿势P3、P4在内的最优参数组。在要取得最优参数组的情况下,线缆模拟器165决定参数集合的搜索范围。
在本实施方式中,对于区段数S3的搜索范围,最小值是根据引导件间距离而设定的,最大值设定为引导件间距离的数倍左右以避免线缆与机器人臂接触。在这样设定了区段数S3的搜索范围的情况下,作为线缆长度,针对线缆C3搜索100mm以上且300mm以下的范围,针对线缆C4搜索200mm以上且440mm以下的范围。在本实施方式中,单位区段长度设定为5mm,区段数Sn的采样间隔设定为4,因此区段数S3和S4的候选分别成为(S3,1,S3,2,...,S3,11)=(20,24,...,60)和(S4,1,S4,2,...,S4,13)=(40,44,...,88)。区段数S3和S4各自的最优参数的候选数是I3=11和I4=13。
如上所述,Pn的位置(x,y,z)和姿势(φ,θ,ψ)以连杆Ln的坐标系ΣLn中的设备安装位置为基准。姿势的φ方向是线缆扭转(Twist)方向,但如果线缆预先扭转而安装于机器人,则会成为缩短线缆寿命的原因,因此在本实施方式中,φ固定为0。在本实施方式中,作为位置P3的最优参数的集合的位置候选集合设定为{(x,y,z)|x=0,y=-40,0,40,z=0,20}。并且,出于上述理由,固定为位置P3的姿势(φ,θ,ψ)=(0,0,0),J3=6。另一方面,作为位置P4的最优参数的集合的位置候选集合设定为{(x,y,z)|x=0,50,y=-50,0,50,z=0,20}。作为位置P4的最优参数的集合的姿势候选集合设定为{(φ,θ,ψ)|φ=0,θ=0,45,ψ=-90,0,90}。因此,J4=72。此外,如上所述,引导件G6的位置/姿势P6是固定的,因此J6=1。这里,位置的单位为mm,姿势的单位为度。关于最优参数组合的候选,对于线缆C3,为4,752种,并且,对于线缆C4,为936种。在模拟中,用圆柱和空隙来表现单位区段长度,将圆柱的长度设定为3.5mm,将空隙的长度设定为1.5mm,表现区段的圆柱的直径设定为8mm。
线缆模拟器165针对部分线缆C3和C4分别计算最优参数组。这里,作为限制条件,线缆的冲击阈值(Impact_th)设定为0,区段之间的伸长率的阈值(Stretch_th)设定为102%,以及曲率半径的阈值(Curvature_th)设定为48mm。另外,曲率半径的阈值例如根据线缆的保证基准即直径的6倍来设定。在本实施方式中,针对线缆C3,分别使用候选参数组的集合D0,3所包含的全部参数组来实施物理模拟,计算满足作为限制条件的条件1~3这三个条件的候选参数组的集合D1,3。针对该集合D1,3,计算在针对线缆长度的区段数在一定范围R(例如,R=8mm)的基础上满足鲁棒性条件的候选参数组的集合、即部分线缆C3的最优参数组的集合D2,3。对于部分线缆C4,依照与部分线缆C3同样的过程,分别使用候选参数组的集合D0,4所包含的全部参数组来实施物理模拟,计算满足限制条件的候选参数组的集合D1,4,从集合D1,4之中计算满足鲁棒性条件的最优参数组的集合D2,4。
(L4.整体线缆最优化的具体例)
基于部分线缆的参数组的最优化的结果,实施整体线缆340的参数组的最优化。更具体而言,通过线缆模拟器165,基于部分线缆C3和C4的最优参数组的集合D2,3和集合D2,4来计算满足部分线缆C3与部分线缆C4之间的相邻条件的可安装参数组的集合D3,根据计算出的集合D3来计算整体线缆340的最优参数组d*。
图17是示出模拟结果的图。该图定量地示出了多个运动与可安装参数组数之间的关系。这些也可以由评价模块177生成并显示。图18是示出图17的各运动与整体线缆340的最优参数组及线缆的形状之间的关系的图。图17的图的横轴表示采取了放置姿势(PlacePose,放置时的姿势)作为运动的种类的情况下的臂的角度,纵轴按照横轴的放置姿势(Place Pose)的每个种类(采取了放置时的姿势的情况下的臂的每个角度)示出了可安装参数组的数量。
在图17中,在放置姿势(Place Pose)时的连杆L3与连杆L4之间的角度差为0°的运动45°中计算出的可安装参数组为71个,伴随着放置姿势(Place Pose)时的角度减少,可安装参数组数减少。在运动-60°的情况下,可安装参数组数为1个,在运动-75°的情况下,可安装参数组数为0个。如图17所示,对于实现运动-75°的机器人臂不存在线缆路径。在本实施方式中,通过评价模块177而生成包含图17的图在内的评价数据144,并输出给显示器109。根据图15的模拟结果,生产线的用户能够得到是否需要重新设计包含机器人臂的运动、工件232的配置角度以及外围设备的配置在内的生产线设计的判断基准。
在图18中,与各运动θ(=45°,0°,-45°)相关联地示出了针对该运动θ计算出的可安装参数组d*(即最优参数组d*)以及拾取姿势(Pick Pose)时和放置姿势(Place Pose)时的线缆形状。在本实施方式中,通过评价模块177而生成包含图18的关联起来的信息在内的评价数据144,并输出给显示器109。如图18所示,关于运动θ=45°,由于连杆L3与连杆L4之间的角度差为0°,因此存在左右对称的最优参数组,即从右到左(right-to-left)和从左到右(left-to-right)形状的线缆安装方式。当放置姿势(Place Pose)时的角度变小时,连杆L4相对于连杆L3逆时针旋转,因此线缆安装方式限定在left-to-right形状。与运动θ=0°比较的话,运动θ=-45°的放置姿势(Place Pose)相当于连杆L4相对于连杆L3的旋转角度变大的情况。在该情况下,线缆有可能与机器人臂发生干涉(接触),为了能够避免该干涉,运动θ=-45°的引导件G4的位置比运动θ=0°时的引导件G4向右上侧移动。由此,能够避免运动θ=-45°的放置姿势(Place Pose)时的弯曲半径限制,但将该运动θ=-45°的可安装参数组d*与运动θ=0°的可安装参数组d*进行比较的话,区段数Sn变大。例如,部分线缆C4的线缆长度延长60mm,部分线缆C3的线缆长度缩短40mm,其结果为,整体线缆340的线缆长度仅延长20mm。
能够通过图17所示的信息,基于可安装参数组数辅助用户使其能够定量地判定有无线缆路径以及线缆安装的难易度。并且,能够通过图18所示的信息,基于可安装参数组d*辅助用户使其能够定性地分析线缆长度和引导件位置/姿势的最优值伴随着放置姿势(Place Pose)时的连杆L3与L4之间的角度增加而变化的情形。这里所示的各部分线缆的最优参数组或整体线缆340的可安装参数组的导出以及针对导出结果的图17或图18的信息所示的分析方法也能够应用于针对与本实施方式中设为对象的运动为不同种类的运动的线缆路径最优化。
<M.参数组的设定和UI画面>
上述的包含线缆模拟用的区段数和引导件的位置/姿势的候选参数组能够由用户设定。由参数设定程序145提供辅助用户设定参数组的UI工具。图23是示意性地示出本实施方式的与线缆的参数设定相关的UI画面的一例的图。
通过UI工具,在显示器109上显示了图23的UI画面。在UI画面的右侧,通过3D可视化器164而显示了工件232的对象图像W和供线缆340安装的机器人30的臂的3D图像。3D图像由处理器102根据设备图像数据2530的CAD数据等而生成。
用户能够操作图23的左侧的UI画面,设定候选参数组作为线缆的参数139。候选参数组各自包含参数191和参数192(或193),该参数191包含整体线缆340的长度(CableLength),该参数192(或193)包含各线缆引导件350的位置/姿势以及部分线缆长度。在图23中,例如作为2个候选参数组,示出了参数191和192的组、参数191和193的组,但候选参数组的数量不限于2个。参数设定程序145依照规定的运算,根据参数192(或193)来计算各引导件的绝对坐标的位置/姿势Pn,并且计算安装于各引导件之间的部分线缆的区段数Sn。
并且,在UI画面中,用户能够设定与限制条件相关的参数194和指定鲁棒性的范围R的参数195。参数194包含曲率半径的阈值(例如,5等)以及通过模拟而计算出的负载超过了限制条件的各阈值的情况下的3D图像的显示色。依照在UI画面中设定的参数组而实施线缆模拟,例如,在判定为某个部分线缆的负载(伸长率、曲率半径以及冲击)超过规定的阈值的情况下,由3D可视化器164根据评价数据144,将图23的画面的右侧的3D图像的与该部分线缆对应的对象图像的显示颜色变更为参数194所指定的颜色(例如蓝色、红色或者绿色)。因此,以显示器109上所显示的线缆的图像的显示色对施加于部分线缆的刚体连杆模型的负载的大小进行视觉提示。
图24是以表的形式示出本实施方式的可安装参数组的画面的一例的图。通过评价模块177将由线缆模拟器165计算出的可安装参数组以例如表的形式显示于显示器109。在图24的表中,部分线缆长度196以鲁棒性的范围R内的值示出。当用户在图24的UI画面中选择参数组时,通过3D可视化器164,依照所选择的参数组来显示安装有线缆和引导件的机器人的3D图像。由虚拟空间信息管理模块150根据设备行为数据2520(即关节角度时间序列数据T(t))和线缆行为数据2521,依照可安装参数组生成表示机器人30的臂和安装于该臂的线缆的行为的虚拟空间信息105。3D可视化器164将依照所生成的虚拟空间信息105的3D图像显示于显示器109。
<N.弹簧常数的计算方法>
在本实施方式中,式(1)的弹簧常数例如利用由Hermansson等人提出的Scan2Flex来估计,但估计方法不限于利用Scan2Flex的方法。参照图19和图20对弹簧常数中的弯曲弹簧常数kθ的估计(计算)方法进行说明。图19是示意性地示出弹簧常数的估计方法的图。图20是以表的形式示出针对图19的(a)的各线缆长度测定出的垂直位移的图。在弹簧常数的估计中,根据由重力引起的线缆形状变化来计算接头附近的弯曲弹簧常数。为了进行估计,如图19的(a)所示,将实机的线缆的一个端点水平固定,使线缆长度从100mm到200mm以20mm间隔变化,测定末端部的垂直位移。针对各线缆长度(Cable Length)测定出的垂直位移(Vertical Displacement)在图20中示出。在估计中,如图19的(b)所示,通过模拟而制作了与图19的(a)具有同样长度的线缆模型,线缆模型的一个端点水平固定。以使整体的线缆质量一致的方式设定构成线缆模型的区段质量,赋予铅垂方向的加速度-9.8[m/s2]作为重力,计算实现以每个线缆长度测定出的垂直位移的弯曲弹簧常数(Swing Stiffness)。计算的结果如图20的表的最下段所示。根据计算值的平均值,将弯曲弹簧常数kθ设定为70.5。
接下来,参照图21和图22对扭转弹簧常数的计算方法进行说明。图21是示意性地示出针对圆柱的轴的扭转力矩(Torsional Moment)与扭转角(Angle of Twist)之间的关系的图。图22是示出扭转角与扭转力矩之间的关系的图。在本实施方式中,根据线缆的扭转角与扭转力矩的关系来估计接头附近的扭转弹簧常数kφ。如图21所示,设线缆被施加扭转力矩M时的线缆的扭转角为φ,则两者的关系为M=kφ×φ。
由机器人臂对线缆施加的扭转力矩M与扭转角φ的关系的一例以图22的图线示出。该图线的斜率通过最小二乘法而计算为例如25.7。这相当于整体线缆的扭转弹簧常数k’φ。即,在模拟中,由于将区段单位长度设为5mm,因此线缆长度为300mm的线缆所包含的区段数Sn为60,将它们连接起来的接头数N也为60。因此,根据k’φ=kφ/N的关系,计算出kφ=1,542。
在本实施方式中,对于阻尼系数,一边观察计算的收敛性一边以试错的方式决定阻尼系数。
<O.程序>
信息处理装置100的处理器102通过执行模拟的程序来实现系统模拟装置1A或线缆模拟装置1B。可以在存储装置111中存储用于实现这些模拟装置的程序和数据等。
存储装置111的存储介质不限于HDD或SSD。
并且,与模拟相关的程序或数据也可以经由各种通信线路而下载到存储装置111。或者,也可以经由存储介质114而下载到存储装置111。存储介质114是以使计算机及其他装置、机械等能够读取所记录的程序等信息的方式利用电、磁、光学、机械或化学的作用来存储该程序等信息的介质。信息处理装置100可以从该存储介质114取得与模拟相关的程序或数据。
程序能够通过CPU等1个以上的处理器、或者处理器与ASIC(ApplicationSpecific Integrated Circuit:专用集成电路)、FPGA(Field-Programmable Gate Array:现场可编程门阵列)等电路的组合来执行。
<P.附记>
上述那样的本实施方式包含如下的技术思想。
[结构1]
一种模拟装置(1),其计算经由多个引导件(Gn)安装于设备(30)的线缆(340)的行为,其中,该模拟装置具有:部分线缆行为计算部(166),其根据配置在虚拟空间内的与所述设备对应的第1对象的行为,使用与线缆安装相关的参数组(Pn、Sn)计算与各引导件之间的部分线缆(Cn)对应的配置在所述虚拟空间内的第2对象的行为,所述与线缆安装相关的参数组(Pn、Sn)包含该虚拟空间内的所述多个引导件各自的位置和姿势以及各引导件之间的部分线缆长度;参数判定部(167、168、169),其针对各所述部分线缆,按照多个所述参数组中的每个所述参数组,根据由所述部分线缆行为计算部使用该参数组所计算出的与该部分线缆对应的所述第2对象的行为,计算施加于与该部分线缆对应的该第2对象的负载,按照多个所述参数组中的每个所述参数组,判定与该部分线缆对应的所述第2对象的计算出的负载的大小是否满足限制条件;以及参数决定部(170),其针对所述各部分线缆,从被所述参数判定部判定为满足所述限制条件的1个以上的所述参数组中,决定满足与组合所述各部分线缆而得到的整体线缆的安装相关的条件的参数组。
[结构2]
根据结构1所述的模拟装置,其中,所述限制条件包含以下条件:施加于与所述部分线缆对应的所述第2对象的所述负载的大小不超过阈值。
[结构3]
根据结构1所述的模拟装置,其中,所述限制条件包含以下条件:在所述部分线缆的长度在预先决定的范围(R)内变化的情况下,施加于与该部分线缆对应的所述第2对象的所述负载的大小不超过阈值。
[结构4]
根据结构1至3中的任意一项所述的模拟装置,其中,与所述整体线缆的安装相关的条件包含以下条件:在相邻的所述部分线缆之间所共享的引导件的位置和姿势相同。
[结构5]
根据结构1至4中的任意一项所述的模拟装置,其中,所述第1对象的行为包含按照每个规定的时间步长(ti)所计算出的行为,所述部分线缆行为计算部按照每个所述时间步长,根据与该时间步长对应的所述第1对象的行为,使用所述参数组计算所述第2对象的行为。
[结构6]
根据结构1至5中的任意一项所述的模拟装置,其中,所述部分线缆行为计算部包含物理模拟器。
[结构7]
根据结构6所述的模拟装置,其中,所述第2对象包含以通过接头(305)将相邻的刚体(304)之间接合而连起来的方式模型化的刚体连杆,所述物理模拟器根据所述第1对象的行为实施遵循如下的方程式的运算,由此计算所述第2对象的行为,所述方程式表示所述模型化的所述刚体连杆中的相邻的刚体彼此的位置和姿势的关系以及对刚体彼此的位置和姿势的关系施加的与所述接头对应的约束条件。
[结构8]
根据结构7所述的模拟装置,其中,所述约束条件包含表示所述线缆的硬度的参数。
[结构9]
根据结构8所述的模拟装置,其中,所述负载包含施加于所述第2对象所具备的各所述刚体的负载。
[结构10]
根据结构1至9中的任意一项所述的模拟装置,其中,所述模拟装置还具有评价部(177),该评价部(177)根据计算出的所述负载评价由所述部分线缆行为计算部计算出的所述第2对象的行为。
[结构11]
根据结构1至10中的任意一项所述的模拟装置,其中,所述设备包含机器人(30),所述第1对象的行为是通过具有操作所述机器人的指令代码的机器人程序的仿真来计算的。
[结构12]
根据结构11所述的模拟装置,其中,所述模拟装置执行模拟程序(126、122)来计算配置在所述虚拟空间内的与所述机器人的外围设备(230)对应的对象的行为,所述模拟程序包含对该外围设备进行控制的命令或参数。
[结构13]
根据结构1至11的任意一项所述的模拟装置,其中,所述模拟装置还具有图像生成部(164),该图像生成部(164)生成将所述虚拟空间视觉化的图像。
[结构14]
一种模拟程序,其使计算机(100)执行计算经由多个引导件(Gn)安装于设备(30)的线缆(340)的行为的方法,其中,所述方法具有以下步骤:根据配置在虚拟空间内的与所述设备对应的第1对象的行为,使用与线缆安装相关的参数组(Pn,Sn)计算与各引导件之间的部分线缆对应的配置在所述虚拟空间内的第2对象的行为,该与线缆安装相关的参数组(Pn,Sn)包含该虚拟空间内的所述多个引导件各自的位置和姿势以及各引导件之间的部分线缆长度;以及针对各所述部分线缆,判定参数,所述判定参数的步骤包含以下步骤:针对各所述部分线缆,按照多个所述参数组中的每个所述参数组,根据使用该参数组所计算出的与该部分线缆对应的所述第2对象的行为,计算施加于与该部分线缆对应的该第2对象的负载;以及针对各所述部分线缆,按照多个所述参数组中的每个所述参数组,判定与该部分线缆对应的所述第2对象的计算出的负载的大小是否满足限制条件,所述方法还具有以下步骤:在所述判定参数的步骤中,针对所述各部分线缆,从判定为满足所述限制条件的1个以上的所述参数组中,决定满足与组合所述各部分线缆而得到的整体线缆的安装相关的条件的参数组。
应该认为本次公开的实施方式在所有方面都是例示而不是限制性的。本发明的范围不是由上述实施方式的说明示出,而是由权利要求书示出的,意在包含与权利要求书等同的意思及范围内的所有变更。
标号说明
1:模拟装置;1A:系统模拟装置;1B:线缆模拟装置;2:控制系统;30:机器人;100:信息处理装置;102:处理器;104:主存储器;105:虚拟空间信息;106:操作单元;108:输出单元;109:显示器;110:网络接口;111:存储装置;112:光学驱动器;114:存储介质;116:本地通信接口;118:内部总线;120:虚拟时刻生成程序;121:中继程序;122:物理模拟程序;124:物理模拟参数;126:PLC模拟程序;130:机器人仿真程序;132:机器人参数;134:统合程序;135:3D可视化数据;136:图像处理程序;137:线缆模拟程序;139:线缆参数;142:负载信息;143:评价程序;144:评价数据;145:参数设定程序;147:联立方程式;150:虚拟空间信息管理模块;151:设备行为生成模块;152:PLC模拟器;154:周期生成模块;155:工件行为模拟器;156:物理模拟器;158:中继模块;160:机器人仿真器;162:工件跟踪模块;164:3D可视化器;165:线缆模拟器;166:部分线缆行为计算模块;167:负载计算模块;168:限制条件判定模块;169:鲁棒性判定模块;170:参数决定模块;177:评价模块;210:机器人手;232:工件;252:行为数据;253:图像数据;301:臂;304:刚体;306:表面;310:机器人控制器;340:整体线缆;341、342、343、Cn:部分线缆;350、351、G、Gn:线缆引导件;1371:限制条件判定程序;2520:设备行为数据;2521:线缆行为数据;2530:设备图像数据;2531:线缆图像数据;Sn:区段数;Pn:行为/姿势;R:范围。
Claims (14)
1.一种模拟装置,其计算经由多个引导件安装于设备的线缆的行为,其中,该模拟装置具有:
部分线缆行为计算部,其根据配置在虚拟空间内的与所述设备对应的第1对象的行为,使用与线缆安装相关的参数组计算与各引导件之间的部分线缆对应的配置在所述虚拟空间内的第2对象的行为,所述与线缆安装相关的参数组包含该虚拟空间内的所述多个引导件各自的位置和姿势以及各引导件之间的部分线缆长度;
负载计算部,其针对各所述部分线缆,按照多个所述参数组中的每个所述参数组,根据由所述部分线缆行为计算部使用该参数组计算出的与该部分线缆对应的所述第2对象的行为,计算施加于与该部分线缆对应的该第2对象的负载;
参数判定部,其针对各所述部分线缆,按照多个所述参数组中的每个所述参数组,判定与该部分线缆对应的所述第2对象的所计算出的负载的大小是否满足限制条件;以及
参数决定部,其针对各所述部分线缆,从被所述参数判定部判定为满足所述限制条件的1个以上的所述参数组中,决定满足与组合各所述部分线缆而得到的整体线缆的安装相关的条件的参数组。
2.根据权利要求1所述的模拟装置,其中,
所述限制条件包含以下条件:施加于与所述部分线缆对应的所述第2对象的所述负载的大小不超过阈值。
3.根据权利要求1所述的模拟装置,其中,
所述限制条件包含以下条件:在所述部分线缆的长度在预先决定的范围内变化的情况下,施加于与该部分线缆对应的所述第2对象的所述负载的大小不超过阈值。
4.根据权利要求1至3中的任意一项所述的模拟装置,其中,
与所述整体线缆的安装相关的条件包含以下条件:在相邻的所述部分线缆之间所共享的引导件的位置和姿势相同。
5.根据权利要求1至4中的任意一项所述的模拟装置,其中,
所述第1对象的行为包含按照每个规定的时间步长所计算出的行为,
所述部分线缆行为计算部按照每个所述时间步长,根据与该时间步长对应的所述第1对象的行为,使用所述参数组计算所述第2对象的行为。
6.根据权利要求1至5中的任意一项所述的模拟装置,其中,
所述部分线缆行为计算部包含物理模拟器。
7.根据权利要求6所述的模拟装置,其中,
所述第2对象包含以通过接头将相邻的刚体之间接合而连起来的方式进行模型化的刚体连杆,
所述物理模拟器根据所述第1对象的行为实施遵循如下的方程式的运算,由此计算所述第2对象的行为,所述方程式表示所述模型化的所述刚体连杆中的相邻的刚体彼此的位置和姿势的关系以及对刚体彼此的位置和姿势的关系施加的与所述接头对应的约束条件。
8.根据权利要求7所述的模拟装置,其中,
所述约束条件包含表示所述线缆的硬度的参数。
9.根据权利要求8所述的模拟装置,其中,
所述负载包含施加于所述第2对象所具备的各所述刚体的负载。
10.根据权利要求1至9中的任意一项所述的模拟装置,其中,
所述模拟装置还具有评价部,该评价部根据计算出的所述负载来评价由所述部分线缆行为计算部计算出的所述第2对象的行为。
11.根据权利要求1至10中的任意一项所述的模拟装置,其中,
所述设备包含机器人,
通过具有操作所述机器人的指令代码的机器人程序的仿真来计算所述第1对象的行为。
12.根据权利要求11所述的模拟装置,其中,
所述模拟装置执行模拟程序来计算配置在所述虚拟空间内的与所述机器人的外围设备对应的对象的行为,所述模拟程序包含对该外围设备进行控制的命令或参数。
13.根据权利要求1至12中的任意一项所述的模拟装置,其中,
所述模拟装置还具有图像生成部,该图像生成部生成将所述虚拟空间可视化的图像。
14.一种模拟程序,其使计算机执行计算经由多个引导件安装于设备的线缆的行为的方法,其中,所述方法具有以下步骤:
根据配置在虚拟空间内的与所述设备对应的第1对象的行为,使用与线缆安装相关的参数组计算与各引导件之间的部分线缆对应的配置在所述虚拟空间内的第2对象的行为,所述与线缆安装相关的参数组包含该虚拟空间内的所述多个引导件各自的位置和姿势以及各引导件之间的部分线缆长度;以及
针对各所述部分线缆,判定参数,
所述判定参数的步骤包含以下步骤:
针对各所述部分线缆,按照多个所述参数组中的每个所述参数组,根据使用该参数组计算出的与该部分线缆对应的所述第2对象的行为,计算施加于与该部分线缆对应的该第2对象的负载;以及
针对各所述部分线缆,按照多个所述参数组中的每个所述参数组,判定与该部分线缆对应的所述第2对象的所计算出的负载的大小是否满足限制条件,
所述方法还具有以下步骤:
在所述判定参数的步骤中,针对各所述部分线缆,从判定为满足所述限制条件的1个以上的所述参数组中,决定满足与组合各所述部分线缆而得到的整体线缆的安装相关的条件的参数组。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020-213178 | 2020-12-23 | ||
JP2020213178A JP7556283B2 (ja) | 2020-12-23 | 2020-12-23 | シミュレーション装置およびシミュレーションプログラム |
PCT/JP2021/009843 WO2022137581A1 (ja) | 2020-12-23 | 2021-03-11 | シミュレーション装置およびシミュレーションプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116635799A true CN116635799A (zh) | 2023-08-22 |
Family
ID=82157717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180079396.1A Pending CN116635799A (zh) | 2020-12-23 | 2021-03-11 | 模拟装置和模拟程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240005060A1 (zh) |
EP (1) | EP4269049A1 (zh) |
JP (1) | JP7556283B2 (zh) |
CN (1) | CN116635799A (zh) |
WO (1) | WO2022137581A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118046421A (zh) * | 2024-04-16 | 2024-05-17 | 以诺康医疗科技(苏州)有限公司 | 手术机器人关节实际力矩的自动采集方法及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220331958A1 (en) * | 2021-04-15 | 2022-10-20 | Kabushiki Kaisha Kobe Seiko Sho (Kobe Steel, Ltd.) | Multi-joint-robot linear-member-shape simulator, multi-joint-robot linear-member-shape simulation method, and multi-joint-robot linear-member-shape simulation program |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06291190A (ja) * | 1993-03-31 | 1994-10-18 | Matsushita Electric Ind Co Ltd | 集積回路のマスクレイアウト設計方法 |
JP2993341B2 (ja) * | 1993-12-24 | 1999-12-20 | 日産自動車株式会社 | 線条材のシミュレーション方法 |
JP4164785B2 (ja) | 2000-03-02 | 2008-10-15 | マツダ株式会社 | 線条材の配線設計支援装置及び配線設計支援方法及びコンピュータ読み取り可能な記憶媒体 |
JP2005293331A (ja) | 2004-04-01 | 2005-10-20 | Nissan Motor Co Ltd | ロボット付加非剛体物のシミュレーション方法およびロボット付加非剛体物の状態診断方法 |
JP5927270B2 (ja) | 2014-11-06 | 2016-06-01 | ファナック株式会社 | ロボットシミュレーション装置 |
JP6052372B2 (ja) | 2015-11-12 | 2016-12-27 | オムロン株式会社 | シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム |
JP7155664B2 (ja) | 2017-10-31 | 2022-10-19 | セイコーエプソン株式会社 | シミュレーション装置、制御装置およびロボット |
JP6988573B2 (ja) | 2018-03-01 | 2022-01-05 | オムロン株式会社 | シミュレーション装置、シミュレーション方法及びシミュレーションプログラム |
-
2020
- 2020-12-23 JP JP2020213178A patent/JP7556283B2/ja active Active
-
2021
- 2021-03-11 EP EP21909743.3A patent/EP4269049A1/en active Pending
- 2021-03-11 CN CN202180079396.1A patent/CN116635799A/zh active Pending
- 2021-03-11 US US18/038,797 patent/US20240005060A1/en active Pending
- 2021-03-11 WO PCT/JP2021/009843 patent/WO2022137581A1/ja active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118046421A (zh) * | 2024-04-16 | 2024-05-17 | 以诺康医疗科技(苏州)有限公司 | 手术机器人关节实际力矩的自动采集方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20240005060A1 (en) | 2024-01-04 |
JP7556283B2 (ja) | 2024-09-26 |
WO2022137581A1 (ja) | 2022-06-30 |
EP4269049A1 (en) | 2023-11-01 |
JP2022099420A (ja) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3171236B1 (en) | Simulator, simulation method, and simulation program | |
EP3171237B1 (en) | Simulator, simulation method, and simulation program | |
JP5908544B2 (ja) | 駆動軸のジャークを低下させるロボットプログラムを生成するロボットプログラム生成装置 | |
US20220147026A1 (en) | Method and Apparatus for Improved Auto-Calibration of a Robotic Cell | |
US20220292234A1 (en) | Simulation apparatus, recording medium, and simulation method | |
CN116635799A (zh) | 模拟装置和模拟程序 | |
CN111515928B (zh) | 机械臂运动控制系统 | |
JP7447568B2 (ja) | シミュレーション装置およびプログラム | |
Díaz et al. | Integration of a robotic arm Lynxmotion to a Robotino Festo through a Raspberry Pi 4 | |
WO2021149419A1 (ja) | シミュレーション装置およびシミュレーションプログラム | |
Zhang et al. | Modelling and Simulation of SCARA Robot using MATLAB/SimMechanics | |
WO2022168634A1 (ja) | ロボット制御装置、ロボット制御方法、及びロボット制御プログラム | |
TW202211073A (zh) | 學習裝置、學習方法、學習程式、控制裝置、控制方法及控制程式 | |
JP7424122B2 (ja) | シミュレーション装置およびプログラム | |
CN114683259B (zh) | 机械手臂校正系统及机械手臂校正方法 | |
CN116940447A (zh) | 操纵操纵器的方法、控制系统及工业机器人 | |
da Rosa et al. | Design and Implementation of a Platform for Controlling the Mentor Robotic Arm | |
Nandikolla et al. | Research Article Teleoperation Robot Control of a Hybrid EEG-Based BCI Arm Manipulator Using ROS | |
JP2022120649A (ja) | 制御システム、動作計画装置、制御装置、動作計画及び制御方法、動作計画方法、並びに制御方法 | |
JP2023076836A (ja) | ロボット装置、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、制御プログラム、記録媒体 | |
CN115844537A (zh) | 机械臂的控制方法、机械臂和手术机器人 | |
da Motta et al. | An off-line robot programming system including workcell and robot calibration | |
JP2021104551A (ja) | ロボット駆動領域シミュレーション装置、およびロボット駆動領域シミュレーション方法並びにロボット駆動領域シミュレーションプログラム | |
CN116673709A (zh) | 一种可重构柔性装配系统及其位置标定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |