(57)【特許請求の範囲】
【請求項１】
ロボットと当該ロボットの周辺作業環境とからなるロボット部と、
入力された作業指令に従って前記ロボット部を動作させるロボットコントローラ部と、
前記ロボットコントローラ部に対する作業指令と、前記ロボット部の実際の動きを入力とし、それらの入力に対する前記ロボット部の動作結果を観測し、当該動作結果が適切なものであるかを評価する作業結果評価部と、
前記作業結果評価部の評価値を入力とし、複数の作業指令候補の中から１つないし複数の作業指令を次の改良作業指令として選択し、前記ロボット部の動作が最も好ましいものになると推定される作業指令の候補を発生させる改良作業指令候補発生部と、
前記改良作業指令候補発生部により発生させた前記作業指令候補に基づいて、前記ロボットコントローラ部に対して作業指令を出力する作業指示部とを備え、
前記改良作業指令候補発生部は、
前記ロボット自体と前記周辺作業環境の物体の干渉チェックと作業動作時間の算出を行うシステムモデルを有し、ある作業指令が入力された場合の評価の予測値を推定出力するシステムモデル部と、
前記作業結果評価部から出力される評価値に基づき、前記システムモデル部の内部状態を新たなものに更新し、前記システムモデル部の予測精度を向上させるシステムモデル再構成部と、
作業指令候補に対して、前記システムモデル部の推定精度がより正確になる度合いを数値化し、得られた数値が最も好ましい値を示している作業指令候補を１つあるいは複数選択して、次の改良作業指令とする動作を行い、前記改良作業指令を前記作業指示部に出力する作業指令候補最適化部とを備え、
前記作業指示部は、前記作業指令候補最適化部から出力された改良作業指令に基づいて前記ロボットコントローラ部に作業指令を出力する処理を繰り返すことを特徴とするロボットの作業動作最適化装置。
【請求項２】
作業指令候補最適化部は、システムモデル部の推定精度がより正確になる度合いとして、
得られた作業動作が、周辺の物体と干渉する場合と、しない場合の干渉識別境界ｆを求めると共に、当該識別境界ｆに基づいて、ある作業指令候補で作業動作を行った場合に、干渉しない結果が観測されたと想定した場合の新たな識別境界ｇと、干渉する結果が観測されたと想定した場合の新たな識別境界ｈとを求め、識別境界ｈと干渉識別境界ｆとで挟まれる領域と、識別境界ｇと干渉識別境界ｆとで挟まれる領域の和÷（差＋数値）という計算値を用いることを特徴とする請求項１記載のロボットの作業動作最適化装置。
【請求項３】
作業結果評価部は、ロボットコントローラ部に対する作業指令と、ロボット部の実際の動きを入力とし、それらの組み合わせデータとそれらに対する評価値として、ｎ回（ｎは２以上の整数）の作業動作についての前記評価値の集合Ｓｎを出力すると共に、
改良作業指令候補発生部は、
前記作業結果評価部から出力される前記評価値の集合Ｓｎから、前記システムモデル部の内部状態を所定のパラメータ決定アルゴリズムを用いて新たなものに更新し、前記システムモデル部の予測精度を向上させるシステムモデル再構成部と、
ある作業指令が入力された場合の評価を推定するためのシステムモデルとして、タクトタイムの推定モデルＦ（Ｓｎ）、および前記ロボットが周辺の物体と干渉する領域である識別境界の推定モデルｆ（Ｓｎ）であって、推定モデルＦ（Ｓｎ）および推定モデルｆ（Ｓｎ）は、前記パラメータ決定アルゴリズムを備えた関数モデルであるシステムモデル部と、
前記改良作業指令候補発生部において、次にロボットに対して出力すべき改良作業指令を得るに当たり、複数の作業指令候補の中から、一つだけＳｎに加えてＳｎ＋１を作るとき、その作業指令候補による観測結果が仮にロボットと周辺物体が干渉すると仮定した場合と、干渉しないと仮定した場合のＳｎ＋１をそれぞれ作り、それぞれのＳｎ＋１を用いて、前記システムモデル再構成部によりシステムモデルを更新し、それぞれの場合に得られる識別境界ｆ（Ｓｎ＋１）を識別境界ｈおよび識別境界ｇとし、さらに推定モデルＦ（Ｓｎ＋１）を得た上で、識別境界ｈおよび識別境界ｇそれそれについて、識別境界ｆとの面積の差をＡｆｈおよびＡｆｇとし、下式（１）
0005137537.tif 000004
に基づいて、計算した数が最も大きくなる作業指令候補を、次の改良作業指令とする動作を行い、この改良作業指令を作業指示部に出力する作業指令候補最適化部とを備えたことを特徴とする請求項１記載のロボットの作業動作最適化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、産業ロボットの作業軌道計画において、作業環境と干渉せず、かつ最短タクトタイムを実現するロボットの作業動作最適化装置に関するものである。
【背景技術】
【０００２】
産業ロボットは、主として各種工場内作業の自動化を目的とする産業装置である。このような産業ロボットの作業軌道計画において、作業ミスをせず、作業環境と干渉せず、かつ最短タクトタイムを実現することは重要であるが、シミュレータを用いて作業計画を行うオフラインプログラミングにあっては、作業環境の物理形状と動作タイミングの完全なモデル化は困難であり、適当なマージンによる妥協が行われていた。
これを改善するためにはオフラインプログラミングの登場以前から行われていたオンラインプログラミングにより作業軌道計画を行うが、これは作業者が実施する必要があり、作業者の技量に応じて得られる結果と、その結果を得るために必要な作業時間がばらつくという問題があった。
【０００３】
例えば、特許文献１には、ロボットの手先位置誤差をニューラルネットワークによるシステムモデルを用いて推定し、補正をかけることで精度を向上させるロボットコントローラが例示されており、当該ニューラルネットは、シミュレータ、あるいは何点かの所定の位置における誤差の実測値を教師信号として用いて学習させる手段が示されている。
【０００４】
また、例えば、特許文献２には、ロボットシミュレーション装置にてレーザ溶接ロボットと溶接点の干渉チェックを行って、干渉する部分をプログラミング作業者に例示し、ロボットの移動速度の調節を支援する手段が示されている。
【０００５】
【特許文献１】特開平９−３１９４２０号公報
【特許文献２】特開２００６−３４４０５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術では、システムモデルの学習に用いる教師信号（システムに対する入力と出力のペアを複数用意したもの）は作業者が選択する必要があるが、学習速度および推定精度を向上させる教師信号の選択は困難であると共に、推定精度を向上させるためには教師信号を多数用意する必要があり、これに伴ってますます学習速度が遅くなる傾向にあった。また、ロボット移動速度の修正についても作業者の介在が不可欠で、しかもシステムモデルが実際のシステムの実物と一致しないマージンを含んでいるため、解の最適性には問題があった。
【０００７】
この発明は、以上のような問題点を解決するためのなされたもので、産業ロボットの作業軌道計画において、少ない作業試行数で迅速に最良の作業指令を自動的に決定することのできるロボットの作業動作最適化装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るロボットの作業動作最適化装置は、ロボットとロボットの周辺作業環境とからなるロボット部と、入力された作業指令に従ってロボット部を動作させるロボットコントローラ部と、ロボットコントローラ部に対する作業指令と、ロボット部の実際の動きを入力とし、それらの入力に対するロボット部の動作結果を観測し、動作結果が適切なものであるかを評価する作業結果評価部と、作業結果評価部の評価値を入力とし、複数の作業指令候補の中から１つないし複数の作業指令を次の改良作業指令として選択し、ロボット部の動作が最も好ましいものになると推定される作業指令の候補を発生させる改良作業指令候補発生部と、改良作業指令候補発生部により発生させた作業指令候補に基づいて、ロボットコントローラ部に対して作業指令を出力する作業指示部とを備え、改良作業指令候補発生部は、ロボット自体と周辺作業環境の物体の干渉チェックと作業動作時間の算出を行うシステムモデルを有し、ある作業指令が入力された場合の評価の予測値を推定出力するシステムモデル部と、作業結果評価部から出力される評価値に基づき、システムモデル部の内部状態を新たなものに更新し、システムモデル部の予測精度を向上させるシステムモデル再構成部と、作業指令候補に対して、システムモデル部の推定精度がより正確になる度合いを数値化し、得られた数値が最も好ましい値を示している作業指令候補を１つあるいは複数選択して、次の改良作業指令とする動作を行い、改良作業指令を作業指示部に出力する作業指令候補最適化部とを備え、作業指示部は、作業指令候補最適化部から出力された改良作業指令に基づいてロボットコントローラ部に作業指令を出力する処理を繰り返すようにしたものである。
【発明の効果】
【０００９】
この発明のロボットの作業動作最適化装置は、最適化の目的関数の形を明確には定めず、ロボットを動作させる試行の結果から、目的関数自体の形を推定するようにしたので、少ない作業試行数で迅速に最良の作業指令を自動的に決定することができる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図示の装置は、ロボット部１、ロボットコントローラ部２、作業結果評価部３、改良作業指令候補発生部４、作業指示部５とを備えており、改良作業指令候補発生部４は、システムモデル部６、システムモデル再構成部７、作業指令候補最適化部８を備えている。
ロボット部１は、ロボットとその周辺の作業環境からなり、本発明の対象とする各種自動作業を実行する産業用装置である。このロボット部１としては、例えば、山積み状態の部品桶から個々の部品をつまみ上げるビンピッキング作業、部品の搬送作業、組立作業、塗装作業、溶接作業など工場内各種作業の自動化に用いられる。
【００１１】
ロボットコントローラ部２は、入力された作業指令により示された作業内容を、実際にロボットを動かすことで実現するために、ロボットに取付けられたモータなどに電気エネルギーを供給するものである。供給するエネルギーはロボットの動きが適切なものになるように制御される。このためにはロボットに取付けられたセンサ、あるいは外部に取付けられたセンサからのフィードバック信号を用いてロボットの動作状態を常時監視し制御動作を実行するよう構成されている。
【００１２】
作業結果評価部３は、ロボットコントローラ部２に対する作業指令と、ロボット部１の実際の動きとを入力とし、それらの組み合わせデータ、およびそれらの誤差の大きさといった評価値を改良作業指令候補発生部４に出力するよう構成されている。
改良作業指令候補発生部４は、作業結果評価部３からのデータに基づき、次にロボットに対して指示を出すべき改良作業指令を出力する。即ち、改良作業指令候補発生部４は、ロボット部１の動作が最も好ましいものになると推定される作業指令の候補を発生させると共に、作業指令の候補を発生させたことによるロボット部１の動作状態に対する作業結果評価部３の評価結果に基づいて新たな作業指令を発生させ、これを繰り返すことで、最適化された作業指令を求めるよう構成されている。
作業指示部５は、作業指示部５から出力された改良作業指令に基づいて、ロボットコントローラ部２に対して作業指令を出力するよう構成されている。
【００１３】
改良作業指令候補発生部４におけるシステムモデル部６は、作業結果評価部３からのデータに基づき、ロボット自体、ロボットを設置した周辺の環境の形状情報、周辺機器の動作タイミングといった情報をモデル化している。モデルであるので、ある入力に対する出力を推定することが出来るよう構成されている。例えば、ロボットの周辺環境物体の干渉チェックや、ある作業指示に基づくロボットのタクトタイムをモデル化したとき、実際に作業結果を計測していない作業指令を与えたときのタクトタイムの予測値を推定出力することが出来る。
【００１４】
システムモデル再構成部７は、作業結果評価部３からのデータに基づき、システムモデル部６の内部状態（システムモデル）を新たなものに更新する。この操作により、システムモデル部６の予測精度は、より広範囲な入力に対して向上していく。
【００１５】
作業指令候補最適化部８は、システムモデル部６を用いることで、次にロボットに行わせる作業候補を一つないし複数選択し、作業指示部５に出力するよう構成されている。この選択方法としては、数多くの作業指令候補に対して、その作業指令候補がシステムモデル部６を用いて、システムモデル部６の推定精度をより正確にすると予想される度合いを数値化し、あるいはタクトタイムが短くなると予想される度合いを数値化し、それら数値が最も好ましい値を示している作業指令候補を一つあるいは複数選択する。タクトタイムであれば短いほうが好ましく、推定誤差であっても小さいほうが良いので最小値を選ぶことになる。このとき、数値化した度合いが複数あるので、先ずタクトタイムについて値の小さなもの順にいくつかを選んだ上で、その中から推定誤差が小さいものを選び出すようにするなどの方法を用いる。あるいは、二つの度合いの数値を掛け算し、その掛け算の結果が最も小さいもの順に選んでいくといった方法を用いる。
【００１６】
尚、本発明のロボットの作業動作最適化装置はコンピュータを用いて実現され、上記のロボットコントローラ部２〜作業指令候補最適化部８は、それぞれの機能に対応するソフトウェアと、これを実行するためのＣＰＵやメモリ等のハードウェアから構成されている。
【００１７】
次に、実施の形態１の動作について説明する。
図２は、上記の候補選択に関する動作内容を示した説明図である。
図２のモデルでは、ロボットが周辺の物体と干渉すると推定される領域（現状の干渉識別境界）ｆを描いている。尚、横軸、縦軸の値は、作業指令パラメータを示している。また、タクトタイムの推定モデルはＦ（Ｓn+1）で表わしている。Ｓnというのは作業動作をｎ回実行して、ｎ回の動作の観測結果の集合である。Ｆ（Ｓn）およびｆ（Ｓn）というのはｎ回の動作の観測結果の集合から最も妥当な推測結果を与えるモデルのことを表している。
【００１８】
Ｆ（Ｓn+1）およびｆ（Ｓn+1）は、次に作業してみる候補Ｓn+1を仮に観測結果の集合に加えてみたときに更新される推定モデルである。候補Ｓn+1により干渉が発生した場合と干渉が発生しない場合は不明であるので、両方の場合を想定して、それぞれの場合にもたらされる現状のｆ（Ｓn）との差Ａfh，Ａfgを次式で数値化し、その数値が最も大きくなるような候補Ｓn+1を最終的に選ぶようにしている。尚、図２において、識別境界ｈとは、識別境界ｆに基づいて、ある条件で作業を行った場合に干渉が発生すると観測される新たな識別境界であり、識別境界ｇとは、干渉が発生しないと観測される新たな識別境界である。
【数１】
0005137537.tif 000002
【００１９】
尚、上記の式では、掛け算を用いているが、Ｆ（Ｓn+1）を先ず計算して小さいものから１００個程度選び、選んだ１００個について
【数２】
0005137537.tif 000003
を計算しても良い。尚、１００点というのは単なる例であり５０点でも１０００点でも効果は変わらない。また、候補は最終的に一つに絞らなくても、複数選んで、複数を作業結果評価部３で評価しても同等の効果が得られる。
【００２０】
作業指令の候補であるが、例えばロボットの動作上の経由点の羅列として与えられる。但し空間内の点は無限にあるため、適当な間隔で離散化しておくことにする。これにより選択可能な候補は有限な点の集合になり、各候補はそれらの中の１点となる。
【００２１】
Ｆ（Ｓn+1）およびｆ（Ｓn+1）には、例えば重回帰分析、サポートベクターマシン、サポートベクター回帰、カーネル回帰、ベイズポイントマシン、ベイズ推定、最尤推定、応答曲面、ラジアスベイシスファンクションネットワーク、ニューラルネットワーク、といった関数モデルおよびパラメータ決定アルゴリズムの組み合わせを用いる。
【００２２】
図３は、図１に示したロボットの作業動作最適化装置の動作を示すフローチャートである。
先ず、ステップＳＴ１１において、数点の作業指令条件にてロボット部１が初期動作実験を行う。次に、ステップＳＴ１２にて、システムモデル再構成部７は、その時点で得られている動作結果（複数の実験点毎の動作結果）からシステムモデル部６の干渉識別境界を決定する。次に、ステップＳＴ１３にて、作業指令候補最適化部８は、ステップＳＴ１２で定めた識別境界付近の点を次の実験候補点とする。そして、既に全ての候補となる点を実験しつくしているかを判定し（ステップＳＴ１４）、そうである場合には終了するが、そうでない場合にはステップＳＴ１５に進む。ステップＳＴ１５では、システムモデル部６により、発生した全ての候補点について、上記の式（１）または式（２）を計算する。次に、ステップＳＴ１６にて、作業指令候補最適化部８は、この値が最大になる候補点を次の実験点として選択する。次に、ステップＳＴ１７にて、ステップＳＴ１６にて選択された実験点によって実際に動作実験を行い動作結果を取得する。そしてステップＳＴ１２に戻り、以下これらの処理を繰り返す。
【００２３】
ところで、本実施の形態で計算するＡfh，Ａfgの和÷（Ａfh，Ａfgの差＋１．０）という値が大きいということは、その候補点による作業を行った結果、干渉が発生する場合と干渉が発生しない場合の識別境界の変化量がほぼ同等であり、かつその変化量が大きいということである。即ち、変化量が同等になれば差の値（分母）は小さくなり、かつ、変化量が大きければ和の値（分子）は大きくなるからである。このような点から、次の実験点の候補として、識別境界が正しくはそこを通過するのであろうという予測が確からしい点を選択することができる。
【００２４】
尚、上記実施の形態において、和÷（差＋１．０）における１．０の値については、差が０であった場合に、和÷差の値が無限大になってしまうのを避けるためであり、１．０以外の数値であってもよい。但し、値を小さくすると、差の大小の影響を大きく評価し、値を大きくすると差の大小の影響を小さく評価することになる。従って、条件等に合わせて適宜値は選択する。
【００２５】
また、最初にシステムモデル部６を構築する際、Ｓnを作っておく必要がある。これは、直交表を用いて実験を行うものである。尚、Ｌ８に限らず、Ｌ４、Ｌ１６、Ｌ３２、Ｌ６４、Ｌ９、Ｌ２７、Ｌ８１、Ｌ２４３、Ｌ１２、Ｌ１８、Ｌ３６、Ｌ７２などを使ってもよく、あるいは、多元配置、ラテン方格、グレコラテン方格、一様計画、Ｄ最適、Ｇ最適、Ａ最適などの最適計画、応答曲面計画における複合計画、Box and Behnken計画、あるいはまったくのランダムな計画などを適宜用いてもよい。あるいは、作業者が経験的に有望と考える作業指令を選択し、Ｓnを作っておいてもよい。
【００２６】
また、次の作業指令の候補を発生する場合に、それまでの実験点が一様に分布しているかを調べ、一様に分布していなかった場合は、まだ実験していない候補点のなかでいずれかの点をランダムに選択して実験を行うようにしてもよい。例えば、これまでの実験点が実験可能な空間内に一様に分布しているかどうかをカイ二乗検定により検定する。検定の結果、実験点に偏在が見られる場合にはまだ実験していない格子点の中からランダムに一つ選択する。この場合、探索可能な空間をまんべんなく探索しようとするため、正しい干渉識別境界が離れ小島のように点在している場合であっても、識別境界が正しい位置に収束する速度を速くすることを期待できる効果がある。
【００２７】
サポートベクターマシンをモデルとして用いる場合、サポートベクターマシンのいくつかのパラメータを調整することが出来る。簡単に言えば識別境界の表現力を調節できる。例えば複雑な識別境界を描きたいときにはあるパラメータの値を大きくすれば良い。しかしその際の欠点としてサポートベクターマシンの数式を処理するのに要する時間が増大する。そのパラメータの値を小さくすれば計算時間は短くなるが、すべての実験点の結果を正しく識別できる識別境界を作れないことが起きる。
そこで該当するパラメータの値を、最初は小さなものにしておいて計算時間の削減をはかる。そして識別境界を決定するステップにおいて、その時点までに得られている実験点による結果を、完全に分離する識別境界を得ることが出来なくなった時点で該当するパラメータの値を、完全に分離できるようになるまで増やすように構成する。同時に完全に分離できなくなる直前まで減らすように構成する。これにより実験点候補の選択に要する計算時間が短いロボットの作業動作最適化装置を得ることができる効果がある。
【００２８】
以上のように、実施の形態１のロボットの作業動作最適化装置によれば、ロボットとロボットの周辺作業環境とからなるロボット部と、入力された作業指令に従ってロボット部を動作させるロボットコントローラ部と、ロボットコントローラ部に対する作業指令と、ロボット部の実際の動きを入力とし、それらの入力に対するロボット部の動作結果を観測し、動作結果が適切なものであるかを評価する作業結果評価部と、作業結果評価部の評価値を入力とし、複数の作業指令候補の中から１つないし複数の作業指令を次の改良作業指令として選択し、ロボット部の動作が最も好ましいものになると推定される作業指令の候補を発生させる改良作業指令候補発生部と、改良作業指令候補発生部により発生させた作業指令候補に基づいて、ロボットコントローラ部に対して作業指令を出力する作業指示部とを備え、改良作業指令候補発生部は、ロボット自体と周辺作業環境の物体の干渉チェックと作業動作時間の算出を行うシステムモデルを有し、ある作業指令が入力された場合の評価の予測値を推定出力するシステムモデル部と、作業結果評価部から出力される評価値に基づき、システムモデル部の内部状態を新たなものに更新し、システムモデル部の予測精度を向上させるシステムモデル再構成部と、作業指令候補に対して、システムモデル部の推定精度がより正確になる度合いを数値化し、得られた数値が最も好ましい値を示している作業指令候補を１つあるいは複数選択して、次の改良作業指令とする動作を行い、改良作業指令を作業指示部に出力する作業指令候補最適化部とを備え、作業指示部は、作業指令候補最適化部から出力された改良作業指令に基づいてロボットコントローラ部に作業指令を出力する処理を繰り返すことで、最適化された作業指令を求めるようにしたので、少ない作業試行数で迅速に最良の作業指令を自動的に決定することができる。
【００２９】
なお、ロボットの動作はいわゆるロボットシミュレータ内で実施し、同シミュレータ内に構築された環境モデルとロボットモデルの間で干渉チェック演算を行うことで干渉チェックを行うよう構成しても、実際のロボットの手先，あるいは腕各部に距離センサを取り付ける、または関節トルクセンサないし関節トルク推定演算により、実際のロボットが実際の環境下で動作しているときに環境とロボットが接触したことを検知して干渉チェックをするよう構成しても、同等の効果が得られる。
【００３０】
さらに、上記は、ロボットが障害物と干渉することを避ける例について述べてきたが、別の形態にすることもできる。ロボットとビジョンセンサを組合せたシステムにおいて、固定的に設置されたビジョンセンサが対象物を撮像する際、ロボットは、ロボットのボディがビジョンセンサの視界に入らない位置に移動する必要がある。つまり、ロボットがビジョンセンサの撮像を妨げないように、ビジョンセンサの視野の外に移動し、そこで待機している必要がある。ビジョンセンサによる把持対象物の撮像が終了すると、ロボットは、その作業対象物を把持するため、再びビジョンセンサの視野内に移動して、把持動作を行うことになる。このとき、ロボットが、ビジョンセンサの視野のぎりぎり外側で待機していることが、全体の作業時間を短縮するのに有利であると考えられる。すなわち、ビジョンセンサの視野内に入っているか、否かが、先に述べた干渉チェックと同等の判定であるとして、処理することによって、ビジョンセンサの干渉を避けながら、短いタクトタイムで動作できる作業軌道が得られる効果がある。
【００３１】
実施の形態２．
実施の形態２の図面上の構成は実施の形態１と同様であるため、図１を援用して説明する。
ロボットの作業指令は、通常、ロボット言語と呼ばれるプログラミング言語の一種により記述される。その文法はＢＡＳＩＣ言語のそれを踏襲するものが多い。ロボット作業には、それら言語の各行に割り当てられる。数値演算などロボット作業以外の情報も記述されているが、ここではロボットの作業に関する記述、および周辺機器との通信に関する指令のみに着目する。
【００３２】
本実施の形態では、ロボット部１が作業を行う度に、作業結果評価部３において、各作業について、それの実行回数、実行に要する時間を記録する。この記録は、ロボット実機を実際の環境下で動作させた状態で行われる．その記録に基づいて、改良作業指令候補発生部４では、実行に要する時間×実行回数の積値を集計計算し、大きいものから順に並べる。
尚、このランキングは作業者に提示することが可能であり、自動最適化の観点からは外れるが、ランキング上位の作業について、ロボットによる作業から専用工具作業、専用加工装置への置き換えをしたほうがよいかどうかを検討することもできる。
【００３３】
さて、本題の自動的な作業動作の改良であるが、本実施の形態では、改良作業指令候補発生部４は、作業結果評価部３で観測された動作の手順各々の実行時間の情報に基づいて、作業実行に支障がない限り、全体の動作におけるタクトタイムを短縮するよう動作の手順を入れ替えて作業指令を発生させる。具体的には、次のような項目が当てはまるか否かを順に判定し、当てはまる場合には実際に作業動作の改良を実施する。
【００３４】
（１）実行頻度の高い動作の最適化
実行される頻度の高い作業動作について、実施の形態１に示した方法を用いて、より高速な作業動作に向かって改良していく。これは、例えば障害物ぎりぎりを通る動作を実現することに相当する。
【００３５】
（２）複合分岐の最適化
例えば、上流工程からのワーク到着待ち位置がプログラムされており、上流工程から到着する実際の位置がばらつくという状況において、作業動作を重ねていくと、統計的に実際の到着位置の確率分布が得られる。この分布の中心にワーク到着待ち位置を移動させる。
あるいは、到着するワークが複数種類あり、それをハンドリングできるハンドがそれぞれ異なる場合にハンドを付け替える必要がある。作業動作を重ねていくと、統計的に実際の到着種類の確率分布および到着順序に関する条件付確率が得られる。この分布に従って予めハンドを装着しておくようにロボットプログラムを書き換える。
【００３６】
（３）条件分岐の判定処理の最適化
加工後の検査など、状況判断にある程度の時間がかかる場合がある。観測された分岐確率が真か偽かは統計的に確率が定まってくる。この確率に応じて判定が早く済む検査動作へと切り替えていく。あるいは複数の検査工程がある場合に、総合的な最終判定結果の確率が高い検査順序を生成し、これを実現する作業動作をプログラミングし直す。
【００３７】
（４）実行順序の交換
観測された作業結果情報に基づき、トータルで実行が早く終わる順序に交換する。周辺機器からの作業完了待ち時間の間に、先に出来る作業を済ませておくよう、順序を交換する。交換して意味があるかどうかは、観測されたそれぞれの作業時間から判断できる。
【００３８】
（５）作業のインライン化
ハンドを付け替える必要がある作業を、予め同じハンドで複数ワークを作業してバッファエリアに置いておく、何度も使う冶具は組み立てておいて使いまわすなどが実現されるようロボットプログラムを書き換える。
【００３９】
（６）資源割り当て最適化
仮置き台の使用最適化、ダブルハンド使用時の指の割付の最適化、プレスなど専用機工程の割り当て最適化を実施する。
【００４０】
改良作業指令候補発生部４は、以上の項目を実施した結果を改良作業指令として、作業指示部５に出力する。作業指示部５からロボットコントローラ部２に作業指令が出力され、ロボット部１が動作し、以下、これを繰り返す。
繰り返しの終了条件であるが、タクトタイムの更新が長らく行われなくなったとき、作業指令候補最適化部８における動作において、Ａfh，Ａfgの大きさが予め定めたある値より小さくなったときに終了することにする。
【００４１】
以上のように、実施の形態２のロボットの作業動作最適化装置によれば、改良作業指令候補発生部は、作業指令をロボットプログラミング言語により一連の動作の手順を羅列して作成すると共に、作業結果評価部で観測された動作の手順各々の実行時間の情報に基づいて、作業実行に支障がない限り、全体の動作におけるタクトタイムを短縮するよう動作の手順を入れ替えて作業指令を発生するようにしたので、少ない作業試行数で迅速に最良の作業指令を自動的に決定することのできるロボットの作業動作改良装置が得られる効果がある。
【図面の簡単な説明】
【００４２】
【図１】この発明の実施の形態１によるロボットの作業動作最適化装置を示す構成図である。
【図２】この発明の実施の形態１によるロボットの作業動作最適化装置の干渉識別境界と候補選択の動作を示す説明図である。
【図３】この発明の実施の形態１によるロボットの作業動作最適化装置の動作を示すフローチャートである。
【符号の説明】
【００４３】
１  ロボット部、２  ロボットコントローラ部、３  作業結果評価部、４  改良作業指令候補発生部、５  作業指示部、６  システムモデル部、７  システムモデル再構成部、８  作業指令候補最適化部。
【図１】
0005137537.tif 000005
【図２】
0005137537.tif 000006
【図３】
0005137537.tif 000007