(57)【要約】【課題】より好適な条件でピッキング可能なワークを選択することができるロボットピッキングシステムを提供する。【解決手段】ロボットピッキングシステム１は、複数のワークＷを収容した第１ストッカ２内のワークＷをピッキングするロボットＲと、ロボットＲの動作を制御する制御装置４と、ワークＷに関する情報が含まれた画像データを取得する画像取得装置６と、を備える。制御装置４は、画像データを利用して、ピッキング対象の候補である候補ワークＷＣの情報を含む候補データを生成する候補データ生成部１３と、候補データを利用して、候補ワークＷＣからピッキング対象である対象ワークＷＯを選択する対象ワーク選択部１９と、を有する。【選択図】図１
2014180704.tif 000002
【特許請求の範囲】
【請求項１】
複数のワークを収容したストッカ内の前記ワークをピッキングするロボットと、
前記ロボットの動作を制御する制御装置と、
前記ワークに関する情報が含まれた画像データを取得する画像取得装置と、
を備え、
前記制御装置は、
前記画像データを利用して、ピッキング対象の候補である候補ワークの情報を含む候補データを生成する候補データ生成部と、
前記候補データを利用して、前記候補ワークからピッキング対象である対象ワークを選択する対象ワーク選択部と、を有するロボットピッキングシステム。
【請求項２】
前記制御装置は、
前記ロボットの姿勢の情報を含む姿勢データを生成する姿勢データ生成部と、
前記姿勢データ及び前記候補データを利用して、それぞれの前記候補ワークに至るまでの軌跡の情報を含む軌跡データを生成する軌跡データ生成部と、
を更に有し、
前記対象ワーク選択部は、前記軌跡に沿った前記ロボットの動作が妨げられるか否かを判断し、前記判断の結果を利用して、前記対象ワークを選択する請求項１に記載のロボットピッキングシステム。
【請求項３】
前記制御装置は、前記候補データを利用して、前記候補ワークのそれぞれに到達するために要する所要時間の情報を含む所要時間データを生成する所要時間データ生成部を更に有し、
前記対象ワーク選択部は、前記所要時間データを利用して、前記対象ワークを選択する請求項２に記載のロボットピッキングシステム。
【請求項４】
前記所要時間データ生成部は、前記軌跡データを利用して、前記所要時間データを生成する請求項３に記載のロボットピッキングシステム。
【請求項５】
前記制御装置は、前記画像データを利用して、前記ワークの形状に基づく形状の情報を含む形状データを生成する形状データ生成部を更に有し、
前記対象ワーク選択部は、前記形状データに基づき前記候補ワークのピッキングしやすさを示す指標を取得し、前記指標を利用して、前記対象ワークを選択する請求項３又は４に記載のロボットピッキングシステム。
【請求項６】
前記対象ワーク選択部は、前記所要時間データを第１重み係数で重み付けした第１評価データと、前記形状データを第２重み係数で重みづけした第２評価データとを利用して、前記対象ワークを選択する請求項５に記載のロボットピッキングシステム。
【請求項７】
請求項１〜６の何れか一項に記載のロボットピッキングシステムを用いて被加工物を製造する被加工物の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットピッキングシステム及び被加工物の製造方法に関する。
【背景技術】
【０００２】
ボルトといった同一形状のワークがランダムに収容されたストッカから当該ワークを取り出して保持させるピッキング技術がある。特許文献１には、ピッキング技術を利用したロボットピッキングシステムが開示されている。このロボットピッキングシステムは、ロボットが取り出したワークの保持状態を検査して、検査結果が所定の条件を満たしたもののみを次工程に供給する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１８３５３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ピッキング技術においては、複数のワークが撮像された画像データに基づいてピッキング対象となる一のワークを選択し、当該ワークに関する情報をロボットに提供する。ロボットは、提供された情報に基づいてワークを取り出す動作（ピッキング動作）を実行する。
【０００５】
しかし、画像データのみに基づいて選択されたワークは、ロボットの作業状態を加味した場合には好適な条件で取り出し可能なワークではない場合がある。
【０００６】
そこで、本発明は、より好適な条件でピッキング可能なワークを選択することができるロボットピッキングシステム及び被加工物の製造方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、複数のワークを収容したストッカ内のワークをピッキングするロボットと、ロボットの動作を制御する制御装置と、ワークに関する情報が含まれた画像データを取得する画像取得装置と、を備え、制御装置は、画像データを利用して、ピッキング対象の候補である候補ワークの情報を含む候補データを生成する候補データ生成部と、候補データを利用して、候補ワークからピッキング対象である対象ワークを選択する対象ワーク選択部と、を有する。
【発明の効果】
【０００８】
本発明のロボットピッキングシステムによれば、より好適な条件でピッキング可能なワークを選択することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態のロボットピッキングシステムを示す図である。
【図２】ロボットを説明するための図である。
【図３】制御装置を実現するコンピュータを説明するための図である。
【図４】制御装置の機能ブロック図である。
【図５】ピッキング動作を実行する主要な工程を説明するための図である。
【図６】軌跡を計算する方法を説明するための図である。
【図７】軌跡を計算する方法を説明するための図である。
【図８】（ａ）は関節空間に基づく角速度指令の一例を示す図であり、（ｂ）は直交空間に基づく速度指令の一例を示す図であり、（ｃ）は関節空間に基づく角速度指令の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら本発明を実施するための形態を詳細に説明する。図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【００１１】
＜ロボットピッキングシステム＞
図１は、本実施形態のロボットピッキングシステム１を示す図である。図１に示すように、ロボットピッキングシステム１は、第１ストッカ２内のワークＷを１つずつピッキングし（取り出し）、第２ストッカ３に移送するものである。第１ストッカ２は、樹脂製又は金属製の箱であり、内部には複数のワークＷが、いわゆるバラ積みの状態で収容されている。第１ストッカ２に収容されているワークＷは、例えばボルトといった同一の形状を有する部品である。第１ストッカ２からピッキングされたワークＷは、例えば、予め定められた配置や姿勢に従って第２ストッカ３内に収容される。
【００１２】
ロボットピッキングシステム１は、ワークＷを第１ストッカ２からピッキングして第２ストッカ３に移送するロボットＲと、ロボットＲの動作を制御する制御装置４と、ワークＷの画像データが含まれた画像を取得する画像取得装置６と、を備えている。
【００１３】
＜ロボット＞
図２は、ロボットＲを説明するための図である。図２に示すように、ロボットＲは、いわゆる多関節ロボットであり、ベース７と、アーム８と、グリッパ（ロボットエンドエフェクタ）１１とを有している。ベース７は、ロボットＲの基礎部であり、床面１２に固定されている。アーム８は、複数のアーム部８ａと、アーム部８ａ同士を連結する複数の回転関節Ｊ１〜Ｊ７とを有している。従って、ロボットＲは、３次元空間における動作に必要な６自由度の構成に、更に冗長自由度を加えた７自由度の構成を有している。但し、本発明の適用対象ロボットは７自由度機構に限定されず、６自由度或いはそれ以外の機構に対して、軸構成を問わず適用可能である。アーム部８ａには、回転関節Ｊ１〜Ｊ７を回転駆動するためのサーボモータ（不図示）が内蔵され、制御装置４から入力される制御信号により制御される。また、回転関節Ｊ１〜Ｊ７には、回転角度を検出するためのセンサ９が内蔵されている。センサ９は、検出した角度値をセンサデータとして制御装置４に出力する（図４参照）。グリッパ１１は、ロボットＲのアーム８の先端に取り付けられている。グリッパ１１は、一対の部材を開閉動作させることによりワークＷを保持する。このグリッパ１１の開閉動作は制御装置４から入力される制御信号により制御される。
【００１４】
ロボットＲには、ロボット座標系Ｃが設定されている。例えば、ロボット座標系Ｃは、ロボットＲが配置された床面１２に対して垂直な方向をＺ方向とし、床面１２に平行な方向をＸ方向とする。さらに、Ｘ方向及びＺ方向に直交する方（紙面に垂直な方向）をＹ方向とする。また、例えば、床面１２に対してロボットＲを固定した点を固定点Ｐとし、固定点Ｐをロボット座標系Ｃの原点とする。
【００１５】
＜画像取得装置＞
図１に示すように、ロボットＲのアーム８の先端には、画像取得装置６が取り付けられている。画像取得装置６は、ワークＷに関する情報が含まれた画像データを取得して、画像データを制御装置４に出力する。画像データは、第１ストッカ２内の複数のワークＷの撮像データが含まれた画像情報と、画像に映された物体の距離情報とを含んでいる。このような画像データを取得可能な画像取得装置６には、例えば、ステレオカメラ、距離画像センサ、又は画像センサと測距センサとを組み合わせた構成を用いることができる。
【００１６】
＜制御装置＞
制御装置４は、制御信号をロボットＲに出力してロボットＲの動作を制御する。制御装置４は、ロボットＲと相互に通信可能に接続されたコンピュータにより構成されている。図３は、制御装置４を実現するコンピュータ１００を説明するための図である。また、図４は、制御装置４の機能ブロック図である。図３に示すように、コンピュータ１００は、本実施形態の制御装置４を構成するハードウエアの一例である。コンピュータ１００は、ＣＰＵを具備しソフトウエアによる処理や制御を行なうパーソナルコンピュータ等の情報処理装置を含む。コンピュータ１００は、ＣＰＵ１０１、主記憶装置であるＲＡＭ１０２及びＲＯＭ１０３、キーボード、マウス及びプログラミングペンダント等の入力装置１０４、ディスプレイ等の表示部１０５、ハードディスク等の補助記憶装置１０６などを含むコンピュータシステムとして構成されている。図４に示す機能的構成要素は、ＣＰＵ１０１、ＲＡＭ１０２等のハードウエア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１０１の制御のもとで入力装置１０４、表示部１０５を動作させるとともに、ＲＡＭ１０２や補助記憶装置１０６におけるデータの読み出し及び書き込みを行うことで実現される。
【００１７】
図４に示すように、制御装置４は、候補データ生成部１３と、姿勢データ生成部１４と、軌跡データ生成部１６と、所要時間データ生成部１７と、形状データ生成部１８と、対象ワーク選択部１９とを有している。
【００１８】
＜候補データ生成部＞
候補データ生成部１３には、画像取得装置６から画像データが入力される。候補データ生成部１３は、画像データを利用して、後述する候補データを生成し、候補データを軌跡データ生成部１６、所要時間データ生成部１７、形状データ生成部１８、及び対象ワーク選択部１９に出力する。ここで候補データとは、画像データに撮像された複数のワークＷの中から候補ワークＷＣ（図１参照）を特定するための情報を含むデータである。また、候補ワークＷＣとは、第１ストッカ２に収容された複数のワークＷのうちピッキング動作（取り出し動作）の候補となるワークである。候補ワークＷＣは、例えば、画像取得装置６の位置からそれぞれのワークＷまでの距離を算出して距離が近い順に順位付けを行う。そして、順位の高い方から所定数のワークＷが候補ワークＷＣとして選択される。ここで、画像取得装置６の位置からそれぞれのワークＷまでの距離とは、具体的に、画像取得装置６により得た対象ワークＷＯの重心位置（３次元空間上の並進移動量の３変数）と、ロボットＲのグリッパ１１の把持位置（同じく並進移動量の３変数）との差のユークリッドノルム（距離）から算出する。或いは、より単純に、ロボット座標系Ｃ上の並進移動量の３変数のユークリッドノルム（距離）としても良い。
【００１９】
＜姿勢データ生成部＞
姿勢データ生成部１４には、複数のセンサ９から角度データが入力される。そして、姿勢データ生成部１４は、角度データを利用して、後述する姿勢データを生成した後に、姿勢データを軌跡データ生成部１６に出力する。ここで姿勢データとは、ロボットＲの各アーム部８ａ及びグリッパ１１の姿勢並びに位置の情報を含むデータである。これら姿勢及び位置は、ロボット座標系Ｃを基準座標として規定されている。姿勢データは、ロボットＲのセンサ９の角度データに基づく現在角度及びロボットＲのリンク情報から順運動学に基づく計算により算出する。
【００２０】
＜軌跡データ生成部＞
軌跡データ生成部１６には、候補データ生成部１３から候補データが入力されると共に、姿勢データ生成部１４から姿勢データが入力される。そして、軌跡データ生成部１６は、姿勢データ及び候補データを利用して、後述する軌跡データを生成した後に、軌跡データを対象ワーク選択部１９及び所要時間データ生成部１７に出力する。ここで、軌跡データとは、ピッキング動作を開始する時点におけるグリッパ１１がそれぞれの候補ワークＷＣに至るまでの軌跡の情報を含むデータである。軌跡の情報は、姿勢データに基づいてピッキング動作を開始する時点におけるグリッパ１１の初期状態を決定して、当該初期状態からそれぞれの候補ワークＷＣに至る軌跡を算出して求めることができる。軌跡を算出する方法は後述する。
【００２１】
＜所要時間データ生成部＞
所要時間データ生成部１７には、候補データ生成部１３から候補データが入力されると共に、軌跡データ生成部１６から軌跡データが入力される。そして、所要時間データ生成部１７は、候補データ及び軌跡データを利用して所要時間（タクトタイム）を算出して所要時間データを生成し、所要時間データを対象ワーク選択部１９に出力する。ここで、所要時間データとは、初期状態にあるグリッパ１１が候補ワークＷＣのそれぞれに到達するまでに要する所要時間の情報を含むデータである。また、所要時間とは、初期状態にあるグリッパ１１が、軌跡に沿って候補ワークＷＣに至るまでの時間である。所要時間の詳細な算出方法は後述する。
【００２２】
＜形状データ生成部＞
形状データ生成部１８には、画像取得装置６から画像データが入力され、候補データ生成部１３から候補データが入力される。そして、形状データ生成部１８は、画像データを利用して形状データを生成した後に、形状データを対象ワーク選択部１９に出力する。ここで、形状データとは、候補ワークＷＣの形状に基づく形状の情報である。形状情報には、例えば、候補ワークＷＣの輪郭形状や１つの候補ワークＷＣの画像が占めるピクセル数がある。これら形状情報は、公知の画像処理の手法を適用することにより取得することができる。
【００２３】
＜対象ワーク選択部＞
対象ワーク選択部１９は、各種データを総合的に評価して、候補ワークＷＣからピッキングに最も適した一のワークＷをピッキング対象（取り出し対象）である対象ワークＷＯ（図１参照）として選択する。対象ワークＷＯの選択は、後述する評価値Ｅｖを候補ワークＷＣごとに算出し、評価値Ｅｖが最も高い候補ワークＷＣを対象ワークＷＯとして選択する。そして、対象ワーク選択部１９は、ピッキング動作を実行するように、ロボットＲに制御信号を出力する。対象ワーク選択部１９には、候補データ生成部１３から候補データが入力され、軌跡データ生成部１６から軌跡データが入力され、所要時間データ生成部１７から所要時間データが入力され、形状データ生成部１８から形状データが入力される。この対象ワーク選択部１９は、干渉確認部２１と、可動範囲確認部２２と、指標取得部２３と、評価値算出部２４と、選択部２６とを含んでいる。
【００２４】
干渉確認部２１について説明する。ロボットＲ及び候補ワークＷＣの周囲には、ピッキング動作の障害物となる物体が存在することがある。ピッキング動作の障害物となる物体には、例えば、第１ストッカ２の側壁などがある。干渉確認部２１は、軌跡に沿ったグリッパ１１の動作がこれら障害物と干渉することにより妨げられるか否かを判断する。ここで、軌跡データは、ロボット座標系Ｃを基準として規定されている。障害物である第１ストッカ２もロボット座標系Ｃを基準座標としてデータ化されている。そうすると、軌跡と障害物とは同一のロボット座標系Ｃの空間内に規定されているので、公知の計算方法により干渉の有無を確認することができる。判断の結果は、例えば、グリッパ１１の動作が妨げられる場合には候補データに「０」の符号が付され、グリッパ１１の動作が妨げられない場合には候補データに「１」の符号が付されることにより記録される。
【００２５】
可動範囲確認部２２について説明する。可動範囲確認部２２には、軌跡データ、各回転関節Ｊ１〜Ｊ７の可動範囲の情報及びアーム部８ａの長さ情報が入力される。そして、可動範囲確認部２２は、これら変数を利用して、可動範囲を超えることなく軌跡に沿って動作することが可能であるか否かを判断する。ロボットＲの回転関節Ｊ１〜Ｊ７には、それぞれ可動範囲が設定されている。これら回転関節Ｊ１〜Ｊ７の可動範囲及びアーム部８ａの長さに基づいて、ロボットＲ全体として可動し得る範囲が設定される。なお、本実施形態の可動範囲は、ロボットＲ全体として可動し得る範囲に対して、さらに安全マージンを加えた範囲であってもよい。また、可動範囲は、回転関節Ｊ１〜Ｊ７の可動範囲に加え、アーム８が有する特異点を考慮して設定されたものであってもよい。可動範囲確認部２２の判断の結果は、例えば、動作が不可能であると判断された場合には候補データに「０」の符号が付され、動作が可能であると判断された場合には候補データに「１」の符号が付されることにより記録される。
【００２６】
指標取得部２３について説明する。第１ストッカ２に収容されたワークＷは、位置、姿勢及びワークＷ同士の相対関係が一様でない。このため、画像取得装置６からの距離に基づいて選択された候補ワークＷＣには、グリッパ１１によりピッキングしやすい状態のものやピッキングが困難であるものがある。そこで、指標取得部２３は、形状データを利用して、候補ワークＷＣそれぞれのピッキングしやすさ（取り出しのしやすさ）を示す指標を取得する。例えば、形状情報が候補ワークＷＣの輪郭形状である場合には、輪郭形状とピッキングしやすさを示す値とが関連付けられたデータベースを用いて、検出された輪郭形状とデータベース内の輪郭形状とをマッチングさせることにより、ピッキングしやすさを示す指標を取得する。また、形状情報が一の候補ワークＷＣの画像が占めるピクセル数である場合には、ピクセル数とピッキングしやすさを示す値とが関連付けられたデータベースを用いて、ピクセル数とデータベース内の情報とをマッチングさせることにより、ピッキングしやすさを示す指標を取得する。
【００２７】
評価値算出部２４は、所要時間データ、ピッキングしやすさを示す指標値、干渉確認部２１及び可動範囲確認部２２の判断の結果を利用して、例えば、下記式（１）により規定される評価値Ｅｖを算出する。
Ｅｖ（ｎ）＝ｆ１（（α／Ｔ），βＤ）×ｆ２（Ａ（０，１），Ｂ（０，１））・・・（１）
ここで、Ｅｖ（ｎ）は第ｎ番目の候補ワークＷＣが有する評価値である。関数ｆ１は、所要時間と指標値を変数とする関数である。Ｔは所要時間であり、所要時間Ｔが小さいほど評価値Ｅｖが高いスコアになる。Ｄはピッキングしやすさを示す指標値であり、指標値Ｄが大きいほど評価値Ｅｖが高いスコアになる。関数ｆ２は、干渉の確認結果と動作の確認結果とを変数とする関数である。Ａは干渉の有無を示す変数であり、「０：干渉あり」又は「１：干渉なし」と規定されている。Ｂは可動範囲内の動作が可能であるか否かを示す変数であり、「０：動作不可能」又は「１：動作可能」が付されている。これら関数ｆ２、変数Ａ及び変数Ｂによれば、干渉がある又は動作が不可能である場合には、Ｅｖのスコアを０として取り出せないことを示すことができる。
【００２８】
また、αは所要時間に重み付けをするための第１重み係数であり、第１重み係数により重み付けされた評価時間（α／Ｔ）を第１評価データという。また、βは指標値に重み付けをするための第２重み係数であり、第２重み係数により重み付けされた指標値（βＤ）を第２評価データという。ロボットＲのピッキング動作においては、所要時間を短くすることを重視する場合や、ピッキング動作を確実に行うことを重視する場合などがある。そこで、評価値Ｅｖに与える所要時間及び指標値の影響を調整する係数として重み係数α、βを用いる。従って、上記式（１）では、第１評価データ（α／Ｔ）及び第２評価データ（βＤ）を用いて評価値Ｅｖを算出している。
【００２９】
選択部２６は、候補ワークＷＣのそれぞれの評価値Ｅｖを順位付けし、評価値Ｅｖが最も高かった候補ワークＷＣをピッキングすべき対象ワークＷＯとして選択する。
【００３０】
続いて、ロボットピッキングシステム１によるピッキング動作の工程を説明する。図５は、ピッキング動作を実行する主要な工程を説明するための図である。図５に示すように、まず、画像取得装置６を用いて第１ストッカ２内の画像データを取得して、画像データを制御装置４に出力する（工程Ｓ１）。次に、候補データ生成部１３において候補データを生成する（工程Ｓ２）。続いて、姿勢データ生成部１４において姿勢データを生成する（工程Ｓ３）。
【００３１】
次に、軌跡データを生成する（工程Ｓ４）。この工程Ｓ４は、軌跡データ生成部１６により実行される。図６〜図８は、軌跡を計算する方法を説明するための図である。図６に示すように、グリッパ１１が初期点Ｐｒにあるとき、目標点Ｐｄ１を有する候補ワークＷＣ１までの軌跡を求める場合を例に説明する。ここで初期点Ｐｒは、姿勢データ生成部１４から入力された姿勢データから生成される。このように軌跡データの生成において、姿勢データから生成された初期点Ｐｒを用いることにより、ロボットＲの作業状態に応じた精度の高い軌跡を生成することができる。
【００３２】
まず、初期点Ｐｒから目標点Ｐｄ１までの２点間の関係を関節空間において補間して、軌跡Ｌ１（図７参照）を得る方法を説明する。ここで関節空間とは、能動関節ベクトルが形成する空間をいう。関節空間による補間方法では、初期点ＰｒにおけるロボットＲの関節角度と、目標点Ｐｄ１におけるロボットＲの関節角度との差に基づいて各回転関節Ｊ１〜Ｊ７の角速度指令を生成する。即ち、初期点Ｐｒから目標点Ｐｄ１までの距離と、予め設定される角速度とに基づいて各回転関節Ｊ１〜Ｊ７の角速度指令を生成する。図８（ａ）は、各回転関節Ｊ１〜Ｊ７に与えられる角速度指令の一例である。Ｇ１は回転関節Ｊ２に与えられる角速度指令であり、Ｇ２は回転関節Ｊ３に与えられる角速度指令であり、Ｇ３は回転関節Ｊ５に与えられる角速度指令であり、Ｇ４は回転関節Ｊ６に与えられる角速度指令である。図８（ａ）に示すように、ロボットＲの回転関節Ｊ２，Ｊ３，Ｊ５，Ｊ６の角速度が動作開始及び終了時を除き一定値となるように角速度指令が生成される。なお、図８（ａ）に示した角速度指令の例は、ロボット座標系ＣにおけるＸＺ平面内の動作を想定したものである。従って、アーム８のＺ方向への動作を与える回転関節Ｊ１，Ｊ４及びＪ７の角速度は０とされている。
【００３３】
次に、初期点Ｐｒから目標点Ｐｄ１までの２点間の関係を直交空間（例えばロボット座標系Ｃ）において補間して、軌跡Ｌ２（図７参照）を得る方法を説明する。直交空間による補間方法では、初期点Ｐｒにおけるグリッパ１１の姿勢及び位置と、目標点Ｐｄ１におけるグリッパ１１の姿勢及び位置との差に基づいて、ロボット座標系ＣにおけるＸ軸方向及びＺ軸方向の並進速度と、Ｚ軸回りの回転速度の直交速度指令を生成する。即ち、初期点Ｐｒから目標点Ｐｄ１までの距離と、予め設定される所定速度とに基づいて並進速度及び回転速度の履歴が生成される。図８（ｂ）は、Ｘ軸及びＺ軸方向の並進速度と、Ｚ軸回りの回転速度の履歴の一例である。Ｇ７はＸ軸方向への並進速度の履歴であり、Ｇ８はＺ軸方向への並進速度の履歴であり、Ｇ９はＺ軸回りの回転速度の履歴である。図８（ｂ）に示すように、動作開始時および終了時を除き、並進速度及び回転速度が一定となるように直交速度指令が生成される。そして、図８（ｂ）に示される直交速度指令を各回転関節Ｊ１〜Ｊ７への角速度指令に変換する。この変換には逆運動学に基づく計算を実施する。図８（ｃ）は、直交速度指令を角速度指令に変換した結果を示す。Ｇ９は回転関節Ｊ２に与えられる角速度の指令であり、Ｇ１０は回転関節Ｊ３に与えられる角速度の指令であり、Ｇ１１は回転関節Ｊ５に与えられる角速度の指令であり、Ｇ１２は回転関節Ｊ６に与えられる角速度の指令である。
【００３４】
なお、工程Ｓ４では、上述した関節空間に基づいて生成された軌跡Ｌ１又は直交空間に基づいて生成された軌跡Ｌ２のいずれを採用してもよい。
【００３５】
図５に戻り、工程Ｓ４の次は、所要時間データを生成する（工程Ｓ５）。この工程Ｓ５は、所要時間データ生成部１７により実行される。所要時間データ生成部１７は、軌跡データを利用して所要時間データを生成する。以下、関節空間に基づいて所要時間を算出する方法と、直交空間に基づいて所要時間を算出する方法について説明する。
【００３６】
関節空間に基づく方法によれば、まず、目標点Ｐｄ１に到達したときにおける各回転関節Ｊ１〜Ｊ７の回転角度の目標値を逆運動学計算により算出する。次に、初期点Ｐｒにおける各回転関節Ｊ１〜Ｊ７の回転角度の現在値を求める。そして、回転角度の目標値から回転角度の現在値の差分値（即ち距離）を算出し、当該差分値を予め指定した角速度で除算することにより所要時間が得られる。この方法によれば、単純な計算により所要時間を得ることができる。すなわち、回転角度の目標値を算出する逆変換計算と、回転角度の目標値と現在値との差分値を求める引き算と、差分値を角速度で除する割り算と、により所要時間が得られる。さらに、図８（ａ）に示す角速度指令に対してロボットＲのサーボ系の遅れやロボットＲの動特性を含めて動作シミュレーションを実行して、より正確な所要時間を算出してもよい。
【００３７】
一方、直交空間に基づく方法によれば、まず、目標点Ｐｄ１におけるグリッパ１１の位置及び姿勢を算出する。次に、初期点Ｐｒにおけるグリッパ１１の位置及び姿勢を算出する。そして、目標点Ｐｄ１における位置及び姿勢と初期点Ｐｒにおける位置及び姿勢との差分値（即ち距離）を算出し、当該差分値を予め指定した直交速度で除算することにより所要時間を得ることができる。この方法によれば、差分値を求める引き算と、差分値を直交速度で除算するという単純な計算により所要時間を試算することができる。なお、図８（ｂ）に示す直交空間に基づく速度指令から図８（ｃ）に示す関節空間に基づく角速度指令に変換を実施し、更に図８（ｃ）に示す角速度指令に対してロボットＲのサーボ系の遅れやロボットＲの動特性を含めて動作シミュレーションを実行して、より正確な所要時間を算出してもよい。
【００３８】
なお、工程Ｓ４５では、上述した関節空間に基づいて生成された所要時間又は直交空間に基づいて生成された所要時間のいずれを採用してもよい。
【００３９】
次に、形状データを生成する（工程Ｓ６）。この工程Ｓ６は、形状データ生成部１８により実行される。この工程Ｓ６では、画像データに基づいて、例えば、形状データとして候補ワークＷＣの輪郭形状を算出する。
【００４０】
次に、指標値を取得する（工程Ｓ７）。この工程Ｓ７は、指標取得部２３により実行される。例えば、この工程Ｓ７では、形状データに含まれている候補ワークＷＣの輪郭形状と、データベースに保持されている輪郭形状とをマッチングさせ、データベースに保持されている輪郭形状に関連付けられた指標値を取得する。
【００４１】
次に、干渉の有無を確認する（工程Ｓ８）。この工程Ｓ８は、軌跡データ及び障害物のモデルデータに基づいて、干渉確認部２１により実行される。
【００４２】
次に、可動範囲内における動作が可能か否かを確認する（工程Ｓ９）。この工程Ｓ９は、軌跡データ及びロボットＲの可動範囲情報に基づいて可動範囲確認部２２により実行される。
【００４３】
次に、評価値Ｅｖを算出する（工程Ｓ１０）。この工程Ｓ１０は、上記式（１）に基づき、評価値算出部２４により実行される。
【００４４】
続いて、未処理の候補ワークＷＣの有無を判断する（工程Ｓ１１）。未処理の候補ワークＷＣがある場合（工程Ｓ１１：ＹＥＳ）には、未処理の候補ワークＷＣについて上記工程Ｓ４〜Ｓ１０を実施する。一方、未処理の候補ワークＷＣがない場合には次の工程Ｓ１２に移行する（工程Ｓ１１：ＮＯ）。上述したように、本実施形態では一つの候補ワークＷＣについて工程Ｓ４〜工程Ｓ１０を連続的に実施する処理を繰り返し、全ての候補ワークＷＣについて評価値Ｅｖを算出する。
【００４５】
そして、候補ワークＷＣから一つの対象ワークＷＯを選択する（工程Ｓ１２）。この工程Ｓ１２は、対象ワーク選択部１９により実行される。この工程Ｓ１２では、それぞれの候補ワークＷＣが有する評価値Ｅｖにおいて、最も高いスコアを有する候補ワークＷＣを対象ワークＷＯとして選択する。
【００４６】
最後に、対象ワークＷＯをピッキングする（工程Ｓ１３）。制御装置４は、対象ワークＷＯをピッキングするための動作を実行するようにロボットＲに制御信号を出力する。ロボットＲは、制御信号に基づいてサーボモータを駆動し、軌跡通りにグリッパ１１を動作させる。グリッパ１１が対象ワークＷＯのピッキング位置(取り出し位置)まで到達すると、制御装置４は、グリッパ１１に制御信号を出力して対象ワークＷＯを保持する動作を実行させる。そして、制御装置４は、対象ワークＷＯを保持したグリッパ１１を移動させ、対象ワークＷＯを第２ストッカ３まで移送させる。以上の工程Ｓ１〜Ｓ１３を実施することにより、第１ストッカ２から第２ストッカ３まで一つのワークＷが移送される。
【００４７】
本実施形態のロボットピッキングシステム１によれば、制御装置４が対象ワーク選択部１９を有し、対象ワーク選択部１９が画像データに基づいてピッキングすべき対象ワークＷＯを選択する。このように、ロボットＲの動作を制御する制御装置４が対象ワークＷＯを選択するので、対象ワークＷＯの選択において、ロボットＲの作業状態を加味することが可能となる。従って、ロボットピッキングシステム１によれば、より好適な条件でピッキング可能な対象ワークＷＯを選択することができる。
【００４８】
また、対象ワーク選択部１９は、所要時間データを利用して対象ワークＷＯを選択する。所要時間データを利用した対象ワークＷＯの選択によれば、ピッキング動作においてピッキングに要する時間を優先させる制御を行うことができる。
【００４９】
また、対象ワーク選択部１９は、干渉確認部２１における判断結果に利用して対象ワークＷＯを選択する。干渉確認部２１の判断結果を利用した対象ワークＷＯの選択によれば、ロボットＲと候補ワークＷＣとの間を補間する軌跡上に障害物が存在する場合には、当該軌跡に沿ったピッキングは不可能であると判断することができる。従って、ロボットＲと候補ワークＷＣとの間に障害物が存在するか否かを加味して、ピッキング可能な対象ワークＷＯを選択することができる。
【００５０】
また、対象ワーク選択部１９は、ピッキングしやすさの指標値を利用して対象ワークＷＯを選択する。ピッキングしやすさの指標値を利用した選択によれば、ピッキングを確実に行うことを優先させた制御を行うことができる。
【００５１】
また、対象ワーク選択部１９は、第１及び第２重み付け係数α，βを利用して対象ワークＷＯを選択する。第１及び第２重み付け係数α，βを利用した選択によれば、ピッキング動作において、所要時間及びピッキング動作の確実さの優先度合いを調整できるので、作業目的に応じたきめ細かい制御を行うことができる。
【００５２】
また、所要時間データ生成部１７は、軌跡データを利用して所要時間データを生成する。所要時間データの生成において軌跡データを用いることにより、ロボットＲの作業状態に応じた精度の高い所要時間データを生成することができる。
【００５３】
以上、本発明の好適な実施形態について説明したが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。例えば、画像取得装置６はロボットＲのアーム８の先端に取り付けられている必要はなく、第１ストッカ２のワークＷが撮影可能な任意の位置に配置してもよい。
【００５４】
また、上記実施形態では、１つの候補ワークＷＣについて工程Ｓ４〜工程Ｓ１０を連続的に実施したが、この処理方法に限定されることはない。例えば、１つの候補ワークＷＣについて干渉の確認（工程Ｓ８）と動作可否の確認（工程Ｓ９）を実施し、それら確認結果が良好である候補ワークＷＣについてのみ評価値を算出するものであってもよい。
【００５５】
また、上記実施形態において、候補ワークＷＣを選択する方法、軌跡を算出する方法、所要時間を算出する方法、干渉の有無を確認する方法、可動範囲における動作可否を確認する方法及び評価値の定義は一例であり、本実施形態に記載の方法に限定されるものではない。
【００５６】
また、上述したロボットピッキングシステム１を用いて所望の製品（被加工物）を製造してもよい。
【符号の説明】
【００５７】
１…ロボットピッキングシステム、２…第１ストッカ、３…第２ストッカ、４…制御装置、６…画像取得装置、８…アーム、９…センサ、１３…候補データ生成部、１４…姿勢データ生成部、１６…軌跡データ生成部、１７…所要時間データ生成部、１８…形状データ生成部、１９…対象ワーク選択部、２１…干渉確認部、２２…可動範囲確認部、２３…指標取得部、２４…評価値算出、２６…選択部、Ｌ１，Ｌ２…軌跡、Ｊ１〜Ｊ７…回転関節、Ｒ…ロボット、Ｗ…ワーク、ＷＣ…候補ワーク、ＷＯ…対象ワーク、α…第１重み係数、β…第２重み係数。
【図１】
2014180704.tif 000003
【図２】
2014180704.tif 000004
【図３】
2014180704.tif 000005
【図４】
2014180704.tif 000006
【図５】
2014180704.tif 000007
【図６】
2014180704.tif 000008
【図７】
2014180704.tif 000009
【図８】
2014180704.tif 000010