(57)【特許請求の範囲】
【請求項１】
コンベア上に不規則に置かれ前記コンベアによって２次元平面上を移動する複数の対象物を視覚装置によって捉え、前記視覚装置からの情報に基づき遺伝的アルゴリズムを用いてロボットによる前記複数の対象物のハンドリング順序を決定する移動物体のハンドリング方法であって、
前記視覚装置によって前記各対象物の形状の基準となる点の前記２次元平面上における座標を判別するとともに、前記各対象物の位置を検出し、
前記遺伝的アルゴリズムの遺伝子の各要素に前記複数の対象物を１対１に対応させて前記遺伝子を所定の数だけ発生させ、さらに前記遺伝子の各要素に所定の範囲内でランダムに生成された整数を割り当て、前記遺伝子内における前記割り当てられた整数の昇順を前記対象物のハンドリング順序とし、
前記遺伝的アルゴリズムの交叉の過程では、選択された２つの前記遺伝子内の２つの要素について前記割り当てられた整数を入れ替える処理を行い、
前記遺伝的アルゴリズムの突然変異の過程では、前記遺伝子内の先頭の要素と最後尾の要素との間で前記割り当てられた整数を入れ替える処理を行って、
前記所定の数の遺伝子の中から前記ロボットの移動距離が最小となるハンドリング順序を選出し、
前記ロボットは、前記選出されたハンドリング順序に基づいて前記複数の対象物のハンドリングを行うことを特徴とする移動物体のハンドリング方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンベア等によって搬送される複数の移動物体（対象物）をロボット装置によってハンドリングする方法に関し、特に、工業用テレビカメラなどからなる視覚装置を用いて移動物体の位置を検出し、検出された位置に応じてハンドリングを行う方法に関する。
【０００２】
【従来の技術】
コンベアなど搬送装置上に置かれて搬送される対象物をロボットによってハンドリングする方法としては、例えば、特開昭６０−２１７０８５号公報にあるように、工業用テレビカメラ（ＩＴＶ）などの視覚装置によって対象物を撮像し、搬送装置とロボットとの同期制御を行い、対象物である移動物体をハンドリングする方法がある。具体的には、ロボット座標上での各対象物の例えば重心の位置を撮像した画像から画像処理によって検出し、検出した座標に基づいてロボットの制御を行っている。
【０００３】
【発明が解決しようとする課題】
コンベアなどの上に不規則に置かれた複数個の対象物をハンドリングする場合、対象物をどういう順番でハンドリングするかによってロボットの移動距離が異なるため、この順序によって作業時間が大きく左右されるという問題点がある。
本発明の目的は、複数個の対象物のハンドリングする際に、ロボットの作業時間を最小にすることができるハンドリング方法を提供することを目的とする。
【０００４】
本発明の移動物体のハンドリング方法は、コンベア上に不規則に置かれ前記コンベアによって２次元平面上を移動する複数の対象物を視覚装置によって捉え、前記視覚装置からの情報に基づき遺伝的アルゴリズムを用いてロボットによる前記複数の対象物のハンドリング順序を決定する移動物体のハンドリング方法であって、前記視覚装置によって前記各対象物の形状の基準となる点の前記２次元平面上における座標を判別するとともに、前記各対象物の位置を検出し、前記遺伝的アルゴリズムの遺伝子の各要素に前記複数の対象物を１対１に対応させて前記遺伝子を所定の数だけ発生させ、さらに前記遺伝子の各要素に所定の範囲内でランダムに生成された整数を割り当て、前記遺伝子内における前記割り当てられた整数の昇順を前記対象物のハンドリング順序とし、前記遺伝的アルゴリズムの交叉の過程では、選択された２つの前記遺伝子内の２つの要素について前記割り当てられた整数を入れ替える処理を行い、前記遺伝的アルゴリズムの突然変異の過程では、前記遺伝子内の先頭の要素と最後尾の要素との間で前記割り当てられた整数を入れ替える処理を行って、前記所定の数の遺伝子の中から前記ロボットの移動距離が最小となるハンドリング順序を選出し、前記ロボットは、前記選出されたハンドリング順序に基づいて前記複数の対象物のハンドリングを行う。本発明では、遺伝的アルゴリズムを用いることによってハンドリング順序の最適解を短時間で求めることができるので、複数の対象物に対するハンドリング操作を最小の時間で行うことが可能になり、作業時間を短縮することができる。
【０００５】
本発明においては、遺伝的アルゴリズムで使用する遺伝子として、その要素がそれぞれ対象物に対応し、各要素の値が所定の範囲の整数の中からランダムに生成され、要素の値の大小の順が対象物に対するハンドリング順序に対応するものを用いることが好ましい。また、突然変異の操作として、同一遺伝子内で要素の値を相互に交換するものを採用することが好ましい。このような遺伝子を採用することにより、より短時間で最適解に到達することが可能になる。
【０００６】
【発明の実施の形態】
次に、本発明の実施の形態について、図面を参照して説明する。図１は、本発明の実施の一形態の移動物体のハンドリング方法が適用される装置の構成を示し、図２は、この移動物体のハンドリング方法での処理の流れを示している。
図１に示すように、コンベア２上の対象物をハンドリングできる位置にロボット１が設置されている。対象物の形状は同一ではなく、また、複数の対象物が不規則にコンベア２上に置かれているものとする。ここでは、５個の対象物Ａ〜Ｅが、コンベア２上にあって、コンベア２により、図示Ｆ方向に移動するものとする。
コンベア２の上方には、工業用テレビカメラなどからなる視覚装置４が、コンベア２に向けて設けられている。また、視覚装置４で取得した画像を処理するための画像処理装置５が設けられており、画像処理装置５での処理結果は、ロボット１を制御するロボットコントローラ６に伝送される。
【０００７】
次に、本実施の形態でのハンドリングの処理手順について、図２を用いて説明する。
視覚装置４により、コンベア２上の対象物を撮像し（ステップ１０１）、取得した画像を画像処理装置５に転送する。画像処理装置５では、対象物の画像に対して例えばパターンマッチングなどの処理を行い、各対象物の重心Ｇの座標を求める（ステップ１０２）。この際、ロボット１の現在の位置を座標計測のための基準位置とする。そして、画像処理装置５は、各対象物の重心Ｇの座標をロボットコントローラ６に伝送する（ステップ１０３）。ロボットコントローラ６は、遺伝的アルゴリズムによる演算を実施するための前処理として、ロボット１の現在の位置と各対象物の重心までの距離、各対象物間での重心Ｇの距離を求める。
【０００８】
次に、ロボットコントローラ６は、遺伝的アルゴリズムにより、対象物をハンドリングするために、ロボットが移動する距離を最小にするような最適なハンドリング順序を求める（ステップ１０４）。ロボットコントローラ６は、このようにして求めた最適なハンドリング順序にしたがって、ロボット１にハンドリングを実行させる（ステップ１０５）。以上により、ハンドリングが完了する。
図３は、５個の対象物Ａ〜Ｅの位置（重心位置）とロボット１の位置との相対的な関係を示したものである。ロボット１の現在位置Ｏの座標値を(ｘ0,ｙ0)とし、対象物Ａ〜Ｅの重心の座標値を、それぞれ、(ｘa,ｙa),(ｘb,ｙb),(ｘc,ｙc),(ｘd,ｙd),(ｘe,ｙe)とする。
図４は、ステップ１０４（図２）における遺伝的アルゴリズムの詳細な処理手順を示したものである。ここでは、コンベア２上の対象物が５個（対象物Ａ〜Ｅ）であり、各対象物Ａ〜Ｅの重心の座標が図３のように定まっているとする。
【０００９】
まず、事象のモデル化として、各遺伝子を構成する要素の数（１本の遺伝子（個体）に含まれる遺伝子座の数）を対象物の数（ここでは５）とする（ステップ１１０）。図５は、本実施の形態で使用する遺伝子の１例を示している。この遺伝子１１では、５個の要素（遺伝子座）がそれぞれ対象物Ａ〜Ｅに対応しており、要素の値として、対応する対象物に対する得点（スコア）が用いられる。ここで得点とは、ハンドリング経路を設定するためのものであり、得点の小さい方から順にハンドリングを行うものとする。図５に示した例では、対象物Ａに対して１５５、対象物Ｂに対しては２３、以下同様に、対象物Ｃ,Ｄ,Ｅに対して、それぞれ、１００,２０,２００が得点として与えられており、したがって、ハンドリングは、まず対象物Ｄに対して行われ、Ｄ→Ｂ→Ｃ→Ａ→Ｅの順で行われることになる。
【００１０】
ステップ１１０での事象のモデル化が行われたら、今述べたような遺伝子（個体）を集団発生させる（ステップ１１１）。集団発生では、各要素に対する値を乱数で発生させることにより、予め定めた個数の遺伝子を生成する。図６(a)〜(f)は、それぞれ、集団発生で生成する遺伝子の例を示している。
次に、各遺伝子（個体）の評価を行う（ステップ１１２）。本実施の形態は、ハンドリング時のロボットの移動距離を最小にすることを目的としているから、各遺伝子ごとに、その遺伝子が表わすハンドリング順序でのロボットの移動距離を算出する。図５に示す遺伝子の場合、ハンドリング順序がＤ→Ｂ→Ｃ→Ａ→Ｅであるから、ロボットの移動距離をＬとすると、
【００１１】
【数１】
Ｌ２＝(ｘ０-ｘｄ)２＋(ｙ０-ｙｄ)２＋(ｘｄ-ｘｂ)２＋(ｙｄ-ｙｂ)２＋(ｘｂ-ｘｃ)２＋(ｙｂ-ｙｃ)２
＋(ｘｃ-ｘａ)２＋(ｙｃ-ｙａ)２＋(ｘａ-ｘｅ)２＋(ｙａ-ｙｅ)２＋(ｘｅ-ｘ０)２＋(ｙｅ-ｙ０)２
となる。各遺伝子についてロボットの移動距離を算出したら、全遺伝子についての距離の平均値を算出し、この平均値よりも距離が大きな個体を削除、すなわち淘汰する（ステップ１１３）。このとき、距離の２乗Ｌ2に基づいて淘汰を行ってもよい。淘汰の結果、遺伝子の数が減らされたことになるから、ステップ１１１での遺伝子生成と同様の手順によって、減らされたのと同数の遺伝子を生成し、遺伝子の増殖を行う。
【００１２】
次に、遺伝子の集団に対して交叉を行う（ステップ１１４）。交叉は、全個体数の中から予め定めた割合（Ｎ％）で２個ずつ遺伝子を抽出し、図７に示すように、抽出された２つの遺伝子１２,１３に対し、その４番目の要素（対象物Ｄに対応）の値と５番目の要素（対象物Ｅに対応）の値を遺伝子１２,１３間で入れ替える操作である。この交叉が終了したら、次に、遺伝子の集団に対して突然変異の操作を実行する（ステップ１１５）。突然変異では、全個体数の中から予め定めた割合（Ｍ％）で遺伝子を抽出し、その遺伝子内で１番目の要素（対象物Ａに対応）の値と５番目の要素の値とを入れ替える操作である。ステップ１１２の評価からステップ１１５の突然変異までの一連の処理が、遺伝的アルゴリズムでいうところの１世代である。ステップ１１５の突然変異の実施後、この世代の遺伝子の中でロボットの移動距離を最小とするハンドリング順序を記憶する（ステップ１１６）。
【００１３】
次に、予め定めた世代数Ｌだけ上述のステップ１１２からステップ１１６までをループしたかを判断し（ステップ１１７）、Ｌ回ループしていない場合には次の世代の処理のためにステップ１１２に戻り、Ｌ回ループしている場合には、それまでのＬ世代間の遺伝子の中で最もロボットの移動距離の小さいハンドリング順序を取得し（ステップ１１８）、処理を終了する。遺伝的アルゴリズムによれば厳密な意味での最適解ではないかもしれないがこの最適解に十分近い解を少ない演算量で得られることが知られているから、本実施の形態によれば、ロボットの移動距離を実質的に最小にするハンドリング順序を求めることができ、ロボットの作業時間を最小にすることができる。以上説明した実施の形態においては、対象物の重心の座標を抽出してハンドリング時の移動距離の算出に用いているが、本発明では、重心の代りに、対象物の他の特徴点を抽出してその座標を求めるようにしてもよい。
【００１４】
【発明の効果】
以上説明したように本発明は、ハンドリング順序の決定に遺伝的アルゴリズムを採用することにより、ロボットの移動距離が最短となるハンドリング順序を定めることができ、ロボットの作業時間を最小にすることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の一形態の移動物体のハンドリング方法が適用される装置の構成を示す図である。
【図２】本発明の実施の一形態の移動物体のハンドリング方法での処理の流れを示すフローチャートである。
【図３】ロボットと対象物との位置関係の一例を示す図である。
【図４】図２に示す移動物体のハンドリング方法における遺伝的アルゴリズムの詳細を示すフローチャートである。
【図５】遺伝子モデルの一例を示す図である。
【図６】  (a)〜(f)は、遺伝子の集団発生により生成する遺伝子の例を示す図である。
【図７】遺伝子の交差の一例を説明する図である。
【図８】遺伝子の突然変異の一例を説明する図である。
【符号の説明】
１    ロボット
２    コンベア
４    視覚装置
５    画像処理装置
６    ロボットコントローラ
１１〜１７    遺伝子
１０１〜１０５,１１０〜１１８     ステップ
Ａ,Ｂ,Ｃ,Ｄ,Ｅ    対象物
【図１】
0003956063.tif 000002
【図２】
0003956063.tif 000003
【図３】
0003956063.tif 000004
【図４】
0003956063.tif 000005
【図５】
0003956063.tif 000006
【図６】
0003956063.tif 000007
【図７】
0003956063.tif 000008
【図８】
0003956063.tif 000009