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