Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7694271B2 - Simulation system, simulation method, and simulation program - Google Patents
[go: Go Back, main page]

JP7694271B2 - Simulation system, simulation method, and simulation program - Google Patents

Simulation system, simulation method, and simulation program Download PDF

Info

Publication number
JP7694271B2
JP7694271B2 JP2021143885A JP2021143885A JP7694271B2 JP 7694271 B2 JP7694271 B2 JP 7694271B2 JP 2021143885 A JP2021143885 A JP 2021143885A JP 2021143885 A JP2021143885 A JP 2021143885A JP 7694271 B2 JP7694271 B2 JP 7694271B2
Authority
JP
Japan
Prior art keywords
cable
simulation
articulated robot
link
simulation system
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.)
Active
Application number
JP2021143885A
Other languages
Japanese (ja)
Other versions
JP2023037248A (en
Inventor
慎太郎 岩村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2021143885A priority Critical patent/JP7694271B2/en
Publication of JP2023037248A publication Critical patent/JP2023037248A/en
Application granted granted Critical
Publication of JP7694271B2 publication Critical patent/JP7694271B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本開示は、シミュレーションシステムに関し、より特定的には、ロボットへのケーブルの取り付けのシミュレーション技術に関する。 The present disclosure relates to a simulation system, and more specifically to a simulation technique for attaching cables to a robot.

コンピュータを用いたシミュレーションは様々な技術分野に応用されている。このようなシミュレーションをFA(Factory Automation)に利用した例として、例えば、特開2016-042378号公報(特許文献1)は、機械の動きを制御するコントローラにおいて実行される制御プログラムのシミュレーションを開示する。 Simulations using computers are applied in a variety of technical fields. As an example of the use of such simulations in FA (Factory Automation), for example, JP 2016-042378 A (Patent Document 1) discloses a simulation of a control program executed in a controller that controls the movement of a machine.

特開2016-042378号公報JP 2016-042378 A

FAの分野では、機械の一例である産業用ロボットに取付けられるケーブルの引き回しを事前に設計したいとの要望があった。具体的には、従来、産業用ロボットのケーブルを引き回す場合、ユーザは、ケーブルを実際に操作しながら、適切な取付け位置またはケーブル長を決定する作業をしていたが、この作業は試行錯誤を繰り返すことから長時間を要していた。したがって、ケーブル引き回し(取付け位置またはケーブル長など)を事前に設計したいとの要望があった。 In the field of FA, there has been a demand for designing in advance the routing of cables to be attached to industrial robots, which are an example of machinery. Specifically, in the past, when routing cables for industrial robots, the user would actually manipulate the cable to determine the appropriate installation position or cable length, but this work required repeated trial and error and took a long time. Therefore, there has been a demand for designing cable routing (installation position or cable length, etc.) in advance.

本開示の目的は、機器に取付けられるケーブルの引き回しを事前に設計することを可能にするシミュレーション技術を提供することである。 The objective of this disclosure is to provide a simulation technique that makes it possible to design in advance the routing of cables to be attached to equipment.

ある実施の形態に従うと、多関節ロボットにおけるケーブルの取り付けのシミュレーションシステムが提供される。シミュレーションシステムは、多関節ロボットの第1のリンクおよび第2のリンクからなる第1の部位において、第1のリンクと第2のリンクとの間の第1の関節が予め定められた条件を満たす角度になる第1の姿勢を検出するための姿勢検出部と、第1の部位における1以上のケーブルガイドの取付設定を特定するためのガイド取付部と、第1の部分ケーブルにおける1以上の第1の取付設定を特定するためのケーブル取付部と、第1の部位のモーションを実行し、第1の部分ケーブルの動きをシミュレートするためのシミュレーション実行部とを備える。第1の部分ケーブルは、ケーブルガイドを介して、第1の姿勢を取る第1の部位に取り付けられるケーブルの一部である。 According to one embodiment, a simulation system for simulating cable attachment in a multi-joint robot is provided. The simulation system includes a posture detection unit for detecting a first posture in a first portion of the multi-joint robot, the first portion being composed of a first link and a second link, in which a first joint between the first link and the second link is at an angle that satisfies a predetermined condition, a guide attachment unit for identifying attachment settings of one or more cable guides in the first portion, a cable attachment unit for identifying one or more first attachment settings in a first partial cable, and a simulation execution unit for executing a motion of the first portion and simulating the movement of the first partial cable. The first partial cable is a part of a cable that is attached to the first portion having a first posture via a cable guide.

この開示によれば、シミュレーションシステムは、第1のリンクと第2のリンクとの間の第1の関節が予め定められた条件を満たす角度になる第1の姿勢を検出し、当該第1の姿勢のときに、第1の部位に取り付けられる第1の部分ケーブルの動きをシミュレートすることができる。 According to this disclosure, the simulation system detects a first posture in which a first joint between a first link and a second link is at an angle that satisfies a predetermined condition, and can simulate the movement of a first partial cable attached to a first portion when in the first posture.

上記の開示において、予め定められた条件は、第1の関節の角度が、多関節ロボットのモーション内における最大角度もしくは最大角度から第1の範囲内の角度であること、または、最小角度もしくは最小角度から第2の範囲内の角度であることを含む。 In the above disclosure, the predetermined conditions include the angle of the first joint being a maximum angle or an angle within a first range from the maximum angle in the motion of the articulated robot, or being a minimum angle or an angle within a second range from the minimum angle.

この開示によれば、シミュレーションシステムは、第1の関節の角度が、多関節ロボットのモーション内における最大角度もしくは最大角度から第1の範囲内の角度であること、または、最小角度もしくは最小角度から第2の範囲内の角度であるときに、第1の部位に取り付けられる第1の部分ケーブルの動きをシミュレートすることができる。 According to this disclosure, the simulation system can simulate the movement of a first partial cable attached to a first portion when the angle of the first joint is a maximum angle or an angle within a first range from the maximum angle in the motion of the articulated robot, or is a minimum angle or an angle within a second range from the minimum angle.

上記の開示において、シミュレーションシステムは、多関節ロボットのモーションを取得するためのモーション取得部をさらに含む。姿勢検出部は、モーション取得部から取得した時系列の多関節ロボットの姿勢から、第1の姿勢を検出する。 In the above disclosure, the simulation system further includes a motion acquisition unit for acquiring the motion of the articulated robot. The posture detection unit detects a first posture from the time-series postures of the articulated robot acquired from the motion acquisition unit.

この開示によれば、シミュレーションシステムは、時系列の多関節ロボットの姿勢から、第1の姿勢を検出することができる。 According to this disclosure, the simulation system can detect a first posture from a time series of postures of a multi-joint robot.

上記の開示において、ケーブル取付部は、第1の部位が第1の姿勢を取るときの、第1のリンクと第2のリンクとを中継する、1以上の第1の取付設定を特定する。 In the above disclosure, the cable attachment portion specifies one or more first attachment settings that relay the first link and the second link when the first portion is in a first position.

この開示によれば、シミュレーションシステムは、1の部位が第1の姿勢を取るときの、第1のリンクと第2のリンクとを中継する、複数の第1の取付設定を特定することができる。 According to this disclosure, the simulation system can identify multiple first attachment settings that relay a first link and a second link when a part is in a first posture.

上記の開示において、シミュレーションシステムは、ケーブルのロバストネスを判定するためのロバストネス判定部をさらに備える。ロバストネス判定部は、シミュレーションに合格した1以上の第1の取付設定の各々が、予め定められたロバストネスを有するか否かを判定する。 In the above disclosure, the simulation system further includes a robustness determination unit for determining the robustness of the cable. The robustness determination unit determines whether each of the one or more first mounting settings that pass the simulation has a predetermined robustness.

この開示によれば、シミュレーションシステムは、シミュレーションに合格した1以上の第1の取付設定の各々が、予め定められたロバストネスを有するか否かを判定することができる。 According to this disclosure, the simulation system can determine whether each of the one or more first mounting configurations that pass the simulation has a predetermined robustness.

上記の開示において、姿勢検出部は、多関節ロボットの第2のリンクおよび第3のリンクからなる第2の部位において、第2のリンクと第3のリンクとの間の第2の関節が予め定められた条件を満たす角度になる第2の姿勢を検出し、ケーブル取付部は、第2の姿勢を取る第2の部位における、第2の部分ケーブルの1以上の第2の取付設定を決定し、シミュレーション実行部は、第1の部分ケーブルのシミュレーションと、第2の部分ケーブルのシミュレーションとを個別に実行する。 In the above disclosure, the posture detection unit detects a second posture in a second portion of the articulated robot consisting of a second link and a third link, in which a second joint between the second link and the third link is at an angle that satisfies a predetermined condition, the cable attachment unit determines one or more second attachment settings of the second partial cable in the second portion that takes the second posture, and the simulation execution unit separately executes a simulation of the first partial cable and a simulation of the second partial cable.

この開示によれば、シミュレーションシステムは、各部位ごとに個別にシミュレーションを実行することができる。 According to this disclosure, the simulation system can perform simulations for each part individually.

上記の開示において、シミュレーションシステムは、2つ以上の関節を含むリンクのシミュレーションを実行する第2のシミュレーション部をさらに含む。第2のシミュレーション部は、第1の部分ケーブルのシミュレーションに合格した第1の取付設定と、第2の部分ケーブルのシミュレーションに合格した第2の取付設定とを用いて、ケーブル全体における取付設定のシミュレーションを実行する。 In the above disclosure, the simulation system further includes a second simulation unit that performs a simulation of a link including two or more joints. The second simulation unit performs a simulation of the attachment settings for the entire cable using a first attachment setting that has passed the simulation of the first partial cable and a second attachment setting that has passed the simulation of the second partial cable.

この開示によれば、シミュレーションシステムは、各部位のシミュレーションに合格した取付設定を用いて、ケーブル全体における取付設定のシミュレーションを実行し得る。 According to this disclosure, the simulation system can perform a simulation of the installation settings for the entire cable using the installation settings that pass the simulation for each section.

上記の開示において、第1の部位および第2の部位を含むシミュレーションを実行することは、第1の部位および第2の部位のモーションを実行することと、モーションの実行中に、ケーブルが多関節ロボットに干渉したことを検出することとを含む。 In the above disclosure, executing a simulation including a first part and a second part includes executing a motion of the first part and the second part, and detecting that the cable interferes with the articulated robot during the execution of the motion.

この開示によれば、シミュレーションシステムは、取付設定のシミュレーション内で、ケーブルが多関節ロボットに干渉するか否かを検証し得る。 According to this disclosure, the simulation system can verify whether the cable interferes with the articulated robot within a simulation of the mounting setting.

上記の開示において、シミュレーションシステムは、ケーブル全体における取付設定のシミュレーションに合格した設定が複数あることに基づいて、複数の設定の中から、ケーブルが最短となる設定を選択および出力する最適設定出力部をさらに備える。 In the above disclosure, the simulation system further includes an optimal setting output unit that selects and outputs the setting that results in the shortest cable length from among the multiple settings based on the fact that there are multiple settings that have passed the simulation of the installation settings for the entire cable.

この開示によれば、シミュレーションシステムは、条件を満たす取付設定の中からケーブルが最短となる設定を選択し得る。 According to this disclosure, the simulation system can select the installation setting that results in the shortest cable length from among the installation settings that satisfy the conditions.

別の実施の形態に従うと、シミュレーションシステムによって実行される方法が提供される。方法は、多関節ロボットの第1のリンクおよび第2のリンクからなる第1の部位において、第1のリンクと第2のリンクとの間の第1の関節が予め定められた条件を満たす角度になる第1の姿勢を検出するステップと、第1の部位における1以上のケーブルガイドの取付設定を特定するステップと、第1の部分ケーブルにおける1以上の第1の取付設定を特定するステップと、第1の部位のモーションを実行し、第1の部分ケーブルの動きをシミュレートするステップとを含む。第1の部分ケーブルは、ケーブルガイドを介して、第1の姿勢を取る第1の部位に取り付けられるケーブルの一部である。 According to another embodiment, a method executed by a simulation system is provided. The method includes the steps of: detecting a first posture in a first portion of a multi-joint robot, the first portion being composed of a first link and a second link, at which a first joint between the first link and the second link is at an angle that satisfies a predetermined condition; identifying attachment settings of one or more cable guides in the first portion; identifying one or more first attachment settings for a first partial cable; and executing a motion of the first portion to simulate the movement of the first partial cable. The first partial cable is a part of a cable that is attached to the first portion having the first posture via a cable guide.

この開示によれば、第1のリンクと第2のリンクとの間の第1の関節が予め定められた条件を満たす角度になる第1の姿勢を検出し、当該第1の姿勢のときに、第1の部位に取り付けられる第1の部分ケーブルの動きをシミュレートすることができる。 According to this disclosure, a first posture in which a first joint between a first link and a second link is at an angle that satisfies a predetermined condition can be detected, and the movement of a first partial cable attached to a first portion can be simulated when the first posture is detected.

別の実施の形態に従うと、上記の方法をコンピュータに実行させるためのプログラムが提供される。 According to another embodiment, a program for causing a computer to execute the above method is provided.

この開示によれば、第1のリンクと第2のリンクとの間の第1の関節が予め定められた条件を満たす角度になる第1の姿勢を検出し、当該第1の姿勢のときに、第1の部位に取り付けられる第1の部分ケーブルの動きをシミュレートする処理をコンピュータに実行させることができる。 According to this disclosure, a first posture in which a first joint between a first link and a second link is at an angle that satisfies a predetermined condition can be detected, and a computer can be caused to execute a process of simulating the movement of a first partial cable attached to a first portion when the first posture is detected.

本開示によれば、機器に取付けられるケーブルの引き回しを事前に設計することができる。 This disclosure allows the routing of cables to be attached to equipment to be designed in advance.

この開示内容の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本開示に関する次の詳細な説明から明らかとなるであろう。 The above and other objects, features, aspects and advantages of this disclosure will become apparent from the following detailed description of the disclosure taken in conjunction with the accompanying drawings.

ある実施の形態に従うシミュレーションシステム900の適用場面の一例を模式的に示す図である。FIG. 9 is a diagram illustrating an example of an application scene of a simulation system 900 according to an embodiment. ケーブルCの取付位置を決定する第1の手順を示す図である。11A to 11C are diagrams showing a first procedure for determining the attachment position of a cable C. 取付設定のパラメータの例を示す図である。FIG. 11 is a diagram showing an example of parameters of the installation settings. ケーブルガイドの取付位置の例を示す図である。11A and 11B are diagrams illustrating examples of mounting positions of a cable guide. 取付設定の検証の例を示す図である。FIG. 13 is a diagram illustrating an example of verification of mounting settings. ある実施の形態に従うシミュレーションシステム900によってシミュレーションされる制御システム2を模式的に示す図である。FIG. 9 is a diagram illustrating a schematic diagram of a control system 2 simulated by a simulation system 900 according to an embodiment. 制御システム2のユニット構成の一例を示す模式図である。2 is a schematic diagram showing an example of a unit configuration of a control system 2. FIG. シミュレーションシステム900を構成する装置800の一例を示す図である。FIG. 8 is a diagram showing an example of an apparatus 800 constituting a simulation system 900. シミュレーションシステム900の機能構成の一例を示す図である。FIG. 9 is a diagram illustrating an example of a functional configuration of a simulation system 900. 多関節ロボットにおける難姿勢の一例を示す図である。FIG. 1 is a diagram showing an example of a difficult posture in an articulated robot. 難姿勢の検出の様子の一例を示す図である。FIG. 13 is a diagram illustrating an example of how a difficult posture is detected. 各関節の角度の時系列データの一例を示す図である。FIG. 4 is a diagram showing an example of time-series data of the angles of each joint. ケーブルのロバストネスの条件の一例を示す図である。FIG. 13 is a diagram showing an example of a robustness condition of a cable. ケーブルおよびケーブルガイドの取付シミュレーションの表示の第1の例を示す図である。FIG. 13 is a diagram showing a first example of a display of a cable and cable guide installation simulation. ケーブルおよびケーブルガイドの取付シミュレーションの表示の第2の例を示す図である。FIG. 13 is a diagram showing a second example of a display of a cable and cable guide installation simulation. ケーブルおよびケーブルガイドの取付シミュレーションの表示の第3の例を示す図である。FIG. 13 is a diagram showing a third example of a display of a cable and cable guide installation simulation. ケーブルおよびケーブルガイドの取付シミュレーションの表示の第4の例を示す図である。FIG. 13 is a diagram showing a fourth example of a display of a cable and cable guide installation simulation. ケーブルおよびケーブルガイドの取付シミュレーションの表示の第5の例を示す図である。FIG. 5 is a diagram showing a fifth example of a display of a cable and cable guide installation simulation. ケーブルおよびケーブルガイドの取付シミュレーションの表示の第6の例を示す図である。FIG. 13 is a diagram showing a sixth example of a display of a cable and cable guide installation simulation. シミュレーションシステム900におけるケーブルのシミュレーション手順の一例を示すフローチャートである。13 is a flowchart showing an example of a procedure for simulating a cable in the simulation system 900. ステップS2020のサブルーチンの一例を示すフローチャートである。13 is a flowchart showing an example of a subroutine of step S2020.

以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 Below, an embodiment of the technical concept of the present disclosure will be described with reference to the drawings. In the following description, the same components are given the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated.

<A.適用例>
図1~5を参照して、本発明が適用される場面の一例について説明する。
<A. Application example>
An example of a situation in which the present invention is applied will be described with reference to FIGS.

図1は、本実施の形態に従うシミュレーションシステム900の適用場面の一例を模式的に示す図である。 Figure 1 is a diagram showing an example of an application scenario of the simulation system 900 according to this embodiment.

(a.シミュレーションの対象となる多関節ロボット)
シミュレーションシステム900は、3D(Three Dimensional)空間170内において、多関節ロボット180の動作および多関節ロボット180に備え付けられるケーブルCの動作のシミュレーションを実行することができる。ある局面において、シミュレーションシステム900は、単一の装置、複数の装置、仮想マシン、クラウド環境上に構築されたシステムによって実現されてもよい。他の局面において、多関節ロボット180は、水平多関節ロボット、垂直多関節ロボット、またはその他の任意のリンク機構を備えるロボットであってもよい。
(a. Articulated robot to be simulated)
The simulation system 900 can execute a simulation of the movement of the articulated robot 180 and the movement of the cable C attached to the articulated robot 180 in a three-dimensional (3D) space 170. In one aspect, the simulation system 900 may be realized by a single device, multiple devices, a virtual machine, or a system built on a cloud environment. In another aspect, the articulated robot 180 may be a horizontal articulated robot, a vertical articulated robot, or a robot equipped with any other link mechanism.

図1に示される多関節ロボット180は、リンクL1,L2,L3,L4,L5,L6を備える。各リンクはモータ等によって接続され、リンク間は関節構造になる。各関節は、例えばヨー軸、ピッチ軸、ロール軸の関節であってもよいし、複合関節であってもよい。 The articulated robot 180 shown in FIG. 1 has links L1, L2, L3, L4, L5, and L6. Each link is connected by a motor or the like, and a joint structure is formed between the links. Each joint may be, for example, a yaw axis, pitch axis, or roll axis joint, or may be a composite joint.

また、多関節ロボット180は、例えば工具等を取り付けられた先端のリンクL6を動作させるためのケーブルCを備える。ケーブルCは、例えば、リンクL1に備え付けられた制御基板とリンクL6の先端の工具とを接続し得る。また、ケーブルCは、多関節ロボット180の筐体に取り付けられた1以上のケーブルガイドを経由して、多関節ロボット180の筐体に取り付けられる。図1に示される例では、ケーブルCは、ケーブルガイドG1,G2,G3,G4によって、多関節ロボット180に取り付けられている。部分ケーブルC1は、ケーブルCのケーブルガイドG1,G2の間の部分である。部分ケーブルC2は、ケーブルCのケーブルガイドG2,G3の間の部分である。部分ケーブルC3は、ケーブルCのケーブルガイドG3,G4の間の部分である。なお、部分ケーブルC1,C2,C3は、実際には1本のケーブルCである。 The articulated robot 180 also includes a cable C for operating the link L6 at its tip, to which, for example, a tool or the like is attached. The cable C may connect, for example, a control board attached to the link L1 and a tool at the tip of the link L6. The cable C is attached to the housing of the articulated robot 180 via one or more cable guides attached to the housing of the articulated robot 180. In the example shown in FIG. 1, the cable C is attached to the articulated robot 180 by cable guides G1, G2, G3, and G4. The partial cable C1 is the portion of the cable C between the cable guides G1 and G2. The partial cable C2 is the portion of the cable C between the cable guides G2 and G3. The partial cable C3 is the portion of the cable C between the cable guides G3 and G4. Note that the partial cables C1, C2, and C3 are actually one cable C.

ケーブルは、例えば、信号線を構成する線状の導電体を絶縁体で被覆して構成される。絶縁体の材料としては、限定されないが、プラスチック、ゴム、ビニールなどの樹脂材料を用いることができる。また、導電体の材料としては、限定されないが、導電性を有する金属を用いることができる。ケーブルCが、ケーブルガイドG1,G2,G3,G4を介して多関節ロボット180に取り付けられることで、ロボットコントローラ等の機器は、ケーブルCを介して、多関節ロボット180との間で信号を送受信し得る。 The cable is formed, for example, by covering a linear conductor that constitutes a signal line with an insulator. The material of the insulator is not limited, but resin materials such as plastic, rubber, and vinyl can be used. The material of the conductor is not limited, but metal having electrical conductivity can be used. When the cable C is attached to the articulated robot 180 via the cable guides G1, G2, G3, and G4, devices such as a robot controller can send and receive signals between the articulated robot 180 and the cable C.

なお、図1に示される構成は一例であり、シミュレーションシステム900によりシミュレーション可能な多関節ロボットはこれに限られない。ある局面において、シミュレーションシステム900は、任意の数の関節、任意の種類のリンク機構、任意の場所に取り付けられたケーブルを備える多関節ロボットの動作をシミュレート可能である。 Note that the configuration shown in FIG. 1 is an example, and the articulated robots that can be simulated by the simulation system 900 are not limited to this. In one aspect, the simulation system 900 can simulate the operation of an articulated robot with any number of joints, any type of link mechanism, and cables attached to any location.

シミュレーションシステム900は、例えば、多関節ロボット180のエミュレータ機能と、PLC(Programmable Logic Controller)等の制御装置のエミュレータ機能とを備えていてもよい。この場合、シミュレーションシステム900は、PLCのプログラムを読み込んで、多関節ロボット180およびPLCの動作をエミュレートし得る。より具体的には、シミュレーションシステム900は、PLCにプログラムを実行させる。PLCは、多関節ロボット180(またはそのロボットコントローラ)に対して命令を送信する。多関節ロボット180は、3D空間170内で、受信した命令に基づいて、予め定められた動作(モーション)を行う。 The simulation system 900 may have, for example, an emulator function for the articulated robot 180 and an emulator function for a control device such as a programmable logic controller (PLC). In this case, the simulation system 900 may read a program for the PLC and emulate the operation of the articulated robot 180 and the PLC. More specifically, the simulation system 900 causes the PLC to execute the program. The PLC transmits commands to the articulated robot 180 (or its robot controller). The articulated robot 180 performs a predetermined operation (motion) in the 3D space 170 based on the received commands.

また、シミュレーションシステム900は、多関節ロボット180が動作することによるケーブルCの動作およびケーブルCにかかる力をシミュレートする。ユーザは、シミュレーションシステム900を用いることで、多関節ロボット180の実機を用いることなく、ケーブルの取付位置を決定することができる。 The simulation system 900 also simulates the movement of the cable C and the force acting on the cable C caused by the operation of the articulated robot 180. By using the simulation system 900, the user can determine the attachment position of the cable without using an actual articulated robot 180.

一般的に、多関節ロボット180に用いられるケーブルCは高価であり、引き回し作業に長時間を要する。そこで、シミュレーションシステム900は、実機の多関節ロボット180に取り付けられるケーブルCの適切な引き回しを事前に設計することをサポートする機能を提供する。ユーザは、シミュレーションシステム900による設計結果に基づいて、ケーブルCの引き回しを実行することにより、ケーブルCの引き回しにかかるコスト(ケーブルCの費用および作業時間を含む)を低減し得る。より詳細なケーブルの取付位置の決定方法について図2以降を参照して説明する。 Generally, the cable C used in the articulated robot 180 is expensive, and the work of laying it out takes a long time. Therefore, the simulation system 900 provides a function that supports the advance design of an appropriate laying out of the cable C to be attached to the actual articulated robot 180. By laying out the cable C based on the design results obtained by the simulation system 900, the user can reduce the cost of laying the cable C (including the cost of the cable C and the work time). A more detailed method of determining the cable attachment position will be described with reference to FIG. 2 onwards.

図2は、ケーブルCの取付位置を決定する第1の手順を示す図である。単一の関節を介して接続される2つのリンクに対するケーブルの取付位置を決定する手順(第1の手順)と、複数の関節を介して接続される3つ以上のリンクに対するケーブルの取付位置を決定する手順(第2の手順)とについて説明する。また、これらのケーブルの取付位置の決定結果を用いて、多関節ロボット全体に対するケーブルの取付位置を決定する手順(第3の手順)について説明する。 Figure 2 shows the first procedure for determining the attachment position of cable C. We will explain the procedure for determining the attachment position of the cable for two links connected via a single joint (first procedure) and the procedure for determining the attachment position of the cable for three or more links connected via multiple joints (second procedure). We will also explain the procedure for determining the attachment position of the cable for the entire multi-joint robot using the results of determining the attachment positions of these cables (third procedure).

(b.シミュレーションの第1の手順)
最初に、単一の関節を介して接続される2つのリンクからなる部位240にケーブルを取り付ける場合の第1の手順について説明する。ある多関節ロボットがリンク260,265を備えており、リンク260,265は関節270を介して互いに接続されていたとする。また、ケーブルは、ケーブルガイドによりリンク260,265に取り付けられるものとする。
(b. First Step of Simulation)
First, a first procedure will be described for attaching a cable to a part 240 consisting of two links connected via a single joint. It is assumed that a certain articulated robot has links 260 and 265, which are connected to each other via a joint 270. It is also assumed that a cable is attached to the links 260 and 265 by a cable guide.

この場合、シミュレーションシステム900は、多関節ロボットのプログラムを読み込んで、多関節ロボットの関節270の角度をシミュレートする。そして、シミュレーションシステム900は、関節270が予め定められた条件を満たす角度になる多関節ロボットの第1の姿勢および第2の姿勢を特定する。 In this case, the simulation system 900 reads the program for the articulated robot and simulates the angle of the joint 270 of the articulated robot. The simulation system 900 then identifies a first posture and a second posture of the articulated robot in which the angle of the joint 270 satisfies a predetermined condition.

第1の姿勢とは、関節270がモーション内で取り得る最大の角度または最大の角度から第1の範囲内の角度(例えば-3%の角度等)のときの多関節ロボットのリンク260,265からなる部位の姿勢である。第2の姿勢とは、関節270がモーション内で取り得る最小の角度または最小の角度から第2の範囲内の角度(例えば+3%の角度等)のときの多関節ロボットのリンク260,265からなる部位の姿勢である。 The first posture is the posture of the part of the multi-joint robot consisting of the links 260, 265 when the joint 270 is at the maximum angle that it can take in the motion or at an angle within a first range from the maximum angle (e.g., an angle of -3%). The second posture is the posture of the part of the multi-joint robot consisting of the links 260, 265 when the joint 270 is at the minimum angle that it can take in the motion or at an angle within a second range from the minimum angle (e.g., an angle of +3%).

関節270の角度が最大付近である第1の姿勢と、関節270の角度が最小付近である第2の姿勢とは、ケーブルをケーブルガイドによりリンク260,265からなる部位に取り付けた場合に、多関節ロボットが取り得る姿勢の中でケーブルに負荷がかかる可能性が最も高い姿勢である。これ以降、上記の第1の姿勢および第2の姿勢のように、多関節ロボットが取り得る姿勢の中でケーブルに負荷がかかる可能性が最も高い姿勢を「難姿勢」と呼ぶこともある。 The first posture in which the angle of joint 270 is near the maximum and the second posture in which the angle of joint 270 is near the minimum are postures that are most likely to place a load on the cable among the postures that the articulated robot can take when the cable is attached to the part consisting of links 260 and 265 by a cable guide. Hereinafter, postures that are most likely to place a load on the cable among the postures that the articulated robot can take, such as the first and second postures described above, may also be referred to as "difficult postures".

シミュレーションシステム900は、3D空間内で、第1の姿勢を取るリンク260,265からなる部位に対して、ケーブルおよびケーブルガイドの取付位置をシミュレートする。こうすることで、シミュレーションシステム900は、多関節ロボットに干渉しないケーブルおよびケーブルガイドの第1の取付設定(複数であってもよい)を求める。これ以降、ケーブルおよびケーブルガイドの取付設定を単に「取付設定」と呼ぶこともある。ケーブルの取付設定は、ケーブルの場所およびケーブルの長さを含む。また、ケーブルガイドの取付設定は、ケーブルガイドの位置およびケーブルガイドの姿勢を含む。また、シミュレーションシステム900は、第2の姿勢において、多関節ロボットに干渉しない第2の取付設定(複数であってもよい)を特定する。 The simulation system 900 simulates the mounting positions of the cables and cable guides for the portion consisting of the links 260, 265 in a first posture in 3D space. In this way, the simulation system 900 determines a first mounting setting (which may be multiple) of the cables and cable guides that do not interfere with the articulated robot. Hereinafter, the mounting setting of the cables and cable guides may be simply referred to as "mounting setting". The mounting setting of the cables includes the location of the cables and the length of the cables. Furthermore, the mounting setting of the cable guide includes the position of the cable guide and the posture of the cable guide. Furthermore, the simulation system 900 identifies a second mounting setting (which may be multiple) that does not interfere with the articulated robot in the second posture.

次に、シミュレーションシステム900は、多関節ロボットのモーションを再生し、ケーブルの動きをシミュレートすることで、第1の取付設定が、他の姿勢においても(関節270の角度が変化しても)、多関節ロボットに干渉しないか否かを判定する。同様に、シミュレーションシステム900は、多関節ロボットのモーションを再生し、ケーブルの動きをシミュレートすることで、第2の取付設定が、他の姿勢においても(関節270の角度が変化しても)、多関節ロボットに干渉しないか否かを判定する。また、シミュレーションシステム900は、ケーブルに過度な力がかかるか否かも判定し得る。そして、シミュレーションシステム900は、1以上の第1の取付設定、および1以上の第2の取付設定の中から、リンク260,265からなる部位の全ての姿勢において多関節ロボットに干渉しない取付設定(複数であってもよい)を選定する。 Next, the simulation system 900 plays the motion of the articulated robot and simulates the movement of the cable to determine whether the first mounting setting will not interfere with the articulated robot in other postures (even if the angle of the joint 270 changes). Similarly, the simulation system 900 plays the motion of the articulated robot and simulates the movement of the cable to determine whether the second mounting setting will not interfere with the articulated robot in other postures (even if the angle of the joint 270 changes). The simulation system 900 can also determine whether excessive force is applied to the cable. Then, the simulation system 900 selects an mounting setting (which may be multiple) that does not interfere with the articulated robot in all postures of the part consisting of the links 260 and 265 from among the one or more first mounting settings and the one or more second mounting settings.

上記のように、シミュレーションシステム900は、ケーブルに負荷が掛かる可能性が最も高い姿勢において、多関節ロボットに干渉しない取付設定をシミュレーションの候補として選択する。こうすることで、シミュレーションシステム900は、考えられる全てのケーブルの取付位置において、ケーブルの動きを総当たりでシミュレーションする必要がなく、ケーブルの取付位置を決定する工数を大幅に削減し得る。 As described above, the simulation system 900 selects as a simulation candidate an attachment setting that does not interfere with the articulated robot in a posture that is most likely to cause a load on the cable. In this way, the simulation system 900 does not need to exhaustively simulate the movement of the cable in all possible cable attachment positions, and this can significantly reduce the amount of work required to determine the cable attachment position.

(c.シミュレーションの第2の手順)
次に、複数の関節を介して接続される3つ以上のリンクからなる部位245にケーブルを取り付ける場合の第2の手順について説明する。ある多関節ロボットがリンク280,285,290を備えていたとする。また、リンク280,285は関節295を介して互いに接続されており、リンク285,290は関節297を介して互いに接続されていたとする。さらに、ケーブルは、ケーブルガイドによりリンク280,290に取り付けられるものとする。
(c. Second Step of Simulation)
Next, a second procedure will be described for attaching a cable to a part 245 consisting of three or more links connected via a plurality of joints. It is assumed that a certain articulated robot includes links 280, 285, and 290. It is also assumed that links 280 and 285 are connected to each other via joint 295, and links 285 and 290 are connected to each other via joint 297. It is also assumed that the cable is attached to links 280 and 290 by cable guides.

この場合、シミュレーションシステム900は、多関節ロボットのプログラムを読み込んで、多関節ロボットの関節270の角度をシミュレートする。そして、シミュレーションシステム900は、関節295が予め定められた条件を満たす角度になる多関節ロボットの第3の姿勢および第4の姿勢を特定する。同様に、シミュレーションシステム900は、関節297が予め定められた条件を満たす角度になる多関節ロボットの第5の姿勢および第6の姿勢を特定する。 In this case, the simulation system 900 reads the program for the articulated robot and simulates the angle of the joint 270 of the articulated robot. The simulation system 900 then identifies a third posture and a fourth posture of the articulated robot in which the angle of the joint 295 satisfies the predetermined condition. Similarly, the simulation system 900 identifies a fifth posture and a sixth posture of the articulated robot in which the angle of the joint 297 satisfies the predetermined condition.

第3の姿勢とは、関節295がモーション内で取り得る最大の角度または最大の角度から第3の範囲内の角度(例えば-3%の角度等)のときの多関節ロボットのリンク280,285,290からなる部位の姿勢である。第4の姿勢とは、関節295がモーション内で取り得る最小の角度または最小の角度から第4の範囲内の角度(例えば+3%の角度等)のときの多関節ロボットのリンク280,285,290からなる部位の姿勢である。 The third posture is the posture of the part consisting of the links 280, 285, and 290 of the articulated robot when the joint 295 is at the maximum angle that it can take in the motion or at an angle within a third range from the maximum angle (e.g., an angle of -3%). The fourth posture is the posture of the part consisting of the links 280, 285, and 290 of the articulated robot when the joint 295 is at the minimum angle that it can take in the motion or at an angle within a fourth range from the minimum angle (e.g., an angle of +3%).

第5の姿勢とは、関節295がモーション内で取り得る最大の角度または最大の角度から第5の範囲内の角度(例えば-3%の角度等)のときの多関節ロボットのリンク280,285,290からなる部位の姿勢である。第6の姿勢とは、関節295がモーション内で取り得る最小の角度または最小の角度から第6の範囲内の角度(例えば+3%の角度等)のときの多関節ロボットのリンク280,285,290からなる部位の姿勢である。すなわち、シミュレーションシステム900は、関節295,297のいずれかの角度が最大付近または最小付近となる姿勢を特定する。 The fifth posture is the posture of the part consisting of the links 280, 285, and 290 of the articulated robot when the joint 295 is at the maximum angle that it can take in the motion or at an angle within a fifth range from the maximum angle (e.g., an angle of -3%). The sixth posture is the posture of the part consisting of the links 280, 285, and 290 of the articulated robot when the joint 295 is at the minimum angle that it can take in the motion or at an angle within a sixth range from the minimum angle (e.g., an angle of +3%). In other words, the simulation system 900 identifies a posture in which the angle of either the joint 295 or 297 is near the maximum or minimum.

関節295の角度が最大付近である第3の姿勢と、関節295の角度が最小付近である第4の姿勢と、関節297の角度が最大付近である第5の姿勢と、関節297の角度が最小付近である第6の姿勢とは、ケーブルをケーブルガイドによりリンク280,285,290からなる部位に取り付けた場合に、多関節ロボットが取り得る姿勢の中でケーブルに負荷がかかる可能性が最も高い姿勢である(難姿勢である)。 The third posture in which the angle of joint 295 is near the maximum, the fourth posture in which the angle of joint 295 is near the minimum, the fifth posture in which the angle of joint 297 is near the maximum, and the sixth posture in which the angle of joint 297 is near the minimum are the postures that are most likely to place a load on the cable among the postures that the articulated robot can take when the cable is attached to the part consisting of links 280, 285, and 290 by a cable guide (these are difficult postures).

シミュレーションシステム900は、第3の姿勢において、第3の姿勢を取るリンク280,285,290からなる部位に対して、ケーブルおよびケーブルガイドの取付位置をシミュレートする。こうすることで、シミュレーションシステム900は、多関節ロボットに干渉しない第3の取付設定(複数であってもよい)を求める。同様に、シミュレーションシステム900は、第4の姿勢、第5の姿勢、第6の姿勢の各々において、多関節ロボットに干渉しない第4の取付設定、第5の取付設定、第6の取付設定(複数であってもよい)を特定する。 In the third posture, the simulation system 900 simulates the mounting positions of the cables and cable guides for the portion consisting of the links 280, 285, and 290 that assume the third posture. In this way, the simulation system 900 determines a third mounting setting (which may be multiple) that does not interfere with the articulated robot. Similarly, the simulation system 900 identifies a fourth mounting setting, a fifth mounting setting, and a sixth mounting setting (which may be multiple) that do not interfere with the articulated robot in each of the fourth posture, fifth posture, and sixth posture.

次に、シミュレーションシステム900は、多関節ロボットのモーションを再生し、ケーブルの動きをシミュレートすることで、第3の取付設定が、他の姿勢においても(関節295,297の角度が変化しても)、多関節ロボットに干渉しないか否かを判定する。同様に、シミュレーションシステム900は、多関節ロボットのモーションを再生し、ケーブルの動きをシミュレートすることで、第4の取付設定、第5の取付設定、第6の取付設定の各々が、他の姿勢においても(関節295,297の角度が変化しても)、多関節ロボットに干渉しないか否かを判定する。なお、シミュレーションシステム900は、ケーブルに過度な力がかかるか否かも判定し得る。そして、シミュレーションシステム900は、1以上の第3、第4、第5および第6の取付設定の中から、リンク280,285,290からなる部位の全ての姿勢において多関節ロボットに干渉しない取付設定(複数であってもよい)を選定する。 Next, the simulation system 900 reproduces the motion of the articulated robot and simulates the movement of the cable to determine whether the third mounting setting will not interfere with the articulated robot in other postures (even if the angles of the joints 295 and 297 change). Similarly, the simulation system 900 reproduces the motion of the articulated robot and simulates the movement of the cable to determine whether the fourth mounting setting, the fifth mounting setting, and the sixth mounting setting will not interfere with the articulated robot in other postures (even if the angles of the joints 295 and 297 change). The simulation system 900 may also determine whether excessive force is applied to the cable. Then, the simulation system 900 selects an mounting setting (which may be multiple) that will not interfere with the articulated robot in all postures of the part consisting of the links 280, 285, and 290 from one or more of the third, fourth, fifth, and sixth mounting settings.

(d.シミュレーションの第3の手順)
次に、上記の第1および第2の手順で選定したケーブルの取付位置の決定結果を用いて、多関節ロボット全体に対するケーブルの取付位置を決定する第3の手順について説明する。
(d. Third Step of Simulation)
Next, a third procedure for determining cable attachment positions for the entire articulated robot will be described using the results of the cable attachment positions selected in the above first and second procedures.

例えば、シミュレーションシステム900は、第2の手順を用いて、図1に示されるリンクL1,L2,L3からなる第1の部位に対する部分ケーブルC1およびケーブルガイドG1,G2の取付設定(複数でもよい)を選定したとする。また、シミュレーションシステム900は、第1の手順を用いて、図1に示されるリンクL3,L4からなる第2の部位に対する部分ケーブルC2およびケーブルガイドG3,G4の取付設定(複数でもよい)を選定したとする。さらに、シミュレーションシステム900は、第2の手順を用いて、図1に示されるリンクL4,L5,L6からなる第3の部位に対する部分ケーブルC3およびケーブルガイドG3,G4の取付設定(複数でもよい)を選定したとする。 For example, it is assumed that the simulation system 900 uses the second procedure to select the mounting setting (or multiple mounting settings) of the partial cable C1 and the cable guides G1 and G2 for the first portion consisting of the links L1, L2, and L3 shown in FIG. 1. It is also assumed that the simulation system 900 uses the first procedure to select the mounting setting (or multiple mounting settings) of the partial cable C2 and the cable guides G3 and G4 for the second portion consisting of the links L3 and L4 shown in FIG. 1. It is also assumed that the simulation system 900 uses the second procedure to select the mounting setting (or multiple mounting settings) of the partial cable C3 and the cable guides G3 and G4 for the third portion consisting of the links L4, L5, and L6 shown in FIG. 1.

この場合、第1の部位と第2の部位との接合部位は、ケーブルガイドG2になり、第2の部位と第3の部位との接合部位は、ケーブルガイドG3になる。そのため、シミュレーションシステム900は、第1の部位における取付設定と、第2の部位における取付設定との中から、ケーブルガイドG2の位置および姿勢が一致する取付設定を選択する。また、シミュレーションシステム900は、第2の部位における取付設定と、第3の部位における取付設定との中から、ケーブルガイドG3の位置および姿勢が一致する取付設定を選択する。すなわち、シミュレーションシステム900は、接続可能な取付設定の組み合わせ(組み合わせ取付設定)を選定する(複数あってもよい)。ある局面において、シミュレーションシステム900は、組み合わせ取付設定を決定する際に、ケーブルの長さも条件に含めてもよい。 In this case, the joint between the first and second parts is the cable guide G2, and the joint between the second and third parts is the cable guide G3. Therefore, the simulation system 900 selects an installation setting in which the position and posture of the cable guide G2 match from among the installation settings in the first part and the installation settings in the second part. Also, the simulation system 900 selects an installation setting in which the position and posture of the cable guide G3 match from among the installation settings in the second part and the installation settings in the third part. That is, the simulation system 900 selects a combination of connectable installation settings (combined installation settings) (there may be multiple combinations). In one aspect, the simulation system 900 may also include the length of the cable as a condition when determining the combined installation setting.

シミュレーションシステム900は、多関節ロボット180のモーションを再生し(全体テストを実行し)、選定した組み合わせ取付設定におけるケーブルおよびケーブルガイドが多関節ロボット180の筐体に干渉するか否かを判定し得る。 The simulation system 900 can play back the motion of the articulated robot 180 (performing a full test) and determine whether the cables and cable guides in the selected combined mounting configuration interfere with the housing of the articulated robot 180.

このように、シミュレーションシステム900は、まず、多関節ロボット180の各部位(L1,L2,L3からなる第1の部位、L3,L4からなる第2の部位、L4,L5,L6からなる第3の部位)におけるケーブルおよびケーブルガイドの取付設定を選定する。次に、シミュレーションシステム900は、各部位の取付設定の中から接続可能な組み合わせ(組み合わせ取付設定)を選定する。そして、シミュレーションシステム900は、組み合わせ取付設定に対して、ケーブルの動きをシミュレートして、ケーブルおよびケーブルガイドが多関節ロボット180の筐体に干渉するか否かを判定し得る。また、シミュレーションシステム900は、ケーブルに過度な力がかかるか否かも判定し得る。なお、シミュレーションシステム900は、全体テストに合格した組み合わせ取付設定が複数ある場合、ケーブル長が最小となる組み合わせ取付設定を選択し得る。 In this way, the simulation system 900 first selects the installation settings of the cables and cable guides in each part of the articulated robot 180 (the first part consisting of L1, L2, and L3, the second part consisting of L3 and L4, and the third part consisting of L4, L5, and L6). Next, the simulation system 900 selects a connectable combination (combined installation setting) from the installation settings of each part. The simulation system 900 can then simulate the movement of the cables for the combined installation setting and determine whether the cables and cable guides interfere with the housing of the articulated robot 180. The simulation system 900 can also determine whether excessive force is applied to the cables. Note that when there are multiple combined installation settings that have passed the overall test, the simulation system 900 can select the combined installation setting that provides the shortest cable length.

(e.取付設定のパラメータ)
図3は、取付設定のパラメータの例を示す図である。多関節ロボット180のリンクL3,L4,L5,L6を例に、取付設定のパラメータについて説明する。
(e. Mounting Settings Parameters)
3 is a diagram showing an example of parameters for the mounting settings, which will be described below with reference to the links L3, L4, L5, and L6 of the articulated robot 180 as an example.

取付設定は、ケーブルガイドの位置および姿勢と、ケーブルガイド間のケーブルの長さとを含む。例えば、シミュレーションシステム900は、リンクL3,L4からなる部位の難姿勢を求めたとする。この場合、シミュレーションシステム900は、難姿勢を取るリンクL3,L4からなる部位に対するケーブルガイドG2,G3の取付設定を求める。ケーブルガイドG2,G3の取付設定は、位置および姿勢の2つのパラメータを含み得る。位置は、3D空間内におけるケーブルガイドの座標により規定され得る。また、姿勢はケーブルガイドのヨー軸、ピッチ軸、ロール軸の角度により規定され得る。また、シミュレーションシステム900は、ケーブルガイドG2,G3を通過する部分ケーブルC2の長さの設定を求める。 The installation settings include the position and posture of the cable guide, and the length of the cable between the cable guides. For example, the simulation system 900 determines a difficult posture for a section consisting of links L3 and L4. In this case, the simulation system 900 determines the installation settings of cable guides G2 and G3 for the section consisting of links L3 and L4 that assumes the difficult posture. The installation settings of cable guides G2 and G3 may include two parameters: position and posture. The position may be specified by the coordinates of the cable guide in 3D space. Furthermore, the posture may be specified by the angles of the yaw axis, pitch axis, and roll axis of the cable guide. Furthermore, the simulation system 900 determines the setting of the length of partial cable C2 that passes through cable guides G2 and G3.

同様の手順で、シミュレーションシステム900は、リンクL4,L5,L6からなる部位の難姿勢を求めたとする。この場合、シミュレーションシステム900は、難姿勢を取るリンクL4,L5,L6からなる部位に対するケーブルガイドG3,G4の取付設定を求める。また、シミュレーションシステム900は、ケーブルガイドG3,G4を通過する部分ケーブルC3の長さの設定を求める。 In a similar manner, the simulation system 900 determines the difficult posture of the part consisting of links L4, L5, and L6. In this case, the simulation system 900 determines the installation settings of cable guides G3 and G4 for the part consisting of links L4, L5, and L6 that will assume the difficult posture. The simulation system 900 also determines the setting of the length of partial cable C3 that passes through cable guides G3 and G4.

シミュレーションシステム900は、1つの難姿勢に対して、3D空間内におけるケーブルおよびケーブルガイドの取り付け位置をシミュレートすることで、ケーブルおよびケーブルガイドが多関節ロボット180に干渉しない取付設定を複数個選択し得る。 The simulation system 900 can simulate the installation positions of the cables and cable guides in 3D space for one difficult posture, and can select multiple installation settings in which the cables and cable guides do not interfere with the articulated robot 180.

図4は、ケーブルガイドの取付位置の例を示す図である。図4に示す図では、シミュレーションシステム900は、ケーブルガイドG3を3D空間170上に取り付けている。まず、シミュレーションシステム900は、3D空間170におけるケーブルガイドG3の座標を決定し得る。次に、シミュレーションシステム900は、ケーブルガイドG3の姿勢(ヨー軸、ピッチ軸、ロール軸の角度)を決定する。こうすることで、シミュレーションシステム900は、ケーブルガイドG3をリンクL4に取り付け得る。 Figure 4 is a diagram showing an example of the mounting position of the cable guide. In the diagram shown in Figure 4, the simulation system 900 mounts the cable guide G3 on the 3D space 170. First, the simulation system 900 can determine the coordinates of the cable guide G3 in the 3D space 170. Next, the simulation system 900 determines the attitude of the cable guide G3 (angles of the yaw axis, pitch axis, and roll axis). In this way, the simulation system 900 can mount the cable guide G3 to the link L4.

図5は、取付設定の検証の例を示す図である。実際には、取付設定は複数存在し得る。例えば、シミュレーションシステム900は、リンクL3,L4からなる部位に対する部分ケーブルC2およびケーブルガイドG2,G3の取付設定を求めるとする。このとき、シミュレーションシステム900は、考えられるケーブルガイドG2,G3の取付位置および姿勢と、部分ケーブルC2の長さとの組み合わせを選定する。次に、シミュレーションシステム900は、これらの組み合わせの中で、ケーブルおよびケーブルガイドが多関節ロボット180に干渉しないものを、取付設定に含める。 Figure 5 is a diagram showing an example of verifying the installation settings. In reality, there may be multiple installation settings. For example, the simulation system 900 determines the installation settings of the partial cable C2 and the cable guides G2 and G3 for the part consisting of the links L3 and L4. At this time, the simulation system 900 selects possible combinations of the installation positions and postures of the cable guides G2 and G3 and the length of the partial cable C2. Next, the simulation system 900 includes, among these combinations, those in which the cable and cable guide do not interfere with the articulated robot 180 in the installation settings.

<B.システム構成>
次に、図6~図9を参照して、本発明を適用可能な制御ユニットと、シミュレーションシステム900を実現するための装置と、シミュレーションシステム900の各機能とについて説明する。
B. System Configuration
Next, a control unit to which the present invention can be applied, an apparatus for realizing a simulation system 900, and each function of the simulation system 900 will be described with reference to FIGS.

図6は、本実施の形態に従うシミュレーションシステム900によってシミュレーションされる制御システム2を模式的に示す図である。制御システム2は、例えば、多関節ロボット180等を含み、FAのラインの一部を構成し得る。 Figure 6 is a diagram that shows a schematic diagram of a control system 2 that is simulated by a simulation system 900 according to the present embodiment. The control system 2 may include, for example, an articulated robot 180, and may form part of an FA line.

制御システム2は、PLC200、ロボットコントローラ310およびサーボモータドライバ531,532を含む。PLC200、ロボットコントローラ310およびサーボモータドライバ531,532は、フィールドネットワーク22を介してデイジーチェーンで接続されている。フィールドネットワーク22には、たとえば、EtherCAT(登録商標)が採用される。但し、フィールドネットワーク22は、EtherCATに限定されない。PLC200には、ネットワーク80を介して装置100が接続され得る(図7参照)。ネットワーク80には、有線または無線の任意の通信手段が採用され得る。PLC200および装置100は、例えばUSB(Universal Serial Bus)に従い通信する。例えば、装置100は、シミュレーションシステム900の機能を含んでいてもよい。 The control system 2 includes a PLC 200, a robot controller 310, and servo motor drivers 531 and 532. The PLC 200, the robot controller 310, and the servo motor drivers 531 and 532 are connected in a daisy chain via a field network 22. For example, EtherCAT (registered trademark) is used for the field network 22. However, the field network 22 is not limited to EtherCAT. The device 100 may be connected to the PLC 200 via a network 80 (see FIG. 7). Any wired or wireless communication means may be used for the network 80. The PLC 200 and the device 100 communicate with each other according to, for example, a Universal Serial Bus (USB). For example, the device 100 may include the functions of a simulation system 900.

PLC200は、設計された制御プログラムをフィールドネットワーク22からのセンサの出力値などを含むフィールド値に基づき実行し、実行の結果に従ってロボットコントローラ310またはサーボモータドライバ531,532に対して、それぞれ目標値を与えることで、ロボット30およびコンベア230の搬送に関連する機器などを制御する。PLC200、ロボットコントローラ310、サーボモータドライバ531,532およびロボットハンド210は、互いに時刻同期されたタイマ90、91,92,93、94をそれぞれ有し、機器の間では、これらタイマに基き動作することで、制御指令を含むデータの送受信タイミングが同期されている。 The PLC 200 executes the designed control program based on field values including sensor output values from the field network 22, and controls the robot 30 and devices related to the transport of the conveyor 230 by providing target values to the robot controller 310 or servo motor drivers 531, 532 according to the execution results. The PLC 200, robot controller 310, servo motor drivers 531, 532, and robot hand 210 each have timers 90, 91, 92, 93, 94 that are time-synchronized with each other, and the timing of sending and receiving data including control commands is synchronized between the devices by operating based on these timers.

サーボモータドライバ531,532は、コンベア230のサーボモータ41,42を駆動する。サーボモータ41,42の回転軸にはエンコーダ236,238が設けられている。当該エンコーダは、サーボモータ41,42のフィードバック値として、サーボモータの位置(回転角度)、回転速度、累積回転数などをPLC200へ出力する。 Servomotor drivers 531 and 532 drive servomotors 41 and 42 of the conveyor 230. Encoders 236 and 238 are provided on the rotation shafts of the servomotors 41 and 42. The encoders output the servomotor position (rotation angle), rotation speed, cumulative number of rotations, etc. as feedback values for the servomotors 41 and 42 to the PLC 200.

ロボット30とコンベア230は、相互に連携しながらワーク232を移動させる。なお、ここでは説明を簡単にするために、ワーク232の移動を説明するが、ロボット30とコンベア230の機能は、ワーク232の移動に限定されない。例えば、ロボット30とコンベア230の機能は、トレイ9に載置されたワーク232のロボット30による加工であってもよい。 The robot 30 and the conveyor 230 work together to move the workpiece 232. Note that, for simplicity, the movement of the workpiece 232 will be described here, but the function of the robot 30 and the conveyor 230 is not limited to the movement of the workpiece 232. For example, the function of the robot 30 and the conveyor 230 may be the processing of the workpiece 232 placed on the tray 9 by the robot 30.

図6では、ロボット30のドライブ装置の一例として、ロボット30に設けられるサーボモータ1301、1302,1033,1304(以下、「ロボットサーボモータ」とも総称する。)と、ロボットサーボモータを駆動するロボットコントローラ310を例示する。同様に、コンベア230のドライブ装置の一例として、コンベア230に設けられるサーボモータ41,42を駆動するサーボモータドライバ531,532を例示する。 In FIG. 6, as an example of a drive device for the robot 30, servo motors 1301, 1302, 1033, and 1304 (hereinafter collectively referred to as "robot servo motors") provided on the robot 30 and a robot controller 310 that drives the robot servo motors are shown. Similarly, as an example of a drive device for the conveyor 230, servo motor drivers 531 and 532 that drive servo motors 41 and 42 provided on the conveyor 230 are shown.

ロボットコントローラ310は、ロボット30のロボットサーボモータを駆動する。各ロボットサーボモータの回転軸にはエンコーダ(図示しない)が設けられている。当該エンコーダは、ロボットサーボモータのフィードバック値として、サーボモータの位置(回転角度)、回転速度、累積回転数などをロボットコントローラ310へ出力する。 The robot controller 310 drives the robot servo motors of the robot 30. An encoder (not shown) is provided on the rotation shaft of each robot servo motor. The encoder outputs the position (rotation angle), rotation speed, cumulative number of rotations, etc. of the servo motor as feedback values for the robot servo motor to the robot controller 310.

サーボモータドライバ531,532は、指令値に従い、対応するサーボモータ41,42を駆動する。制御システム2は、さらに、コンベア230に関連して光電センサ6および開閉可能なストッパ8を備える。光電センサ6は、コンベア230の搬送面上に備えられるトレイ9が所定のワークトラッキングエリアの前に到達したことを検出し、検出値をPLC200に送信する。ストッパ8は、指令値に従い、トラッキングエリア内に到達したトレイ9を停止(固定)させるように閉動作する。 The servo motor drivers 531, 532 drive the corresponding servo motors 41, 42 according to the command values. The control system 2 further includes a photoelectric sensor 6 and an openable/closable stopper 8 associated with the conveyor 230. The photoelectric sensor 6 detects that a tray 9 provided on the transport surface of the conveyor 230 has arrived in front of a specified work tracking area, and transmits the detection value to the PLC 200. The stopper 8 closes according to the command value to stop (fix) the tray 9 that has arrived within the tracking area.

ロボット30のロボットハンド210は、工程に応じて取付けられる。ロボットハンド210の種類は、例えば平行ハンド、多指ハンド、多指関節ハンドなどを含むが、これら限定されず、例えば吸着式によりワーク232をピックおよびプレースする種類も含み得る。 The robot hand 210 of the robot 30 is attached according to the process. The types of the robot hand 210 include, but are not limited to, parallel hands, multi-fingered hands, and multi-jointed hands, and may also include types that pick and place the workpiece 232 by suction.

ロボット30は、ロボットコントローラ310からの指令値に従い、ピックアンドプレースを実施する。具体的には、ロボット30は、コンベア230上のトレイ9に載置されたワーク232をロボットハンド210によりピックし、ピックしたまま所定位置のテーブル55までワーク232を移動させてテーブル55上に置く(プレースする)。ロボットハンド210では、ワーク232をピックまたはプレースするためのハンドの開閉動作は、ロボットコントローラ310からの指令値に従って制御される。 The robot 30 performs pick-and-place in accordance with command values from the robot controller 310. Specifically, the robot 30 picks up the workpiece 232 placed on the tray 9 on the conveyor 230 with the robot hand 210, moves the picked-up workpiece 232 to a predetermined position on the table 55, and places it on the table 55. In the robot hand 210, the opening and closing operation of the hand for picking or placing the workpiece 232 is controlled in accordance with command values from the robot controller 310.

図7は、制御システム2のユニット構成の一例を示す模式図である。制御システム2は、PLC200と、PLC200とフィールドネットワーク22を介して接続されるサーボモータドライバ531,532およびIOリモートターミナル5と、ケーブル340を介してロボットハンド210およびアーム301に接続されるロボットコントローラ310と、フィールドに設けられたIOデバイスである例えば、光電センサ6、ストッパ8が備える近接センサ87およびエンコーダ236、238とを含む。 Figure 7 is a schematic diagram showing an example of the unit configuration of the control system 2. The control system 2 includes a PLC 200, servo motor drivers 531, 532 and an IO remote terminal 5 connected to the PLC 200 via a field network 22, a robot controller 310 connected to the robot hand 210 and arm 301 via a cable 340, and IO devices provided in the field, such as a photoelectric sensor 6, a proximity sensor 87 provided on the stopper 8, and encoders 236, 238.

PLC200は、主たる演算処理を実行する演算ユニット13、1つ以上のIOユニット14および特殊ユニット17を含む。これらのユニットは、システムバス81を介して、データを互いに遣り取りできるように構成されるとともに、電源ユニット12から電源が供給される。演算ユニット13には、装置100が接続され得る。 The PLC 200 includes an arithmetic unit 13 that performs the main arithmetic processing, one or more IO units 14, and a special unit 17. These units are configured to be able to exchange data with each other via a system bus 81, and are supplied with power from a power supply unit 12. A device 100 can be connected to the arithmetic unit 13.

IOユニット14は、光電センサ6、ストッパ8の近接センサ87、エンコーダ236,238などを含むIOデバイスから検出値61、71および237および239を収集する。近接センサ87は、ストッパ8に対するトレイ9が所定距離まで接近したことを非接触で検出する。各IOデバイスからの検出値は、例えばIOユニット14が備えるメモリに設定(書込)される。演算ユニット13は、IOユニット14により収集された値を用いて制御プログラムの演算を実行し、演算結果の値をIOユニット14のメモリに設定(書込)する。周辺機器またはIOデバイスは、IOユニット14のメモリの値を参照して動作する。 The IO unit 14 collects detection values 61, 71, 237, and 239 from IO devices including the photoelectric sensor 6, the proximity sensor 87 of the stopper 8, and the encoders 236, 238. The proximity sensor 87 detects in a non-contact manner that the tray 9 has approached the stopper 8 to a predetermined distance. The detection values from each IO device are set (written) in, for example, a memory provided in the IO unit 14. The calculation unit 13 executes calculations of the control program using the values collected by the IO unit 14, and sets (writes) the values of the calculation results in the memory of the IO unit 14. The peripheral devices or IO devices operate by referring to the values in the memory of the IO unit 14.

フィールドネットワーク22は、ロボットコントローラ310、サーボモータドライバ531,532、およびIOリモートターミナル5が接続されてもよい。IOリモートターミナル5は、フィールドネットワーク22でのデータ伝送にかかる処理を行うための通信カプラ52と、1つ以上のIOユニット53とを含む。これらのユニットは、リモートIOターミナルバス51を介して、データを互いに遣り取りできるように構成される。 The field network 22 may be connected to a robot controller 310, servo motor drivers 531, 532, and an IO remote terminal 5. The IO remote terminal 5 includes a communication coupler 52 for performing processing related to data transmission in the field network 22, and one or more IO units 53. These units are configured to be able to exchange data with each other via a remote IO terminal bus 51.

サーボモータドライバ531,532は、フィールドネットワーク22を介して演算ユニット13と接続されるとともに、演算ユニット13からの指令値に従ってサーボモータ41,42を駆動する。演算ユニット13は、これら指令値を、エンコーダ236,238からの検出値237,239に基づいて生成する。 The servo motor drivers 531 and 532 are connected to the arithmetic unit 13 via the field network 22, and drive the servo motors 41 and 42 according to command values from the arithmetic unit 13. The arithmetic unit 13 generates these command values based on the detection values 237 and 239 from the encoders 236 and 238.

演算ユニット13は、上記に述べたIOデバイスからの検出値を参照して、所定の制御プログラムを実行することで、ロボット30にピックアンドプレースを実施させる。具体的には、演算ユニット13は、光電センサ6の検出値61および近接センサ87の検出値71からワーク232が、所定のトラッキングエリアに接近したことを検出すると、ピックアンドプレースを実施するロボットのアーム301のための制御指令211と、ロボットハンド210のための制御指令222を生成し、ロボットコントローラ310を介してケーブル340を経由して、当該制御指令222をロボット30に出力する。 The arithmetic unit 13 executes a predetermined control program by referring to the detection values from the IO devices described above, causing the robot 30 to perform pick-and-place. Specifically, when the arithmetic unit 13 detects that the workpiece 232 has approached a predetermined tracking area from the detection value 61 of the photoelectric sensor 6 and the detection value 71 of the proximity sensor 87, it generates a control command 211 for the arm 301 of the robot that performs pick-and-place and a control command 222 for the robot hand 210, and outputs the control command 222 to the robot 30 via the robot controller 310 and the cable 340.

シミュレーションシステム900は、図6および図7に示される制御システム2に含まれる任意の多関節ロボットにおけるケーブルおよびケーブルガイドの取付位置を決定し、ケーブルの動きをシミュレートし得る。また、ある局面において、シミュレーションシステム900は、シミュレーションを実行することで、多関節ロボットに取り付けられたケーブルおよびケーブルガイドが、図6および図7に示される各機器(多関節ロボット以外も含む)に干渉するか否かも判定し得る。 The simulation system 900 can determine the attachment positions of cables and cable guides in any of the multi-joint robots included in the control system 2 shown in Figures 6 and 7, and can simulate the movement of the cables. In addition, in some aspects, the simulation system 900 can also perform a simulation to determine whether the cables and cable guides attached to the multi-joint robot interfere with each device (including devices other than the multi-joint robot) shown in Figures 6 and 7.

図8は、シミュレーションシステム900を構成する装置800の一例を示す図である。装置800は、コンピュータ等の情報処理装置であり、シミュレーションシステム900として動作し得る。ある局面において、シミュレーションシステム900は、複数の装置800、装置800のハードウェア構成の少なくとも一部を備えるシステム、装置800のハードウェア構成の少なくとも一部を備えるクラウド環境上の仮想マシン等により実現されてもよい。また、装置800は、図7に示される装置100として使用されてもよい。 Figure 8 is a diagram showing an example of an apparatus 800 constituting a simulation system 900. The apparatus 800 is an information processing apparatus such as a computer, and can operate as the simulation system 900. In one aspect, the simulation system 900 may be realized by a plurality of the apparatuses 800, a system having at least a part of the hardware configuration of the apparatuses 800, a virtual machine on a cloud environment having at least a part of the hardware configuration of the apparatuses 800, or the like. The apparatus 800 may also be used as the apparatus 100 shown in Figure 7.

装置800は、主たるコンポーネントとして、オペレーティングシステム(OS:Operating System)およびOS上で動作するプログラムを実行するプロセッサ102と、プロセッサ102によるプログラムの実行に必要なデータを格納するための作業領域を提供する主メモリ104と、キーボードやマウス等のユーザ操作を受付ける操作ユニット106(操作受付部)と、ディスプレイ109、各種インジケータ、プリンタ等の処理結果を出力する出力ユニット108と、ネットワーク80を含む各種ネットワークに接続されるネットワークインターフェイス110と、光学ドライブ112と、外部装置と通信するローカル通信インターフェイス116と、ストレージ111とを含む。これらのコンポーネントは、内部バス118等を介してデータ通信可能に接続される。 The device 800 includes, as its main components, a processor 102 that executes an operating system (OS) and programs that run on the OS, a main memory 104 that provides a working area for storing data necessary for the processor 102 to execute the programs, an operation unit 106 (operation reception unit) that receives user operations such as a keyboard and mouse, a display 109, various indicators, an output unit 108 that outputs processing results such as a printer, a network interface 110 that is connected to various networks including the network 80, an optical drive 112, a local communication interface 116 that communicates with external devices, and a storage 111. These components are connected to enable data communication via an internal bus 118 or the like.

装置800は、光学ドライブ112を有しており、コンピュータ読取可能なプログラムを非一過的に格納する光学記録媒体(例えば、DVD(Digital Versatile Disc)等)を含むコンピュータ読取可能な記録媒体114から各種プログラムを読み取って、ストレージ111等に当該各種プログラムをインストールしてもよい。 The device 800 has an optical drive 112, and may read various programs from a computer-readable recording medium 114, including an optical recording medium (e.g., a DVD (Digital Versatile Disc)) that non-transiently stores computer-readable programs, and install the various programs in the storage 111, etc.

装置800で実行される各種プログラムは、コンピュータ読取可能な記録媒体114を介して装置800にインストールされてもよいが、ネットワーク上の図示しないサーバ装置等からネットワークインターフェイス110を介して装置800にインストールされてもよい。 The various programs executed by the device 800 may be installed on the device 800 via a computer-readable recording medium 114, or may be installed on the device 800 via a network interface 110 from a server device or the like (not shown) on the network.

ストレージ111は、例えば、HDD(Hard Disk Drive)またはSSD(Flash Solid State Drive)等で構成され、プロセッサ102で実行されるプログラムを格納する。より具体的には、ストレージ111は、OS120と、統合開発環境130とを格納する。統合開発環境130は、OS120上で動作するアプリケーションとして実現され得る。 Storage 111 is composed of, for example, a hard disk drive (HDD) or a flash solid state drive (SSD), and stores the programs executed by processor 102. More specifically, storage 111 stores OS 120 and integrated development environment 130. Integrated development environment 130 can be realized as an application that runs on OS 120.

統合開発環境130は、図1~5を参照して説明されたシミュレーションシステム900の機能を提供する。すなわち、シミュレーションシステム900の機能は、プロセッサ102が主メモリ104に展開された統合開発環境130を実行することで実現され得る。 The integrated development environment 130 provides the functionality of the simulation system 900 described with reference to Figures 1 to 5. That is, the functionality of the simulation system 900 can be realized by the processor 102 executing the integrated development environment 130 deployed in the main memory 104.

ある局面において、シミュレーションシステム900は、統合開発環境130のアドインとして実現されてもよい。また、他の局面において、シミュレーションシステム900は、単体のアプリケーションとして実現されてもよい。さらに、他の局面において、装置800は、統合開発環境130の機能の一部または全てを、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)等を用いて実現してもよい。 In one aspect, the simulation system 900 may be realized as an add-in to the integrated development environment 130. In another aspect, the simulation system 900 may be realized as a standalone application. In still another aspect, the device 800 may realize some or all of the functions of the integrated development environment 130 using an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array), etc.

図9は、シミュレーションシステム900の機能構成の一例を示す図である。図9に示される各機能構成は、プログラムコンポーネントとして実現され得る。この場合、各機能構成は、ソフトウェアとして、装置800のハードウェア上で動作し得る。 Figure 9 is a diagram showing an example of the functional configuration of the simulation system 900. Each functional configuration shown in Figure 9 can be realized as a program component. In this case, each functional configuration can operate as software on the hardware of the device 800.

シミュレーションシステム900は、機能構成として、モーション取得部901と、部位シミュレーション部902と、組み合わせ選択部903と、組み合わせに対するシミュレーション部904と、グローバル最適設定出力部905とを備える。また、部位シミュレーション部902は、難姿勢検出部906と、ガイド取付部907と、ケーブル取付部908と、シミュレーション実行部909と、ロバストネス判定部910とを含む。 The simulation system 900 has, as its functional configuration, a motion acquisition unit 901, a part simulation unit 902, a combination selection unit 903, a simulation unit for combinations 904, and a global optimal setting output unit 905. The part simulation unit 902 also includes a difficult posture detection unit 906, a guide attachment unit 907, a cable attachment unit 908, a simulation execution unit 909, and a robustness determination unit 910.

モーション取得部901は、多関節ロボットの時系列のモーションを取得する。例えば、モーション取得部901は、多関節ロボットのプログラムを取得して、当該プログラムを解析して、または、当該プログラムに基づいて多関節ロボットを3D空間で動作させることにより、多関節ロボットのモーションを取得する。 The motion acquisition unit 901 acquires the time-series motion of the articulated robot. For example, the motion acquisition unit 901 acquires the motion of the articulated robot by acquiring a program for the articulated robot and analyzing the program, or by operating the articulated robot in a 3D space based on the program.

部位シミュレーション部902は、多関節ロボットの各部位(図1におけるリンクL3,L4からなる部位等)におけるシミュレーションを実行することで、多関節ロボットの各部位において多関節ロボットの筐体と干渉しないケーブルおよびケーブルガイドの取付設定を求める。部位シミュレーション部902は、図1を参照して説明されたシミュレーションの第1の手順および第2の手順を実行する。 The part simulation unit 902 executes a simulation for each part of the articulated robot (such as the part consisting of links L3 and L4 in FIG. 1) to determine the installation settings of the cables and cable guides at each part of the articulated robot that do not interfere with the housing of the articulated robot. The part simulation unit 902 executes the first and second steps of the simulation described with reference to FIG. 1.

難姿勢検出部906は、多関節ロボットの各部位における難姿勢を検出する。図1に示される多関節ロボット180を例に説明すると、難姿勢検出部906は、L1,L2,L3からなる部位の難姿勢と、L3,L4からなる部位の難姿勢と、L4,L5,L6からなる部位の難姿勢とを検出する。 The difficult posture detection unit 906 detects difficult postures in each part of the articulated robot. Taking the articulated robot 180 shown in FIG. 1 as an example, the difficult posture detection unit 906 detects difficult postures in the part consisting of L1, L2, and L3, difficult postures in the part consisting of L3 and L4, and difficult postures in the part consisting of L4, L5, and L6.

ガイド取付部907は、難姿勢を取る多関節ロボットの各部位にケーブルガイドを取り付ける。より具体的には、ガイド取付部907は、難姿勢を取る多関節ロボットの各部位に適用可能なケーブルガイドの取付設定を総当たりで検出し得る。ケーブルガイドの取付設定は、ケーブルガイドの3D空間内の座標と、ケーブルガイドの姿勢(ヨー軸、ピッチ軸、ロール軸の角度)とをパラメータとして含み得る。ガイド取付部907は、多関節ロボットの部位毎に、1以上のケーブルガイドの取付設定を特定し得る。 The guide attachment unit 907 attaches cable guides to each part of the articulated robot that can assume a difficult posture. More specifically, the guide attachment unit 907 can brute-force detect cable guide attachment settings that can be applied to each part of the articulated robot that can assume a difficult posture. The cable guide attachment settings can include the coordinates of the cable guide in 3D space and the posture of the cable guide (angles of the yaw axis, pitch axis, and roll axis) as parameters. The guide attachment unit 907 can identify one or more cable guide attachment settings for each part of the articulated robot.

ケーブル取付部908は、難姿勢を取る多関節ロボットの各部位にケーブルを取り付ける。より具体的には、ガイド取付部907は、ガイド取付部907が取り付けたケーブルガイドを通過するようにケーブルを取り付ける。ケーブルの取付設定は、ケーブルの位置および長さをパラメータとして含む。ケーブル取付部908は、多関節ロボットの部位毎に、1以上のケーブルの取付設定を特定し得る。 The cable attachment unit 908 attaches cables to each part of the articulated robot that is prone to assume difficult postures. More specifically, the guide attachment unit 907 attaches the cables so that they pass through the cable guides attached by the guide attachment unit 907. The cable attachment settings include the position and length of the cable as parameters. The cable attachment unit 908 can specify one or more cable attachment settings for each part of the articulated robot.

シミュレーション実行部909は、ガイド取付部907およびケーブル取付部908によって選択された取付設定を用いて、多関節ロボットの各部位のシミュレーションを個別に実行して(多関節ロボットの各部位のモーションを実行して)、ケーブルの動きをシミュレートする。多関節ロボット180を例に説明すると、シミュレーション実行部909は、リンクL1,L2,L3からなる部位のシミュレーションと、リンクL3,L4からなる部位のシミュレーションと、リンクL4,L5,L6からなる部位のシミュレーションとを個別に実行する。シミュレーション実行部909は、各取付設定において、ケーブルまたはケーブルガイドが多関節ロボットの筐体に干渉するか、または/およびケーブルに過度な力がかかるか否かを検証する。シミュレーション実行部909は、ある取付設定をテストした場合に、ケーブルまたはケーブルガイドが多関節ロボットの筐体に干渉しない場合、当該取付設定はシミュレーション(テスト)に合格したと判定し得る。 The simulation execution unit 909 uses the mounting settings selected by the guide mounting unit 907 and the cable mounting unit 908 to individually perform a simulation of each part of the articulated robot (execute the motion of each part of the articulated robot) to simulate the movement of the cable. Taking the articulated robot 180 as an example, the simulation execution unit 909 individually performs a simulation of the part consisting of links L1, L2, and L3, a simulation of the part consisting of links L3 and L4, and a simulation of the part consisting of links L4, L5, and L6. The simulation execution unit 909 verifies whether the cable or cable guide interferes with the housing of the articulated robot and/or whether excessive force is applied to the cable in each mounting setting. When a certain mounting setting is tested and the cable or cable guide does not interfere with the housing of the articulated robot, the simulation execution unit 909 can determine that the mounting setting has passed the simulation (test).

ロバストネス判定部910は、シミュレーション実行部909によるシミュレーションに合格した各取付設定が予め定められたロバストネスを有するか否かを判定する。予め定められたロバストネスは、例えば、ケーブルの長さがある程度変化してもケーブルが多関節ロボットの筐体に干渉せず、かつ、ケーブルに過度な力がかからない条件を満たすことを意味する。一例として、予め定められたロバストネスが「20mm」である場合に、ケーブルの取付設定に含まれるケーブル長が「Nmm」であるとする。この場合、ケーブル長が「N+20mm」または「N-20mm」であっても、ケーブルが多関節ロボットの筐体に干渉せずにケーブルに過度な力がかからなければ、ロバストネス判定部910は、当該ケーブルの取付設定は予め定められたロバストネスを有すると判定する。 The robustness determination unit 910 determines whether each installation setting that passed the simulation by the simulation execution unit 909 has a predetermined robustness. The predetermined robustness means, for example, that the condition is met in which the cable does not interfere with the housing of the articulated robot and excessive force is not applied to the cable even if the length of the cable changes to a certain extent. As an example, when the predetermined robustness is "20 mm", the cable length included in the installation setting of the cable is "N mm". In this case, even if the cable length is "N + 20 mm" or "N - 20 mm", if the cable does not interfere with the housing of the articulated robot and excessive force is not applied to the cable, the robustness determination unit 910 determines that the installation setting of the cable has the predetermined robustness.

部位シミュレーション部902は、各部位ごとに、シミュレーションに合格し、予め定められたロバストネスを有する各部位の取付設定(複数あってもよい)を組み合わせ選択部903に出力する。 The part simulation unit 902 outputs to the combination selection unit 903 the installation settings (there may be multiple) for each part that pass the simulation and have a predetermined robustness.

組み合わせ選択部903は、部位シミュレーション部902から取得した各部位ごとの取付設定の組み合わせを選択する。多関節ロボット180を例に説明すると、組み合わせ選択部903は、L1,L2,L3からなる部位の取付設定と、L3,L4からなる部位の取付設定とを組み合わせる場合、ケーブルガイドG2の取付位置(座標および姿勢)が一致するものを組み合わせる。同様に、L3,L4からなる部位の取付設定と、L4,L5,L6からなる部位の取付設定とを組み合わせる場合、ケーブルガイドG3の取付位置(座標および姿勢)が一致するものを組み合わせる。このようにして、組み合わせ選択部903は、各部位の取付設定の組み合わせを選択する(組み合わせ取付設定を選択する)。 The combination selection unit 903 selects a combination of mounting settings for each part obtained from the part simulation unit 902. Taking the articulated robot 180 as an example, when the combination selection unit 903 combines the mounting settings of a part consisting of L1, L2, and L3 with the mounting settings of a part consisting of L3 and L4, it combines those in which the mounting position (coordinates and posture) of the cable guide G2 matches. Similarly, when the mounting setting of a part consisting of L3 and L4 is combined with the mounting setting of a part consisting of L4, L5, and L6, it combines those in which the mounting position (coordinates and posture) of the cable guide G3 matches. In this way, the combination selection unit 903 selects a combination of mounting settings for each part (selects a combined mounting setting).

組み合わせに対するシミュレーション部904は、組み合わせ選択部903によって選択された組み合わせ取付設定に対して、シミュレーション(全体テスト)を実行する。組み合わせに対するシミュレーション部904は、多関節ロボットのモーションを実行し、ケーブルまたはケーブルガイドが多関節ロボット全体に干渉せず、ケーブルに過度な力がかからない場合、テスト対象の組み合わせ取付設定はシミュレーション(全体テスト)に合格したと判定し得る。 The combination simulation unit 904 executes a simulation (overall test) for the combination installation setting selected by the combination selection unit 903. The combination simulation unit 904 executes the motion of the articulated robot, and if the cables or cable guides do not interfere with the entire articulated robot and no excessive force is applied to the cables, it can be determined that the combination installation setting being tested has passed the simulation (overall test).

グローバル最適設定出力部905は、シミュレーション(テスト)に合格した組み合わせ取付設定の中から、最もケーブル長が短いものを選択して、選択された組み合わせ取付設定をグローバル最適設定として出力する。ユーザは、グローバル最適設定に基づいて、現実の多関節ロボットに対して配線を行い得る。 The global optimum setting output unit 905 selects the combination installation setting with the shortest cable length from among the combination installation settings that passed the simulation (test), and outputs the selected combination installation setting as the global optimum setting. The user can perform wiring for the actual multi-joint robot based on the global optimum setting.

<C.シミュレーションの手順および画面>
次に、図10~図19を参照して、難姿勢を求める手順と、ケーブルおよびケーブルガイドの取付手順と、ディスプレイ109に表示される画面とについて説明する。
C. Simulation Procedure and Screens
Next, a procedure for determining an awkward posture, a procedure for attaching the cable and the cable guide, and screens displayed on the display 109 will be described with reference to FIGS.

図10は、多関節ロボットにおける難姿勢の一例を示す図である。シミュレーションシステム900は、多関節ロボットの難姿勢を検出するために、多関節ロボットのデータと、プログラムとを読み込んで、3D空間内で多関節ロボットのモーションを再生する。 Figure 10 shows an example of a difficult posture for an articulated robot. To detect difficult postures for an articulated robot, the simulation system 900 reads the data and program for the articulated robot and reproduces the motion of the articulated robot in 3D space.

図10の表示の例では、ディスプレイ109は、図1に示された多関節ロボット180の動作を表示している。ある局面において、シミュレーションシステム900は、図10に示されるような多関節ロボットのモーションの再生場面をディスプレイ109に表示してもよい。 In the example display of FIG. 10, the display 109 displays the motion of the articulated robot 180 shown in FIG. 1. In one aspect, the simulation system 900 may display on the display 109 a replay scene of the motion of the articulated robot as shown in FIG. 10.

シミュレーションの再生場面1005は、多関節ロボット180の基準ポーズを表示している。多関節ロボット180のリンクL3,L4の間の関節は、可動域1020の範囲で回転し得る。当該可動域1020は、リンクL3,L4の間の関節の物理的な可動範囲ではなく、多関節ロボット180がプログラムに基づいて実行するモーション内における可動範囲である。 The playback scene 1005 of the simulation shows the reference pose of the articulated robot 180. The joint between links L3 and L4 of the articulated robot 180 can rotate within a range of motion 1020. The range of motion 1020 is not the physical range of motion of the joint between links L3 and L4, but the range of motion within the motion that the articulated robot 180 executes based on a program.

シミュレーションの再生場面1010は、リンクL3,L4の間の関節が、モーション内で基準位置から反時計回りに最も大きく回転している状態を表示している。シミュレーションの再生場面1015は、リンクL3,L4の間の関節が、モーション内で基準位置から時計回りに最も大きく回転している状態を表示している。シミュレーションの再生場面1010,1015に示される状態が、リンクL3,L4の間で最もケーブルがねじれる(最もケーブルに力がかかる可能性が高い)状態であり、図2を参照して説明された第1の難姿勢および第2の難姿勢に相当する。 Simulation playback scene 1010 shows the state in which the joint between links L3 and L4 has rotated the most counterclockwise from the reference position in the motion. Simulation playback scene 1015 shows the state in which the joint between links L3 and L4 has rotated the most clockwise from the reference position in the motion. The states shown in simulation playback scenes 1010 and 1015 are the states in which the cable between links L3 and L4 is most twisted (the cable is most likely to be subjected to force), and correspond to the first and second difficult positions described with reference to FIG. 2.

シミュレーションシステム900は、多関節ロボット180のプログラムを読み込んで、多関節ロボット180のモーションを再生することで、第1の難姿勢および第2の難姿勢を検出し得る。また、シミュレーションシステム900は、ユーザに提示するために、ディスプレイ109に、シミュレーションの再生場面1005,1010,1015のような多関節ロボット180のモーションの再生および検出した難姿勢を表示してもよい。 The simulation system 900 can detect the first difficult posture and the second difficult posture by reading the program of the articulated robot 180 and replaying the motion of the articulated robot 180. The simulation system 900 may also display the replay of the motion of the articulated robot 180 and the detected difficult postures, such as the replay scenes 1005, 1010, and 1015 of the simulation, on the display 109 for presentation to the user.

図11は、難姿勢の検出の様子の一例を示す図である。シミュレーションシステム900は、多関節ロボットのモーションを再生し、タイムスタンプ毎の(時系列の)各リンクの角度を記録する。なお、各リンクの角度は、各関節の角度として表現されてもよい。図11の例では、シミュレーションシステム900は、多関節ロボット180のモーションを再生している。 Figure 11 is a diagram showing an example of how a difficult posture is detected. The simulation system 900 plays back the motion of the articulated robot and records the angle of each link (in time series) for each timestamp. Note that the angle of each link may be expressed as the angle of each joint. In the example of Figure 11, the simulation system 900 plays back the motion of the articulated robot 180.

モーションの再生場面1101は、リンクL3およびリンクL4の間の角度が最大になるときの例である。シミュレーションシステム900は、多関節ロボット180のモーションを再生していき、モーションの再生場面1101において、この場面のタイムスタンプの各リンクの角度1111を記録する。 The motion playback scene 1101 is an example of when the angle between link L3 and link L4 is at its maximum. The simulation system 900 plays back the motion of the articulated robot 180, and records the angle 1111 of each link at the timestamp of the motion playback scene 1101.

モーションの再生場面1102は、リンクL3およびリンクL4の間の角度が最小になるときの表示の例である。シミュレーションシステム900は、多関節ロボット180のモーションを再生していき、モーションの再生場面1102において、この場面のタイムスタンプの各リンクの角度1112を記録する。 The motion playback scene 1102 is an example of the display when the angle between link L3 and link L4 is at its minimum. The simulation system 900 plays back the motion of the articulated robot 180, and records the angle 1112 of each link at the timestamp of the motion playback scene 1102.

シミュレーションシステム900は、各タイムスタンプにおけるリンク間の角度を相互に比較することで、難姿勢を検出し得る。例えば、シミュレーションシステム900は、シミュレーションの再生場面1101のリンクL3の角度「211.3345」と、リンクL4の角度「-72.15571」とに基づいて、リンクL3およびリンクL4の間の角度を算出し得る。シミュレーションシステム900は、シミュレーション中においてリンクL3およびリンクL4の間の角度が最大もしくは最小になる姿勢、または、シミュレーション中においてリンクL3およびリンクL4の間の角度が最大付近もしくは最小付近になる姿勢を、リンクL3,L4からなる部位における難姿勢として検出し得る。 The simulation system 900 can detect difficult postures by comparing the angles between the links at each timestamp. For example, the simulation system 900 can calculate the angle between links L3 and L4 based on the angle of link L3 of "211.3345" and the angle of link L4 of "-72.15571" in the playback scene 1101 of the simulation. The simulation system 900 can detect, as a difficult posture in the part consisting of links L3 and L4, a posture in which the angle between links L3 and L4 during the simulation is maximum or minimum, or a posture in which the angle between links L3 and L4 during the simulation is near maximum or minimum.

図12は、各関節の角度の時系列データの一例を示す図である。図12に示される関節角度の時系列データは、隣接するリンクLの関節の角度と、リンクLn+1の関節の角度とを含む。なお、リンクLの関節は、例えばリンクLn-1およびLを接続する関節であってもよい。また、リンクLn+1の関節は、例えばリンクLおよびLn+1を接続する関節であってもよい。 Fig. 12 is a diagram showing an example of time-series data of the angles of each joint. The time-series data of the joint angles shown in Fig. 12 includes the angle of the joint of the adjacent link Ln and the angle of the joint of the link Ln +1 . Note that the joint of the link Ln may be, for example, the joint that connects the links Ln -1 and Ln . Also, the joint of the link Ln +1 may be, for example, the joint that connects the links Ln and Ln +1 .

図12の例では、タイムスタンプ「2」において、リンクLの関節の角度が最大値「90」になり、タイムスタンプ「3」において、リンクLn+1の関節の角度が最大値「90」になっている。例えば、リンクLの関節と、リンクLn+1の関節とを介して接続されるリンクからなる部位にケーブルを取り付ける場合、難姿勢の数はリンクの数だけ増加する(リンクLの関節の角度が最大値および最小値、およびリンクLn+1の関節の角度が最大値および最小値)。 12, at time stamp "2", the angle of the joint of link Ln is the maximum value "90", and at time stamp "3", the angle of the joint of link Ln +1 is the maximum value "90". For example, when attaching a cable to a part consisting of links connected via the joint of link Ln and the joint of link Ln +1 , the number of difficult postures increases by the number of links (the angle of the joint of link Ln is the maximum value and the minimum value, and the angle of the joint of link Ln +1 is the maximum value and the minimum value).

図13は、ケーブルのロバストネスの条件の一例を示す図である。シミュレーションシステム900が、設定(ケーブル長)を変更しながら、多関節ロボット180のリンクL3,L4間にケーブルを取り付けてシミュレーションを実行したとする。その結果、「220mm」以下のケーブルが不合格になり、「240mm」以上のケーブルが合格になったとする。ここでの合格は、ケーブルが多関節ロボット180の筐体に干渉しないこと、または、ケーブルが多関節ロボット180の筐体に干渉しないおよびケーブルに過度な力がかからないことを意味する。 Figure 13 is a diagram showing an example of the conditions for cable robustness. Assume that the simulation system 900 performs a simulation by attaching a cable between links L3 and L4 of the articulated robot 180 while changing the settings (cable length). As a result, assume that cables of "220 mm" or less fail, and cables of "240 mm" or more pass. Pass here means that the cable does not interfere with the housing of the articulated robot 180, or that the cable does not interfere with the housing of the articulated robot 180 and excessive force is not applied to the cable.

ここで、ロバストネスの条件が「40mm」であるとする。この場合、ある取付設定のケーブル長をシミュレーションで求めた本来の長さから「40mm」長くまたは短くした場合でも、当該取付設定はシミュレーションに合格可能でなくてはならない。 Here, let's say the robustness condition is "40 mm." In this case, even if the cable length of a certain installation setting is "40 mm" longer or shorter than the original length obtained by simulation, the installation setting must be able to pass the simulation.

ある取付設定のケーブル長が「240mm」の場合、ケーブル長を本来の長さから「40mm」短くすると「200mm」になり、当該取付設定はシミュレーションに不合格になる。そのため、シミュレーションシステム900は、ケーブル長「240mm」の取付設定を、ロバストネスを満たさないとして、リンクL3,L4間のケーブルの取付設定の候補から除外する。シミュレーションシステム900は、ケーブル長「280mm」以上の取付設定を、ロバストネスを満たすとして、リンクL3,L4間のケーブルの取付設定の候補に含める。 If the cable length of a certain installation setting is "240 mm," shortening the cable length by "40 mm" from the original length will result in "200 mm," and the installation setting will fail the simulation. Therefore, the simulation system 900 excludes the installation setting with a cable length of "240 mm" from the candidates for the installation setting of the cable between links L3 and L4, as it does not satisfy robustness. The simulation system 900 includes installation settings with a cable length of "280 mm" or more as candidates for the installation setting of the cable between links L3 and L4, as it satisfies robustness.

ある局面において、シミュレーションシステム900は、操作ユニット106またはネットワークインターフェイス110を介して、ロバストネスの条件を取得してもよい。 In one aspect, the simulation system 900 may obtain robustness conditions via the operation unit 106 or the network interface 110.

図14は、ケーブルおよびケーブルガイドの取付シミュレーションの表示の第1の例を示す図である。画面1400では、シミュレーションシステム900は、多関節ロボット180にケーブルおよびケーブルガイドを取り付けている。シミュレーションシステム900は、図14~図19に示されるケーブルおよびケーブルガイドの取付位置のシミュレーション画面(アニメーション)をディスプレイ109に表示し得る。ユーザは、これらのシミュレーション画面を確認することで、ケーブルおよびケーブルガイドの取付イメージを確認することができる。 Figure 14 is a diagram showing a first example of a display of a cable and cable guide installation simulation. In screen 1400, the simulation system 900 is installing a cable and a cable guide to the articulated robot 180. The simulation system 900 can display a simulation screen (animation) of the installation positions of the cable and cable guide shown in Figures 14 to 19 on the display 109. By checking these simulation screens, the user can check the installation image of the cable and cable guide.

シミュレーションシステム900は、多関節ロボット180のリンクL3,L4からなる部位を難姿勢に固定する。次に、シミュレーションシステム900は、リンクL3,L4からなる部位に部分ケーブルC2およびケーブルガイドG2,G3を取り付ける。さらに、シミュレーションシステム900は、部分ケーブルC2およびケーブルガイドG2,G3が多関節ロボット180の筐体に干渉しないか、ケーブルに過度な力がかからないかを検証する。 The simulation system 900 fixes the part of the articulated robot 180 consisting of links L3 and L4 in a difficult posture. Next, the simulation system 900 attaches partial cable C2 and cable guides G2 and G3 to the part consisting of links L3 and L4. Furthermore, the simulation system 900 verifies whether partial cable C2 and cable guides G2 and G3 do not interfere with the housing of the articulated robot 180 and whether excessive force is applied to the cable.

図15は、ケーブルおよびケーブルガイドの取付シミュレーションの表示の第2の例を示す図である。画面1500では、シミュレーションシステム900は、画面1400から、部分ケーブルC2の取付位置(位置および長さ)と、ケーブルガイドG2,G3の取付位置(位置および姿勢)とを変更している。 Figure 15 is a diagram showing a second example of the display of a cable and cable guide installation simulation. In screen 1500, the simulation system 900 changes the installation position (position and length) of partial cable C2 and the installation positions (position and posture) of cable guides G2 and G3 from screen 1400.

図16は、ケーブルおよびケーブルガイドの取付シミュレーションの表示の第3の例を示す図である。画面1600では、シミュレーションシステム900は、画面1400および画面1500から、部分ケーブルC2の取付位置(位置および長さ)と、ケーブルガイドG2,G3の取付位置(位置および姿勢)とをさらに変更している。 Figure 16 is a diagram showing a third example of the display of the cable and cable guide installation simulation. In screen 1600, the simulation system 900 has further changed the installation position (position and length) of partial cable C2 and the installation positions (position and posture) of cable guides G2 and G3 from screens 1400 and 1500.

シミュレーションシステム900は、難姿勢を取るリンクL3,L4からなる部位に対して、考えられる複数の部分ケーブルC2およびケーブルガイドG2,G3の取付設定の検証を実行する。そして、シミュレーションシステム900は、これらの検証の様子をディスプレイ109に表示し得る。 The simulation system 900 performs verification of multiple possible installation settings of partial cables C2 and cable guides G2, G3 for the part consisting of links L3, L4 that assume difficult postures. The simulation system 900 can then display the status of these verifications on the display 109.

図17は、ケーブルおよびケーブルガイドの取付シミュレーションの表示の第4の例を示す図である。画面1700では、シミュレーションシステム900は、多関節ロボット180のリンクL4,L5,L6からなる部位を難姿勢に固定する(リンクL6は非表示となっている)。次に、シミュレーションシステム900は、リンクL4,L5,L6からなる部位に部分ケーブルC3およびケーブルガイドG3,G4を取り付ける。さらに、シミュレーションシステム900は、部分ケーブルC3およびケーブルガイドG3,G4が多関節ロボット180の筐体に干渉しないか、ケーブルに過度な力がかからないかを検証する。 Figure 17 is a diagram showing a fourth example of the display of a cable and cable guide installation simulation. In screen 1700, the simulation system 900 fixes the part of the articulated robot 180 consisting of links L4, L5, and L6 in a difficult position (link L6 is not displayed). Next, the simulation system 900 attaches partial cable C3 and cable guides G3 and G4 to the part consisting of links L4, L5, and L6. Furthermore, the simulation system 900 verifies whether partial cable C3 and cable guides G3 and G4 do not interfere with the housing of the articulated robot 180 and whether excessive force is applied to the cable.

図18は、ケーブルおよびケーブルガイドの取付シミュレーションの表示の第5の例を示す図である。画面1800では、シミュレーションシステム900は、画面1700から、部分ケーブルC3の取付位置(位置および長さ)と、ケーブルガイドG3,G4の取付位置(位置および姿勢)とを変更している。 Figure 18 is a diagram showing a fifth example of the display of a cable and cable guide installation simulation. In screen 1800, the simulation system 900 has changed the installation position (position and length) of partial cable C3 and the installation positions (position and posture) of cable guides G3 and G4 from screen 1700.

図14~図18を参照して説明したように、シミュレーションシステム900は、多関節ロボット180の各部位に対して、複数のケーブルおよびケーブルガイドの取付設定を検証する。そして、シミュレーションシステム900は、これらの検証の様子をディスプレイ109に表示し得る。 As described with reference to Figures 14 to 18, the simulation system 900 verifies the installation settings of multiple cables and cable guides for each part of the articulated robot 180. The simulation system 900 can then display the status of these verifications on the display 109.

図19は、ケーブルおよびケーブルガイドの取付シミュレーションの表示の第6の例を示す図である。シミュレーションシステム900は、多関節ロボット180に備え付けられる電動チャックのコネクタ1930を含むケーブルのシミュレーションを実行してもよい。画面1910は、通常のケーブルのシミュレーションを表示している。画面1920は、コネクタ1930を含むケーブルのシミュレーションを表示している。 FIG. 19 is a diagram showing a sixth example of a display of a cable and cable guide installation simulation. The simulation system 900 may perform a simulation of a cable including a connector 1930 of an electric chuck attached to an articulated robot 180. Screen 1910 displays a simulation of a normal cable. Screen 1920 displays a simulation of a cable including a connector 1930.

<D.フローチャート>
次に、図20および図21を参照して、シミュレーションシステム900の内部処理の流れについて説明する。ある局面において、プロセッサ102は、図20および図21の処理を行うためのプログラムをストレージ111から主メモリ104に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
D. Flowchart
Next, the flow of internal processing of the simulation system 900 will be described with reference to Figures 20 and 21. In one aspect, the processor 102 may load a program for performing the processing of Figures 20 and 21 from the storage 111 into the main memory 104 and execute the program. In another aspect, a part or all of the processing may be realized as a combination of circuit elements configured to perform the processing.

図20は、シミュレーションシステム900におけるケーブルのシミュレーション手順の一例を示すフローチャートである。多関節ロボット180に取り付けるケーブルを例に以下の処理について説明する。 Figure 20 is a flowchart showing an example of a procedure for simulating a cable in the simulation system 900. The following process will be explained using an example of a cable attached to an articulated robot 180.

ステップS2005において、シミュレーションシステム900は、多関節ロボット180のモーションを取得する。ある局面において、シミュレーションシステム900は、多関節ロボット180のプログラムを解析することで、多関節ロボット180のモーションを取得してもよい。他の局面において、シミュレーションシステム900は、多関節ロボット180のプログラムに基づいて、3D空間内で多関節ロボット180を動作させることにより、多関節ロボット180のモーションを取得してもよい。 In step S2005, the simulation system 900 acquires the motion of the articulated robot 180. In one aspect, the simulation system 900 may acquire the motion of the articulated robot 180 by analyzing the program of the articulated robot 180. In another aspect, the simulation system 900 may acquire the motion of the articulated robot 180 by operating the articulated robot 180 in a 3D space based on the program of the articulated robot 180.

ステップS2010において、シミュレーションシステム900は、時系列の関節角度の組み合わせを生成する。ステップS2010の処理は、図11および図12を参照して説明した処理に相当する。シミュレーションシステム900は、多関節ロボット180における各リンクL1,L2,L3,L4,L5,L6(の関節)の時系列の関節角度の組み合わせを生成する。 In step S2010, the simulation system 900 generates a combination of joint angles in a time series. The process of step S2010 corresponds to the process described with reference to FIG. 11 and FIG. 12. The simulation system 900 generates a combination of joint angles in a time series for each of the links L1, L2, L3, L4, L5, and L6 (joints) in the articulated robot 180.

ステップS2015において、シミュレーションシステム900は、取得した時系列の関節角度の組み合わせを出力する。ある局面において、シミュレーションシステム900は、主メモリ104またはストレージ111に、取得した時系列の関節角度の組み合わせを出力してもよい。また、他の局面において、シミュレーションシステム900は、ディスプレイ109にも、取得した時系列の関節角度の組み合わせを出力してもよい。 In step S2015, the simulation system 900 outputs the acquired time-series combination of joint angles. In one aspect, the simulation system 900 may output the acquired time-series combination of joint angles to the main memory 104 or the storage 111. In another aspect, the simulation system 900 may also output the acquired time-series combination of joint angles to the display 109.

ステップS2020において、シミュレーションシステム900は、部分ケーブル(図1における部分ケーブルC1,C2,C3)毎の難姿勢におけるシミュレーションを実行する。図2を参照して説明されたシミュレーションにおける第1の手順または第2の手順に相当する。ステップS2020の詳細については、図21を参照して後述する。 In step S2020, the simulation system 900 executes a simulation in a difficult position for each partial cable (partial cables C1, C2, and C3 in FIG. 1). This corresponds to the first or second procedure in the simulation described with reference to FIG. 2. Details of step S2020 will be described later with reference to FIG. 21.

ステップS2025において、シミュレーションシステム900は、部分ケーブル毎の難姿勢におけるシミュレーションに合格したローカル最適設定の集合を出力する。一例として、部分ケーブルC2のローカル最適設定の集合は、リンクL3,L4からなる部位の第1の難姿勢における部分ケーブルC2(およびケーブルガイドG2,G3)の合格設定と、リンクL3,L4からなる部位の第2の難姿勢における部分ケーブルC2(およびケーブルガイドG2,G3)の合格設定とを含み得る。 In step S2025, the simulation system 900 outputs a set of local optimal settings that have passed the simulation in the difficult position for each partial cable. As an example, the set of local optimal settings for partial cable C2 may include a passing setting for partial cable C2 (and cable guides G2, G3) in the first difficult position of the portion consisting of links L3 and L4, and a passing setting for partial cable C2 (and cable guides G2, G3) in the second difficult position of the portion consisting of links L3 and L4.

ある局面において、シミュレーションシステム900は、主メモリ104またはストレージ111に、部分ケーブル毎のローカル最適設定の集合を出力してもよい。また、他の局面において、シミュレーションシステム900は、ディスプレイ109にも、部分ケーブル毎のローカル最適設定の集合を出力してもよい。 In one aspect, the simulation system 900 may output a set of local optimal settings for each partial cable to the main memory 104 or the storage 111. In another aspect, the simulation system 900 may also output a set of local optimal settings for each partial cable to the display 109.

ステップS2030において、シミュレーションシステム900は、部分ケーブルの組み合わせのテストを実行する。すなわち、シミュレーションシステム900は、ケーブルC(部分ケーブルC1+部分ケーブルC2+部分ケーブルC3)全体のテストを実行する。ステップS2030の処理は、図2を参照して説明された第3の手順に相当する。 In step S2030, the simulation system 900 performs a test on the combination of partial cables. That is, the simulation system 900 performs a test on the entire cable C (partial cable C1 + partial cable C2 + partial cable C3). The process of step S2030 corresponds to the third procedure described with reference to FIG. 2.

ステップS2035において、シミュレーションシステム900は、部分ケーブルの組み合わせのテストに合格した適用可能設定の集合を出力する。部分ケーブルの組み合わせのテストに合格した適用可能設定の集合は、ケーブルCの合格設定(全ての部分ケーブルの長さ(または長さおよび位置)、全てのケーブルガイドの位置および姿勢を含む)であり、ケーブルC全体の取付設定であるとも言える。 In step S2035, the simulation system 900 outputs a set of applicable settings that have passed the partial cable combination test. The set of applicable settings that have passed the partial cable combination test is the passing settings for cable C (including the lengths (or lengths and positions) of all partial cables, and the positions and postures of all cable guides), and can also be said to be the installation settings for the entire cable C.

ある局面において、シミュレーションシステム900は、主メモリ104またはストレージ111に、部分ケーブルの組み合わせのテストに合格した適用可能設定の集合を出力してもよい。また、他の局面において、シミュレーションシステム900は、ディスプレイ109にも、部分ケーブルの組み合わせのテストに合格した適用可能設定の集合を出力してもよい。 In one aspect, the simulation system 900 may output to the main memory 104 or the storage 111 a set of applicable settings that have passed the partial cable combination test. In another aspect, the simulation system 900 may also output to the display 109 a set of applicable settings that have passed the partial cable combination test.

ステップS2040において、シミュレーションシステム900は、部分ケーブルの組み合わせのテストに合格した適用可能設定の集合の中で、部分ケーブル毎のケーブル長が最短となるローカル最適設定のモーションのシミュレートを実行する。 In step S2040, the simulation system 900 simulates the motion of the local optimal setting that results in the shortest cable length for each partial cable among the set of applicable settings that have passed the partial cable combination test.

部分ケーブル毎のケーブル長が最短となるローカル最適設定とは、最もケーブルCの長さが短くなる設定である。すなわち、シミュレーションシステム900は、適用可能設定の集合の中から、最もケーブルCの長さが短くなる適用可能設定を選出し、当該選出された適用可能設定(ケーブルの取付設定)を用いて、多関節ロボット180のモーションを実行する。そして、シミュレーションシステム900は、ケーブルが多関節ロボット180に干渉しないか否か(テストに合格するか否か)を判定する。 The local optimal setting that results in the shortest cable length for each partial cable is the setting that results in the shortest length of cable C. That is, the simulation system 900 selects an applicable setting that results in the shortest length of cable C from the set of applicable settings, and executes the motion of the articulated robot 180 using the selected applicable setting (cable installation setting). The simulation system 900 then determines whether the cable does not interfere with the articulated robot 180 (whether the test is passed or not).

ステップS2045において、シミュレーションシステム900は、ローカル最適設定がステップS2040のシミュレーションに合格したか否かを判定する。シミュレーションシステム900は、ローカル最適設定がステップS2040のシミュレーションに合格したと判定した場合(ステップS2045にてYES)、制御をステップS2050に移す。そうでない場合(ステップS2045にてNO)、シミュレーションシステム900は、制御をステップS2040に移す。制御がステップS2040に戻った場合、シミュレーションシステム900は、前回テストした適用可能設定の次に最もケーブルCの長さが短くなる適用可能設定を選択し,当該適用可能設定のテストを実行する。すなわち、シミュレーションシステム900は、適用可能設定の集合の中から、ケーブルCの長さが短いものを優先してテストする。 In step S2045, the simulation system 900 determines whether the local optimal setting passed the simulation in step S2040. If the simulation system 900 determines that the local optimal setting passed the simulation in step S2040 (YES in step S2045), it transfers control to step S2050. If not (NO in step S2045), the simulation system 900 transfers control to step S2040. When control returns to step S2040, the simulation system 900 selects the applicable setting that will result in the shortest length of cable C next to the applicable setting tested last time, and performs a test of that applicable setting. In other words, the simulation system 900 prioritizes testing the applicable setting with the shortest length of cable C from the set of applicable settings.

ステップS2050において、シミュレーションシステム900は、ステップS2045のテストに合格した適用可能設定をグローバル最適設定として出力する。グローバル最適設定は、ステップS2045のテストに合格した適用可能設定の集合の中で、最もケーブルCの長さが短いものである。また、グローバル最適設定は、全ての部分ケーブル(部分ケーブルC1,C2,C3)毎の長さ(または、長さおよび位置)の設定と、全てのケーブルガイド(ケーブルガイドG1,G2,G3,G4)毎の位置および姿勢とを含む。 In step S2050, the simulation system 900 outputs the applicable settings that passed the test in step S2045 as the global optimal setting. The global optimal setting is the setting with the shortest length of cable C among the set of applicable settings that passed the test in step S2045. The global optimal setting also includes the setting of the length (or length and position) of each of all partial cables (partial cables C1, C2, C3) and the position and orientation of each of all cable guides (cable guides G1, G2, G3, G4).

図21は、ステップS2020のサブルーチンの一例を示すフローチャートである。ステップS2105において、シミュレーションシステム900は、全ての関節についてステップS2110以降の処理を実行する。 Figure 21 is a flowchart showing an example of a subroutine of step S2020. In step S2105, the simulation system 900 executes the processing from step S2110 onwards for all joints.

ステップS2110において、シミュレーションシステム900は、第1の難姿勢におけるアタッチメントシミュレーション結果を全て選択する。第1の難姿勢におけるアタッチメントシミュレーション結果とは、図2を参照して説明された第1の手順または第2の手順の結果である。例えば、リンクL3,L4からなる部位の第1の難姿勢におけるアタッチメントシミュレーション結果は、第1の難姿勢を取るリンクL3,L4に対する部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。 In step S2110, the simulation system 900 selects all of the attachment simulation results in the first difficult position. The attachment simulation results in the first difficult position are the results of the first procedure or the second procedure described with reference to FIG. 2. For example, the attachment simulation results in the first difficult position for the part consisting of links L3 and L4 include the attachment settings of the partial cable C2 and the attachment settings of the cable guides G2 and G3 for the links L3 and L4 that take the first difficult position.

ステップS2115において、シミュレーションシステム900は、第2の難姿勢におけるアタッチメントシミュレーション結果を全て選択する。第2の難姿勢におけるアタッチメントシミュレーション結果とは、図2を参照して説明された第1の手順または第2の手順の結果である。例えば、リンクL3,L4からなる部位の第2の難姿勢におけるアタッチメントシミュレーション結果は、第2の難姿勢を取るリンクL3,L4に対する部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。 In step S2115, the simulation system 900 selects all of the attachment simulation results in the second difficult position. The attachment simulation results in the second difficult position are the results of the first procedure or the second procedure described with reference to FIG. 2. For example, the attachment simulation results in the second difficult position for the part consisting of links L3 and L4 include the attachment settings of partial cable C2 and cable guides G2 and G3 for links L3 and L4 in the second difficult position.

ステップS2120において、シミュレーションシステム900は、第1の難姿勢におけるアタッチメントシミュレーション結果の中から、合格設定を全て求める。例えば、リンクL3,L4からなる部位の第1の難姿勢における合格設定は、多関節ロボット180の筐体にケーブルおよびケーブルガイドが干渉しない、部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。または、リンクL3,L4からなる部位の第1の難姿勢における合格設定は、多関節ロボット180の筐体にケーブルおよびケーブルガイドが干渉せず、かつケーブルに過度な力がかからない、部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。 In step S2120, the simulation system 900 finds all acceptable settings from the attachment simulation results in the first difficult posture. For example, the acceptable settings in the first difficult posture of the part consisting of links L3 and L4 include the attachment settings of partial cable C2 and cable guides G2 and G3 in which the cable and cable guide do not interfere with the housing of the articulated robot 180. Alternatively, the acceptable settings in the first difficult posture of the part consisting of links L3 and L4 include the attachment settings of partial cable C2 and cable guides G2 and G3 in which the cable and cable guide do not interfere with the housing of the articulated robot 180 and excessive force is not applied to the cable.

ステップS2125において、シミュレーションシステム900は、第2の難姿勢におけるアタッチメントシミュレーション結果の中から、合格設定を全て求める。例えば、リンクL3,L4からなる部位の第2の難姿勢における合格設定は、多関節ロボット180の筐体にケーブルおよびケーブルガイドが干渉しない、部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。または、リンクL3,L4からなる部位の第2の難姿勢における合格設定は、多関節ロボット180の筐体にケーブルおよびケーブルガイドが干渉せず、かつケーブルに過度な力がかからない、部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。 In step S2125, the simulation system 900 finds all acceptable settings from the attachment simulation results in the second difficult posture. For example, the acceptable settings in the second difficult posture of the part consisting of links L3 and L4 include the attachment settings of partial cable C2 and cable guides G2 and G3 in which the cable and cable guide do not interfere with the housing of the articulated robot 180. Alternatively, the acceptable settings in the second difficult posture of the part consisting of links L3 and L4 include the attachment settings of partial cable C2 and cable guides G2 and G3 in which the cable and cable guide do not interfere with the housing of the articulated robot 180 and excessive force is not applied to the cable.

ステップS2130において、シミュレーションシステム900は、隣接する部位の合格設定を比較し、ケーブルガイドの位置および姿勢が共通となる合格設定を抽出する。例えば、シミュレーションシステム900は、多関節ロボット180におけるリンクL1,L2,L3からなる部位における合格設定と、リンクL3,L4からなる部位における合格設定とを比較して、ケーブルガイドG2の位置および姿勢が等しいものを選択する。すなわち、シミュレーションシステム900は、接続可能な隣接する部位の合格設定を抽出する。なお、1回目のループでは比較対象がないため、シミュレーションシステム900は、ステップS2130の処理を実行しなくてもよい。 In step S2130, the simulation system 900 compares the pass settings of adjacent parts and extracts a pass setting in which the position and posture of the cable guide are the same. For example, the simulation system 900 compares the pass setting of the part consisting of links L1, L2, and L3 in the articulated robot 180 with the pass setting of the part consisting of links L3 and L4, and selects the one in which the position and posture of the cable guide G2 are equal. In other words, the simulation system 900 extracts the pass setting of adjacent parts that can be connected. Note that, since there is nothing to compare in the first loop, the simulation system 900 does not need to execute the process of step S2130.

ステップS2135において、シミュレーションシステム900は、抽出した合格設定の中から、予め定められた長さのロバストネス(例えば、「40mm」等)を満たす合格設定を抽出する。ステップS2135の処理は、図13を参照して説明された処理に相当する。 In step S2135, the simulation system 900 extracts a passing setting that satisfies a predetermined length robustness (e.g., "40 mm") from the extracted passing settings. The processing of step S2135 corresponds to the processing described with reference to FIG. 13.

ステップS2140において、シミュレーションシステム900は、全ての関節について、ループ内の処理を実行し終えた場合は、サブルーチンを終了し、制御をステップS2025に移す。そうでない場合、シミュレーションシステム900は、ループ内の処理を繰り返す。 In step S2140, if the simulation system 900 has completed executing the processing in the loop for all joints, it ends the subroutine and transfers control to step S2025. If not, the simulation system 900 repeats the processing in the loop.

以上説明した通り、本実施の形態に従うシミュレーションシステム900は、多関節ロボットからなる部位毎に、ローカル最適設定の集合(難姿勢において多関節ロボットの筐体に干渉しないケーブルおよびケーブルガイドの取付設定)を求める。さらに、シミュレーションシステム900は、これらのローカル最適設定の集合を結合して、グローバル最適設定を求める。こうすることで、シミュレーションシステム900は、多関節ロボットが取り得る全ての姿勢に対してケーブルの動きのシミュレーションを実行する場合と比較して、大幅に計算量を削減し、効率的にケーブルの取付設定を導き出すことができる。 As described above, the simulation system 900 according to this embodiment determines a set of local optimal settings (attachment settings of cables and cable guides that do not interfere with the housing of the articulated robot in difficult postures) for each part of the articulated robot. Furthermore, the simulation system 900 combines these sets of local optimal settings to determine a global optimal setting. In this way, the simulation system 900 can significantly reduce the amount of calculations and efficiently derive cable attachment settings compared to a case where a simulation of cable movement is performed for all postures that the articulated robot can take.

<E.付記>
以上のように、本実施の形態は以下のような開示を含む。
[構成1]
多関節ロボットにおけるケーブルの取り付けのシミュレーションシステム(900)であって、
上記多関節ロボットの第1のリンク(L3)および第2のリンク(L4)からなる第1の部位において、上記第1のリンク(L3)と上記第2のリンク(L4)との間の第1の関節が予め定められた条件を満たす角度になる第1の姿勢を検出するための姿勢検出部(906)と、
上記第1の部位における1以上のケーブルガイドの取付設定を特定するためのガイド取付部(907)と、
第1の部分ケーブルにおける1以上の第1の取付設定を特定するためのケーブル取付部(908)(908)と、
上記第1の部位のモーションを実行し、上記第1の部分ケーブルの動きをシミュレートするためのシミュレーション実行部(909)とを備え、
上記第1の部分ケーブルは、上記ケーブルガイドを介して、上記第1の姿勢を取る上記第1の部位に取り付けられる上記ケーブルの一部である、シミュレーションシステム(900)。
[構成2]
上記予め定められた条件は、上記第1の関節の角度が、上記多関節ロボットのモーション内における最大角度もしくは上記最大角度から第1の範囲内の角度であること、または、最小角度もしくは上記最小角度から第2の範囲内の角度であることを含む、構成1に記載のシミュレーションシステム(900)。
[構成3]
上記多関節ロボットのモーションを取得するためのモーション取得部をさらに含み、
上記姿勢検出部(906)は、上記モーション取得部から取得した時系列の上記多関節ロボットの姿勢から、上記第1の姿勢を検出する、構成1または2に記載のシミュレーションシステム(900)。
[構成4]
上記ケーブル取付部(908)は、上記第1の部位が上記第1の姿勢を取るときの、上記第1のリンク(L3)と上記第2のリンク(L4)とを中継する、上記1以上の第1の取付設定を特定する、構成1~3のいずれかに記載のシミュレーションシステム(900)。
[構成5]
上記ケーブルのロバストネスを判定するためのロバストネス判定部(910)(910)をさらに備え、
上記ロバストネス判定部(910)は、シミュレーションに合格した上記1以上の第1の取付設定の各々が、予め定められたロバストネスを有するか否かを判定する、構成4に記載のシミュレーションシステム(900)。
[構成6]
上記姿勢検出部(906)は、上記多関節ロボットの上記第2のリンク(L4)および第3のリンクからなる第2の部位において、上記第2のリンク(L4)と上記第3のリンクとの間の第2の関節が上記予め定められた条件を満たす角度になる第2の姿勢を検出し、
上記ケーブル取付部(908)は、上記第2の姿勢を取る上記第2の部位における、第2の部分ケーブルの1以上の第2の取付設定を決定し、
上記シミュレーション実行部(909)は、上記第1の部分ケーブルのシミュレーションと、上記第2の部分ケーブルのシミュレーションとを個別に実行する、構成1~5のいずれかに記載のシミュレーションシステム(900)。
[構成7]
2つ以上の関節を含むリンクのシミュレーションを実行する第2のシミュレーション部(903)をさらに含み、
上記第2のシミュレーション部(903)は、上記第1の部分ケーブルのシミュレーションに合格した上記第1の取付設定と、上記第2の部分ケーブルのシミュレーションに合格した上記第2の取付設定とを用いて、上記ケーブル全体における取付設定のシミュレーションを実行する、構成6に記載のシミュレーションシステム(900)。
[構成8]
上記第1の部位および上記第2の部位を含むシミュレーションを実行することは、
上記第1の部位および上記第2の部位のモーションを実行することと、
モーションの実行中に、上記ケーブルが上記多関節ロボットに干渉したことを検出することとを含む、構成7に記載のシミュレーションシステム(900)。
[構成9]
上記ケーブル全体における取付設定のシミュレーションに合格した設定が複数あることに基づいて、複数の上記設定の中から、上記ケーブルが最短となる設定を選択および出力する最適設定出力部(905)をさらに備える、構成8に記載のシミュレーションシステム(900)。
[構成10]
ミュレーションシステムによって実行される方法であって、
多関節ロボットの第1のリンク(L3)および第2のリンク(L4)からなる第1の部位において、上記第1のリンク(L3)と上記第2のリンク(L4)との間の第1の関節が予め定められた条件を満たす角度になる第1の姿勢を検出するステップと、
第1の部分ケーブルにおける1以上の第1の取付設定を特定するステップと、
上記第1の部位のモーションを実行し、上記第1の部分ケーブルの動きをシミュレートするステップとを含み、
上記第1の部分ケーブルは、上記第1の姿勢を取る上記第1の部位に取り付けられるケーブルの一部である、方法。
[構成11]
構成10に記載の方法をコンピュータに実行させるためのプログラム。
<E. Notes>
As described above, the present embodiment includes the following disclosure.
[Configuration 1]
A system (900) for simulating cable installation in an articulated robot, comprising:
a posture detection unit (906) for detecting a first posture in which a first joint between the first link (L3) and the second link (L4) in a first section of the articulated robot, the first joint being at an angle that satisfies a predetermined condition,
a guide attachment portion (907) for identifying an attachment configuration of one or more cable guides in the first portion;
a cable attachment portion (908) (908) for identifying one or more first attachment configurations of a first cable portion;
a simulation execution unit (909) for executing the motion of the first portion and simulating the movement of the first partial cable;
A simulation system (900), wherein the first partial cable is a portion of the cable attached to the first portion taking the first position via the cable guide.
[Configuration 2]
2. The simulation system (900) of configuration 1, wherein the predetermined condition includes the angle of the first joint being a maximum angle in the motion of the articulated robot or within a first range from the maximum angle, or being a minimum angle or within a second range from the minimum angle.
[Configuration 3]
Further comprising a motion acquisition unit for acquiring a motion of the articulated robot,
The simulation system (900) according to configuration 1 or 2, wherein the posture detection unit (906) detects the first posture from a time series of postures of the articulated robot acquired from the motion acquisition unit.
[Configuration 4]
The simulation system (900) of any one of configurations 1 to 3, wherein the cable attachment portion (908) specifies one or more first attachment settings that relay the first link (L3) and the second link (L4) when the first portion takes the first posture.
[Configuration 5]
A robustness determination unit (910) (910) for determining the robustness of the cable,
5. The simulation system (900) of configuration 4, wherein the robustness determination unit (910) determines whether each of the one or more first mounting configurations that have passed the simulation has a predetermined robustness.
[Configuration 6]
the posture detection unit (906) detects a second posture in which a second joint between the second link (L4) and the third link in a second part of the articulated robot, the second joint being at an angle that satisfies the predetermined condition,
The cable attachment portion (908) determines one or more second attachment settings of a second partial cable at the second portion having the second attitude;
The simulation system (900) according to any one of configurations 1 to 5, wherein the simulation execution unit (909) executes a simulation of the first partial cable and a simulation of the second partial cable separately.
[Configuration 7]
a second simulation unit (903) for executing a simulation of a link including two or more joints;
The second simulation unit (903) performs a simulation of the installation settings for the entire cable using the first installation setting that has passed the simulation of the first partial cable and the second installation setting that has passed the simulation of the second partial cable.The simulation system (900) described in configuration 6.
[Configuration 8]
Performing a simulation including the first portion and the second portion includes:
performing a motion of the first portion and the second portion;
and detecting when the cable interferes with the articulated robot during execution of a motion.
[Configuration 9]
The simulation system (900) according to configuration 8 further comprises an optimal setting output unit (905) that selects and outputs a setting that makes the cable shortest from among the multiple settings based on the existence of multiple settings that pass the simulation of the installation settings for the entire cable.
[Configuration 10]
1. A method performed by a simulation system, comprising:
A step of detecting a first posture in which a first joint between a first link (L3) and a second link (L4) of a multi-joint robot is at an angle that satisfies a predetermined condition, in a first section consisting of a first link (L3) and a second link (L4);
identifying one or more first attachment configurations for a first cable portion;
and executing a motion of the first portion to simulate a movement of the first partial cable;
A method, wherein the first partial cable is a portion of a cable attached to the first portion in the first position.
[Configuration 11]
11. A program for causing a computer to execute the method according to claim 10.

今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された開示内容は、可能な限り、単独でも、組合わせても、実施することが意図される。 The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present disclosure is indicated by the claims rather than the above description, and is intended to include all modifications within the meaning and scope of the claims. Furthermore, it is intended that the disclosure contents described in the embodiments and each modified example may be implemented, as far as possible, either alone or in combination.

2 制御システム、5 IOリモートターミナル、6 光電センサ、8 ストッパ、9 トレイ、12 電源ユニット、13 演算ユニット、14,53 IOユニット、17 特殊ユニット、22 フィールドネットワーク、30 ロボット、41,42,1301 サーボモータ、51 バス、52 通信カプラ、55 テーブル、61,71,237,239 検出値、80 ネットワーク、81 システムバス、87 近接センサ、100,800 装置、102 プロセッサ、104 主メモリ、106 操作ユニット、108 出力ユニット、109 ディスプレイ、110 ネットワークインターフェイス、111 ストレージ、112 光学ドライブ、114 記録媒体、116 ローカル通信インターフェイス、130 統合開発環境、170 3D空間、180 多関節ロボット、210 ロボットハンド、211,222 制御指令、230 コンベア、232 ワーク、236,238 エンコーダ、240,245 部位、260,265,280,285,290,L1,L2,L3,L4,L5,L6 リンク、270,295,297 関節、301 アーム、310 ロボットコントローラ、340,C ケーブル、531,532 サーボモータドライバ、900 シミュレーションシステム、901 モーション取得部、902 部分シミュレーション部、903 組み合わせ選択部、904 シミュレーション部、905 グローバル最適設定出力部、906 難姿勢検出部、907 ガイド取付部、908 ケーブル取付部、909 シミュレーション実行部、910 ロバストネス判定部、1005,1010,1015,1101,1102 再生場面、1020 可動域、1111,1112 角度、1400,1500,1600,1700,1800,1910,1920 画面、1930 コネクタ、C1,C2,C3 部分ケーブル、G1,G2,G3,G4 ケーブルガイド。 2 Control system, 5 IO remote terminal, 6 Photoelectric sensor, 8 Stopper, 9 Tray, 12 Power supply unit, 13 Calculation unit, 14, 53 IO unit, 17 Special unit, 22 Field network, 30 Robot, 41, 42, 1301 Servo motor, 51 Bus, 52 Communication coupler, 55 Table, 61, 71, 237, 239 Detection value, 80 Network, 81 System bus, 87 Proximity sensor, 100, 800 Device, 102 Processor, 104 Main memory, 106 Operation unit, 108 Output unit, 109 Display, 110 Network interface, 111 Storage, 112 Optical drive, 114 Recording medium, 116 Local communication interface, 130 Integrated development environment, 170 3D space, 180 Articulated robot, 210 Robot hand, 211, 222 Control command, 230 conveyor, 232 work, 236, 238 encoder, 240, 245 part, 260, 265, 280, 285, 290, L1, L2, L3, L4, L5, L6 link, 270, 295, 297 joint, 301 arm, 310 robot controller, 340, C cable, 531, 532 servo motor driver, 900 simulation system, 901 motion acquisition unit, 902 partial simulation unit, 903 combination selection unit, 904 simulation unit, 905 global optimum setting output unit, 906 difficult posture detection unit, 907 guide attachment unit, 908 cable attachment unit, 909 simulation execution unit, 910 robustness judgment unit, 1005, 1010, 1015, 1101, 1102 playback scene, 1020 Range of motion, 1111, 1112 Angle, 1400, 1500, 1600, 1700, 1800, 1910, 1920 Screen, 1930 Connector, C1, C2, C3 Partial cable, G1, G2, G3, G4 Cable guide.

Claims (12)

多関節ロボットにおけるケーブルの取り付けのシミュレーションシステムであって、
前記多関節ロボットの第1のリンクおよび第2のリンクからなる第1の部位において、前記第1のリンクと前記第2のリンクとの間の第1の関節が予め定められた条件を満たす角度になる第1の姿勢を検出するための姿勢検出部と、
前記第1の姿勢を取る前記第1の部位における1以上のケーブルガイドの取付設定を特定するためのガイド取付部と、
前記第1の姿勢を取る前記第1の部位における、前記ケーブルの一部である第1の部分ケーブル1以上の第1の取付設定を特定するためのケーブル取付部と、
前記第1の部位のモーションを実行し、前記第1の部分ケーブルの動きをシミュレートするためのシミュレーション実行部とを備える、シミュレーションシステム。
A simulation system for cable installation in an articulated robot, comprising:
a posture detection unit for detecting a first posture in which a first joint between a first link and a second link of the articulated robot is at an angle that satisfies a predetermined condition, in a first portion including a first link and a second link of the articulated robot;
a guide attachment portion for specifying an attachment setting of one or more cable guides in the first portion having the first position ;
a cable attachment portion for identifying one or more first attachment settings of a first partial cable that is a part of the cable at the first portion in the first position;
a simulation execution unit for executing a motion of the first portion and simulating a movement of the first partial cable.
前記予め定められた条件は、前記第1の関節の角度が、前記多関節ロボットのモーション内における最大角度もしくは前記最大角度から第1の範囲内の角度であること、または、最小角度もしくは前記最小角度から第2の範囲内の角度であることを含む、請求項1に記載のシミュレーションシステム。 The simulation system according to claim 1, wherein the predetermined conditions include that the angle of the first joint is a maximum angle in the motion of the articulated robot or an angle within a first range from the maximum angle, or a minimum angle or an angle within a second range from the minimum angle. 前記多関節ロボットのモーションを取得するためのモーション取得部をさらに含み、
前記姿勢検出部は、前記モーション取得部から取得した時系列の前記多関節ロボットの姿勢から、前記第1の姿勢を検出する、請求項1または2に記載のシミュレーションシステム。
Further comprising a motion acquisition unit for acquiring a motion of the articulated robot,
The simulation system according to claim 1 , wherein the posture detection unit detects the first posture from a time series of postures of the articulated robot acquired from the motion acquisition unit.
前記ケーブル取付部は、前記第1の部位が前記第1の姿勢を取るときの、前記第1のリンクと前記第2のリンクとを中継する、前記1以上の第1の取付設定を特定する、請求項1~3のいずれかに記載のシミュレーションシステム。 The simulation system according to any one of claims 1 to 3, wherein the cable attachment section specifies the one or more first attachment settings that relay the first link and the second link when the first section is in the first position. 前記ケーブルのロバストネスを判定するためのロバストネス判定部をさらに備え、
前記ロバストネス判定部は、シミュレーションに合格した前記1以上の第1の取付設定の各々が、予め定められたロバストネスを有するか否かを判定する、請求項4に記載のシミュレーションシステム。
A robustness determination unit for determining the robustness of the cable,
The simulation system according to claim 4 , wherein the robustness determination unit determines whether each of the one or more first mounting configurations that have passed the simulation has a predetermined robustness.
前記姿勢検出部は、前記多関節ロボットの前記第2のリンクおよび第3のリンクからなる第2の部位において、前記第2のリンクと前記第3のリンクとの間の第2の関節が前記予め定められた条件を満たす角度になる第2の姿勢を検出し、
前記ケーブル取付部は、前記第2の姿勢を取る前記第2の部位における、前記ケーブルの一部である第2の部分ケーブルの1以上の第2の取付設定を決定し、
前記シミュレーション実行部は、前記第1の部分ケーブルのシミュレーションと、前記第2の部分ケーブルのシミュレーションとを個別に実行する、請求項1~5のいずれかに記載のシミュレーションシステム。
the posture detection unit detects a second posture in which a second joint between the second link and the third link of a second portion of the articulated robot, the second link and the third link are at an angle that satisfies the predetermined condition;
The cable attachment section determines one or more second attachment settings of a second partial cable that is a part of the cable at the second portion that takes the second position;
6. The simulation system according to claim 1, wherein the simulation execution unit executes a simulation of the first partial cable and a simulation of the second partial cable separately.
2つ以上の関節を含むリンクのシミュレーションを実行する第2のシミュレーション部をさらに含み、
前記第2のシミュレーション部は、前記第1の部分ケーブルのシミュレーションに合格した前記第1の取付設定と、前記第2の部分ケーブルのシミュレーションに合格した前記第2の取付設定とを用いて、前記ケーブル全体における取付設定のシミュレーションを実行する、請求項6に記載のシミュレーションシステム。
Further comprising a second simulation unit that executes a simulation of a link including two or more joints;
The simulation system according to claim 6, wherein the second simulation unit performs a simulation of the installation settings for the entire cable using the first installation setting that has passed the simulation for the first partial cable and the second installation setting that has passed the simulation for the second partial cable.
前記第1の部位および前記第2の部位を含むシミュレーションを実行することは、
前記第1の部位および前記第2の部位のモーションを実行することと、
モーションの実行中に、前記ケーブルが前記多関節ロボットに干渉したことを検出することとを含む、請求項7に記載のシミュレーションシステム。
Performing a simulation including the first portion and the second portion includes:
performing a motion of the first portion and the second portion;
and detecting when the cable interferes with the articulated robot during execution of a motion.
前記ケーブル全体における取付設定のシミュレーションに合格した設定が複数あることに基づいて、複数の前記設定の中から、前記ケーブルが最短となる設定を選択および出力する最適設定出力部をさらに備える、請求項8に記載のシミュレーションシステム。 The simulation system according to claim 8, further comprising an optimal setting output unit that selects and outputs a setting that provides the shortest length for the cable from among the multiple settings based on the existence of multiple settings that pass the simulation of the installation settings for the entire cable. ミュレーションシステムによって実行される方法であって、
多関節ロボットの第1のリンクおよび第2のリンクからなる第1の部位において、前記第1のリンクと前記第2のリンクとの間の第1の関節が予め定められた条件を満たす角度になる第1の姿勢を検出するステップと、
前記第1の姿勢をとる前記第1の部位における1以上のケーブルガイド取付設定を特定するステップと、
前記第1の姿勢をとる前記第1の部位における、前記多関節ロボットに取り付けられるケーブルの一部である第1の部分ケーブルの1以上の第1の取付設定を特定するステップと、
前記第1の部位のモーションを実行し、前記第1の部分ケーブルの動きをシミュレートするステップとを含む、方法。
1. A method performed by a simulation system, comprising:
detecting a first posture in which a first joint between a first link and a second link of a first portion of an articulated robot is at an angle that satisfies a predetermined condition;
identifying an attachment configuration of one or more cable guides at the first portion in the first position ;
Identifying one or more first attachment settings of a first partial cable that is a part of a cable attached to the articulated robot at the first portion in the first posture ;
and executing a motion of the first portion to simulate movement of the first partial cable.
前記多関節ロボットの前記第2のリンクおよび第3のリンクからなる第2の部位において、前記第2のリンクと前記第3のリンクとの間の第2の関節が前記予め定められた条件を満たす角度になる第2の姿勢を検出するステップと、detecting a second posture in which a second joint between the second link and the third link of a second portion of the articulated robot, the second link and the third link, is at an angle that satisfies the predetermined condition;
前記第2の姿勢を取る前記第2の部位における、前記ケーブルの一部である第2の部分ケーブルの1以上の第2の取付設定を決定するステップと、determining one or more second attachment settings of a second partial cable that is a part of the cable at the second portion in the second position;
前記第1の部分ケーブルのシミュレーションと、前記第2の部分ケーブルのシミュレーションとを個別に実行するステップとをさらに含む、請求項10に記載の方法。The method of claim 10 , further comprising the step of separately performing a simulation of the first partial cable and a simulation of the second partial cable.
請求項10または11に記載の方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the method according to claim 10 or 11 .
JP2021143885A 2021-09-03 2021-09-03 Simulation system, simulation method, and simulation program Active JP7694271B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021143885A JP7694271B2 (en) 2021-09-03 2021-09-03 Simulation system, simulation method, and simulation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021143885A JP7694271B2 (en) 2021-09-03 2021-09-03 Simulation system, simulation method, and simulation program

Publications (2)

Publication Number Publication Date
JP2023037248A JP2023037248A (en) 2023-03-15
JP7694271B2 true JP7694271B2 (en) 2025-06-18

Family

ID=85509386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021143885A Active JP7694271B2 (en) 2021-09-03 2021-09-03 Simulation system, simulation method, and simulation program

Country Status (1)

Country Link
JP (1) JP7694271B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293331A (en) 2004-04-01 2005-10-20 Nissan Motor Co Ltd Method for simulating robot-added non-rigid object and method for diagnosing state of robot-added non-rigid object
JP2016042378A (en) 2015-11-12 2016-03-31 オムロン株式会社 Simulation device, simulation method, and simulation program
JP2021117519A (en) 2020-01-22 2021-08-10 オムロン株式会社 Simulation device and simulation program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10264068A (en) * 1997-03-24 1998-10-06 Okayama Pref Gov Shin Gijutsu Shinko Zaidan Robot hand

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293331A (en) 2004-04-01 2005-10-20 Nissan Motor Co Ltd Method for simulating robot-added non-rigid object and method for diagnosing state of robot-added non-rigid object
JP2016042378A (en) 2015-11-12 2016-03-31 オムロン株式会社 Simulation device, simulation method, and simulation program
JP2021117519A (en) 2020-01-22 2021-08-10 オムロン株式会社 Simulation device and simulation program

Also Published As

Publication number Publication date
JP2023037248A (en) 2023-03-15

Similar Documents

Publication Publication Date Title
CN107015530B (en) Simulation device and simulation method
CN106873550B (en) Simulation device and simulation method
CN106873549B (en) Simulator and analogy method
JP4153528B2 (en) Apparatus, program, recording medium and method for robot simulation
KR102791717B1 (en) Simulation device, simulation program and simulation method
US20210018903A1 (en) Information processing system, information processing method, and recording medium
JP7052250B2 (en) Information processing equipment, information processing methods, and information processing programs
US20180036883A1 (en) Simulation apparatus, robot control apparatus and robot
JP7556283B2 (en) Simulation device and simulation program
US10814486B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
CN107791246B (en) Robot simulation device
JPWO2004025522A1 (en) Harness design support apparatus and method, harness design support program, and computer-readable recording medium recording the program
JP2007265238A (en) Simulation apparatus and simulation method
JP7694271B2 (en) Simulation system, simulation method, and simulation program
JP7249221B2 (en) SENSOR POSITION AND POSTURE CALIBRATION DEVICE AND SENSOR POSITION AND POSTURE CALIBRATION METHOD
JP2008100315A (en) Control simulation system
JP2004151976A (en) Simulation equipment
JP7447568B2 (en) Simulation equipment and programs
CN118322214B (en) A Method and Device for Robotic Arm Imitation Learning Based on Single-Teaching
US20240393763A1 (en) Non-transitory computer-readable medium storing program for simulation and system for simulation
JP7424122B2 (en) Simulation equipment and programs
US20260027717A1 (en) Information processing method, robot system, information processing apparatus, method for manufacturing a product, and recording medium
JP2003236784A (en) Robot teaching method and robot teaching device
KR100246672B1 (en) Calibration method for robot layout
CN115509171A (en) Simulation device, simulation method and computer-readable data storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240711

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20241225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250304

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250520

R150 Certificate of patent or registration of utility model

Ref document number: 7694271

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150