(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-01
(45)【発行日】2024-05-13
(54)【発明の名称】制御装置及びプログラム
(51)【国際特許分類】
B25J 13/08 20060101AFI20240502BHJP
G06T 7/70 20170101ALI20240502BHJP
【FI】
B25J13/08 A
G06T7/70 Z
(21)【出願番号】P 2020045227
(22)【出願日】2020-03-16
【審査請求日】2023-01-06
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】渡辺 優香
(72)【発明者】
【氏名】関谷 健一
(72)【発明者】
【氏名】赤木 琢磨
(72)【発明者】
【氏名】松村 淳
【審査官】樋口 幸太郎
(56)【参考文献】
【文献】特開2010-120141(JP,A)
【文献】特開2012-125878(JP,A)
【文献】特開2019-199335(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 13/08
G06T 7/70
(57)【特許請求の範囲】
【請求項1】
載置台に載置された物品を上方から撮像する撮像装置から、前記物品を2次元で表した第1撮像データと前記物品を3次元で表した第2撮像データとを含む撮像画像を取得する取得部と、
当該撮像画像に基づいて前記載置台に載置された前記物品を認識する認識処理を実行し、
前記認識処理の処理結果に基づいて移動対象の物品を選出する選出処理を実行し、
荷役装置を用いて前記移動対象の物品を移動させるための移動処理を実行し、
前記選出処理及び前記移動処理を1回以上実行した後に、前記取得部が
新たな撮像画像を取得した場合に、取得
された
前記新たな撮像画像のうちの前記第1撮像データと、前記認識処理で使用した前回の第1撮像データとの変化量が閾値以下となる物品を検出する差分チェックを実行し、
前記差分チェックにより検出した前記物品の中から次の移動対象となる物品を選出する選出処理を実行して、
前記次の移動対象となる物品を、前回の前記認識処理の結果に基づいて移動させる移動処理を実行させる制御部と、
を備える制御装置。
【請求項2】
前記制御部は、認識した前記物品のうち、前回の選出処理で選出済みの物品は、移動対象の物品の候補から除外する、
請求項1に記載の制御装置。
【請求項3】
前記制御部は、
前記移動処理が完了した時点において、前記取得部が取得した前記新たな撮像画像を用いた今
回の認識処理が完了している場合、該今
回の認識処理の処理結果に基づいて移動対象の物品を選出する選出処理を実行し、
今
回の認識処理の処理結果に基づいて移動対象の前記物品を移動させるための移動処理を実行する、
請求項1又は2に記載の制御装置。
【請求項4】
前記制御部は、
前記移動処理が完了した時点において、前記取得部が取得した前記新たな撮像画像を用いた今
回の認識処理が完了していない場合、前
回の認識処理の処理結果に基づいて移動対象の物品を選出する選出処理を実行し、
前
回の認識処理の処理結果に基づいて移動対象の前記物品を移動させるための移動処理を実行する、
請求項1から3のいずれか1項に記載の制御装置。
【請求項5】
前記制御部は、
前記変化量が閾値以下となる物品が無い場合、前記取得部が取得した前記新たな撮像画像に基づく今
回の認識処理の処理結果に基づいて移動対象の物品を選出する、
請求項1から4のいずれか1項に記載の制御装置。
【請求項6】
載置台に載置された物品を上方から撮像する撮像装置から、前記物品を2次元で表した第1撮像データと前記物品を3次元で表した第2撮像データとを含む撮像画像を取得する第1の取得ステップと、
当該撮像画像に基づいて前記載置台に載置された前記物品を認識する
認識処理を実行する第1の認識ステップと、
前記第1の認識ステップの処理結果に基づいて移動対象の物品を選出する選出処理を実行する第1の選出ステップと、
荷役装置を用いて前記移動対象の物品を移動させるための移動処理を実行する第1の移動ステップと、
前記選出処理及び前記移動処理を1回以上実行した後に、新たな撮像画像を取得する第2の取得ステップと、
前記
第2の取得ステップによって取得
された
前記新たな撮像画像のうちの前記第1撮像データと、前記第1の認識ステップで使用した前回の第1撮像データと当該前回の第1撮像データとの変化量が閾値以下となる物品を検出する差分チェックステップと、
前記差分チェックステップにより検出
された前記物品の中から次の移動対象となる物品を選出する選出処理を実行する第2の選出ステップと、
選出された前記
次の移動対象となる物品を
前回の前記認識処理の結果に基づいて移動させ
る移動処理を実行する第2の移動ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、制御装置及びプログラムに関する。
【背景技術】
【0002】
従来、ロボットアーム等の移動装置を用いることで荷物の荷役(移動)が行われている。例えば、移動対象の荷物が置かれた場所を撮像することで得られたRGB画像や3次元画像(例えばデプス画像、点群データ)から荷物の位置や姿勢の認識結果に基づいて、ピッキングする荷物を選出する技術が知られている。
【0003】
また、このような従来技術においては、処理時間の短縮のために、ある時点における荷物の位置や姿勢の認識結果を、その後の複数回のピッキングの際に流用する場合があった。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来の技術では、荷物の認識のための画像等のデータを収集した時点と、ピッキングを実行する時点までの間に、荷物の位置や姿勢が変化する場合があり、ピッキングの精度が低下する場合があった。
【0006】
本発明が解決しようとする課題は、ピッキングの精度の低下を低減すると共に、ピッキング処理全体の処理時間を低減することが可能な制御装置及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
実施形態の制御装置は、取得部と、制御部とを備える。取得部は、載置台に載置された物品を上方から撮像する撮像装置から、物品を2次元で表した第1撮像データと物品を3次元で表した第2撮像データとを含む撮像画像を取得する。制御部は、当該撮像画像に基づいて載置台に載置された物品を認識する認識処理を実行する。また、制御部は、認識処理の処理結果に基づいて移動対象の物品を選出する選出処理を実行する。制御部は、荷役装置を用いて移動対象の物品を移動させるための移動処理を実行する。制御部は、選出処理及び移動処理を1回以上実行した後に、取得部が新たな撮像画像を取得した場合に、取得された新たな撮像画像のうちの第1撮像データと、認識処理で使用した前回の第1撮像データとの変化量が閾値以下となる物品を検出する差分チェックを実行する。制御部は、差分チェックにより検出した物品の中から次の移動対象となる物品を選出する選出処理を実行して、次の移動対象となる物品を、前回の認識処理の結果に基づいて移動させる移動処理を実行させる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る荷役システムの構成の一例を示す図である。
【
図2】
図2は、実施形態に係る制御装置のハードウェア構成の一例を示す図である。
【
図3】
図3は、実施形態に係る制御装置の機能構成の一例を示す図である。
【
図4】
図4は、実施形態に係るピッキング処理の流れの一例を示すシーケンス図である。
【
図5】
図5は、実施形態に係る時系列に撮像されるRGB画像の一例を示す図である。
【
図6】
図6は、実施形態に係る差分チェックについて説明する図である。
【
図7】
図7は、実施形態における差異検出結果の一例を示す図である。
【
図8】
図8は、実施形態に係るピッキング対象の物品の他の例について説明する図である。
【
図9】
図9は、実施形態に係るピッキング処理の流れの他の一例を示すシーケンス図である。
【
図10】
図10は、実施形態に係る制御装置の計画部で実行される処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、実施形態に係る制御装置及びプログラムを、図面を参照して説明する。
【0010】
図1は、実施形態に係る荷役システムの構成の一例を示す図である。
【0011】
図1に示すように、荷役システム1は、荷役装置10と、カメラ20と、制御装置30とを有する。ここで、荷役装置10及びカメラ20と、制御装置30とは、例えばシリアルケーブルやLAN(Local Area Network)等を介して接続される。
【0012】
荷役装置10は、パレット2の上面2aに載置された物品Wを目的位置に荷役(移動)するための装置である。物品Wの目的位置は、物品Wの移動先であればよく、例えばコンベアとすることができる。パレット2は、水平な床面Gに配置される。物品Wは、例えば定形又は不定形の立体物であり、パレット2の上面2aに1又は複数個載置される。パレット2は、本実施形態における載置台の一例である。なお、本実施形態では、物品Wをパレット2に載置した例を示しているが、これに限らず、例えば床面G上に載置される形態としてもよい。
【0013】
荷役装置10は、基台111と、基台111に支持されたアーム部112と、アーム部112の先端に設けられた把持部113とを備える。基台111は、床面Gに固定された筐体である。以下では、床面Gと平行な方向、すなわち重力の作用する方向に直交する方向を水平方向ともいう。また、床面Gに直交する方向、すなわち重力の作用する方向及びその逆方向を上下方向ともいう。
【0014】
アーム部112は、一例として6軸の多関節ロボットアームである。アーム部112は、把持部113によって保持された物品Wを上下方向に移動する動作、および水平方向に移動する動作を実行可能に構成されている。または、アーム部112は、直行軸のロボットアームでも良い。
【0015】
例えば、アーム部112は、1軸又は2軸回りに回動可能な複数の関節により連結された3つの可動部112a~112cで構成される。可動部112aは、基台111から延出している。可動部112bは、可動部112aから延出している。可動部112cは、可動部112bから延出している。
【0016】
アーム部112(可動部112c)の先端には、把持部113が取り付けられている。把持部113は、物品Wを挟み込んで把持する。なお、物品Wの把持は、挟持による把持方法に限定されない。例えば、把持部113に代えて、負圧によって物品Wを吸着把持する吸着部を用いてもよい。以下、把持部113によって物品Wを把持し、目的位置まで移動させる動作をピッキングともいう。なお、アーム部112や把持部113には、物品Wのピッキング状態を検出するためのセンサ装置(例えば、接触センサ、重量センサ、負圧センサ等)が設けられているものとする。
【0017】
カメラ20は、パレット2の上方に設けられ、パレット2の上面2aに載置された物品Wを上方から撮像する。カメラ20は、RGBカメラ21と、3次元カメラ22とを有する。なお、RGBカメラ21及び3次元カメラ22の何れも、パレット2を撮像範囲(図中の破線範囲)に含むものとする。
【0018】
RGBカメラ21は、カラー画像を撮像することが可能な撮像装置である。RGBカメラ21は、撮像によって得られた画像(以下、RGB画像ともいう)を制御装置30に出力する。かかるRGB画像には、パレット2の上面2aに載置された1又は複数の物品Wを上方から見た状態が写し出されることになる。
【0019】
3次元カメラ22は、ステレオカメラ又は3Dレーザスキャナ装置等によって構成される。3次元カメラ22は、パレット2の上面2aを上方から撮像(又は計測)することで、パレット2の上面2aに載置された1又は複数の物品Wの高さや形状を3次元的に表した3次元情報を取得する。
【0020】
本実施形態においては、RGBカメラ21と3次元カメラ22の両方、つまりカメラ20全体を撮像装置の一例とする。また、本実施形態においては、RGBカメラ21によって撮像されたRGB画像と、3次元カメラ22によって取得された3次元情報とを、撮像画像の一例とする。RGB画像は、物品Wを2次元で表した第1撮像データの一例である。また、3次元情報は、物品を3次元で表した第2撮像データの一例である。なお、RGB画像のみを指して撮像画像と称してもよい。
【0021】
なお、3次元カメラ22がステレオカメラである場合には、該ステレオカメラに含まれる2眼のカメラのうちのいずれか一方によって撮像された画像を、RGB画像として使用しても良い。また、後述の差分チェックで使用する撮像画像(第1撮像データ)は、カラー画像(RGB画像)ではなくとも良い。例えば、第1撮像データは、モノクロカメラで撮影されたグレースケール画像であっても良い。この場合、RGBカメラ21の代わりに、モノクロカメラが用いられても良い。また、3次元カメラ22がモノクロのステレオカメラである場合、該ステレオカメラに含まれる2眼のカメラのうちのいずれか一方によって撮像されたグレースケール画像を後述の差分チェックで使用しても良い。また、3次元カメラ22は、パレット2の上面2aにパターン光を照射するプロジェクタを備え、該パターン光の位置の差異に基づいて距離を算出するstructured light方式のデプスセンサであっても良い。
【0022】
また、
図1に示すX、Y、Z方向は、カメラ20によって撮像される撮像画像におけるX、Y、Z方向に対応する。例えば、X方向は撮像画像における水平方向であり、Y方向は撮像画像における垂直方向である。また、Z方向は撮像画像における深さ方向である。Z方向の長さは、カメラ20からの距離の長さに相当する。
【0023】
RGBカメラ21及び3次元カメラ22は、制御装置30からの撮像要求に応じて撮像を実行し、当該撮像によって得られたRGB画像及び3次元情報を制御装置30に送信する。
【0024】
制御装置30は、カメラ20の撮像結果に基づいて、荷役装置10の動作を制御する。具体的には、制御装置30は、カメラ20から入力されるRGB画像及び3次元情報に基づいて、パレット2の上面2aに載置された1又は複数の物品Wの各々を認識し、認識した1又は複数の物品Wのうち、荷役装置10にピッキングさせる物品を選出する。そして、制御装置30は、荷役装置10の動作を制御することで、ピッキング対象として選出した物品を、目的位置に移動させる。
【0025】
なお、本実施形態では、制御装置30を荷役装置10と別体としたが、荷役装置10と制御装置30とを一体的に構成する形態としてもよい。また、制御装置30に、カメラ20を含めた構成を制御装置と定義してもよい。
【0026】
次に、上述した制御装置30ハードウェア構成について説明する。
図2は、制御装置30のハードウェア構成の一例を示す図である。
【0027】
図2に示すように、制御装置30は、プロセッサ31、ROM(Read Only Memory)32、RAM(Random Access Memory)33、カメラインタフェース34、荷役装置インタフェース35及び記憶部36を備える。
【0028】
プロセッサ31は、制御装置30の動作を統括的に制御する。プロセッサ31は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)等によって実現することができる。プロセッサ31は、本実施形態における制御部の一例である。
【0029】
ROM32は、プロセッサ31が実行する各種のプログラムや設定情報等を記憶する。RAM33は、プロセッサ31のワークエリアとして使用される。
【0030】
カメラインタフェース34は、カメラ20を接続するための通信インタフェースである。カメラインタフェース34は、カメラ20と通信可能に接続され、プロセッサ31の制御の下、制御装置30とカメラ20との間の通信を制御する。
【0031】
例えば、プロセッサ31は、カメラインタフェース34を介して、カメラ20(RGBカメラ21、3次元カメラ22)に撮像要求を送信する。また、プロセッサ31は、カメラインタフェース34を介して、カメラ20から送信されるRGB画像及び3次元情報を取得する。
【0032】
荷役装置インタフェース35は、荷役装置10を接続するための通信インタフェースである。荷役装置インタフェース35は、荷役装置10と通信可能に接続され、プロセッサ31の制御の下、制御装置30と荷役装置10との間の通信を制御する。例えば、荷役装置インタフェース35は、制御装置30の制御の下、ピッキング対象の物品Wを、把持及び移動させるよう、荷役装置10に制御信号を出力する。
【0033】
例えば、プロセッサ31は、荷役装置インタフェース35を介し、荷役装置10の動作を制御する。また、プロセッサ31は、荷役装置インタフェース35を介して、荷役装置10のピッキング状態を示すセンシング結果を取得する。
【0034】
記憶部36は、例えば、フラッシュメモリ等の半導体メモリ素子やハードディスク等の補助記憶装置によって実現される。記憶部36は、プロセッサ31が実行する各種のプログラムや設定情報等を記憶する。また、記憶部36は、荷役装置10の上下方向及び水平方向の移動限界位置や、荷役装置10の可動範囲、荷役装置10が把持可能な物品の寸法の上限及び下限等を示した限界情報を記憶する。かかる限界情報は、例えば、後述する移動計画の導出に用いられる。
【0035】
なお、制御装置30の構成は、
図2に示す例に限定されるものではない。例えば、
図2では、制御装置30が1つのプロセッサ31を備える構成を例示したが、制御装置30は複数のプロセッサ31を備えても良い。
【0036】
次に、
図3を参照して、制御装置30が備える機能構成について説明する。
図3は、制御装置30の機能構成の一例を示す図である。
【0037】
図3に示すように、制御装置30は、取得部311と、認識部312と、計画部313とを機能部として備える。これら機能部の一部又は全ては、プロセッサ31が、ROM32又は記憶部36に記憶されたプログラムを実行することで実現されるソフトウェア構成であってもよい。また、上述した機能部の一部又は全ては、プロセッサ31が、プロセッサ121等が備える専用回路によって実現されるハードウェア構成であってもよい。
【0038】
取得部311は、カメラインタフェース34を介して、カメラ20で撮像されたRGB画像及び3次元情報を取得する。具体的には、取得部311は、認識部312からの指示に応じて、RGBカメラ21及び3次元カメラ22の各々に対し撮像要求を送信する。そして、取得部311は、RGBカメラ21及び3次元カメラ22の各々から送信されたRGB画像及び3次元情報を取得する。また、取得部311は、RGBカメラ21の内部パラメータを取得しても良い。内部パラメータは、例えば、RGBカメラ21の焦点距離および光軸中心の3次元座標である。
【0039】
認識部312は、取得部311が撮像画像を取得する毎に、当該撮像画像に基づいてパレット2に載置された物品Wを認識する認識処理を実行する。
【0040】
より詳細には、認識部312は、距離画像・点群データ生成部312aと、特定部312bと、差異検出部312cとを備える。
【0041】
距離画像・点群データ生成部312aは、後述する計画部313から撮像要求及び認識要求を受けた場合に、取得部311に対し画像の取得を指示する撮像要求を送出する。以下、撮像要求と認識要求とを総称する場合、撮像・認識要求という。
【0042】
そして、距離画像・点群データ生成部312aは、取得した3次元情報から距離画像(Depth画像)及び点群データ(point cloud)を生成する。
【0043】
ここで、距離画像は、3次元カメラ22からパレット2の上面2aに載置された物品Wまでの距離情報を画像に変換したものであり、画素ごとの距離情報(深度情報)を有する。また、点群データは、パレット2の上面2aに載置された物品Wの表面の形状を3次元の点群で表したデータである。以下、距離画像及び点群データを総称して3次元画像ともいう。
【0044】
距離画像及び点群データの生成手法は特に限定されるものではないが、例えば、3次元カメラ22がステレオカメラである場合、距離画像・点群データ生成部312aは、複数の画像間の対応点の視差から距離を算出するステレオマッチング法によって画素ごとの距離情報を算出し、算出結果を距離画像として生成しても良い。なお、当該手法を採用する場合は、取得部311は、3次元情報として、ステレオカメラに含まれる2眼のカメラの各々で撮像された画像を取得する。
【0045】
また、例えば、3次元カメラ22がstructured light方式のデプスセンサである場合、距離画像・点群データ生成部312aは、プロジェクタで照射されたパターン光と、該パターン光を撮像した画像上に描出された該パターンの位置の差異に基づいて距離を算出する。なお、当該手法を採用する場合は、取得部311は、3次元情報として、デプスセンサに含まれるプロジェクタによって投影されたパターンと、該パターンを撮像した画像とを取得する。
【0046】
また、例えば、距離画像・点群データ生成部312aは、RGBカメラ21の内部パラメータである焦点距離及び光軸中心と、RGB画像上の画素の位置(2次元座標)と、画素の距離(深度)値とに基づいて、各画素の3次元空間上の位置、つまり各画素に対応する点の3次元座標を算出した結果を、点群データとして生成しても良い。
【0047】
より詳細には、距離画像・点群データ生成部312aは、以下の式(1)に示すように、3次元座標の算出対象である対象画素のx座標を、RGB画像上の対象画素のx座標“u”からRGBカメラ21の光軸中心のx座標“cx”までの距離を焦点距離“fx”で除算した結果に、対象画素の距離値dを乗算することによって算出する。また、距離画像・点群データ生成部312aは、以下の式(2)に示すように、対象画素のy座標を、RGB画像上の対象画素のy座標“v”からRGBカメラ21の光軸中心のx座標“cy”までの距離を焦点距離“fy”で除算した結果に、対象画素の距離値dを乗算することによって算出する。また、距離画像・点群データ生成部312aは、以下の式(3)に示すように、対象画素の距離値dを、対象画素のz座標とする。なお、距離画像及び点群データの生成の手法は、これらに限定されるものではない。
【0048】
【0049】
なお、本実施形態では、3次元画像(距離画像及び点群データ)の生成を制御装置30が行う構成とするが、これに限らず、3次元カメラ22で3次元画像の生成を行う構成としてもよい。ここで、RGBカメラ21と3次元カメラ22とは、撮像要求に応じて略同等のタイミングで撮像を開始するが、3次元画像の生成に時間を要するため、制御装置30には、RGB画像が送信された後に、3次元画像が送信されることになる。
【0050】
なお、3次元カメラ22から3次元画像が出力される場合には、取得部311は、カメラインタフェース34を介して、RGBカメラ21で取得されたRGB画像及び3次元カメラ22で生成された3次元画像を取得する。
【0051】
特定部312bは、RGB画像及び3次元画像に基づいて、パレット2の上面2aに載置された物品Wの3次元位置を特定する。例えば、特定部312bは、物品Wの位置に加えて、物品の向きや寸法を特定してもよい。
【0052】
物品Wの位置、向き及び寸法の特定方法は特に問わず、公知の技術を用いることができる。例えば、特定部312bは、RGB画像及び3次元画像の入力を受けた場合に、RGB画像上に物品Wが描出された描出領域の2次元座標を出力する学習済みモデルを利用しても良い。この学習済みモデルは、例えばニューラルネットワークによって構成されるが、他の機械学習又は深層学習によって生成されたものであっても良い。
【0053】
特定部312bは、学習済みモデルにRGB画像及び3次元画像を入力し、該学習済みモデルから出力されたRGB画像上に個々の物品Wの各々が描出された各描出領域の2次元座標を取得する。
【0054】
そして、特定部312bは、RGB画像上に物品Wが描出された描出領域に含まれる画素に相当する3次元画像上の位置を特定する。例えば、特定部312bは、物品Wが描出された描出領域の2次元座標(xy座標)と、点群データとを位置合わせし、該描出領域に対応する3次元空間上の点群を抽出し、抽出した点群の3次元座標を平面近似することにより、物品Wの外形における平面を検出する。例えば、荷役装置10の把持部113が物品Wを吸着把持する場合には、特定部312bは、物品Wの外形のうち把持部113が吸着把持可能な平面の法線方向、物品Wの位置、物品Wの寸法を特定する。平面の法線方向は、物品Wの向きの一例である。特定部312bは、物品Wが描出された描出領域の2次元座標(xy座標)と、距離画像とを位置合わせし、物品Wの上面の形状を、距離画像に含まれる個々の画素の距離値から特定しても良い。また、荷役装置10の把持部113が物品Wを挟み込んで把持する場合には、特定部312bは、平面の有無に関わらず、物品W全体の外形を特定しても良い。
【0055】
また、差異検出部312cは、取得部311が取得した新たな撮像画像のうちのRGB画像(今回のRGB画像)と、前回の認識処理で使用した前回のRGB画像との変化量が閾値以下となる物品Wを検出する差分チェックを実行する。
【0056】
例えば、差異検出部312cは、前回のRGB画像上の物品Wが描出された描出領域と、今回のRGB画像において該描出領域と同じ2次元座標の画像領域との差異を検出する。
【0057】
また、初回の処理実行時においては、取得部311がカメラ20から取得済みの撮像画像は、1回の撮像処理分のみであるため、差異検出部312cは、差分チェックを実行しない。差異検出部312cは、2回目以降の処理実行時から、差異検出の処理を実行する。
【0058】
以下、説明の便宜上、「最新の撮像画像」を「今回の撮像画像」、「最新の撮像画像の1つ前に取得された撮像画像」を「前回の撮像画像」という。また、「今回の撮像画像」に基づいて、認識部312が物品Wを認識した結果を、「今回の認識結果」という。また、「前回の撮像画像」に基づいて、認識部312が物品Wを認識した結果を、「前回の認識結果」という。
【0059】
例えば、差異検出部312cは、前回の認識結果に基づいて、前回の撮像画像においてある物品Wが描出された描出領域を特定する。そして、差異検出部312cは、該差異検出部312cは、描出領域の2次元座標と同じ2次元座標の画像領域を、今回の撮像画像上で特定する。以下、今回の撮像画像における前回の撮像画像の描出領域の2次元座標と同じ2次元座標の画像領域を、前回の描出領域に相当する画像領域、という。差異検出部312cは、前回の撮像画像上の描出領域に含まれる画素の画素値と、今回の撮像画像における前回の描出領域に相当する画像領域に含まれる画素の画素値との差分を、画素ごとに算出する。
【0060】
差異検出部312cは、1つの描出領域における画素の差分の平均が所定の閾値以下である場合に、該描出領域に描出された物品Wは、変化量が閾値以下であると判定する。また、差異検出部312cは、1つの描出領域における画素の差分の平均が所定の閾値を超えた場合に、該描出領域に描出された物品Wは、変化量が閾値を超えている判定する。所定の閾値の値は特に限定されるものではなく、例えば、荷役装置10の把持手法等に応じて変更されても良い。
【0061】
なお、差異の検出手法は、これに限定されるものではない。例えば、差異検出部312cは、公知の機械学習又は深層学習を使用した2値分類(2値判別問題)の結果によって、今回の撮像画像と前回の撮像画像とにおける差異を識別しても良い。
【0062】
差異検出部312cは、個々の物品Wごとに、変化量が閾値以下であるか否かの情報を対応付けた差異検出結果を、計画部313に送出する。
【0063】
計画部313は、認識部312の認識結果に基づいて、パレット2の上面2aに載置された物品Wのうち、荷役装置10にピッキングさせる物品Wを選出する。また、計画部313は、ピッキング対象として選出した物品Wを、目的位置まで移動させるための移動計画を生成する。
【0064】
より詳細には、計画部313は、ピッキング対象選出部313aと、移動計画生成部313bとを備える。
【0065】
ピッキング対象選出部313aは、認識部312の認識処理の処理結果に基づいて次の移動対象の物品Wを選出する選出処理を実行する。
【0066】
ピッキング対象選出部313aは、カメラ20から取得された今回の撮像画像よりも前に撮像された撮像画像をカメラ20から取得していない場合、つまり、初回の処理実行時においては、認識部312が今回の撮像画像に基づいて物品Wを認識した認識結果に基づいて、荷役装置10のピッキング対象の物品を決定する。
【0067】
また、ピッキング対象選出部313aは、2回目以降の処理の実行時においては、差異検出部312cによる差分チェックで検出された前回の撮像時点から今回の撮像時点までの変化量が閾値以下となる物品Wの中から次の移動対象となる物品Wを選出する。
【0068】
また、前回の撮像時点から今回の撮像時点までの変化量が閾値以下となる物品Wが複数ある場合は、ピッキング対象選出部313aは、前回の認識結果に含まれる物品Wの位置、向き、又は寸法に基づいて、移動対象の物品Wを選出する。例えば、ピッキング対象選出部313aは、変化量が閾値以下の物品Wのうち、最も高い位置にある物品Wを移動対象として選出してもよい。
【0069】
なお、選出の際の優先順位の決定手法はこれに限定されるものではない。また、ピッキング対象選出部313aは、記憶部36に記憶された限界情報を参照して、変化量が閾値以下の物品Wのうち、荷役装置10が把持可能な物品Wを特定してもよい。
【0070】
また、ピッキング対象選出部313aは、前回の認識結果に含まれる物品Wのうち、前回の選出処理で選出済みの物品は、移動対象の物品Wの候補から除外する。
【0071】
なお、本実施形態においては、荷役装置10は、物品Wを1つずつ把持するものとする。このため、ピッキング対象選出部313aは、荷役装置10の把持対象として、1つの物品Wを選出する。なお、荷役装置10が複数の物品Wを1度に把持することが可能である場合は、荷役装置10の把持対象として、複数の物品Wを選出してもよい。
【0072】
また、移動計画生成部313bは、荷役装置10を用いて移動対象の物品Wを移動させるための移動処理を実行する。本実施形態においては、移動計画の生成、荷役装置10へのピッキング指示、及び荷役装置10のピッキング動作の終了の判定の処理を、総称して、移動処理という。
【0073】
より詳細には、移動計画生成部313bは、ピッキング対象選出部313aが選出したピッキング対象の物品Wの把持位置や、アーム部112の移動経路等を導出する。移動計画生成部313bは、生成した移動計画に基づいて、荷役装置インタフェース35を介して制御信号を出力することにより、荷役装置10の動作(駆動機構)を制御する。具体的には、移動計画生成部313bは、行動計画に基づき荷役装置10の動作を制御することで、パレット2の上面に載置されたピッキング対象の物品Wを把持させ、当該物品Wを目的位置まで移動させる。
【0074】
なお、移動計画生成部313bは、ピッキング中に荷役装置10から送信されたピッキング状態の検出結果に基づいて、移動計画を動的に変更しても良い。
【0075】
上述した機能構成により、制御装置30は、パレット2の上面2aに載置された物品Wを、荷役装置10を用いて目的位置まで荷役(移動)させることができる。
【0076】
次に、上述した制御装置30を含む荷役システム1によって実行されるピッキング処理の流れについて説明する。
【0077】
図4は、本実施形態に係るピッキング処理の流れの一例を示すシーケンス図である。なお、
図4においては、制御装置30の機能部のうち、取得部311の表示は省略している。
【0078】
まず、制御装置30の計画部313(ピッキング対象選出部313a)は、認識部312に、このシーケンス図のピッキング処理における1回目の撮像・認識要求を送出する(S1)。
【0079】
そして、認識部312(距離画像・点群データ生成部312a)は、カメラインタフェース34を介して、カメラ20に、1回目の撮像要求を送信する(S2)。
【0080】
カメラ20は、制御装置30からの撮像要求に応じて1回目の撮像を実行する(S3)。
図4では、1回目の撮像が実行された時刻をt1とする。
【0081】
ここで、
図5は、本実施形態に係る時系列に撮像されるRGB画像の一例を示す図である。
図5では、時刻t1,t2,t3の3回の撮像によって得られたRGB画像40a~40cを例示する。以下、RGB画像40a~40cを特に区別しない場合には、単にRGB画像40という。
【0082】
図5に示すように、時刻t1において、RGB画像40aが撮像される。RGB画像40aには、例えば、パレット2の上面2aと、4つの物品W1~W4とが描出される。
【0083】
図4のシーケンス図に戻り、カメラ20は、1回目の撮像によって得られた撮像画像(RGB画像及び3次元情報)を制御装置30に送信する(S4)。制御装置30の取得部311は、カメラ20から送信された撮像画像(RGB画像及び3次元情報)を取得する。
【0084】
そして、制御装置30の認識部312(距離画像・点群データ生成部312a)は、取得した3次元情報から距離画像及び点群データを生成する(S5)。
【0085】
次に、制御装置30の認識部312(特定部312b)は、RGB画像40a、距離画像、及び点群データに基づいて、パレット2の上面2aに載置された物品Wを認識する(S6)。S6の処理における認識結果は、このピッキング処理における1回目の認識結果である。
【0086】
次に、認識部312(特定部312b)は、計画部313に1回目の認識結果を送出する(S7)。距離画像及び点群データの生成元となる3次元情報は、RGB画像40と同じタイミングで取得されるが、距離画像及び点群データの生成のための処理時間が発生する。1回目の処理の実行時においては、計画部313は、S7の処置で1回目の認識結果を取得するまで、待機している。
【0087】
そして、計画部313(ピッキング対象選出部313a)は、1回目の認識結果に基づいて、ピッキング対象の物品Wを選出する(S8)。例えば、このシーケンス図の処理においては、計画部313(ピッキング対象選出部313a)は、
図5に示した物品W3をピッキング対象として選出する。ピッキング対象選出部313aは、選出した物品W3を示す情報を、移動計画生成部313bに送出する。
【0088】
次に、計画部313(移動計画生成部313b)は、1回目の認識結果に基づいて、選出された物品W3を移動させるための移動計画を生成する(S9)。計画部313(移動計画生成部313b)は、生成した移動計画に基づいて、荷役装置インタフェース35を介して荷役装置10に制御信号を出力することにより、選出された物品W3のピッキングを荷役装置10に指示する(S10)。
【0089】
そして、荷役装置10は、制御装置30から送信された制御信号に基づいて、物品W3をピッキングする(S11)。具体的には、荷役装置10は、把持部113によって物品W3を把持し、目的位置まで移動させる。
【0090】
また、荷役装置10は、把持部113及びアーム部112が、物品W3を把持及び移動させて、カメラ20の画角外に出た場合に、把持部113及びアーム部112が画角外に移動済みであることを、制御装置30に通知する(S12)。例えば、荷役装置10は、予めカメラ20の画角の範囲を記憶しており、把持部113及びアーム部112の位置が一度画角内に入って物品W3を把持した後に再び画角外に出た場合に、該通知を送信する。なお、荷役装置10は、単に把持部113及びアーム部112の位置を制御装置30に送信し、制御装置30側で把持部113及びアーム部112が、カメラ20の画角外に出たか否かを判定しても良い。
【0091】
また、
図4におけるS9の移動計画の生成から、後述のS21のピッキング動作の終了通知の取得までは、本実施形態における移動処理の一例である。制御装置30は、1回目の移動処理と並行して、2回目の撮像処理を開始する。
【0092】
そして、制御装置30の計画部313(ピッキング対象選出部313a)は、1回目のピッキング処理が実行され、荷役装置10の把持部113及びアーム部112がカメラ20の画角外に出た後に、認識部312に、2回目の撮像・認識要求を送出する(S13)。
【0093】
そして、制御装置30の認識部312(距離画像・点群データ生成部312a)は、カメラインタフェース34を介して、カメラ20に、2回目の撮像要求を送信する(S14)。
【0094】
カメラ20は、制御装置30からの撮像要求に応じて2回目の撮像を実行する(S15)。2回目の撮像が実行された時刻をt2とする。
図4に示す例では、時刻t2においては、物品W3は、荷役装置10によってカメラ20の画角外に移動された後である。このため、
図5に示すように、時刻t2に撮像されたRGB画像40bには物品W3が描出されない。また、時刻t2においては、物品W3を移動させた荷役装置10の把持部113及びアーム部112はカメラ20の画角外に移動している。このため、RGB画像40bには、把持部113またはアーム部112は映り込まない。
【0095】
カメラ20は、2回目の撮像によって得られた撮像画像を制御装置30に送信する(S16)。制御装置30の取得部311は、カメラ20から送信された撮像画像を取得する。
【0096】
そして、制御装置30の認識部312(差異検出部312c)は、取得された撮像画像のうちのRGB画像40bと、1回目に撮像されたRGB画像40aとの差分チェックをする(S17)。例えば、
図5に示した例では、前回の撮像時点(時刻t1)から今回の撮像時点(時刻t2)までの間は、物品W1,W2,W4は移動していないが、物品W3は荷役装置10によってピッキングされている。このため、
図5に示すように、時刻t2に撮像されたRGB画像40cには物品W3が描出されていない。
【0097】
ここで、
図6は、本実施形態に係る差分チェックについて説明する図である。認識部312(差異検出部312c)は、
図6に示すように、1回目に撮像されたRGB画像40aにおいて物品W1~W4が描出された4つの画像領域の各々と、2回目に撮像されたRGB画像40bの各画像領域とを比較する。
図6に示す例では、1回目に撮像されたRGB画像40aにおいて物品W3が描出されていた画像領域について、RGB画像40aとRGB画像40bとの間で差異が発生している。この場合、認識部312(差異検出部312c)は、物品W1,W2,W4の変化量が閾値以下であり、物品W3の変化量が閾値を超えることを、差異検出結果として計画部313に送出する(S18)。
【0098】
図7は、本実施形態における差異検出結果71の一例を示す図である。
図7に示すように、差異検出結果71では、物品W1~W4に対応する識別情報(item ID)と、各物品W1~W4の変化量が閾値以下であるか否かを示す結果情報(result)とが対応付けられている。この場合は、物品W3の変化量が閾値を超えているため、resultが“1”となる。また、物品W1,W2,W4の変化量は閾値以下であるため、resultが“0”となる。認識部312(差異検出部312c)は、差異検出結果71を計画部313に送出する。
【0099】
図4に戻り、認識部312(距離画像・点群データ生成部312a)は、2回目に取得された3次元情報から距離画像及び点群データを生成する(S19)。
【0100】
そして、認識部312(特定部312b)は、RGB画像40bと、S19で生成された距離画像及び点群データに基づいて、パレット2の上面2aに載置された物品Wを認識する(S20)。S19の処理における認識結果は、このピッキング処理における2回目の認識結果である。
【0101】
また、荷役装置10は、S11の1回目のピッキング動作を終了すると、終了通知を制御装置30に送信する(S21)。制御装置30の取得部311は、該終了通知を取得する。
図4のシーケンス図においては、1回目のピッキング動作が終了した時点で、S20の2回目の認識処理が完了していない。
【0102】
この場合、制御装置30の計画部313(ピッキング対象選出部313a)は、S20の2回目の認識処理の完了を待たずに、S18で送出された差異検出結果に基づいて、1回目の認識結果に含まれる物品W1~W4から、2回目のピッキング対象を選出する(S22)。
【0103】
また、1回目の認識結果に含まれる物品W1~W4のうち、物品W3は、1回目の選出処理で選出済みである。計画部313(ピッキング対象選出部313a)は、1回目の選出処理で選出済みの物品W3を、移動対象の物品Wの候補から除外する。
【0104】
具体的には、計画部313(ピッキング対象選出部313a)は、差異検出結果及び前回の移動対象の物品Wの選出結果に基づいて、前回の撮像時点(時刻t1)から今回の撮像時点(時刻t2)までの変化量が閾値以下となり、かつ前回の移動対象ではない物品W1,W2,W4の中から一の物品Wを次の移動対象として選出する。一例として、計画部313(ピッキング対象選出部313a)は、物品W4を選択する。
【0105】
また、計画部313(移動計画生成部313b)は、1回目の認識結果に基づいて、選出された物品W4を移動させるための移動計画を生成する(S23)。計画部313(移動計画生成部313b)は、生成した移動計画に基づいて、荷役装置インタフェース35を介して荷役装置10に制御信号を出力することにより、選出された物品W4のピッキングを荷役装置10に指示する(S24)。
【0106】
そして、荷役装置10は、制御装置30から送信された制御信号に基づいて、物品W4をピッキングする(S25)。
【0107】
また、荷役装置10は、把持部113及びアーム部112が、物品W4を把持及び移動させて、カメラ20の画角外に出た場合に、把持部113及びアーム部112が画角外に移動済みであることを、制御装置30に通知する(S26)。
【0108】
計画部313(ピッキング対象選出部313a)は、2回目のピッキング処理が実行され、荷役装置10の把持部113及びアーム部112がカメラ20の画角外に出た後に、認識部312に、3回目の撮像・認識要求を送出する(S28)。
【0109】
また、認識部312(特定部312b)は、計画部313に、2回目の認識結果を送出する(S27)。この2回目の認識結果は、3回目のピッキング処理において、「前回の認識結果」として使用される。
【0110】
また、認識部312(距離画像・点群データ生成部312a)は、S19の2回目の認識処理が終了すると、カメラ20に、3回目の撮像要求を送信する(S29)。該3回目の撮像要求は、S28の3回目の撮像・認識要求に基づくものである。
【0111】
カメラ20は、制御装置30からの撮像要求に応じて3回目の撮像を実行する(S30)。3回目の撮像が実行された時刻をt3とする。
図4に示す例では、時刻t3においては、物品W4は荷役装置10によってピッキングされている。また、物品W3についても、既に荷役装置10によってピッキングされている。このため、
図5に示すように、時刻t3に撮像されたRGB画像40cには物品W3,W4が描出されていない。
【0112】
そして、制御装置30の認識部312(差異検出部312c)は、S31で取得された撮像画像のうちのRGB画像40cと、2回目に撮像されたRGB画像40bと、2回目の撮像画像に基づく2回目の認識結果と、に基づいて、RGB画像40bにおいて物品Wが描出された画像領域と、RGB画像40cにおける該画像領域との差分をチェックする(S32)。
【0113】
例えば、
図5に示した例では、前回の撮像時点(時刻t2)から今回の撮像時点(時刻t3)までの間は、物品W4が、荷役装置10によってピッキングされたことにより、移動している。
【0114】
この場合、認識部312(差異検出部312c)は、2回目の認識結果に含まれる物品W1,W2,W4のうち、物品W1,W2の変化量が閾値以下であり、物品W4の変化量が閾値を超えることを、差異検出結果として計画部313に送出する。
【0115】
以下の処理は省略するが、制御装置30は、ピッキング対象の物品Wが認識されなくなるまで、このピッキング処理を継続する。
【0116】
また、上述の例では、荷役装置10によってピッキングされた物品W3以外の物品Wについては差異が生じていなかったが、ピッキング対象とならなかった物品Wについても、荷崩れや、把持部113の接触等によって移動する場合がある。
【0117】
例えば、
図8では、物品W1の位置が移動している。認識部312(差異検出部312c)は、物品W1の移動による画素の差異が所定の閾値を超える場合に、物品W1の変化量が閾値を超えると判断する。この場合、差異検出結果71において、物品W1の識別情報に、result“0”が対応付けられる。
【0118】
また、上述の
図4のシーケンス図においては、1回目のピッキング動作が終了した時点で、2回目の認識処理が完了していなかった。しかしながら、ピッキング動作に長時間を要した場合に、1回目のピッキング動作が終了するよりも先に、2回目の認識処理が完了する場合がある。この場合における処理の流れについて、
図9を用いて説明する。
【0119】
図9は、実施形態に係るピッキング処理の流れの他の一例を示すシーケンス図である。S1の1回目の撮像・認識要求から、S10の1回目のピッキング指示までの処理は、
図4のシーケンス図と同様である。また、S101の1回目のピッキング処理の開始後、S12の把持部113及びアーム部112が画角外に移動済みであることの通知から、S20の2回目の物品認識処理までの処理、及びS27の認識結果の送出の処理も、
図4のシーケンス図と同様である。
【0120】
ここで、
図9に示す例では、S101の1回目のピッキング処理において、
図4で説明したS11のピッキング処理よりも、長い時間を要したものとする。このため、S102において、荷役装置10が、1回目のピッキング動作を終了したことを示す終了通知を制御装置30に送信した時点で、既に、S20の2回目の認識処理が終了し、S27の処理で認識部312から計画部313に認識結果が送出されている。
【0121】
この場合、制御装置30の計画部313(ピッキング対象選出部313a)は、S20の2回目の認識処理の結果、つまりS27で送出された2回目の認識結果に基づいて、2回目のピッキング対象を選出する(S103)。この場合、計画部313(ピッキング対象選出部313a)は、S18で送出された差異検出結果71はピッキング対象の選出に利用しない。
【0122】
また、
図9に示す例においても、計画部313(ピッキング対象選出部313a)は、
図4で説明した場合と同様に、1回目の選出処理で選出済みの物品W3を、移動対象の物品Wの候補から除外する。
【0123】
また、計画部313(移動計画生成部313b)は、2回目の認識結果に基づいて、選出された物品W4を移動させるための移動計画を生成する(S104)。計画部313(移動計画生成部313b)は、生成した移動計画に基づいて、選出された物品W4のピッキングを荷役装置10に指示する(S105)。
【0124】
そして、荷役装置10は、制御装置30から送信された制御信号に基づいて、物品W4をピッキングする(S107)。
【0125】
また、S26の把持部113及びアーム部112が画角外に移動済みであることの通知は、
図4のS26と同様の処理である。
【0126】
また、把持部113及びアーム部112が画角外に移動した後、計画部313(ピッキング対象選出部313a)は、認識部312に、3回目の撮像・認識要求を送出する(S107)。
【0127】
また、S108の3回目の撮像要求の送信処理から、S111の差分チェックの処理までは、
図4で説明したS29からS32の処理と同様である。
【0128】
ここで、
図4、9のシーケンス図で説明した制御装置30の計画部313で実行される処理について、さらに詳細に説明する。
【0129】
図10は、本実施形態に係る制御装置30の計画部313で実行される処理の流れの一例を示すフローチャートである。以下では、
図4、9のシーケンス図で説明した処理については、一部説明を省略し、計画部313内部の判定処理について主に説明する。
【0130】
図10に示すS201の撮像・認識要求の処理は、
図4のシーケンス図におけるS1に相当する。次に、計画部313は、撮像・認識要求に基づく1回目の認識結果が取得されたか否かを判定する(S202)。計画部313は、1回目の認識結果が取得されるまで、S202の処理を繰り返す(S202“No”)。
【0131】
また、ピッキング対象選出部313aは、1回目の認識結果が取得されたと判定した場合(S202“Yes”)、1回目の認識結果に、ピッキング対象となる物品Wがあるか否かを判定する(S203)。例えば、パレット2の上面2aに物品Wが載置されていない場合や、何らかの原因によって物品Wが認識されなかった場合、ピッキング対象選出部313aは、ピッキング対象となる物品Wが無いと判定する(S203“No”)。この場合、このフローチャートの処理は終了する。つまり、この場合、荷役システム1によるピッキング処理も終了する。
【0132】
また、ピッキング対象選出部313aは、ピッキング対象となる物品Wがあると判定した場合(S203“Yes”)、1回目の認識結果に基づいてピッキング対象の物品Wを選出する。
【0133】
また、S205の移動計画生成の処理は、
図4のシーケンス図におけるS9の処理に相当する。また、S206のピッキング指示の処理は、
図4のシーケンス図におけるS10の処理に相当する。
【0134】
また、S207の把持部113及びアーム部112がカメラ20の画角外であるか否かの判定の処理は、
図4のシーケンス図におけるS12の処理に相当する。例えば、ピッキング対象選出部313aは、荷役装置10から把持部113及びアーム部112が画角外に移動済みであることの通知を受けた場合に、把持部113及びアーム部112がカメラ20の画角外であると判定する(S207“Yes”)。また、ピッキング対象選出部313aは、荷役装置10から把持部113及びアーム部112が画角外に移動済みであることの通知を受けるまでは、S207の処理を繰り返して待機する(S207“No”)。
【0135】
ピッキング対象選出部313aが把持部113及びアーム部112がカメラ20の画角外であると判定した場合に実行されるS208の撮像・認識要求の処理は、
図4のシーケンス図におけるS13の処理に相当する。
【0136】
次に、ピッキング対象選出部313aは、荷役装置10からピッキング終了の通知を受けたか否かを判定する(S209)。ピッキング対象選出部313aは、荷役装置10からピッキング終了の通知を受けるまで、S8の処理を繰り返して待機する(S209“No”)。
【0137】
ピッキング対象選出部313aは、荷役装置10からピッキング終了の通知を受けると(S209“Yes”)、最新の撮像・認識要求に対応する認識結果を取得済みであるか否かを判定する(S210)。
【0138】
ピッキング対象選出部313aは、最新の撮像・認識要求に対応する認識結果を取得済みではないと判定した場合(S210“No”)、認識部312から、前回の撮像画像と最新の撮像画像との差異の検出結果71を取得済みであるか否かを判定する(S211)。
【0139】
ピッキング対象選出部313aは、認識部312から、前回の撮像画像と最新の撮像画像との差異の検出結果71を取得していない場合、検出結果71を取得するまでS211の処理を繰り返す(S211“No”)。
【0140】
ピッキング対象選出部313aは、認識部312から、前回の撮像画像と最新の撮像画像との差異の検出結果71を取得した場合(S211“Yes”)、前回の撮像時点から今回の撮像時点までの間における差異が基準以下の物品Wがあるか否かを判定する(S212)。
【0141】
ピッキング対象選出部313aは、前回の撮像時点から今回の撮像時点までの間における差異が基準以下の物品Wがあると判定した場合、前回の認識結果に基づいて、差異が基準以下の物品Wから、ピッキング対象を選出する(S213)。これは、
図4のシーケンス図におけるS22の処理に相当する。
【0142】
S214の移動計画の生成、及びS215のピッキング指示は、
図4のシーケンス図におけるS23、S24の処理に相当する。
【0143】
次に、ピッキング対象選出部313aは、S207の処理に戻り、把持部113及びアーム部112がカメラ20の画角外であるか否かを判定する。
【0144】
また、ピッキング対象選出部313aは、S212の処理で、前回の撮像時点から今回の撮像時点までの間における差異が基準以下の物品がないと判定した場合(S212“No”)、S210の処理に戻り、最新の認識結果の取得を待機する。この場合は、最新の認識結果を取得するまでS210で待機し、最新の認識結果を取得した場合、後述のS216の処理に進む。
【0145】
また、ピッキング対象選出部313aは、最新の撮像・認識要求に対応する認識結果を取得済みであると判定した場合(S210“Yes”)、該認識結果にピッキング対象の物品Wが含まれているか否かを判定する(S216)。ピッキング対象選出部313aがピッキング対象となる物品Wが無いと判定した場合(S216“No”)、このフローチャートの処理は終了する。
【0146】
また、ピッキング対象選出部313aは、ピッキング対象となる物品Wがあると判定した場合(S216“Yes”)、最新の撮像・認識要求に対応する認識結果に基づいてピッキング対象の物品Wを選出する(S217)。
【0147】
S218の移動計画の作成、及びS219のピッキング指示は、
図9のシーケンス図におけるS104、及びS106の処理に相当する。そして、ピッキング対象選出部313aは、S207の処理に戻る。ピッキング対象の物品Wが認識されなくなるまで、このフローチャートの処理は繰り返される。
【0148】
このように、本実施形態の制御装置30は、2回目以降のピッキング処理においては、前回の選出処理の開始の後にカメラ20から取得した新たなRGB画像40bと、前回の認識処理で使用したRGB画像40aとの変化量が閾値以下となる物品Wを検出する差分チェックを実行し、変化量が閾値以下となる物品Wの中から次の移動対象となる物品Wを選出する選出処理を実行して、移動処理を実行する。このため、本実施形態の制御装置30によれば、前回の撮像画像に基づく認識結果を、今回のピッキング処理における移動対象の選出に使用することにより、今回の撮像画像に基づく認識処理の終了を待機せずに物品Wの移動処理を実行することができる。また、本実施形態の制御装置30によれば、移動対象として選出した物品Wに係る移動処理と、今回の撮像画像に基づく認識処理を並行して実行することにより、処理の待ち時間を低減すると共に、差分チェックの都度、前回の撮像画像に基づく認識結果を使用することができる。このため、本実施形態の制御装置30によれば、ピッキングの精度の低下を低減すると共に、ピッキング処理全体の処理時間を低減することができる。
【0149】
比較例として、ある時点において撮像された撮像画像に基づく認識結果を、その後の複数回のピッキングの際に流用する技術がある。このような技術においては、例えば、認識処理に使用された撮像画像の撮像時点と、ピッキングを実行する時点までの間に、物品の位置や姿勢が変化する場合があり、ピッキングの精度が低下する場合があった。
【0150】
これに対して、本実施形態では、新たなRGB画像40bと、前回の認識処理で使用したRGB画像40aの差分チェックを実行することにより、前回の認識結果に基づいてピッキング対象の選出及び移動処理を行う場合であっても、ピッキングの精度の低下を低減することができる。
【0151】
また、他の比較例として、ある時点において撮像された撮像画像に基づく認識結果を、その後の複数回のピッキングの際に流用する技術であって、ある時点において撮像された撮像画像に基づく認識結果を継続して使用する技術がある。このような比較例においては、ある時点において撮像された撮像画像と、最新の撮像画像との差異が許容範囲を超えてから、新たな認識処理が完了するまでの間に待機時間が発生し、ピッキング処理全体を効率的に実行することが困難な場合がある。これに対して、本実施形態の制御装置30によれば、上述のように、移動対象として選出した物品Wに係る移動処理と、今回の撮像画像に基づく認識処理を並行して実行することにより、待機時間を低減し、ピッキング処理全体を効率的に実行することができる。
【0152】
また、本実施形態の制御装置30は、認識した物品Wのうち、前回の選出処理で選出済みの物品Wは、移動対象の物品の候補から除外する。このため、本実施形態の制御装置30によれば、効率的に、次の移動対象となる物品Wの選出をすることができる。
【0153】
また、本実施形態の制御装置30は、前回の移動処理が完了した時点において、新たな撮像画像を用いた今回分の認識処理が完了している場合、該今回分の認識処理の処理結果に基づいて移動対象の物品Wを選出する選出処理を実行し、今回分の認識処理の処理結果に基づいて、移動対象の物品Wを移動させるための移動処理を実行する。このため、本実施形態の制御装置30によれば、荷役装置10によるピッキング動作に要した時間長に応じて、柔軟に、より新しい認識結果を採用することができる。
【0154】
また、本実施形態の制御装置30は、前回の移動処理が完了した時点において、新たな撮像画像を用いた今回分の認識処理が完了していない場合、前回分の認識処理の処理結果に基づいて移動対象の物品Wを選出する選出処理を実行し、前回分の認識処理の処理結果に基づいて、移動対象の物品Wを移動させるための移動処理を実行する。このため、本実施形態の制御装置30によれば、今回分の認識処理の終了を待たずに、選出処理及び移動処理を進めることができ、ピッキング処理全体の処理時間を低減することができる。
【0155】
また、本実施形態の制御装置30は、前回の撮像時点から今回の撮像時点までの変化量が閾値以下となる物品Wが無い場合、今回の撮像画像に基づく今回の認識処理の処理結果に基づいて、移動対象の物品Wを選出する。このため、本実施形態の制御装置30は、例えば荷崩れなど、複数の物品Wの全体の位置の変化が発生した場合は、今回の認識処理に基づいて認識処理を行うため、ピッキングの精度を向上させることができる。
【0156】
なお、本実施形態では、取得部を、プロセッサ31がプログラムを実行することによって実現される機能のとして説明したが、カメラインタフェース34を、取得部の一例としてもよい。
【0157】
上述の実施形態の制御装置30で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【0158】
また、上述の実施形態の制御装置30で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態の制御装置30で実行されるプログラムをインターネット等のネットワーク経由で提供又は配布するように構成してもよい。また、上述の実施形態のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0159】
上述の各実施形態の制御装置30で実行されるプログラムは、上述した各部(取得部、認識部、計画部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、取得部、認識部、計画部が主記憶装置上に生成されるようになっている。
【0160】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0161】
1 荷役システム
10 荷役装置
20 カメラ
21 RGBカメラ
22 3次元カメラ
30 制御装置
31 プロセッサ
34 カメラインタフェース
35 荷役装置インタフェース
36 記憶部
311 取得部
312 認識部
313 計画部