(57)【要約】【課題】陳列台に配置された複数のワークを効率よく再陳列することができるマニピュレータ制御装置、方法、及びプログラムを提供する。【解決手段】マニピュレータ制御装置１０は、複数のワークが陳列された陳列台のワークを再陳列すべき陳列場所におけるワークの状況を判定する判定部３０と、判定部３０で陳列場所に複数のワークが存在していると判定された場合は、陳列場所に１つのワークが残存するまで、陳列場所に存在するワークを１つずつ仮置きエリアに移動させた後、残存した１つのワークを、仮置きエリアに移動することなく、陳列場所に再陳列し、判定部３０で陳列場所に１つのワークが存在していると判定された場合は、存在している１つのワークを、仮置きエリアに移動することなく、陳列場所に再陳列するように、ワークを保持するマニピュレータを制御する制御部３２と、を備える。【選択図】図４
2020011309.tif 000002
【特許請求の範囲】
【請求項１】
複数のワークが陳列された陳列台のワークを再陳列すべき陳列場所におけるワークの状況を判定する判定部と、
前記判定部で前記陳列場所に複数のワークが存在していると判定された場合は、前記陳列場所に１つのワークが残存するまで、前記陳列場所に存在するワークを１つずつ仮置きエリアに移動させた後、残存した１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列し、前記判定部で前記陳列場所に１つのワークが存在していると判定された場合は、存在している１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列するように、前記ワークを保持するマニピュレータを制御する制御部と、
を備えたマニピュレータ制御装置。
【請求項２】
前記制御部は、前記判定部で前記陳列場所に１つのワークも存在していないと判定された場合は、前記陳列場所以外に存在するワークを、前記陳列場所に再陳列するように前記マニピュレータを制御する
請求項１記載のマニピュレータ制御装置。
【請求項３】
前記制御部は、前記陳列場所以外に存在するワークのうち、前記仮置きエリアに存在するワークを優先的に前記陳列場所に再陳列するように前記マニピュレータを制御する
請求項２記載のマニピュレータ制御装置。
【請求項４】
前記仮置きエリアを、前記陳列台の空きエリア、または前記陳列台とは別の仮置き台に設けた
請求項１〜３の何れか１項に記載のマニピュレータ制御装置。
【請求項５】
コンピュータが、
複数のワークが陳列された陳列台のワークを再陳列すべき陳列場所におけるワークの状況を判定する判定工程と、
前記判定工程で前記陳列場所に複数のワークが存在していると判定された場合は、前記陳列場所に１つのワークが残存するまで、前記陳列場所に存在するワークを１つずつ仮置きエリアに移動させた後、残存した１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列し、前記判定工程で前記陳列場所に１つのワークが存在していると判定された場合は、存在している１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列するように、前記ワークを保持するマニピュレータを制御する制御工程と、
を含む処理を実行するマニピュレータ制御方法。
【請求項６】
コンピュータを、
複数のワークが陳列された陳列台のワークを再陳列すべき陳列場所におけるワークの状況を判定する判定部、及び、
前記判定部で前記陳列場所に複数のワークが存在していると判定された場合は、前記陳列場所に１つのワークが残存するまで、前記陳列場所に存在するワークを１つずつ仮置きエリアに移動させた後、残存した１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列し、前記判定部で前記陳列場所に１つのワークが存在していると判定された場合は、存在している１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列するように、前記ワークを保持するマニピュレータを制御する制御部、
として機能させるためのマニピュレータ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マニピュレータ制御装置、マニピュレータ制御方法、及びマニピュレータ制御プログラムに関する。
【背景技術】
【０００２】
従来、バラ積み状態で部品供給部に乱雑に配置された部品を、仮置き台を経由して部品供給部と異なる整列パレットに整列させる技術が提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２４５６０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１記載の技術を、陳列台に配置された複数のワークを再陳列する技術に適用した場合、仮置き台を経由させる必要が無い場合でも全てのワークを一度仮置き台に移動させることになるため効率が悪い、という問題があった。
【０００５】
本発明は、上記の点に鑑みてなされたものであり、陳列台に配置された複数のワークを効率よく再陳列することができるマニピュレータ制御装置、マニピュレータ制御方法、及びマニピュレータ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るマニピュレータ制御装置は、複数のワークが陳列された陳列台のワークを再陳列すべき陳列場所におけるワークの状況を判定する判定部と、前記判定部で前記陳列場所に複数のワークが存在していると判定された場合は、前記陳列場所に１つのワークが残存するまで、前記陳列場所に存在するワークを１つずつ仮置きエリアに移動させた後、残存した１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列し、前記判定部で前記陳列場所に１つのワークが存在していると判定された場合は、存在している１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列するように、前記ワークを保持するマニピュレータを制御する制御部と、を備える。
【０００７】
なお、前記制御部は、前記判定部で前記陳列場所に１つのワークも存在していないと判定された場合は、前記陳列場所以外に存在するワークを、前記陳列場所に再陳列するように前記マニピュレータを制御するようにしてもよい。
【０００８】
また、前記制御部は、前記陳列場所以外に存在するワークのうち、前記仮置きエリアに存在するワークを優先的に前記陳列場所に再陳列するように前記マニピュレータを制御するようにしてもよい。
【０００９】
また、前記仮置きエリアを、前記陳列台の空きエリア、または前記陳列台とは別の仮置き台に設けた構成としてもよい。
【００１０】
本発明に係るマニピュレータ制御方法は、コンピュータが、複数のワークが陳列された陳列台のワークを再陳列すべき陳列場所におけるワークの状況を判定する判定工程と、前記判定工程で前記陳列場所に複数のワークが存在していると判定された場合は、前記陳列場所に１つのワークが残存するまで、前記陳列場所に存在するワークを１つずつ仮置きエリアに移動させた後、残存した１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列し、前記判定工程で前記陳列場所に１つのワークが存在していると判定された場合は、存在している１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列するように、前記ワークを保持するマニピュレータを制御する制御工程と、を含む処理を実行する。
【００１１】
本発明に係るマニピュレータ制御プログラムは、コンピュータを、複数のワークが陳列された陳列台のワークを再陳列すべき陳列場所におけるワークの状況を判定する判定部、及び、前記判定部で前記陳列場所に複数のワークが存在していると判定された場合は、前記陳列場所に１つのワークが残存するまで、前記陳列場所に存在するワークを１つずつ仮置きエリアに移動させた後、残存した１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列し、前記判定部で前記陳列場所に１つのワークが存在していると判定された場合は、存在している１つのワークを、前記仮置きエリアに移動することなく、前記陳列場所に再陳列するように、前記ワークを保持するマニピュレータを制御する制御部、として機能させるためのプログラムである。
【発明の効果】
【００１２】
本発明によれば、陳列台に配置された複数のワークを効率よく再陳列することができる。
【図面の簡単な説明】
【００１３】
【図１】ピックアンドプレース装置の概略構成図である。
【図２】垂直多関節ロボットの一例を示す斜視図である。
【図３】マニピュレータ制御装置のハードウェア構成の例を示す構成図である。
【図４】マニピュレータ制御装置の機能構成の例を示すブロック図である。
【図５】マニピュレータ制御処理のフローチャートである。
【図６Ａ】ワークの再陳列の順序について説明するための図である。
【図６Ｂ】ワークの再陳列の順序について説明するための図である。
【図６Ｃ】ワークの再陳列の順序について説明するための図である。
【図７Ａ】ワークの再陳列の順序について説明するための図である。
【図７Ｂ】ワークの再陳列の順序について説明するための図である。
【図７Ｃ】ワークの再陳列の順序について説明するための図である。
【図８Ａ】ワークの再陳列の順序について説明するための図である。
【図８Ｂ】ワークの再陳列の順序について説明するための図である。
【図８Ｃ】ワークの再陳列の順序について説明するための図である。
【図８Ｄ】ワークの再陳列の順序について説明するための図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。
【００１５】
図１は、本実施形態に係るピックアンドプレース装置１の構成図である。図１に示すように、ピックアンドプレース装置１は、移動型マニピュレータＭＰ、画像センサＳＡ、ＳＢ、及びマニピュレータ制御装置１０を備える。
【００１６】
移動型マニピュレータＭＰは、移動体Ｍに、マニピュレータの一例としてのロボットＲＢが取り付けられた構成である。移動体Ｍは、図示しないモータの駆動力によって回転する４つの車輪Ｒを備え、マニピュレータ制御装置１０の指示によりフロア内を移動する。
【００１７】
ロボットＲＢは、台２０上に設けられた箱２２に収容された図示しないワークを保持して棚２４まで搬送し、陳列台の一例としての棚２４内に載置する。
【００１８】
本実施形態では、一例としてロボットＲＢのロボットアームの先端にはエンドエフェクタとしてロボットハンドＨが取り付けられており、ロボットハンドＨで箱２２内のワークを把持することによってワークを保持した状態となる。そして、ワークを保持した状態で棚２４まで搬送し、ワークの保持を解除してワークを載置する。なお、ワークを保持する部材は、ロボットハンドＨに限らず、ワークを吸着する吸着パッドでもよい。
【００１９】
箱２２の上方には画像センサＳＡが設置されている。画像センサＳＡは、箱２２内に収容されたワークの集合であるワーク集合を静止画として撮影する。
【００２０】
また、棚２４を撮影可能な位置には画像センサＳＢが設置されている。画像センサＳＢは、棚２４に陳列されたワークを静止画として撮影する。
【００２１】
マニピュレータ制御装置１０は、ロボットＲＢの任意の初期姿勢から目標姿勢までの経路を生成する。ここで、経路とは、ロボットＲＢを初期姿勢から目標姿勢まで動作させる場合の姿勢のリストである。具体的には、マニピュレータ制御装置１０は、画像センサＳＡから取得した撮影画像を画像処理し、画像処理の結果に基づいて保持すべきワークの位置及び姿勢を認識する。そして、マニピュレータ制御装置１０は、箱２２内のワークを撮影するためにロボットＲＢが画像センサＳＡの視野範囲外の退避位置に退避した退避姿勢を初期姿勢とし、ロボットＲＢが箱２２内のワークを保持する保持姿勢を目標姿勢とする第１の経路と、ロボットＲＢが箱２２内のワークを保持した保持姿勢を初期姿勢とし、ロボットＲＢがワークを棚２４に載置する載置姿勢を目標姿勢とする第２の経路と、ロボットＲＢがワークを棚２４に載置した載置姿勢を初期姿勢とし、箱２２内のワークを撮影するためにロボットＲＢが画像センサＳＡの視野範囲外の退避位置に退避した退避姿勢を目標姿勢とする第３の経路と、を生成する。なお、画像センサＳＢで撮影された撮影画像に基づいてワークを載置すべき位置を認識するようにしてもよい。そして、マニピュレータ制御装置１０は、生成した経路に従ってロボットＲＢが動作するように動作指令値をロボットＲＢに出力する。
【００２２】
また、マニピュレータ制御装置１０は、詳細は後述するが、棚２４に陳列されたワークを再陳列するようにロボットＲＢを制御する。なお、マニピュレータ制御装置１０は、ワークを再陳列する際に、図１に示すように、仮置きエリアの一例としての仮置き台２６に、必要に応じてワークを仮置きする。なお、仮置き台２６は、少なくとも１つ以上のワークを載置可能な面積を有する。
【００２３】
次に、ロボットＲＢについて説明する。本実施形態では、一例としてロボットＲＢが垂直多関節ロボットである場合について説明するが、水平多関節ロボット（スカラーロボット）及びパラレルリンクロボット等にも本発明を適用可能である。
【００２４】
図２は、垂直多関節ロボットであるロボットＲＢの構成を示す図である。図２に示すように、ロボットＲＢは、ベースリンクＢＬ、リンクＬ１〜Ｌ６、ジョイントＪ１〜Ｊ６を備えた６自由度の６軸ロボットである。なお、ジョイントとは、リンク同士を接続する関節である。また、以下では、リンクＬ１〜Ｌ６及びリンクＬ６に接続されたロボットハンドＨを含めてロボットアームと称する。
【００２５】
ベースリンクＢＬとリンクＬ１とは、図２において鉛直軸Ｓ１を中心として矢印Ｃ１方向に回転するジョイントＪ１を介して接続されている。従って、リンクＬ１は、ベースリンクＢＬを支点として矢印Ｃ１方向に回転する。
【００２６】
リンクＬ１とリンクＬ２とは、図２において水平軸Ｓ２を中心として矢印Ｃ２方向に回転するジョイントＪ２を介して接続されている。従って、リンクＬ２は、リンクＬ１を支点として矢印Ｃ２方向に回転する。
【００２７】
リンクＬ２とリンクＬ３とは、図２において軸Ｓ３を中心として矢印Ｃ３方向に回転するジョイントＪ３を介して接続されている。従って、リンクＬ３は、リンクＬ２を支点として矢印Ｃ３方向に回転する。
【００２８】
リンクＬ３とリンクＬ４とは、図２において軸Ｓ４を中心として矢印Ｃ４方向に回転するジョイントＪ４を介して接続されている。従って、リンクＬ４は、リンクＬ３を支点として矢印Ｃ４方向に回転する。
【００２９】
リンクＬ４とリンクＬ５とは、図２において軸Ｓ５を中心として矢印Ｃ５方向に回転するジョイントＪ５を介して接続されている。従って、リンクＬ５は、リンクＬ４を支点として矢印Ｃ５方向に回転する。
【００３０】
リンクＬ５とリンクＬ６とは、図２において軸Ｓ６を中心として矢印Ｃ６方向に回転するジョイントＪ６を介して接続されている。従って、リンクＬ６は、リンクＬ５を支点として矢印Ｃ６方向に回転する。なお、図２では図示は省略したが、リンクＬ６にロボットハンドＨが取り付けられる。
【００３１】
ジョイントＪ１〜Ｊ６は、予め定めた回転角度の範囲が可動域として各々設定されている。
【００３２】
ロボットＲＢの姿勢は、ジョイントＪ１〜Ｊ６の各々の回転角度によって定まる。従って、ロボットＲＢを動作させるための動作指令値は、ロボットＲＢが取るべき姿勢に対応したジョイントＪ１〜Ｊ６の各々の回転角度である。
【００３３】
図３は、本実施形態に係るマニピュレータ制御装置１０のハードウェア構成を示すブロック図である。
【００３４】
図３に示すように、マニピュレータ制御装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ストレージ１４、入力部１５、モニタ１６、光ディスク駆動装置１７、及び通信インタフェース１８を有する。各構成は、バス１９を介して相互に通信可能に接続されている。
【００３５】
本実施形態では、ＲＯＭ１２又はストレージ１４には、マニピュレータ制御処理を実行するマニピュレータ制御プログラムが格納されている。ＣＰＵ１１は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、ＣＰＵ１１は、ＲＯＭ１２又はストレージ１４からプログラムを読み出し、ＲＡＭ１３を作業領域としてプログラムを実行する。ＣＰＵ１１は、ＲＯＭ１２又はストレージ１４に記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【００３６】
ＲＯＭ１２は、各種プログラム及び各種データを格納する。ＲＡＭ１３は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ１４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【００３７】
入力部１５は、キーボード１５１、及びマウス１５２等のポインティングデバイスを含み、各種の入力を行うために使用される。モニタ１６は、例えば、液晶ディスプレイであり、各種の情報を表示する。モニタ１６は、タッチパネル方式を採用して、入力部１５として機能してもよい。光ディスク駆動装置１７は、各種の記録媒体(ＣＤ−ＲＯＭ又はブルーレイディスクなど)に記憶されたデータの読み込みや、記録媒体に対するデータの書き込み等を行う。
【００３８】
通信インタフェース１８は、ロボットＲＢ及び画像センサＳＡ、ＳＢ、移動体Ｍ等の他の機器と通信するためのインタフェースであり、例えば、イーサネット（登録商標）、ＦＤＤＩ、Ｗｉ−Ｆｉ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、及びＩＥＥＥ１３９４等の規格が用いられる。
【００３９】
次に、マニピュレータ制御装置１０の機能構成について説明する。
【００４０】
図４は、マニピュレータ制御装置１０の機能構成の例を示すブロック図である。図４に示すように、マニピュレータ制御装置１０は、機能構成として、判定部３０、制御部３２、及び記憶部３４を有する。各機能構成は、ＣＰＵ１１がＲＯＭ１２又はストレージ１４に記憶されたマニピュレータ制御プログラムを読み出し、ＲＡＭ１３に展開して実行することにより実現される。
【００４１】
判定部３０は、複数のワークが陳列された棚２４のワークを再陳列すべき陳列場所におけるワークの状況を判定する。ここで、再陳列すべき陳列場所におけるワークの状況とは、例えば再陳列すべき陳列場所に存在するワークの数である。また、陳列場所とは、１つのワークを再陳列可能な面積を有する領域であり、例えばワークの平面形状と略同一の形状を有する領域である。
【００４２】
制御部３２は、判定部３０で陳列場所に複数のワークが存在していると判定された場合は、陳列場所に１つのワークが残存するまで、陳列場所に存在するワークを１つずつ仮置き台２６に移動させた後、残存した１つのワークを、仮置き台２６に移動することなく、陳列場所に再陳列する。
【００４３】
また、判定部３０で陳列場所に１つのワークが存在していると判定された場合は、存在している１つのワークを、仮置き台２６に移動することなく、陳列場所に再陳列するようにロボットＲＢを制御する。
【００４４】
記憶部３４は、マニピュレータ制御プログラム等の各種情報を記憶する。
【００４５】
次に、マニピュレータ制御装置１０の作用について説明する。なお、以下では、説明を簡単にするため、移動体Ｍは移動せずに同じ場所に留まっているものとして説明する。
【００４６】
図５は、マニピュレータ制御装置１０のＣＰＵ１１により実行されるマニピュレータ制御処理の流れを示すフローチャートである。なお、以下では、既にロボットＲＢが箱２２内のワークを全て棚２４に陳列した状態から、棚２４に陳列された複数のワークを再陳列する場合について説明する。
【００４７】
オペレータによりマニピュレータ制御処理の実行が指示されると、ＣＰＵ１１がＲＯＭ１２又はストレージ１４からマニピュレータ制御プログラムを読み出して、ＲＡＭ１３に展開し実行することにより、マニピュレータ制御処理が実行される。
【００４８】
ＣＰＵ１１は、制御部３２として、画像センサＳＢに撮影を指示し、画像センサＳＢが撮影した撮影画像を取得する（ステップＳ１００）。
【００４９】
ＣＰＵ１１は、判定部３０として、撮影画像に基づいて、ワークを再陳列すべき陳列場所におけるワークの状況として、陳列場所が空いているか否か、すなわち、陳列場所に１つのワークも存在していない状況であるか否かを判定する（ステップＳ１０２）。ここで、陳列場所にワークの少なくとも一部が存在している場合は、陳列場所にワークが存在しているものとする。
【００５０】
なお、陳列場所については、以下のように選択できる。例えば棚２４に設けられた複数の陳列場所を予めティーチングしておき、ティーチングした複数の陳列場所の位置情報及び複数の陳列場所にワークを再陳列する陳列順序を記憶部３４に記憶しておく。そして、陳列順序に従って陳列場所を選択する。また、例えば陳列順序を表す数字等の識別符号を棚２４に予め設けておき、画像センサＳＢで識別符号を撮影するようにしてもよい。この場合、画像センサＳＢで撮影した撮影画像に基づいて陳列順序を識別し、識別した陳列順序に従って陳列場所を選択するようにしてもよい。
【００５１】
上記のようにして選択した陳列場所が空いている場合（ステップＳ１０２：ＹＥＳ）、陳列場所に再陳列するワークを１つ選択する（ステップＳ１０４）。
【００５２】
再陳列するワークを選択する際には、例えば以下のような優先順位でワークを選択する。例えば仮置き台２６にワークが存在する場合は、仮置き台２６に存在するワークを優先的に選択する。このように、仮置き台２６に存在するワークを優先的に選択することにより、仮置き台２６のサイズを小さくすることができる。
【００５３】
また、仮置き台２６にワークが存在しない場合には、棚２４の陳列場所以外に存在する未陳列のワークから選択する。具体的には、例えば未陳列のワークのうち陳列場所に最も近い位置に存在するワークを選択する。例えば、陳列順序が棚２４の右端から左端に向かうように設定されていた場合は、未陳列のワークのうち最も右側に存在するワークを選択する。また、最も取り出しやすいワーク、例えば棚２４の最も手前に存在するワークを選択するようにしてもよい。更に、ワークの種類が複数存在する場合には、ワークの種類毎に優先順位を設定するようにしてもよい。
【００５４】
ＣＰＵ１１は、制御部３２として、ステップＳ１０４で選択したワークを、仮置き台２６に移動させることなく、陳列場所へ再陳列する（ステップＳ１０６）。具体的には、ＣＰＵ１１は、ロボットＲＢが、ステップＳ１０４で選択したワークを保持して陳列場所に再陳列するまでの経路を生成する。経路の生成は、公知の経路計画法を用いることができる。そして、ＣＰＵ１１は、生成した経路に基づいてロボットＲＢの動作指令値を生成し、ロボットＲＢに送信する。これにより、生成された経路に従ってロボットＲＢが移動する。すなわち、ロボットＲＢが、ステップ１０４で選択したワークを保持して陳列場所に再陳列する。
【００５５】
一方、陳列場所が空いていない場合（ステップＳ１０２：ＮＯ）、すなわち陳列場所にワークが存在する場合、ＣＰＵ１１は、判定部３０として、ステップＳ１００で撮影した撮影画像に基づいて、陳列場所に複数のワークが存在するか否かを判定する（ステップＳ１０８）。陳列場所に複数のワークが存在するか否かの判定は、例えばテンプレートマッチング等の公知の手法を用いて判定することができる。
【００５６】
そして、陳列場所に複数のワークが存在する場合（ステップＳ１０８：ＹＥＳ）、ＣＰＵ１１は、制御部３２として、陳列場所に存在する複数のワークのうち１つのワークを仮置き台２６へ移動させるようにロボットＲＢを制御する（ステップＳ１１０）。具体的には、陳列場所に存在する複数のワークから選択したワークを保持して仮置き台２６へ載置するまでのロボットＲＢの経路を生成する。そして、生成した経路に基づいてロボットＲＢの動作指令値を生成し、ロボットＲＢに送信する。これにより、ロボットＲＢが、陳列場所に存在する複数のワークから選択したワークを保持して仮置き台２６へ載置する。なお、陳列場所に存在する複数のワークから１つのワークを選択する基準としては、例えば仮置き台２６に最も近い位置のワークを選択する等が挙げられるが、これに限られるものではない。
【００５７】
一方、陳列場所に複数のワークが存在しない場合（ステップＳ１０８：ＮＯ）、すなわち陳列場所に１つのワークが存在している場合、ＣＰＵ１１は、制御部３２として、陳列場所に存在している１つのワークを、仮置き台２６に仮置きすることなく陳列場所に再陳列するようロボットＲＢを制御する（ステップＳ１１２）。具体的には、陳列場所に存在する１つのワークを保持して陳列場所に再陳列するまでのロボットＲＢの経路を生成する。そして、生成した経路に基づいてロボットＲＢの動作指令値を生成し、ロボットＲＢに送信する。これにより、ロボットＲＢが、陳列場所に存在する１つのワークを保持して陳列場所に再陳列する。
【００５８】
ＣＰＵ１１は、制御部３２として、棚２４に載置された全てのワークを再陳列したか否かを判定する（ステップＳ１１４）。具体的には、例えば本ルーチンを実行する前に既に棚２４に載置されていたワークの数と、本ルーチンを実行してワークを再陳列した回数とを比較し、両者が一致した場合に全てのワークを再陳列したと判定する。または、画像センサＳＢから撮影画像を取得し、取得した撮影画像に基づいて、パターンマッチング等の画像処理により全てのワークが整列されているか否かを判定してもよい。
【００５９】
全てのワークを再陳列したと判定された場合（ステップＳ１１４：ＹＥＳ）、本ルーチンを終了する。一方、全てのワークを再陳列していないと判定された場合（ステップＳ１１４：ＮＯ）、すなわち、再陳列していないワークが存在する場合には、ステップＳ１００へ戻ってステップＳ１００〜Ｓ１１４の処理を繰り返す。
【００６０】
次に、ワークの再陳列の具体例について説明する。
【００６１】
例えば図６Ａに示すように、陳列場所Ｐ１が空いている場合は、未陳列のワークＷ１、Ｗ２のうち、例えば陳列場所Ｐ１に最も近いワークＷ１を選択する。そして、選択したワークＷ１を、図６Ｂに示すように、陳列場所Ｐ１に再陳列する。次に、図６Ｃに示すように、次の陳列場所Ｐ２に、未陳列のワークＷ２を再陳列する。
【００６２】
また、例えば図７Ａに示すように、陳列場所Ｐ１に１つのワークＷ１が存在する場合には、図７Ｂに示すように、ワークＷ１を仮置き台２６に仮置きせずに陳列場所Ｐ１に再陳列する。次に、図７Ｃに示すように、次の陳列場所Ｐ２に、再陳列されていない未陳列のワークＷ２を再陳列する。
【００６３】
また、例えば図８Ａに示すように、陳列場所Ｐ１に複数のワークＷ１、Ｗ２が載置されている場合は、図８Ｂに示すように、例えばワークＷ１を選択して仮置き台２６に移動させる。次に、陳列場所Ｐ１にはワークＷ２が残っているので、図８Ｃに示すように、ワークＷ２を仮置き台２６に移動することなく、陳列場所Ｐ１に再陳列する。次に、図８Ｄに示すように、次の陳列場所Ｐ２に、仮置き台２６に仮置きされたワークＷ１を再陳列する。
【００６４】
このように、本実施形態では、陳列場所にワークが存在しない場合及び陳列場所に１つのワークが存在する場合は、ワークを仮置き台２６に仮置きすることなく陳列場所に再陳列する。すなわち、陳列場所に複数のワークが存在している場合のみ、仮置き台２６にワークを仮置きする。このため、全てのワークを仮置き台２６に仮置きしてから再陳列する場合と比較して、複数のワークを効率よく再陳列することができる。
【００６５】
マニピュレータ制御装置１０は、上記の実施形態に限定されず、種々の改変が可能である。例えば、本実施形態では、画像センサＳＢで撮影した撮影画像に基づいてワークの状況を判定する場合について説明したが、レーザレンジファインダを用いてワークの状況を判定するようにしてもよい。
【００６６】
また、本実施形態では、仮置きエリアとして棚２４とは別の仮置き台２６を設けた場合について説明したが、棚２４の空きエリアを仮置きエリアとしてもよい。
【００６７】
また、ワークの種類が複数存在する場合は、ワークの形状、色、及びワークに設けたバーコード等の少なくとも１つを識別することでワークの種類を識別し、識別したワークの種類毎に再陳列するようにしてもよい。
【００６８】
なお、上記各実施形態でＣＰＵがソフトウェア（プログラム）を読み込んで実行したマニピュレータ制御処理を、ＣＰＵ以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の製造後に回路構成を変更可能なＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、及びＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、マニピュレータ制御処理を、これらの各種のプロセッサのうちの１つで実行してもよいし、同種又は異種の２つ以上のプロセッサの組み合わせ（例えば、複数のＦＰＧＡ、及びＣＰＵとＦＰＧＡとの組み合わせ等）で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【００６９】
また、上記各実施形態では、マニピュレータ制御プログラムがストレージ１４又はＲＯＭ１２に予め記憶（インストール）されている態様を説明したが、これに限定されない。プログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、及びＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【００７０】
１     ピックアンドプレース装置
１０   マニピュレータ制御装置
２２   箱
２４   棚
２６   仮置き台
３０   判定部
３２   制御部
３４   記憶部
【図１】
2020011309.tif 000003
【図２】
2020011309.tif 000004
【図３】
2020011309.tif 000005
【図４】
2020011309.tif 000006
【図５】
2020011309.tif 000007
【図６Ａ】
2020011309.tif 000008
【図６Ｂ】
2020011309.tif 000009
【図６Ｃ】
2020011309.tif 000010
【図７Ａ】
2020011309.tif 000011
【図７Ｂ】
2020011309.tif 000012
【図７Ｃ】
2020011309.tif 000013
【図８Ａ】
2020011309.tif 000014
【図８Ｂ】
2020011309.tif 000015
【図８Ｃ】
2020011309.tif 000016
【図８Ｄ】
2020011309.tif 000017