JP7694271B2 - Simulation system, simulation method, and simulation program - Google Patents
Simulation system, simulation method, and simulation program Download PDFInfo
- 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
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.
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.
以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 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
(a.シミュレーションの対象となる多関節ロボット)
シミュレーションシステム900は、3D(Three Dimensional)空間170内において、多関節ロボット180の動作および多関節ロボット180に備え付けられるケーブルCの動作のシミュレーションを実行することができる。ある局面において、シミュレーションシステム900は、単一の装置、複数の装置、仮想マシン、クラウド環境上に構築されたシステムによって実現されてもよい。他の局面において、多関節ロボット180は、水平多関節ロボット、垂直多関節ロボット、またはその他の任意のリンク機構を備えるロボットであってもよい。
(a. Articulated robot to be simulated)
The
図1に示される多関節ロボット180は、リンクL1,L2,L3,L4,L5,L6を備える。各リンクはモータ等によって接続され、リンク間は関節構造になる。各関節は、例えばヨー軸、ピッチ軸、ロール軸の関節であってもよいし、複合関節であってもよい。
The articulated
また、多関節ロボット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
ケーブルは、例えば、信号線を構成する線状の導電体を絶縁体で被覆して構成される。絶縁体の材料としては、限定されないが、プラスチック、ゴム、ビニールなどの樹脂材料を用いることができる。また、導電体の材料としては、限定されないが、導電性を有する金属を用いることができる。ケーブル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
なお、図1に示される構成は一例であり、シミュレーションシステム900によりシミュレーション可能な多関節ロボットはこれに限られない。ある局面において、シミュレーションシステム900は、任意の数の関節、任意の種類のリンク機構、任意の場所に取り付けられたケーブルを備える多関節ロボットの動作をシミュレート可能である。
Note that the configuration shown in FIG. 1 is an example, and the articulated robots that can be simulated by the
シミュレーションシステム900は、例えば、多関節ロボット180のエミュレータ機能と、PLC(Programmable Logic Controller)等の制御装置のエミュレータ機能とを備えていてもよい。この場合、シミュレーションシステム900は、PLCのプログラムを読み込んで、多関節ロボット180およびPLCの動作をエミュレートし得る。より具体的には、シミュレーションシステム900は、PLCにプログラムを実行させる。PLCは、多関節ロボット180(またはそのロボットコントローラ)に対して命令を送信する。多関節ロボット180は、3D空間170内で、受信した命令に基づいて、予め定められた動作(モーション)を行う。
The
また、シミュレーションシステム900は、多関節ロボット180が動作することによるケーブルCの動作およびケーブルCにかかる力をシミュレートする。ユーザは、シミュレーションシステム900を用いることで、多関節ロボット180の実機を用いることなく、ケーブルの取付位置を決定することができる。
The
一般的に、多関節ロボット180に用いられるケーブルCは高価であり、引き回し作業に長時間を要する。そこで、シミュレーションシステム900は、実機の多関節ロボット180に取り付けられるケーブルCの適切な引き回しを事前に設計することをサポートする機能を提供する。ユーザは、シミュレーションシステム900による設計結果に基づいて、ケーブルCの引き回しを実行することにより、ケーブルCの引き回しにかかるコスト(ケーブルCの費用および作業時間を含む)を低減し得る。より詳細なケーブルの取付位置の決定方法について図2以降を参照して説明する。
Generally, the cable C used in the articulated
図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
この場合、シミュレーションシステム900は、多関節ロボットのプログラムを読み込んで、多関節ロボットの関節270の角度をシミュレートする。そして、シミュレーションシステム900は、関節270が予め定められた条件を満たす角度になる多関節ロボットの第1の姿勢および第2の姿勢を特定する。
In this case, the
第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
関節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
シミュレーションシステム900は、3D空間内で、第1の姿勢を取るリンク260,265からなる部位に対して、ケーブルおよびケーブルガイドの取付位置をシミュレートする。こうすることで、シミュレーションシステム900は、多関節ロボットに干渉しないケーブルおよびケーブルガイドの第1の取付設定(複数であってもよい)を求める。これ以降、ケーブルおよびケーブルガイドの取付設定を単に「取付設定」と呼ぶこともある。ケーブルの取付設定は、ケーブルの場所およびケーブルの長さを含む。また、ケーブルガイドの取付設定は、ケーブルガイドの位置およびケーブルガイドの姿勢を含む。また、シミュレーションシステム900は、第2の姿勢において、多関節ロボットに干渉しない第2の取付設定(複数であってもよい)を特定する。
The
次に、シミュレーションシステム900は、多関節ロボットのモーションを再生し、ケーブルの動きをシミュレートすることで、第1の取付設定が、他の姿勢においても(関節270の角度が変化しても)、多関節ロボットに干渉しないか否かを判定する。同様に、シミュレーションシステム900は、多関節ロボットのモーションを再生し、ケーブルの動きをシミュレートすることで、第2の取付設定が、他の姿勢においても(関節270の角度が変化しても)、多関節ロボットに干渉しないか否かを判定する。また、シミュレーションシステム900は、ケーブルに過度な力がかかるか否かも判定し得る。そして、シミュレーションシステム900は、1以上の第1の取付設定、および1以上の第2の取付設定の中から、リンク260,265からなる部位の全ての姿勢において多関節ロボットに干渉しない取付設定(複数であってもよい)を選定する。
Next, the
上記のように、シミュレーションシステム900は、ケーブルに負荷が掛かる可能性が最も高い姿勢において、多関節ロボットに干渉しない取付設定をシミュレーションの候補として選択する。こうすることで、シミュレーションシステム900は、考えられる全てのケーブルの取付位置において、ケーブルの動きを総当たりでシミュレーションする必要がなく、ケーブルの取付位置を決定する工数を大幅に削減し得る。
As described above, the
(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
この場合、シミュレーションシステム900は、多関節ロボットのプログラムを読み込んで、多関節ロボットの関節270の角度をシミュレートする。そして、シミュレーションシステム900は、関節295が予め定められた条件を満たす角度になる多関節ロボットの第3の姿勢および第4の姿勢を特定する。同様に、シミュレーションシステム900は、関節297が予め定められた条件を満たす角度になる多関節ロボットの第5の姿勢および第6の姿勢を特定する。
In this case, the
第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
第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
関節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
シミュレーションシステム900は、第3の姿勢において、第3の姿勢を取るリンク280,285,290からなる部位に対して、ケーブルおよびケーブルガイドの取付位置をシミュレートする。こうすることで、シミュレーションシステム900は、多関節ロボットに干渉しない第3の取付設定(複数であってもよい)を求める。同様に、シミュレーションシステム900は、第4の姿勢、第5の姿勢、第6の姿勢の各々において、多関節ロボットに干渉しない第4の取付設定、第5の取付設定、第6の取付設定(複数であってもよい)を特定する。
In the third posture, the
次に、シミュレーションシステム900は、多関節ロボットのモーションを再生し、ケーブルの動きをシミュレートすることで、第3の取付設定が、他の姿勢においても(関節295,297の角度が変化しても)、多関節ロボットに干渉しないか否かを判定する。同様に、シミュレーションシステム900は、多関節ロボットのモーションを再生し、ケーブルの動きをシミュレートすることで、第4の取付設定、第5の取付設定、第6の取付設定の各々が、他の姿勢においても(関節295,297の角度が変化しても)、多関節ロボットに干渉しないか否かを判定する。なお、シミュレーションシステム900は、ケーブルに過度な力がかかるか否かも判定し得る。そして、シミュレーションシステム900は、1以上の第3、第4、第5および第6の取付設定の中から、リンク280,285,290からなる部位の全ての姿勢において多関節ロボットに干渉しない取付設定(複数であってもよい)を選定する。
Next, the
(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
この場合、第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
シミュレーションシステム900は、多関節ロボット180のモーションを再生し(全体テストを実行し)、選定した組み合わせ取付設定におけるケーブルおよびケーブルガイドが多関節ロボット180の筐体に干渉するか否かを判定し得る。
The
このように、シミュレーションシステム900は、まず、多関節ロボット180の各部位(L1,L2,L3からなる第1の部位、L3,L4からなる第2の部位、L4,L5,L6からなる第3の部位)におけるケーブルおよびケーブルガイドの取付設定を選定する。次に、シミュレーションシステム900は、各部位の取付設定の中から接続可能な組み合わせ(組み合わせ取付設定)を選定する。そして、シミュレーションシステム900は、組み合わせ取付設定に対して、ケーブルの動きをシミュレートして、ケーブルおよびケーブルガイドが多関節ロボット180の筐体に干渉するか否かを判定し得る。また、シミュレーションシステム900は、ケーブルに過度な力がかかるか否かも判定し得る。なお、シミュレーションシステム900は、全体テストに合格した組み合わせ取付設定が複数ある場合、ケーブル長が最小となる組み合わせ取付設定を選択し得る。
In this way, the
(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
取付設定は、ケーブルガイドの位置および姿勢と、ケーブルガイド間のケーブルの長さとを含む。例えば、シミュレーションシステム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
同様の手順で、シミュレーションシステム900は、リンクL4,L5,L6からなる部位の難姿勢を求めたとする。この場合、シミュレーションシステム900は、難姿勢を取るリンクL4,L5,L6からなる部位に対するケーブルガイドG3,G4の取付設定を求める。また、シミュレーションシステム900は、ケーブルガイドG3,G4を通過する部分ケーブルC3の長さの設定を求める。
In a similar manner, the
シミュレーションシステム900は、1つの難姿勢に対して、3D空間内におけるケーブルおよびケーブルガイドの取り付け位置をシミュレートすることで、ケーブルおよびケーブルガイドが多関節ロボット180に干渉しない取付設定を複数個選択し得る。
The
図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
図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
<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
図6は、本実施の形態に従うシミュレーションシステム900によってシミュレーションされる制御システム2を模式的に示す図である。制御システム2は、例えば、多関節ロボット180等を含み、FAのラインの一部を構成し得る。
Figure 6 is a diagram that shows a schematic diagram of a
制御システム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
PLC200は、設計された制御プログラムをフィールドネットワーク22からのセンサの出力値などを含むフィールド値に基づき実行し、実行の結果に従ってロボットコントローラ310またはサーボモータドライバ531,532に対して、それぞれ目標値を与えることで、ロボット30およびコンベア230の搬送に関連する機器などを制御する。PLC200、ロボットコントローラ310、サーボモータドライバ531,532およびロボットハンド210は、互いに時刻同期されたタイマ90、91,92,93、94をそれぞれ有し、機器の間では、これらタイマに基き動作することで、制御指令を含むデータの送受信タイミングが同期されている。
The
サーボモータドライバ531,532は、コンベア230のサーボモータ41,42を駆動する。サーボモータ41,42の回転軸にはエンコーダ236,238が設けられている。当該エンコーダは、サーボモータ41,42のフィードバック値として、サーボモータの位置(回転角度)、回転速度、累積回転数などをPLC200へ出力する。
ロボット30とコンベア230は、相互に連携しながらワーク232を移動させる。なお、ここでは説明を簡単にするために、ワーク232の移動を説明するが、ロボット30とコンベア230の機能は、ワーク232の移動に限定されない。例えば、ロボット30とコンベア230の機能は、トレイ9に載置されたワーク232のロボット30による加工であってもよい。
The
図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
ロボットコントローラ310は、ロボット30のロボットサーボモータを駆動する。各ロボットサーボモータの回転軸にはエンコーダ(図示しない)が設けられている。当該エンコーダは、ロボットサーボモータのフィードバック値として、サーボモータの位置(回転角度)、回転速度、累積回転数などをロボットコントローラ310へ出力する。
The
サーボモータドライバ531,532は、指令値に従い、対応するサーボモータ41,42を駆動する。制御システム2は、さらに、コンベア230に関連して光電センサ6および開閉可能なストッパ8を備える。光電センサ6は、コンベア230の搬送面上に備えられるトレイ9が所定のワークトラッキングエリアの前に到達したことを検出し、検出値をPLC200に送信する。ストッパ8は、指令値に従い、トラッキングエリア内に到達したトレイ9を停止(固定)させるように閉動作する。
The
ロボット30のロボットハンド210は、工程に応じて取付けられる。ロボットハンド210の種類は、例えば平行ハンド、多指ハンド、多指関節ハンドなどを含むが、これら限定されず、例えば吸着式によりワーク232をピックおよびプレースする種類も含み得る。
The
ロボット30は、ロボットコントローラ310からの指令値に従い、ピックアンドプレースを実施する。具体的には、ロボット30は、コンベア230上のトレイ9に載置されたワーク232をロボットハンド210によりピックし、ピックしたまま所定位置のテーブル55までワーク232を移動させてテーブル55上に置く(プレースする)。ロボットハンド210では、ワーク232をピックまたはプレースするためのハンドの開閉動作は、ロボットコントローラ310からの指令値に従って制御される。
The
図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
PLC200は、主たる演算処理を実行する演算ユニット13、1つ以上のIOユニット14および特殊ユニット17を含む。これらのユニットは、システムバス81を介して、データを互いに遣り取りできるように構成されるとともに、電源ユニット12から電源が供給される。演算ユニット13には、装置100が接続され得る。
The
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
フィールドネットワーク22は、ロボットコントローラ310、サーボモータドライバ531,532、およびIOリモートターミナル5が接続されてもよい。IOリモートターミナル5は、フィールドネットワーク22でのデータ伝送にかかる処理を行うための通信カプラ52と、1つ以上のIOユニット53とを含む。これらのユニットは、リモートIOターミナルバス51を介して、データを互いに遣り取りできるように構成される。
The
サーボモータドライバ531,532は、フィールドネットワーク22を介して演算ユニット13と接続されるとともに、演算ユニット13からの指令値に従ってサーボモータ41,42を駆動する。演算ユニット13は、これら指令値を、エンコーダ236,238からの検出値237,239に基づいて生成する。
The
演算ユニット13は、上記に述べたIOデバイスからの検出値を参照して、所定の制御プログラムを実行することで、ロボット30にピックアンドプレースを実施させる。具体的には、演算ユニット13は、光電センサ6の検出値61および近接センサ87の検出値71からワーク232が、所定のトラッキングエリアに接近したことを検出すると、ピックアンドプレースを実施するロボットのアーム301のための制御指令211と、ロボットハンド210のための制御指令222を生成し、ロボットコントローラ310を介してケーブル340を経由して、当該制御指令222をロボット30に出力する。
The
シミュレーションシステム900は、図6および図7に示される制御システム2に含まれる任意の多関節ロボットにおけるケーブルおよびケーブルガイドの取付位置を決定し、ケーブルの動きをシミュレートし得る。また、ある局面において、シミュレーションシステム900は、シミュレーションを実行することで、多関節ロボットに取り付けられたケーブルおよびケーブルガイドが、図6および図7に示される各機器(多関節ロボット以外も含む)に干渉するか否かも判定し得る。
The
図8は、シミュレーションシステム900を構成する装置800の一例を示す図である。装置800は、コンピュータ等の情報処理装置であり、シミュレーションシステム900として動作し得る。ある局面において、シミュレーションシステム900は、複数の装置800、装置800のハードウェア構成の少なくとも一部を備えるシステム、装置800のハードウェア構成の少なくとも一部を備えるクラウド環境上の仮想マシン等により実現されてもよい。また、装置800は、図7に示される装置100として使用されてもよい。
Figure 8 is a diagram showing an example of an
装置800は、主たるコンポーネントとして、オペレーティングシステム(OS:Operating System)およびOS上で動作するプログラムを実行するプロセッサ102と、プロセッサ102によるプログラムの実行に必要なデータを格納するための作業領域を提供する主メモリ104と、キーボードやマウス等のユーザ操作を受付ける操作ユニット106(操作受付部)と、ディスプレイ109、各種インジケータ、プリンタ等の処理結果を出力する出力ユニット108と、ネットワーク80を含む各種ネットワークに接続されるネットワークインターフェイス110と、光学ドライブ112と、外部装置と通信するローカル通信インターフェイス116と、ストレージ111とを含む。これらのコンポーネントは、内部バス118等を介してデータ通信可能に接続される。
The
装置800は、光学ドライブ112を有しており、コンピュータ読取可能なプログラムを非一過的に格納する光学記録媒体(例えば、DVD(Digital Versatile Disc)等)を含むコンピュータ読取可能な記録媒体114から各種プログラムを読み取って、ストレージ111等に当該各種プログラムをインストールしてもよい。
The
装置800で実行される各種プログラムは、コンピュータ読取可能な記録媒体114を介して装置800にインストールされてもよいが、ネットワーク上の図示しないサーバ装置等からネットワークインターフェイス110を介して装置800にインストールされてもよい。
The various programs executed by the
ストレージ111は、例えば、HDD(Hard Disk Drive)またはSSD(Flash Solid State Drive)等で構成され、プロセッサ102で実行されるプログラムを格納する。より具体的には、ストレージ111は、OS120と、統合開発環境130とを格納する。統合開発環境130は、OS120上で動作するアプリケーションとして実現され得る。
統合開発環境130は、図1~5を参照して説明されたシミュレーションシステム900の機能を提供する。すなわち、シミュレーションシステム900の機能は、プロセッサ102が主メモリ104に展開された統合開発環境130を実行することで実現され得る。
The integrated development environment 130 provides the functionality of the
ある局面において、シミュレーションシステム900は、統合開発環境130のアドインとして実現されてもよい。また、他の局面において、シミュレーションシステム900は、単体のアプリケーションとして実現されてもよい。さらに、他の局面において、装置800は、統合開発環境130の機能の一部または全てを、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)等を用いて実現してもよい。
In one aspect, the
図9は、シミュレーションシステム900の機能構成の一例を示す図である。図9に示される各機能構成は、プログラムコンポーネントとして実現され得る。この場合、各機能構成は、ソフトウェアとして、装置800のハードウェア上で動作し得る。
Figure 9 is a diagram showing an example of the functional configuration of the
シミュレーションシステム900は、機能構成として、モーション取得部901と、部位シミュレーション部902と、組み合わせ選択部903と、組み合わせに対するシミュレーション部904と、グローバル最適設定出力部905とを備える。また、部位シミュレーション部902は、難姿勢検出部906と、ガイド取付部907と、ケーブル取付部908と、シミュレーション実行部909と、ロバストネス判定部910とを含む。
The
モーション取得部901は、多関節ロボットの時系列のモーションを取得する。例えば、モーション取得部901は、多関節ロボットのプログラムを取得して、当該プログラムを解析して、または、当該プログラムに基づいて多関節ロボットを3D空間で動作させることにより、多関節ロボットのモーションを取得する。
The
部位シミュレーション部902は、多関節ロボットの各部位(図1におけるリンクL3,L4からなる部位等)におけるシミュレーションを実行することで、多関節ロボットの各部位において多関節ロボットの筐体と干渉しないケーブルおよびケーブルガイドの取付設定を求める。部位シミュレーション部902は、図1を参照して説明されたシミュレーションの第1の手順および第2の手順を実行する。
The
難姿勢検出部906は、多関節ロボットの各部位における難姿勢を検出する。図1に示される多関節ロボット180を例に説明すると、難姿勢検出部906は、L1,L2,L3からなる部位の難姿勢と、L3,L4からなる部位の難姿勢と、L4,L5,L6からなる部位の難姿勢とを検出する。
The difficult
ガイド取付部907は、難姿勢を取る多関節ロボットの各部位にケーブルガイドを取り付ける。より具体的には、ガイド取付部907は、難姿勢を取る多関節ロボットの各部位に適用可能なケーブルガイドの取付設定を総当たりで検出し得る。ケーブルガイドの取付設定は、ケーブルガイドの3D空間内の座標と、ケーブルガイドの姿勢(ヨー軸、ピッチ軸、ロール軸の角度)とをパラメータとして含み得る。ガイド取付部907は、多関節ロボットの部位毎に、1以上のケーブルガイドの取付設定を特定し得る。
The
ケーブル取付部908は、難姿勢を取る多関節ロボットの各部位にケーブルを取り付ける。より具体的には、ガイド取付部907は、ガイド取付部907が取り付けたケーブルガイドを通過するようにケーブルを取り付ける。ケーブルの取付設定は、ケーブルの位置および長さをパラメータとして含む。ケーブル取付部908は、多関節ロボットの部位毎に、1以上のケーブルの取付設定を特定し得る。
The
シミュレーション実行部909は、ガイド取付部907およびケーブル取付部908によって選択された取付設定を用いて、多関節ロボットの各部位のシミュレーションを個別に実行して(多関節ロボットの各部位のモーションを実行して)、ケーブルの動きをシミュレートする。多関節ロボット180を例に説明すると、シミュレーション実行部909は、リンクL1,L2,L3からなる部位のシミュレーションと、リンクL3,L4からなる部位のシミュレーションと、リンクL4,L5,L6からなる部位のシミュレーションとを個別に実行する。シミュレーション実行部909は、各取付設定において、ケーブルまたはケーブルガイドが多関節ロボットの筐体に干渉するか、または/およびケーブルに過度な力がかかるか否かを検証する。シミュレーション実行部909は、ある取付設定をテストした場合に、ケーブルまたはケーブルガイドが多関節ロボットの筐体に干渉しない場合、当該取付設定はシミュレーション(テスト)に合格したと判定し得る。
The
ロバストネス判定部910は、シミュレーション実行部909によるシミュレーションに合格した各取付設定が予め定められたロバストネスを有するか否かを判定する。予め定められたロバストネスは、例えば、ケーブルの長さがある程度変化してもケーブルが多関節ロボットの筐体に干渉せず、かつ、ケーブルに過度な力がかからない条件を満たすことを意味する。一例として、予め定められたロバストネスが「20mm」である場合に、ケーブルの取付設定に含まれるケーブル長が「Nmm」であるとする。この場合、ケーブル長が「N+20mm」または「N-20mm」であっても、ケーブルが多関節ロボットの筐体に干渉せずにケーブルに過度な力がかからなければ、ロバストネス判定部910は、当該ケーブルの取付設定は予め定められたロバストネスを有すると判定する。
The
部位シミュレーション部902は、各部位ごとに、シミュレーションに合格し、予め定められたロバストネスを有する各部位の取付設定(複数あってもよい)を組み合わせ選択部903に出力する。
The
組み合わせ選択部903は、部位シミュレーション部902から取得した各部位ごとの取付設定の組み合わせを選択する。多関節ロボット180を例に説明すると、組み合わせ選択部903は、L1,L2,L3からなる部位の取付設定と、L3,L4からなる部位の取付設定とを組み合わせる場合、ケーブルガイドG2の取付位置(座標および姿勢)が一致するものを組み合わせる。同様に、L3,L4からなる部位の取付設定と、L4,L5,L6からなる部位の取付設定とを組み合わせる場合、ケーブルガイドG3の取付位置(座標および姿勢)が一致するものを組み合わせる。このようにして、組み合わせ選択部903は、各部位の取付設定の組み合わせを選択する(組み合わせ取付設定を選択する)。
The
組み合わせに対するシミュレーション部904は、組み合わせ選択部903によって選択された組み合わせ取付設定に対して、シミュレーション(全体テスト)を実行する。組み合わせに対するシミュレーション部904は、多関節ロボットのモーションを実行し、ケーブルまたはケーブルガイドが多関節ロボット全体に干渉せず、ケーブルに過度な力がかからない場合、テスト対象の組み合わせ取付設定はシミュレーション(全体テスト)に合格したと判定し得る。
The
グローバル最適設定出力部905は、シミュレーション(テスト)に合格した組み合わせ取付設定の中から、最もケーブル長が短いものを選択して、選択された組み合わせ取付設定をグローバル最適設定として出力する。ユーザは、グローバル最適設定に基づいて、現実の多関節ロボットに対して配線を行い得る。
The global optimum
<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
図10の表示の例では、ディスプレイ109は、図1に示された多関節ロボット180の動作を表示している。ある局面において、シミュレーションシステム900は、図10に示されるような多関節ロボットのモーションの再生場面をディスプレイ109に表示してもよい。
In the example display of FIG. 10, the display 109 displays the motion of the articulated
シミュレーションの再生場面1005は、多関節ロボット180の基準ポーズを表示している。多関節ロボット180のリンクL3,L4の間の関節は、可動域1020の範囲で回転し得る。当該可動域1020は、リンクL3,L4の間の関節の物理的な可動範囲ではなく、多関節ロボット180がプログラムに基づいて実行するモーション内における可動範囲である。
The
シミュレーションの再生場面1010は、リンクL3,L4の間の関節が、モーション内で基準位置から反時計回りに最も大きく回転している状態を表示している。シミュレーションの再生場面1015は、リンクL3,L4の間の関節が、モーション内で基準位置から時計回りに最も大きく回転している状態を表示している。シミュレーションの再生場面1010,1015に示される状態が、リンクL3,L4の間で最もケーブルがねじれる(最もケーブルに力がかかる可能性が高い)状態であり、図2を参照して説明された第1の難姿勢および第2の難姿勢に相当する。
シミュレーションシステム900は、多関節ロボット180のプログラムを読み込んで、多関節ロボット180のモーションを再生することで、第1の難姿勢および第2の難姿勢を検出し得る。また、シミュレーションシステム900は、ユーザに提示するために、ディスプレイ109に、シミュレーションの再生場面1005,1010,1015のような多関節ロボット180のモーションの再生および検出した難姿勢を表示してもよい。
The
図11は、難姿勢の検出の様子の一例を示す図である。シミュレーションシステム900は、多関節ロボットのモーションを再生し、タイムスタンプ毎の(時系列の)各リンクの角度を記録する。なお、各リンクの角度は、各関節の角度として表現されてもよい。図11の例では、シミュレーションシステム900は、多関節ロボット180のモーションを再生している。
Figure 11 is a diagram showing an example of how a difficult posture is detected. The
モーションの再生場面1101は、リンクL3およびリンクL4の間の角度が最大になるときの例である。シミュレーションシステム900は、多関節ロボット180のモーションを再生していき、モーションの再生場面1101において、この場面のタイムスタンプの各リンクの角度1111を記録する。
The
モーションの再生場面1102は、リンクL3およびリンクL4の間の角度が最小になるときの表示の例である。シミュレーションシステム900は、多関節ロボット180のモーションを再生していき、モーションの再生場面1102において、この場面のタイムスタンプの各リンクの角度1112を記録する。
The
シミュレーションシステム900は、各タイムスタンプにおけるリンク間の角度を相互に比較することで、難姿勢を検出し得る。例えば、シミュレーションシステム900は、シミュレーションの再生場面1101のリンクL3の角度「211.3345」と、リンクL4の角度「-72.15571」とに基づいて、リンクL3およびリンクL4の間の角度を算出し得る。シミュレーションシステム900は、シミュレーション中においてリンクL3およびリンクL4の間の角度が最大もしくは最小になる姿勢、または、シミュレーション中においてリンクL3およびリンクL4の間の角度が最大付近もしくは最小付近になる姿勢を、リンクL3,L4からなる部位における難姿勢として検出し得る。
The
図12は、各関節の角度の時系列データの一例を示す図である。図12に示される関節角度の時系列データは、隣接するリンクLnの関節の角度と、リンクLn+1の関節の角度とを含む。なお、リンクLnの関節は、例えばリンクLn-1およびLnを接続する関節であってもよい。また、リンクLn+1の関節は、例えばリンクLnおよび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」において、リンクLnの関節の角度が最大値「90」になり、タイムスタンプ「3」において、リンクLn+1の関節の角度が最大値「90」になっている。例えば、リンクLnの関節と、リンクLn+1の関節とを介して接続されるリンクからなる部位にケーブルを取り付ける場合、難姿勢の数はリンクの数だけ増加する(リンクLnの関節の角度が最大値および最小値、およびリンク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
ここで、ロバストネスの条件が「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
ある局面において、シミュレーションシステム900は、操作ユニット106またはネットワークインターフェイス110を介して、ロバストネスの条件を取得してもよい。
In one aspect, the
図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
シミュレーションシステム900は、多関節ロボット180のリンクL3,L4からなる部位を難姿勢に固定する。次に、シミュレーションシステム900は、リンクL3,L4からなる部位に部分ケーブルC2およびケーブルガイドG2,G3を取り付ける。さらに、シミュレーションシステム900は、部分ケーブルC2およびケーブルガイドG2,G3が多関節ロボット180の筐体に干渉しないか、ケーブルに過度な力がかからないかを検証する。
The
図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
図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
シミュレーションシステム900は、難姿勢を取るリンクL3,L4からなる部位に対して、考えられる複数の部分ケーブルC2およびケーブルガイドG2,G3の取付設定の検証を実行する。そして、シミュレーションシステム900は、これらの検証の様子をディスプレイ109に表示し得る。
The
図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
図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
図14~図18を参照して説明したように、シミュレーションシステム900は、多関節ロボット180の各部位に対して、複数のケーブルおよびケーブルガイドの取付設定を検証する。そして、シミュレーションシステム900は、これらの検証の様子をディスプレイ109に表示し得る。
As described with reference to Figures 14 to 18, the
図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
<D.フローチャート>
次に、図20および図21を参照して、シミュレーションシステム900の内部処理の流れについて説明する。ある局面において、プロセッサ102は、図20および図21の処理を行うためのプログラムをストレージ111から主メモリ104に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
D. Flowchart
Next, the flow of internal processing of the
図20は、シミュレーションシステム900におけるケーブルのシミュレーション手順の一例を示すフローチャートである。多関節ロボット180に取り付けるケーブルを例に以下の処理について説明する。
Figure 20 is a flowchart showing an example of a procedure for simulating a cable in the
ステップS2005において、シミュレーションシステム900は、多関節ロボット180のモーションを取得する。ある局面において、シミュレーションシステム900は、多関節ロボット180のプログラムを解析することで、多関節ロボット180のモーションを取得してもよい。他の局面において、シミュレーションシステム900は、多関節ロボット180のプログラムに基づいて、3D空間内で多関節ロボット180を動作させることにより、多関節ロボット180のモーションを取得してもよい。
In step S2005, the
ステップS2010において、シミュレーションシステム900は、時系列の関節角度の組み合わせを生成する。ステップS2010の処理は、図11および図12を参照して説明した処理に相当する。シミュレーションシステム900は、多関節ロボット180における各リンクL1,L2,L3,L4,L5,L6(の関節)の時系列の関節角度の組み合わせを生成する。
In step S2010, the
ステップS2015において、シミュレーションシステム900は、取得した時系列の関節角度の組み合わせを出力する。ある局面において、シミュレーションシステム900は、主メモリ104またはストレージ111に、取得した時系列の関節角度の組み合わせを出力してもよい。また、他の局面において、シミュレーションシステム900は、ディスプレイ109にも、取得した時系列の関節角度の組み合わせを出力してもよい。
In step S2015, the
ステップS2020において、シミュレーションシステム900は、部分ケーブル(図1における部分ケーブルC1,C2,C3)毎の難姿勢におけるシミュレーションを実行する。図2を参照して説明されたシミュレーションにおける第1の手順または第2の手順に相当する。ステップS2020の詳細については、図21を参照して後述する。
In step S2020, the
ステップS2025において、シミュレーションシステム900は、部分ケーブル毎の難姿勢におけるシミュレーションに合格したローカル最適設定の集合を出力する。一例として、部分ケーブルC2のローカル最適設定の集合は、リンクL3,L4からなる部位の第1の難姿勢における部分ケーブルC2(およびケーブルガイドG2,G3)の合格設定と、リンクL3,L4からなる部位の第2の難姿勢における部分ケーブルC2(およびケーブルガイドG2,G3)の合格設定とを含み得る。
In step S2025, the
ある局面において、シミュレーションシステム900は、主メモリ104またはストレージ111に、部分ケーブル毎のローカル最適設定の集合を出力してもよい。また、他の局面において、シミュレーションシステム900は、ディスプレイ109にも、部分ケーブル毎のローカル最適設定の集合を出力してもよい。
In one aspect, the
ステップS2030において、シミュレーションシステム900は、部分ケーブルの組み合わせのテストを実行する。すなわち、シミュレーションシステム900は、ケーブルC(部分ケーブルC1+部分ケーブルC2+部分ケーブルC3)全体のテストを実行する。ステップS2030の処理は、図2を参照して説明された第3の手順に相当する。
In step S2030, the
ステップS2035において、シミュレーションシステム900は、部分ケーブルの組み合わせのテストに合格した適用可能設定の集合を出力する。部分ケーブルの組み合わせのテストに合格した適用可能設定の集合は、ケーブルCの合格設定(全ての部分ケーブルの長さ(または長さおよび位置)、全てのケーブルガイドの位置および姿勢を含む)であり、ケーブルC全体の取付設定であるとも言える。
In step S2035, the
ある局面において、シミュレーションシステム900は、主メモリ104またはストレージ111に、部分ケーブルの組み合わせのテストに合格した適用可能設定の集合を出力してもよい。また、他の局面において、シミュレーションシステム900は、ディスプレイ109にも、部分ケーブルの組み合わせのテストに合格した適用可能設定の集合を出力してもよい。
In one aspect, the
ステップS2040において、シミュレーションシステム900は、部分ケーブルの組み合わせのテストに合格した適用可能設定の集合の中で、部分ケーブル毎のケーブル長が最短となるローカル最適設定のモーションのシミュレートを実行する。
In step S2040, the
部分ケーブル毎のケーブル長が最短となるローカル最適設定とは、最もケーブル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
ステップS2045において、シミュレーションシステム900は、ローカル最適設定がステップS2040のシミュレーションに合格したか否かを判定する。シミュレーションシステム900は、ローカル最適設定がステップS2040のシミュレーションに合格したと判定した場合(ステップS2045にてYES)、制御をステップS2050に移す。そうでない場合(ステップS2045にてNO)、シミュレーションシステム900は、制御をステップS2040に移す。制御がステップS2040に戻った場合、シミュレーションシステム900は、前回テストした適用可能設定の次に最もケーブルCの長さが短くなる適用可能設定を選択し,当該適用可能設定のテストを実行する。すなわち、シミュレーションシステム900は、適用可能設定の集合の中から、ケーブルCの長さが短いものを優先してテストする。
In step S2045, the
ステップS2050において、シミュレーションシステム900は、ステップS2045のテストに合格した適用可能設定をグローバル最適設定として出力する。グローバル最適設定は、ステップS2045のテストに合格した適用可能設定の集合の中で、最もケーブルCの長さが短いものである。また、グローバル最適設定は、全ての部分ケーブル(部分ケーブルC1,C2,C3)毎の長さ(または、長さおよび位置)の設定と、全てのケーブルガイド(ケーブルガイドG1,G2,G3,G4)毎の位置および姿勢とを含む。
In step S2050, the
図21は、ステップS2020のサブルーチンの一例を示すフローチャートである。ステップS2105において、シミュレーションシステム900は、全ての関節についてステップS2110以降の処理を実行する。
Figure 21 is a flowchart showing an example of a subroutine of step S2020. In step S2105, the
ステップS2110において、シミュレーションシステム900は、第1の難姿勢におけるアタッチメントシミュレーション結果を全て選択する。第1の難姿勢におけるアタッチメントシミュレーション結果とは、図2を参照して説明された第1の手順または第2の手順の結果である。例えば、リンクL3,L4からなる部位の第1の難姿勢におけるアタッチメントシミュレーション結果は、第1の難姿勢を取るリンクL3,L4に対する部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。
In step S2110, the
ステップS2115において、シミュレーションシステム900は、第2の難姿勢におけるアタッチメントシミュレーション結果を全て選択する。第2の難姿勢におけるアタッチメントシミュレーション結果とは、図2を参照して説明された第1の手順または第2の手順の結果である。例えば、リンクL3,L4からなる部位の第2の難姿勢におけるアタッチメントシミュレーション結果は、第2の難姿勢を取るリンクL3,L4に対する部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。
In step S2115, the
ステップS2120において、シミュレーションシステム900は、第1の難姿勢におけるアタッチメントシミュレーション結果の中から、合格設定を全て求める。例えば、リンクL3,L4からなる部位の第1の難姿勢における合格設定は、多関節ロボット180の筐体にケーブルおよびケーブルガイドが干渉しない、部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。または、リンクL3,L4からなる部位の第1の難姿勢における合格設定は、多関節ロボット180の筐体にケーブルおよびケーブルガイドが干渉せず、かつケーブルに過度な力がかからない、部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。
In step S2120, the
ステップS2125において、シミュレーションシステム900は、第2の難姿勢におけるアタッチメントシミュレーション結果の中から、合格設定を全て求める。例えば、リンクL3,L4からなる部位の第2の難姿勢における合格設定は、多関節ロボット180の筐体にケーブルおよびケーブルガイドが干渉しない、部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。または、リンクL3,L4からなる部位の第2の難姿勢における合格設定は、多関節ロボット180の筐体にケーブルおよびケーブルガイドが干渉せず、かつケーブルに過度な力がかからない、部分ケーブルC2の取付設定およびケーブルガイドG2,G3の取付設定を含む。
In step S2125, the
ステップS2130において、シミュレーションシステム900は、隣接する部位の合格設定を比較し、ケーブルガイドの位置および姿勢が共通となる合格設定を抽出する。例えば、シミュレーションシステム900は、多関節ロボット180におけるリンクL1,L2,L3からなる部位における合格設定と、リンクL3,L4からなる部位における合格設定とを比較して、ケーブルガイドG2の位置および姿勢が等しいものを選択する。すなわち、シミュレーションシステム900は、接続可能な隣接する部位の合格設定を抽出する。なお、1回目のループでは比較対象がないため、シミュレーションシステム900は、ステップS2130の処理を実行しなくてもよい。
In step S2130, the
ステップS2135において、シミュレーションシステム900は、抽出した合格設定の中から、予め定められた長さのロバストネス(例えば、「40mm」等)を満たす合格設定を抽出する。ステップS2135の処理は、図13を参照して説明された処理に相当する。
In step S2135, the
ステップS2140において、シミュレーションシステム900は、全ての関節について、ループ内の処理を実行し終えた場合は、サブルーチンを終了し、制御をステップS2025に移す。そうでない場合、シミュレーションシステム900は、ループ内の処理を繰り返す。
In step S2140, if the
以上説明した通り、本実施の形態に従うシミュレーションシステム900は、多関節ロボットからなる部位毎に、ローカル最適設定の集合(難姿勢において多関節ロボットの筐体に干渉しないケーブルおよびケーブルガイドの取付設定)を求める。さらに、シミュレーションシステム900は、これらのローカル最適設定の集合を結合して、グローバル最適設定を求める。こうすることで、シミュレーションシステム900は、多関節ロボットが取り得る全ての姿勢に対してケーブルの動きのシミュレーションを実行する場合と比較して、大幅に計算量を削減し、効率的にケーブルの取付設定を導き出すことができる。
As described above, the
<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 3]
Further comprising a motion acquisition unit for acquiring a motion of the articulated robot,
The simulation system (900) according to
[Configuration 4]
The simulation system (900) of any one of
[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
[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 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 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に記載のシミュレーションシステム。 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の取付設定の各々が、予め定められたロバストネスを有するか否かを判定する、請求項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の姿勢を取る前記第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のシミュレーション部は、前記第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の部位のモーションを実行することと、
モーションの実行中に、前記ケーブルが前記多関節ロボットに干渉したことを検出することとを含む、請求項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.
多関節ロボットの第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の姿勢を取る前記第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.
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)
| 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)
| 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 |
-
2021
- 2021-09-03 JP JP2021143885A patent/JP7694271B2/en active Active
Patent Citations (3)
| 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 |