(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-05
(45)【発行日】2023-01-16
(54)【発明の名称】制御装置及びプログラム
(51)【国際特許分類】
B25J 9/22 20060101AFI20230106BHJP
【FI】
B25J9/22 A
(21)【出願番号】P 2019023417
(22)【出願日】2019-02-13
【審査請求日】2022-01-17
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100075672
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】渡辺 優香
(72)【発明者】
【氏名】関谷 健一
(72)【発明者】
【氏名】佐藤 昌孝
【審査官】仁木 学
(56)【参考文献】
【文献】特開2018-176311(JP,A)
【文献】米国特許出願公開第2018/0345483(US,A1)
【文献】特開2016-181183(JP,A)
【文献】特開2018-182217(JP,A)
【文献】特開2017-148908(JP,A)
【文献】特開平11-033955(JP,A)
【文献】特開2017-080886(JP,A)
【文献】特開2016-132086(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ー 21/02
(57)【特許請求の範囲】
【請求項1】
物品を撮影した撮影画像を取得する第1のインターフェースと、
入出力装置とデータを送受信する第2のインターフェースと、
前記撮影画像に基づく物品画像を前記入出力装置に表示させ、
前記第2のインターフェースを通じて前記入出力装置から前記物品を把持する把持部の把持部モデルの位置及び角度の入力を受け付け、
前記物品画像上に前記位置及び前記角度で前記把持部モデルを表示させ、
前記位置及び角度に基づいて、前記把持部が前記物品を把持する把持位置及び把持角度を示す把持計画を生成する、
プロセッサと、
前記把持部を備える把持装置の制御部に前記把持計画を送信する第3のインターフェースと、
を備え
、
前記プロセッサは、
前記把持部が備える吸着パットの吸着パットモデルを表示し、
前記吸着パットの圧力を制御する弁のうち、共通する弁に接続する前記吸着パットを示す情報を表示する、
制御装置。
【請求項2】
物品を撮影した撮影画像を取得する第1のインターフェースと、
入出力装置とデータを送受信する第2のインターフェースと、
前記撮影画像に基づく物品画像を前記入出力装置に表示させ、
前記第2のインターフェースを通じて前記入出力装置から前記物品を把持する把持部の把持部モデルの位置及び角度の入力を受け付け、
前記物品画像上に前記位置及び前記角度で前記把持部モデルを表示させ、
前記位置及び角度に基づいて、前記把持部が前記物品を把持する把持位置及び把持角度を示す把持計画を生成する、
プロセッサと、
前記把持部を備える把持装置の制御部に前記把持計画を送信する第3のインターフェースと、
を備え、
前記プロセッサは、
前記把持部が備える吸着パットの吸着パットモデルを表示し、
前記吸着パットモデルと物品との距離が所定の距離となるように前記位置及び前記角度を修正し、前記把持位置及び前記把持角度として修正した前記位置及び前記角度を示す前記把持計画を生成する、
制御装置。
【請求項3】
前記プロセッサは、前記把持部モデルを半透明で表示する、
請求項
1又は2に記載の制御装置。
【請求項4】
前記第1のインターフェースは、前記物品までの距離を測定した距離情報をさらに取得し、
前記物品画像は、前記距離情報に基づく三次元画像である、
請求項
1乃至3の何れか1項に記載の制御装置。
【請求項5】
前記プロセッサは、
前記入出力装置を通じて、前記三次元画像を表示する視点を変更する操作を受け付け、
前記操作に従って、前記三次元画像の表示を更新する、
請求項
4に記載の制御装置。
【請求項6】
前記プロセッサは、
前記撮影画像及び前記距離情報に基づいて、前記物品を表示する物品領域を認識し、 前記三次元画像上に前記物品領域を表示する、
請求項
4又は5に記載の制御装置。
【請求項7】
前記プロセッサは、前記物品と前記吸着パットとの距離を表示する、
請求項
1乃至6の何れか1項に記載の制御装置。
【請求項8】
前記プロセッサは、前記吸着パットモデルと物品との距離が所定の距離となるように前記位置及び前記角度を修正し、前記把持位置及び前記把持角度として修正した前記位置及び前記角度を示す前記把持計画を生成する、
請求項
1乃至7の何れか1項に記載の制御装置。
【請求項9】
前記プロセッサは、複数の前記把持計画から1つの把持計画を選択し、選択された前記把持計画を前記制御部に送信する、
請求項1乃至
8の何れか1項に記載の制御装置。
【請求項10】
保管装置とデータを送受信する第4のインターフェースを備え、
前記プロセッサは、
前記第3のインターフェースを通じて、前記物品の把持に成功したか否かを示す完了情報を受信し、
前記第4のインターフェースを通じて、前記物品画像と前記把持計画と前記完了情報とを前記保管装置に格納する、
請求項1乃至
9の何れか1項に記載の制御装置。
【請求項11】
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
物品を撮影した撮影画像を取得
する機能と、
前記撮影画像に基づく物品画像を入出力装置に表示
する機能と、
入出力装置から前記物品を把持する把持部の把持部モデルの位置及び角度の入力を受け付け
る機能と、
前記物品画像上に前記位置及び前記角度で前記把持部モデルを表示
する機能と、
前記位置及び角度に基づいて、前記把持部が前記物品を把持する把持位置及び把持角度を示す把持計画を生成
する機能と、
前記把持部を備える把持装置の制御部に前記把持計画を送信
する機能と、
前記把持部が備える吸着パットの吸着パットモデルを表示する機能と、
前記吸着パットの圧力を制御する弁のうち、共通する弁に接続する前記吸着パットを示す情報を表示する機能と、
を実現させるプログラム。
【請求項12】
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
物品を撮影した撮影画像を取得する機能と、
前記撮影画像に基づく物品画像を入出力装置に表示する機能と、
入出力装置から前記物品を把持する把持部の把持部モデルの位置及び角度の入力を受け付けさせる機能と、
前記物品画像上に前記位置及び前記角度で前記把持部モデルを表示する機能と、
前記位置及び角度に基づいて、前記把持部が前記物品を把持する把持位置及び把持角度を示す把持計画を生成する機能と、
前記把持部を備える把持装置の制御部に前記把持計画を送信する機能と、
前記把持部が備える吸着パットの吸着パットモデルを表示する機能と、
前記吸着パットモデルと物品との距離が所定の距離となるように前記位置及び前記角度を修正し、前記把持位置及び前記把持角度として修正した前記位置及び前記角度を示す前記把持計画を生成する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、制御装置及びプログラムに関する。
【背景技術】
【0002】
物品をピッキングするピッキングロボットを制御する制御装置には、オペレータから物品の位置の入力を受け付けるものがある。そのような制御装置は、入力された物品の位置などに基づいて、ピッキングするピッキングロボットが物品を把持する把持位置及び把持角度などを示す把持計画を策定する。
【0003】
従来、制御装置は、適切な把持位置及び把持角度を求めることができない場合がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の課題を解決するため、適切に把持計画を生成することができる制御装置及びプログラムを提供する。
【課題を解決するための手段】
【0006】
実施形態によれば、制御装置は、第1のインターフェースと、第2のインターフェースと、プロセッサと、第3のインターフェースと、を備える。第1のインターフェースは、物品を撮影した撮影画像を取得する。第2のインターフェースは、入出力装置とデータを送受信する。プロセッサは、前記撮影画像に基づく物品画像を前記入出力装置に表示させ、前記第2のインターフェースを通じて前記入出力装置から前記物品を把持する把持部の把持部モデルの位置及び角度の入力を受け付け、前記物品画像上に前記位置及び前記角度で前記把持部モデルを表示させ、前記位置及び角度に基づいて、前記把持部が前記物品を把持する把持位置及び把持角度を示す把持計画を生成する。第3のインターフェースは、前記把持部を備える把持装置の制御部に前記把持計画を送信する。前記プロセッサは、前記把持部が備える吸着パットの吸着パットモデルを表示し、前記吸着パットの圧力を制御する弁のうち、共通する弁に接続する前記吸着パットを示す情報を表示する。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態に係るピッキングシステムの構成例を概略的に示す図である。
【
図2】
図2は、実施形態に係る制御装置の構成例を示すブロック図である。
【
図3】
図3は、実施形態に係る制御装置の表示例を示す図である。
【
図4】
図4は、実施形態に係る制御装置の表示例を示す図である。
【
図5】
図5は、実施形態に係る制御装置に動作例を示す図である。
【
図6】
図6は、実施形態に係る制御装置に動作例を示す図である。
【
図7】
図7は、実施形態に係る把持計画の例を示す図である。
【
図8】
図8は、実施形態に係る制御装置に動作例を示すフローチャートである。
【
図9】
図9は、実施形態に係る制御装置に動作例を示すフローチャートである。
【
図10】
図10は、実施形態に係る制御装置に動作例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら実施形態について説明する。
実施形態に係るピッキングシステムは、所定の物品をピッキングする。ピッキングシステムは、先端に把持部が形成されるロボットアームを用いて物品をピッキングする。ピッキングシステムは、複数の物品が積載して形成された物品群から物品をピッキングする。ピッキングシステムは、ピッキングした物品を倉庫又は容器など所定の領域(積載領域)に積載する。
【0009】
ピッキングシステムは、物流センサ又は倉庫などで用いられる。ピッキングシステムがピッキングする物品及びピッキングシステムの用途は、特定の構成に限定されるものではない。
【0010】
図1は、実施形態に係るピッキングシステム1の構成例を概略的に示す。
図1が示す例では、ピッキングシステム1は、物品群101から物品をピッキングする。
図1が示すように、ピッキングシステム1は、ピッキングロボット10、画像センサ102、制御装置106、入出力装置107、保管装置109及びロボットコントローラ111など備える。
【0011】
なお、ピッキングシステム1は、
図1が示すような構成の他に必要に応じた構成を具備したり、ピッキングシステム1から特定の構成が除外されたりしてもよい。
【0012】
物品群101は、複数の物品から構成される。物品群101は、複数の物品が重なった状態に形成される。物品群101は、所定の領域に配置される。たとえば、物品群101は、所定のケース内に配置される。また、物品群101は、所定の倉庫などに配置されるものであってもよい。
【0013】
物品群101を構成する物品は、矩形に形成される箱などであってもよい。また、物品群101を構成する物品は、袋状に形成されるものであってもよい。たとえば、物品群101を構成する物品は、商品、部品又は荷物などである。物品群101を構成する物品の形状及び用途は、特定の構成に限定されるものではない。
【0014】
制御装置106は、画像センサ102、入出力装置107、保管装置109及びロボットコントローラ111などと接続する。制御装置106は、入出力装置107などから入力された操作などに基づいて把持計画を策定する。把持計画は、後述する把持部103が物品群101を構成する所定の荷物を把持する位置(把持位置)及び把持部103が把持する角度(把持角度)などから構成される。
【0015】
制御装置106は、把持する物品ごとに把持計画を策定する。また、制御装置106は、ロボットコントローラ111に把持計画を送信する。
制御装置106については、後に詳述する。
【0016】
画像センサ102は、物品群101が配置される領域の上方に配置されている。画像センサ102は、物品群101を撮影し撮影画像を取得する。画像センサ102は、撮影画像としてRGBのカラー画像を取得する。
【0017】
また、画像センサ102は、物品群101の各部(又は、物品群101が配置される領域の各部)から画像センサ102までの距離、又は、物品群101の各部から画像センサ102に水平な面まで距離を測定する。
【0018】
画像センサ102は、測定結果に基づいて、所定の基準面からの距離を示す距離情報を生成する。たとえば、距離情報は、所定の三次元座標系における点群の各座標を示すものであってもよい。
【0019】
たとえば、画像センサ102は、例えばステレオカメラである。ステレオカメラは、異なる2点から撮像した際の視差に基づいて画像センサ102と各部との距離を計測する。
【0020】
また、たとえば、画像センサ102は、光源と光源から照射される光の反射光を検出する光センサとを備えるものであってもよい。画像センサ102は、光源から照射される光(可視光又は不可視光)の反射光に基づいて距離を測定する。たとえば、画像センサ102は、照射された光が測定対象で反射し光センサに届くまでの時間に基づいて当該測定対象との距離を測定するToF(Time-of-Flight)方式を行ってもよい。
なお、画像センサ102は、複数のセンサから構成されてもよい。
【0021】
入出力装置107は、オペレータによって、種々の指示が入力される。入出力装置107は、操作者に入力された指示を示す信号を制御装置106へ送信する。入出力装置107は、操作部として、たとえば、キーボード、テンキー、マウス及びタッチパネルなどを備える。
【0022】
また、入出力装置107は、オペレータに対して、種々の情報を表示する。即ち、入出力装置107は、制御装置106からの信号に基づいて、種々の情報を示す画面を表示する。入出力装置107は、表示部として、たとえば、液晶ディスプレイなどを備える。
【0023】
保管装置109は、制御装置106の制御に従って所定のデータを格納する。たとえば、保管装置109は、制御装置106が生成した把持計画を格納する。また、保管装置109は、把持計画に従ってピッキングロボット10がピッキングに成功したか否かを示す情報を当該把持計画に対応付けて格納する。
【0024】
たとえば、保管装置109は、データの書き込み及び書き換えが可能な不揮発性のメモリなどから構成される。保管装置109は、たとえば、HDD(Hard Disk Drive)、SSD(Solid State Drive)又はフラッシュメモリなどから構成される。
【0025】
ピッキングロボット10(把持装置)は、ロボットコントローラ111を接続する。ピッキングロボット10は、ロボットコントローラ111の制御に従って、物品群101から所定の物品をピッキングする。ピッキングロボット10は、ピッキングした物品を所定の積載領域に積載する。
【0026】
ピッキングロボット10は、把持部103、吸着パット104、ロボットアーム105などから構成される。
【0027】
ロボットアーム105は、ロボットコントローラ111の制御によって駆動するマニピュレータである。ロボットアーム105は、棒状のフレーム及びフレームを駆動するモータなどから構成される。
【0028】
把持部103は、ロボットアーム105の先端に設置されている。把持部103は、ロボットアーム105の移動に伴って移動する。把持部103は、ロボットアーム105が所定の方向に移動することにより、物品群101の物品を把持する位置まで移動する。
【0029】
把持部103は、物品群101の物品を把持する。ここでは、把持部103は、吸着パット104を備える。吸着パット104は、物品に吸着する。たとえば、吸着パット104は、真空吸着により物品に吸着する。吸着パット104は、ロボットコントローラ111からの制御に基づいて内部を負圧にする。吸着パット104は、物品の表面に接した状態で内部を負圧にすることで物品の表面に真空吸着する。吸着パット104は、内部の負圧を解除すると、物品を解放する。
【0030】
ここでは、把持部103は、複数の吸着パット104を備える。
【0031】
なお、把持部103には、吸着パット以外の種々の把持機構を採用してよい。たとえば、把持部103は、物品を把持するグリッパを含むものであってよい。グリッパは、複数の指と、複数の指を連結している複数の関節機構とを備える。関節機構は、関節機構の動作に連動して指が動作するように構成されてよい。グリッパは、例えば、複数の指による2点以上の接点で、対向する複数の方向から荷物に対して力を加える。これにより、把持部103は、指と荷物との間に生じる摩擦によって物品を把持する。把持部103の構成は、物品群101の物品を把持可能な種々の把持機構を用いてよく、特定の構成に限定されるものではない。
【0032】
ロボットコントローラ111(制御部)は、制御装置106の制御に従ってピッキングロボット10を制御する。たとえば、ロボットコントローラ111は、制御装置106から把持計画を受信する。ロボットコントローラ111は、把持計画に基づいて、把持部103を把持位置まで移動させる経路を示す経路計画を策定する。たとえば、ロボットコントローラ111は、物品群101の荷物などと把持部103及びロボットアーム105が接触しないように経路計画を策定する。
【0033】
ロボットコントローラ111は、経路計画に従って、把持部103を移動させる。即ち、ロボットコントローラ111は、ロボットアーム105を制御して把持部103を経路計画が示す経路に沿って移動させる。
【0034】
ロボットコントローラ111は、把持部103を移動させると、吸着パット104を制御して吸着パット104を物品群101の物品に吸着させる。ロボットコントローラ111は、物品を吸着させた状態でロボットアーム105を移動させて物品をピッキングする。
【0035】
ロボットコントローラ111は、ロボットアーム105を移動させてピッキングした物品を所定の積載領域まで搬送する。ロボットコントローラ111は、物品を所定の積載領域まで搬送すると、吸着パット104を制御して物品を解放する。
【0036】
また、ロボットコントローラ111は、物品の把持に成功したか否かを示す完了情報を生成する。たとえば、ロボットコントローラ111は、把持計画に従って物品を把持した場合、物品の把持に成功したことを示す完了情報を生成する。
【0037】
また、ロボットコントローラ111は、物品の把持に失敗した場合(たとえば、物品を把持できない場合、又は、把持した物品が落下した場合など)、物品の把持に失敗したことを示す完了情報を生成する。
【0038】
ロボットコントローラ111は、生成した完了情報を制御装置106に送信する。
【0039】
たとえば、ロボットコントローラ111は、プロセッサなどから構成される。たとえば、ロボットコントローラ111は、PC又はASIC(Application Specific Integrated Circuit)などから構成される。ロボットコントローラ111の構成は、特定に構成に限定されるものではない。
【0040】
次に、制御装置106の構成例について説明する。
図2は、制御装置106の構成例を示すブロック図である。
図2が示すように、制御装置106は、プロセッサ11、ROM12、RAM13、NVM14、画像センサインターフェース15、入出力インターフェース16、保管装置インターフェース17及びロボットインターフェース18などを備える。
【0041】
プロセッサ11とROM12、RAM13、NVM14、画像センサインターフェース15、入出力インターフェース16、保管装置インターフェース17及びロボットインターフェース18と、は、データバスなどを介して互いに接続する。
【0042】
なお、制御装置106は、
図2が示すような構成の他に必要に応じた構成を具備したり、制御装置106から特定の構成が除外されたりしてもよい。
【0043】
プロセッサ11は、制御装置106全体の動作を制御する機能を有する。プロセッサ11は、内部キャッシュ及び各種のインターフェースなどを備えてもよい。プロセッサ11は、内部メモリ、ROM12又はNVM14が予め記憶するプログラムを実行することにより種々の処理を実現する。
【0044】
なお、プロセッサ11がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであってもよい。この場合、プロセッサ11は、ハードウエア回路により実行される機能を制御する。
【0045】
ROM12は、制御プログラム及び制御データなどが予め記憶された不揮発性のメモリである。ROM12に記憶される制御プログラム及び制御データは、制御装置106の仕様に応じて予め組み込まれる。
【0046】
RAM13は、揮発性のメモリである。RAM13は、プロセッサ11の処理中のデータなどを一時的に格納する。RAM13は、プロセッサ11からの命令に基づき種々のアプリケーションプログラムを格納する。また、RAM13は、アプリケーションプログラムの実行に必要なデータ及びアプリケーションプログラムの実行結果などを格納してもよい。
【0047】
NVM14は、データの書き込み及び書き換えが可能な不揮発性のメモリである。NVM14は、たとえば、HDD(Hard Disk Drive)、SSD(Solid State Drive)又はフラッシュメモリなどから構成される。NVM14は、制御装置106の運用用途に応じて制御プログラム、アプリケーション及び種々のデータなどを格納する。
【0048】
画像センサインターフェース15(第1のインターフェース)は、画像センサ102とデータを送受信するためのインターフェースである。たとえば、画像センサインターフェース15は、画像センサ102から撮影画像及び距離情報を取得しプロセッサ11に送信する。また、画像センサインターフェース15は、画像センサ102に電力を供給するものであってもよい。
【0049】
入出力インターフェース16(第2のインターフェース)は、入出力装置107とデータを送受信するためのインターフェースである。たとえば、入出力インターフェース16は、入出力装置107に入力された操作を示す信号をプロセッサ11に送信する。入出力インターフェース16は、プロセッサ11の制御に基づいて、入出力装置107に表示させる画像データを入出力装置107に送信する。また、入出力インターフェース16は、入出力装置107に電力を供給するものであってもよい。
【0050】
保管装置インターフェース17(第4のインターフェース)は、保管装置109とデータを送受信するためのインターフェースである。たとえば、保管装置インターフェース17は、プロセッサ11の制御に基づいて、保管装置109に格納するデータを保管装置109に送信する。また、保管装置インターフェース17は、保管装置109に電力を供給するものであってもよい。
【0051】
ロボットインターフェース18(第3のインターフェース)は、ロボットコントローラ111とデータを送受信するためのインターフェースである。たとえば、ロボットインターフェース18は、プロセッサ11の制御に従って把持計画をロボットコントローラ111に送信する。
【0052】
次に、制御装置106が実現する機能について説明する。制御装置106が実現する機能は、プロセッサ11がROM12又はNVM14などに格納されるプログラムを実行することで実現される。
【0053】
まず、プロセッサ11は、画像センサ102を用いて物品群101の撮影画像及び距離情報を取得する機能を有する。
【0054】
ここでは、所定の領域に物品群101が積載されているものとする。
【0055】
たとえば、プロセッサ11は、入出力装置107を通じてオペレータから所定の操作の入力を受け付けると、画像センサインターフェース15を通じて撮影画像及び距離情報を要求する信号を画像センサ102に送信する。
【0056】
画像センサ102は、当該信号を受信すると、物品群101を撮影し撮影画像を取得する。また、画像センサ102は、物品群101の各部との距離を測定し距離情報を生成する。画像センサ102は、画像センサインターフェース15を通じて撮影画像及び距離情報をプロセッサ11に送信する。
【0057】
プロセッサ11は、画像センサインターフェース15を通じて、画像センサ102から撮影画像及び距離情報を取得する。
【0058】
なお、プロセッサ11は、所定の領域に物品群101が積載されたことを検知すると、画像センサインターフェース15を通じて撮影画像及び距離情報を要求する信号を画像センサ102に送信してもよい。
【0059】
また、プロセッサ11は、撮影画像及び距離情報に基づいて物品群101の個々の物品を認識する機能を備える。
【0060】
プロセッサ11は、1つの物品の面(たとえば、上面)を認識する。たとえば、プロセッサ11は、3次元空間において物品の上面が写る領域(物品領域)を特定する。
【0061】
たとえば、プロセッサ11は、撮影画像からエッジを検出する。プロセッサ11は、検出したエッジに基づき認識される領域を距離情報から抽出する。プロセッサ11は、距離情報から抽出された領域を物品領域として特定する。
【0062】
また、プロセッサ11は、距離情報から物品領域として平面領域を抽出してもよい。たとえば、プロセッサ11は、RANSAC(Random Sample Consensus)による平面検出法などを用いて平面領域を抽出する。
【0063】
また、プロセッサ11は、入出力装置107を通じて、把持部モデル201の位置及び角度の入力を受け付ける機能を有する。
【0064】
プロセッサ11は、入出力装置107を通じて、把持部モデル201の位置及び把持角度の入力を受け付けるための画面を表示する。プロセッサ11は、撮影画像及び距離情報などに基づいて物品群101の三次元画像(3D画像)を入出力装置107に表示する。
【0065】
図3は、プロセッサ11が把持位置及び把持角度の入力を受け付けるために表示する画面の例を示す。
図3が示すように、プロセッサ11は、物品群101を上部から見た3D画像(物品画像)を表示する。
【0066】
ここでは、物品群101は、上部から見える物品として物品301及び物品302を備えるものとする。
【0067】
プロセッサ11は、物品に重ねて物品領域を表示する。
図3が示す例では、プロセッサ11は、物品領域401及び物品領域402を表示する。
【0068】
物品領域401及び物品領域402は、それぞれ物品301及び物品302の上面を示す。
【0069】
また、プロセッサ11は、物品群101の3D画像上に把持部モデル201を表示する。把持部モデル201は、把持部103をモデル化したものである。把持部モデル201は、把持部103の大きさ及び形状に形成される。また、把持部モデル201は、半透明に形成される。
【0070】
また、プロセッサ11は、把持部モデル201の内部に吸着パットモデル211を表示する。吸着パットモデル211は、吸着パット104をモデル化したものである。吸着パットモデル211は、吸着パット104の大きさ、形状及び位置に形成される。ここでは、プロセッサ11は、複数の吸着パット104にそれぞれ対応する複数の吸着パットモデル211を表示する。
【0071】
プロセッサ11は、吸着パット104の圧力を制御する弁のうち、共通する弁に接続する吸着パット104を示す情報を表示する。即ち、プロセッサ11は、共通する弁に接続する吸着パット104に対応する吸着パットモデル211を明示する。
【0072】
図3が示す例では、プロセッサ11は、吸着パットモデル211の円内のパターンによって共通する弁に接続する吸着パット104を表示する。プロセッサ11は、同一のパターンで表示される吸着パットモデル211を、共通する弁に接続する吸着パット104の吸着パットモデル211として表示する。たとえば、プロセッサ11は、斜線、格子又はドットのパターンなどで共通する弁に接続する吸着パット104の吸着パットモデル211を表示する。
【0073】
なお、プロセッサ11は、共通する弁に接続する吸着パット104の吸着パットモデル211を線で囲ってもよい。プロセッサ11が、共通する弁に接続する吸着パット104を表示する方法は、特定の方法に限定されるものではない。
【0074】
また、プロセッサ11は、物品領域(即ち、物品)と吸着パットモデル211との距離を表示する。
図3が示す例では、プロセッサ11は、物品領域402と吸着パットモデル211との距離を表示する。たとえば、プロセッサ11は、各吸着パットモデル211と物品領域402の距離として、把持部モデル201の位置及び角度と形状とに基づいて算出された吸着パット104の先端の座標と物品領域402との最短距離を求める。なお、プロセッサ11が物品領域402と吸着パットモデル211との距離を算出する方法は、特定の方法に限定されるものではない。
【0075】
ここでは、プロセッサ11は、当該距離を把持部モデル201の色で表示する。たとえば、プロセッサ11は、当該距離が所定の閾値よりも遠い場合、把持部モデル201の色を付与しない(把持部モデル201を透明とする)。
【0076】
また、プロセッサ11は、当該距離が、把持部103が物品を把持するために適切な範囲である場合には、把持部モデル201の色を所定の色(たとえば、青)とする。
【0077】
また、プロセッサ11は、当該距離が、把持部103が物品に近すぎることを示す値である場合には、把持部モデル201の色を他の所定の色(たとえば、赤)とする。
【0078】
なお、プロセッサ11は、当該距離を数値で表示してもよい。
【0079】
また、プロセッサ11は、入出力装置107から、物品群101を表示する視点の位置及び角度を変更する操作の入力を受け付ける。
【0080】
たとえば、プロセッサ11は、入出力装置107を通じてドラッグ操作などの入力を受け付ける。プロセッサ11は、入力されたドラッグ操作に従って、視点の位置を移動する。
【0081】
また、プロセッサ11は、入出力装置107を通じて画面のスクロールの入力を受け付ける。プロセッサ11は、入力されたスクロールに従って、回転軸と回転角度から算出されたクォータニオンなどを用いて視点を回転する。
【0082】
即ち、プロセッサ11は、距離情報などに基づいて、物品群101を異なる視点から見た3D画像を表示する。
【0083】
プロセッサ11は、入力された操作に従って物品群101の表示を更新する。
【0084】
図4は、プロセッサ11が視点を回転した場合の表示例を示す。
図4が示すように、プロセッサ11は、所定の角度からの視点で物品群101を表示する。
図4が示すように、プロセッサ11は、距離情報に基づいて当該視点から見た3D画像を表示する。
【0085】
また、プロセッサ11は、把持部モデル201及び吸着パットモデル211も当該視点から見た状態で表示する。
【0086】
プロセッサ11は、入出力装置107から、当該画面に表示される把持部モデル201を用いて、オペレータから把持部モデル201の位置及び角度の入力を受け付ける。たとえば、プロセッサ11は、画面上のカーソルの位置で把持部モデル201の座標(たとえば、中心座標)の入力を受け付ける。また、プロセッサ11は、把持部モデル201のドラッグ操作によって、把持部モデル201の座標の入力を受け付けてもよい。また、プロセッサ11は、キー入力又はスクロールバーなどによって把持部モデル201の座標の入力を受け付けてもよい。
【0087】
また、プロセッサ11は、ドラッグ操作によって把持部モデル201の角度の入力を受け付ける。また、プロセッサ11は、キー入力又はスクロールバーなどによって把持部モデル201の座標の入力を受け付けてもよい。
【0088】
プロセッサ11は、入出力装置107を通じて所定の操作を受け付けると、把持部モデル201の位置及び角度を確定する。
【0089】
プロセッサ11が把持部モデル201の位置及び角度の入力を受け付ける方法は、特定の方法に限定されるものではない。
【0090】
また、プロセッサ11は、入力された把持部モデル201の位置及び角度に基づいて、把持計画を生成する機能を有する。
【0091】
プロセッサ11は、把持部103が物品を吸着しやすくなるように位置及び角度を修正して、把持位置及び把持角度として修正した位置及び角度を示す把持計画を生成する。
【0092】
たとえば、プロセッサ11は、入力された把持部モデル201の位置及び角度を、各吸着パットモデル211と物品領域(たとえば、把持部モデル201が覆う物品領域)との距離が適切な距離(たとえば、把持に最適な距離)となるように修正する。即ち、プロセッサ11は、各吸着パットモデル211と物品領域(又は、物品)との距離が所定の距離となるように、把持部モデル201の位置及び角度を修正する。たとえば、プロセッサ11は、ICP(Iterative Closet Point)又は最急下降法を用いて、把持部モデル201の位置及び角度を修正する。
【0093】
なお、プロセッサ11は、各吸着パットモデル211と距離情報において物品の点群(把持部モデル201と所定の距離内にある点群)との距離が所定の距離となるように、入力された把持部モデル201の位置及び角度を修正してもよい。
【0094】
また、プロセッサ11は、入力された把持部モデル201の位置及び角度を、把持部モデル201と物品領域(又は、物品)との距離が適切な距離となるように修正してもよい。
【0095】
プロセッサ11は、把持位置及び把持角度として修正した位置及び角度を示す把持計画を生成する。
【0096】
なお、プロセッサ11が把持部モデル201の位置及び角度から把持計画を生成する方法は、特定の方法に限定されるものではない。
【0097】
図5は、修正前の把持部モデル201の位置及び角度を示す。
図6は、修正後の把持部モデル201の位置及び角度を示す。
【0098】
ここでは、オペレータは、物品302を把持するため把持部モデル201の位置及び角度を入力したものとする。
【0099】
図5が示すように、把持部モデル201は、物品302を覆う位置に形成される。また、
図5が示す例では、把持部モデル201の各吸着パットモデル211と物品領域401(又は、物品302の点群)との距離は、適切ではない。
【0100】
図6が示すように、把持部モデル201は、物品302に沿って形成される。把持部モデル201は、物品302の上面に平行に形成される。
図6が示す例では、把持部モデル201の各吸着パットモデル211と物品領域401(又は、物品302の点群)との距離は、適切である。
【0101】
また、プロセッサ11は、把持計画を入出力装置107に表示する。プロセッサ11は、入出力装置107を通じて所定の操作の入力を受け付けると、把持計画を確定する。
【0102】
図7は、プロセッサ11が把持計画を表示する画面の例を示す。ここでは、プロセッサ11は、物品302の把持計画を表示する。
図7が示すように、プロセッサ11は、把持計画が示す把持位置及び把持角度に把持部モデル201を表示する。
【0103】
また、プロセッサ11は、ロボットインターフェース18を通じて把持計画をロボットコントローラ111に送信する機能を有する。
【0104】
プロセッサ11は、把持計画を生成すると、ロボットインターフェース18を通じて把持計画をロボットコントローラ111に送信する。
【0105】
ロボットコントローラ111に送信していない把持計画が複数ある場合、プロセッサ11は、複数の把持計画から1つの把持計画を選択する。
【0106】
たとえば、プロセッサ11は、複数の把持計画からより上部にある物品の把持計画を選択する。
【0107】
また、プロセッサ11は、各把持計画の経路計画を策定してもよい。プロセッサ11は、経路が他の物品などに接触しない経路計画の把持計画を選択する。
【0108】
プロセッサ11が把持計画を選択する方法は、特定の方法に限定されるものではない。
【0109】
プロセッサ11は、ロボットインターフェース18を通じて、選択した把持計画をロボットコントローラ111に送信する。
【0110】
ロボットコントローラ111は、把持計画に従ってピッキングロボット10を制御して荷物を把持する。
【0111】
また、プロセッサ11は、ピッキングロボット10が荷物の把持に成功したか否かを示す完了情報と把持計画とを対応付けて保管装置109に格納する機能を有する。
【0112】
プロセッサ11は、把持計画をロボットコントローラ111に送信すると、ロボットコントローラ111から完了情報を受信する。プロセッサ11は、保管装置インターフェース17を通じて、送信した把持計画と受信した完了情報とを対応付けて保管装置109に格納する。
【0113】
次に、制御装置106の動作例について説明する。
図8は、制御装置106の動作例について説明するためのフローチャートである。
【0114】
制御装置106のプロセッサ11は、把持計画の策定を行う(S1)。プロセッサ11は、把持計画の策定と同時に、把持計画の送信を行う(S2)。
【0115】
把持計画の策定及び把持計画の送信を終了すると、プロセッサ11は、動作を終了する。
【0116】
次に、把持計画の策定(S1)の動作例について説明する。
【0117】
図9は、把持計画の策定(S1)の動作例について説明するためのフローチャートである。
【0118】
まず、プロセッサ11は、画像センサインターフェース15を通じて画像センサ102から撮影画像及び距離情報を取得する(S11)。撮影画像及び距離情報を取得すると、プロセッサ11は、撮影画像及び距離情報に基づいて物品領域を認識する(S12)。
【0119】
物品領域を認識すると、プロセッサ11は、入出力装置107に物品群101の3D画像を表示する(S13)。物品群101の3D画像を表示すると、プロセッサ11は、物品群101の3D画像に重ねて物品領域を表示する(S14)。
【0120】
物品領域を表示すると、プロセッサ11は、物品群101の3D画像に重ねて把持部モデル201を表示する(S15)。把持部モデル201を表示すると、プロセッサ11は、入出力装置107から視点を移動する操作の入力を受け付けたか判定する(S16)。
【0121】
視点を移動する操作の入力を受け付けたと判定すると(S16、YES)、プロセッサ11は、入力された操作に従って物品群101の3D画像の表示を更新する(S17)。
【0122】
視点を移動する操作の入力を受け付けていないと判定した場合(S16、NO)、又は、物品群101の3D画像の表示を更新した場合(S17)、プロセッサ11は、入出力装置107から把持部モデル201の位置又は角度の入力を受け付けたか判定する(S18)。
【0123】
把持部モデル201の位置又は角度の入力を受け付けたと判定すると(S18、YES)、プロセッサ11は、把持部モデル201の表示を更新する(S19)。把持部モデル201の表示を更新すると、プロセッサ11は、把持部モデル201と物品領域との距離の表示を更新する(S20)。
【0124】
把持部モデル201の位置又は角度の入力を受け付けていないと判定した場合(S18、NO)、又は、距離の表示を更新した場合(S20)、プロセッサ11は、把持部モデル201の位置又は角度の入力を確定する操作を受け付けたか判定する(S21)。
【0125】
把持部モデル201の位置又は角度の入力を確定する操作を受け付けていないと判定すると(S21、NO)、プロセッサ11は、S16に戻る。
【0126】
把持部モデル201の位置又は角度の入力を確定する操作を受け付けたと判定すると(S21、YES)、プロセッサ11は、把持部モデル201の位置及び角度を修正する(S22)。
【0127】
把持部モデル201の位置及び角度を修正すると、プロセッサ11は、修正した位置及び角度に従って把持部モデル201を表示する(S23)。把持部モデル201を表示すると、プロセッサ11は、把持計画を確定する操作の入力を受け付けたか判定する(S24)。
【0128】
把持計画を確定する操作の入力を受け付けなかったと判定すると(S24、NO)、プロセッサ11は、S16に戻る。
【0129】
把持計画を確定する操作の入力を受け付けたと判定すると(S24、YES)、プロセッサ11は、修正した位置及び角度を把持位置及び把持角度として示す把持計画を生成する(S25)。
【0130】
把持計画を生成すると、プロセッサ11は、把持計画の生成を終了するか判定する(S25)。たとえば、プロセッサ11は、把持計画の生成を終了する操作の入力を受け付けたか判定する。また、プロセッサ11は、物品群101の各物品の把持計画を策定した場合、把持計画の生成を終了すると判定してもよい。
【0131】
把持計画の生成を終了しないと判定すると(S25、NO)、プロセッサ11は、S11に戻る。
【0132】
把持計画の生成を終了すると判定すると(S25、YES)、プロセッサ11は、動作を終了する。
【0133】
次に、把持計画の送信(S2)の動作例について説明する。
【0134】
図10は、把持計画の送信(S2)の動作例について説明するためのフローチャートである。
【0135】
プロセッサ11は、生成した把持計画を取得する(S31)。把持計画を取得すると、プロセッサ11は、把持計画が複数あるか判定する(S32)。把持計画が複数あると判定すると(S32、YES)、プロセッサ11は、複数の把持計画から把持計画を選択する(S33)。
【0136】
把持計画が1つであると判定した場合(S32、NO)、又は、把持計画を選択した場合(S33)、プロセッサ11は、ロボットインターフェース18を通じて、選択した把持計画(S32、NOの場合、取得した把持計画)をロボットコントローラ111に送信する(S34)。
【0137】
把持計画を送信すると、プロセッサ11は、ロボットインターフェース18を通じて、完了情報を受信する(S35)。完了情報を受信すると、プロセッサ11は、保管装置インターフェース17を通じて、送信した把持計画と受信した完了情報とを対応付けて保管装置109に格納する(S36)。
【0138】
送信した把持計画と受信した完了情報とを対応付けて保管装置109に格納すると、プロセッサ11は、把持計画の送信を終了するか判定する(S37)。たとえば、プロセッサ11は、把持計画の送信を終了する操作の入力を受け付けたか判定する。また、プロセッサ11は、物品群101の各物品のピッキングが完了した場合、把持計画の送信を終了すると判定してもよい。
【0139】
把持計画の送信を終了しないと判定すると(S37、NO)、プロセッサ11は、S31に戻る。
【0140】
把持計画の送信を終了すると判定すると(S37、YES)、プロセッサ11は、動作を終了する。
【0141】
なお、プロセッサ11は、複数の把持計画をロボットコントローラ111に送信してもよい。
【0142】
また、プロセッサ11は、S1において、ピッキングロボット10が物品をピッキングした場合に、S11に戻ってもよい。この場合、プロセッサ11は、S26、NOの場合、S16に戻ってもよい。
【0143】
また、プロセッサ11は、S11に戻った場合、物品領域の前の認識結果を用いてもよい。たとえば、プロセッサ11は、直前の撮影画像と今回の撮影画像とに差がない領域において前の物品領域を用いてもよい。
【0144】
また、プロセッサ11は、物品領域を認識しなくともよい。プロセッサ11は、物品群101の3D画像を表示して、把持部モデル201の位置及び角度の入力を受け付けてもよい。
【0145】
また、プロセッサ11は、物品領域を認識できない場合に、把持部モデル201の位置及び角度の入力を受け付けてもよい。
【0146】
以上のように構成された制御装置は、物品群の撮影画像及び物品群の距離情報に基づいて画面に物品群の3D画像を表示する。制御装置は、オペレータから物品群を見る視点の位置及び角度の入力を受け付け、当該入力に従って物品群の3D画像を表示する。また、制御装置は、物品群の3D画像を表示した画面上で、物品群の物品を把持するための把持部の位置及び角度の入力を受け付ける。制御装置は、入力された位置及び角度に基づいて、把持部が物品を把持する把持位置及び把持角度を示す把持計画を生成する。その結果、制御装置は、オペレータが画面を見ながら入力した把持部の位置及び角度に基づいて把持計画を生成することができる。よって、制御装置は、適切な把持計画を生成することができる。
【0147】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
物品を撮影した撮影画像を取得する第1のインターフェースと、
入出力装置とデータを送受信する第2のインターフェースと、
前記撮影画像に基づく物品画像を前記入出力装置に表示させ、
前記第2のインターフェースを通じて前記入出力装置から前記物品を把持する把持部の把持部モデルの位置及び角度の入力を受け付け、
前記物品画像上に前記位置及び前記角度で前記把持部モデルを表示させ、
前記位置及び角度に基づいて、前記把持部が前記物品を把持する把持位置及び把持角度を示す把持計画を生成する、
プロセッサと、
前記把持部を備える把持装置の制御部に前記把持計画を送信する第3のインターフェースと、
を備える制御装置。
[C2]
前記プロセッサは、前記把持部モデルを半透明で表示する、
C1に記載の制御装置。
[C3]
前記第1のインターフェースは、前記物品までの距離を測定した距離情報をさらに取得し、
前記物品画像は、前記距離情報に基づく三次元画像である、
C1又は2に記載の制御装置。
[C4]
前記プロセッサは、
前記入出力装置を通じて、前記三次元画像を表示する視点を変更する操作を受け付け、
前記操作に従って、前記三次元画像の表示を更新する、
C3に記載の制御装置。
[C5]
前記プロセッサは、
前記撮影画像及び前記距離情報に基づいて、前記物品を表示する物品領域を認識し、 前記三次元画像上に前記物品領域を表示する、
C3又は4に記載の制御装置。
[C6]
前記プロセッサは、前記把持部が備える吸着パットの吸着パットモデルを表示する、C1乃至5の何れか1項に記載の制御装置。
[C7]
前記プロセッサは、前記吸着パットの圧力を制御する弁のうち、共通する弁に接続する前記吸着パットを示す情報を表示する、
C6に記載の制御装置。
[C8]
前記プロセッサは、前記物品と前記吸着パットとの距離を表示する、
C6又は7に記載の制御装置。
[C9]
前記プロセッサは、前記吸着パットモデルと物品との距離が所定の距離となるように前記位置及び前記角度を修正し、前記把持位置及び前記把持角度として修正した前記位置及び前記角度を示す前記把持計画を生成する、
C6乃至8の何れか1項に記載の制御装置。
[C10]
前記プロセッサは、複数の前記把持計画から1つの把持計画を選択し、選択された前記把持計画を前記制御部に送信する、
C1乃至9の何れか1項に記載の制御装置。
[C11]
保管装置とデータを送受信する第4のインターフェースを備え、
前記プロセッサは、
前記第3のインターフェースを通じて、前記物品の把持に成功したか否かを示す完了情報を受信し、
前記第4のインターフェースを通じて、前記物品画像と前記把持計画と前記完了情報とを前記保管装置に格納する、
C1乃至10の何れか1項に記載の制御装置。
[C12]
プロセッサによって実行されるプログラムであって、
前記プロセッサに、
物品を撮影した撮影画像を取得させ、
入出力装置とデータを送受信する第2のインターフェースと、
前記撮影画像に基づく物品画像を入出力装置に表示させ、
前記入出力装置から前記物品を把持する把持部の把持部モデルの位置及び角度の入力を受け付けさせ、
前記物品画像上に前記位置及び前記角度で前記把持部モデルを表示させ、
前記位置及び角度に基づいて、前記把持部が前記物品を把持する把持位置及び把持角度を示す把持計画を生成させ、
前記把持部を備える把持装置の制御部に前記把持計画を送信させる、
プログラム。
【符号の説明】
【0148】
1…ピッキングシステム、10…ピッキングロボット、11…プロセッサ、12…ROM、13…RAM、14…NVM、15…画像センサインターフェース、16…入出力インターフェース、17…保管装置インターフェース、18…ロボットインターフェース、101…物品群、102…画像センサ、103…把持部、104…吸着パット、105…ロボットアーム、106…制御装置、107…入出力装置、109…保管装置、111…ロボットコントローラ、201…把持部モデル、211…吸着パットモデル、301…物品、302…物品、401…物品領域、402…物品領域。