(57)【要約】【課題】適切に把持計画を生成することができる制御装置及びプログラムを提供する。【解決手段】実施形態によれば、制御装置は、第１のインターフェースと、第２のインターフェースと、プロセッサと、第３のインターフェースと、を備える。第１のインターフェースは、物品を撮影した撮影画像を取得する。第２のインターフェースは、入出力装置とデータを送受信する。プロセッサは、前記撮影画像に基づく物品画像を前記入出力装置に表示させ、前記第２のインターフェースを通じて前記入出力装置から前記物品を把持する把持部の把持部モデルの位置及び角度の入力を受け付け、前記物品画像上に前記位置及び前記角度で前記把持部モデルを表示させ、前記位置及び角度に基づいて、前記把持部が前記物品を把持する把持位置及び把持角度を示す把持計画を生成する。第３のインターフェースは、前記把持部を備える把持装置の制御部に前記把持計画を送信する。【選択図】      図１
2020131296.tif 000002
【特許請求の範囲】
【請求項１】
物品を撮影した撮影画像を取得する第１のインターフェースと、
入出力装置とデータを送受信する第２のインターフェースと、
前記撮影画像に基づく物品画像を前記入出力装置に表示させ、
前記第２のインターフェースを通じて前記入出力装置から前記物品を把持する把持部の把持部モデルの位置及び角度の入力を受け付け、
前記物品画像上に前記位置及び前記角度で前記把持部モデルを表示させ、
前記位置及び角度に基づいて、前記把持部が前記物品を把持する把持位置及び把持角度を示す把持計画を生成する、
プロセッサと、
前記把持部を備える把持装置の制御部に前記把持計画を送信する第３のインターフェースと、
を備える制御装置。
【請求項２】
前記プロセッサは、前記把持部モデルを半透明で表示する、
請求項１に記載の制御装置。
【請求項３】
前記第１のインターフェースは、前記物品までの距離を測定した距離情報をさらに取得し、
前記物品画像は、前記距離情報に基づく三次元画像である、
請求項１又は２に記載の制御装置。
【請求項４】
前記プロセッサは、
前記入出力装置を通じて、前記三次元画像を表示する視点を変更する操作を受け付け、
前記操作に従って、前記三次元画像の表示を更新する、
請求項３に記載の制御装置。
【請求項５】
前記プロセッサは、
前記撮影画像及び前記距離情報に基づいて、前記物品を表示する物品領域を認識し、
前記三次元画像上に前記物品領域を表示する、
請求項３又は４に記載の制御装置。
【請求項６】
前記プロセッサは、前記把持部が備える吸着パットの吸着パットモデルを表示する、
請求項１乃至５の何れか１項に記載の制御装置。
【請求項７】
前記プロセッサは、前記吸着パットの圧力を制御する弁のうち、共通する弁に接続する前記吸着パットを示す情報を表示する、
請求項６に記載の制御装置。
【請求項８】
前記プロセッサは、前記物品と前記吸着パットとの距離を表示する、
請求項６又は７に記載の制御装置。
【請求項９】
前記プロセッサは、前記吸着パットモデルと物品との距離が所定の距離となるように前記位置及び前記角度を修正し、前記把持位置及び前記把持角度として修正した前記位置及び前記角度を示す前記把持計画を生成する、
請求項６乃至８の何れか１項に記載の制御装置。
【請求項１０】
前記プロセッサは、複数の前記把持計画から１つの把持計画を選択し、選択された前記把持計画を前記制御部に送信する、
請求項１乃至９の何れか１項に記載の制御装置。
【請求項１１】
保管装置とデータを送受信する第４のインターフェースを備え、
前記プロセッサは、
前記第３のインターフェースを通じて、前記物品の把持に成功したか否かを示す完了情報を受信し、
前記第４のインターフェースを通じて、前記物品画像と前記把持計画と前記完了情報とを前記保管装置に格納する、
請求項１乃至１０の何れか１項に記載の制御装置。
【請求項１２】
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
物品を撮影した撮影画像を取得させ、
入出力装置とデータを送受信する第２のインターフェースと、
前記撮影画像に基づく物品画像を入出力装置に表示させ、
前記入出力装置から前記物品を把持する把持部の把持部モデルの位置及び角度の入力を受け付けさせ、
前記物品画像上に前記位置及び前記角度で前記把持部モデルを表示させ、
前記位置及び角度に基づいて、前記把持部が前記物品を把持する把持位置及び把持角度を示す把持計画を生成させ、
前記把持部を備える把持装置の制御部に前記把持計画を送信させる、
プログラム。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、制御装置及びプログラムに関する。
【背景技術】
【０００２】
物品をピッキングするピッキングロボットを制御する制御装置には、オペレータから物品の位置の入力を受け付けるものがある。そのような制御装置は、入力された物品の位置などに基づいて、ピッキングするピッキングロボットが物品を把持する把持位置及び把持角度などを示す把持計画を策定する。
【０００３】
従来、制御装置は、適切な把持位置及び把持角度を求めることができない場合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１４２１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の課題を解決するため、適切に把持計画を生成することができる制御装置及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
実施形態によれば、制御装置は、第１のインターフェースと、第２のインターフェースと、プロセッサと、第３のインターフェースと、を備える。第１のインターフェースは、物品を撮影した撮影画像を取得する。第２のインターフェースは、入出力装置とデータを送受信する。プロセッサは、前記撮影画像に基づく物品画像を前記入出力装置に表示させ、前記第２のインターフェースを通じて前記入出力装置から前記物品を把持する把持部の把持部モデルの位置及び角度の入力を受け付け、前記物品画像上に前記位置及び前記角度で前記把持部モデルを表示させ、前記位置及び角度に基づいて、前記把持部が前記物品を把持する把持位置及び把持角度を示す把持計画を生成する。第３のインターフェースは、前記把持部を備える把持装置の制御部に前記把持計画を送信する。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態に係るピッキングシステムの構成例を概略的に示す図である。
【図２】図２は、実施形態に係る制御装置の構成例を示すブロック図である。
【図３】図３は、実施形態に係る制御装置の表示例を示す図である。
【図４】図４は、実施形態に係る制御装置の表示例を示す図である。
【図５】図５は、実施形態に係る制御装置に動作例を示す図である。
【図６】図６は、実施形態に係る制御装置に動作例を示す図である。
【図７】図７は、実施形態に係る把持計画の例を示す図である。
【図８】図８は、実施形態に係る制御装置に動作例を示すフローチャートである。
【図９】図９は、実施形態に係る制御装置に動作例を示すフローチャートである。
【図１０】図１０は、実施形態に係る制御装置に動作例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら実施形態について説明する。  
実施形態に係るピッキングシステムは、所定の物品をピッキングする。ピッキングシステムは、先端に把持部が形成されるロボットアームを用いて物品をピッキングする。ピッキングシステムは、複数の物品が積載して形成された物品群から物品をピッキングする。ピッキングシステムは、ピッキングした物品を倉庫又は容器など所定の領域（積載領域）に積載する。
【０００９】
ピッキングシステムは、物流センサ又は倉庫などで用いられる。ピッキングシステムがピッキングする物品及びピッキングシステムの用途は、特定の構成に限定されるものではない。
【００１０】
図１は、実施形態に係るピッキングシステム１の構成例を概略的に示す。図１が示す例では、ピッキングシステム１は、物品群１０１から物品をピッキングする。図１が示すように、ピッキングシステム１は、ピッキングロボット１０、画像センサ１０２、制御装置１０６、入出力装置１０７、保管装置１０９及びロボットコントローラ１１１など備える。
【００１１】
なお、ピッキングシステム１は、図１が示すような構成の他に必要に応じた構成を具備したり、ピッキングシステム１から特定の構成が除外されたりしてもよい。
【００１２】
物品群１０１は、複数の物品から構成される。物品群１０１は、複数の物品が重なった状態に形成される。物品群１０１は、所定の領域に配置される。たとえば、物品群１０１は、所定のケース内に配置される。また、物品群１０１は、所定の倉庫などに配置されるものであってもよい。
【００１３】
物品群１０１を構成する物品は、矩形に形成される箱などであってもよい。また、物品群１０１を構成する物品は、袋状に形成されるものであってもよい。たとえば、物品群１０１を構成する物品は、商品、部品又は荷物などである。物品群１０１を構成する物品の形状及び用途は、特定の構成に限定されるものではない。
【００１４】
制御装置１０６は、画像センサ１０２、入出力装置１０７、保管装置１０９及びロボットコントローラ１１１などと接続する。制御装置１０６は、入出力装置１０７などから入力された操作などに基づいて把持計画を策定する。把持計画は、後述する把持部１０３が物品群１０１を構成する所定の荷物を把持する位置（把持位置）及び把持部１０３が把持する角度（把持角度）などから構成される。
【００１５】
制御装置１０６は、把持する物品ごとに把持計画を策定する。また、制御装置１０６は、ロボットコントローラ１１１に把持計画を送信する。  
制御装置１０６については、後に詳述する。
【００１６】
画像センサ１０２は、物品群１０１が配置される領域の上方に配置されている。画像センサ１０２は、物品群１０１を撮影し撮影画像を取得する。画像センサ１０２は、撮影画像としてＲＧＢのカラー画像を取得する。
【００１７】
また、画像センサ１０２は、物品群１０１の各部（又は、物品群１０１が配置される領域の各部）から画像センサ１０２までの距離、又は、物品群１０１の各部から画像センサ１０２に水平な面まで距離を測定する。
【００１８】
画像センサ１０２は、測定結果に基づいて、所定の基準面からの距離を示す距離情報を生成する。たとえば、距離情報は、所定の三次元座標系における点群の各座標を示すものであってもよい。
【００１９】
たとえば、画像センサ１０２は、例えばステレオカメラである。ステレオカメラは、異なる２点から撮像した際の視差に基づいて画像センサ１０２と各部との距離を計測する。
【００２０】
また、たとえば、画像センサ１０２は、光源と光源から照射される光の反射光を検出する光センサとを備えるものであってもよい。画像センサ１０２は、光源から照射される光（可視光又は不可視光）の反射光に基づいて距離を測定する。たとえば、画像センサ１０２は、照射された光が測定対象で反射し光センサに届くまでの時間に基づいて当該測定対象との距離を測定するＴｏＦ（Ｔｉｍｅ−ｏｆ−Ｆｌｉｇｈｔ）方式を行ってもよい。  
なお、画像センサ１０２は、複数のセンサから構成されてもよい。
【００２１】
入出力装置１０７は、オペレータによって、種々の指示が入力される。入出力装置１０７は、操作者に入力された指示を示す信号を制御装置１０６へ送信する。入出力装置１０７は、操作部として、たとえば、キーボード、テンキー、マウス及びタッチパネルなどを備える。
【００２２】
また、入出力装置１０７は、オペレータに対して、種々の情報を表示する。即ち、入出力装置１０７は、制御装置１０６からの信号に基づいて、種々の情報を示す画面を表示する。入出力装置１０７は、表示部として、たとえば、液晶ディスプレイなどを備える。
【００２３】
保管装置１０９は、制御装置１０６の制御に従って所定のデータを格納する。たとえば、保管装置１０９は、制御装置１０６が生成した把持計画を格納する。また、保管装置１０９は、把持計画に従ってピッキングロボット１０がピッキングに成功したか否かを示す情報を当該把持計画に対応付けて格納する。
【００２４】
たとえば、保管装置１０９は、データの書き込み及び書き換えが可能な不揮発性のメモリなどから構成される。保管装置１０９は、たとえば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）又はフラッシュメモリなどから構成される。
【００２５】
ピッキングロボット１０（把持装置）は、ロボットコントローラ１１１を接続する。ピッキングロボット１０は、ロボットコントローラ１１１の制御に従って、物品群１０１から所定の物品をピッキングする。ピッキングロボット１０は、ピッキングした物品を所定の積載領域に積載する。
【００２６】
ピッキングロボット１０は、把持部１０３、吸着パット１０４、ロボットアーム１０５などから構成される。
【００２７】
ロボットアーム１０５は、ロボットコントローラ１１１の制御によって駆動するマニピュレータである。ロボットアーム１０５は、棒状のフレーム及びフレームを駆動するモータなどから構成される。
【００２８】
把持部１０３は、ロボットアーム１０５の先端に設置されている。把持部１０３は、ロボットアーム１０５の移動に伴って移動する。把持部１０３は、ロボットアーム１０５が所定の方向に移動することにより、物品群１０１の物品を把持する位置まで移動する。
【００２９】
把持部１０３は、物品群１０１の物品を把持する。ここでは、把持部１０３は、吸着パット１０４を備える。吸着パット１０４は、物品に吸着する。たとえば、吸着パット１０４は、真空吸着により物品に吸着する。吸着パット１０４は、ロボットコントローラ１１１からの制御に基づいて内部を負圧にする。吸着パット１０４は、物品の表面に接した状態で内部を負圧にすることで物品の表面に真空吸着する。吸着パット１０４は、内部の負圧を解除すると、物品を解放する。
【００３０】
ここでは、把持部１０３は、複数の吸着パット１０４を備える。
【００３１】
なお、把持部１０３には、吸着パット以外の種々の把持機構を採用してよい。たとえば、把持部１０３は、物品を把持するグリッパを含むものであってよい。グリッパは、複数の指と、複数の指を連結している複数の関節機構とを備える。関節機構は、関節機構の動作に連動して指が動作するように構成されてよい。グリッパは、例えば、複数の指による２点以上の接点で、対向する複数の方向から荷物に対して力を加える。これにより、把持部１０３は、指と荷物との間に生じる摩擦によって物品を把持する。把持部１０３の構成は、物品群１０１の物品を把持可能な種々の把持機構を用いてよく、特定の構成に限定されるものではない。
【００３２】
ロボットコントローラ１１１（制御部）は、制御装置１０６の制御に従ってピッキングロボット１０を制御する。たとえば、ロボットコントローラ１１１は、制御装置１０６から把持計画を受信する。ロボットコントローラ１１１は、把持計画に基づいて、把持部１０３を把持位置まで移動させる経路を示す経路計画を策定する。たとえば、ロボットコントローラ１１１は、物品群１０１の荷物などと把持部１０３及びロボットアーム１０５が接触しないように経路計画を策定する。
【００３３】
ロボットコントローラ１１１は、経路計画に従って、把持部１０３を移動させる。即ち、ロボットコントローラ１１１は、ロボットアーム１０５を制御して把持部１０３を経路計画が示す経路に沿って移動させる。
【００３４】
ロボットコントローラ１１１は、把持部１０３を移動させると、吸着パット１０４を制御して吸着パット１０４を物品群１０１の物品に吸着させる。ロボットコントローラ１１１は、物品を吸着させた状態でロボットアーム１０５を移動させて物品をピッキングする。
【００３５】
ロボットコントローラ１１１は、ロボットアーム１０５を移動させてピッキングした物品を所定の積載領域まで搬送する。ロボットコントローラ１１１は、物品を所定の積載領域まで搬送すると、吸着パット１０４を制御して物品を解放する。
【００３６】
また、ロボットコントローラ１１１は、物品の把持に成功したか否かを示す完了情報を生成する。たとえば、ロボットコントローラ１１１は、把持計画に従って物品を把持した場合、物品の把持に成功したことを示す完了情報を生成する。
【００３７】
また、ロボットコントローラ１１１は、物品の把持に失敗した場合（たとえば、物品を把持できない場合、又は、把持した物品が落下した場合など）、物品の把持に失敗したことを示す完了情報を生成する。
【００３８】
ロボットコントローラ１１１は、生成した完了情報を制御装置１０６に送信する。
【００３９】
たとえば、ロボットコントローラ１１１は、プロセッサなどから構成される。たとえば、ロボットコントローラ１１１は、ＰＣ又はＡＳＩＣ（Application Specific Integrated Circuit）などから構成される。ロボットコントローラ１１１の構成は、特定に構成に限定されるものではない。
【００４０】
次に、制御装置１０６の構成例について説明する。図２は、制御装置１０６の構成例を示すブロック図である。図２が示すように、制御装置１０６は、プロセッサ１１、ＲＯＭ１２、ＲＡＭ１３、ＮＶＭ１４、画像センサインターフェース１５、入出力インターフェース１６、保管装置インターフェース１７及びロボットインターフェース１８などを備える。
【００４１】
プロセッサ１１とＲＯＭ１２、ＲＡＭ１３、ＮＶＭ１４、画像センサインターフェース１５、入出力インターフェース１６、保管装置インターフェース１７及びロボットインターフェース１８と、は、データバスなどを介して互いに接続する。
【００４２】
なお、制御装置１０６は、図２が示すような構成の他に必要に応じた構成を具備したり、制御装置１０６から特定の構成が除外されたりしてもよい。
【００４３】
プロセッサ１１は、制御装置１０６全体の動作を制御する機能を有する。プロセッサ１１は、内部キャッシュ及び各種のインターフェースなどを備えてもよい。プロセッサ１１は、内部メモリ、ＲＯＭ１２又はＮＶＭ１４が予め記憶するプログラムを実行することにより種々の処理を実現する。
【００４４】
なお、プロセッサ１１がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであってもよい。この場合、プロセッサ１１は、ハードウエア回路により実行される機能を制御する。
【００４５】
ＲＯＭ１２は、制御プログラム及び制御データなどが予め記憶された不揮発性のメモリである。ＲＯＭ１２に記憶される制御プログラム及び制御データは、制御装置１０６の仕様に応じて予め組み込まれる。
【００４６】
ＲＡＭ１３は、揮発性のメモリである。ＲＡＭ１３は、プロセッサ１１の処理中のデータなどを一時的に格納する。ＲＡＭ１３は、プロセッサ１１からの命令に基づき種々のアプリケーションプログラムを格納する。また、ＲＡＭ１３は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【００４７】
ＮＶＭ１４は、データの書き込み及び書き換えが可能な不揮発性のメモリである。ＮＶＭ１４は、たとえば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）又はフラッシュメモリなどから構成される。ＮＶＭ１４は、制御装置１０６の運用用途に応じて制御プログラム、アプリケーション及び種々のデータなどを格納する。
【００４８】
画像センサインターフェース１５（第１のインターフェース）は、画像センサ１０２とデータを送受信するためのインターフェースである。たとえば、画像センサインターフェース１５は、画像センサ１０２から撮影画像及び距離情報を取得しプロセッサ１１に送信する。また、画像センサインターフェース１５は、画像センサ１０２に電力を供給するものであってもよい。
【００４９】
入出力インターフェース１６（第２のインターフェース）は、入出力装置１０７とデータを送受信するためのインターフェースである。たとえば、入出力インターフェース１６は、入出力装置１０７に入力された操作を示す信号をプロセッサ１１に送信する。入出力インターフェース１６は、プロセッサ１１の制御に基づいて、入出力装置１０７に表示させる画像データを入出力装置１０７に送信する。また、入出力インターフェース１６は、入出力装置１０７に電力を供給するものであってもよい。
【００５０】
保管装置インターフェース１７（第４のインターフェース）は、保管装置１０９とデータを送受信するためのインターフェースである。たとえば、保管装置インターフェース１７は、プロセッサ１１の制御に基づいて、保管装置１０９に格納するデータを保管装置１０９に送信する。また、保管装置インターフェース１７は、保管装置１０９に電力を供給するものであってもよい。
【００５１】
ロボットインターフェース１８（第３のインターフェース）は、ロボットコントローラ１１１とデータを送受信するためのインターフェースである。たとえば、ロボットインターフェース１８は、プロセッサ１１の制御に従って把持計画をロボットコントローラ１１１に送信する。
【００５２】
次に、制御装置１０６が実現する機能について説明する。制御装置１０６が実現する機能は、プロセッサ１１がＲＯＭ１２又はＮＶＭ１４などに格納されるプログラムを実行することで実現される。
【００５３】
まず、プロセッサ１１は、画像センサ１０２を用いて物品群１０１の撮影画像及び距離情報を取得する機能を有する。
【００５４】
ここでは、所定の領域に物品群１０１が積載されているものとする。
【００５５】
たとえば、プロセッサ１１は、入出力装置１０７を通じてオペレータから所定の操作の入力を受け付けると、画像センサインターフェース１５を通じて撮影画像及び距離情報を要求する信号を画像センサ１０２に送信する。
【００５６】
画像センサ１０２は、当該信号を受信すると、物品群１０１を撮影し撮影画像を取得する。また、画像センサ１０２は、物品群１０１の各部との距離を測定し距離情報を生成する。画像センサ１０２は、画像センサインターフェース１５を通じて撮影画像及び距離情報をプロセッサ１１に送信する。
【００５７】
プロセッサ１１は、画像センサインターフェース１５を通じて、画像センサ１０２から撮影画像及び距離情報を取得する。
【００５８】
なお、プロセッサ１１は、所定の領域に物品群１０１が積載されたことを検知すると、画像センサインターフェース１５を通じて撮影画像及び距離情報を要求する信号を画像センサ１０２に送信してもよい。
【００５９】
また、プロセッサ１１は、撮影画像及び距離情報に基づいて物品群１０１の個々の物品を認識する機能を備える。
【００６０】
プロセッサ１１は、１つの物品の面（たとえば、上面）を認識する。たとえば、プロセッサ１１は、３次元空間において物品の上面が写る領域（物品領域）を特定する。
【００６１】
たとえば、プロセッサ１１は、撮影画像からエッジを検出する。プロセッサ１１は、検出したエッジに基づき認識される領域を距離情報から抽出する。プロセッサ１１は、距離情報から抽出された領域を物品領域として特定する。
【００６２】
また、プロセッサ１１は、距離情報から物品領域として平面領域を抽出してもよい。たとえば、プロセッサ１１は、ＲＡＮＳＡＣ（Random Sample Consensus）による平面検出法などを用いて平面領域を抽出する。
【００６３】
また、プロセッサ１１は、入出力装置１０７を通じて、把持部モデル２０１の位置及び角度の入力を受け付ける機能を有する。
【００６４】
プロセッサ１１は、入出力装置１０７を通じて、把持部モデル２０１の位置及び把持角度の入力を受け付けるための画面を表示する。プロセッサ１１は、撮影画像及び距離情報などに基づいて物品群１０１の三次元画像（３Ｄ画像）を入出力装置１０７に表示する。
【００６５】
図３は、プロセッサ１１が把持位置及び把持角度の入力を受け付けるために表示する画面の例を示す。図３が示すように、プロセッサ１１は、物品群１０１を上部から見た３Ｄ画像（物品画像）を表示する。
【００６６】
ここでは、物品群１０１は、上部から見える物品として物品３０１及び物品３０２を備えるものとする。
【００６７】
プロセッサ１１は、物品に重ねて物品領域を表示する。図３が示す例では、プロセッサ１１は、物品領域４０１及び物品領域４０２を表示する。
【００６８】
物品領域４０１及び物品領域４０２は、それぞれ物品３０１及び物品３０２の上面を示す。
【００６９】
また、プロセッサ１１は、物品群１０１の３Ｄ画像上に把持部モデル２０１を表示する。把持部モデル２０１は、把持部１０３をモデル化したものである。把持部モデル２０１は、把持部１０３の大きさ及び形状に形成される。また、把持部モデル２０１は、半透明に形成される。
【００７０】
また、プロセッサ１１は、把持部モデル２０１の内部に吸着パットモデル２１１を表示する。吸着パットモデル２１１は、吸着パット１０４をモデル化したものである。吸着パットモデル２１１は、吸着パット１０４の大きさ、形状及び位置に形成される。ここでは、プロセッサ１１は、複数の吸着パット１０４にそれぞれ対応する複数の吸着パットモデル２１１を表示する。
【００７１】
プロセッサ１１は、吸着パット１０４の圧力を制御する弁のうち、共通する弁に接続する吸着パット１０４を示す情報を表示する。即ち、プロセッサ１１は、共通する弁に接続する吸着パット１０４に対応する吸着パットモデル２１１を明示する。
【００７２】
図３が示す例では、プロセッサ１１は、吸着パットモデル２１１の円内のパターンによって共通する弁に接続する吸着パット１０４を表示する。プロセッサ１１は、同一のパターンで表示される吸着パットモデル２１１を、共通する弁に接続する吸着パット１０４の吸着パットモデル２１１として表示する。たとえば、プロセッサ１１は、斜線、格子又はドットのパターンなどで共通する弁に接続する吸着パット１０４の吸着パットモデル２１１を表示する。
【００７３】
なお、プロセッサ１１は、共通する弁に接続する吸着パット１０４の吸着パットモデル２１１を線で囲ってもよい。プロセッサ１１が、共通する弁に接続する吸着パット１０４を表示する方法は、特定の方法に限定されるものではない。
【００７４】
また、プロセッサ１１は、物品領域（即ち、物品）と吸着パットモデル２１１との距離を表示する。図３が示す例では、プロセッサ１１は、物品領域４０２と吸着パットモデル２１１との距離を表示する。たとえば、プロセッサ１１は、各吸着パットモデル２１１と物品領域４０２の距離として、把持部モデル２０１の位置及び角度と形状とに基づいて算出された吸着パット１０４の先端の座標と物品領域４０２との最短距離を求める。なお、プロセッサ１１が物品領域４０２と吸着パットモデル２１１との距離を算出する方法は、特定の方法に限定されるものではない。
【００７５】
ここでは、プロセッサ１１は、当該距離を把持部モデル２０１の色で表示する。たとえば、プロセッサ１１は、当該距離が所定の閾値よりも遠い場合、把持部モデル２０１の色を付与しない（把持部モデル２０１を透明とする）。
【００７６】
また、プロセッサ１１は、当該距離が、把持部１０３が物品を把持するために適切な範囲である場合には、把持部モデル２０１の色を所定の色（たとえば、青）とする。
【００７７】
また、プロセッサ１１は、当該距離が、把持部１０３が物品に近すぎることを示す値である場合には、把持部モデル２０１の色を他の所定の色（たとえば、赤）とする。
【００７８】
なお、プロセッサ１１は、当該距離を数値で表示してもよい。
【００７９】
また、プロセッサ１１は、入出力装置１０７から、物品群１０１を表示する視点の位置及び角度を変更する操作の入力を受け付ける。
【００８０】
たとえば、プロセッサ１１は、入出力装置１０７を通じてドラッグ操作などの入力を受け付ける。プロセッサ１１は、入力されたドラッグ操作に従って、視点の位置を移動する。
【００８１】
また、プロセッサ１１は、入出力装置１０７を通じて画面のスクロールの入力を受け付ける。プロセッサ１１は、入力されたスクロールに従って、回転軸と回転角度から算出されたクォータニオンなどを用いて視点を回転する。
【００８２】
即ち、プロセッサ１１は、距離情報などに基づいて、物品群１０１を異なる視点から見た３Ｄ画像を表示する。
【００８３】
プロセッサ１１は、入力された操作に従って物品群１０１の表示を更新する。
【００８４】
図４は、プロセッサ１１が視点を回転した場合の表示例を示す。図４が示すように、プロセッサ１１は、所定の角度からの視点で物品群１０１を表示する。図４が示すように、プロセッサ１１は、距離情報に基づいて当該視点から見た３Ｄ画像を表示する。
【００８５】
また、プロセッサ１１は、把持部モデル２０１及び吸着パットモデル２１１も当該視点から見た状態で表示する。
【００８６】
プロセッサ１１は、入出力装置１０７から、当該画面に表示される把持部モデル２０１を用いて、オペレータから把持部モデル２０１の位置及び角度の入力を受け付ける。たとえば、プロセッサ１１は、画面上のカーソルの位置で把持部モデル２０１の座標（たとえば、中心座標）の入力を受け付ける。また、プロセッサ１１は、把持部モデル２０１のドラッグ操作によって、把持部モデル２０１の座標の入力を受け付けてもよい。また、プロセッサ１１は、キー入力又はスクロールバーなどによって把持部モデル２０１の座標の入力を受け付けてもよい。
【００８７】
また、プロセッサ１１は、ドラッグ操作によって把持部モデル２０１の角度の入力を受け付ける。また、プロセッサ１１は、キー入力又はスクロールバーなどによって把持部モデル２０１の座標の入力を受け付けてもよい。
【００８８】
プロセッサ１１は、入出力装置１０７を通じて所定の操作を受け付けると、把持部モデル２０１の位置及び角度を確定する。
【００８９】
プロセッサ１１が把持部モデル２０１の位置及び角度の入力を受け付ける方法は、特定の方法に限定されるものではない。
【００９０】
また、プロセッサ１１は、入力された把持部モデル２０１の位置及び角度に基づいて、把持計画を生成する機能を有する。
【００９１】
プロセッサ１１は、把持部１０３が物品を吸着しやすくなるように位置及び角度を修正して、把持位置及び把持角度として修正した位置及び角度を示す把持計画を生成する。
【００９２】
たとえば、プロセッサ１１は、入力された把持部モデル２０１の位置及び角度を、各吸着パットモデル２１１と物品領域（たとえば、把持部モデル２０１が覆う物品領域）との距離が適切な距離（たとえば、把持に最適な距離）となるように修正する。即ち、プロセッサ１１は、各吸着パットモデル２１１と物品領域（又は、物品）との距離が所定の距離となるように、把持部モデル２０１の位置及び角度を修正する。たとえば、プロセッサ１１は、ＩＣＰ（Iterative Closet Point）又は最急下降法を用いて、把持部モデル２０１の位置及び角度を修正する。
【００９３】
なお、プロセッサ１１は、各吸着パットモデル２１１と距離情報において物品の点群（把持部モデル２０１と所定の距離内にある点群）との距離が所定の距離となるように、入力された把持部モデル２０１の位置及び角度を修正してもよい。
【００９４】
また、プロセッサ１１は、入力された把持部モデル２０１の位置及び角度を、把持部モデル２０１と物品領域（又は、物品）との距離が適切な距離となるように修正してもよい。
【００９５】
プロセッサ１１は、把持位置及び把持角度として修正した位置及び角度を示す把持計画を生成する。
【００９６】
なお、プロセッサ１１が把持部モデル２０１の位置及び角度から把持計画を生成する方法は、特定の方法に限定されるものではない。
【００９７】
図５は、修正前の把持部モデル２０１の位置及び角度を示す。図６は、修正後の把持部モデル２０１の位置及び角度を示す。
【００９８】
ここでは、オペレータは、物品３０２を把持するため把持部モデル２０１の位置及び角度を入力したものとする。
【００９９】
図５が示すように、把持部モデル２０１は、物品３０２を覆う位置に形成される。また、図５が示す例では、把持部モデル２０１の各吸着パットモデル２１１と物品領域４０１（又は、物品３０２の点群）との距離は、適切ではない。
【０１００】
図６が示すように、把持部モデル２０１は、物品３０２に沿って形成される。把持部モデル２０１は、物品３０２の上面に平行に形成される。図６が示す例では、把持部モデル２０１の各吸着パットモデル２１１と物品領域４０１（又は、物品３０２の点群）との距離は、適切である。
【０１０１】
また、プロセッサ１１は、把持計画を入出力装置１０７に表示する。プロセッサ１１は、入出力装置１０７を通じて所定の操作の入力を受け付けると、把持計画を確定する。
【０１０２】
図７は、プロセッサ１１が把持計画を表示する画面の例を示す。ここでは、プロセッサ１１は、物品３０２の把持計画を表示する。図７が示すように、プロセッサ１１は、把持計画が示す把持位置及び把持角度に把持部モデル２０１を表示する。
【０１０３】
また、プロセッサ１１は、ロボットインターフェース１８を通じて把持計画をロボットコントローラ１１１に送信する機能を有する。
【０１０４】
プロセッサ１１は、把持計画を生成すると、ロボットインターフェース１８を通じて把持計画をロボットコントローラ１１１に送信する。
【０１０５】
ロボットコントローラ１１１に送信していない把持計画が複数ある場合、プロセッサ１１は、複数の把持計画から１つの把持計画を選択する。
【０１０６】
たとえば、プロセッサ１１は、複数の把持計画からより上部にある物品の把持計画を選択する。
【０１０７】
また、プロセッサ１１は、各把持計画の経路計画を策定してもよい。プロセッサ１１は、経路が他の物品などに接触しない経路計画の把持計画を選択する。
【０１０８】
プロセッサ１１が把持計画を選択する方法は、特定の方法に限定されるものではない。
【０１０９】
プロセッサ１１は、ロボットインターフェース１８を通じて、選択した把持計画をロボットコントローラ１１１に送信する。
【０１１０】
ロボットコントローラ１１１は、把持計画に従ってピッキングロボット１０を制御して荷物を把持する。
【０１１１】
また、プロセッサ１１は、ピッキングロボット１０が荷物の把持に成功したか否かを示す完了情報と把持計画とを対応付けて保管装置１０９に格納する機能を有する。
【０１１２】
プロセッサ１１は、把持計画をロボットコントローラ１１１に送信すると、ロボットコントローラ１１１から完了情報を受信する。プロセッサ１１は、保管装置インターフェース１７を通じて、送信した把持計画と受信した完了情報とを対応付けて保管装置１０９に格納する。
【０１１３】
次に、制御装置１０６の動作例について説明する。図８は、制御装置１０６の動作例について説明するためのフローチャートである。
【０１１４】
制御装置１０６のプロセッサ１１は、把持計画の策定を行う（Ｓ１）。プロセッサ１１は、把持計画の策定と同時に、把持計画の送信を行う（Ｓ２）。
【０１１５】
把持計画の策定及び把持計画の送信を終了すると、プロセッサ１１は、動作を終了する。
【０１１６】
次に、把持計画の策定（Ｓ１）の動作例について説明する。
【０１１７】
図９は、把持計画の策定（Ｓ１）の動作例について説明するためのフローチャートである。
【０１１８】
まず、プロセッサ１１は、画像センサインターフェース１５を通じて画像センサ１０２から撮影画像及び距離情報を取得する（Ｓ１１）。撮影画像及び距離情報を取得すると、プロセッサ１１は、撮影画像及び距離情報に基づいて物品領域を認識する（Ｓ１２）。
【０１１９】
物品領域を認識すると、プロセッサ１１は、入出力装置１０７に物品群１０１の３Ｄ画像を表示する（Ｓ１３）。物品群１０１の３Ｄ画像を表示すると、プロセッサ１１は、物品群１０１の３Ｄ画像に重ねて物品領域を表示する（Ｓ１４）。
【０１２０】
物品領域を表示すると、プロセッサ１１は、物品群１０１の３Ｄ画像に重ねて把持部モデル２０１を表示する（Ｓ１５）。把持部モデル２０１を表示すると、プロセッサ１１は、入出力装置１０７から視点を移動する操作の入力を受け付けたか判定する（Ｓ１６）。
【０１２１】
視点を移動する操作の入力を受け付けたと判定すると（Ｓ１６、ＹＥＳ）、プロセッサ１１は、入力された操作に従って物品群１０１の３Ｄ画像の表示を更新する（Ｓ１７）。
【０１２２】
視点を移動する操作の入力を受け付けていないと判定した場合（Ｓ１６、ＮＯ）、又は、物品群１０１の３Ｄ画像の表示を更新した場合（Ｓ１７）、プロセッサ１１は、入出力装置１０７から把持部モデル２０１の位置又は角度の入力を受け付けたか判定する（Ｓ１８）。
【０１２３】
把持部モデル２０１の位置又は角度の入力を受け付けたと判定すると（Ｓ１８、ＹＥＳ）、プロセッサ１１は、把持部モデル２０１の表示を更新する（Ｓ１９）。把持部モデル２０１の表示を更新すると、プロセッサ１１は、把持部モデル２０１と物品領域との距離の表示を更新する（Ｓ２０）。
【０１２４】
把持部モデル２０１の位置又は角度の入力を受け付けていないと判定した場合（Ｓ１８、ＮＯ）、又は、距離の表示を更新した場合（Ｓ２０）、プロセッサ１１は、把持部モデル２０１の位置又は角度の入力を確定する操作を受け付けたか判定する（Ｓ２１）。
【０１２５】
把持部モデル２０１の位置又は角度の入力を確定する操作を受け付けていないと判定すると（Ｓ２１、ＮＯ）、プロセッサ１１は、Ｓ１６に戻る。
【０１２６】
把持部モデル２０１の位置又は角度の入力を確定する操作を受け付けたと判定すると（Ｓ２１、ＹＥＳ）、プロセッサ１１は、把持部モデル２０１の位置及び角度を修正する（Ｓ２２）。
【０１２７】
把持部モデル２０１の位置及び角度を修正すると、プロセッサ１１は、修正した位置及び角度に従って把持部モデル２０１を表示する（Ｓ２３）。把持部モデル２０１を表示すると、プロセッサ１１は、把持計画を確定する操作の入力を受け付けたか判定する（Ｓ２４）。
【０１２８】
把持計画を確定する操作の入力を受け付けなかったと判定すると（Ｓ２４、ＮＯ）、プロセッサ１１は、Ｓ１６に戻る。
【０１２９】
把持計画を確定する操作の入力を受け付けたと判定すると（Ｓ２４、ＹＥＳ）、プロセッサ１１は、修正した位置及び角度を把持位置及び把持角度として示す把持計画を生成する（Ｓ２５）。
【０１３０】
把持計画を生成すると、プロセッサ１１は、把持計画の生成を終了するか判定する（Ｓ２５）。たとえば、プロセッサ１１は、把持計画の生成を終了する操作の入力を受け付けたか判定する。また、プロセッサ１１は、物品群１０１の各物品の把持計画を策定した場合、把持計画の生成を終了すると判定してもよい。
【０１３１】
把持計画の生成を終了しないと判定すると（Ｓ２５、ＮＯ）、プロセッサ１１は、Ｓ１１に戻る。
【０１３２】
把持計画の生成を終了すると判定すると（Ｓ２５、ＹＥＳ）、プロセッサ１１は、動作を終了する。
【０１３３】
次に、把持計画の送信（Ｓ２）の動作例について説明する。
【０１３４】
図１０は、把持計画の送信（Ｓ２）の動作例について説明するためのフローチャートである。
【０１３５】
プロセッサ１１は、生成した把持計画を取得する（Ｓ３１）。把持計画を取得すると、プロセッサ１１は、把持計画が複数あるか判定する（Ｓ３２）。把持計画が複数あると判定すると（Ｓ３２、ＹＥＳ）、プロセッサ１１は、複数の把持計画から把持計画を選択する（Ｓ３３）。
【０１３６】
把持計画が１つであると判定した場合（Ｓ３２、ＮＯ）、又は、把持計画を選択した場合（Ｓ３３）、プロセッサ１１は、ロボットインターフェース１８を通じて、選択した把持計画（Ｓ３２、ＮＯの場合、取得した把持計画）をロボットコントローラ１１１に送信する（Ｓ３４）。
【０１３７】
把持計画を送信すると、プロセッサ１１は、ロボットインターフェース１８を通じて、完了情報を受信する（Ｓ３５）。完了情報を受信すると、プロセッサ１１は、保管装置インターフェース１７を通じて、送信した把持計画と受信した完了情報とを対応付けて保管装置１０９に格納する（Ｓ３６）。
【０１３８】
送信した把持計画と受信した完了情報とを対応付けて保管装置１０９に格納すると、プロセッサ１１は、把持計画の送信を終了するか判定する（Ｓ３７）。たとえば、プロセッサ１１は、把持計画の送信を終了する操作の入力を受け付けたか判定する。また、プロセッサ１１は、物品群１０１の各物品のピッキングが完了した場合、把持計画の送信を終了すると判定してもよい。
【０１３９】
把持計画の送信を終了しないと判定すると（Ｓ３７、ＮＯ）、プロセッサ１１は、Ｓ３１に戻る。
【０１４０】
把持計画の送信を終了すると判定すると（Ｓ３７、ＹＥＳ）、プロセッサ１１は、動作を終了する。
【０１４１】
なお、プロセッサ１１は、複数の把持計画をロボットコントローラ１１１に送信してもよい。
【０１４２】
また、プロセッサ１１は、Ｓ１において、ピッキングロボット１０が物品をピッキングした場合に、Ｓ１１に戻ってもよい。この場合、プロセッサ１１は、Ｓ２６、ＮＯの場合、Ｓ１６に戻ってもよい。
【０１４３】
また、プロセッサ１１は、Ｓ１１に戻った場合、物品領域の前の認識結果を用いてもよい。たとえば、プロセッサ１１は、直前の撮影画像と今回の撮影画像とに差がない領域において前の物品領域を用いてもよい。
【０１４４】
また、プロセッサ１１は、物品領域を認識しなくともよい。プロセッサ１１は、物品群１０１の３Ｄ画像を表示して、把持部モデル２０１の位置及び角度の入力を受け付けてもよい。
【０１４５】
また、プロセッサ１１は、物品領域を認識できない場合に、把持部モデル２０１の位置及び角度の入力を受け付けてもよい。
【０１４６】
以上のように構成された制御装置は、物品群の撮影画像及び物品群の距離情報に基づいて画面に物品群の３Ｄ画像を表示する。制御装置は、オペレータから物品群を見る視点の位置及び角度の入力を受け付け、当該入力に従って物品群の３Ｄ画像を表示する。また、制御装置は、物品群の３Ｄ画像を表示した画面上で、物品群の物品を把持するための把持部の位置及び角度の入力を受け付ける。制御装置は、入力された位置及び角度に基づいて、把持部が物品を把持する把持位置及び把持角度を示す把持計画を生成する。その結果、制御装置は、オペレータが画面を見ながら入力した把持部の位置及び角度に基づいて把持計画を生成することができる。よって、制御装置は、適切な把持計画を生成することができる。
【０１４７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１４８】
１…ピッキングシステム、１０…ピッキングロボット、１１…プロセッサ、１２…ＲＯＭ、１３…ＲＡＭ、１４…ＮＶＭ、１５…画像センサインターフェース、１６…入出力インターフェース、１７…保管装置インターフェース、１８…ロボットインターフェース、１０１…物品群、１０２…画像センサ、１０３…把持部、１０４…吸着パット、１０５…ロボットアーム、１０６…制御装置、１０７…入出力装置、１０９…保管装置、１１１…ロボットコントローラ、２０１…把持部モデル、２１１…吸着パットモデル、３０１…物品、３０２…物品、４０１…物品領域、４０２…物品領域。
【図１】
2020131296.tif 000003
【図２】
2020131296.tif 000004
【図３】
2020131296.tif 000005
【図４】
2020131296.tif 000006
【図５】
2020131296.tif 000007
【図６】
2020131296.tif 000008
【図７】
2020131296.tif 000009
【図８】
2020131296.tif 000010
【図９】
2020131296.tif 000011
【図１０】
2020131296.tif 000012