JP2022018654A - Assembly work order planning device, and assembly work order planning method - Google Patents
Assembly work order planning device, and assembly work order planning method Download PDFInfo
- Publication number
- JP2022018654A JP2022018654A JP2020121910A JP2020121910A JP2022018654A JP 2022018654 A JP2022018654 A JP 2022018654A JP 2020121910 A JP2020121910 A JP 2020121910A JP 2020121910 A JP2020121910 A JP 2020121910A JP 2022018654 A JP2022018654 A JP 2022018654A
- Authority
- JP
- Japan
- Prior art keywords
- assembly
- work
- state
- assembly work
- robot
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 239000000047 product Substances 0.000 claims abstract description 98
- 230000007704 transition Effects 0.000 claims abstract description 55
- 230000002787 reinforcement Effects 0.000 claims abstract description 50
- 230000008569 process Effects 0.000 claims abstract description 22
- 239000012467 final product Substances 0.000 claims abstract description 5
- 230000009471 action Effects 0.000 claims description 83
- 230000006870 function Effects 0.000 claims description 61
- 238000004088 simulation Methods 0.000 claims description 37
- 238000012546 transfer Methods 0.000 claims description 2
- 238000010187 selection method Methods 0.000 claims 1
- 238000003860 storage Methods 0.000 description 18
- 238000011960 computer-aided design Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000013528 artificial neural network Methods 0.000 description 11
- 238000012549 training Methods 0.000 description 11
- 239000003795 chemical substances by application Substances 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000002784 stomach Anatomy 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23P—METAL-WORKING NOT OTHERWISE PROVIDED FOR; COMBINED OPERATIONS; UNIVERSAL MACHINE TOOLS
- B23P21/00—Machines for assembling a multiplicity of different parts to compose units, with or without preceding or subsequent working of such parts, e.g. with programme control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Manipulator (AREA)
- Automatic Assembly (AREA)
- General Factory Administration (AREA)
Abstract
Description
本発明は、組立作業順序計画装置、及び組立作業順序計画方法に関する。 The present invention relates to an assembly work sequence planning device and an assembly work sequence planning method.
複数の部品からなる製品の組立作業においては、事前に効率の良い作業方法と順序が計画される。組立作業現場では、作業員とロボットとが個別に作業を行う場合だけでなく、作業員とロボットとが混在して作業を行う場合がある。作業員とロボットとが混在する作業現場では、組立作業順序計画を効率化して生産の効率化を図ることが重要である。特に、ロボットによる作業は事前にロボットによる作業の内容を完全に定義しておく必要があり、ロボットの普及と低コスト化に伴うラインやセルのロボット構成の多様化が進む状況においては組立作業順序計画の自動化が望まれている。 In the assembly work of a product consisting of a plurality of parts, an efficient work method and order are planned in advance. At the assembly work site, not only the worker and the robot may work individually, but also the worker and the robot may work together. In a work site where workers and robots coexist, it is important to improve the efficiency of assembly work sequence planning and production efficiency. In particular, it is necessary to completely define the contents of the work by the robot in advance for the work by the robot, and in the situation where the robot configuration of the line and cell is diversifying due to the spread of the robot and the cost reduction, the assembly work order. Planning automation is desired.
組立作業順序の計画方法に関し、例えば特許文献1には、製品の3次元CAD(Computer Aided Design)モデルから部品毎の部品属性と部品配置と他の部品との隣接関係情報を抽出し、部品間の結合優先関係を有向グラフとして生成し、隣接関係情報からアセンブリグラフを生成し、部品の分解順序を求めることで、その逆順序として組立順序を生成する技術が記載されている。
Regarding the method of planning the assembly work order, for example, in
また、例えば特許文献2には、3次元CADデータを入力とし、タスクプランナで組立作業計画を行い、組立作業はペトリネットによりモデル化し、最適経路を探索することでロボットプログラムをオフラインで生成する技術が記載されている。
Further, for example, in
さらに、例えば特許文献3には、ロボットによる作業動作のシミュレーションを実行して、実行結果に基づいて制御指令を判定する際、判定結果が良好な場合と不良な場合とにそれぞれ対する結果ラベルを訓練データとして、制御指令を学習する技術が記載されている。
Further, for example, in
特許文献1に記載の技術は、3次元CADデータから抽出した部品間の結合の優先関係及び隣接関係に基づく有向グラフとアセンブリグラフとを用いて組立順序を生成するものであり、製品中にある部品の数に応じて膨大な数の組立順序が生成されてしまうことになる。また、結合の優先関係等をマニュアル設定する必要性があり、効率的に組立順序を決めることが困難である。さらに、作業主体の作業順序は生成できない。
The technique described in
特許文献2に記載の技術は、組立作業計画方法を含むが、組立順序は製品の状態レベル、対象移動レベル、手先移動レベルと階層化されておりペトリネットでモデル化される。ペトリネットを構成した段階で組立順序が定まるが、ペトリネットを自動構成(自動モデル化)する方法ではないため、ロボット及び作業員を作業主体とする組立作業順序の生成はできない。
The technique described in
特許文献3に記載の技術は、強化学習技術を利用して、ロボットを含む機械の制御指令を学習するものであり、作業動作のシミュレーションを実行することで学習を進める。組立作業順序は一連の作業動作を定める際にすでに定義されるものであるので、組立作業順序を生成するものではない。
The technique described in
本発明は、上記の点に鑑みてなされたものであって、製品を構成する各部品の組立順序と、ロボット及び作業員を含み得る作業主体の作業順序とを計画できるようにすることを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to be able to plan the assembly order of each component constituting a product and the work order of a work subject including a robot and a worker. And.
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。 The present application includes a plurality of means for solving at least a part of the above problems, and examples thereof are as follows.
上記課題を解決するため、本発明の一態様に係る組立作業順序計画装置は、複数の部品を組付けた部組品を経て最終的な製品に組立てられるまでの過程を表す情報を含む組立状態遷移情報を取得する情報取得部と、前記組立状態遷移情報に基づき、組付前の2つの前記部品または前記部組品からなる組立状態に対して作業主体が実行し得る作業を定義する組立作業定義部と、前記作業の実行の可否に関する制約条件を設定する制約条件設定部と、前記制約条件に従い、前記組立状態に対する前記作業の選択方法を強化学習する学習部と、前記強化学習の結果に基づいて前記製品の組立作業順序を生成する組立作業順序生成部と、を備えることを特徴とする。 In order to solve the above problems, the assembly work sequence planning device according to one aspect of the present invention is an assembly state including information indicating a process from assembling to a final product through a component in which a plurality of parts are assembled. An assembly work that defines work that can be performed by a work subject for an assembly state consisting of two parts or parts before assembly, based on an information acquisition unit that acquires transition information and the assembly state transition information. A definition unit, a constraint condition setting unit that sets a constraint condition regarding whether or not the work can be executed, a learning unit that reinforces learning how to select the work for the assembly state according to the constraint condition, and a result of the reinforcement learning. It is characterized by including an assembly work order generation unit that generates an assembly work order of the product based on the above.
本発明によれば、製品を構成する各部品の組立順序と、ロボット及び作業員を含み得る作業主体の作業順序とを計画することが可能となる。 According to the present invention, it is possible to plan the assembly order of each component constituting the product and the work order of the work subject including the robot and the worker.
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。 Issues, configurations, and effects other than those described above will be clarified by the description of the following embodiments.
以下、本発明の複数の実施形態について図面に基づいて説明する。なお、各実施形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下の実施形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。また、「Aからなる」、「Aよりなる」、「Aを有する」、「Aを含む」と言うときは、特にその要素のみである旨明示した場合等を除き、それ以外の要素を排除するものでないことは言うまでもない。同様に、以下の実施形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。 Hereinafter, a plurality of embodiments of the present invention will be described with reference to the drawings. In addition, in all the drawings for explaining each embodiment, in principle, the same members are designated by the same reference numerals, and the repeated description thereof will be omitted. Further, in the following embodiments, it is needless to say that the components (including element steps and the like) are not necessarily essential except when explicitly stated and when it is clearly considered to be essential in principle. stomach. In addition, when saying "consisting of A", "consisting of A", "having A", and "including A", other elements are excluded unless it is clearly stated that it is only that element. It goes without saying that it is not something to do. Similarly, in the following embodiments, when the shape, positional relationship, etc. of the constituent elements, etc. are referred to, the shape, etc. It shall include those that are close to or similar to.
<第1の実施形態>
図1は、本発明の第1の実施形態に係る組立作業順序計画装置10の構成例を示している。
<First Embodiment>
FIG. 1 shows a configuration example of the assembly work
組立作業順序計画装置10は、ロボット及び作業員を含み得る作業主体により部品を組付け製品を完成させる際の組立作業順序を計画するためのものである。
The assembly work
組立作業順序計画装置10は、演算部11、記憶部12、入力部13、出力部14、及び通信部15の各機能ブロックを備える。
The assembly work
組立作業順序計画装置10は、CPU(Central Processing Unit)等のプロセッサ、DRAM(Dynamic Random Access Memory)等のメモリ、HDD(Hard Disk Drive)やSSD(Solid State Drive)等のストレージ、キーボード、マウス、タッチパネル等の入力デバイス、ディスプレイ等の出力デバイス、及び、NIC(Network Interface Card)等の通信モジュールを備えるパーソナルコンピュータ等の一般的なコンピュータから成る。
The assembly work
演算部11は、コンピュータのプロセッサにより実現される。演算部11は、情報取得部111、組立作業定義部112、制約条件設定部113、行動選択・価値関数構成部114、報酬設定部115、学習部116、及び組立作業順序生成部117の機能ブロックを有する。これらの機能ブロックは、コンピュータのプロセッサがメモリにロードされた所定のプログラムを実行することによって実現される。ただし、これらの機能ブロックの一部または全部を集積回路等によりハードウェアとして実現してもよい。
The
情報取得部111は、通信部15を介して、インターネットや携帯電話通信網等からなるネットワーク1に接続されたCAD(Computer Aided Design)システム20から組立作業環境・製品情報121、及び組立状態遷移情報122を取得して記憶部12に格納する。
The
ここで、組立作業環境・製品情報121には、予めCADシステム20によりCADデータとしてモデリングされている、組立作業環境に存在する物体(例えば、ロボット、ステージ、部品載置用トレイ、搬送装置、ロボットのアームに装着するハンドやツール、枠構造物等)の形状及び位置を表す情報が含まれる。さらに、組立作業環境・製品情報121には、製品を構成する複数の部品に関する情報が含まれる。
Here, the assembly work environment /
組立状態遷移情報122には、複数の部品を組付けた部組品を経て最終的な製品に組立てられるまでの過程を表す情報と、接触拘束条件が含まれる。ここで、接触拘束条件とは、部品間の接触による部品の移動方向の制約を表す。接触拘束条件によれば、組立過程における組立状態の遷移関係が得られる。
The assembly
組立作業定義部112は、組立状態遷移情報122を参照し、組付前の2つの部品または部組品からなる組立状態に対して、組立作業を定義し、定義した組立作業を組立作業情報123として記憶部12に格納する。なお、組立作業定義部112は、組立作業環境(ロボットのハンド、トレイ、ステージ等)の作業前の状態を設定することができる。さらに、組立作業定義部112は、例えば、ステージ等の組立作業環境の状態を遷移させる作業を設定することができる。
The assembly
制約条件設定部113は、制約条件を設定し、制約条件情報124として記憶部12に格納する。制約条件の設定とは、組立状態に対して実施できない作業を対応付けることである。組立状態遷移から組立作業を定義した場合、強化学習において、組立状態に対して作業を選択する場合、組立状態がその作業の事前に想定されたものではないときには、制約条件により、選択できない作業と判断される。組立作業環境の状態に対する作業の選択についても同様である。
The constraint
なお、組立作業の順序に制約条件を設定してもよい。例えば、ある部品を組付ける前にある作業を実行しなければならない場合には、該部品が存在する状態で該作業が選択されなければならない。反対に、ある部品の組付後に、ある作業を実行しなければならない場合には、該部品が存在しない状態で該作業が選択されなければならない。 Constraints may be set in the order of assembly work. For example, if a task must be performed prior to assembling a component, the task must be selected in the presence of the component. Conversely, if a task must be performed after assembly of a component, the task must be selected in the absence of the component.
行動選択・価値関数構成部114は、組立作業順序を計画するための、組立状態に対する作業を選択し、組立作業順序を設定する強化学習に用いる、状態と行動との関係を表現する行動選択関数、及び、状態と状態価値との関係を表現する価値関数を構成する。なお、行動選択関数、及び価値関数を構成するためには、状態(state)、及び行動(action)の項目が必要であり、これらは、組立状態遷移情報122及び組立作業情報123から取得される。本実施形態の場合、組立状態が、強化学習技術分野における用語としての状態に相当し、作業が、強化学習技術分野における用語としての行動に相当する。
The action selection /
なお、強化学習を実現するためのアルゴリズムはテーブルQ学習、関数近似法、さらにはそれらを修正、拡張した手法など多数存在する。本実施形態では、深層ニューラルネットワークを近似関数とした深層強化学習の1例であるon-policy手法のA3C(Asynchronous Advantage Actor-Critic)を採用する。A3Cでは、状態を入力、選択される行動と価値関数を出力としてニューラルネットワークを構成する。ニューラルネットワークの中間層の層数、各層のノード数については事前に設定しておく。 There are many algorithms for realizing reinforcement learning, such as table Q learning, function approximation method, and methods that modify or extend them. In this embodiment, A3C (Asynchronous Advantage Actor-Critic) of the on-policy method, which is an example of deep reinforcement learning using a deep neural network as an approximate function, is adopted. In A3C, a neural network is constructed by inputting a state and outputting a selected action and a value function. The number of layers in the intermediate layer of the neural network and the number of nodes in each layer are set in advance.
他の深層強化学習としては、off-policy手法のDQN(Deep Q-learning Network)があり、行動価値関数を深層ニューラルネットワークで構成することとなる。テーブルQ学習では、状態と行動価値を対応付けるQテーブル(配列)を構成することとなる。いずれの方法を採用してもよいが、強化学習を行うためには行動選択と行動選択を評価するための価値を状態から求める仕掛けを構成することが必要となる。なお、強化学習については、図15及び図16を参照して後述する。 As another deep reinforcement learning, there is DQN (Deep Q-learning Network) of the off-policy method, and the action value function is constructed by the deep neural network. In table Q learning, a Q table (array) that associates states with action values is constructed. Either method may be adopted, but in order to perform reinforcement learning, it is necessary to construct a mechanism for obtaining the action selection and the value for evaluating the action selection from the state. Reinforcement learning will be described later with reference to FIGS. 15 and 16.
報酬設定部115は、組立状態に対して、制約条件に抵触するため実施できない作業が選択された場合には負の報酬を設定する。また、製品が完成し、組立作業の完了状態が得られた場合には正の報酬を設定する。
The
学習部116は、組立の初期状態から、組立状態に対する作業選択が失敗して組立失敗となるか、組立状態に対する作業選択が成功して組立作業が完了して組立成功となるかの、一連の行動を意味するエピソードを繰り返すことにより強化学習を実行する。
From the initial state of assembly, the
具体的には、エピソードを繰り返し、状態に対する行動選択を学習し、組立成功の結果が得られるようになれば、強化学習を完了する。強化学習が完了することによって、状態に対して良い行動が選択される行動選択関数が得られたこととなる。なお、1つのエピソードの処理においては、初期状態に対して行動を選択し、次の状態を得る。さらに行動を選択して、その次の行動を得る。このようにステップ毎に行動選択を繰返して状態を進め、行動選択を誤った場合、または許されない状態となった場合には、負の報酬を得てエピソードを終了する。反対に、成功した状態になった場合には、正の報酬を得てエピソードを終了する。以下、学習のことを訓練と称することもある。 Specifically, the episode is repeated, the action selection for the state is learned, and when the result of the successful assembly is obtained, the reinforcement learning is completed. By completing the reinforcement learning, the behavior selection function that selects the good behavior for the state is obtained. In the processing of one episode, an action is selected for the initial state, and the next state is obtained. Select another action to get the next action. In this way, the action selection is repeated step by step to advance the state, and if the action selection is wrong or the state is not allowed, a negative reward is obtained and the episode ends. Conversely, if successful, the episode ends with a positive reward. Hereinafter, learning may be referred to as training.
組立作業順序生成部117は、学習部116による強化学習の結果に基づいて組立作業順序を設定する。具体的には、強化学習の結果得られた行動選択関数に基づき、組立の初期状態から組立作業が完了した組立成功の状態までの過程で選択された一連の行動を組立作業順序として生成する。また各作業段階での組立状態、組立作業環境の状態も生成する。
The assembly work
記憶部12は、コンピュータのメモリ及びストレージによって実現される。記憶部12には、組立作業環境・製品情報121、組立状態遷移情報122、組立作業情報123、及び制約条件情報124が格納される。記憶部12には、これら以外の情報を格納するようにしてもよい。
The
入力部13は、コンピュータの入力デバイスによって実現される。入力部13は、オペレータ(ユーザ)からの各種の操作を受け付ける。出力部14は、コンピュータの出力デバイスによって実現される。出力部14は、例えば、操作入力画面を表示する。通信部15、コンピュータの通信モジュールによって実現される。通信部15は、ネットワーク1を介してCADシステム20と接続し、CADシステム20から所定の情報を受信する。
The
CADシステム20は、組立作業順序計画装置10からの要求に応じ、組立作業環境・製品情報121、及び組立状態遷移情報122を供給する。
The
次に、図2は、組立作業環境の一例を示している。 Next, FIG. 2 shows an example of an assembly work environment.
該組立作業環境には、2台のロボットR1,R2、台座311に設けられたステージ312、トレイ321,322、及び、ハンド設置台331,332が設けられている。
In the assembly work environment, two robots R1 and R2, a
ロボットR1は、ハンドが交換可能であり、同図においてはハンド303が装着されている。同様に、ロボットR2は、ハンドが交換可能であり、同図においてはハンド304が装着されている。なお、本実施形態において、ハンドは、ロボット(マニピュレータ)のエンドエフェクタを意味し、必ずしも把持する構造を有するものに限らない。ハンドには、例えば、ドライバのようなツール(工具)も含まれる。
The robot R1 has a replaceable hand, and the
トレイ321,322には、次の作業でステージ312に移動、載置されて組付作業の対象となる部品が置かれている。ハンド設置台331,332には、現在装着されているハンド303,304と交換可能な交換用ハンド333,334が置かれている。
Parts that are moved to the
同図の組立作業環境では、2台のロボットR1,R2が同時に稼働してステージ312上に載置した部品を組付ける作業を実行することができる。
In the assembly work environment shown in the figure, the two robots R1 and R2 can operate simultaneously to perform the work of assembling the parts placed on the
次に、図3は、組立作業順序計画装置10にて組立作業順序を計画する製品40の一例を示している。製品40は、ベース部品Aの上に板部品B,Cを配置し、それぞれをネジ部品D,Eによって締結、固定することにより完成する構造を有する。
Next, FIG. 3 shows an example of the
図4は、図3に示された製品40の組立状態遷移を表すAND/OR木を示している。
FIG. 4 shows an AND / OR tree representing the assembly state transition of the
該AND/OR木はツリー構造であって、単体の部品、2つ以上の部品が組付けられた部組品、または製品を表す各組立状態は、楕円で示す各ノード(節点)によって表わされる。ある組立状態から次の組立状態への遷移は、あるノードと他のノードとを接続するエッジ(稜線)によって表される。 The AND / OR tree has a tree structure, and each assembly state representing a single part, a substructure in which two or more parts are assembled, or a product is represented by each node (node) indicated by an ellipse. .. The transition from one assembly state to the next is represented by an edge (ridge) connecting one node to another.
組立状態は、部品単体はベース部品A、板部品B,C、ネジ部品D,Eの5状態、2つの部品からなる部組品AB,ACの2状態、3つの部品から成る部組品ABC,ABD、ACEの3状態、4つの部品から成る部組品ABCD,ABCEの2状態、4つの部品から成る完成品ABCDEの1状態の全13状態である。
As for the assembly state, the individual parts are in 5 states of base part A, plate parts B and C, screw parts D and E, 2 states of 2 parts AB and AC, and ABC of 3 parts. , ABD,
例えば、ノードAは、ベース部品Aが単体で存在する組立状態を表し、ベース部品Aに板部品Bを組付ける作業を行うことにより、部組品ABの組立状態を表すノードABに遷移する。また、例えば、ノードABは、ベース部品Aに板部品Bが組付けられた部組品としての組立状態を表し、部組品ABに板部品Cを組付ける作業を行うことにより、部組品ABCの組立状態を表すノードABCに遷移する。 For example, the node A represents an assembled state in which the base component A exists as a single unit, and by performing the work of assembling the plate component B to the base component A, the node A transitions to the node AB representing the assembled state of the component AB. Further, for example, the node AB represents an assembled state as a component in which the plate component B is assembled to the base component A, and by performing the work of assembling the plate component C to the component AB, the node AB is assembled. Transition to the node ABC representing the assembly state of ABC.
なお、AND/OR木におけるノード間の遷移には、部品間の接触拘束条件が反映される。例えば、ネジ部品Dの組付け作業は、ベース部品A上に板部品Bが配置されていなければ実行できない。よって、ネジ部品Dの組付け作業を選択するには、少なくともベース部品Aに板部品Bが配置されている組付状態を表すノードAB(部組品AB)、ノードABC(部組品ABC)またはノードABCE(部組品ABCE)に既に遷移していることが条件となる。 The transition between nodes in the AND / OR tree reflects the contact constraint conditions between the parts. For example, the assembly work of the screw component D cannot be performed unless the plate component B is arranged on the base component A. Therefore, in order to select the assembly work of the screw component D, at least the node AB (assembly product AB) and the node ABC (component ABC) representing the assembly state in which the plate component B is arranged on the base component A. Alternatively, it is a condition that the node ABCE (component ABCE) has already been transitioned.
図5は、図4に示されたAND/OR木における各組立状態への遷移の一覧を示している。 FIG. 5 shows a list of transitions to each assembly state in the AND / OR tree shown in FIG.
製品40は、始めにベース部品Aに対して板部品B,Cのどちらから組付けてもよい。また、部組品ABCに対しては、ネジ部品D,Eのどちらから組付けてもよい、したがって、単体の部品から完成品を得るまでの組立順序は6通りとなる。各組立状態への遷移は、図5に示すNo1~No12の12通りが存在する。
The
次に、製品40の組立状態遷移(AND/OR木)(図4)に基づく組立作業順序の設定方法について説明する。
Next, a method of setting the assembly work order based on the assembly state transition (AND / OR tree) (FIG. 4) of the
なお、図2の組立作業環境には2台のロボットR1,R2が存在したが、はじめに、作業主体を1台のロボット(ロボットR1,R2の一方)だけとする場合について説明し、次に、作業主体を複数(例えば、2台)のロボットとする場合について説明する。 Although there were two robots R1 and R2 in the assembly work environment of FIG. 2, first, a case where the work subject is only one robot (one of the robots R1 and R2) will be described. A case where the work subject is a plurality of (for example, two) robots will be described.
なお、前提として、1台のロボットによる1回の作業により、組立状態が1つだけ遷移するものとする。 As a premise, it is assumed that only one assembly state is changed by one operation by one robot.
図4の組立状態遷移に基づいて定義される作業は以下の作業W1~W5となる。
作業W1:ベース部品Aの組付。
作業W2:板部品Bの組付。
作業W3:板部品Cの組付。
作業W4:ネジ部品Dの組付。
作業W5:ネジ部品Dの組付。
The work defined based on the assembly state transition in FIG. 4 is the following work W1 to W5.
Work W1: Assembly of base component A.
Work W2: Assembly of plate part B.
Work W3: Assembly of plate part C.
Work W4: Assembly of screw part D.
Work W5: Assembling the screw part D.
組立作業の制約条件及び報酬は、組立状態遷移から直接に導かれる。例えば、作業W4(ネジ部品Dの組付)は、実行前に部組品AB、部組品ABC、または部組品ABCEのいずれかの組立状態が存在しなければない。したがって、組立状態として部組品AB、部組品ABC、または部組品ABCEのいずれかが存在しない状態において、作業W4を選択した場合には負の報酬を設定するようにする。 Constraints and rewards for assembly work are derived directly from assembly state transitions. For example, the work W4 (assembly of the screw component D) must have an assembled state of any of the component AB, the component ABC, or the component ABCE before the execution. Therefore, if the work W4 is selected in a state where any of the substructure AB, the substructure ABC, or the substructure ABCE does not exist as the assembled state, a negative reward is set.
また、例えば、組立作業の初期状態において、ベース部品Aはステージ312の上に予め載置されていることを前提とすれば、組立作業の1番目に作業W1を選択した場合には負の報酬を設定するようにする。
Further, for example, assuming that the base component A is pre-mounted on the
なお、ベース部品Aをステージ312の上に載置する作業を設計したい場合には、ベース部品Aに関する状態として、トレイ321(または322)に載置されている状態、及び、ステージ312に載置されている状態を設け、トレイ321(または322)に載置されている状態から、作業W1を実行することにより、ステージ312に載置されている状態に遷移するようにすればよい。
If you want to design the work of placing the base component A on the
図6は、製品40の組立状態遷移(図4)に基づいて設定した組立作業順序の一例、及び作業毎の組立状態を示している。
FIG. 6 shows an example of the assembly work order set based on the assembly state transition (FIG. 4) of the
該組立作業順序は、作業主体を1台のロボットのみとし、製品40の組立状態に基づいて、作業W1~業W5の5種類の作業を選択させる強化学習によって設定される。
The assembly work order is set by reinforcement learning in which the work subject is only one robot and five types of work, work W1 to work W5, are selected based on the assembly state of the
同図に示す組立作業順序は作業ステップ0番から4番まであり、0番は初期状態、4番は完了状態である。各部品等に対応して記載されている状態値0は、対応する部品等が存在していない状態であることを意味し、状態値1は対応する部品等が存在している状態ことを意味する。組立作業の初期状態は、各部品が単体で存在し、部組品及び製品は存在しない状態と定義する。組立作業の完了状態は、製品ABCDEが存在する状態と定義する。
The assembly work order shown in the figure is from
作業ステップ0番は初期状態である。次の作業ステップ1番では、ロボットが作業W2(板部品Bの組付)を実行する。これにより、ベース部品A、及び板部品Bが消滅し、部組品ABが出現する。
次の作業ステップ2番では、ロボットが作業W3(板部品Cの組付)を実行する。これにより、板部品C及び部組品ABが消滅し、部組品ABCが出現する。次の作業ステップ3番では、ロボットが作業W4(ネジ部品Dの組付)を実行する。これにより、ネジ部品D及び部組品ABCが消滅し、部組品ABCDが出現する。次の作業ステップ4番では、ロボットが作業W5(ネジ部品Eの組付)を実行する。これにより、ネジ部品E及び部組品ABCDが消滅し、製品ABCDEが出現する。これにより、完了状態が得られて、組立作業が終了される。
In the
なお、作業W2(板部品Bの組付)と作業W3(板部品Cの組付)の順序はいずれを先に実行してもよく、組立状態の遷移のみから定めることはできない。 The order of work W2 (assembly of plate component B) and work W3 (assembly of plate component C) may be executed first, and cannot be determined only from the transition of the assembled state.
作業W2は、ベース部品A、部組品AC、または部組品ACEの組立状態においてのみ、選択可能である。仮に、板部品Cを組付ける前に板部品Bを組付けなければならないという制約条件が設定されていれば、作業W2の前提となる組立状態は、ベース部品Aの単体のみとなる。 The work W2 can be selected only in the assembled state of the base component A, the assembly AC, or the assembly ACE. If the constraint condition that the plate component B must be assembled before the plate component C is assembled, the assembly state that is the premise of the work W2 is only the base component A alone.
次に、製品40の組立状態遷移に加え、組立作業環境の状態にも基づいて作業を設定する場合の例を説明する。組立作業環境の状態としては、ロボットのハンドを交換する作業を導入する。
Next, an example of setting the work based on the state of the assembly work environment in addition to the assembly state transition of the
ネジ部品D,Eを組付ける場合、ロボットにはドライバハンドを装着し、板部品B,Cを組付ける場合、ロボットにはグリップハンドを装着するものとする。 When assembling the screw parts D and E, the driver hand shall be attached to the robot, and when assembling the plate parts B and C, the grip hand shall be attached to the robot.
この場合、組立作業環境の状態として、ロボットのハンドに関する「グリップハンド」及び「ドライバハンド」を追加し、上述した作業W1~W5に追加し、以下の作業W6~W8を定義すればよい。 In this case, as the state of the assembly work environment, the "grip hand" and the "driver hand" related to the robot hand may be added, added to the above-mentioned works W1 to W5, and the following works W6 to W8 may be defined.
作業W6:グリップハンドの装着。
作業W7:ドライバハンドの装着。
作業W8:ハンドの取り外し。
Work W6: Attaching the grip hand.
Work W7: Installation of the driver hand.
Work W8: Removal of the hand.
そして、前提条件として、作業W2(板部品Bの組付),W3(板部品Cの組付)については、グリップハンドが装着されている状態である場合にのみ作業可能であると設定する。同様に、作業W4(ネジ部品Dの組付),W5(ネジ部品Eの組付)については、ドライバハンドが装着されている状態である場合にのみ作業可能であると設定する。 Then, as a precondition, it is set that the work W2 (assembly of the plate component B) and W3 (assembly of the plate component C) can be performed only when the grip hand is attached. Similarly, it is set that the work W4 (assembly of the screw component D) and W5 (assembly of the screw component E) can be performed only when the driver hand is attached.
作業W6(グリップハンドの装着),W7(ドライバハンド)の装着については、ロボットにハンドが装着されていない状態である場合にのみ作業可能であると設定する。作業W8(ハンドの取り外し)については、ロボットにグリップハンドまたはドライバハンドが装着されている状態である場合にのみ作業可能であると設定する。 It is set that the work W6 (attachment of the grip hand) and W7 (attachment of the driver hand) can be performed only when the hand is not attached to the robot. Regarding the work W8 (removal of the hand), it is set that the work can be performed only when the grip hand or the driver hand is attached to the robot.
組立作業の初期状態は、各部品が単体で存在し、ロボットにクリップハンド及びドライバハンドのいずれもが装着されていない状態と定義する。組立作業の完了状態は、製品ABCDEが得られ、さらに、ロボットにハンドが装着されていない状態と定義する。 The initial state of the assembly work is defined as a state in which each part exists as a single unit and neither the clip hand nor the driver hand is attached to the robot. The completed state of the assembly work is defined as the state in which the product ABCDE is obtained and the hand is not attached to the robot.
なお、組立作業環境には、ドライバハンド及びグリップハンド以外のハンドを準備してもよい。さらに、1台のロボットが複数のアームを有し、ドライバハンド及びグリップハンドを同時に装着できるようにしてもよい。 A hand other than the driver hand and the grip hand may be prepared in the assembly work environment. Further, one robot may have a plurality of arms so that a driver hand and a grip hand can be attached at the same time.
図7は、製品40の組立状態遷移(図4)、及び組立作業環境(ロボットのハンドの状態)に基づいて設定した組立作業順序の一例、及び作業毎の組立状態を示している。
FIG. 7 shows an example of the assembly work order set based on the assembly state transition (FIG. 4) of the
該組立作業順序は、作業主体を1台のロボットのみとし、製品40の組立状態及び組立作業環境に基づいて、作業W1~W8までの8種類の作業を選択させる強化学習によって設定される。
The assembly work order is set by reinforcement learning in which the work subject is only one robot and eight types of work from work W1 to W8 are selected based on the assembly state and the assembly work environment of the
同図に示す組立作業順序は作業ステップ0番から8番まであり、0番が初期状態、8番が完了状態である。部品A等に対応して記載されている状態値は図6の場合と同様である。
The assembly work order shown in the figure is from
例えば、作業ステップ0番の初期状態では、単体の部品のみが存在し、ロボットにはクリップハンド及びドライバハンドのいずれもが装着されていない。
For example, in the initial state of
次の作業ステップ1番では、ロボットが作業W6(グリップハンドの装着)を実行する。これにより、ロボットによる作業W2(板部品Bの組付),W3(板部品Cの組付)が実行可能となる。次の作業ステップ2番では、ロボットが作業W2を実行する。これにより、ベース部品A、及び板部品Bが消滅し、部組品ABが出現する。次の作業ステップ3番では、ロボットが作業W3を実行する。これにより、板部品C、及び部組品ABが消滅し、部組品ABCが出現する。
In the
次の作業ステップ4番では、ロボットが作業W8(ハンドの取り外し)を実行する。これにより、ロボットによる作業W6(グリップハンドの装着),W7(ドライバハンドの装着)が実行可能となる。次の作業ステップ5番では、ロボットが作業W7を実行する。これにより、ロボットによる作業W4(ネジ部品Dの組付),W5(ネジ部品Eの組付)が実行可能となる。
In the
次の作業ステップ6番では、ロボットが作業W4を実行する。これにより、ネジ部品D、及び部組品ABCが消滅し、部組品ABCDが出現する。次の作業ステップ7番では、ロボットが作業W5を実行する。これにより、ネジ部品E、及び部組品ABCDが消滅し、製品ABCDEが出現する。次の作業ステップ8番では、ロボットが作業W8(ハンドの取り外し)を実行する。これにより、完了状態が得られて組立作業が終了される。
In the
次に、作業主体を複数のロボット(一例として、図2の2台のロボットR1,R2)とする場合について説明する。 Next, a case where the work subject is a plurality of robots (for example, the two robots R1 and R2 in FIG. 2) will be described.
この場合、組立作業環境の状態として、2台のロボットそれぞれのハンドに関する「グリップハンド」及び「ドライバハンド」を追加する。2台のロボットが選択し得る行動は、上述したように定義した作業W1~W8である。ただし、2台のロボットのうち、一方のロボットが作業しない(作業できない)場合が発生し得るので、以下の作業W0を追加して定義する。
作業W0:待機。
In this case, a "grip hand" and a "driver hand" for each of the hands of the two robots are added as the state of the assembly work environment. The actions that the two robots can select are the tasks W1 to W8 defined as described above. However, since there may be a case where one of the two robots does not work (cannot work), the following work W0 is additionally defined.
Work W0: Standby.
なお、作業W0の前提となる状態や、作業0から遷移可能な状態等に制限はない。
There are no restrictions on the state that is the premise of work W0, the state that can be transitioned from
2台のロボットに対しては、同時に同じ作業を選択してもよい。ただし、作業前の状態に制約があって、一方のロボットに対して選択した作業により作業前の状態が無くなってしまうのであれば、他方のロボットに対して同じ作業を選択した場合には負の報酬を設定するようにする。 The same work may be selected for two robots at the same time. However, if there are restrictions on the state before work and the state before work disappears due to the work selected for one robot, it will be negative if the same work is selected for the other robot. Try to set rewards.
組立作業の初期状態は、各部品が単体で存在し、2台のロボットそれぞれにハンドが装着されていない状態と定義する。組立作業の完了状態は、製品ABCDEが得られ、さらに、2台のロボットそれぞれにハンドが装着されていない状態と定義する。 The initial state of the assembly work is defined as a state in which each part exists as a single unit and no hand is attached to each of the two robots. The completed state of the assembly work is defined as the state in which the product ABCDE is obtained and the hands are not attached to each of the two robots.
図8は、製品40の組立状態遷移(図4)、及び組立作業環境(ハンドの状態)に基づいて設定した組立作業順序の一例、及び作業毎の組立状態を示している。
FIG. 8 shows an example of the assembly work order set based on the assembly state transition (FIG. 4) of the
該組立作業順序は、製品40の組立作業を実施する作業主体を2台のロボットとし、製品40の組立状態及び組立作業環境に基づいて、作業W0~W8までの9種類の作業を選択させる強化学習によって設定される。
The assembly work sequence is strengthened so that the work subject that carries out the assembly work of the
なお、同図においては、2台のロボットをロボットR1,R2とし、ロボットR1のハンドの状態をR1グリップ及びR1ドライバ、ロボットR2のハンドの状態をR2グリップ及びR2ドライバとしている。 In the figure, the two robots are the robots R1 and R2, the state of the hand of the robot R1 is the R1 grip and the R1 driver, and the state of the hand of the robot R2 is the R2 grip and the R2 driver.
同図に示す組立作業順序は作業ステップ0番から5番まであり、0番が初期状態、5番が完了状態である。部品A等に対応して記載されている状態値は図6の場合と同様である。
The assembly work order shown in the figure is from
例えば、作業ステップ0番の初期状態では、単体の部品のみが存在し、部組品、及び製品は存在しない。また、2台のロボットR1,R2それぞれにはクリップハンド及びドライバハンドが装着されていない。
For example, in the initial state of
次の作業ステップ1番では、ロボットR1が作業W6(グリップハンドの装着)を実行し、ロボット2が作業W7(ドライバハンドの装着)を実行する。これにより、ロボットR1による作業W2(板部品Bの組付),W3(板部品Cの組付)が実行可能となり、ロボットR2による作業W4(ネジ部品Dの組付),W5(ネジ部品Eの組付)が実行可能となる。
In the
次の作業ステップ2番では、ロボットR1が作業W2を実行する。これにより、ベース部品A、及び板部品Bが消滅し、部組品ABが出現する。一方、ロボットR2が作業W0(待機)を実行する。次の作業ステップ3番では、ロボットR1が作業W3を実行し、ロボットR2が作業W4(ネジ部品Dの組付)を実行する。これにより、板部品C、ネジ部品D、及び部組品ABが消滅し、部組品ABCDが出現する。
In the
次の作業ステップ4番では、ロボットR1が作業W8(ハンドの取り外し)を実行し、ロボットR2が作業W5(ネジ部品Eの組付)を実行する。これにより、ネジ部品E、及び部組品ABCDが消滅し、製品ABCDEが出現する。次の作業ステップ5番では、ロボットR1が作業W0(待機)を実行し、ロボットR2が作業W8(ハンドの取り外し)を実行する。これにより、完了状態が得られて組立作業が終了される。
In the
なお、組立作業順序は、作業主体を3台以上のロボットとして設定することも可能である。また、組立作業環境として、ハンド以外にトレイ321,322、ステージ312等の状態を追加してもよい。さらに、作業の定義に、部品を所定の位置から他の位置まで搬送する搬送装置の作業を追加してもよい。
The assembly work order can also be set as a work subject as three or more robots. Further, as an assembly work environment, a state such as
<組立作業順序計画装置10による組立作業順序計画処理>
次に、図9は、組立作業順序計画装置10による組立作業順序計画処理の一例を説明するフローチャートである。
<Assembly work sequence planning process by the assembly work
Next, FIG. 9 is a flowchart illustrating an example of the assembly work order planning process by the assembly work
前提として、CADシステム20は、製品の形状モデル及びロボット等から構成される組立作業環境の形状モデルをモデリング済みであり、組立作業環境・製品情報121、及び組立状態遷移情報(AND/OR木)122を組立作業順序計画装置10に供給可能であるとする。
As a premise, the
該組立作業順序計画処理は、例えば、ユーザからの所定の操作に応じて開始される。 The assembly work sequence planning process is started, for example, in response to a predetermined operation from the user.
始めに、情報取得部111が、CADシステム20から組立作業環境・製品情報121、を取得して記憶部12に格納する(ステップS1)。次に、情報取得部111が、CADシステム20から組立状態遷移情報122を取得して記憶部12に格納する(ステップS2)。
First, the
次に、組立作業定義部112が、組立作業環境(ロボットのハンド、トレイ、ステージ等)の作業前の状態を設定する(ステップS3)、次に、組立作業定義部112が、組立状態遷移情報122に基づいて、組付前の2つの部品または部組品からなる組立状態に対して、組立作業を定義し、定義した組立作業を組立作業情報123として記憶部12に格納する(ステップS4)。
Next, the assembly
次に、制約条件設定部113が、制約条件を設定し、制約条件情報124として記憶部12に格納する(ステップS5)。
Next, the constraint
次に、行動選択・価値関数構成部114が、強化学習に用いる行動選択関数、及び、価値関数を定義する(ステップS6)。次に、報酬設定部115が、各組立状態に対して選択された作業に対して報酬を設定する(ステップS7)。
Next, the action selection /
次に、学習部116が、組立の初期状態から、組立状態に対する作業選択が失敗して組立失敗となるか、組立状態に対する作業選択が成功して組立作業が完了して組立成功となるかの、一連の行動を意味するエピソードを繰り返すことにより強化学習を実行する(ステップS8)。
Next, from the initial state of assembly, the
具体的には、エピソードを繰り返し、状態に対する行動選択を学習し、組立成功の結果が得られるようになれば、強化学習を完了する。強化学習が完了することによって、状態に対して良い行動が選択される行動選択関数が得られたこととなる。なお、1つのエピソードの処理においては、初期状態に対して行動を選択し、次の状態を得る。さらに行動を選択して、その次の行動を得る。このようにステップ毎に行動選択を繰返して状態を進め、行動選択を誤った場合、または許されない状態となった場合には、負の報酬を得てエピソードを終了する。反対に、成功した状態になった場合には、正の報酬を得てエピソードを終了する。 Specifically, the episode is repeated, the action selection for the state is learned, and when the result of the successful assembly is obtained, the reinforcement learning is completed. By completing the reinforcement learning, the behavior selection function that selects the good behavior for the state is obtained. In the processing of one episode, an action is selected for the initial state, and the next state is obtained. Select another action to get the next action. In this way, the action selection is repeated step by step to advance the state, and if the action selection is wrong or the state is not allowed, a negative reward is obtained and the episode ends. Conversely, if successful, the episode ends with a positive reward.
強化学習では、エピソードの繰返し回数が少ない期間は成功に至らずに失敗となるが、エピソードの繰返し回数が増えて学習が進むと、エピソードが成功するようになる。そこで、エピソードが所定回数(例えば、3回)連続して成功した場合に強化学習を終了するようにする。 In reinforcement learning, a period in which the number of repetitions of an episode is small does not lead to success and fails, but as the number of repetitions of an episode increases and learning progresses, the episode becomes successful. Therefore, when the episode succeeds a predetermined number of times (for example, three times) in a row, the reinforcement learning is terminated.
次に、組立作業順序生成部117が、強化学習結果として得られた行動選択関数、及び状態価値関数を使って、初期状態からエピソードを試行することにより、製品が完成するまでの作業の一連の選択結果をつなげて組立作業順序を設定する(ステップS9)。
Next, the assembly work
以上に説明した組立作業順序計画装置10による組立作業順序計画処理によれば、製品を構成する各部品の組立順序と、ロボットを作業主体とする作業順序とを計画することが可能となる。
According to the assembly work order planning process by the assembly work
<第2の実施形態>
次に、図10は、本発明の第2の実施形態に係る組立作業順序計画装置100の構成例を示している。
<Second embodiment>
Next, FIG. 10 shows a configuration example of the assembly work
組立作業順序計画装置100は、ロボット及び作業員を含み得る作業主体により部品を組付けて製品を完成させる際の組立作業順序を計画するためのものである。
The assembly work
組立作業順序計画装置100は、本発明の第1の実施形態に係る組立作業順序計画装置10(図1)における組立作業定義部112を、組立状態ベース組立作業定義部112A、及び作業状態ベース組立作業定義部112Bに分割し、シミュレーション指示部118を追加したものである。
The assembly work
また、組立作業順序計画装置100は、記憶部12に格納される情報として、制約条件判定シミュレーション情報125、及び組立作業順序シミュレーション情報126を追加したものである。
Further, the assembly work
さらに、組立作業順序計画装置100の外部には、組立作業順序計画装置100がネットワーク1を介して接続可能なロボットシミュレータ30が追加されている。ロボットシミュレータ30は、組立作業順序計画装置100からの指示に従い、組立作業環境の設置されているロボットR1,R2による作業のシミュレーションを実行し、シミュレーション結果を組立作業順序計画装置100に出力する。
Further, outside the assembly work
なお、組立作業順序計画装置100の構成要素のうち、組立作業順序計画装置10(図1)の構成要素と共通するものについては同一の符号を付してその説明を省略する。
Of the components of the assembly work
組立状態ベース組立作業定義部112Aは、組立作業順序計画装置10(図1)における組立作業定義部112と同様に、組立状態遷移情報122を参照して、組立作業を定義する。
The assembly state-based assembly
作業状態ベース組立作業定義部112Bは、組立作業環境・製品情報121を参照し、組立作業環境の状態に対して組立に必要となる作業を定義する。例えば、ある部品を組付けるためにドライバハンドが必要であるならば、該部品を組付ける前の組立状態において、ロボットにドライバハンドを装着する作業を定義する。この場合、該部品を組み付ける前の組立状態であって、ロボットにドライバハンドが装着されている状態であれば、該部品を組付ける作業が実行可能となる。
The work state-based assembly
なお、組立作業環境としての状態を設定し得るものはロボットのハンドだけではない。例えば、組立作業環境に複数のステージが存在している場合には、組立に利用中であるか否かという状態を設定できる。また、作業主体となるロボットや作業者は、ある作業を実施しているので、作業主体が実施している作業の種類を作業主体の状態とみなして設定してもよい。 It should be noted that the robot hand is not the only one that can set the state as the assembly work environment. For example, when there are a plurality of stages in the assembly work environment, it is possible to set the state of whether or not the stage is being used for assembly. Further, since the robot or the worker who is the work subject is carrying out a certain work, the type of the work being carried out by the work subject may be regarded as the state of the work subject and set.
シミュレーション指示部118は、外部に設けたロボットシミュレータ30に対し、制約条件を設定するための個別組立作業シミュレーションをロボットシミュレータ30に指示し、そのシミュレーション結果を取得する。この場合、制約条件設定部113は、そのシミュレーション結果に基づいて制約条件を修正することができる。また、シミュレーション指示部118は、ロボットシミュレータ30に対し、最終的に得られた組立作業順序に従った組立作業シミュレーションを指示し、そのシミュレーション結果を取得する。該シミュレーション結果は、最終的に得られた組立作業順序が有効であることの確認に用いることができる。
The
制約条件判定シミュレーション情報125は、制約条件を設定するための個別組立作業シミュレーションをロボットシミュレータ30に指示した際の条件と、そのシミュレーション結果を含む情報である。
The constraint condition
組立作業順序シミュレーション情報126は、組立作業順序シミュレーションをロボットシミュレータ30に指示した際の条件と、そのシミュレーション結果を含む情報である。
The assembly work
次に、図11は、組立作業順序計画装置100にて組立作業順序を計画する製品50の一例を示している。
Next, FIG. 11 shows an example of the
製品50は、ベース部品Aの上にボックス部品Bを配置して、ネジ部品C,Dによって締結、固定し、ベース部品Aとボックス部品Bとを配線部品E,Fによって結線することにより完成する構造を有する。
The
製品50を完成させるまでの複数の組立作業のうち、ベース部品Aの上にボックス部品Bを配置する作業、及び、ネジ部品C,Dを締結する作業をロボットが実行し、配線部品E,Fを結線する作業を作業員が実行するものとする。
Of the plurality of assembly work until the
図12は、製品50の組立作業における各組立状態への遷移の一覧を示している。
FIG. 12 shows a list of transitions to each assembly state in the assembly work of the
製品50の構造上、始めにベース部品Aに対してボックス部品Bを組付けて部組品ABを出現させる必要がある。部組品ABに対しては、ネジ部品C,D、及び配線部品E,Fのいずれから組付けてもよい、したがって、単体の部品から完成品を得るまでの組立順序は1×4!=24通りとなる。
Due to the structure of the
製品50の組立状態は、単体であるベース部品A、ボックス部品B、ネジ部品C,D、及び配線部品E,Fの6状態と、2つの部品からなる部組品ABの1状態と、3つの部品から成る部組品ABC,ABD,ABE,ABFの4状態と、4つの部品から成る部組品ABCD,ABCE,ABCF,ABDE,ABDF,ABEFの6状態と、5つの部品から成る部組品ABCDE,ABCDF,ABCEF,ABDEFの4状態と、6つの部品から成る完成品ABCDEFの1状態との全22状態である。
The assembled state of the
製品50の各組立状態への遷移は、図12に示すNo1~No33の33通りとなる。このうち、部品E,Fを組付ける遷移は作業員による作業に応じて行われ、他の部品を組付ける遷移はロボットによる作業に応じて行われる。
The transition of the
以下、作業主体を1台のロボット、及び1名の作業員とする。ロボットは、ボックス部品Bの配置にグリップハンドを使用し、ネジ部品C,Dの締結にドライバハンドを使用するものとする。 Hereinafter, the work subject will be one robot and one worker. The robot shall use the grip hand for arranging the box component B and the driver hand for fastening the screw components C and D.
この場合、作業主体のロボット及び作業員に対して定義される作業は以下のとおりである。 In this case, the work defined for the robot and the worker who are the main workers is as follows.
ロボットによる作業
作業W0:待機。
作業W1:ボックス部品Bの組付。
作業W2:ネジ部品Cの組付。
作業W3:ネジ部品Dの組付。
作業W4:グリップハンドの装着。
作業W5:ドライバハンドの装着。
作業W6:ハンドの取り外し。
作業員による作業
作業P0:待機。
作業P1:配線部品Eの組付。
作業P2:配線部品Fの組付。
Work by robot Work W0: Standby.
Work W1: Assembling box part B.
Work W2: Assembly of screw part C.
Work W3: Assembly of screw part D.
Work W4: Attaching the grip hand.
Work W5: Installation of the driver hand.
Work W6: Removal of the hand.
Work by workers Work P0: Standby.
Work P1: Assembly of wiring component E.
Work P2: Assembling the wiring component F.
以下、制約条件の例を挙げる。例えば、ロボットに対しては、ハンドを装着していない状態である場合には作業W4(グリップハンドの装着),W5(ドライバハンドの装着)を選択でき、グリップハンドまたはドライバハンドを装着している状態である場合には作業W6(ハンドの取り外し)を選択できる。作業W1(ボックス部品Bの組付)を選択するには、グリップハンドが装着されている状態が必要となる。作業W2(ネジ部品Cの組付),W3(ネジ部品Dの組付)を選択するには、ドライバハンドが装着されている状態が必要となる。また、例えば、作業員に対しては、作業P1(配線部品Eの組付),P2配線部品Fの組付を選択するためには、組立状態遷移の前状態が少なくともベース部品Aにボックス部品Bが組付けられた部組品AB以降の状態である必要がある。 The following are examples of constraints. For example, for a robot, when the hand is not attached, work W4 (attachment of the grip hand) or W5 (attachment of the driver hand) can be selected, and the grip hand or the driver hand is attached. If it is in the state, work W6 (removal of the hand) can be selected. In order to select the work W1 (assembly of the box component B), it is necessary that the grip hand is attached. In order to select work W2 (assembly of screw component C) or W3 (assembly of screw component D), it is necessary that the driver hand is attached. Further, for example, in order to select the assembly of the work P1 (assembly of the wiring component E) and the assembly of the P2 wiring component F for the worker, the state before the assembly state transition is at least the box component in the base component A. It is necessary to be in the state after the component AB to which B is assembled.
組立作業の初期状態は、単体の部品のみが存在し、ベース部品Aがステージ312の上に予め載置されており、ロボットにはグリップハンド及びドライバハンドのいずれもが装着されていない状態と定義する。組立作業の完了状態は、製品ABCDEFが得られ、さらにロボットにグリップハンド及びドライバハンドのいずれもが装着されていない状態と定義する。
The initial state of the assembly work is defined as a state in which only a single part exists, the base part A is pre-mounted on the
図13は、製品50の組立状態遷移(不図示)、及び組立作業環境(ハンドの状態)に基づいて設定した組立作業順序の一例、及び作業毎の組立状態を示している。
FIG. 13 shows an example of the assembly work order set based on the assembly state transition (not shown) of the
該組立作業順序は、作業主体を1台のロボット及び1名の作業員とし、製品50の組立状態及び組立作業環境に基づいて、ロボットによる作業W0~W6の7種類と、作業員による作業P0~P2の3種類との合計10種類の作業を選択させる強化学習によって設定される。
The assembly work sequence consists of one robot and one worker as the main work subject, and seven types of robot work W0 to W6 and work P0 by the worker based on the assembly state and assembly work environment of the
同図に示す組立作業順序は作業ステップ0番から7番まであり、0番が初期状態、7番が完了状態である。部品A等に対応して記載されている状態値は図6の場合と同様である。
The assembly work order shown in the figure is from
例えば、作業ステップ0番の初期状態では、単体の部品のみが存在し、ロボットにはクリップハンド及びドライバハンドが装着されていない。
For example, in the initial state of
次の作業ステップ1番では、ロボットが作業W4(グリップハンドの装着)を実行し、作業員が作業P0(待機)を実行する。これにより、ロボットによる作業W1(ボックス部品Bの組付)が作業可能となる。
In the
次の作業ステップ2番では、ロボットが作業W1を実行し、作業員が作業P0(待機)を実行する。これにより、ベース部品A、及びボックス部品Bが消滅し、部組品ABが出現する。次の作業ステップ3番では、ロボットが作業W6(ハンドの取り外し)を実行し、作業員がP1(配線部品Eの組付)を実行する。これにより、配線部品E、及び部組品ABが消滅し、部組品ABEが出現する。
In the
次の作業ステップ4番では、ロボットが作業W5(ドライバハンドの装着)を実行し、作業員が作業P2(配線部品Fの組付)を実行する。これにより、ロボットによる作業W2(ネジ部品Cの組付),W3(ネジ部品Dの組付)が作業可能となる。また、配線部品F、及び部組品ABEが消滅し、部組品ABEFが出現する。
In the
次の作業ステップ5番では、ロボットが作業W2(ネジ部品Cの組付)を実行し、作業員が作業P0(待機)を実行する。これにより、ネジ部品C、及び部組品ABEFが消滅し、部組品ABCEFが出現する。
In the
次の作業ステップ6番では、ロボットが作業W3(ネジ部品Dの組付)を実行し、作業員が作業P0(待機)を実行する。これにより、ネジ部品D、及び部組品ABCEFが消滅し、製品ABCDEFが出現する。
In the
次の作業ステップ7番では、ロボットが作業W6(ハンドの取り外し)を実行し、作業員が作業P0(待機)を実行する。これにより、完了状態が得られて組立作業が終了される。
In the
なお、部品の数が増加して必要な組立作業の数が増えたり、作業主体としてのロボットや作業員を複数にしたりしても組立作業順序を計画することができる。さらに、組立作業環境として、ハンド以外にトレイ321,322、ステージ312等の状態を追加したり、作業の定義に、部品を所定の位置から他の位置まで搬送装置の作業を追加したりしても組立作業順序を計画することができる。
It should be noted that the assembly work order can be planned even if the number of parts increases and the number of required assembly work increases, or if the number of robots or workers as the work subject increases. Furthermore, as an assembly work environment, the states of
<組立作業順序計画装置100による組立作業順序計画処理>
次に、図14は、組立作業順序計画装置100による組立作業順序計画処理の一例を説明するフローチャートである。なお、該組立作業順序計画処理のステップS21~S32のうち、ステップS21~S23,S26,S28~S31の処理は、組立作業順序計画装置10による組立作業順序計画処理(図9)のステップS1~S3,S5,S6~S9の処理と同様であるため、その説明を適宜省略する。
<Assembly work sequence planning process by the assembly work
Next, FIG. 14 is a flowchart illustrating an example of the assembly work order planning process by the assembly work
前提として、CADシステム20は、製品の形状モデル及びロボット等から構成される組立作業環境の形状モデルをモデリング済みであり、組立作業環境・製品情報121、及び組立状態遷移情報(AND/OR木)122を組立作業順序計画装置10に供給可能であるとする。
As a premise, the
該組立作業順序計画処理は、例えば、ユーザからの所定の操作に応じて開始される。 The assembly work sequence planning process is started, for example, in response to a predetermined operation from the user.
始めに、情報取得部111が、CADシステム20から組立作業環境・製品情報121、及び組立状態遷移情報122を取得して記憶部12に格納する(ステップS21,S22)。次に、組立作業定義部112が、組立作業環境の作業前の状態を設定する(ステップS23)。
First, the
次に、組立状態ベース組立作業定義部112Aが、組立状態遷移情報122に基づいて、組付前の2つの部品または部組品からなる組立状態に対して、組立作業を定義し、定義した組立作業を組立作業情報123として記憶部12に格納する(ステップS24)。
Next, the assembly state-based assembly
次に、作業状態ベース組立作業定義部112Bが、組立作業環境・製品情報121を参照し、このように、組立作業環境の状態に対して組立に必要となる作業を定義する(ステップS25)。
Next, the work state-based assembly
次に、制約条件設定部113が、制約条件を設定し、制約条件情報124として記憶部12に格納する(ステップS26)。
Next, the constraint
次に、シミュレーション指示部118が、ロボットシミュレータ30に対して、制約条件を設定するための個別組立作業シミュレーションをロボットシミュレータ30に指示し、そのシミュレーション結果を取得する(ステップS27)。具体的には、各組立作業を行う前の組立状態、組立作業環境の状態をロボットシミュレータ30に設定し、対象の組立作業のシミュレーションを実行させる。シミュレーションにより、例えば、ロボットが他のロボット等に干渉したり(衝突したり)、関節の可動角度不足等によってロボットが目的の部品を組付ける姿勢を取れなかったり等の不具合が発生した場合、その組立作業は実現不可能と判断する。よって、このシミュレーション結果に従い、実施できない組立作業を制約条件に追加設定する。もしくは、実現不可能と判断した組立作業の定義を削除するようにしてもよい。
Next, the
次に、行動選択・価値関数構成部114が、強化学習に用いる行動選択関数、及び、価値関数を定義する(ステップS28)。次に、報酬設定部115が、各組立状態に対して選択された作業に対して報酬を設定する(ステップS29)。
Next, the action selection /
次に、学習部116が、組立の初期状態から、組立状態に対する作業選択が失敗して組立失敗となるか、組立状態に対する作業選択が成功して組立作業が完了して組立成功となるかの、一連の行動を意味するエピソードを繰り返すことにより強化学習を実行する。所定回数(例えば、3回)のエピソードが連続で成功した場合に強化学習を終了する(ステップS30)。
Next, from the initial state of assembly, the
次に、組立作業順序生成部117が、強化学習結果として得られた行動選択関数、及び状態価値関数を使って、初期状態からエピソードを試行することにより、製品が完成するまでの一連の作業の選択結果をつなげた組立作業順序を生成する(ステップS31)。
Next, the assembly work
次に、シミュレーション指示部118が、ロボットシミュレータ30に対して、ステップS31で得られた組立作業順序のシミュレーションをロボットシミュレータ30に指示し、そのシミュレーション結果を取得して不具合がないことを確認する(ステップS32)。
Next, the
以上に説明した組立作業順序計画装置100による組立作業順序計画処理によれば、製品を構成する各部品の組立順序と、ロボット及び作業員を含む作業主体の作業順序とを計画することが可能となる。
According to the assembly work order planning process by the assembly work
<強化学習について>
次に、上述した本発明の各実施形態にて採用した強化学習について説明する。
<About reinforcement learning>
Next, the reinforcement learning adopted in each embodiment of the present invention described above will be described.
一般的に、強化学習の方式は、マルコフ決定過程(MDP:Markov decision process)のモデルに基づいており、ある状態において、行動を選択し、状態を更新するものであり、行動または状態には良否、すなわち価値が伴う、というモデルに基づいて行われる。 In general, the method of reinforcement learning is based on a model of Markov decision process (MDP), in which an action is selected and a state is updated in a certain state, and the action or state is good or bad. That is, it is based on the model that value accompanies.
強化学習の方式としては、行動選択を行動価値のテーブルの値を用いて実行し、またその行動選択の学習によりテーブルの値を更新するQ学習、行動価値関数を深層ニューラルネットワークとして行動価値から行動を選択するDQN(Deep Q-learning Network)、行動選択関数(方策)と状態価値関数を深層ニューラルネットワークとしたA3C(Asynchronous Advantage Actor-Critic)が知られている。 As a method of reinforcement learning, action selection is executed using the value of the action value table, and Q-learning that updates the table value by learning the action selection, and action from the action value using the action value function as a deep neural network. DQN (Deep Q-learning Network) that selects the above, and A3C (Asynchronous Advantage Actor-Critic) that uses the action selection function (policy) and the state value function as a deep neural network are known.
さらに他の方式も多数存在するが、いずれも強化学習の問題として、状態、行動、報酬によってモデル化される。 There are many other methods, but all are modeled by state, behavior, and reward as problems of reinforcement learning.
以下、上述した実施形態に採用するA3Cについて詳述する。強化学習では、1つのエピソードにおいてステップ毎に、状態に対して行動を選択することにより次の状態に遷移し、行動選択の結果や状態に対して報酬を与える。そして、報酬がエピソードの終了条件を満たすなら、エピソードを終了する。そして、エピソードを繰り返し、状態に対して正しく行動選択できるようになれば、または状態に対して選択される行動が確定的になれば、強化学習を終了する。 Hereinafter, the A3C adopted in the above-described embodiment will be described in detail. In reinforcement learning, each step in one episode, the action is selected for the state to transition to the next state, and the result of the action selection or the state is rewarded. Then, if the reward meets the end condition of the episode, the episode ends. Then, when the episode is repeated and the correct action can be selected for the state, or when the action selected for the state becomes deterministic, the reinforcement learning ends.
A3Cは、非同期(Asynchronous)という単語が表すように、複数のエージェント(アクターとも称される)が個別にエピソードを実行し、それぞれのエージェントが単一の行動選択関数、状態価値関数を訓練(学習)し、また行動選択に利用する方法である。 In A3C, as the word Asynchronous implies, multiple agents (also called actors) perform episodes individually, and each agent trains (learns) a single action selection function, state value function. ), And it is a method used for action selection.
図14は、A3Cの概要を説明するための図である。同図の場合、エージェントは3つである。行動選択関数、状態価値関数1401は、共有の深層ニューラルネットワーク(DNN:Deep Neural Network)として構成される。これは共有DNNと称される。また、同図の場合、入力層の状態変数を3種類、出力層の行動を3種類としている。出力層の価値(状態価値)は必ず1つである。
FIG. 14 is a diagram for explaining the outline of A3C. In the case of the figure, there are three agents. The action selection function and the
中間層は1層であり、ノード数は4つである。ノードの活性化関数は、行動の出力層ではsoftmax、価値の出力層ではlinear、中間層ではReLU(Rectified Linear Unit)を設定する。各エージェントは状態、行動、次状態、報酬を格納するメモリを備え、また自分の行動を選択するためのDNNを備える。例えばエージェント1はメモリ1411、及びDNN1421を備える。エージェント2は、メモリ1412、及びDNN1422を備え、エージェント3はメモリ1413、及びDNN1423を備える。
The middle layer is one layer and the number of nodes is four. The activation function of the node sets softmax in the output layer of action, linear in the output layer of value, and ReLU (Rectified Linear Unit) in the intermediate layer. Each agent has a memory for storing states, actions, next states, rewards, and a DNN for selecting its own action. For example, the
各エージェントは、それぞれのエピソード処理においてステップのデータが蓄積されたら、個別に共有DNNを訓練する。そして、訓練後、共有DNNを自分用のDNNにコピーし、自分用のDNNを利用して状態に対する行動を選択する。これは各エージェント間でDNN訓練と行動選択のタイミングが非同期なので、訓練と行動選択が競合しないための構成である。 Each agent trains the shared DNN individually once the step data is accumulated in each episode process. Then, after the training, the shared DNN is copied to the own DNN, and the action for the state is selected by using the own DNN. This is a configuration for training and action selection not to conflict because the timing of DNN training and action selection is asynchronous between each agent.
なお、単一のエージェントで強化学習を行う場合、特に共有DNNを設ける必要はない。この場合の学習法はA2C(Advantage Actor-Critic)と称される。なお、A2CにおけるAdvantageは、行動価値と状態価値の差、すなわち、行動選択の良さを表す量であり、また、A2CにおけるActor-Criticは、行動選択と状態価値評価とが別々に計算される方式であることを意味する。 When performing reinforcement learning with a single agent, it is not necessary to provide a shared DNN in particular. The learning method in this case is called A2C (Advantage Actor-Critic). The advantage in A2C is the difference between the action value and the state value, that is, the quantity indicating the goodness of the action selection, and the Actor-Critic in the A2C is a method in which the action selection and the state value evaluation are calculated separately. Means that
次に、図16は、行動選択関数と状態価値関数の訓練の処理内容について説明するための図であり、DNN(深層ニューラルネットワーク)1501を模式的に示している。 Next, FIG. 16 is a diagram for explaining the processing contents of the training of the action selection function and the state value function, and schematically shows the DNN (deep neural network) 1501.
DNN1501は、状態sを入力として、行動選択の出力(方策)をπ(s)、状態価値の出力をV(s)とする。DNN1501の中のノードに対して定義される関数(活性化関数)のパラメータをθとする。方策は確率方策とも呼ばれ、状態sにおいて行動aをとる確率π(a|s)とも表記される。 The DNN1501 takes the state s as an input, sets the output (measure) of action selection as π (s), and sets the output of the state value to V (s). Let θ be the parameter of the function (activation function) defined for the node in DNN1501. The policy is also called a probability policy, and is also expressed as the probability π (a | s) of taking action a in the state s.
行動価値関数、状態価値関数の訓練とは、状態s、行動a、次状態s’、報酬rのデータから、それらの関係を予測する関係が得られるように、DNN1501のパラメータθを最適化することである。特に、行動に対する状態価値の関係を正しく推定できることが重要である。
The training of the action value function and the state value function optimizes the parameter θ of the
状態価値関数V(s)は、方策π(s)の下で次式(1)によって表現される。 The state value function V (s) is expressed by the following equation (1) under the policy π (s).
ここで、Eは、添え字である方策π(s)における期待値を意味する。割引率γは、次の状態価値(将来の価値)を現在の値に補正するための係数である。割引率γの値は、一例としては0.99であるが、強化学習のためのパラメータとして調整できる。 Here, E means the expected value in the subscript policy π (s). The discount rate γ is a coefficient for correcting the next state value (future value) to the current value. The value of the discount rate γ is 0.99 as an example, but it can be adjusted as a parameter for reinforcement learning.
方策の価値は、状態sの分布ρにおける期待値として次式(2)によって表される。 The value of the policy is expressed by the following equation (2) as the expected value in the distribution ρ of the state s.
式(2)は割引済み報酬関数と称される。割引済み報酬関数のDNNのパラメータθに関する変化には、次式(3)で表現される方策勾配定理がある。 Equation (2) is called the discounted reward function. There is a policy gradient theorem expressed by the following equation (3) in the change of the discounted reward function with respect to the parameter θ of the DNN.
ここで、∇は勾配(基底についての1階の偏微分)を意味する。期待値は状態sが方策πの分布ρの亘る範囲、行動aは状態sに対する方策πに亘る範囲による。行動価値関数Q(s,a)、アドバンテージ関数A(s,a)は、次式(4),(5)に示す通りであり、データから計算可能である。 Here, ∇ means the gradient (first-order partial differential with respect to the basis). The expected value depends on the range of the state s over the distribution ρ of the policy π, and the action a depends on the range of the policy π for the state s. The action value function Q (s, a) and the advantage function A (s, a) are as shown in the following equations (4) and (5), and can be calculated from the data.
そして、割引済み報酬関数(式(2))の値を最大とするようにネットワークパラメータθを最適化すれば、状態に対して良い報酬が得られるような方策と状態価値の関係が得られる。 Then, if the network parameter θ is optimized so as to maximize the value of the discounted reward function (Equation (2)), the relationship between the policy and the state value so as to obtain a good reward for the state can be obtained.
割引済み報酬関数の負(マイナス)を方策損失とすれば、方策損失を最小化すればよい。方策損失の他にも、行動価値と状態価値は一致していることが望ましいので、アドバンテージ絶対値の大きさを意味する価値損失も存在する。また、状態に対して方策は一意に決まることが望ましく、方策は確率的に決まるのでエントロピーでモデル化した正則化項も最適化に利用できる。そこで、損失関数Lを方策損失Lπ、価値損失Lv、正則化項Lregを用いて次式(6)のように定義し、損失関数を最小化する。 If the negative (minus) of the discounted reward function is the policy loss, the policy loss should be minimized. In addition to the policy loss, it is desirable that the action value and the state value match, so there is also a value loss that means the magnitude of the advantage absolute value. In addition, it is desirable that the policy is uniquely determined for the state, and since the policy is stochastically determined, the regularization term modeled by entropy can also be used for optimization. Therefore, the loss function L is defined as the following equation (6) using the policy loss L π , the value loss L v , and the regularization term L reg , and the loss function is minimized.
ここで、cv,cregは係数である。方策損失Lπは、割引済み報酬関数の定義から次式(7)の通りとなる。訓練に使うnは、ステップのデータ数である。 Here, c v and c reg are coefficients. The policy loss L π is as shown in the following equation (7) from the definition of the discounted reward function. N used for training is the number of data in the step.
価値損失Lvは、次式(8)に示すように、アドバンテージ関数A(s,a)の2乗とする。 The value loss L v is the square of the advantage function A (s, a) as shown in the following equation (8).
正則化項は、次式(9),(10)に示すように、エントロピーH(π(s))を計算して得る。 The regularization term is obtained by calculating the entropy H (π (s)) as shown in the following equations (9) and (10).
ここで、nactionは行動の数である。 Here, n action is the number of actions.
最適化計算による訓練は、深層ニューラルネットワークの場合、勾配法(gradient)を利用する。この訓練自体は、強化学習とは別の深層ニューラルネットワークの学習と同様であり、深層ニューラルネットワーク技術を活用すれば実現可能である。 Training by optimization calculation uses the gradient method in the case of deep neural networks. This training itself is similar to learning of a deep neural network, which is different from reinforcement learning, and can be realized by utilizing deep neural network technology.
強化学習の各種のアルゴリズムには、例えばε-greedy法のような強化学習の探索と学習結果活用(exploration-exploitation)の特性を利用する方法を強化学習技術分野における技法として利用すればよい。 For various algorithms of reinforcement learning, a method of utilizing the characteristics of search for reinforcement learning and utilization of learning results (exploration-exploitation) such as the ε-greedy method may be used as a technique in the field of reinforcement learning technology.
組立作業順序生成における作業選択のためには、定義した作業を行動とする。状態は組立状態、組立作業環境の状態であり、その変数値は0または1となる。報酬の設定としては、一例としては、正の報酬値は1、負の報酬値は-1として、報酬が発生しないときは0とすればよい。 For work selection in assembly work sequence generation, the defined work is an action. The state is the assembly state and the state of the assembly work environment, and the variable value is 0 or 1. As an example, the positive reward value may be 1, the negative reward value may be -1, and 0 may be set when no reward is generated.
以上が行動選択関数と状態価値関数の訓練の処理内容についての説明である。以上で、本発明の実施形態で採用した強化学習の説明を終了する。 The above is the explanation of the processing contents of the training of the action selection function and the state value function. This is the end of the explanation of the reinforcement learning adopted in the embodiment of the present invention.
本発明は、上述した実施形態に限定されるものではなく、様々な変形が可能である。例えば、上述した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えたり、追加したりすることが可能である。 The present invention is not limited to the above-described embodiment, and various modifications are possible. For example, the above-described embodiments have been described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the described configurations. Further, it is possible to replace or add a part of the configuration of one embodiment with the configuration of another embodiment.
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 Further, each of the above configurations, functions, processing units, processing means and the like may be realized by hardware by designing a part or all of them by, for example, an integrated circuit. Further, each of the above configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be placed in a memory, a recording device such as a hard disk or SSD, or a recording medium such as an IC card, SD card, or DVD. In addition, the control lines and information lines indicate those that are considered necessary for explanation, and do not necessarily indicate all the control lines and information lines in the product. In practice, it can be considered that almost all configurations are interconnected.
10・・・組立作業順序計画装置、11・・・演算部、111・・・情報取得部、112・・・組立作業定義部、112A・・・組立状態ベース組立作業定義部、112B・・・作業状態ベース組立作業定義部、113・・・制約条件設定部、114・・・行動選択・価値関数構成部、115・・・報酬設定部、116・・・学習部、117・・・組立作業順序生成部、118・・・シミュレーション指示部、12・・・記憶部、121・・・組立作業環境・製品情報、122・・・組立状態遷移情報、122・・・組立状態遷移情報、123・・・組立作業情報、124・・・制約条件情報、125・・・制約条件判定シミュレーション情報、126・・・組立作業順序シミュレーション情報、13・・・入力部、14・・・出力部、15・・・通信部、20・・・CADシステム、30・・・ロボットシミュレータ、40,50・・・製品、100・・・組立作業順序計画装置、303,304・・・ハンド、311・・・台座、312・・・ステージ、321,322・・・トレイ、331,332・・・ハンド設置台、333,334・・・交換用ハンド 10 ... Assembly work order planning device, 11 ... Calculation unit, 111 ... Information acquisition unit, 112 ... Assembly work definition unit, 112A ... Assembly status base assembly work definition unit, 112B ... Work state-based assembly work definition unit, 113 ... constraint condition setting unit, 114 ... action selection / value function configuration unit, 115 ... reward setting unit, 116 ... learning unit, 117 ... assembly work Order generation unit, 118 ... Simulation instruction unit, 12 ... Storage unit, 121 ... Assembly work environment / product information, 122 ... Assembly status transition information, 122 ... Assembly status transition information, 123.・ ・ Assembly work information, 124 ・ ・ ・ constraint condition information, 125 ・ ・ ・ constraint condition judgment simulation information, 126 ・ ・ ・ assembly work order simulation information, 13 ・ ・ ・ input unit, 14 ・ ・ ・ output unit, 15 ・・ ・ Communication unit, 20 ・ ・ ・ CAD system, 30 ・ ・ ・ robot simulator, 40, 50 ・ ・ ・ product, 100 ・ ・ ・ assembly work sequence planning device, 303, 304 ・ ・ ・ hand, 311 ・ ・ ・ pedestal , 312 ... Stage, 321, 322 ... Tray, 331, 332 ... Hand installation stand, 333, 334 ... Replacement hand
Claims (10)
前記組立状態遷移情報に基づき、組付前の2つの前記部品または前記部組品からなる組立状態に対して作業主体が実行し得る作業を定義する組立作業定義部と、
前記作業の実行の可否に関する制約条件を設定する制約条件設定部と、
前記制約条件に従い、前記組立状態に対する前記作業の選択方法を強化学習する学習部と、
前記強化学習の結果に基づいて前記製品の組立作業順序を生成する組立作業順序生成部と、
を備えることを特徴とする組立作業順序計画装置。 An information acquisition unit that acquires assembly state transition information, including information that represents the process of assembling into the final product through a component that is assembled with multiple parts.
Based on the assembly state transition information, the assembly work definition unit that defines the work that the work subject can perform for the assembly state consisting of the two parts or the parts before assembly, and the assembly work definition unit.
A constraint condition setting unit that sets a constraint condition regarding whether or not the work can be executed, and a constraint condition setting unit.
A learning unit that reinforces learning how to select the work for the assembled state according to the constraints.
An assembly work order generation unit that generates an assembly work order of the product based on the result of the reinforcement learning,
An assembly work sequence planning device characterized by comprising.
前記情報取得部は、組立作業環境に存在する物体に関する情報、及び前記製品を構成する複数の部品に関する情報を含む組立作業環境・製品情報を取得し、
前記組立作業定義部は、前記組立作業環境・製品情報に基づき、組立作業環境の状態に対して実行し得る作業を定義し、
前記学習部は、前記制約条件に従い、前記組立状態、及び前記組立作業環境の状態に対する前記作業の選択方法を強化学習する
ことを特徴とする組立作業順序計画装置。 The assembly work sequence planning apparatus according to claim 1.
The information acquisition unit acquires information on an assembly work environment / product including information on an object existing in the assembly work environment and information on a plurality of parts constituting the product.
The assembly work definition unit defines the work that can be executed for the state of the assembly work environment based on the assembly work environment / product information.
The learning unit is an assembly work sequence planning device, characterized in that it reinforces and learns a method of selecting the work with respect to the assembly state and the state of the assembly work environment in accordance with the constraint conditions.
前記学習部は、前記強化学習において、
前記組立作業環境と前記作業及び前記制約条件との関係を、行動選択関数及び状態価値関数で定義し、
前記組立作業環境の初期状態と作業完了の状態を定義し、
エピソードにおける学習において、
組立作業中の前記組立作業環境の状態に対して、作業主体の行動を選択して次の状態を得るステップを繰返し、
選択した行動が作業の制約条件を満足しない場合には負の報酬を与えてエピソードを終了し、
選択した行動により作業完了の状態となった場合には正の報酬を与えてエピソードを終了し、
得られた状態、行動、報酬データから前記行動選択関数及び前記状態価値関数を訓練し、
前記エピソードを繰り返すことにより、組立作業環境の状態に対する作業の選択方法を学習する
ことを特徴とする組立作業順序計画装置。 The assembly work sequence planning apparatus according to claim 2.
In the reinforcement learning, the learning unit
The relationship between the assembly work environment, the work, and the constraints is defined by the action selection function and the state value function.
Define the initial state and work completion state of the assembly work environment,
In learning in episodes
With respect to the state of the assembly work environment during the assembly work, the step of selecting the action of the work subject and obtaining the next state is repeated.
If the selected action does not meet the work constraints, a negative reward is given to end the episode and end the episode.
If the work is completed due to the selected action, a positive reward will be given to end the episode and the episode will end.
The action selection function and the state value function are trained from the obtained state, action, and reward data.
An assembly work sequence planning device characterized by learning how to select work for the state of the assembly work environment by repeating the episode.
前記組立作業環境には、前記作業主体としてのロボット、前記ロボットのハンド、ステージ、トレイ、及び搬送装置のうちの少なくとの一つを含む
ことを特徴とする組立作業順序計画装置。 The assembly work sequence planning apparatus according to claim 2.
An assembly work sequence planning apparatus, wherein the assembly work environment includes a robot as a work subject, one of the robot's hands, a stage, a tray, and at least one of a transfer device.
前記制約条件設定部は、前記組立状態遷移情報に基づいて定義された、前記組立状態に対して作業主体が実行し得る作業の実行前の組立状態を前記制約条件として設定する
ことを特徴とする組立作業順序計画装置。 The assembly work sequence planning apparatus according to claim 1.
The constraint condition setting unit is characterized in that an assembly state before execution of work that can be executed by a work subject with respect to the assembly state, which is defined based on the assembly state transition information, is set as the constraint condition. Assembly work sequence planning device.
前記制約条件設定部は、前記組立作業環境・製品情報に基づいて定義された、前記組立作業環境の状態に対して実行し得る作業の実行前の組立状態及び前記組立作業環境の状態を前記制約条件として設定する
ことを特徴とする組立作業順序計画装置。 The assembly work sequence planning apparatus according to claim 2.
The constraint condition setting unit constrains the assembly state before execution of the work that can be executed and the state of the assembly work environment for the state of the assembly work environment defined based on the assembly work environment / product information. An assembly work sequence planning device characterized by being set as a condition.
前記組立作業環境には、前記作業主体としての1台以上のロボット、及び1名以上の作業員を少なくとも含む
ことを特徴とする組立作業順序計画装置。 The assembly work sequence planning apparatus according to claim 2.
The assembly work sequence planning device, characterized in that the assembly work environment includes at least one robot as the work subject and at least one worker.
ロボットシミュレータに対し、前記制約条件を設定するための個別組立作業シミュレーションを指示するシミュレーション指示部、を備え、
前記制約条件設定部は、前記個別組立作業シミュレーションの結果に基づいて制約条件を修正する
ことを特徴とする組立作業順序計画装置。 The assembly work sequence planning apparatus according to claim 1.
The robot simulator is provided with a simulation instruction unit for instructing an individual assembly work simulation for setting the constraint conditions.
The constraint condition setting unit is an assembly work sequence planning device characterized in that the constraint condition is corrected based on the result of the individual assembly work simulation.
シミュレーション指示部は、前記ロボットシミュレータに対し、生成された前記組立作業順序に従った組立作業シミュレーションを指示する
ことを特徴とする組立作業順序計画装置。 The assembly work sequence planning apparatus according to claim 8.
The simulation instruction unit is an assembly work order planning device, characterized in that the robot simulator is instructed to perform an assembly work simulation according to the generated assembly work order.
複数の部品を組付けた部組品を経て最終的な製品に組立てられるまでの過程を表す情報を含む組立状態遷移情報を取得し、
前記組立状態遷移情報に基づき、組付前の2つの前記部品または前記部組品からなる組立状態に対して作業主体が実行し得る作業を定義し、
前記作業の実行の可否に関する制約条件を設定し、
前記制約条件に従い、前記組立状態に対する前記作業の選択方法を強化学習し、
前記強化学習の結果に基づいて前記製品の組立作業順序を生成する
ステップを含むことを特徴とする組立作業順序計画方法。 It is an assembly work sequence planning method using an assembly work sequence planning device.
Acquires assembly state transition information including information showing the process from assembling to the final product through a component in which multiple parts are assembled.
Based on the assembly state transition information, the work that can be performed by the work subject for the assembly state consisting of the two parts or the parts before assembly is defined.
Set constraints on whether or not the above work can be executed, and set
Reinforcement learning of the work selection method for the assembled state according to the constraints.
An assembly work sequence planning method comprising a step of generating an assembly work sequence of the product based on the result of the reinforcement learning.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020121910A JP7474653B2 (en) | 2020-07-16 | 2020-07-16 | ASSEMBLY WORK SEQUENCE PLANNING DEVICE AND ASSEMBLY WORK SEQUENCE PLANNING METHOD |
PCT/JP2021/017731 WO2022014128A1 (en) | 2020-07-16 | 2021-05-10 | Assembly work order planning device and assembly work order planning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020121910A JP7474653B2 (en) | 2020-07-16 | 2020-07-16 | ASSEMBLY WORK SEQUENCE PLANNING DEVICE AND ASSEMBLY WORK SEQUENCE PLANNING METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022018654A true JP2022018654A (en) | 2022-01-27 |
JP7474653B2 JP7474653B2 (en) | 2024-04-25 |
Family
ID=79554634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020121910A Active JP7474653B2 (en) | 2020-07-16 | 2020-07-16 | ASSEMBLY WORK SEQUENCE PLANNING DEVICE AND ASSEMBLY WORK SEQUENCE PLANNING METHOD |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7474653B2 (en) |
WO (1) | WO2022014128A1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3462669B2 (en) * | 1996-08-16 | 2003-11-05 | 株式会社日立製作所 | Machining process design system |
JP6438450B2 (en) | 2016-11-29 | 2018-12-12 | ファナック株式会社 | Machine learning apparatus, robot system, and machine learning method for learning processing sequence of laser processing robot |
JP6740154B2 (en) | 2017-02-28 | 2020-08-12 | ファナック株式会社 | Control device and machine learning device |
DE112018008126T5 (en) | 2018-12-13 | 2021-07-29 | Mitsubishi Electric Corporation | Machine learning device, machining program generation device and machine learning method |
-
2020
- 2020-07-16 JP JP2020121910A patent/JP7474653B2/en active Active
-
2021
- 2021-05-10 WO PCT/JP2021/017731 patent/WO2022014128A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP7474653B2 (en) | 2024-04-25 |
WO2022014128A1 (en) | 2022-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xia et al. | A digital twin to train deep reinforcement learning agent for smart manufacturing plants: Environment, interfaces and intelligence | |
CN111221312A (en) | Method and system for optimizing robot in production line and application of robot in digital twin | |
JP7246267B2 (en) | Assembly planning device, assembly planning method, and assembly planning program | |
Ota et al. | Trajectory optimization for unknown constrained systems using reinforcement learning | |
JP2023526962A (en) | Robot Demonstration Learning Skill Template | |
CN115916477A (en) | Skill template distribution for robotic demonstration learning | |
JP4900642B2 (en) | Learning control device, learning control method, and program | |
Vassiliev et al. | Designing the built-in microcontroller control systems of executive robotic devices using the digital twins technology | |
US11577392B2 (en) | Splitting transformers for robotics planning | |
US11747787B2 (en) | Combining transformers for robotics planning | |
Nilles et al. | Robot design: Formalisms, representations, and the role of the designer | |
WO2022014128A1 (en) | Assembly work order planning device and assembly work order planning method | |
US11787048B2 (en) | Robot planning from process definition graph | |
US20210060773A1 (en) | Robot planning from process definition graph | |
Stan et al. | Reinforcement learning for assembly robots: A review | |
CN115666871A (en) | Distributed robot demonstration learning | |
WO2021033471A1 (en) | Control device, control method, and control program | |
JP2021122899A (en) | Trajectory generation device, multi-link system, and trajectory generation method | |
JP2021035714A (en) | Control device, control method and control program | |
CN115114683A (en) | System and method for feeding back constraints in autonomic skill execution into design | |
Wang et al. | Fin-bayes: A multi-objective bayesian optimization framework for soft robotic fingers | |
Fujita | Deep Reinforcement Learning Approach for Maintenance Planning in a Flow-Shop Scheduling Problem | |
Xiang et al. | Rmbench: Benchmarking deep reinforcement learning for robotic manipulator control | |
Amirnia et al. | A context-aware real-time human-robot collaborating reinforcement learning-based disassembly planning model under uncertainty | |
JP2020060996A (en) | Simulation device, simulation method, and simulation program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240308 |
|
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: 20240402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240415 |