(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023149876
(43)【公開日】2023-10-16
(54)【発明の名称】ピッキングロボットシステムおよびプログラム
(51)【国際特許分類】
B25J 13/08 20060101AFI20231005BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022058668
(22)【出願日】2022-03-31
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】廣田 幸起
(72)【発明者】
【氏名】山内 雄太
(72)【発明者】
【氏名】高橋 英男
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707BS12
3C707DS01
3C707DS03
3C707ES03
3C707FS01
3C707FT02
3C707HS27
3C707KS03
3C707KS04
3C707KT01
3C707KT06
3C707LS15
3C707LV14
(57)【要約】
【課題】
ピッキングロボットシステムにおけるカメラ移動のためのモータートルクを抑制することを課題とする。
【解決手段】
ピッキング対象である物品220を取り出すために稼働する稼働装置10と、物品220を撮影するカメラ150と、カメラ150を水平移動させるカメラ駆動装置140と、稼働装置10、カメラ150およびカメラ駆動装置140を制御する制御装置110と、カメラ駆動装置140に従って水平移動されたカメラ150で撮影された撮影データを用いて、物品220を認識する認識部302と、認識部302での認識結果に応じて、制御装置110の制御を実行するための動作計画を策定する動作計画部13を備える認識・計画装置120を有し、動作計画に基づく制御装置110の制御に従って、カメラ駆動装置140がカメラ150を水平移動させるピッキングロボットシステム1である。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ピッキング対象を取り出すために稼働する稼働装置と、
前記ピッキング対象を撮影するカメラと、
前記カメラを水平移動させるカメラ駆動装置と、
前記稼働装置、前記カメラおよび前記カメラ駆動装置を制御する制御装置と、
前記カメラ駆動装置に従って水平移動された前記カメラで撮影された撮影データを用いて、前記ピッキング対象を認識する認識部と、前記認識部での認識結果に応じて、前記制御装置の制御を実行するための動作計画を策定する動作計画部を備える認識・計画装置を有し、
前記動作計画に基づく前記制御装置の制御に従って、前記カメラ駆動装置が前記カメラを水平移動させるピッキングロボットシステム。
【請求項2】
請求項1に記載のピッキングロボットシステムにおいて、
前記動作計画部は、前記カメラの水平移動における制約に満たす前記動作計画を策定するピッキングロボットシステム。
【請求項3】
請求項2に記載のピッキングロボットシステムにおいて、
前記動作計画部は、前記カメラの水平移動と前記稼働装置の稼働の干渉を避ける前記動作計画を策定するピッキングロボットシステム。
【請求項4】
請求項1に記載のピッキングロボットシステムにおいて、
前記動作計画部は、前記カメラ駆動装置と前記稼働装置を並行動作させる前記動作計画を作成するピッキングロボットシステム。
【請求項5】
請求項1に記載のピッキングロボットシステムにおいて、
前記認識部は、
前記動作計画に応じて水平移動された前記カメラでの撮影データについての認識精度を特定し、
特定された前記認識精度が所定条件を満たすか判定し、
判定された結果を、前記制御装置に通知し、
前記カメラ駆動装置は、前記制御装置からの制御に応じて、前記認識精度を向上するように前記カメラを前記カメラの位置を調整するピッキングロボットシステム。
【請求項6】
請求項5に記載のピッキングロボットシステムにおいて、
前記カメラ駆動装置は、前記制御装置からの制御に応じて、前記カメラを前記水平移動以外に移動させるピッキングロボットシステム。
【請求項7】
請求項1に記載のピッキングロボットシステムにおいて、
前記ピッキング対象は、複数の場所に配置され、
前記カメラ駆動装置は、前記カメラを前記複数の場所のぞれぞれの近傍に移動させることで、前記稼働装置による前記ピッキング対象の取り出しを実現するピッキングロボットシステム。
【請求項8】
請求項1乃至7の何れかに記載のピッキングロボットシステムにおける前記認識・計画装置を、コンピュータとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、所定位置に収納された物品を取り出して、所定の設置先に設置するピッキング作業を実行するピッキングロボットに関する。
【背景技術】
【0002】
近年、工場や物流倉庫などでのピッキング作業を自動化するピッキングロボットシステムが用いられている。ピッキングロボットは、物品で代表されるピッキング対象をカメラで認識し、ピッキングのためにロボットの動作の計画を策定する。ここで、ピッキングを適切に実現する計画を策定するためには、ピッキング対象を高精度で認識することが求められる。
【0003】
しかし、高精度に認識するにはカメラをピッキング対象に近づける必要がある。このように、カメラがピッキング対象の近傍に配置されるとロボットと干渉する恐れがある。この課題を解決するために、特許文献1および2が提案されている。特許文献1には、「それぞれの開口部を同一面に配置した複数の収容部と、各収容部内の物品を撮影するカメラを同一面に沿って移動させるカメラ移動機構と、カメラ移動機構を間に挟んで複数の収容部の反対側に設けたロボットアームと、制御部と、を有する。制御部は、取り出し対象の物品を収容した収容部の開口部に対向する位置にカメラを移動させて当該物品を撮影し、当該物品を取り出すためのロボットアームの動作経路から外れた位置にカメラを移動させるようにカメラ移動機構を動作させ、撮影した画像に基づいて当該収容部内の当該物品を取り出すようにロボットアームを動作させる」物品移動装置が記載されている。また、特許文献2には、「第1撮像部を移動させて周辺機器等に干渉しない箇所で第1対応付けをすることができる制御装置、かかる制御装置により制御されているロボット、および、かかる制御装置とロボットとを備えるロボットシステム」が記載されている。
【0004】
以上のように、特許文献1および2には、カメラを移動し、ロボットがカメラや周辺機器と干渉することを避ける方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2018-89721号公報
【特許文献2】特開2018-94648号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1や2のようにカメラを移動させると、モーターといった原動機において大きなトルクが必要になるとの課題が生じる。特許文献1では、重力に逆らう方向にカメラを移動させるため、より大きなモータートルクが必要となる。また、特許文献2では、様々な方向それぞれに駆動する機構が必要で、駆動対象が重くなる。このため、特許文献2でもより大きなモータートルクが必要となる。
【0007】
以上のように、本発明では、ピッキングロボットシステムにおけるカメラ移動のためのモータートルクを抑制することを課題とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本発明では、ピックアップロボットシステムにおけるロボットといった可動装置とは別構成で、カメラを水平方向に移動させる。
【0009】
より具体的な本発明の構成は、ピッキング対象を取り出すために稼働する稼働装置と、前記ピッキング対象を撮影するカメラと、前記カメラを水平移動させるカメラ駆動装置と、前記稼働装置、前記カメラおよび前記カメラ駆動装置を制御する制御装置と、前記カメラ駆動装置に従って水平移動された前記カメラで撮影された撮影データを用いて、前記ピッキング対象を認識する認識部と、前記認識部での認識結果に応じて、前記制御装置の制御を実行するための動作計画を策定する動作計画部を備える認識・計画装置を有し、前記動作計画に基づく前記制御装置の制御に従って、前記カメラ駆動装置が前記カメラを水平移動させるピッキングロボットシステムである。
【0010】
また、本発明には、ピッキングロボットシステムを構成する各装置やこれらを用いたピッキング方法も含まれる。さらに、認識・計画装置をコンピュータとして機能させるためのプログラムやこれを格納した媒体も含まれる。
【発明の効果】
【0011】
本発明によれば、ピッキングロボットシステムにおけるモータートルクの過剰な上昇を抑えることが可能となる。
【図面の簡単な説明】
【0012】
【
図1】本発明の一実施形態におけるピッキングロボットシステムの構成を示すシステム構成図である。
【
図2】実施例1における稼働装置、カメラおよびカメラ駆動装置の外観図である。
【
図3】実施例1におけるカメラの位置とモータートルクの関係を示すグラフである。
【
図4】実施例1におけるピッキングロボットシステムの機能ブロック図である。
【
図5】実施例1におけるピッキングロボットシステムの動作の概要を説明するための図である。
【
図6】実施例1におけるハンドが物品を保持した様子を示す図である。
【
図7】実施例1におけるピッキング作業のための制御装置や認識・計画装置での処理を示すタイミングチャートである。
【
図8】実施例1におけるタイミングチャートとピッキングロボットシステムの動作の対応関係を示す図である。
【
図9】実施例1におけるC101の詳細を示すフローチャートである。
【
図10】実施例1におけるタイミング決定処理の詳細を示すフローチャートである。
【
図11】実施例1におけるC102の詳細を示すフローチャートである。
【
図12】実施例1におけるC103の詳細を示すフローチャートである。
【
図13】実施例1におけるC104の詳細を示すフローチャートである。
【
図14】実施例2における稼働装置、カメラおよびカメラ駆動装置の外観図である。
【
図15】実施例2における物品のピッキング作業の様子を示す図である。
【
図16】実施例3における稼働装置、カメラおよびカメラ駆動装置の外観図である。
【
図17】実施例3における物品のピッキング作業の様子を示す図である。
【
図18】実施例4における稼働装置、カメラおよびカメラ駆動装置の外観図である。
【
図19】実施例4における物品のピッキング作業の様子を示す図である。
【
図20】実施例5における稼働装置、カメラおよびカメラ駆動装置の外観図である。
【
図21】実施例5における物品のピッキング作業の様子を示す図である。
【
図22】実施例6における稼働装置、カメラおよびカメラ駆動装置の外観図である。
【
図23】実施例6における物品のピッキング作業の様子を示す図である。
【
図24】実施例7における撮影位置の調整処理を示すフローチャートである。
【
図25】実施例8における認識・計画装置のハードウエア構成図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について説明する。本実施形態は、物流倉庫等でのピッキング作業として、ピッキング対象である物品220を取り出すためのピッキングロボットシステム1に関する。
図1は、本実施形態におけるピッキングロボットシステム1の構成を示すシステム構成図である。
図1に示すピッキングロボットシステム1においては、稼働装置10、制御装置110、認識・計画装置120、カメラ駆動装置140およびカメラ150の各装置が互いに接続されている。
【0014】
本実施形態では、バケット221に置かれた物品220が、稼働装置10により取り出され所定位置に移動される。このために、カメラ150での撮影データを用いた認識結果を用いて、稼働装置10が稼働して、物品220が物理的に取り出される。以下、このピッキング作業を実行するための各構成要素について説明する。
【0015】
まず、稼働装置10は、上述のとおり、物品220を物理的に移動させるために稼働する。このために、稼働装置10は、モーターを含むアクチュエーターといった駆動源となる駆動部11を有することになる。なお、駆動部11は、稼働装置10とは別構成で実現してもよい。なお、稼働装置10は、ロボット160やハンド170で実現できる。
【0016】
また、カメラ150は、バケット221に置かれた物品220やこれを含む領域を撮影する。そして、カメラ150は、撮影のために地面2(床)に対して水平方向に移動される(図中矢印の方向)。このために、カメラ150は、カメラ駆動装置140を接続される。そして、カメラ駆動装置140は、カメラ150の移動のための機構であり、カメラ150の移動における駆動源と駆動源で発生した駆動力を伝達する機能を有する。駆動源としては、アクチュエーターで実現できる。またさらに、カメラ150やカメラ駆動装置140の移動方向を制約ないし特定する機能を有することになる。このために、カメラ駆動装置140は、単軸ロボット、支柱、台座、レール、ギアなどで実現できる。本実施形態では、カメラ駆動装置140により、カメラ150が水平方向へ移動することになる。この際、カメラ駆動装置140の機能により、カメラ150を限定的に水平方向に移動させる
また、制御装置110は、駆動部11やカメラ駆動装置140を制御する。このことで、稼働装置10やカメラ150の動作が制御される。このために、制御装置110は、後述の認識・計画装置120から動作計画を受け付け、これに応じた制御信号を出力する。また、制御装置110は、PLC(Programmable Logic Controller)やコンピュータで実現できる。
【0017】
また、認識・計画装置120は、ピッキングロボットシステム1の動作を管理する機能を有する。このために、認識・計画装置120は、認識部302および動作計画部13を有する。認識部302では、カメラ150の撮影データを用いて、物品220を認識する。また、動作計画部13では、この認識結果に応じて、稼働装置10やカメラ150の稼働についての動作計画を策定する。そして、認識・計画装置120は、この動作計画を制御装置110に出力する。このことで、稼働装置10やカメラ150は、動作計画に応じた動作を行うことになる。なお、認識・計画装置120は、コンピュータで実現できる。
【0018】
なお、本実施形態では、カメラ150を水平移動させるため、動作計画部13はこの水平移動における制約を満たす動作計画を策定することになる。この制約には、干渉を防ぐことが含まれる。干渉には、カメラ150ないしカメラ駆動装置140と、ピッキングロボットシステム1を構成する各種装置やその他関連機器・設備や人との干渉が含まれる。ピッキングロボットシステム1を構成する各種装置には、稼働装置10やバケット221などが含まれる。また、関連機器・設備には、バケット221へ物品220を持ち込む機器が含まれる。
【0019】
以上のように、本実施形態のピッキングロボットシステム1は、ピッキング作業として、物品220を取り出す稼働装置10と、物品220を撮影するカメラ150と、カメラ150を水平移動させるカメラ駆動装置140と、稼働装置10、カメラおよびカメラ駆動装置140におけるピッキング作業のための動作を制御する制御装置110と、カメラ駆動装置140に従って水平移動されたカメラ150で撮影された撮影データを用いて、物品220を認識する認識部302と、認識部302での認識結果に応じて、制御装置110での制御を実行するための動作計画を策定する動作計画部13を備える認識・計画装置120を有し、策定された動作計画に基づく制御装置110の制御に従って、カメラ駆動装置140がカメラ150水平移動させるピッキングロボットシステム1である。
【0020】
また、本実施形態には、ピッキングロボットシステム1を用いたピッキング方法やこれを支援するためのピッキング作業支援方法も含まれる。ピッキング作業支援方法には、制御装置110および/または認識・計画装置120での方法が含まれる。なお、これら方法を制御装置110および/または認識・計画装置120で実行させるためのプログラムやこれを格納した記憶媒体も本発明に含まれる。さらに、制御装置110および/または認識・計画装置120も本発明の一態様である。以下、本実施形態をより具体化した各実施例について説明する。
【実施例0021】
まず、
図2は、本実施例における稼働装置10、カメラ150およびカメラ駆動装置140の外観図である。
図2において、稼働装置10が、バケット221に置かれた物品220が取り出すことになる。ここで、稼働装置10は、物品220を取り出すために動作し、ロボット160およびハンド170を有する。ロボット160は、物品220の取り出し、つまり、ピッキング作業のためにバケット221へアクセスするように動作する。このために、ロボット160は、例えば、6軸の関節を有する垂直多関節ロボットで実現できる。
【0022】
また、ハンド170は、ロボット160がアクセスしたバケット221に置かれた物品220を保持する。ハンド170は、この保持を、物品を真空吸着したり、物品220を複数方向から挟んで把持したりすることで実現できる。
【0023】
また、カメラ150は、物品220を撮影し、撮影データを取得する。このために、カメラ150は、2Dカメラや3Dカメラで実現できる。また、カメラ駆動装置140は、物品220を撮影するためにカメラ150を水平方向に移動(水平移動)させる機構である。本実施例では、カメラ150がカメラ駆動装置140に配置され、カメラ駆動装置140の動作に伴い、カメラ150が水平移動することになる。図中、カメラ駆動装置140は、破線で示す位置や実線で示す位置に移動することになる。
【0024】
つまり、カメラ駆動装置140は、図中の矢印で示される水平方向に移動される。また、この移動に伴い、カメラ150も図中の矢印で示される水平方向に移動される。この結果、カメラ150は、ロボット160が物品220やバケット221から遠い場合(図中破線の位置)は実線の位置に移動し、物品220を近距離で撮影することができる。
【0025】
以上の動作を実現するために、本実施例では、カメラ駆動装置140は、カメラ水平駆動機械141、支柱142、台座143、カメラ位置調整機械144、フレーム145および照明146を有する。カメラ水平駆動機械141は、水平方向に制限して移動する機械であり、本実施例では単軸ロボットで実現できる。図示したように、この単軸ロボットを縦に置くことで配置スペースを削減できる。なお、カメラ水平駆動機械141は、単軸ロボットでなくてもよい。また、カメラ水平駆動機械141およびカメラ位置調整機械144は、それぞれ駆動源を有する。そして、カメラ水平駆動機械141が主に水平移動を実現するための機構であり、カメラ位置調整機械144が主に実施例7の調整を実現するための機構である。
【0026】
また、支柱142や台座143は、カメラ駆動装置140を支えたり、各構成要素を接続したりするための構成である。また、カメラ位置調整機械144は、水平移動後に、カメラ150の撮影位置を調整するための機械である。本実施例では、カメラ位置調整機械144は、垂直方向の単軸ロボットで実現しているが、調整の方向は垂直方向でなくてもよいし、単軸ロボットでなくてもよい。また、カメラ位置調整機械144は、省略できる。以上のように、本実施例では、カメラ150をフレーム145にとりつけ、フレーム145をカメラ位置調整機械144で垂直方向に移動させる。このことで、撮影の際に、カメラ150と物品220との距離を調整できる。また、カメラ位置調整機械144は、台座143に設けられ、台座143は支柱142によってカメラ水平駆動機械141に接続される。
【0027】
また、フレーム145は、カメラ駆動装置140の構造体である。そして、フレーム145に減振材を付加することで、カメラ150の撮影や移動の際における振動を抑制し、カメラ150の認識精度が落ちないようにすることができる。また、照明146は、カメラ150の撮影のための照明であり、本実施例ではフレーム145に設けられる。なお、照明146は、ピッキングロボットシステム1が設けられる施設の天井、付加的に設けた支柱、その支柱で支えられたフレームなど、その設けられる場所はフレーム145に限らない。
【0028】
以上のカメラ駆動装置140は、カメラ150を水平方向に移動させることで、カメラ150とロボット160の干渉を防ぐこともできる、また、上述の構成により、その駆動源のモータートルクを抑止できる。以下、このことについて説明する。
【0029】
図3は、本実施例におけるカメラ150の位置とモータートルクの関係を示すグラフである。
図3では、カメラ駆動装置140が、カメラ150を退避位置から物品220近辺まで移動させ、物品220を撮影後、退避位置まで移動させる場合のモータートルク、カメラ移動速度の時系列を示す。また、本例では、カメラ駆動装置140は駆動源としてアクチュエーターを用いて、カメラ150を移動させる。このアクチュエーターとは、例えば電動モーターで実現できる。
【0030】
ここで、
図3では以下の(A)~(C)ごとに、モータートルクとカメラ移動速度を示している。
(A)カメラ150を水平移動
(B)カメラ150を垂直移動
(C)2軸以上の方向に駆動することができる機能により、カメラ150を水平移動
なお、(B)では、物品220近辺が下方であり、退避位置が上方であるとしている。また、(C)では、(A)(B)に比べて多くのモーターが必要であり、移動させる部分の質量が(A)(B)に比べて大きくなる。
【0031】
そして、
図3において、カメラ150は序盤(グラフの左)に加速し、中盤で等速となり、終盤に減速するが、中盤の等速はなくてもよい。
【0032】
また、必要となるモータートルクの最大値は、(A)が最も小さくなる。また、(B)(C)におけるモータートルクの最大値については、
図3では(C)>(B)となっているが、逆の場合もある。ここで、(C)>(A)となる理由は、加減速に必要なモータートルクTaは移動させる部分の質量mが大きくなるにつれて上昇するためである。また、(B)>(A)となる理由は、等速を維持するためのトルクTcは、カメラ移動方向と逆向きの外力が大きくなるにつれて上昇するためである。なお、アクチュエーターの必要トルク(モータートルク)T=Ta+Tcと算出できる。
【0033】
以上を纏めると、
図3に示すとおり、例えば、単軸ロボットを用いて、カメラ150を移動させる場合は、重力に拮抗する方向に移動させる方法に比べて、駆動源に必要なトルクが小さくなる。また、2軸以上の方向に移動させる場合に比べて駆動源の数が少なく、カメラ駆動装置140の質量が小さくなり、加速時に必要なトルクが小さくなる。したがって、本実施例では、出力の小さい駆動源でも駆動可能、つまり、カメラ150を移動させることができる。
【0034】
次に、本実施例におけるピッキングロボットシステム1の機能構成ついて説明する。
図4は、本実施例におけるピッキングロボットシステム1の機能ブロック図である。上述のように、ピッキングロボットシステム1は、稼働装置10、制御装置110、認識・計画装置120、カメラ駆動装置140およびカメラ150を有する。また、これらに加え、物品位置センサ191、物品固定部200および記憶装置130を有する。そして、これら各装置は互いに接続されている。
【0035】
まず、稼働装置10は、ロボット160、ハンド170、ロボットスライダ180および物品移動部190を有する。ここで、ロボット160やハンド170は、上述で説明したとおり、物品220を取り出す等の動作を行う。ロボットスライダ180は、ロボット160に対して回転等の駆動をし、その姿勢を変更する。物品移動部190は、バケット221もしくはこれに置かれた物品220を、ハンド170で保持できるように移動させる。なお、本実施例および後述の実施例2~4物品移動部は、コンベアで実現できる。また、稼働装置10に含まれる各装置は、それぞれアクチュエーター等の駆動部11を有する。
【0036】
また、制御装置110は、稼働装置10やカメラ150等の制御対象に対する制御を実行する装置である。このために、制御装置110は、制御信号を作成し、制御対象に出力する。この結果、駆動部11等の制御対象の駆動源が制御信号に従って駆動し、制御対象が所定の稼働を行う。このために、制御装置110は、システム動作制御部209、カメラ駆動制御部201、カメラ撮影部202、ロボット制御部203、ハンド制御部204、ロボットスライダ制御部205、物品移動制御部206、物品位置取得部207および物品固定制御部208を有する。これらは、制御対象全体および各対象を制御する。
【0037】
まず、システム動作制御部209は、制御対象全体を制御する。この際、システム動作制御部209は、各制御対象の稼働で矛盾、干渉や衝突といった障害が発生しないように制御を行う。このために、後述の各制御部に対して、障害が発生ないような制御指示を出力し、各制御部がこれに従って制御を行う。
【0038】
また、カメラ駆動制御部201は、カメラ駆動装置140の駆動を制御する。また、カメラ撮影部202は、カメラ150の撮影を制御する。つまり、カメラ撮影部202の制御信号に従って、カメラ150が撮影を行う。
【0039】
また、ロボット制御部203およびハンド制御部204は、それぞれロボット160およびハンド170の動作を制御し、物品220を取り出す。また、ロボットスライダ制御部205は、ロボットスライダ180を制御し、ロボット160の姿勢を制御することができる。また、物品移動制御部206は、物品移動部190を制御する。この結果、バケット221もしくはこれに置かれた物品220を移動させることができる。
【0040】
物品位置取得部207は、制御対象の1つである物品位置センサ191を動作させ、その検知結果である物品220の位置を取得する。物品固定制御部208は、制御対象の1つである物品固定部200を制御する。この結果、物品固定部200は、バケット221を固定することで、物品220を固定できる。
【0041】
次に、認識・計画装置120は、カメラ150の撮影データから物品220を認識し、稼働装置10を始めとする制御対象の動作計画を策定する。このために、認識・計画装置120は、システム動作計画部301、認識部302、ロボット動作計画部303、カメラ動作計画部304を有する。システム動作計画部301、ロボット動作計画部303およびカメラ動作計画部304は、ピッキングロボットシステム1やこれを構成する各装置の動作を制御するための動作計画を作成する。なお、システム動作計画部301、ロボット動作計画部303およびカメラ動作計画部304は、
図1の動作計画部13に該当する。
【0042】
ここで、システム動作計画部301は、各制御対象の稼働で矛盾、干渉や衝突といった障害が発生しないような動作計画を作成する。また、ロボット動作計画部303およびカメラ動作計画部304はそれぞれ、ロボット160およびカメラ150を制御するための動作計画を作成する。なお、システム動作計画部301が他の制御対象向けの動作計画を作成してもよいし、それぞれの制御対象用の動作計画部を認識・計画装置120に設けてもよい。なお、動作計画とは、制御装置110で制御信号を作成するために用いられ、制御対象が行う動作を示すものである。
【0043】
また、認識部302は、カメラ150の撮影データに対して画像処理を施すことで、ピッキング対象である物品220を認識する。そして、この認識結果を用いて、動作計画部13の各々が、動作計画を作成することになる。
【0044】
さらに、記憶装置130は、認識・計画装置120での動作計画を策定するための各種情報を記憶する。このため、記憶装置130は、環境情報記憶部401およびロボット情報記憶部402を有する。環境情報記憶部401は、ピッキングロボットシステム1が設けられている環境を示す環境情報131を記憶する。より具体的には、環境情報131は、物品220に関する情報、バケット221に関する情報、ピッキングの位置に関する情報が含まれる。これらは、物品220の形状、硬さ、重さ材質等の特性、配置位置、移動先、バケット221の大きさ、形状、配置位置を含む。また、ロボット情報記憶部402が記憶するロボット情報132は、ピッキングロボットシステム1に関する情報であり、設計情報のような形状等を含む。なお、記憶装置130は、認識・計画装置120内に設けてもよいし、複数の認識・計画装置120に対して、1つの記憶装置130を設けてもよい。さらに、記憶装置130は、ファイルサーバのようなピッキングロボットシステム1の外部に設けてもよい。またさらに、制御装置110、認識・計画装置120および記憶装置130を、1つの装置(コンピュータ)で実現してもよい。
【0045】
次に、本実施例におけるピッキングロボットシステム1の全体動作について説明する。
図5は、本実施例におけるピッキングロボットシステム1の動作の概要を説明するための図である。
図5において、まず、(A)物品固定部200が、ピッキング作業の対象である物品220が入ったバケット221を図面中左に押し込み、バケット221の位置を固定するように動作を開始する。
【0046】
そして、(B)物品位置センサ191がバケット221の位置を検知し、物品移動部190はバケット221が所定の位置に到着すると停止し、その位置に固定する。なお、この固定は、ストッパーを設けて、所定の位置よりも先に移動できなくしてもよい。
【0047】
また、(C)カメラ150が、物品220を撮影し、認識部302が物品220の位置や姿勢を認識する。そして、(D)認識結果に応じて、ロボットスライダ180を稼働させ、ロボット160がとれる姿勢の自由度を上げる。つまり、ハンド170が、バケット221付近となるように、ロボット160が動く。そして、(E)ハンド170が物品220を保持し、ロボット160が動作することで物品220を、バケット221(物品移動部190付近)から設置先192へ搬送する。なお、設置先192とは、物品220の移動先の位置を示してもよいし、その位置を含む装置、物品等であってもよい。
【0048】
(F)このように設置先192に搬送された物品220は、その目的に応じて処理されることになる。例えば、設置先192として、コンベアを用いる場合、当該コンベアにより物品220は加工、搬送等のための目的地に搬送される。以上の(A)~(F)、少なくとも(A)~(F)についいては、認識・計画装置120で策定された動作計画に応じた、制御装置110の制御により実行される。なお、制御装置110、認識・計画装置120および記憶装置130は、コンピュータシステム14として一体で構成してもよいし、別構成ないし一部の組合せで構成できる。
【0049】
次に、
図6は、本実施例におけるハンド170が物品220を保持した様子を示す図である。
図6(a)~(c)は、それぞれ異なる保持方式を示している。まず、(a)では、ハンド170はハンド基部171およびこれに接続した吸着パッド172を有する。そして、吸着パッド172に物品220を吸着することでこれを保持する。
【0050】
また、(b)では、ハンド170はハンド基部171およびこれに接続した駆動可能な指部173A、173Bを有する。そして、ハンド170は、指部173Aと173Bで物品220を挟むことで、これを保持する。さらに、(c)では、ハンド170はハンド基部171、吸着パッド172および指部173A、173Bを有する。つまり、(c)は、(a)(b)を組み合わせた構成である。具体的には、ハンド170は、物品220を、吸着パッド172で吸着し、指部173Aと173Bで挟むことで、これを保持する。
【0051】
次に、
図7は、本実施例におけるピッキング作業のための制御装置110や認識・計画装置120での処理を示すタイミングチャートである。
【0052】
C101では、システム動作計画部301が、制御対象の初期位置から第一段階の移動についての動作計画を策定する。なお、初期「位置」とは、初期「状態」を含むもので、存在する座標が変化しなくともよい。これは、「初期」に限らず以下の各「位置」でも同様である。また、移動についても姿勢の変化を含む動作を意味する。
【0053】
このC101のために、C201で、ロボット動作計画部303が、ロボット160の初期位置から保持待機位置への動作計画を策定する。また、C202では、カメラ動作計画部304が、ロボット160における初期位置から保持待機位置への動作計画に該当する動作計画を策定する。つまり、ロボット160の保持待機位置へ移動にリンクしたカメラ駆動装置140の動作計画を策定する。この結果、カメラ駆動装置140の初期位置から撮影位置を経由して、ロボット160が物品220を保持する際に干渉を避けるための退避位置が動作計画として策定される。なお、カメラ駆動装置140の動作計画には、カメラ駆動装置140およびカメラ150のうち、少なくとも一方の動作、つまり、移動の様子を示すことになる。
【0054】
この結果、初期位置-撮影退避位置-保持待機位置の移動ないし動作経路が示されるロボット160の動作計画が策定される。また、初期位置-撮影位置-退避位置とカメラ150の水平移動経路が示されるカメラ駆動装置140の動作計画が策定される。
【0055】
そして、C101で、システム動作計画部301が、C201やC202の動作計画により、ロボット160とカメラ150ないしカメラ駆動装置140で干渉が生じるかを判定する。そして、干渉が生じる場合は、システム動作計画部301もしくはロボット動作計画部303やカメラ動作計画部304が、干渉を防止する動作計画に修正する。なお、この動作計画には、カメラ駆動装置140の駆動によるカメラ150の移動後に、撮影を実行すること、ハンド170やロボットスライダ180といった各種制御対象の動作計画が含まれる。本実施例では、ロボット160とカメラ駆動装置140の動作計画に基づいて、他の制御対象の動作計画が、システム動作計画部301で策定されることになる。
【0056】
このC101の結果、以下に示すようなロボット160およびカメラ駆動装置140の動作計画が策定されることになる。
【0057】
(1)ロボット160の初期位置-撮影退避位置
(2)ロボット160の撮影退避位置-保持待機位置
(3)カメラ駆動装置140の初期位置-撮影位置
(4)カメラ駆動装置140の撮影位置-退避位置
なお、C101の詳細については、
図9を用いて後述する。
【0058】
以上により策定される各動作計画は、認識・計画装置120から制御装置110に通知される。そして、制御装置110が動作計画に応じた制御を実行する。具体的には、C401では、ロボットスライダ制御部205が、動作計画に従い、ロボット160が初期位置から保持待機位置へ移動できる姿勢になるように、ロボットスライダ180を制御する。
【0059】
次に、C301では、ロボット制御部203が、ロボット160を、初期位置から撮影退避位置へ移動させる制御を行う。また、C302では、カメラ駆動制御部201が、策定されたカメラ駆動装置140の動作計画に応じて、カメラ駆動装置140を撮影位置まで水平移動させる制御を行う。具体的には、カメラ駆動装置140が制御されことになる(以下、同様)。そして、C303では、カメラ撮影部202が、カメラ150を制御して、バケット221に置かれた物品220を撮影する。そして、C203では、認識部302が、C303でのカメラ150の撮影データを用いて、ピッキング対象である物品220を認識する。
【0060】
また、C304では、カメラ150での撮影を検知すると、カメラ駆動制御部201が、カメラ駆動装置140を制御してカメラ150を撮影位置から動作計画に含まれる退避位置まで水平移動させる。
【0061】
また、C402では、ロボットスライダ制御部205が、C102での動作計画に従い、ロボット160が撮影退避位置-保持待機位置と動作できる姿勢になるように、ロボットスライダ180を制御する。そして、C305では、ロボット制御部203が、ロボット160を、撮影退避位置から保持待機位置へ移動させる。
【0062】
なお、以上で説明した内容の他、これ以降の制御においても、C103やC104で、システム動作制御部209が、ピッキングロボットシステム1の全体制御を司ることになる。この詳細は
図12を用いて後述する。
【0063】
以上で、C101で策定された動作計画に従った制御が実行されたことになる。そこで、C102では、システム動作計画部301が、策定された動作計画以降の動作計画を策定することになる。このために、C204では、ロボット動作計画部303が、第一段階のロボット160の保持待機位置から、物品220を保持する保持位置を経由して、物品220の移動先である設置先192までの移動計画を策定する。
【0064】
さらに、ロボット動作計画部303は、設置先192から次の物品220のピッキング作業における保持待機位置までの動作計画を策定する。これは、設置先192を初期位置と同様に扱うことで、C201と同様の処理で実現できる。
【0065】
また、C205では、カメラ動作計画部304が、第一段階の退避位置からロボット160の設置先192に対応するカメラ駆動装置140の水平移動の動作計画を策定する。ここでは、撮影がされないため、C204の動作計画に従ったロボット160の動作(ピッキング作業)に干渉しないピッキング退避位置への退避を示す動作計画が策定されることになる。さらに、C205では、カメラ動作計画部304が、C202と同様にして、ピッキング干渉退避位置を初期位置として、撮影位置および退避位置を含む動作計画を策定する。
【0066】
そして、C102では、C101と同様に、システム動作計画部301が、ロボット160とカメラ駆動装置140やカメラ駆動装置140で干渉が生じるかの判定などを行い、各種制御対象の動作計画を策定する。この動作計画には、ハンド制御部204によるハンド170の物品220を保持するための動作計画も含まれる。
【0067】
この結果、以下に示すようなロボット160およびカメラ駆動装置140の動作計画が策定されることになる。
【0068】
(1)ロボット160の保持待機位置-保持位置
(2)ロボット160の保持位置-設置位置
(3)ロボット160の設置位置-撮影退避位置-保持待機位置
(4)カメラ駆動装置140の第一段階の退避位置-ピッキング干渉退避位置
(5)カメラ駆動装置140のピッキング干渉退避位置-撮影位置-退避位置
なお、第一段階の退避位置とピッキング干渉退避位置は同じ位置であることを妨げない。また、C102の詳細については、
図11を用いて後述する。なお、本願明細書での設置先192には設置位置を含む概念である。
【0069】
そして、C306では、ロボット制御部203が、ロボット160を制御して、上述の(1)の動作を実行させる。つまり、ロボット160が、物品220の保持位置まで移動される。そして、C307において、ハンド制御部204が、ハンド170を制御して、物品220を保持させる。
【0070】
また、C403では、ロボットスライダ制御部205が、C102での動作計画のうち、(2)ロボット160が保持位置-設置位置と動作できる姿勢になるように、ロボットスライダ180を制御する。そして、C308では、ロボット制御部203が、C102の動作計画のうち(2)に従って、のロボット160を保持位置から設置位置まで移動させる。
【0071】
また、第一段階の次の第二段階として、C302の制御が実行される。つまり、カメラ駆動装置140が、カメラ150を、次の物品220のピッキング作業のための撮影位置まで水平移動させる。そして、C303の処理が第二段階として繰り返される。また、C310では、ロボット制御部203が、ロボット160を制御して、設置位置-保持待機位置まで動作させる。以上の処理が、物品220分だけ繰り返され、物品220のピッキング作業が完了させる。これら「段階」は物品220の数といったピッキング単位を示し、第二段階以降も続くことになる。このため、複数の物品220をまとめて取り出す場合、上述の各処理、段階は、複数の物品220、つまり、ピッキング単位分実行される。また、これらの制御においても、C103と同様に、C104にて、システム動作制御部209が、ピッキングロボットシステム1の全体制御を司ることになる。この詳細は
図13を用いて後述する。
【0072】
以上で、
図7のタイミングチャートチャートの説明を終わる。次に、
図8は、本実施例におけるタイミングチャートとピッキングロボットシステム1、主にロボット160の動作の対応関係を示す図である。
図8では、(a)の初期位置から(e)保持位置へのピッキングロボットシステム1の上面図をそれぞれ示している。そして、各図において、ピッキングロボットシステム1が、右から左へ物品220を移動させている。
【0073】
まず、
図8(a)は、C101の際、つまり、初期位置におけるピッキングロボットシステム1を示している。本図では、ロボット160が図面上で上方を向いているが、この姿勢は任意であり、これに限らない。また、カメラ駆動装置140の位置も任意である。
【0074】
また、
図8(b)は、C303の処理中のピッキングロボットシステム1の様子を示す。C303では、カメラ150が撮影を行っている。つまり、カメラ駆動装置140は、撮影位置、つまり、物品220付近に位置している。そして、ロボット160は、撮影退避位置、つまり、カメラ駆動装置140と干渉しない位置に位置している。
【0075】
また、
図8(c)は、C305の終了の際のピッキングロボットシステム1の様子を示す。C305では、ロボット160が撮影退避位置から保持待機位置へ移動している。このため、ロボット160は、物品220付近に移動している。そして、カメラ駆動装置140は、ロボット160での物品220の取り出しに干渉しない位置に移動されている。
【0076】
また、
図8(d)は、2回目のC303の処理中のピッキングロボットシステム1の様子を示す。C303では、カメラ撮影部202が、カメラ150を制御して、バケット221に置かれた物品220を撮影する。また、この際、ロボット160は、物品220を移動先に設置している状態である。
【0077】
また、
図8(e)は、C310では、ロボット160が設置位置-保持待機位置まで動作する。また、カメラ駆動装置140は、退避位置に移動される。そして、
図8(d)と
図8(e)について、ピッキング対象の物品220が無くなるまで繰り返される。
【0078】
以上で、
図8の説明を終わり、以下では
図7のタイミングチャートにおける処理の詳細を説明する。
図9は、実施例1におけるC101の詳細を示すフローチャートである。
【0079】
ステップS101において、システム動作計画部301が、ロボットスライダ180についての初期位置から撮影待機位置までの動作計画を策定する。このために、環境情報131やロボット情報132を用いる。
【0080】
また、ステップS102において、システム動作計画部301が、C201での動作計画のうち、ロボット160の初期位置から撮影待機位置までの動作計画を取得する。なお、動作計画の取得の代わりに、システム動作計画部301がロボット160の初期位置から撮影待機位置までの動作計画を策定してもよい。なお、この動作計画は、ロボット160が他の構成と干渉しない動作を示す経路をRRT(Rapidly-exploring Random Tree)法などにより策定することができる。さらに、動作時間は、IPTP(Iterative Parabolic Time Parameterization)法などにより策定できる。
【0081】
また、ステップS103において、システム動作計画部301が、C202での動作計画のうち、カメラ駆動装置140の初期位置から撮影位置までの動作計画を取得する。ここで、C202での動作計画とは、カメラ動作計画部304により、カメラ駆動装置140の初期位置から撮影位置を経由して、ロボット160が物品220を保持する際に干渉を避けるための退避位置までの動作計画を示す。なお、動作計画の取得の代わりに、システム動作計画部301がカメラ駆動装置140の初期位置から撮影位置までの動作計画を策定してもよい。なお、この動作計画は、ロボット情報132を用いて、カメラ駆動装置140の速度、加速度をもとにV-Tグラフなどから策定されてもよい。
【0082】
また、ステップS104において、システム動作計画部301が、カメラ駆動装置140の動作開始タイミングを決定する。なお、この処理の詳細は、
図10を用いて後述する。
【0083】
また、ステップS105において、システム動作計画部301が、カメラ150での撮影時間を推定する。このために、ロボット情報132に含まれるハンド170のカメラ150撮影時間が用いられる。なお、この撮影時間は、実験結果やシミュレーション結果を用いることができる。
【0084】
また、ステップS106において、システム動作計画部301が、ロボットスライダ180についての撮影待機位置から設置位置までの動作計画を策定する。
【0085】
また、ステップS107において、システム動作計画部301が、C201の動作計画のうち、ロボット160の撮影待機位置から保持待機位置までの動作計画を取得する。なお、動作計画の取得の代わりに、システム動作計画部301がロボット160の撮影待機位置から保持待機位置までの動作計画を策定してもよい。なお、この動作計画は、ステップS102と同様に、ロボット160が他の構成と干渉しない動作を示す経路をRRT法などにより策定することができる。さらに、動作時間は、IPTP法などにより策定できる。また、ステップS102とS107は、まとめて実行してもよい。
【0086】
また、ステップS108において、システム動作計画部301が、C202の動作計画のうち、カメラ駆動装置140の撮影位置から待機位置までの動作計画を取得する。なお、動作計画の取得の代わりに、システム動作計画部301がカメラ駆動装置140の撮影位置から待機位置までの動作計画を策定してもよい。なお、この動作計画の策定は、ステップS103と同様に、ロボット情報132を用いて、カメラ駆動装置140の速度、加速度をもとにV-Tグラフなどから策定されてもよい。また、ステップS103とS108は、まとめて実行してもよい。
【0087】
そして、ステップS109において、システム動作計画部301が、ロボット160およびロボットスライダ180の動作開始タイミングを決定する。なお、この処理の詳細は、
図10を用いて後述する。
【0088】
以上で、
図9の説明を終わり、ステップS104およびステップS109でのタイミング決定処理の詳細を説明する。
図10は、本実施例におけるタイミング決定処理の詳細を示すフローチャートである。
【0089】
ステップS201において、システム動作計画部301が、後続のピッキング作業での動作開始タイミングを0に設定する。後続とは、上述の段階が進むことを意味する。
【0090】
また、ステップS202において、システム動作計画部301が、先行のピッキング作業の動作終了時間まで、ステップS203~ステップS206を繰り返す。また、ステップS203において、システム動作計画部301が、後続のピッキング作業での動作開始タイミングを、設定から所定時間分(ΔT)遅らせる。
【0091】
次に、ステップS204において、システム動作計画部301が、動作同士の干渉の有無を確認する。このために、システム動作計画部301が、ロボット160の動作計画とカメラ駆動装置140の動作計画を比較する。この結果、ロボット160とカメラ駆動装置140の経路で干渉するかが判定される。なお、このカメラ駆動装置140の動作には、カメラ150を含めることが望ましい。さらに、本ステップでは、他のロボットスライダ180などの装置の干渉も判定してもよい。
【0092】
そして、ステップS205において、ステップS204で干渉があると確認された場合(T)、ステップS202に遷移し、以降のステップを繰り返す。また、干渉がないと確認された場合(F)、ステップS206に遷移する。
【0093】
また、ステップS206において、システム動作計画部301が、ステップS203で所定時間分(ΔT)遅らせたタイミングを、後続の動作開始タイミングとして決定する。なお、
図10に示す処理は、各装置、つまり、カメラ駆動装置140とロボット160についてそれぞれ実行してもよい。以上で、
図10の説明を終わる。
【0094】
次に、本実施例におけるC102の詳細を説明する。
図11は、本実施例におけるC102の詳細を示すフローチャートである。まず、ステップS301において、システム動作計画部301が、認識部302でのカメラ150での撮影データに対する認識結果を取得する。認識結果には、物品220の位置、姿勢およびこれに対する保持位置が含まれる。
【0095】
また、ステップS302において、システム動作計画部301が、C204での動作計画のうち、ロボット160の保持待機位置から保持位置までの動作計画を取得する。なお、動作計画の取得の代わりに、システム動作計画部301がロボット160の保持までの動作計画を策定してもよい。なお、この動作計画は、ロボット160が他の構成と干渉しない動作を示す経路をRRT法などにより策定することができる。さらに、動作時間は、IPTP法などにより策定できる。
【0096】
また、ステップS303において、システム動作計画部301が、ハンド170についての物品220を対象とする保持の動作計画を策定する。このために、システム動作計画部301は、ロボット情報132に含まれるハンド170の吸着時間や挟み込み時間などを用いる。なお、これら吸着時間や挟み込み時間は、実験結果やシミュレーション結果を用いることができる。
【0097】
また、ステップS304において、システム動作計画部301が、ロボットスライダ180についての保持待機位置から保持位置までの動作計画を策定する。このために、環境情報131やロボット情報132を用いる。また、ステップS305において、システム動作計画部301が、C204での動作計画のうち、ロボット160についての保持位置から設置位置までの動作計画を取得する。ここで、C204での動作計画とは、保持待機位置から次の段階の保持待機位置までの動作計画を示す。なお、動作計画の取得の代わりに、システム動作計画部301がロボット160についての保持位置から設置位置までの動作計画を策定してもよい。なお、この動作計画は、ロボット160が他の構成と干渉しない動作を示す経路をRRT法などにより策定することができる。さらに、動作時間は、IPTP法などにより策定できる。
【0098】
また、ステップS306において、システム動作計画部301が、C205での動作計画のうち、カメラ駆動装置140のピッキング干渉退避位置から撮影位置までの動作計画を取得する。なお、動作計画の取得の代わりに、システム動作計画部301がカメラ駆動装置140の撮影位置までの動作計画までの動作計画を策定してもよい。なお、この動作計画は、ロボット情報132を用いて、カメラ駆動装置140の速度、加速度をもとにV-Tグラフなどから策定されてもよい。
【0099】
また、ステップS307において、システム動作計画部301が、カメラ駆動装置140の動作開始タイミングを決定する。この処理は、ステップS104と同様に実現できる。つまり、この処理の詳細は、
図10に示すとおりである。
【0100】
また、ステップS308において、システム動作計画部301が、ステップS105同様に、カメラ150での撮影時間を推定する。また、ステップS309において、システム動作計画部301が、ハンド170についての物品220の保持を解除する動作計画を策定する。ロボット情報132に含まれるハンド170の吸着解除時間や挟み込み解除時間などが用いられる。なお、これら吸着解除時間や挟み込み解除時間は、実験結果やシミュレーション結果を用いることができる。
【0101】
また、ステップS310において、システム動作計画部301が、C205の動作計画のうち、カメラ駆動装置140の撮影位置から退避位置までの動作計画を取得する。なお、動作計画の取得の代わりに、システム動作計画部301がカメラ駆動装置140の撮影位置から退避位置までの動作計画を策定してもよい。なお、この動作計画の策定は、ステップS306と同様に、ロボット情報132を用いて、カメラ駆動装置140の速度、加速度をもとにV-Tグラフなどから策定されてもよい。また、ステップS306とS310は、まとめて実行してもよい。
【0102】
また、ステップS311において、システム動作計画部301が、C204の動作計画のうち、ロボット160の設置位置から保持待機位置までの動作計画を取得する。なお、動作計画の取得の代わりに、システム動作計画部301がロボット160の設置位置から保持待機位置までの動作計画を策定してもよい。なお、この動作計画は、ステップS302と同様に、ロボット160が他の構成と干渉しない動作を示す経路をRRT法などにより策定することができる。さらに、動作時間は、IPTP法などにより策定できる。また、ステップS302、S305およびS311の少なくとも2つの処理はまとめて実行してもよい。
【0103】
また、ステップS312において、システム動作計画部301が、ロボットスライダ180についての保持位置から保持待機位置までの動作計画を策定する。このために、環境情報131やロボット情報132を用いる。この処理は、ステップS304と同様の処理で実現できる
そして、ステップS313において、システム動作計画部301が、ロボット160の動作開始タイミングを決定する。この処理は、ステップS109と同様に実現できる。つまり、この処理の詳細は、
図10に示すとおりである。以上で、
図11の説明を終わる。
【0104】
次に、C103でのピッキングロボットシステム1の全体制御処理について説明する。
図12は、本実施例におけるC103の詳細を示すフローチャートである。まず、ステップS401において、システム動作制御部209が、C101で策定された動作計画、つまり、経路および動作開始タイミングを、システム動作計画部301から取得する。
【0105】
また、ステップS402において、システム動作制御部209が、ロボットスライダ制御部205に、ロボットスライダ180における現在位置から撮影待機位置までの動作を制御する制御信号を送信する。このために、システム動作制御部209が、ステップS401の動作計画に基づき、制御信号を作成することが望ましい。但し、システム動作制御部209からロボットスライダ制御部205へ動作計画を送信し、ロボットスライダ制御部205で制御信号を作成してもよい。
【0106】
また、ステップS403において、システム動作制御部209が、ロボット制御部203、ロボット160における現在位置から撮影待機位置までの動作を制御する制御信号を送信する。本ステップでもステップS402と同様に、動作計画自身を送信してもよい。
【0107】
以降、ステップS404~ステップS406と、ステップS407~ステップS412を並行して実行される。これら各ステップで送信される制御信号も、上述のステップのように動作計画に置き換えることが可能である。まず、ステップS404において、システム動作制御部209が、ロボット制御部203およびロボットスライダ制御部205の動作開始タイミングまで待機する。つまり、ロボット160とロボットスライダ180の動作開始タイミングまで待機される。なお、システム動作計画部301が、ステップS404~ステップS406とステップS407~ステップS412を並行実行するための動作計画を策定することになる。
【0108】
そして、ロボットスライダ制御部205の動作開始タイミングが検知されると、ステップS405を実行する。つまり、システム動作制御部209が、ロボットスライダ制御部205に対して、ロボットスライダ180を撮影待機位置から保持待機位置まで移動させる制御信号を送信する。
【0109】
また、ロボット制御部203の動作開始タイミングが検知されると、ステップS406を実行する。つまり、システム動作制御部209が、ロボット制御部203に対して、ロボット160を撮影待機位置から保持待機位置まで移動させる制御信号を送信する。
【0110】
また、ステップS407において、システム動作制御部209が、カメラ駆動制御部201の動作開始タイミングまで待機する。そして、カメラ駆動制御部201の動作開始タイミングが検知されると、ステップS408を実行する。つまり、システム動作制御部209が、カメラ駆動制御部201に対して、カメラ駆動装置140を駆動して、カメラ150を撮影位置まで水平移動させる制御信号を送信する。
【0111】
また、カメラ150が撮影位置まで水平移動されると、ステップS408において、システム動作制御部209が、カメラ撮影部202に撮影のための制御信号を送信する。この結果、カメラ撮影部202が、カメラ150を制御して、撮影を実行する。そして、カメラ撮影部202がカメラ150の撮影データを取得することになる。
【0112】
また、ステップS410において、システム動作制御部209は、カメラ撮影部202から取得した撮影データを、認識・計画装置120のシステム動作計画部301に送信する。この結果、システム動作計画部301では、撮影された物品220、つまり、次のピッキング対象である物品220のピッキング作業の動作計画を策定することができる。
【0113】
また、ステップS411において、システム動作制御部209は、システム動作計画部301から策定された次の物品ピッキング対象の動作計画を受け付ける。そして、ステップS412において、システム動作制御部209が、カメラ駆動制御部201に対して、カメラ駆動装置140を駆動して、カメラ150を退避位置まで水平移動させる制御信号を送信する。以上で、本フローチャートの説明を終わる、なお、本フローチャートでは、システム動作制御部209から各制御部に制御信号や動作計画を送信するが、システム動作制御部209が直接稼働装置10を制御してもよい。
【0114】
次に、C104でのピッキングロボットシステム1の全体制御処理について説明する。
図13は、本実施例におけるC104の詳細を示すフローチャートである。
【0115】
図13において、まず、ステップS501において、システム動作制御部209が、C102で策定された動作計画、つまり、経路および動作開始タイミングを、システム動作計画部301から取得する。
【0116】
また、ステップS502において、システム動作制御部209が、ロボット制御部203へ、ロボット160における保持待機位置から保持位置までの動作を制御する制御信号を送信する。このために、システム動作制御部209が、ステップS501の動作計画に基づき、制御信号を作成することが望ましい。但し、システム動作制御部209からロボット制御部203へ動作計画を送信し、ロボット制御部203で制御信号を作成してもよい。このことは、ステップS503~ステップS505でも同様である。
【0117】
また、ステップS503において、システム動作制御部209が、ハンド制御部204へ、ハンド170で物品220を保持するための制御信号を送信する。また、ステップS504において、システム動作制御部209が、ロボットスライダ制御部205に、ロボットスライダ180における保持位置から設置位置までの動作を制御する制御信号を送信する。
【0118】
また、ステップS505において、システム動作制御部209が、ロボット制御部203へ、ロボット160における保持位置から設置位置までの動作を制御する制御信号を送信する。なお、本ステップでもステップS502と同様に、動作計画自身を送信してもよい。以降、ステップS506~ステップS509と、ステップS510~ステップS514を並行して実行される。これら各ステップで送信される制御信号も、上述のステップのように動作計画に置き換えることが可能である。まず、ステップS506において、システム動作制御部209が、ハンド制御部204へ、ハンド170で物品220の保持を解除するための制御信号を送信する。なお、システム動作計画部301が、ステップS506~ステップS509とステップS510~ステップS514を並行実行するための動作計画を策定することになる。
【0119】
また、ステップS507において、システム動作制御部209が、ロボット制御部203の動作開始タイミングまで待機する。つまり、ロボット160の動作開始タイミングまで待機される。そして、ステップS508において、システム動作制御部209が、ロボット制御部203に対して、ロボット160を設置位置から保持待機位置まで移動させる制御信号を送信する。
【0120】
また、ステップS509において、システム動作制御部209が、ロボットスライダ制御部205に対して、ロボットスライダ180を設置位置から保持待機位置まで移動させる制御信号を送信する。
【0121】
また、ステップS510において、システム動作制御部209が、システム動作制御部209が、カメラ駆動制御部201の動作開始タイミングまで待機する。そして、カメラ駆動制御部201の動作開始タイミングが検知されると、ステップS511を実行する。つまり、システム動作制御部209が、カメラ駆動制御部201に対して、カメラ駆動装置140を駆動して、カメラ150を撮影位置まで水平移動させる制御信号を送信する。
【0122】
また、カメラ150が撮影位置まで水平移動されると、ステップS512において、システム動作制御部209が、カメラ撮影部202に撮影のための制御信号を送信する。この結果、カメラ撮影部202が、カメラ150を制御して、撮影を実行する。そして、カメラ撮影部202がカメラ150の撮影データを取得することになる。
【0123】
また、ステップS513において、システム動作制御部209は、カメラ撮影部202から取得した撮影データを、認識・計画装置120のシステム動作計画部301に送信する。この結果、システム動作計画部301では、撮影された物品220、つまり、次のピッキング対象である物品220のピッキング作業の動作計画を策定することできる。
【0124】
また、ステップS514において、システム動作制御部209は、システム動作計画部301から策定された次の物品ピッキング対象の動作計画を受け付ける。そして、ステップS515において、システム動作制御部209が、カメラ駆動制御部201に対して、カメラ駆動装置140を駆動して、カメラ150を退避位置まで水平移動させる制御信号を送信する。
【0125】
以上で、本フローチャートの説明を終わる、なお、本フローチャートでも、システム動作制御部209から各制御部に制御信号や動作計画を送信するが、
図12と同様にシステム動作制御部209が直接稼働装置10を制御してもよい。また、以上のような動作計画の策定、動作計画に従った制御を繰り返すことで、複数の物品220に対するピッキング作業を完了することが可能となる。以上で、実施例1の説明を終わる。
上述の実施例1では、カメラ駆動装置140は、設置位置よりもロボット160側に位置する。これに対して、実施例2では、ロボット160とカメラ駆動装置140の干渉を避けやすくするために、カメラ駆動装置140を、設置位置をまたいでロボット160の向かいに配置している。以下、この構成について説明する。