(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-01
(45)【発行日】2023-12-11
(54)【発明の名称】ロボットシステムのための制御デバイス、システム、食料雑貨ショッピング包装システム、格納システムおよびロボットシステムを制御する方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20231204BHJP
G06T 7/11 20170101ALI20231204BHJP
G06T 7/64 20170101ALI20231204BHJP
B65G 1/137 20060101ALN20231204BHJP
【FI】
B25J13/08 A
G06T7/11
G06T7/64
B65G1/137 Z
【外国語出願】
(21)【出願番号】P 2022025729
(22)【出願日】2022-02-22
(62)【分割の表示】P 2020526617の分割
【原出願日】2018-11-16
【審査請求日】2022-03-14
(32)【優先日】2017-11-17
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】515134368
【氏名又は名称】オカド・イノベーション・リミテッド
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】グラハム・ディーコン
(72)【発明者】
【氏名】オセムワロ・ペドロ
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2006-268188(JP,A)
【文献】特開2011-167815(JP,A)
【文献】特開2014-039983(JP,A)
【文献】特開2014-046371(JP,A)
【文献】特開2014-205209(JP,A)
【文献】特開2014-240110(JP,A)
【文献】特表2016-529181(JP,A)
【文献】特開2017-202549(JP,A)
【文献】米国特許出願公開第2014/0067127(US,A1)
【文献】米国特許出願公開第2015/0081090(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/22-19/04
G06T 1/00- 7/64
B65G 1/04-43/00
(57)【特許請求の範囲】
【請求項1】
組織化されたポイントクラウドジェネレータと、吸着カップエンドエフェクタを備えるロボットシステムとに接続可能である、ロボットシステムのための制御デバイスであって、前記組織化されたポイントクラウドジェネレータが、少なくとも1つの物体を格納するように構成された少なくとも1つの格納手段の組織化されたポイントクラウドを生成するように構成され、前記ロボットシステムが、前記少なくとも1つの格納手段から前記少なくとも1つの物体を把持するように構成された、制御デバイスにおいて、
前記組織化されたポイントクラウドの法線と前記組織化されたポイントクラウドの主曲率とを計算するように構成された表面計算手段と、
前記物体の所定の代表的なモデルを使用することなく、前記組織化されたポイントクラウド、前記組織化されたポイントクラウドの前記計算された法線、前記組織化されたポイントクラウドの前記計算された主曲率、および前記格納手段の下部表面の法線に基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から前記少なくとも1つの物体を把持するための把持ポイントを計算するように構成された把持ポイント計算手段と
を備える制御デバイス。
【請求項2】
前記制御デバイスが、
前記組織化されたポイントクラウドに基づいてセグメントを生成するように構成されたセグメント化手段
をさらに備え、
ここにおいて、前記把持ポイント計算手段が、前記生成されたセグメントに基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から前記少なくとも1つの物体を把持するための前記把持ポイントを計算するようにさらに構成される、請求項1に記載の制御デバイス。
【請求項3】
前記表面計算手段が、平滑化された組織化されたポイントクラウドを計算するようにさらに構成され、
ここにおいて、前記把持ポイント計算手段が、前記計算された平滑化された組織化されたポイントクラウドに基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から前記少なくとも1つの物体を把持するための前記把持ポイントを計算するようにさらに構成される、請求項1または2に記載の制御デバイス。
【請求項4】
前記把持ポイント計算手段が把持ポイントを計算することが不可能であるとき、コントローラが、前記少なくとも1つの格納手段が空であるという標識を生成する、および/または前記把持ポイント計算手段に少なくとも1つのセグメントを無視した状態で前記把持ポイントを再計算させるように構成される、請求項1から3のいずれか1項に記載の制御デバイス。
【請求項5】
前記把持ポイント計算手段が、
半径が前記吸着カップエンドエフェクタの半径よりも大きいセグメントを選択するように構成された半径選択手段と、
前記半径が選択されたセグメント、前記組織化されたポイントクラウドの前記計算された法線、前記計算された平滑化された組織化されたポイントクラウド、および前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補を計算するように構成された候補計算手段と、
前記選択されたセグメントのサイズおよび前記格納手段の前記下部表面からの前記選択されたセグメントの距離に基づいて前記計算された把持ポイント候補のセグメントを選択するように構成されたサイズおよび高さ選択手段と、
前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補の近傍平坦度によって前記サイズおよび高さが選択されたセグメントをソートするように構成され、前記ロボットシステムのための前記把持ポイントを選択するように構成されたソーティング手段と
を備える、請求項1から4のいずれか1項に記載の制御デバイス。
【請求項6】
前記半径選択手段が、
各セグメント内の重心を位置特定するように構成された重心発見手段と、
各セグメントにおける、前記セグメントの重心と前記重心に最も遠い前記セグメントの境界上の点との間の距離を計算するように構成された距離計算手段と、
前記計算された距離が前記吸着カップエンドエフェクタの半径よりも大きいかどうかを決定するように構成された距離閾値処理手段と
を備える、請求項5に記載の制御デバイス。
【請求項7】
前記候補計算手段が、
前記選択されたセグメントのすべての主曲率ノルムのすべての所定のパーセンタイルとして主曲率閾値を計算するように構成された閾値計算手段と、
把持ポイント候補の、そのセグメントの境界までの前記距離が所定の閾値よりも大きいかどうか、
前記把持ポイント候補の前記主曲率ノルムが、前記閾値計算手段によって計算された前記閾値よりも小さいかどうか、
前記把持ポイント候補の前記法線と前記少なくとも1つの格納手段の下部表面の法線との間の角度が所定の閾値よりも小さいかどうか、
前記把持ポイント候補の、そのセグメントの重心までの前記距離が所定の閾値よりも小さいかどうか、
のうちの少なくとも1つに基づいて把持ポイント候補を選択するように構成された選択手段と、
前記選択された把持ポイント候補の各セグメントの前記重心と表面の上で測定されたその境界点との間の距離の最小値を計算するように構成され、前記計算された距離に基づいて平均距離を生成するように構成され、計算された距離が、前記計算された平均距離に所定の値が乗算されたものよりも小さいセグメントを選択するように構成された大セグメント破棄手段と、
選択された把持ポイント候補の前記法線と前記少なくとも1つの格納手段の前記下部表面の法線との間の角度を計算し、前記計算された角度に基づいて角度閾値を生成するように構成され、計算された角度が前記計算された角度閾値よりも小さいセグメントを選択するように構成された傾斜表面領域検出手段と
を備える、請求項5または6に記載の制御デバイス。
【請求項8】
前記サイズおよび高さ選択手段が、
前記把持ポイント計算手段によって選択された把持ポイント候補を備える各セグメントのための前記少なくとも1つの格納手段の下部表面からの平均距離を計算するように構成され、前記把持ポイント計算手段によって選択された把持ポイント候補を備えるすべてのセグメントについて、前記少なくとも1つの格納手段の下部表面からの平均距離を計算するように構成され、前記把持ポイント計算手段によって選択された把持ポイント候補を備える各セグメントの平均サイズを計算するように構成され、前記把持ポイント計算手段によって選択された把持ポイント候補を備えるすべてのセグメントの平均サイズを計算するように構成された平均高さおよびサイズ計算手段と、
すべてのセグメントについて、前記少なくとも1つの格納手段の前記下部表面からの前記少なくとも1つの格納手段の前記下部表面からの計算された平均距離が前記計算された平均距離のパーセンタイルよりも大きいセグメント、および/またはすべてのセグメントについて計算された平均サイズが前記計算された平均サイズに所定の係数が乗算されたものよりも大きいセグメントを選択するように構成された高さおよびサイズ閾値処理手段と を備える、請求項5から7のいずれか1項に記載の制御デバイス。
【請求項9】
前記ソーティング手段が、
前記セグメント内の各点における主曲率ノルム、および前記把持ポイント候補と前記セグメントのポイントとの間の距離に基づいて前記把持ポイント候補のサブセット内の各点に対する平坦度評価値を決定するように構成された平坦度計算手段と、
前記把持ポイント候補のサブセットのすべての平坦度評価値の分布を調整するように構成された等化手段と、
位置特定された前記セグメントの重心に対して各等化された平坦度評価値を重み付けするように構成された重み付け手段と、
前記選択されたセグメントからの最大重み付けされた平坦度評価値をもつ把持ポイント候補を選択するように構成された平坦度選択手段と
を備える、請求項5から8のいずれか1項に記載の制御デバイス。
【請求項10】
前記セグメント化手段が、
前記組織化されたポイントクラウドの法線と、平滑化された組織化されたポイントクラウドと、前記組織化されたポイントクラウドの第1の導関数および第2の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算するように構成された組織化されたポイントクラウド計算手段と、
前記計算された第1の導関数、最大主曲率、および前記信頼度マップからセグメント化可能な画像を計算するように構成された画像計算手段と、
シードセグメントを生成するように構成されたシーディング手段と
を備える、請求項2を引用する請求項3から9のいずれか1項に記載の制御デバイス。
【請求項11】
前記組織化されたポイントクラウド計算手段と前記表面計算手段が互いに一体的に形成される、請求項10に記載の制御デバイス。
【請求項12】
前記組織化されたポイントクラウド計算手段が、前記組織化されたポイントクラウドの所定の半径のウィンドウの1次元スライスに多項式を適合させることによって、前記組織化されたポイントクラウドの法線と、平滑化されたポイントクラウドと、前記組織化されたポイントクラウドの第1の導関数および第2の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算するように構成される、請求項10または11に記載の制御デバイス。
【請求項13】
前記画像計算手段が、最大主曲率画像の等化された否定、組織化されたポイントクラウド勾配ノルム画像の等化された否定、および信頼度マップのピクセルごとの累乗の、ピクセルごとの積として前記セグメント化可能な画像を計算するように構成され、ここにおいて、
最大主曲率画像の前記等化された否定が、組織化されたポイントクラウドの谷における最小値と、ピークにおける最大値とを備え、
組織化されたポイントクラウド勾配ノルム画像の前記等化された否定が、急な表面上の最小値と、水平表面上の最大値とを備える、請求項10から12のいずれか1項に記載の制御デバイス。
【請求項14】
前記シーディング手段が、セグメント化可能な画像値が所定の閾値を超える前記セグメント化可能な画像の領域を識別することによって、シードセグメントを生成するように構成される、請求項10から13のいずれか1項に記載の制御デバイス。
【請求項15】
各シード化されたセグメントがそれを越えて成長できない前記セグメントの境界に制限を課すように構成された制限手段をさらに備える、請求項10から14のいずれか1項に記載の制御デバイス。
【請求項16】
前記シードセグメントを成長させるように構成された成長手段と、
前記成長させられたセグメントをマージするように構成されたマージ手段と
をさらに備える、請求項10から15のいずれか1項に記載の制御デバイス。
【請求項17】
前記マージ手段が、
2つの成長させられたセグメント間のインターフェースの長さと前記2つの成長させられたセグメントの周囲の長さとの比が所定の閾値よりも大きく、
前記インターフェースに沿った画像値の分布が、前記セグメントの両方における画像値の分布に類似している
とき、2つの成長させられたセグメントをマージするように構成される、請求項16に記載の制御デバイス。
【請求項18】
少なくとも1つの物体を備える少なくとも1つの格納手段の組織化されたポイントクラウドを生成するように構成された組織化されたポイントクラウドジェネレータと、
前記少なくとも1つの格納手段から前記少なくとも1つの物体を把持するように構成された吸着カップエンドエフェクタを備えるロボットシステムと、
前記物体の所定の代表的なモデルを使用することなく、前記計算された把持ポイントに基づいて前記ロボットシステムを制御するように構成された請求項1から17のいずれか1項に記載の制御デバイスと
を備えるシステム。
【請求項19】
同じ製品の多数の物体を格納するように構成された第1の格納手段と、
異なる製品の多数の物体を格納するように構成された第2の格納手段と、
請求項18に記載のシステムと、
を備え、
前記ロボットシステムが、前記第1の格納手段から前記第2の格納手段へと少なくとも1つの物体を移動させるように構成される、
食料雑貨ショッピング包装システム。
【請求項20】
複数のグリッド空間を備えるグリッドパターンを形成するために、実質的に水平な平面内で、X方向に延びる平行なレールまたはトラックの第1のセットと、前記第1のセットに対して直角にY方向に延びる平行なレールまたはトラックの第2のセットと、
前記レールの下に設置され、各スタックが単一のグリッド空間の底面積内に設置されるように構成される容器の複数のスタックと、
少なくとも1つの搬送デバイスと
、
前記少なくとも1つの搬送デバイスによって搬送された容器を受け取るように構成されたピッキングステーションと、
請求項18または19に記載のシステムと、
を備え、
前記少なくとも1つの搬送デバイスが、前記X方向および/または前記Y方向に、前記レール上の前記スタックの上方に選択的に移動するように構成され、容器を搬送するように構成され、
前記システムが、容器から物体を把持するように構成される、
格納システム。
【請求項21】
あるグリッド空間を占有する搬送デバイスが、隣接するグリッド空間を占有するまたはこれを前記X方向および前記Y方向に横断する搬送デバイスを妨害しないように、前記少なくとも1つの搬送デバイスが、前記格納システム内の単一のグリッド空間のみを占有する底面積を有する、請求項20に記載の格納システム。
【請求項22】
ロボットシステムを制御する方法であって、前記ロボットシステムが、吸着カップエンドエフェクタを備え、少なくとも1つの物体を格納するように構成された少なくとも1つの格納手段から前記少なくとも1つの物体を把持するように構成される方法において、
前記少なくとも1つの格納手段の組織化されたポイントクラウドを受け取るステップと、
前記組織化されたポイントクラウドの法線と前記組織化されたポイントクラウドの主曲率とを計算するステップと、
前記物体の所定の代表的なモデルを使用することなく、前記組織化されたポイントクラウド、前記組織化されたポイントクラウドの前記計算された法線、前記組織化されたポイントクラウドの前記計算された主曲率、および前記格納手段の下部表面の法線に基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から前記少なくとも1つの物体を把持するための把持ポイントを計算するステップと
を備える方法。
【請求項23】
前記方法が、
前記組織化されたポイントクラウドに基づいてセグメントを生成するステップ
をさらに備え、
ここにおいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から前記少なくとも1つの物体を把持するための前記把持ポイントが、前記生成されたセグメントに基づいて計算される、請求項22に記載の方法。
【請求項24】
前記方法が、
平滑化された組織化されたポイントクラウドを計算するステップ
をさらに備え、
ここにおいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から前記少なくとも1つの物体を把持するための前記把持ポイントが、前記計算された平滑化された組織化されたポイントクラウドに基づいて計算される、請求項22または23に記載の方法。
【請求項25】
把持ポイントを計算する前記ステップが把持ポイントを計算することが不可能であるとき、前記方法が、
前記少なくとも1つの格納手段が空であるという標識を生成すること、および
少なくとも1つのセグメントを無視した状態で把持ポイントを再計算すること
のうちの少なくとも1つをさらに備える、請求項22から24のいずれか1項に記載の方法。
【請求項26】
把持ポイントを計算する前記ステップが、
半径が前記吸着カップエンドエフェクタの半径よりも大きいセグメントを選択することと、
前記半径が選択されたセグメント、前記組織化されたポイントクラウドの前記計算された法線、前記計算された平滑化された組織化されたポイントクラウド、および前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補を計算することと、
前記選択されたセグメントのサイズおよび前記少なくとも1つの格納手段の下部表面からの前記選択されたセグメントの距離に基づいて前記計算された把持ポイント候補のセグメントを選択することと、
前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補の近傍平坦度によって前記サイズおよび距離が選択されたセグメントをソートすることと
前記ロボットシステムのための把持ポイントを選択することと
を備える、請求項22から25のいずれか1項に記載の方法。
【請求項27】
半径が前記吸着カップエンドエフェクタの半径よりも大きいセグメントを選択する前記ステップが、
各セグメント内に重心を位置特定することと、
各セグメントにおける、前記セグメントの重心と前記重心に最も遠い前記セグメントの境界上の点との間の距離を計算することと、
前記計算された距離が前記吸着カップエンドエフェクタの半径よりも大きいかどうかを決定することと
を備える、請求項26に記載の方法。
【請求項28】
把持ポイント候補を計算する前記ステップが、
前記選択されたセグメントのすべての主曲率ノルムのすべての所定のパーセンタイルとして主曲率閾値を計算することと、
把持ポイント候補の、そのセグメントの境界までの前記距離が所定の閾値よりも大きいかどうか、
前記把持ポイント候補の前記主曲率ノルムが、前記閾値の計算ステップによって計算された前記閾値よりも小さいかどうか、
前記把持ポイント候補の前記法線と前記少なくとも1つの格納手段の下部表面の法線との間の角度が所定の閾値よりも小さいかどうか、
前記把持ポイント候補の、そのセグメントの重心までの前記距離が所定の閾値よりも小さいかどうか、
のうちの少なくとも1つに基づいて把持ポイント候補を選択することと、
前記選択された把持ポイント候補の各セグメントの前記重心と表面の上で測定されたその境界点との間の距離の最小値を計算することと、
前記計算された距離に基づいて平均距離を生成することと、
計算された距離が、前記計算された平均距離に所定の値が乗算されたものよりも小さいセグメントを選択することと、
選択された把持ポイント候補の前記法線と前記少なくとも1つの格納手段の前記下部表面の法線との間の角度を計算することと、
前記計算された角度に基づいて角度閾値を生成することと、
計算された角度が前記計算された角度閾値よりも小さいセグメントを選択することと を備える、請求項26または27に記載の方法。
【請求項29】
前記選択されたセグメントのサイズおよび前記少なくとも1つの格納手段の下部表面からの前記選択されたセグメントの距離に基づいて前記計算された把持ポイント候補のセグメントを選択する前記ステップが、
把持ポイント候補計算ステップによって選択された把持ポイント候補を備える各セグメントのための前記少なくとも1つの格納手段の下部表面からの平均距離を計算することと、
前記把持ポイント候補計算ステップによって選択された把持ポイント候補を備えるすべてのセグメントについて、前記少なくとも1つの格納手段の下部表面からの平均距離を計算することと、
前記把持ポイント候補計算ステップによって選択された把持ポイント候補を備える各セグメントのための平均サイズを計算することと、
前記把持ポイント候補計算ステップによって選択された把持ポイント候補を備えるすべてのセグメントについて、平均サイズを計算することと、
すべてのセグメントについて、前記少なくとも1つの格納手段の前記下部表面からの前記少なくとも1つの格納手段の前記下部表面からの計算された平均距離が前記計算された平均距離のパーセンタイルよりも大きいセグメントを選択すること、および/またはすべてのセグメントについて、計算された平均サイズが前記計算された平均サイズに所定の係数が乗算されたものよりも大きいセグメントを選択することと
を備える、請求項26から28のいずれか1項に記載の方法。
【請求項30】
ソートする前記ステップが、
前記セグメント内の各点における主曲率ノルム、および前記把持ポイント候補と前記セグメントのポイントとの間の距離に基づいて前記把持ポイント候補のサブセット内の各点に対する平坦度評価値を決定することと、
前記把持ポイント候補のサブセットのすべての平坦度評価値の分布を調整することと、 位置特定された前記セグメントの重心に対して各等化された平坦度評価値を重み付けすることと、
前記選択されたセグメントからの最大重み付けされた平坦度評価値をもつ把持ポイント候補を選択することと
を備える、請求項26から29のいずれか1項に記載の方法。
【請求項31】
セグメントの生成ステップが、
前記組織化されたポイントクラウドの法線と、平滑化された組織化されたポイントクラウドと、前記組織化されたポイントクラウドの第1の導関数および第2の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算することと、
前記計算された第1の導関数、最大主曲率、および前記信頼度マップからセグメント化可能な画像を決定することと、
シードセグメントを生成することと
を備える、請求項23から30のいずれか1項に記載の方法。
【請求項32】
計算する前記ステップが、前記組織化されたポイントクラウドの所定の半径のウィンドウの1次元スライスに多項式を適合させることによって前記組織化されたポイントクラウドの法線と、平滑化されたポイントクラウドと、前記組織化されたポイントクラウドの第1の導関数および第2の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算することを備える、請求項31に記載の方法。
【請求項33】
決定する前記ステップが、最大主曲率画像の等化された否定、組織化されたポイントクラウド勾配ノルム画像の等化された否定、および信頼度マップのピクセルごとの累乗の前記ピクセルごとの積として前記セグメント化可能な画像を計算することを備え、ここにおいて、
最大主曲率画像の前記等化された否定が、組織化されたポイントクラウドの谷における最小値と、ピークにおける最大値とを備え、
組織化されたポイントクラウド勾配ノルム画像の前記等化された否定が、急な表面上の最小値と、水平表面上の最大値とを備える、請求項31または32に記載の方法。
【請求項34】
シードを生成する前記ステップが、セグメント化可能な画像値が所定の閾値を超える前記セグメント化可能な画像の領域を識別することによってシードセグメントを生成することを備える、請求項31から33のいずれか1項に記載の方法。
【請求項35】
それを越えて各シード化されたセグメントが成長できない前記セグメントの境界に制限を課すステップ
をさらに備える、請求項31から34のいずれか1項に記載の方法。
【請求項36】
前記方法が、
前記シードセグメントを成長させるステップと、
前記成長させられたセグメントをマージするステップと
をさらに備える、請求項31から35のいずれか1項に記載の方法。
【請求項37】
マージする前記ステップが、
2つの成長させられたセグメント間のインターフェースの長さと前記2つの成長させられたセグメントの周囲の長さとの比が所定の閾値よりも大きく、
前記インターフェースに沿った画像値の分布が、前記セグメントの両方における画像値の分布に類似している
とき、2つの成長させられたセグメントをマージすることを備える、請求項36に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2017年11月17日に出願された英国特許出願第1719058.8号の優先権を主張するものであり、同出願すべての内容は、参照により本明細書に組み込まれる。
【0002】
本発明は、一般に、ロボットシステムの分野に関し、より詳細には、食料雑貨ショッピング包装システムおよび格納システムとともにロボットシステムを制御するための制御デバイスおよび方法に関する。
【背景技術】
【0003】
コンピュータビジョンおよびロボット工学の分野では、画像化された物体を位置特定し、画像化された物体を把持するようにロボットシステムに指示するという概念は、発展中の分野である。一般的には、これは、データベースが、把持されることになる物体のモデルを記憶し、ロボットシステムによって把持されるのに成功することがある物体上の場所を示す、モデルベースの手法を使用して、達成されている。したがって、データベースモデルは、画像化されるシーン内の既知の、モデル化された物体を設置するために、シーンと比較されることがある。次いで、ロボットシステムは、モデルによって識別された把持ポイントを使用して、設置された物体を把持することが課せられることがある。
【0004】
しかしながら、この手法は、モデル化することを困難にする、多数の物体タイプがあるとき、または特定の物体タイプの外観における広い変動があるときに実用的でない、データベース内に記憶された物体の正確なモデルに依拠する。
【0005】
したがって、関心は、モデルがデータベース内に記憶されず、代わりに、コントローラがシーン内の可視の物体の場所と物体のうちの少なくとも1つに適した把持ポイントの両方を画像化されたシーンから決定する、モデルなしのピッキングの概念に向けられている。
【0006】
本発明者らは、容器の中に密に詰め込まれている物体などを把持するという問題に直面し、ロボットシステムに対する吸着カップエンドエフェクタ(end effector)の使用を選択する。さらに、吸着カップエンドエフェクタの選択は、堅牢で信頼性高くありながら、機械的に容易に実施される。次いで、彼らの注意は、高密度の他の物体をもつ領域内の物体に適した把持ポイントを選択することに向けられる。
【0007】
Umar Asifらによる「Model-Free Segmentation and Grasp Selection of Unknown Stacked Objects」では、平行な顎部グリッパを利用する、物体把持のためのモデルなしの手法が開示されている。したがって、鏡映対称を使用して把持ポイントのペアを生成する把持計算アルゴリズムが開示される。しかしながら、それは、物体が、容器内の物体のために、エンドエフェクタのための物体への衝突のないルートを見つけるために経路探索を実行するようにビジョンシステムに要求することを一般に必要とする自由空間内に位置していると仮定する。
【0008】
同様に、Andreas ten Pasらによる「Grasp Pose Detection in Point Clouds」も、ロボットシステム上で平行な顎部グリッパを使用するモデルなしの手法を開示する。しかしながら、彼らの手法は物体をセグメント化せず、したがって、複数の物体は、単一の物体として検出されることがある。
【0009】
上記で説明された論文の両方は、密に小包環境内の他の物体に対する干渉により環境内での動作を可能にする平行な顎部グリッパの使用を開示する。したがって、計算される把持ポイントは、吸着カップエンドエフェクタが物体を把持するのに効果的な位置を提供しない。
【0010】
したがって、従来のモデルベースの手法を使用することなく、物体にとって適切で、吸着カップエンドエフェクタに適した把持ポイントを決定するように装置および方法を決定および制御する、より適切な把持ポイントが必要とされている。
【発明の概要】
【0011】
既知のモデルのない手法における問題に鑑みて、本発明は、物体を確実に位置特定し、各物体にとって適切な把持ポイントを計算して、それによって、ロボットシステムを効果的に制御する装置および方法を提供することを目的とする。
【0012】
一般的には、本発明は、物体の表面のための把持ポイントをより効果的に計算するためにロボットシステムによって把持されることになる少なくとも物体の表面の性質に基づいた把持ポイント計算を導入する。
【0013】
本発明は、ロボットシステムのための制御デバイスであって、組織化されたポイントクラウドジェネレータ(organised point cloud generator)と、吸着カップエンドエフェクタを備えるロボットシステムとに接続可能であり、組織化されたポイントクラウドジェネレータは、少なくとも1つの物体を含むように構成された少なくとも1つの格納手段の組織化されたポイントクラウドを生成するように構成され、ロボットシステムは、少なくとも1つの格納手段から少なくとも1つの物体を把持するように構成される、制御デバイスを提供する。この制御デバイスは、組織化されたポイントクラウドの法線と組織化されたポイントクラウドの主曲率とを計算するように構成された表面計算手段を備える。制御デバイスは、組織化されたポイントクラウド、組織化されたポイントクラウドの計算された法線、組織化されたポイントクラウドの計算された主曲率、および格納手段の下部表面の法線に基づいて、ロボットシステムの吸着カップエンドエフェクタが少なくとも1つの格納手段から少なくとも1つの物体を把持するための把持ポイントを計算するように構成された把持ポイント計算手段も備える。
【0014】
本発明は、システムも提供する。このシステムは、少なくとも1つの物体を備える少なくとも1つの格納手段の組織化されたポイントクラウドを生成するように構成された組織化されたポイントクラウドジェネレータを備える。システムは、少なくとも1つの格納手段から少なくとも1つの物体を把持するように構成された吸着カップエンドエフェクタを備えるロボットシステムも備える。システムは、計算された把持ポイントに基づいてロボットシステムを制御するように構成された、前述の制御デバイスも備える。
【0015】
本発明は、食料雑貨ショッピング包装システムも提供する。この食料雑貨ショッピング包装システムは、同じ製品の多数の物体を含むように構成された第1の格納手段と、異なる製品の多数の物体を含むように構成された第2の格納手段と、前述のシステムとを備える。ロボットシステムは、第1の格納手段から第2の格納手段へと少なくとも1つの物体を移動させるように構成される。
【0016】
本発明は、格納システムも提供する。この格納システムは、複数のグリッド空間を備えるグリッドパターンを形成するために、実質的に水平な平面内で、X方向に延びる平行なレールまたはトラックの第1のセットと、この第1のセットに対して直角にY方向に延びる平行なレールまたはトラックの第2のセットとを備える。容器の複数のスタックは、レールの下に設置され、各スタックが単一のグリッド空間の底面積内に設置されるように構成される。少なくとも1つの搬送デバイス、この少なくとも1つの搬送デバイスは、X方向および/またはY方向に、レール上のスタックの上方に選択的に移動するように構成され、容器を搬送するように構成される。格納システムは、少なくとも1つの搬送デバイスによって搬送された容器を受け取るように構成されたピッキングステーションと、前述のシステムであって、容器から物体を把持するように構成されたシステムとをさらに備える。
【0017】
本発明は、ロボットシステムを制御する方法も提供し、このロボットシステムは、吸着カップエンドエフェクタを備え、少なくとも1つの物体を格納するように構成された少なくとも1つの格納手段から少なくとも1つの物体を把持するように構成される。この方法は、少なくとも1つの格納手段の組織化されたポイントクラウドを受け取るステップを備える。この方法は、組織化されたポイントクラウドの法線と組織化されたポイントクラウドの主曲率とを計算するステップも備える。この方法は、組織化されたポイントクラウド、組織化されたポイントクラウドの計算された法線、組織化されたポイントクラウドの計算された主曲率、および格納手段の下部表面の法線に基づいて、ロボットシステムの吸着カップエンドエフェクタが少なくとも1つの格納手段から少なくとも1つの物体を把持するための把持ポイントを計算するステップを備える。
【0018】
次に、本発明の実施形態が、同じ参照番号が同じまたは対応する部分を指定する添付の図面を参照しながら、単なる例として説明される。
【図面の簡単な説明】
【0019】
【
図1】本発明の第1の実施形態による、組織化されたポイントクラウドジェネレータと、いくつかの物体をもつ容器と、ロボットシステムと、コントローラとを含む把持セットアップの概略図。
【
図2】第1の実施形態によるコントローラのセグメント化手段のさらなる詳細を示すブロック図。
【
図3】第1の実施形態によるコントローラの表面計算手段のさらなる詳細を示すブロック図。
【
図4】第1の実施形態によるコントローラの把持ポイント計算手段のさらなる詳細を示すブロック図。
【
図5】第1の実施形態によるコントローラの把持ポイント計算手段の半径選択手段のさらなる詳細を示すブロック図。
【
図6】第1の実施形態によるコントローラの把持ポイント計算手段の候補計算手段のさらなる詳細を示すブロック図。
【
図7】第1の実施形態によるコントローラの把持ポイント計算手段のサイズおよび高さ選択手段のさらなる詳細を示すブロック図。
【
図8】第1の実施形態によるコントローラの把持ポイント計算手段のソーティング手段(sorting means)のさらなる詳細を示すブロック図。
【
図9】
図1に示される第1の実施形態によるコントローラによって実行されるプロセスを示すフローチャート。
【
図10】
図2に示されるセグメント化手段によって実行されるプロセスを示すフローチャート。
【
図11】
図3に示される表面計算手段によって実行されるプロセスを示すフローチャート。
【
図12】
図4に示される把持ポイント計算手段によって実行されるプロセスを示すフローチャート。
【
図13】
図5に示される半径選択手段によって実行されるプロセスを示すフローチャート。
【
図14】
図6に示される候補計算手段によって実行されるプロセスを示すフローチャート。
【
図15】
図7に示されるサイズおよび高さ選択手段によって実行されるプロセスを示すフローチャート。
【
図16】
図8に示されるソーティング手段によって実行されるプロセスを示すフローチャート。
【
図17】既知のシステムによるフレームワーク構造の概略図。
【
図18】
図17のフレームワーク構造内に配置されたビンのスタックを示す上面図の概略図。
【
図19a】ビンを置く負荷ハンドリングデバイスの概略斜視図。
【
図19b】ビンを置く負荷ハンドリングデバイスの概略斜視図。
【
図19c】ビンを持ち上げる負荷ハンドリングデバイスの概略正面斜視図。
【
図20】フレームワーク構造上で動作する負荷ハンドリングデバイスを示すシステムの概略図。
【発明を実施するための形態】
【0020】
第1の実施形態
図1は、本発明の第1の実施形態による、コントローラ1とともに容器4から物体を把持するためのシステムを示す。このシステムでは、上部レベルから、少なくとも1つの物体を格納するように構成された容器4が用意される。組織化されたポイントクラウドジェネレータ2が、容器の組織化されたポイントクラウドと、もしあれば容器4内に含まれる物体とを生成するために、ある位置で用意される。組織化されたポイントクラウドは、容器4内の物体のための把持ポイントを計算するように構成された、第1の実施形態によるコントローラ1へと入力される。コントローラ1から把持ポイントを受け取り、次いで、識別された把持ポイントにおいて物体を把持するためにコントローラ1に接続されたロボットシステムが用意される。
【0021】
より詳細に、示された容器4は、ロボットシステム3によって容器4から移動させられることが望まれる3つの物体を含む。理解されるように、容器4は、任意の数の物体を含むことができる、または物体を全く含むことはできない。容器は、一般的には、下部表面と、物体を支持するために、床と、壁、たとえば、物体が落ちるのを防止する4つの壁とを含む。しかしながら、理解されるように、容器は、たとえば3つの壁、5つの壁などを備える、物体を保持する任意のサイズまたは形状であってよい。
【0022】
理想的には、容器4内に含まれる物体は壁の上部の下に位置決めされるが、第1の実施形態は、たとえば、容器4内に配設された大きな物体により、または容器4内に詰め込まれた多数の物体により物体が壁の上部の上方に延びる容器に等しく適用可能である。
【0023】
組織化されたポイントクラウドジェネレータ2は、容器4の内容をビューするために位置決めされる。一般的なセットアップでは、容器4の下部表面は、容器4の上方に配置された組織化されたポイントクラウドジェネレータ2とともに水平に配置され、ポイントクラウドジェネレータ2のセンサは、容器4の内容をビューするために垂直に下に向く。適切な組織化されたポイントクラウドジェネレータ2の例は、第1世代Microsoft Kinectデバイス、飛行時間型デバイス、超音波デバイス、ステレオカメラペア、およびレーザストライパーなどの構造化された照明デバイスである。これらのデバイスは、一般的には、デバイスによってビューされるシーンの深度情報を含む画像である深度マップ画像を生成する。当技術分野では、デバイスのレンズおよびセンサにおける異常に関して深度マップ画像を較正することは普通である。ひとたび較正されると、深度マップは、ポイントクラウドとして知られている、メトリック3D点のセットに変換可能である。好ましくは、ポイントクラウドは、各3次元点が異なるピクセルの見通し線上にあり、3D点とピクセルとの間の1対1対応という結果になることを意味する、組織化されたポイントクラウドである。組織化は、効率的なポイントクラウド処理を可能にするので、望ましい。較正プロセスのさらなる一部では、ロボットシステム3の基準フレームに対する組織化されたポイントクラウドジェネレータのポーズ、すなわちその位置および方位が決定される(たとえば、基準フレームは、ロボットシステムの基部であってよいが、任意の既知の基準フレーム、たとえば、ロボットシステムの手首関節に位置している基準フレームが機能するであろう)。したがって、組織化されたポイントクラウドが、深度マップならびにこの深度マップを生成するために使用されるレンズおよびセンサについての情報に基づいて生成される。任意選択で、生成された深度マップは、ロボットシステム3の基準フレームへと変換されることがある。したがって、組織化されたポイントクラウドジェネレータ2は、深度マップ生成手段のレンズおよびセンサについての情報に基づいて組織化されたポイントクラウドを生成するために、生成された深度マップを較正するように構成された深度マップ較正手段(図示せず)とともに、容器4の深度情報と物体とを含む画像を生成するために深度マップ生成手段(図示せず)を備えることがある。簡単にするために、組織化されたポイントクラウドジェネレータ2は、
図1では単一のユニットとして示されている。しかしながら、理解されるように、深度マップ生成および深度マップ較正の機能の各々は、別個のユニットによって実行されてもよく、たとえば、深度マップ較正手段は、第1の実施形態のコントローラ1内に統合されてもよい。
【0024】
コントローラ1は、生成された組織化されたポイントクラウドを受け取り、それによって、ロボットシステム3によって使用されることになる把持ポイントを生成する。しかしながら、いくつかの環境では、把持ポイントは生成されない。たとえば、容器が物体を含まない場合、コントローラ1は、把持ポイントを生成せず、代わりに、容器4が空であるという標識を生成する。いくつかの環境では、ロボットシステム3は、生成された把持ポイントによって物体を把持するのに失敗することがあり、この状況では、コントローラ1は、把持ポイントの再計算を引き起こすが、データ入力を制限するように構成されることがあり、たとえば、把持ポイントの計算においてポイントクラウド情報のすべてを含むとは限らないことを選ぶ。これは、有利には、以前に計算された把持ポイントからの、異なる把持ポイントの計算という結果になる。さらに、把持ポイントが見つからない場合、コントローラ1は、組織化されたポイントクラウドジェネレータ2から、組織化されたポイントクラウドを再捕捉するように構成されることがある。この場合、捕捉された組織化されたポイントクラウドにおけるセンサノイズにより把持ポイント計算が失敗したと仮定される。組織化されたポイントクラウドを再捕捉することによって、センサノイズは変化され、把持ポイント計算成功という結果になる。
【0025】
いくつかの状況では、コントローラ1が、把持ポイントを生成するのに失敗することがある、および/またはロボットシステム3は、把持ポイントを生成することによって物体を把持するのに失敗することがある。これらの状況のいずれかまたは両方では、コントローラ1は、容器4内の少なくとも1つの物体を押すようにロボットシステム3に命令することがある。このようにして、ロボットシステム3は、吸着エンドエフェクタと物体との間の相互作用を引き起こすなどの小さな移動を使用するが、物体を把持しないように、容器4内の物体の方位および/または位置を変更するように命令される。このようにして、新しく捕捉された組織化されたポイントクラウドは、把持ポイントが生成されるのに成功することがあり、物体がロボットシステム3によって把持されるのに成功することがある、少なくとも1つの異なるように配設された/向けられた物体を備える。
【0026】
生成された把持ポイントは、吸着カップエンドエフェクタを備えるロボットシステム3によって受け取られる。吸着カップエンドエフェクタの使用は、物体を把持するための単一の把持ポイントの使用を可能にし、それによって、品物のまわりの突き出た部分のための空間の欠如により多くの他の種類のエンドエフェクタが失敗するであろう緊密に包装されたアレイから、個々の品物を持ち上げることが適切になる。それは、容易に変形される物体にも効果的なことがある。ロボットシステム3は、既知の面積および半径である吸着カップエンドエフェクタを使用して、計算された把持ポイントを使用して容器4から物体を把持する。ロボットシステム3は、それによって、容器4内部の物体を容器4内の別の場所または容器4の外部の場所に容易に移動させることができる。
【0027】
したがって、第1の実施形態のコントローラ1は、有利には、特定のロボットエンドエフェクタの動作に適している把持場所を見つける。この解決策は、変形可能な物体および二度同じ形にならない物体(たとえば、ジャガイモまたはポテトチップスの袋)のような代表的なモデルを有することが不可能である物体を抜き取ることが可能であるのに役立つ。さらに、第1の実施形態により提供されるこの解決策は、把持ポイントが、把持されることになる多くの他の物体の近くに設置された物体のために、言い換えれば、密集して配置された物体のために、識別されることを可能にする。
【0028】
コントローラ1は、表面計算手段12と、把持ポイント計算手段12とを備える。任意選択で、コントローラ1は、セグメント化手段11を備える。このようにして、一般に、表面計算手段12は、組織化されたポイントクラウドジェネレータ2によって画像化された表面のいくつかの性質を計算するが、これは、容器4の内容と一致する。次いで、把持ポイント計算手段13が、計算された表面性質および生成された組織化されたポイントクラウドに基づいて把持ポイントを計算する。
【0029】
図2は、第1の実施形態のコントローラ1内の、本発明者らによって利用される任意選択のセグメント化手段11をより詳細に示す。セグメント化手段11は、組織化されたポイントクラウドジェネレータ2によって生成される表面を、生成された組織化されたポイントクラウドの少なくとも一部分と一致する少なくとも1つのセグメント化された表面(セグメントとしても知られる)へと分割するために使用されることがある。一般に、セグメント化された表面は、容器4内の個々の物体に対応する。たとえば、
図1に基づいて、容器4内の各物体に対応する3つのセグメント(すなわち、2つの円筒および1つの立方体)が生成されるであろう。しかしながら、容器4のセグメント化された表面がセグメント化手段11によって生成されないとしても、容器4内の物体の妥当な把持ポイントが把持ポイント計算手段13によって生成されるので、セグメント化手段11は任意選択である。効果的に、セグメント化手段11のない場合、生成された組織化されたポイントクラウド全体は、単一のセグメント化された表面として扱われる。しかしながら、そのような表面は、把持ポイントを生成するために表面計算手段12および把持ポイント計算手段13によって作用していることがある妥当な性質を有するので、その場合、セグメント化手段11は、任意選択と考えられる。上記で説明されたように、有利には、セグメント化手段11は、一般に容器4内の個々の物体に対応する把持ポイントをより効果的に計算するために用いられることがある。
【0030】
セグメント化手段11は、組織化されたポイントクラウドを受け取り、それを使用して、セグメントとしても知られるセグメント化された表面を生成する。理想的には、組織化されたポイントクラウド内に表される容器4内の各物体は、組織化されたポイントクラウドジェネレータ2から可視であるいくつかの表面によって識別される。一例では、セグメント化手段11は、単一の表面として凸状表面を備える物体を識別するように構成され、たとえば、容器4内の円筒は、
図1に示されるように、単一の表面として識別されるであろう。この単一の表面は、凸状の様式で互いに接合される、円筒の上部の平坦な表面と円筒の丸い本体を識別する。同様に、
図1に示される容器4内の立方体の物体は、円筒とは別個の単一の表面として識別されるであろう。一方、凸状の様式で接合された表面は、別個の表面として扱われる。たとえば、立方体の物体および円筒の物体との間に、凹状領域がある。したがって、セグメント化手段11は、2つの物体間の空間として画定された凹状領域が2つの生成された表面間の表面境界に対応するときに1つは立方体に対応し、1つは円筒に対応する、2つのセグメント化された表面を生成するように構成されることがある。
【0031】
理解されるように、セグメント化手段11の1つの特定の実装形態が
図2に示されているが、本実施形態は、組織化されたポイントクラウドをセグメント化された表面へとセグメント化する他の手段を含むことが想定される。
【0032】
たとえば、参照により本明細書に組み込まれる、Richtsfeldらによる「Segmentation of Unknown Objects in Indoor Environments」は、表面パッチを推定するために、平面とNURBS表面とを適合させることによるセグメンテーションを実行し、次いで、グラフの切れ目(cut)を使用してパッチを互いにマージし、ペアワイズエネルギーは、SVMによって定義される(手動でアノテーション付与されたデータに対して訓練される)。理解されるように、組織化されたポイントクラウドをセグメント化する他の手段が、第1の実施形態の範囲内で想定される。
【0033】
組織化されたポイントクラウドをセグメント化する1つの特定の手段が
図2に示されている。この特定の実装形態は、後で説明されるように、特定の利点を有する。セグメント化手段11は、組織化されたポイントクラウド計算手段111と、画像計算手段112と、シーディング手段(seeding means)113とを備える。任意選択で、成長手段115およびマージ手段(merging means)116が用意される。さらなる任意選択の特徴は、用意されることがある制限手段114である。
【0034】
平滑化された組織化されたポイントクラウドは、生成された組織化されたポイントクラウド内のアーチファクトを減少させるために使用されることがある。簡単にするために、以下のセクションは、平滑化された組織化されたポイントクラウドが使用されることを仮定した任意選択のセグメント化手段11の説明された動作をもつが、これは任意選択であり、代わりに、滑らかでない組織化されたポイントクラウドすなわち生成された組織化されたポイントクラウドが代わりに使用されてよい。
【0035】
組織化されたポイントクラウド計算手段111は、組織化されたポイントクラウドの法線と、平滑化された組織化されたポイントクラウドと、組織化されたポイントクラウドの第1の導関数および第2の導関数と、組織化されたポイントクラウドの主曲率と、信頼度マップとを計算するように構成される。したがって、組織化されたポイントクラウド計算手段111は、組織化されたポイントクラウドの差動的な幾何学的性質を計算する。
【0036】
画像計算手段112は、差動的な幾何学的性質、言い換えれば、組織化されたポイントクラウドの点の法線と、平滑化された組織化されたポイントクラウドと、組織化されたポイントクラウドの第1の導関数および第2の導関数と、組織化されたポイントクラウドの主曲率と、信頼度マップとを受け取る。画像計算手段は、第1の導関数、最大主曲率、および信頼度マップに基づいてセグメント化可能な画像を生成するように構成される。
【0037】
シーディング手段113は、画像計算手段112からセグメント化可能な画像を受け取り、シードセグメント(seed segments)を生成するように構成される。特定の一実施形態では、シードセグメントは、把持ポイント計算を実行するためにセグメントとして使用されることがある。他の実施形態では、任意選択であり、シードセグメントをさらに改良するさらなる手段が(以下で説明されるように)用意される。
【0038】
任意選択で、シードセグメントは、セグメントがそれを越えて成長できない各セグメントの境界に制限を課すように構成される制限手段114によって制限されることがある。
【0039】
特徴のさらなる任意選択のセットは、成長手段115とマージ手段116である。成長手段115は、シーディング手段113および制限手段114(使用される場合)の出力を受け取る。成長手段115は、より多くのピクセルが、成長させられたセグメントに追加可能でなくなるまで、シードセグメントを成長させるように構成される。
【0040】
出力された成長させられたセグメントは、適切な場合には成長させられたセグメントを一緒にマージするように構成されたマージ手段116へと入力される。
【0041】
次いで、マージされたセグメントは、組織化されたポイントクラウドの識別されたセグメントとして、セグメント化手段11から出力される。
【0042】
より詳細に、組織化されたポイントクラウド計算手段の特定の一実装形態では、差動的な幾何学的性質が2段階で算出される。第1の段階では、平滑化された組織化されたポイントクラウド、組織化されたポイントクラウドの第1の導関数および第2の導関数、ならびに信頼度マップが、組織化されたポイントクラウドに基づいて算出される。第2の段階では、ポイントクラウドジェネレータ2の見る方向と一致する容器の下部表面の法線に基づいて、ならび第1の段階で算出された平滑化された組織化されたポイントクラウドと組織化されたポイントクラウドの導関数および第2の導関数に基づいて、組織化されたポイントクラウドの主曲率および法線が生成される。主曲率を使用することによって、セグメント化手段11は、隆起またはピーク上にある点と谷またはクレーター内にある点とを区別することが可能である。一般的には、主曲率は、数字のペアの符号および大きさを通して隆起/ピークと谷/クレーターとの間の区別を表す。
【0043】
より詳細には、1次元多項式適合を使用して、平滑化された組織化されたポイントクラウド(組織化されたポイントクラウドの0次導関数と呼ばれことがある)が算出される。特に、非限定的な一実装形態では、多項式が、各ウィンドウが所定の半径である重複ウィンドウへとさらに分割された、組織化されたポイントクラウドの1次元スライス(one-dimensional slices)に適合される。より具体的には、多項式は、組織化されたポイントクラウドのx方向性スライス内の所定の半径の1次元重複ウィンドウに適合される。同様に、多項式は、組織化されたポイントクラウドのy方向性スライス内の所定の半径の1次元重複ウィンドウにも適合される。x方向に再適合することとy方向に再適合することを交互にしながら、以前の適合結果およびこれらの結果の導関数に多項式を再適合することによって、組織化されたポイントクラウドおよびその導関数のより滑らかな推定が生成され、一方向における適合のみから生じ、その後の処理段階に有害であろうアーチファクトが除去される。そのうえ、適合手順が、表面不連続点上での平滑化が回避された結果として、重み付けされることがある。さらに、重みは、信頼度マップを生成するために使用されることがある。信頼度マップは、どれくらいの信頼度で多項式適合が組織化されたポイントクラウドの点に適合するかの表現である。
【0044】
さらに、x方向とy方向の両方における1次導関数は、容器の下部表面の法線とともに、各点に対して、法線と、第1基本形式として知られる3つの値とを計算するために使用されることがある。それによって、主曲率は、各点に対する法線、第1基本形式、および第2の導関数に基づいて計算可能である。
【0045】
画像計算手段112に関して、これは、組織化されたポイントクラウド計算手段111の出力の個々のピクセルに基づいてセグメント化可能な画像を計算するように構成される。特に、最大主曲率画像の等化された否定(an equalised negation)、組織化されたポイントクラウド勾配ノルム画像(gradient norms image)の等化された否定、および信頼度マップのピクセルごとの累乗(power)の、ピクセルごとの積として。非限定的な一実施形態では、最大主曲率画像の等化された否定は、組織化されたポイントクラウドの谷における最小値と、ピークにおける最大値とを備える。同様に、組織化されたポイントクラウド勾配ノルム画像の等化された否定は、急な表面上の最小値と、水平表面上の最大値とを備える。
【0046】
シーディング手段113は、シードセグメントを計算するように構成される。非限定的な一例では、シードセグメントは、所定の閾値を使用して計算される。追加または代替として、シーディング手段113は、セグメント化可能な画像内の最も明るいプロブを位置特定し、それらをシードセグメントとして使用することによって、シードセグメントを計算することがある。「プロブ」という用語は、この点に関して、ピクセル座標の連続したセットを意味すると考えられ、そのようなセットの任意の表現が使用されてよいことが理解されるであろう。非限定的な一実施形態では、プロブは2値画像によって表され、ピクセルは1つの値を有するプロブに属し、すべての他のピクセルは別の値を有する。これらの値をそれぞれ「白」および「黒」と呼ぶものとするが、対応する値が異なるならば、その対応する値は任意の値であってよいことを理解されたい。非限定的な一実施形態では、閾値は、セグメント化可能な画像全体の少なくとも一部分上でのピクセル値の(所定のランクの)パーセンタイルとして計算され、この閾値は、最も明るいプロブを位置特定するために使用される。たとえば、上記で説明された2値画像表現下で、対応するセグメント化可能な画像ピクセルが閾値よりも大きい値を有する場合、ピクセルは、白の値が割り当てられ、したがって、プロブの一部であると考えられるであろう。すべての他のピクセルは、黒の値が割り当てられるであろう。言い換えれば、各ピクセルは、第1の値または第2の値のいずれかが割り当てられる。このようにして、明確な領域が識別される。さらに、セグメント化可能な画像全体の少なくとも一部分は、セグメント化可能な画像全体の関心領域と一致することが決定されることがあり、対象となる領域は、容器4のポーズを推定し、その内容を分離することによって計算されることがある。
【0047】
次の段階として、生成されたシードセグメント内の穴は、任意のシードセグメントと交差するエリアを識別することによって埋められるが、1つのシードセグメントによって完全に囲まれる。たとえば、2値画像表現内で、白の値のエリアによって完全に取り囲まれた黒の値のエリアは、白で埋められる。それによって、白の値のピクセルは、黒の値のピクセルの島を削除するために使用される。このようにして、初期シーディングにおける誤りが補正される。
【0048】
次に任意選択の制限手段114を参照すると、セグメント化可能な画像内のすべてのエリアのマスクが、最初に決定され、閾値が、セグメント化可能な画像内のピクセルに対応するマスク内のすべてのピクセルの累積分布関数のパーセンタイルとして決定される。ピクセルが、所定の閾値よりも小さい値を有する場合、ピクセルは、マスクから削除される。このようにして、境界制限が、それを越えてセグメントが成長できない各セグメントに課される。一例では、マスクは、容器4のポーズを推定し、その内容を分離することによって計算されるシーディング手段113に関して説明される関心領域と一致する。
【0049】
この点に関して、シードセグメントと同じマスクは、2値画像として表されることがある。この点に関して、「発明を実施するための形態」全体を通して本明細書とともに言及されるすべての2値画像は、2つの任意の値によって表されることが想定され、2つの任意の値の各々が異なる。言い換えれば、2値画像内の各ピクセルは、第1の値または第2の値のいずれかが割り当てられる。
【0050】
任意選択の成長手段115は、セグメント化可能な画像、シードセグメント、およびセグメント化可能な画像の累積分布関数が与えられる。成長手段115は、1つまたは複数のセグメントに隣接し、いかなるセグメントにもまだ追加されていないピクセルが、所与のセグメント内での包含適切な候補であるかどうかの評価に基づいて、シードセグメントの境界を反復的に拡張するように構成される。包含に関する候補ピクセルの適格性は、そのセグメント化可能な画像値とセグメント内のセグメント化可能な画像値の分布との類似性、およびそのセグメント化可能な画像値とすでにセグメントに属する隣接するピクセルのセグメント化可能な画像値との差の考慮に基づいて決定される。そのセグメント化可能な画像値が、少なくともこれらの隣接するピクセルのうちの1つまたは複数と同じ大きさであるとき、それは、前述のセグメント化可能な画像値分布に関してそれに最も類似しているそのようなピクセルを所為するセグメントに追加される。セグメントに隣接するすべての他の候補ピクセルは、それらの最も類似した隣接するセグメントから類似性の降順にソートされ、この順に以下のテストに供される。候補ピクセルは、その包含が、所定の閾値より大きいことによってセグメントのセグメント化可能な画像値の分布を変更しないであろう場合、その最も類似した隣接するセグメントに追加される。候補ピクセルがこのテストに失敗すると、境界拡張プロセスのこの反復では、さらなる候補は考慮されない。反復は、新しく成長させられたセグメント内の穴を埋めることによって終わる。シードセグメントは、ピクセルが適格性評価に合格しなくなるまで、成長させられる。
【0051】
任意選択のマージ手段116は、成長させられたセグメントを受け取るように構成され、適切な場合には、セグメントを一緒にマージするように構成される。特に、この実装形態では、2つの条件が、セグメントをマージすべきかどうかを決定するために使用される。特に、2つのセグメント間のインターフェースの長さが、所定のスケーリング係数と最も短い周囲をもつセグメントの長さの積よりも小さいとき、第1の条件が満たされる。さらに、2つのセグメント間のインターフェースに沿ったセグメント化可能な画像値の分布が、セグメントの両方におけるセグメント化可能な画像値の分布に類似しているとき、第2の条件が満たされる。第1の条件および第2の条件が満たされるとき、セグメントがマージされる。
【0052】
図3は、表面計算手段12の動作を詳細に示す。表面計算手段12が、組織化されたポイントクラウドジェネレータ2によって生成された組織化されたポイントクラウドを受け取る。さらに、表面計算手段12は、容器4の下部表面に対する法線の標識を受け取る。この点に関して、容器4の下部表面の法線は、容器4に対する組織化されたポイントクラウドジェネレータ2の方位の標識を効果的に提供する。したがって、容器4の下部表面の法線は、組織化されたポイントクラウドジェネレータ2が容器4に対して固定方位であるとき、固定定数である。
【0053】
表面計算手段12は、組織化されたポイントクラウドの第1の導関数および第2の導関数と、信頼度マップと、組織化されたポイントクラウドの主曲率と、組織化されたポイントクラウドの点の法線とを出力するように構成される。任意選択で、表面計算手段12は、組織化されたポイントクラウドの0次導関数としても知られる平滑化された組織化されたポイントクラウドを出力するようにさらに構成される。
【0054】
好ましい一実施形態では、平滑化された組織化されたポイントクラウドの出力が、生成された組織化されたポイントクラウドからアーチファクトを除去するために利用される。しかしながら、多数の状況では、生成された組織化されたポイントクラウドは、組織化されたポイントクラウドを平滑化する必要なくロボットシステム3のための正確で効果的な計算された把持ポイントを可能にするのに十分なほど滑らかである。
【0055】
表面計算手段12は、非限定的な一実装形態では、導関数および信頼度マップ計算手段121と、主曲率および法線計算手段122とを備える。
【0056】
特定の一実施形態では、セグメント化手段11の組織化されたポイントクラウド計算手段111と表面計算手段12は、類似のやり方で動作する。
【0057】
特に、任意選択の平滑化された組織化されたポイントクラウドが、1次元の多項式適合を使用して算出される。特に、非限定的な一実装形態では、多項式が、各ウィンドウが所定の半径である重複ウィンドウへとさらに分割された、組織化されたポイントクラウドの1次元スライスに適合される。より具体的には、多項式は、組織化されたポイントクラウドのx方向性スライス内の所定の半径の1次元重複ウィンドウに適合される。同様に、多項式は、組織化されたポイントクラウドのy方向性スライス内の所定の半径の1次元重複ウィンドウにも適合される。x方向に再適合することとy方向に再適合することを交互にしながら、以前の適合結果およびこれらの結果の導関数に多項式を再適合することによって、組織化されたポイントクラウドおよびその導関数のより滑らかな推定が生成され、それによって一方向における適合のみから生じ、その後の処理段階に有害であろうアーチファクトを除去する。そのうえ、適合手順が、表面不連続点上での平滑化が回避された結果として、重み付けされることがある。さらに、重みは、信頼度マップを生成するために使用されることがある。
【0058】
主曲率および法線計算手段122は、平滑化された組織化されたポイントクラウドならびに組織化されたポイントクラウドの第1の導関数および第2の導関数に基づいて、組織化されたポイントクラウドの主曲率と法線とを計算するように構成される。
【0059】
さらに、主曲率および法線計算手段122は、容器の下部表面の法線とともに、x方向とy方向の両方において1次導関数を使用して、各点に対して、法線と、第1基本形式として知られる3つの値とを計算する。それによって、主曲率は、各点に対する法線、第1基本形式、および第2の導関数に基づいて計算可能である。
【0060】
非限定的な一例では、組織化されたポイントクラウド計算手段111および表面計算手段12の動作は同じ様式で動作し、したがって、上記で説明されたセグメント化手段11を用いるとき、表面計算手段12および計算手段111は、動作の繰り返しを回避するために一体的に形成されることがある。この例では、セグメント化手段11は、把持ポイント計算手段13への入力のために、セグメント化された表面とともに、任意選択の平滑化された組織化されたポイントクラウドと、組織化されたポイントクラウドの導関数と、組織化されたポイントクラウドの主曲率と、組織化されたポイントクラウドの法線とを出力するように構成される。このようにして、より少ない動作が、適切な把持ポイントの決定を遂行するために必要とされるので、コントローラ1の効率が改善される。
【0061】
図4は、把持ポイント計算手段13の動作を示す。把持ポイント計算手段13は、この実施形態では、半径選択手段131と、候補計算手段132と、サイズおよび高さ選択手段133と、ソーティング手段134とを備える。
【0062】
把持ポイント計算手段13は、セグメント化手段11が用いられるかどうかに応じて、組織化されたポイントクラウドまたはセグメント化された表面を用いて入力される。把持ポイント計算手段は、表面の計算された性質、すなわち、組織化されたポイントクラウドの主曲率ノルム(principal curvature norms)と、組織化されたポイントクラウドの法線と、容器4の下部表面の法線と、任意選択の平滑化された組織化されたポイントクラウドも用いて入力される。把持ポイント計算手段13は、ロボットシステム3のための把持ポイントを出力するように構成されるが、いくつかの環境では、把持ポイントは出力されず、代わりに、把持ポイント計算手段13は、容器4が空であるという標識を出力してもよいし、さもなければ、把持ポイントを再計算してもよい。
【0063】
主曲率は、隆起またはピーク上にある点と、谷またはクレーター内にある点とを区別する。一般的には、主曲率は、数字のペアの符号および大きさを通して隆起/ピークと谷/クレーターとの間の区別を表す。これらの数字ペアの絶対値の平均と一致する主曲率ノルムを使用することによって、隆起/ピークと谷/クレーターとの間の区別が除かれる。
【0064】
以下のセクションでは、説明は、セグメント化手段11が組織化されたポイントクラウドのセグメントを提供するために使用されることを仮定する。しかしながら、セグメント化手段11が使用されないとき、代わりに、組織化されたポイントクラウドが入力される。
【0065】
半径選択手段131は、セグメント化手段11からセグメントを受け取り、ロボットシステム3の吸着カップエンドエフェクタが効果的に動作することを可能にするには小さすぎるそれらのセグメント化された表面を除去するように構成される。
【0066】
候補計算手段132は、半径選択手段131から半径が選択されたセグメントを受け取り、条件の特定のセットに関係しない点を除去するために、半径選択手段131によって選択されたそれらのセグメント内の組織化されたポイントクラウドの特定の点上で動作することによって、特定の把持ポイント候補を選択するように構成される。したがって、候補計算手段132は、条件の特定のセットに合致する、半径が選択されたセグメントのそれらの点を選択する。さらに、特定の把持ポイント候補を選択するプロセスでは、候補計算手段132は、特定のセグメントからすべての潜在的な把持ポイント候補を破棄することがあり、したがって、把持ポイント候補は特定のセグメントに残らない。そのような例では、候補計算手段132は、セグメントを破棄することによって、将来の動作からセグメントを除去するように構成されることがある。したがって、候補計算手段132は、把持ポイント候補と、それらが存在するセグメントとを出力するように構成される。
【0067】
サイズおよび高さ選択手段133は、選択された把持ポイント候補と、それらが存在するセグメントとを受け取るように構成され、セグメントサイズ条件および容器4の下部表面からの高さに基づいて、それらのセグメントを除去するように構成される。このようにして、サイズおよび高さ選択手段133は、そのサイズが特定のサイズよりも大きいセグメントまたは容器4の下部表面からの距離、言い換えれば高さが特定の距離よりも大きいセグメントを選択するように構成される(これらの条件の両方を満足させるセグメントも選択される)。
【0068】
ソーティング手段134は、対応する把持ポイント候補をもつサイズおよび高さが選択されたセグメントを受け取るように構成され、点の周囲のエリアの平坦度およびそれらの重心からの距離に基づいて、把持ポイント候補のための平坦度評価値(flatness rating)を計算するように構成される。さらに、ソーティング手段134は、それが存在するセグメントの重心までの各把持ポイント候補の距離に基づいて平坦度評価値を重み付けするように構成される。したがって、ソーティング手段134は、最終的な把持ポイントを選択する。このようにして、選択された最終的な把持ポイントは、他の把持ポイント候補と比較して平坦であり、他の把持ポイント候補と比較してそのそれぞれのセグメントの重心までの距離が近い、セグメントのエリア内にある(言い換えれば、把持ポイント候補および周囲の点は、比較的低い曲率である)。最終的な把持ポイントに基づいて、ロボットシステム3は、最終的な把持ポイント上で容器内の物体を把持することがある。
【0069】
図5は、重心発見手段1311と、距離計算手段1312と、距離閾値処理手段1313とを備える半径選択手段131の動作を示す。
【0070】
重心発見手段1311は、各セグメントに対して、セグメントのそれぞれの重心つまりセグメントの表面上の、セグメント内のすべての点まで最も近い点を位置特定するように構成され、距離は、セグメントの表面の上で測定される。一代替実施形態では、重心は、セグメントポイントの平均に最も近いセグメントポイントとして近似される。この近似は、より効率的に算出可能であるが、セグメントが非常に湾曲しているとき、不正確な結果を与える。
【0071】
距離計算手段1312は、各セグメントに対して、セグメントの表面上で測定される、重心からセグメントの境界(または周囲)上の点までの距離を計算する(2つの3次元点間の直線距離に対応するユークリッド距離は計算しない)ように構成される。このようにして、重心と境界との間の最大距離が決定され、場合によっては把持される可能性がない表面を破棄することを可能にする。非限定的な一例では、距離は、境界から重心までのすべての距離の所定のパーセンタイル、たとえば、99パーセンタイル距離として計算され、100パーセンタイルは、境界までの最大距離である。このステップは、組織化されたポイントクラウド内に存在するノイズまたはアーチファクトを除外するように行われることがあり、これは、重心までの誤った大きな距離という結果になることがある。
【0072】
距離閾値処理手段1313は、各セグメントに対して、重心と重心に最も遠い境界上の点との間の計算された距離を、ロボットシステム3の吸着カップエンドエフェクタの所定の半径と比較するように構成される。重心と境界上の、重心に最も遠い点との間の距離が吸着カップエンドエフェクタの所定の半径よりも大きいとき、距離閾値処理手段1313は、セグメントを選択または保持するように構成され、それを候補計算手段132に出力する。反対に、重心と境界上の、重心から最も遠い点との間の距離が、吸着カップエンドエフェクタの所定の半径よりも小さいまたはこれと等しいとき、距離閾値処理手段1313は、吸着カップエンドエフェクタの動作を支持するには小さすぎるとしてセグメントを破棄するように構成される。理解されるように、吸着カップエンドエフェクタは、吸着特徴が物体を握持するために適切に働くことを保証するために、吸着カップエンドエフェクタの縁と物体表面との間の密封に依拠する。したがって、距離閾値処理手段1313は、重心から境界上の重心に最も遠い点までの距離によって示される、小さすぎることによりこの密封を効果的に提供しないエリア内のセグメントを破棄する。言い換えれば、重心から境界上の重心に最も遠い点までの距離および吸着カップエンドエフェクタの半径の使用はそれぞれ、セグメントのエリアと吸着カップエンドエフェクタのエリアとを示す測定として使用される。このようにして、半径選択手段131は、半径が所定の閾値よりも大きいセグメントを選択する。
【0073】
図6は、閾値計算手段1321と、選択手段1322と、大セグメント破棄手段1323と、傾斜表面領域検出手段1324とを備える候補計算手段132の動作を示す。
【0074】
特に、閾値計算手段1321は、組織化されたポイントクラウドの主曲率ノルム(「平均絶対曲率」とも呼ばれる)に基づいて曲率閾値(選択手段1322において使用されることになる)を計算するように構成される。より具体的には、閾値は、セグメント化手段11から出力されたすべてのセグメントの主曲率ノルムのすべての所定のパーセンタイルとして決定される。このようにして、計算された閾値は、セグメントのすべてにわたる主曲率ノルムに基づく。
【0075】
選択手段1322は、組織化されたポイントクラウドの個々の点が把持ポイント候補として知られる実行可能な把持ポイントであるかどうかを決定するために、それらの点がさまざまな条件に対して評価される点ごとの様式で動作するように構成される。特に、選択手段1322は、半径が選択されたセグメントを受け取り、選択されたセグメントの各々における各点に対して、それが存在するセグメントの境界までの把持ポイント候補の距離が所定の閾値よりも大きいかどうかを決定する。このようにして、把持ポイントは、セグメントの縁からある距離であり、それによって、セグメントの縁におけるロボットシステムによる不良な把持動作の可能性を制限するように決定される。各把持ポイント候補の各主曲率ノルムも、閾値計算手段1321によって計算される曲率閾値と比較される。特に、把持ポイント候補の曲率が曲率閾値よりも小さい場合、把持ポイント候補が把持ポイント候補として保持される。このようにして、低い曲率を有する把持ポイント候補は保持されるが、高い曲率を有する把持ポイント候補は破棄される。
【0076】
さらに、各把持ポイント候補の法線と容器の下部表面の法線との間の角度が決定される。この角度は、所定の閾値と比較される。角度が所定の閾値よりも小さい場合、把持ポイント候補は保持される。このようにして、容器4の下部表面の法線に対して傾斜すぎる表面領域が破棄される。特に、容器4の下部表面の法線は、ロボットシステム3の吸着カップエンドエフェクタの方位と同じ方位であるように構成され、したがって、傾斜すぎる表面領域を破棄することは、ロボットシステム3によって必要とされる回転を最小にし、潜在的には、吸着カップエンドエフェクタが容器4の下部表面の法線と平行に容器4に入ることすら可能にし、したがって、経路探索を実行する必要性をなくす(容器の開口へのアクセスを限定する障害がない場合)。
【0077】
追加として、把持ポイント候補からそれがあるセグメントの重心までの表面上の距離が決定される。この距離が所定の閾値よりも小さい場合、把持ポイント候補は保持される。このようにして、重心に比較的近い把持ポイント候補が保持される。
【0078】
各把持ポイント候補のこれらのテストの後、半径が選択されたセグメントのセグメントがもはや把持ポイント候補を含まなくなり得ることが可能である。この状況では、選択手段1322は、把持ポイント候補が残らないセグメントを破棄するように構成される。
【0079】
大セグメント破棄手段1323は、各把持ポイント候補があるセグメントとともに、選択手段1322から選択された把持ポイント候補を受け取るように構成される。大セグメント破棄手段1323は、選択手段1322からすべての選択されたセグメントに対して、セグメントのサイズの尺度の平均を計算するように構成される。一実施形態では、使用されるサイズ尺度は、表面上で測定される、セグメントの重心とその境界点との間の距離の最小値であり、平均は、中央値として計算される。計算されたサイズは、すべてのセグメントに対する計算された平均に所定の係数が乗算されたものと比較される。セグメントのサイズが、すべてのセグメントに対する平均に所定の係数が乗算されたものよりも小さいとき、そのセグメントは維持される。しかしながら、距離が、平均に所定の係数が乗算されたものよりも大きいまたはこれに等しいとき、セグメントは破棄される。このようにして、異常に大きいセグメントは、たとえば、組織化されたポイントクラウド内の外れ値またはアーチファクトにより、破棄される。
【0080】
傾斜表面領域検出手段1324は、大セグメント破棄手段1323によって選択されたセグメントを受け取り、点ごとの傾斜表面領域検出を実行する。特に、傾斜表面領域検出手段1324は、選択されたセグメント内の各残りの把持ポイント候補に対して、把持ポイント候補の法線を決定するように構成される。たとえば、把持ポイント候補の法線は、表面計算手段12の主曲率および法線計算手段122による、それらの以前の計算から取り出されることがある。決定された法線と容器4の下部表面の法線との間の角度が決定される。この動作は、選択手段1322において実行される傾斜表面領域検出に類似している。しかしながら、傾斜表面領域検出手段1324では、閾値は、残りの把持ポイント候補のすべての角度のすべてのパーセンタイルとして決定される。特定の把持ポイント候補の角度が、決定された閾値よりも小さいとき、把持ポイント候補は保持される。しかしながら、特定の把持ポイント候補の角度が、決定された閾値よりも大きいまたはこれに等しいとき、把持ポイント候補は破棄される。このようにして、選択手段1322において実行される傾斜表面領域検出に対してより改良された傾斜表面領域検出は、すべての残りの把持ポイント候補のすべての角度にわたるパーセンタイルに基づいて実行される。
【0081】
以前のステップと同様に、特定のセグメントがもはや把持ポイント候補を含まない場合、そのセグメントは、ロボットシステム3によって把持されることになる潜在的なセグメントとして破棄される。
【0082】
図7は、サイズおよび高さ選択手段133の動作を示す。サイズおよび高さ選択手段は、平均高さおよびサイズ計算手段1331と、高さおよびサイズ閾値処理手段1332とを備える。
【0083】
平均高さおよびサイズ計算手段1331は、選択手段132によって出力される各セグメントに対して、セグメントの点の平均高さと平均サイズとを決定するように構成される。この点に関して、高さは、容器4の下部表面からの距離として定義され、したがって、容器4の下部表面からの高さである。代替として、この高さは、容器4の下部表面からの距離と呼ばれることがある。さらに、説明は、容器4の下部表面に関連するが、組織化されたポイントクラウドジェネレータ2に容器の内部およびその内容のビューを提供するように組織化されたポイントクラウドジェネレータ2のビューに垂直に位置決めされた任意の表面を含むことが想定されるが、他の角度のビューも想定されることが諒解される。代わりに、唯一の要件は、ビューが容器4の内側のビューを含むことである。より具体的には、ビューが、容器の側面によって(および基部の上に)形成された無限円錐/プリズム内のどこかである場合、容器がカメラの視野内に残るならば、ビューは、任意の方位における容器の内側を含む。容器4のビューが互いに対してある角度をなし得ることが考えられる。サイズは、表面の上で測定される、セグメントの重心とその境界点との間の距離の最小値として決定可能であり、平均は、中央値として計算され得る。
【0084】
好ましい一実施形態では、平均は、セグメントの点の中央高さおよびセグメントの点の中央サイズとして決定される。さらに、平均高さおよびサイズ計算手段1331は、各セグメントに対して、セグメントの点の平均高さとセグメントの点の平均サイズとを決定するように構成される。好ましい一実施形態では、平均は、中央高さおよび中央サイズとして決定される。
【0085】
高さおよびサイズ閾値処理手段1332は、セグメントポイントの平均高さを、大セグメント破棄手段1323によって選択された残りのセグメントに関しては計算されたこれらの平均高さの(所定のランクの)パーセンタイルと比較するように構成される。さらに、高さおよびサイズ閾値処理手段1332によって選択されたセグメントの平均サイズは、すべてのセグメントに対する計算された平均に所定の係数が乗算されたものと比較される。
【0086】
セグメントの点の平均高さがパーセンタイルを超えるとき、セグメントが維持される。さらに、各セグメント内の把持ポイント候補の平均サイズが、高さおよびサイズ閾値処理手段1332によって選択された残りのセグメントのすべてにおける平均サイズの所定のパーセンタイルを超えるとき、セグメントが維持される。
【0087】
しかしながら、セグメントの点の平均高さがパーセンタイルよりも小さいまたはこれに等しいとき、セグメントの点の平均サイズがパーセンタイルよりも小さいまたはこれに等しいとき、の両方で、セグメントが破棄される。このようにして、あるサイズよりも大きい、容器4の上部に最も近いセグメント(容器4の下部表面から最も遠いセグメント)が選択される。言い換えれば、低すぎると小さすぎるの両方であるセグメント、セグメントが破棄される。
【0088】
図8は、ソーティング手段134の動作を示す。ソーティング手段134は、平坦度計算手段1341と、等化手段1342と、重み付け手段1343と、平坦度選択手段1344とを備える。
【0089】
平坦度計算手段1341は、平均高さおよびサイズ選択手段133によって選択された残りのセグメント内の残りの把持ポイント候補のサブセットのための平坦度評価値を決定するように構成される。平坦度評価値を決定するために、把持ポイント候補のサブセットが、点が他の点から可能な限り離れるようにランダムに生成されるという基準に基づいて、各セグメントに対して生成される。このようにして、平坦度計算手段1341の計算強度は、セグメント内のさまざまな点において十分に高密度の平坦度の尺度を依然として提供しながら、より小さい数の把持ポイント候補上で動作することによって最小化可能である。把持ポイント候補サブセット内の各点に対する平坦度評価値が、セグメント内の各点における主曲率ノルム(「平均絶対曲率」とも呼ばれ、候補計算手段132において使用される)および把持ポイント候補とセグメントポイントとの間の距離に基づいて生成される。一代替実施形態では、サブセット内の各把持ポイント候補に対する平坦度評価値が、セグメント内の各点における主曲率ノルム、および把持ポイント候補とセグメントポイントとの間の最小経路長に基づいて生成される。このようにして、把持ポイント候補サブセット内の各点に対する平坦度評価値が、近傍平坦度に基づいて計算され、把持ポイント候補からの最大距離をもつセグメントの点は、計算された平坦度評価値に対する効果が最も小さく、把持ポイント候補により近いそれらの点は、最も大きな効果を有する。
【0090】
等化手段1342は、これらの評価値の影響が小さくならないまたは重み付け手段1343によって小さくされないように、候補把持ポイントサブセットのすべての平坦度評価値の分布を調整するように構成される。たとえば、一実施形態では、平坦度評価値は、100%の値は、平坦である近傍を示し、0%の値は、(すべての他の近傍と比較して)最大曲率を示す近傍を示し、中間の値は、中間の曲率をもつ近傍を示すように、パーセンタイルランクによって置き換えられてもよい。
【0091】
重み付け手段1343は、それがあるセグメントの重心からの各把持ポイント候補の距離に基づいて、等化された平坦度評価値を重み付けするように構成される。このようにして、それらがあるセグメントの重心により近いそれらの把持ポイント候補は、その質量中心により近い(および一般的には、セグメントの重心により近い)点から物体を把持することは、ロボットシステム3によって把持することをより容易にするので、より高く重み付けされる。
【0092】
選択手段1344は、ロボットシステム3によって利用されることになる最終的な把持ポイントを選択するように構成される。一例では、選択手段1344は、最も高く重み付けされた等化された平坦度評価値をもつ把持ポイント候補、言い換えれば、より平坦な近傍をもつ、重心により近い傾向がある評価値を特徴付けるその把持ポイントを選択することがある。
【0093】
要約すると、ソーティング手段134は、各把持ポイント候補の近傍平坦度およびセグメントの重心へのその近接性に基づいて把持ポイントを決定する。したがって、選択された把持ポイントは、吸着カップエンドエフェクタとの使用のために最適化される。
【0094】
図9は、
図1に示される第1の実施形態によるコントローラ1によって実行されるプロセスを示す。特に、フローチャートは、入力された組織化されたポイントクラウド情報に基づいた把持ポイントの生成を示す。
【0095】
図9を参照すると、任意選択のステップS901では、セグメント化手段11は、任意選択で、組織化されたポイントクラウドジェネレータ2から受け取られた組織化されたポイントクラウドに基づいてセグメントを生成する。組織化されたポイントクラウドは、組織化されたポイントクラウドジェネレータ2によってビューされる、一般的には物体を含む容器4の、シーンを表す。組織化されたポイントクラウドは、組織化されたポイントクラウドジェネレータ2からの容器4および物体の距離の情報、言い換えればシーンについての深度情報を提供する。セグメントは、セグメント化手段11によって決定される、セグメント化された表面を示す。このようにして、セグメント化手段11は、組織化されたポイントクラウドジェネレータ2によってビューされるシーンを別個の物体へと分解し、さらにそれらの物体の別個の表面へと分解する。
【0096】
以下の説明では、簡単にするために、ステップS901は、組織化されたポイントクラウドのセグメントを生成するために利用されることが仮定される。しかしながら、ステップS901が使用される必要はなく、代わりに、組織化されたポイントクラウドジェネレータによって生成されるシーン全体は、単一のセグメント/セグメント化された表面として扱われてよい。このようにして、ロボットシステム3にとって妥当な把持ポイントが、依然として生成され得るが、ステップS901によって提供される特徴である容器4内の別個の物体間の違いはない。
【0097】
ステップS902では、表面計算手段12は、組織化されたポイントクラウドジェネレータ2から組織化されたポイントクラウドを受け取り、組織化されたポイントクラウドのシーンについての情報を計算する。特に、表面計算手段12は、組織化されたポイントクラウドの法線と、組織化されたポイントクラウドの主曲率とを計算する。任意選択で、表面計算手段12は、平滑化された組織化されたポイントクラウドをさらに計算する。
【0098】
以下の説明では、簡単にするために、ステップS902は、滑らかな組織化されたポイントクラウドを生成するために利用されることが仮定される。しかしながら、滑らかな組織化されたポイントクラウドは生成される必要はなく、代わりに、生成された、滑らかでない組織化されたポイントクラウドが使用され、把持ポイントの生成のために十分に滑らかであるように扱われてよい。滑らかでない組織化されたポイントクラウドを使用することは、依然として、ロボットシステム3にとって妥当な把持ポイントを生成するが、いくつかの例では、そうでなければ滑らかにされるであろう、組織化されたポイントクラウド内のアーチファクトが存在することがある。
【0099】
ステップS903では、把持ポイント計算手段13は、セグメント化手段11によって生成された任意選択のセグメントと、表面計算手段12によって計算されたシーンについての情報とを受け取る。受け取られた情報に基づいて、把持ポイント計算手段11は、容器4から少なくとも1つの物体を把持するために、ロボットシステムの吸着カップエンドエフェクタのための把持ポイントを計算する。
【0100】
いくつかの例では、把持ポイント計算手段13は、把持ポイントを計算することが不可能である。この状況では、方法は、以下のステップの一方または両方を実行する。方法は、容器4が空であるという標識を生成する、および/または、セグメント化手段11によって生成された少なくとも1つのセグメントを無視して把持ポイントを再計算する。言い換えれば、把持ポイント計算は、セグメント化手段11から受け取られた情報のすべてがない状態で再び実行される。
【0101】
要約すると、第1の実施形態の説明から、把持ポイント計算が、セグメント化された表面(セグメント)についての関連情報、特に、ポイントクラウドの法線、平滑化された組織化されたポイントクラウド、および計算された組織化されたポイントクラウドの主曲率に基づいて実行されることが理解される。このようにして、吸着エンドエフェクタは、たとえば、良好な把持が達成されることを保証するために最小限に湾曲したセグメント上の位置を把持するために最適に配設されたセグメント上で動作するように構成される。
【0102】
図10は、
図2に示されるセグメント化手段11によって実行されるプロセスを示す。特に、フローチャートは、入力された組織化されたポイントクラウド情報に基づいたセグメントの生成を示す。
【0103】
図10を参照すると、ステップS1001では、セグメント化手段11は、組織化されたポイントクラウドジェネレータ2から組織化されたポイントクラウドを受け取る。セグメント化手段11は、組織化されたポイントクラウドの法線と、任意選択の平滑化されたポイントクラウドと、組織化されたポイントクラウドの第1の導関数および第2の導関数と、組織化されたポイントクラウドの主曲率と、組織化されたポイントクラウドに基づいた信頼度マップとを計算する。一実装形態では、ステップS1001は、所定の半径の組織化されたポイントクラウドウィンドウの1次元スライスに多項式を適合させることによって組織化されたポイントクラウドの性質を計算する。
【0104】
ステップS1002では、セグメント化可能な画像が、ステップS1001において計算された情報に基づいて計算される。セグメント化可能な画像は、ポイントクラウドの谷を強調する2値画像であってよい。一実装形態では、セグメント化可能な画像は、3つの画像のピクセルごとの積として計算されることがある。より具体的には、3つの画像は、最大主曲率画像の等化された否定、深度マップ勾配ノルム画像の等化された否定、および信頼度マップのピクセルごとの累乗であってよい。最大主曲率画像の等化された否定は、ポイントクラウドの谷内のゼロに近い値と、ピークにおける1に近い値とを有する画像であってよい。深度マップ勾配ノルムの等化された否定は、急な表面上のゼロに近い値と、水平表面上の1に近い値とを有する画像であってよい。
【0105】
ステップS1003では、セグメント化可能な画像内のピクセル値を所定の閾値と比較することによって、シードセグメントが、セグメント化可能な画像に基づいて生成される。ステップS1003はまた、合致した表面を保証するために生成されたシードセグメント内のギャップを埋める。いくつかの実施形態では、ステップS1003の出力は、把持ポイント計算を実行するためにセグメントとして使用される。
【0106】
任意選択のステップS1004は、各セグメントのための境界を画定するように、マスクに基づいて、シード化されたセグメントを制限するために実行されることがある。ステップS1004は、各シード化されたセグメントがそれを越えて成長できないセグメントの境界に制限を課す。
【0107】
任意選択のステップS1005が実行されることがある。ステップS1005では、シード化された(および任意選択で制限された)セグメントが成長させられる。特に、セグメントは、ピクセルがもはやセグメントのすべてに追加できなくなるまで成長させられる。
【0108】
任意選択のステップS1006が実行されることがある。ステップS1006では、成長させられたセグメントが、適切な場合にはマージされる。特に、セグメントは、2つの条件が満たされたとき、マージされる。より具体的には、第1の条件は、2つの成長させられたセグメント間のインターフェースの長さと2つの成長させられたセグメントの周囲の長さとの比が所定の閾値よりも大きいとき、満たされる。第2の条件は、インターフェースに沿った画像値の分布が、セグメントの両方における画像値の分布に類似しているとき、満たされる。
【0109】
要約すると、方法S1000は、有利には、組織化されたポイントクラウドについての情報、具体的には、組織化されたポイントクラウドの第1の導関数および第2の導関数および主曲率に基づいて、組織化されたポイントクラウドのセグメンテーションを実行する。これは、より効率的なセグメンテーションをもたらす。
【0110】
図11は、
図3に示される表面計算手段12によって実行されるプロセスを示す。特に、フローチャートは、入力された組織化されたポイントクラウド情報の導関数、信頼度マップ、主曲率、および法線の生成を示す。
【0111】
図11を参照すると、ステップS1101では、表面計算手段12は、容器4の下部表面の法線の標識とともに、組織化されたポイントクラウドジェネレータ2によって生成された組織化されたポイントクラウドを受け取る。表面計算手段12は、組織化されたポイントクラウドの導関数と信頼度マップとを計算する。S1101非限定的な一実装形態では、S1101は、各ウィンドウが所定の半径である重複ウィンドウへとさらに分割された、組織化されたポイントクラウドの1次元スライスを適合する。
【0112】
ステップS1102では、計算された導関数および信頼度マップは、主曲率と法線とを計算するために使用される。特に、主曲率は、各点の法線および第1基本形式に基づいて計算される。
【0113】
要約すると、方法S1100は、組織化されたポイントクラウドのさまざまな性質、特に、組織化されたポイントクラウドから決定される表面の性質を計算する。
【0114】
図12は、
図4に示される把持ポイント計算手段13によって実行されるプロセスを示す。特に、フローチャートは、入力セグメントと組織化されたポイントクラウドの信頼度マップ、主曲率、法線、容器4の底部表面の法線などのセグメントの表面の性質とに基づいた、把持ポイントの生成を示す。
【0115】
図12を参照すると、ステップS1201では、把持ポイント計算手段13は、セグメント化手段11によって生成されたセグメントと、表面計算手段12によって計算された組織化されたポイントクラウドの性質とを受け取る。受け取られた情報に基づいて、S1202は、半径が吸着エンドエフェクタの半径よりも大きいセグメントを選択する。このようにして、小さいセグメントが破棄される、言い換えれば、吸着カップエンドエフェクタを支持することが不可能であるセグメントが破棄される。
【0116】
ステップS1202では、半径が選択されたセグメントが受け取られる。半径が選択されたセグメント内の組織化されたポイントクラウドの点は、さまざまな条件が合致されたとき、選択される。特に、把持ポイント候補として知られる各点は、S1100において計算された表面の性質に基づいて計算される。それによって、S1202は、条件に合致する把持ポイント候補を、それらがあるセグメントとともに、両方とも出力する。
【0117】
ステップS1203では、S1202から出力されたセグメントが、セグメントのサイズおよびその容器の下部表面からの距離に基づいて選択される。この点に関して、容器の下部表面からの距離は、組織化されたポイントクラウドジェネレータ2からの距離の補足物である。したがって、組織化されたポイントクラウドジェネレータ2により近い、したがって容器4の下部表面から最も遠い、セグメントを選択することが、有利である。さらに、所定の閾値よりも大きいサイズをもつセグメントが選択される。
【0118】
ステップS1204では、ステップS1203において選択されたセグメント内の把持ポイント候補が、近傍平坦度およびセグメントの重心からの把持ポイント候補の距離によってソートされる。一実装形態では、最大値をもつ把持ポイント候補が、ロボットシステム3のための把持ポイントとして選択される。
【0119】
要約すると、S1200は、局所的平坦度のエリア内にあり、好ましくは、そのセグメント内の重心場所に近い、把持ポイントを選択する。さらに、ステップS1202により、把持ポイントは、セグメントの縁からの距離およびロボットシステム3に対する角度などの、さまざまな条件に合致する。
【0120】
図13は、
図5に示される半径選択手段131によって実行されるプロセスを示す。特に、フローチャートは、入力セグメントと信頼度マップ、主曲率、および法線などのセグメントの表面の性質とに基づいた、半径が選択されたセグメントの生成を示す。
【0121】
図13を参照すると、ステップS1301では、半径選択手段131は、表面計算手段12によって決定されたセグメントの表面についての情報とともに、セグメントを受け取る。この情報に基づいて、ステップS1301は、各セグメント内の重心つまりセグメントの表面上の、セグメント内のすべての点に最も近い点の場所を見つけ、距離は、セグメントの表面上で測定される。一代替実施形態では、重心は、セグメントポイントの平均に最も近いセグメントポイントとして近似される。この近似は、より効率的に算出可能であるが、セグメントが非常に湾曲しているとき、不正確な結果を与える。
【0122】
ステップS1302では、セグメントの重心と、セグメントの境界上の、重心に最も遠い点との間の距離が計算される。この距離は、セグメントのエリアを示す。
【0123】
ステップS1303では、S1302において計算された距離が、吸着カップエンドエフェクタの既知の半径と比較される。特に、セグメントは、S1302において計算された距離が吸着カップエンドエフェクタの既知の半径よりも大きいとき、選択される。そうでない場合、セグメントは破棄される。
【0124】
要約すると、S1300は、吸着カップエンドエフェクタによる把持をサポートするのに成功するには小さすぎるセグメントを除去する。代わりに、S1300は、吸着カップエンドエフェクタを支持するのに十分な半径をもつセグメントを選択する。
【0125】
図14は、
図6に示される候補計算手段132によって実行されるプロセスを示す。特に、フローチャートは、入力された半径が選択されたセグメントに基づいた、把持ポイント候補およびそれらの関連付けられたセグメントの生成を示す。
【0126】
図14を参照すると、ステップS1401では、主曲率閾値が、ステップS1401から受け取られた半径が選択されたセグメント内の把持ポイント候補のすべてに対して計算される。特に、閾値は、セグメントのすべての主曲率ノルムの特定のパーセンタイルに基づいて計算される。
【0127】
ステップS1402では、把持ポイント候補上での点ごとの動作が実行される。特に、把持ポイント候補は、いくつかの条件が満たされるとき、ステップS1403のために選択される。特に、把持ポイント候補の、それがあるセグメントの境界までの距離は、所定の閾値よりも大きい。さらに、把持ポイント候補の主曲率ノルムは、ステップS1401において計算された閾値よりも小さい。把持ポイント候補の法線と容器4の下部表面の法線との間の角度は、所定の閾値よりも小さい。さらに、把持ポイント候補の、そのセグメントの重心に対する距離は、所定の閾値よりも小さい。理解されるように、これらの条件の任意の組み合わせが実施されてよく、いくつかは、機器の特定のセットアップに応じて実行されなくてよい。実施される条件を満たさない把持ポイント候補は破棄される。
【0128】
実施される条件により、特定のセグメント内の把持ポイント候補が残ることがあることも諒解されたい。したがって、把持ポイント候補を含まないセグメントは破棄される。
【0129】
ステップS1403では、S1402によって選択された各セグメントの重心と表面上で測定されるその境界点との間の距離の最小値が計算される。
【0130】
ステップS1404では、S1403において計算された距離の平均が決定される。好ましい一実施形態では、距離は、中央値として計算される。
【0131】
ステップS1405では、計算された距離が、S1404において計算された平均に所定の値が乗算されたものよりも小さいセグメントが、選択される。このようにして、異常に大きいとみなされるセグメントが破棄され、適当なサイズであるとみなされるセグメントが選択される。このようにして、過度に大きいセグメントの生成を引き起こす組織化されたポイントクラウド内のアーチファクトが効果的に軽減される。
【0132】
ステップS1406では、ステップS1405において選択されたセグメント内の把持ポイント候補の法線と容器4の下部表面の法線との間の角度が計算される。
【0133】
ステップS1407では、角度閾値が、ステップS1406において計算された角度に基づいて計算される。
【0134】
ステップS1408では、計算された角度がステップS1407において計算された角度閾値よりも小さいセグメントが選択される。このようにして、選択されたセグメントのすべてに対して傾斜である表面が破棄される。そうでない場合、セグメントが、それらの選択されたセグメント内で選択された把持ポイント候補とともに選択される。
【0135】
要約すると、S1400は、半径が選択されたセグメントから、把持ポイント候補のためのそれらのオプションを効果的に選択する。このようにして、選択された把持ポイント候補は、吸着カップエンドエフェクタを介して把持を効果的にする場所内にあり、そのような角度をなす。
【0136】
図15は、
図7に示されるサイズおよび高さ選択手段133によって実行されるプロセスを示す。特に、フローチャートは、入力された把持ポイント候補およびそれらの関連付けられたセグメントに基づいた、高さおよびサイズが選択されたセグメントの生成を示す。
【0137】
図15を参照すると、ステップS1501では、サイズおよび高さ選択手段133は、候補計算手段132から、把持ポイント候補と、それらがあるセグメントとを受け取る。ステップS1501は、各受け取られたセグメントに対する容器の下部表面からの平均距離を計算する。好ましい一実施形態では、平均は、中央値として計算される。
【0138】
ステップS1502では、ステップS1501において各セグメントに対して計算された平均に基づいて、ステップS1502は、すべての受け取られたセグメントに対する平均を計算する。
【0139】
ステップS1504では、サイズおよび高さ選択手段133は、各受け取られたセグメントに対する平均サイズを計算する。
【0140】
ステップS1505では、高さおよびサイズ選択手段133は、ステップS1504から受け取られたセグメントに基づいて、セグメントのすべての平均を計算する。好ましい一実施形態では、平均は、中央値として計算される。
【0141】
ステップS1506では、サイズおよび高さ選択手段133は、容器4の下部表面からの平均距離がセグメントのすべてに対して、計算された平均距離のパーセンタイルよりも大きい/セグメント、および/またはセグメントのすべてに対して平均サイズが計算された平均サイズに所定の係数が乗算されたものの所定のパーセンタイルよりも大きいセグメントを選択する。
【0142】
このようにして、選択されたセグメントは、容器4内の選択されたセグメントの高さの所定のパーセンタイルおよび/または容器4内の選択されたセグメントのサイズに所定の係数が乗算されたものの所定のパーセンタイルである。
【0143】
図16は、
図8に示されるソーティング手段134によって実行されるプロセスを示す。特に、フローチャートは、入力された高さおよびサイズが選択されたセグメントに基づいた把持ポイントの生成を示す。
【0144】
図16を参照すると、ステップS1601では、ソーティング手段134が、高さおよびサイズが選択されたセグメントを、候補計算手段132によって計算された選択されたセグメント内にある把持ポイント候補とともに受け取る。ソーティング手段134は、把持ポイント候補のサブセットを使用して、平坦度評価値を決定する。把持ポイント候補のサブセットが、互いから可能な限り離れ、各セグメント内の把持ポイント候補のランダムサンプリングを備えるように生成される。把持ポイント候補サブセット内の各点に対する平坦度評価値が、セグメント内の各点における主曲率ノルム、および把持ポイント候補とセグメントポイントとの間の距離に基づいて生成される。距離は、把持ポイント候補からセグメントポイントまでの3次元距離として計算されてもよいし、セグメントの表面上の距離として計算されてもよい。したがって、平坦度評価値が、各把持ポイント候補に対して、その局所的エリアの平坦度に基づいて生成される。
【0145】
ステップS1602では、ステップS1601において計算された平坦度評価値の分布が、これらの評価値の影響が小さくならないまたは重み付けステップS1603によって小さくされないように、候補把持ポイントサブセットのすべてに対して調整される。
【0146】
ステップS1603では、等化された平坦度評価値は、把持ポイント候補の、それがあるセグメントの重心までの距離に対して重み付けされる。
【0147】
ステップS1604では、重み付けされた平坦度評価値がソートされ、最大評価値をもつ把持ポイント候補が、ロボットシステム3のための把持ポイントとして選択される。修正および変形
多数の修正および変形が、本発明の範囲から逸脱することなく、上記で説明された実施形態に加えられ得る。
【0148】
理解されるように、容器4は、いくつかの異なる形態で想定され得る。たとえば、容器4は、トートまたは運搬箱であってよい。容器4は、物体を格納するための手段にすぎず、一般的には壁を有するが、いくつかの例では、これは当てはまらない。たとえば、含まれることになる物体が略平坦であり、容易に積み重なる場合、壁は必要とされる必要はなく、したがって、容器4は、ロボットシステム3によって把持されることになる物体を積み重ねるパレットである。パレットの形態では、説明全体を通して参照される容器4の下部表面のみが存在し、壁はそれから延びない。したがって、容器4は、少なくとも1つの物体を格納するように構成された任意の格納手段であると想定される。
【0149】
半径選択手段131およびステップS1201に関して、本発明者らは、半径選択手段131およびステップS1201とは異なり、把持するには細すぎる凸状セグメントと把持するのに十分なほど大きい領域と把持するには細すぎる領域の両方を有する凹状セグメントとを区別することが可能である代替実装形態も考えた。代替実装形態では、セグメント表面上で境界点から重心までの距離を測定する代わりに、各セグメントポイントからセグメントの最も近い境界点までの距離が、代わりにセグメント表面上で測定され、セグメントは、これらの距離の最大値が吸着カップエンドエフェクタ半径よりも小さいとき、破棄される。
【0150】
把持ポイント計算手段13は、指定された順序での1つのユニットから別のユニットへの動作の直線的なフローとともに説明されてきたが、本発明者らは、動作の順序が、多数の異なる組み合わせで、実装形態の選定に応じてわずかな変更とともに、実行可能であることを想定する。たとえば、
図4は、候補計算手段の前の半径選択手段を示す。しかしながら、半径選択手段が候補計算手段の後で実行されてもよいことが想定される。同様に、サイズおよび高さ選択手段は、半径選択手段の前に実行されてもよい。理解されるように、把持ポイント候補の選択に関する動作の順序は限定されず、適切に好都合である任意の順序が想定される。
【0151】
さらに、ソーティング手段134は、重み付けされた等化された平坦度評価値によってソートするように構成される。これは1つのオプションであるが、異なる基準によってソートし、別の手段において重み付けされた等化された平坦度評価値を用いることも等しく可能である。たとえば、ソーティング手段134は、最も高い重み付けされた等化された平坦度評価値をもつ把持ポイント候補を選択するように構成されることがある。非限定的な一例では、候補選択手段132は、各把持ポイント候補に対する重み付けされた等化された平坦度評価値を決定し、次いで、重み付けされた等化された平坦度評価値を所定の閾値と比較するようにさらに構成されてもよい。所定の閾値は、絶対閾値であってもよいし、セグメントのすべての組み合わされた重み付けされた等化された平坦度評価値のパーセンタイルに基づいた相対閾値であってもよい。このようにして、平均的な重み付けされた等化された平坦度評価値のあるパーセンタイルよりも大きい重み付けされた等化された平坦度評価値をもつ把持ポイント候補が、保持するべき把持ポイント候補として選択されることがある。代替として、所定の閾値は、各セグメントの平均的な重み付けされた等化された平坦度評価値に基づいてもよい。このようにして、高い平均的な重み付けされた等化された平坦度評価値をもつセグメントが保持されてもよく、残りは破棄されてもよい。この場合、絶対閾値が使用されるとき、絶対閾値は平均と比較される。
【0152】
さらに、サイズおよび高さ選択手段132は、サイズまたは高さに基づいたセグメントの選択を実行しないように構成されてもよい。代わりに、サイズおよび高さ選択手段132は、含むセグメントのサイズの正規化された尺度と把持ポイント候補の高さの正規化された尺度の和に従って各把持ポイント候補を格付けするように構成されてもよい。正規化は、前述のように、ヒストグラム等化によって実行されてもよく、和のサイズの項および高さの項の相対的寄与は、重み付け係数によって制御されてもよい。次いで、ソーティング手段は、大きいセグメント内のより低い把持ポイントと、小さいセグメント内の高い把持ポイントも可能にしながら、大きいセグメント内の高い点を選ぶように、最も高いランクをもつ把持ポイント候補を選択するように構成されてもよい。理解されるように、この例では、平坦度評価値が、ソーティング手段134とは異なる手段において、ソーティングなしで実行され、ソーティングは高さに基づいて実行された。わかるように、本発明者らは、上記で説明された動作の順序と異なる動作の順序を想定していた。しかしながら、有利には、平坦度評価値計算は計算コストが最も高いので、平坦度評価値計算は最も少ない把持ポイント候補上で最も良く実行されるので、説明全体を通して説明される動作の順序は、計算コストがあまり高くない動作を提供する。したがって、本発明者らは、ソーティング手段134における把持ポイント計算の終了時は最も少ない把持ポイント候補が残る場所であり、多数の把持ポイント候補は、半径選択手段131、候補計算手段132、ならびにサイズおよび高さ選択手段133によって破棄されているので、このときに平坦度評価値計算を実施する。
【0153】
一例では、第1の実施形態のコントローラ1、組織化されたポイントクラウドジェネレータ2、およびロボットシステム3は、同じ製品である多数の物体を含む容器から多数の異なる製品を備える顧客のためのショッピングを含む別の容器へと物体を移動させるように構成された食料雑貨ショッピング包装システム内で実施されることがある。
【0154】
オンライン食料雑貨店およびスーパーマーケットなどの複数の製品ラインを販売するオンライン小売企業は、数万または数十万の異なる製品ラインですら格納することが可能であるシステムを必要とする。そのような場合における単一製品スタックの使用は、必要とされるスタックのすべてを収容するために非常に大きな床面積が必要とされるので、実際的でないことがある。そのうえ、単一製品スタックを非効率的な解決策にする、生鮮食品または頻繁に注文されない商品などの少量のいくつかの品物のみを格納することが望ましいことがある。
【0155】
その内容が参照により本明細書に組み込まれる国際特許出願WO 98/049075A(Autostore)は、容器の複数製品スタックがフレーム構造内に配置されるシステムを記載したものである。
【0156】
PCT公報第WO2015/185628A号(Ocado)は、ビンまたは容器のスタックがフレームワーク構造内に配置されるさらなる既知の格納および履行システムを記載したものである。ビンまたは容器は、フレーム構造の上に設置されたトラック上で動作可能である負荷ハンドリングデバイスによってアクセスされる。負荷ハンドリングデバイスは、スタックからビンまたは容器を持ち上げ、複数の負荷ハンドリングデバイスは、スタックの最も低い位置に設置されたビンまたは容器にアクセスするために協働する。このタイプのシステムは、添付の図面の
図17から
図20において概略的に示されている。
【0157】
図17および
図18に示されるように、ビン50として知られる積み重ね可能な容器は、スタック52を形成するために互いの上に積み重ねられる。スタック52は、倉庫または製造環境内のグリッドフレームワーク構造54内に配置される。
図17はフレームワーク構造54の概略斜視図であり、
図18は、フレームワーク構造54内に配置されたビン50のスタック52を示す上面図である。各ビン50は、一般的には、複数の製造物品(図示せず)を保持し、ビン50内の製造物品は、適用例に応じて、同一であってもよいし、異なる製品タイプであってもよい。
【0158】
フレームワーク構造54は、水平部材58、20を支持する複数の垂直部材56を備える。平行な水平部材58の第1のセットは、垂直部材56によって支持される複数の水平グリッド構造を形成するために、平行な水平部材20の第2のセットに垂直に配置される。部材56、58、20は、一般的には、金属から製造される。ビン50は、フレームワーク構造54がビン50のスタック52の水平移動からガードし、ビン50の垂直移動をガードするように、フレームワーク構造54の部材56、58、20の間に積み重ねられる。
【0159】
フレーム構造54の上部レベルは、スタック52の上部にわたってグリッドパターンで配置されたレール22を含む。追加として
図19および
図20を参照すると、レール22は、複数のロボット負荷ハンドリングデバイス30を支持する。平行なレール22の第1のセット22aは、フレーム構造54の上部にわたる第1の方向(X)における負荷ハンドリングデバイス30の移動を案内し、第1のセット22aに垂直に配置された、平行なレール22の第2のセット22bは、第1の方向に垂直な第2の方向(Y)における負荷ハンドリングデバイス30の移動を案内する。このようにして、レール22は、負荷ハンドリングデバイス30がスタック52のいずれかの上方の位置に移動可能であるように、水平X-Y平面内で2次元において側方に負荷ハンドリングデバイス30の移動を可能にする。
【0160】
負荷ハンドリングデバイス30の一形態は、その内容が参照により本明細書に組み込まれるノルウェー特許第317366号においてさらに説明される。
図19aおよび
図19bは、ビン50を置く負荷ハンドリングデバイス30の概略断面図であり、
図19cは、ビン50を持ち上げる負荷ハンドリングデバイス30の概略正面斜視図である。しかしながら、本明細書において説明されるシステムと組み合わせて使用され得る他の形態の負荷ハンドリングデバイスがある。たとえば、さらなる形態のロボット負荷ハンドリングデバイスは、参照により本明細書に組み込まれるPCT特許公報第WO2015/019055号(Ocado)に記載されており、この特許公報では、各ロボット負荷ハンドラがフレームワーク構造の1つのグリッド空間のみをカバーし、したがって、より高い密度の負荷ハンドラを可能にし、したがって、所与のサイズのシステムに対するより高いスループットを可能にする。
【0161】
各負荷ハンドリングデバイス30は、スタック52の上方に、フレーム構造54のレール22上でX方向およびY方向に走行するように構成された運搬手段32を備える。運搬手段32の前面上のホイール34のペアおよび運搬手段32の後面上のホイール34のペアからなるホイール34の第1のセットは、レール22の第1のセット22aの2つの隣接するレールと係合するように構成される。同様に、運搬手段32の両側にあるホイール36のペアからなるホイール36の第2のセットは、レール22の第2のセット22bの2つの隣接するレールと係合するように構成される。ホイール34、36の各セットは、ホイール34の第1のセットまたはホイール36の第2のセットのいずれかがレールのそれぞれのセット22a、22bといつでも係合されるように、持ち上げ、低下させられ得る。
【0162】
ホイール34の第1のセットがレールの第1のセット22aと係合され、ホイール36の第2のセットがレール22から明らかに持ち上げられるとき、ホイール34は、X方向に負荷ハンドリングデバイス30を移動させるために、運搬手段32内に収納される駆動機構(図示せず)によって駆動可能である。Y方向に負荷ハンドリングデバイス30を移動させるために、ホイール34の第1のセットはレール22から明らかに持ち上げられ、ホイール36の第2のセットは、低下させられてレールの第2のセット22aと係合する。次いで、駆動機構は、Y方向に移動を達成するようにホイール36の第2のセットを駆動するために使用可能である。
【0163】
負荷ハンドリングデバイス30は、リフティングデバイスを装備する。リフティングデバイス40は、4つのケーブル38によって負荷ハンドリングデバイス32の本体から吊設されたグリッパプレート39を備える。ケーブル38は、運搬手段32内に収納される巻き機構(図示せず)に接続される。ケーブル38は、運搬手段32に対するグリッパプレート39の位置がZ方向に調整可能であるように、負荷ハンドリングデバイス32内にまたはこれから巻かれることが可能である。
【0164】
グリッパプレート39は、ビン50の上部と係合するように適合される。たとえば、グリッパプレート39は、ビン50の上部表面を形成するリム内の対応する穴(図示せず)と嵌合するピン(図示せず)と、ビン50を握持するためにリムと係合可能である摺動クリップ(図示せず)とを含むことがある。クリップは、グリッパプレート39内に収納された適切な駆動機構によってビン50と係合するために駆動され、ケーブル38自体を通して、または別個の制御ケーブルを通して(図示せず)伝達される信号によって、給電および制御される。
【0165】
スタック52の上部からビン50を除去するために、負荷ハンドリングデバイス30は、グリッパプレート39がスタック52の上方に位置決めされるように、必要に応じてX方向およびY方向に移動させられる。次いで、グリッパプレート39は、
図19cに示されるように、スタック52の上のビン50と係合するためにZ方向に垂直に低下させられる。グリッパプレート39は、ビン50を握持し、次いで、ビン50が取り付けられた状態でケーブル38の上で上方へ引っ張られる。その垂直走行の最上部で、ビン50が、運搬手段本体32内に収容され、レール22のレベルの上方に保持される。このようにして、負荷ハンドリングデバイス30は、ビン50を別の場所に搬送するために、それとともにビン50を運んでX-Y平面内の異なる位置に移動可能である。ケーブル38は、負荷ハンドリングデバイス30が、床レベルを含むスタック52の任意のレベルからビンを取り出して配設することを可能にするのに十分なほど長い。運搬手段32の重量は、ホイール34、36のための駆動機構に給電するために使用されるバッテリの一部を備えることがある。
【0166】
図20に示されるように、システムのスループットを増加させるように各負荷ハンドリングデバイス30が同時に動作することができるように、複数の同一の負荷ハンドリングデバイス30が用意される。
図20に示されるシステムは、ビン50がシステムへとまたはそれから移送可能である、ポートとして知られる、特定の場所を含むことがある。追加のコンベアシステム(図示せず)は、負荷ハンドリングデバイス30によってポートに搬送されたビン50がコンベアシステムによって別の場所に、たとえばピッキングステーション(図示せず)に移送可能であるように、各ポートと関連付けられる。同様に、ビン50は、コンベアシステムによって外部場所からポートに、たとえば、ビン充填ステーション(図示せず)に移動され、システム内のストックを補充するために負荷ハンドリングデバイス30によってスタック52に搬送可能である。
【0167】
ピッキングステーションは、コントローラ1によって制御されるように構成されたロボットシステム3を備え得る。この点に関して、組織化されたポイントクラウドジェネレータ2は、ピッキングステーションの適切な場所内に設置され得る。ロボットシステム3は、負荷ハンドリングデバイス30によってピッキングステーションに移動させられた第1の容器から品物を抜き取るように構成され得る。抜き取らされた品物は、同じく負荷ハンドリングデバイス30によってピッキングステーションに移動させられた第2の容器へと再設置され得る。次いで、第1の容器および第2の容器の各々が、負荷ハンドリングデバイス30によってスタック52内に再格納され得る。このようにして、ある容器から別の容器への物体の自動化された再設置は、自動化された倉庫において遂行される。上記の例はピッキングステーションに関係しているが、容器内に設置された屑の除去を必要とするステーションなどの、格納システムに関して使用される他のステーションも使用されてよいことが理解されるであろう。そのような屑は、容器からロボットシステム3によって自動的に削除され得る。
【0168】
各負荷ハンドリングデバイス30は、一度に1つのビン50を持ち上げ、移動させることができる。スタック52の上に設置されていないビン10b(「ターゲットビン」)を取り出すことが必要である場合、上にあるビン50a(「非ターゲットビン」)が、ターゲットビン10bへのアクセスを可能にするために最初に移動されなければならない。これは、以下で「掘削」と呼ばれる動作で達成される。
【0169】
図20を参照すると、掘削動作中、負荷ハンドリングデバイス30のうちの1つが、ターゲットビン50bを含むスタック52から各非ターゲットビン50aを順次持ち上げ、それを別のスタック52内の空いている位置に配設する。次いで、ターゲットビン50bが、負荷ハンドリングデバイス30によってアクセスされ、さらなる搬送のためにポートに移動可能である。
【0170】
負荷ハンドリングデバイス30の各々は、中央コンピュータの制御下にある。システム内の各個々のビン50は、適切なビン50が必要に応じて取り出され、搬送され、交換可能であるように、追跡される。たとえば、掘削動作中、非ターゲットビン50aの各々の場所は、非ターゲットビン50aが追跡可能であるように、ログ記録される。
【0171】
図17~
図20を参照して説明されたシステムは、多数の利点を有し、広範囲の格納動作および取り出し動作に適している。特に、このシステムは、非常に高密度の製品の格納を可能にし、ピッキングのために必要とされるときビン50のすべてへの合理的に経済的なアクセスを可能にしながら、ビン50内の非常に大きい範囲の異なる品物を格納する非常に経済的なやり方を提供する。
【0172】
しかしながら、そのようなシステムに関するいくつかの短所があり、これらの短所はすべて、ターゲットビン50bがスタック52の上部にないときに実行されなければならない、上記で説明された掘削動作から生じる。
【0173】
本発明の実施形態の前述の説明は、図示および説明の目的で提示されてきた。この説明は、網羅的であることを意図したものでもないし、開示された正確な形式に本発明を限定することを意図したものでもない。修正および変形は、本発明の趣旨および範囲から逸脱することなく、加えられ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1] 組織化されたポイントクラウドジェネレータと、吸着カップエンドエフェクタを備えるロボットシステムとに接続可能である、ロボットシステムのための制御デバイスであって、前記組織化されたポイントクラウドジェネレータが、少なくとも1つの物体を格納するように構成された少なくとも1つの格納手段の組織化されたポイントクラウドを生成するように構成され、前記ロボットシステムが、前記少なくとも1つの格納手段から少なくとも1つの物体を把持するように構成された、制御デバイスにおいて、
前記組織化されたポイントクラウドの法線と前記組織化されたポイントクラウドの主曲率とを計算するように構成された表面計算手段と、
前記組織化されたポイントクラウド、前記組織化されたポイントクラウドの前記計算された法線、前記組織化されたポイントクラウドの前記計算された主曲率、および前記格納手段の下部表面の法線に基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から少なくとも1つの物体を把持するための把持ポイントを計算するように構成された把持ポイント計算手段と
を備える制御デバイス。
[2] 前記制御デバイスが、
前記組織化されたポイントクラウドに基づいてセグメントを生成するように構成されたセグメント化手段
をさらに備え、
ここにおいて、前記把持ポイント計算手段が、前記生成されたセグメントに基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から少なくとも1つの物体を把持するための前記把持ポイントを計算するようにさらに構成される、[1]に記載の制御デバイス。
[3] 前記表面計算手段が、平滑化された組織化されたポイントクラウドを計算するようにさらに構成され、
ここにおいて、前記把持ポイント計算手段が、前記計算された平滑化された組織化されたポイントクラウドに基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から少なくとも1つの物体を把持するための前記把持ポイントを計算するようにさらに構成される、[1]または[2]に記載の制御デバイス。
[4] 前記把持ポイント計算手段が把持ポイントを計算することが不可能であるとき、コントローラが、前記少なくとも1つの格納手段が空であるという標識を生成する、および/または前記把持ポイント計算手段に少なくとも1つのセグメントを無視した状態で把持ポイントを再計算させるように構成される、[1]から[3]のいずれかに記載の制御デバイス。
[5] 前記把持ポイント計算手段が、
半径が前記吸着カップエンドエフェクタの半径よりも大きいセグメントを選択するように構成された半径選択手段と、
前記半径が選択されたセグメント、前記組織化されたポイントクラウドの前記計算された法線、前記計算された平滑化された組織化されたポイントクラウド、および前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補を計算するように構成された候補計算手段と、
前記選択されたセグメントのサイズおよび前記格納手段の下部表面からの前記選択されたセグメントの距離に基づいて前記計算された把持ポイント候補のセグメントを選択するように構成されたサイズおよび高さ選択手段と、
前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補の近傍平坦度によって前記サイズおよび高さが選択されたセグメントをソートするように構成され、前記ロボットシステムのための把持ポイントを選択するように構成されたソーティング手段と
を備える、[1]から[4]のいずれかに記載の制御デバイス。
[6] 前記半径選択手段が、
各セグメント内の重心を位置特定するように構成された重心発見手段と、
各セグメントにおける、前記セグメントの重心と前記重心に最も遠い前記セグメントの境界上の点との間の距離を計算するように構成された距離計算手段と、
前記計算された距離が前記吸着カップエンドエフェクタの半径よりも大きいかどうかを決定するように構成された距離閾値処理手段と
を備える、[5]に記載の制御デバイス。
[7] 前記候補計算手段が、
前記選択されたセグメントのすべての主曲率ノルムのすべての所定のパーセンタイルとして主曲率閾値を計算するように構成された閾値計算手段と、
把持ポイント候補の、そのセグメントの境界までの前記距離が所定の閾値よりも大きいかどうか、
前記把持ポイント候補の前記主曲率ノルムが、前記閾値計算手段によって計算された前記閾値よりも小さいかどうか、
前記把持ポイント候補の前記法線と前記少なくとも1つの格納手段の下部表面の法線との間の角度が所定の閾値よりも小さいかどうか、
前記把持ポイント候補の、そのセグメントの重心までの前記距離が所定の閾値よりも小さいかどうか、
のうちの少なくとも1つに基づいて把持ポイント候補を選択するように構成された選択手段と、
前記選択された把持ポイント候補の各セグメントの前記重心と表面の上で測定されたその境界点との間の距離の最小値を計算するように構成され、前記計算された距離に基づいて平均距離を生成するように構成され、計算された距離が、前記計算された平均に所定の値が乗算されたものよりも小さいセグメントを選択するように構成された大セグメント破棄手段と、
選択された把持ポイント候補の前記法線と前記少なくとも1つの格納手段の前記下部表面の法線との間の角度を計算し、前記計算された角度に基づいて角度閾値を生成するように構成され、計算された角度が前記計算された角度閾値よりも小さいセグメントを選択するように構成された傾斜表面領域検出手段と
を備える、[5]または[6]に記載の制御デバイス。
[8] 前記サイズおよび高さ選択手段が、
前記把持ポイント計算手段によって選択された把持ポイント候補を備える各セグメントのための前記少なくとも1つの格納手段の下部表面からの平均距離を計算するように構成され、前記把持ポイント計算手段によって選択された把持ポイント候補を備えるすべてのセグメントについて、前記少なくとも1つの格納手段の下部表面からの平均距離を計算するように構成され、前記把持ポイント計算手段によって選択された把持ポイント候補を備える各セグメントの平均サイズを計算するように構成され、前記把持ポイント計算手段によって選択された把持ポイント候補を備えるすべてのセグメントの平均サイズを計算するように構成された平均高さおよびサイズ計算手段と、
すべてのセグメントについて、前記少なくとも1つの格納手段の前記下部表面からの前記少なくとも1つの格納手段の前記下部表面からの計算された平均距離が前記計算された平均距離のパーセンタイルよりも大きいセグメント、および/またはすべてのセグメントについて計算された平均サイズが前記計算された平均サイズに所定の係数が乗算されたものよりも大きいセグメントを選択するように構成された高さおよびサイズ閾値処理手段と を備える、[5]から[7]のいずれかに記載の制御デバイス。
[9] 前記ソーティング手段が、
前記セグメント内の各点における主曲率ノルム、および前記把持ポイント候補と前記セグメントのポイントとの間の距離に基づいて前記把持ポイント候補のサブセット内の各点に対する平坦度評価値を決定するように構成された平坦度計算手段と、
前記把持ポイント候補のサブセットのすべての平坦度評価値の分布を調整するように構成された等化手段と、
位置特定された前記セグメントの重心に対して各等化された平坦度評価値を重み付けするように構成された重み付け手段と、
前記選択されたセグメントからの最大重み付けされた平坦度評価値をもつ把持ポイント候補を選択するように構成された平坦度選択手段と
を備える、[5]から[8]のいずれかに記載の制御デバイス。
[10] 前記セグメント化手段が、
前記組織化されたポイントクラウドの法線と、平滑化された組織化されたポイントクラウドと、前記組織化されたポイントクラウドの第1の導関数および第2の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算するように構成された組織化されたポイントクラウド計算手段と、
前記計算された第1の導関数、最大主曲率、および前記信頼度マップからセグメント化可能な画像を計算するように構成された画像計算手段と、
シードセグメントを生成するように構成されたシーディング手段と
を備える、[1]から[9]のいずれかに記載の制御デバイス。
[11] 前記組織化されたポイントクラウド計算手段と前記表面計算手段が互いに一体的に形成される、[10]に記載の制御デバイス。
[12] 前記組織化されたポイントクラウド計算手段が、所定の半径の前記組織化されたポイントクラウドウィンドウの1次元スライスに多項式を適合させることによって、前記組織化されたポイントクラウドの法線と、平滑化されたポイントクラウドと、前記組織化されたポイントクラウドの第1の導関数および第2の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算するように構成される、[10]または[11]に記載の制御デバイス。
[13] 前記画像計算手段が、最大主曲率画像の等化された否定、組織化されたポイントクラウド勾配ノルム画像の等化された否定、および信頼度マップのピクセルごとの累乗の、ピクセルごとの積として前記セグメント化可能な画像を計算するように構成され、ここにおいて、
最大主曲率画像の前記等化された否定が、組織化されたポイントクラウドの谷における最小値と、ピークにおける最大値とを備え、
組織化されたポイントクラウド勾配ノルム画像の前記等化された否定が、急な表面上の最小値と、水平表面上の最大値とを備える、[10]から[12]のいずれかに記載の制御デバイス。
[14] 前記シーディング手段が、セグメント化可能な画像値が所定の閾値を超える前記セグメント化可能な画像の領域を識別することによって、シードセグメントを生成するように構成される、[10]から[13]のいずれかに記載の制御デバイス。
[15] 各シード化されたセグメントがそれを越えて成長できない前記セグメントの境界に制限を課すように構成された制限手段をさらに備える、[10]から[14]のいずれかに記載の制御デバイス。
[16] 前記シードセグメントを成長させるように構成された成長手段と、
前記成長させられたセグメントをマージするように構成されたマージ手段と
をさらに備える、[10]から[15]のいずれかに記載の制御デバイス。
[17] 前記マージ手段が、
2つの成長させられたセグメント間のインターフェースの長さと前記2つの成長させられたセグメントの周囲の長さとの比が所定の閾値よりも大きく、
前記インターフェースに沿った画像値の分布が、前記セグメントの両方における画像値の分布に類似している
とき、2つの成長させられたセグメントをマージするように構成される、[16]に記載の制御デバイス。
[18] 少なくとも1つの物体を備える少なくとも1つの格納手段の組織化されたポイントクラウドを生成するように構成された組織化されたポイントクラウドジェネレータと、
前記少なくとも1つの格納手段から少なくとも1つの物体を把持するように構成された吸着カップエンドエフェクタを備えるロボットシステムと、
前記計算された把持ポイントに基づいて前記ロボットシステムを制御するように構成された[1]から[17]のいずれかに記載の制御デバイスと
を備えるシステム。
[19] 同じ製品の多数の物体を格納するように構成された第1の格納手段と、
異なる製品の多数の物体を格納するように構成された第2の格納手段と、
[18]に記載のシステムと、ここにおいて、前記ロボットシステムが、前記第1の格納手段から前記第2の格納手段へと少なくとも1つの物体を移動させるように構成される、
を備える食料雑貨ショッピング包装システム。
[20] 複数のグリッド空間を備えるグリッドパターンを形成するために、実質的に水平な平面内で、X方向に延びる平行なレールまたはトラックの第1のセットと、前記第1のセットに対して直角にY方向に延びる平行なレールまたはトラックの第2のセットと、
前記レールの下に設置され、各スタックが単一のグリッド空間の底面積内に設置されるように構成される容器の複数のスタックと、
少なくとも1つの搬送デバイスと、前記少なくとも1つの搬送デバイスが、前記X方向および/または前記Y方向に、前記レール上の前記スタックの上方に選択的に移動するように構成され、容器を搬送するように構成される、
前記少なくとも1つの搬送デバイスによって搬送された容器を受け取るように構成されたピッキングステーションと、
[18]または[19]に記載のシステムと、ここにおいて、前記システムが、容器から物体を把持するように構成される、
を備える格納システム。
[21] あるグリッド空間を占有する搬送デバイスが、隣接するグリッド空間を占有するまたはこれを前記X方向および前記Y方向に横断する搬送デバイスを妨害しないように、前記少なくとも1つの搬送デバイスが、前記格納システム内の単一のグリッド空間のみを占有する底面積を有する、[20]に記載の格納システム。
[22] ロボットシステムを制御する方法であって、前記ロボットシステムが、吸着カップエンドエフェクタを備え、少なくとも1つの物体を格納するように構成された少なくとも1つの格納手段から前記少なくとも1つの物体を把持するように構成される方法において、 前記少なくとも1つの格納手段の組織化されたポイントクラウドを受け取るステップと、
前記組織化されたポイントクラウドの法線と前記組織化されたポイントクラウドの主曲率とを計算するステップと、
前記組織化されたポイントクラウド、前記組織化されたポイントクラウドの前記計算された法線、前記組織化されたポイントクラウドの前記計算された主曲率、および前記格納手段の下部表面の法線に基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から少なくとも1つの物体を把持するための把持ポイントを計算するステップと
を備える方法。
[23] 前記方法が、
前記組織化されたポイントクラウドに基づいてセグメントを生成するステップ
をさらに備え、
ここにおいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から少なくとも1つの物体を把持するための前記把持ポイントが、前記生成されたセグメントに基づいて計算される、[22]に記載の方法。
[24] 前記方法が、
平滑化された組織化されたポイントクラウドを計算するステップ
をさらに備え、
ここにおいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも1つの格納手段から少なくとも1つの物体を把持するための前記把持ポイントが、前記計算された平滑化された組織化されたポイントクラウドに基づいて計算される、[22]または[23]に記載の方法。
[25] 把持ポイントを計算する前記ステップが把持ポイントを計算することが不可能であるとき、前記方法が、
前記少なくとも1つの格納手段が空であるという標識を生成すること、および
少なくとも1つのセグメントを無視した状態で把持ポイントを再計算すること
のうちの少なくとも1つをさらに備える、[22]から[24]のいずれかに記載の方法。
[26] 把持ポイントを計算する前記ステップが、
半径が前記吸着カップエンドエフェクタの半径よりも大きいセグメントを選択することと、
前記半径が選択されたセグメント、前記組織化されたポイントクラウドの前記計算された法線、前記計算された平滑化された組織化されたポイントクラウド、および前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補を計算することと、
前記選択されたセグメントのサイズおよび前記少なくとも1つの格納手段の下部表面からの前記選択されたセグメントの距離に基づいて前記計算された把持ポイント候補のセグメントを選択することと、
前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補の近傍平坦度によって前記サイズおよび距離が選択されたセグメントをソートすることと
前記ロボットシステムのための把持ポイントを選択することと
を備える、[22]から[25]のいずれかに記載の方法。
[27] 半径が前記吸着カップエンドエフェクタの半径よりも大きいセグメントを選択する前記ステップが、
各セグメント内に重心を位置特定することと、
各セグメントにおける、前記セグメントの重心と前記重心に最も遠い前記セグメントの境界上の点との間の距離を計算することと、
前記計算された距離が前記吸着カップエンドエフェクタの半径よりも大きいかどうかを決定することと
を備える、[26]に記載の方法。
[28] 把持ポイント候補を計算する前記ステップが、
前記選択されたセグメントのすべての主曲率ノルムのすべての所定のパーセンタイルとして主曲率閾値を計算することと、
把持ポイント候補の、そのセグメントの境界までの前記距離が所定の閾値よりも大きいかどうか、
前記把持ポイント候補の前記主曲率ノルムが、前記閾値の計算ステップによって計算された前記閾値よりも小さいかどうか、
前記把持ポイント候補の前記法線と前記少なくとも1つの格納手段の下部表面の法線との間の角度が所定の閾値よりも小さいかどうか、
前記把持ポイント候補の、そのセグメントの重心までの前記距離が所定の閾値よりも小さいかどうか、
のうちの少なくとも1つに基づいて把持ポイント候補を選択することと、
前記選択された把持ポイント候補の各セグメントの前記重心と表面の上で測定されたその境界点との間の距離の最小値を計算することと、
前記計算された距離に基づいて平均距離を生成することと、
計算された距離が、前記計算された平均に所定の値が乗算されたものよりも小さいセグメントを選択することと、
選択された把持ポイント候補の前記法線と前記少なくとも1つの格納手段の前記下部表面の法線との間の角度を計算することと、
前記計算された角度に基づいて角度閾値を生成することと、
計算された角度が前記計算された角度閾値よりも小さいセグメントを選択することと を備える、[26]または[27]に記載の方法。
[29] 前記選択されたセグメントのサイズおよび前記少なくとも1つの格納手段の下部表面からの前記選択されたセグメントの距離に基づいて前記計算された把持ポイント候補のセグメントを選択する前記ステップが、
把持ポイント候補計算ステップによって選択された把持ポイント候補を備える各セグメントのための前記少なくとも1つの格納手段の下部表面からの平均距離を計算することと、
前記把持ポイント候補計算ステップによって選択された把持ポイント候補を備えるすべてのセグメントについて、前記少なくとも1つの格納手段の下部表面からの平均距離を計算することと、
前記把持ポイント候補計算ステップによって選択された把持ポイント候補を備える各セグメントのための平均サイズを計算することと、
前記把持ポイント候補計算ステップによって選択された把持ポイント候補を備えるすべてのセグメントについて、平均サイズを計算することと、
すべてのセグメントについて、前記少なくとも1つの格納手段の前記下部表面からの前記少なくとも1つの格納手段の前記下部表面からの計算された平均距離が前記計算された平均距離のパーセンタイルよりも大きいセグメントを選択すること、および/またはすべてのセグメントについて、計算された平均サイズが前記計算された平均サイズに所定の係数が乗算されたものよりも大きいセグメントを選択することと
を備える、[26]から[28]のいずれかに記載の方法。
[30] ソートする前記ステップが、
前記セグメント内の各点における主曲率ノルム、および前記把持ポイント候補と前記セグメントのポイントとの間の距離に基づいて前記把持ポイント候補のサブセット内の各点に対する平坦度評価値を決定することと、
前記把持ポイント候補のサブセットのすべての平坦度評価値の分布を調整することと、 位置特定された前記セグメントの重心に対して各等化された平坦度評価値を重み付けすることと、
前記選択されたセグメントからの最大重み付けされた平坦度評価値をもつ把持ポイント候補を選択することと
を備える、[26]から[29]のいずれかに記載の方法。
[31] セグメントの生成ステップが、
前記組織化されたポイントクラウドの法線と、平滑化された組織化されたポイントクラウドと、前記組織化されたポイントクラウドの第1の導関数および第2の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算することと、
前記計算された第1の導関数、最大主曲率、および前記信頼度マップからセグメント化可能な画像を決定することと、
シードセグメントを生成することと
を備える、[23]から[30]のいずれかに記載の方法。
[32] 計算する前記ステップが、所定の半径の前記組織化されたポイントクラウドウィンドウの1次元スライスに多項式を適合させることによって前記組織化されたポイントクラウドの法線と、平滑化されたポイントクラウドと、前記組織化されたポイントクラウドの第1の導関数および第2の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算することを備える、[31]に記載の方法。
[33] 決定する前記ステップが、最大主曲率画像の等化された否定、組織化されたポイントクラウド勾配ノルム画像の等化された否定、および信頼度マップのピクセルごとの累乗の前記ピクセルごとの積として前記セグメント化可能な画像を計算することを備え、ここにおいて、
最大主曲率画像の前記等化された否定が、組織化されたポイントクラウドの谷における最小値と、ピークにおける最大値とを備え、
組織化されたポイントクラウド勾配ノルム画像の前記等化された否定が、急な表面上の最小値と、水平表面上の最大値とを備える、[31]または[32]に記載の方法。
[34] シードを生成する前記ステップが、セグメント化可能な画像値が所定の閾値を超える前記セグメント化可能な画像の領域を識別することによってシードセグメントを生成することを備える、[31]から[33]のいずれかに記載の方法。
[35] それを越えて各シード化されたセグメントが成長できない前記セグメントの境界に制限を課すステップ
をさらに備える、[31]から[34]のいずれかに記載の方法。
[36] 前記方法が、
前記シードセグメントを成長させるステップと、
前記成長させられたセグメントをマージするステップと
をさらに備える、[31]から[35]のいずれかに記載の方法。
[37] マージする前記ステップが、
2つの成長させられたセグメント間のインターフェースの長さと前記2つの成長させられたセグメントの周囲の長さとの比が所定の閾値よりも大きく、
前記インターフェースに沿った画像値の分布が、前記セグメントの両方における画像値の分布に類似している
とき、2つの成長させられたセグメントをマージすることを備える、[36]に記載の方法。