(57)【要約】  物体を確実に位置特定し、各物体に適した把持ポイントを計算して、それによって、ロボットシステムを効果的に制御するための制御デバイスが提供される。この制御デバイスは、有利には、物体の表面のための把持ポイントをより効果的に計算するために、ロボットシステムによって把持されることになる少なくとも物体の表面の性質に基づいた把持ポイント計算を提供する。特に、制御デバイスは、組織化されたポイントクラウドジェネレータと、吸着カップエンドエフェクタを備えるロボットシステムとに接続可能であり、組織化されたポイントクラウドジェネレータは、少なくとも１つの物体を含むように構成された少なくとも１つの格納手段の組織化されたポイントクラウドを生成するように構成され、ロボットシステムは、少なくとも１つの格納手段から少なくとも１つの物体を把持するように構成される。制御デバイスは、組織化されたポイントクラウドの法線と組織化されたポイントクラウドの主曲率とを計算するように構成された表面計算手段を備える。制御デバイスは、組織化されたポイントクラウド、組織化されたポイントクラウドの計算された法線、組織化されたポイントクラウドの計算された主曲率、および格納手段の下部表面の法線に基づいて、ロボットシステムの吸着カップエンドエフェクタが少なくとも１つの格納手段から少なくとも１つの物体を把持するための把持ポイントを計算するように構成された把持ポイント計算手段も備える。
2021503651.tif 000002
【特許請求の範囲】
【請求項１】
組織化されたポイントクラウドジェネレータと、吸着カップエンドエフェクタを備えるロボットシステムとに接続可能である、ロボットシステムのための制御デバイスであって、前記組織化されたポイントクラウドジェネレータが、少なくとも１つの物体を格納するように構成された少なくとも１つの格納手段の組織化されたポイントクラウドを生成するように構成され、前記ロボットシステムが、前記少なくとも１つの格納手段から少なくとも１つの物体を把持するように構成された、制御デバイスにおいて、
前記組織化されたポイントクラウドの法線と前記組織化されたポイントクラウドの主曲率とを計算するように構成された表面計算手段と、
前記組織化されたポイントクラウド、前記組織化されたポイントクラウドの前記計算された法線、前記組織化されたポイントクラウドの前記計算された主曲率、および前記格納手段の下部表面の法線に基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも１つの格納手段から少なくとも１つの物体を把持するための把持ポイントを計算するように構成された把持ポイント計算手段と
を備える制御デバイス。
【請求項２】
前記制御デバイスが、
前記組織化されたポイントクラウドに基づいてセグメントを生成するように構成されたセグメント化手段
をさらに備え、
ここにおいて、前記把持ポイント計算手段が、前記生成されたセグメントに基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも１つの格納手段から少なくとも１つの物体を把持するための前記把持ポイントを計算するようにさらに構成される、請求項１に記載の制御デバイス。
【請求項３】
前記表面計算手段が、平滑化された組織化されたポイントクラウドを計算するようにさらに構成され、
ここにおいて、前記把持ポイント計算手段が、前記計算された平滑化された組織化されたポイントクラウドに基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも１つの格納手段から少なくとも１つの物体を把持するための前記把持ポイントを計算するようにさらに構成される、請求項１または２に記載の制御デバイス。
【請求項４】
前記把持ポイント計算手段が把持ポイントを計算することが不可能であるとき、コントローラが、前記少なくとも１つの格納手段が空であるという標識を生成する、および／または前記把持ポイント計算手段に少なくとも１つのセグメントを無視した状態で把持ポイントを再計算させるように構成される、請求項１から３のいずれかに記載の制御デバイス。
【請求項５】
前記把持ポイント計算手段が、
半径が前記吸着カップエンドエフェクタの半径よりも大きいセグメントを選択するように構成された半径選択手段と、
前記半径が選択されたセグメント、前記組織化されたポイントクラウドの前記計算された法線、前記計算された平滑化された組織化されたポイントクラウド、および前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補を計算するように構成された候補計算手段と、
前記選択されたセグメントのサイズおよび前記格納手段の下部表面からの前記選択されたセグメントの距離に基づいて前記計算された把持ポイント候補のセグメントを選択するように構成されたサイズおよび高さ選択手段と、
前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補の近傍平坦度によって前記サイズおよび高さが選択されたセグメントをソートするように構成され、前記ロボットシステムのための把持ポイントを選択するように構成されたソーティング手段と
を備える、請求項１から４のいずれかに記載の制御デバイス。
【請求項６】
前記半径選択手段が、
各セグメント内の重心を位置特定するように構成された重心発見手段と、
各セグメントにおける、前記セグメントの重心と前記重心に最も遠い前記セグメントの境界上の点との間の距離を計算するように構成された距離計算手段と、
前記計算された距離が前記吸着カップエンドエフェクタの半径よりも大きいかどうかを決定するように構成された距離閾値処理手段と
を備える、請求項５に記載の制御デバイス。
【請求項７】
前記候補計算手段が、
前記選択されたセグメントのすべての主曲率ノルムのすべての所定のパーセンタイルとして主曲率閾値を計算するように構成された閾値計算手段と、
把持ポイント候補の、そのセグメントの境界までの前記距離が所定の閾値よりも大きいかどうか、
前記把持ポイント候補の前記主曲率ノルムが、前記閾値計算手段によって計算された前記閾値よりも小さいかどうか、
前記把持ポイント候補の前記法線と前記少なくとも１つの格納手段の下部表面の法線との間の角度が所定の閾値よりも小さいかどうか、
前記把持ポイント候補の、そのセグメントの重心までの前記距離が所定の閾値よりも小さいかどうか、
のうちの少なくとも１つに基づいて把持ポイント候補を選択するように構成された選択手段と、
前記選択された把持ポイント候補の各セグメントの前記重心と表面の上で測定されたその境界点との間の距離の最小値を計算するように構成され、前記計算された距離に基づいて平均距離を生成するように構成され、計算された距離が、前記計算された平均に所定の値が乗算されたものよりも小さいセグメントを選択するように構成された大セグメント破棄手段と、
選択された把持ポイント候補の前記法線と前記少なくとも１つの格納手段の前記下部表面の法線との間の角度を計算し、前記計算された角度に基づいて角度閾値を生成するように構成され、計算された角度が前記計算された角度閾値よりも小さいセグメントを選択するように構成された傾斜表面領域検出手段と
を備える、請求項５または６に記載の制御デバイス。
【請求項８】
前記サイズおよび高さ選択手段が、
前記把持ポイント計算手段によって選択された把持ポイント候補を備える各セグメントのための前記少なくとも１つの格納手段の下部表面からの平均距離を計算するように構成され、前記把持ポイント計算手段によって選択された把持ポイント候補を備えるすべてのセグメントについて、前記少なくとも１つの格納手段の下部表面からの平均距離を計算するように構成され、前記把持ポイント計算手段によって選択された把持ポイント候補を備える各セグメントの平均サイズを計算するように構成され、前記把持ポイント計算手段によって選択された把持ポイント候補を備えるすべてのセグメントの平均サイズを計算するように構成された平均高さおよびサイズ計算手段と、
すべてのセグメントについて、前記少なくとも１つの格納手段の前記下部表面からの前記少なくとも１つの格納手段の前記下部表面からの計算された平均距離が前記計算された平均距離のパーセンタイルよりも大きいセグメント、および／またはすべてのセグメントについて計算された平均サイズが前記計算された平均サイズに所定の係数が乗算されたものよりも大きいセグメントを選択するように構成された高さおよびサイズ閾値処理手段と
を備える、請求項５から７のいずれかに記載の制御デバイス。
【請求項９】
前記ソーティング手段が、
前記セグメント内の各点における主曲率ノルム、および前記把持ポイント候補と前記セグメントのポイントとの間の距離に基づいて前記把持ポイント候補のサブセット内の各点に対する平坦度評価値を決定するように構成された平坦度計算手段と、
前記把持ポイント候補のサブセットのすべての平坦度評価値の分布を調整するように構成された等化手段と、
位置特定された前記セグメントの重心に対して各等化された平坦度評価値を重み付けするように構成された重み付け手段と、
前記選択されたセグメントからの最大重み付けされた平坦度評価値をもつ把持ポイント候補を選択するように構成された平坦度選択手段と
を備える、請求項５から８のいずれかに記載の制御デバイス。
【請求項１０】
前記セグメント化手段が、
前記組織化されたポイントクラウドの法線と、平滑化された組織化されたポイントクラウドと、前記組織化されたポイントクラウドの第１の導関数および第２の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算するように構成された組織化されたポイントクラウド計算手段と、
前記計算された第１の導関数、最大主曲率、および前記信頼度マップからセグメント化可能な画像を計算するように構成された画像計算手段と、
シードセグメントを生成するように構成されたシーディング手段と
を備える、請求項１から９のいずれかに記載の制御デバイス。
【請求項１１】
前記組織化されたポイントクラウド計算手段と前記表面計算手段が互いに一体的に形成される、請求項１０に記載の制御デバイス。
【請求項１２】
前記組織化されたポイントクラウド計算手段が、所定の半径の前記組織化されたポイントクラウドウィンドウの１次元スライスに多項式を適合させることによって、前記組織化されたポイントクラウドの法線と、平滑化されたポイントクラウドと、前記組織化されたポイントクラウドの第１の導関数および第２の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算するように構成される、請求項１０または１１に記載の制御デバイス。
【請求項１３】
前記画像計算手段が、最大主曲率画像の等化された否定、組織化されたポイントクラウド勾配ノルム画像の等化された否定、および信頼度マップのピクセルごとの累乗の、ピクセルごとの積として前記セグメント化可能な画像を計算するように構成され、ここにおいて、
最大主曲率画像の前記等化された否定が、組織化されたポイントクラウドの谷における最小値と、ピークにおける最大値とを備え、
組織化されたポイントクラウド勾配ノルム画像の前記等化された否定が、急な表面上の最小値と、水平表面上の最大値とを備える、請求項１０から１２のいずれかに記載の制御デバイス。
【請求項１４】
前記シーディング手段が、セグメント化可能な画像値が所定の閾値を超える前記セグメント化可能な画像の領域を識別することによって、シードセグメントを生成するように構成される、請求項１０から１３のいずれかに記載の制御デバイス。
【請求項１５】
各シード化されたセグメントがそれを越えて成長できない前記セグメントの境界に制限を課すように構成された制限手段をさらに備える、請求項１０から１４のいずれかに記載の制御デバイス。
【請求項１６】
前記シードセグメントを成長させるように構成された成長手段と、
前記成長させられたセグメントをマージするように構成されたマージ手段と
をさらに備える、請求項１０から１５のいずれかに記載の制御デバイス。
【請求項１７】
前記マージ手段が、
２つの成長させられたセグメント間のインターフェースの長さと前記２つの成長させられたセグメントの周囲の長さとの比が所定の閾値よりも大きく、
前記インターフェースに沿った画像値の分布が、前記セグメントの両方における画像値の分布に類似している
とき、２つの成長させられたセグメントをマージするように構成される、請求項１６に記載の制御デバイス。
【請求項１８】
少なくとも１つの物体を備える少なくとも１つの格納手段の組織化されたポイントクラウドを生成するように構成された組織化されたポイントクラウドジェネレータと、
前記少なくとも１つの格納手段から少なくとも１つの物体を把持するように構成された吸着カップエンドエフェクタを備えるロボットシステムと、
前記計算された把持ポイントに基づいて前記ロボットシステムを制御するように構成された請求項１から１７のいずれかに記載の制御デバイスと
を備えるシステム。
【請求項１９】
同じ製品の多数の物体を格納するように構成された第１の格納手段と、
異なる製品の多数の物体を格納するように構成された第２の格納手段と、
請求項１８に記載のシステムと、ここにおいて、前記ロボットシステムが、前記第１の格納手段から前記第２の格納手段へと少なくとも１つの物体を移動させるように構成される、
を備える食料雑貨ショッピング包装システム。
【請求項２０】
複数のグリッド空間を備えるグリッドパターンを形成するために、実質的に水平な平面内で、Ｘ方向に延びる平行なレールまたはトラックの第１のセットと、前記第１のセットに対して直角にＹ方向に延びる平行なレールまたはトラックの第２のセットと、
前記レールの下に設置され、各スタックが単一のグリッド空間の底面積内に設置されるように構成される容器の複数のスタックと、
少なくとも１つの搬送デバイスと、前記少なくとも１つの搬送デバイスが、前記Ｘ方向および／または前記Ｙ方向に、前記レール上の前記スタックの上方に選択的に移動するように構成され、容器を搬送するように構成される、
前記少なくとも１つの搬送デバイスによって搬送された容器を受け取るように構成されたピッキングステーションと、
請求項１８または１９に記載のシステムと、ここにおいて、前記システムが、容器から物体を把持するように構成される、
を備える格納システム。
【請求項２１】
あるグリッド空間を占有する搬送デバイスが、隣接するグリッド空間を占有するまたはこれを前記Ｘ方向および前記Ｙ方向に横断する搬送デバイスを妨害しないように、前記少なくとも１つの搬送デバイスが、前記格納システム内の単一のグリッド空間のみを占有する底面積を有する、請求項２０に記載の格納システム。
【請求項２２】
ロボットシステムを制御する方法であって、前記ロボットシステムが、吸着カップエンドエフェクタを備え、少なくとも１つの物体を格納するように構成された少なくとも１つの格納手段から前記少なくとも１つの物体を把持するように構成される方法において、
前記少なくとも１つの格納手段の組織化されたポイントクラウドを受け取るステップと、
前記組織化されたポイントクラウドの法線と前記組織化されたポイントクラウドの主曲率とを計算するステップと、
前記組織化されたポイントクラウド、前記組織化されたポイントクラウドの前記計算された法線、前記組織化されたポイントクラウドの前記計算された主曲率、および前記格納手段の下部表面の法線に基づいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも１つの格納手段から少なくとも１つの物体を把持するための把持ポイントを計算するステップと
を備える方法。
【請求項２３】
前記方法が、
前記組織化されたポイントクラウドに基づいてセグメントを生成するステップ
をさらに備え、
ここにおいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも１つの格納手段から少なくとも１つの物体を把持するための前記把持ポイントが、前記生成されたセグメントに基づいて計算される、請求項２２に記載の方法。
【請求項２４】
前記方法が、
平滑化された組織化されたポイントクラウドを計算するステップ
をさらに備え、
ここにおいて、前記ロボットシステムの前記吸着カップエンドエフェクタが前記少なくとも１つの格納手段から少なくとも１つの物体を把持するための前記把持ポイントが、前記計算された平滑化された組織化されたポイントクラウドに基づいて計算される、請求項２２または２３に記載の方法。
【請求項２５】
把持ポイントを計算する前記ステップが把持ポイントを計算することが不可能であるとき、前記方法が、
前記少なくとも１つの格納手段が空であるという標識を生成すること、および
少なくとも１つのセグメントを無視した状態で把持ポイントを再計算すること
のうちの少なくとも１つをさらに備える、請求項２２から２４のいずれかに記載の方法。
【請求項２６】
把持ポイントを計算する前記ステップが、
半径が前記吸着カップエンドエフェクタの半径よりも大きいセグメントを選択することと、
前記半径が選択されたセグメント、前記組織化されたポイントクラウドの前記計算された法線、前記計算された平滑化された組織化されたポイントクラウド、および前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補を計算することと、
前記選択されたセグメントのサイズおよび前記少なくとも１つの格納手段の下部表面からの前記選択されたセグメントの距離に基づいて前記計算された把持ポイント候補のセグメントを選択することと、
前記組織化されたポイントクラウドの前記計算された主曲率に基づいて把持ポイント候補の近傍平坦度によって前記サイズおよび距離が選択されたセグメントをソートすることと
前記ロボットシステムのための把持ポイントを選択することと
を備える、請求項２２から２５のいずれかに記載の方法。
【請求項２７】
半径が前記吸着カップエンドエフェクタの半径よりも大きいセグメントを選択する前記ステップが、
各セグメント内に重心を位置特定することと、
各セグメントにおける、前記セグメントの重心と前記重心に最も遠い前記セグメントの境界上の点との間の距離を計算することと、
前記計算された距離が前記吸着カップエンドエフェクタの半径よりも大きいかどうかを決定することと
を備える、請求項２６に記載の方法。
【請求項２８】
把持ポイント候補を計算する前記ステップが、
前記選択されたセグメントのすべての主曲率ノルムのすべての所定のパーセンタイルとして主曲率閾値を計算することと、
把持ポイント候補の、そのセグメントの境界までの前記距離が所定の閾値よりも大きいかどうか、
前記把持ポイント候補の前記主曲率ノルムが、前記閾値の計算ステップによって計算された前記閾値よりも小さいかどうか、
前記把持ポイント候補の前記法線と前記少なくとも１つの格納手段の下部表面の法線との間の角度が所定の閾値よりも小さいかどうか、
前記把持ポイント候補の、そのセグメントの重心までの前記距離が所定の閾値よりも小さいかどうか、
のうちの少なくとも１つに基づいて把持ポイント候補を選択することと、
前記選択された把持ポイント候補の各セグメントの前記重心と表面の上で測定されたその境界点との間の距離の最小値を計算することと、
前記計算された距離に基づいて平均距離を生成することと、
計算された距離が、前記計算された平均に所定の値が乗算されたものよりも小さいセグメントを選択することと、
選択された把持ポイント候補の前記法線と前記少なくとも１つの格納手段の前記下部表面の法線との間の角度を計算することと、
前記計算された角度に基づいて角度閾値を生成することと、
計算された角度が前記計算された角度閾値よりも小さいセグメントを選択することと
を備える、請求項２６または２７に記載の方法。
【請求項２９】
前記選択されたセグメントのサイズおよび前記少なくとも１つの格納手段の下部表面からの前記選択されたセグメントの距離に基づいて前記計算された把持ポイント候補のセグメントを選択する前記ステップが、
把持ポイント候補計算ステップによって選択された把持ポイント候補を備える各セグメントのための前記少なくとも１つの格納手段の下部表面からの平均距離を計算することと、
前記把持ポイント候補計算ステップによって選択された把持ポイント候補を備えるすべてのセグメントについて、前記少なくとも１つの格納手段の下部表面からの平均距離を計算することと、
前記把持ポイント候補計算ステップによって選択された把持ポイント候補を備える各セグメントのための平均サイズを計算することと、
前記把持ポイント候補計算ステップによって選択された把持ポイント候補を備えるすべてのセグメントについて、平均サイズを計算することと、
すべてのセグメントについて、前記少なくとも１つの格納手段の前記下部表面からの前記少なくとも１つの格納手段の前記下部表面からの計算された平均距離が前記計算された平均距離のパーセンタイルよりも大きいセグメントを選択すること、および／またはすべてのセグメントについて、計算された平均サイズが前記計算された平均サイズに所定の係数が乗算されたものよりも大きいセグメントを選択することと
を備える、請求項２６から２８のいずれかに記載の方法。
【請求項３０】
ソートする前記ステップが、
前記セグメント内の各点における主曲率ノルム、および前記把持ポイント候補と前記セグメントのポイントとの間の距離に基づいて前記把持ポイント候補のサブセット内の各点に対する平坦度評価値を決定することと、
前記把持ポイント候補のサブセットのすべての平坦度評価値の分布を調整することと、
位置特定された前記セグメントの重心に対して各等化された平坦度評価値を重み付けすることと、
前記選択されたセグメントからの最大重み付けされた平坦度評価値をもつ把持ポイント候補を選択することと
を備える、請求項２６から２９のいずれかに記載の方法。
【請求項３１】
セグメントの生成ステップが、
前記組織化されたポイントクラウドの法線と、平滑化された組織化されたポイントクラウドと、前記組織化されたポイントクラウドの第１の導関数および第２の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算することと、
前記計算された第１の導関数、最大主曲率、および前記信頼度マップからセグメント化可能な画像を決定することと、
シードセグメントを生成することと
を備える、請求項２３から３０のいずれかに記載の方法。
【請求項３２】
計算する前記ステップが、所定の半径の前記組織化されたポイントクラウドウィンドウの１次元スライスに多項式を適合させることによって前記組織化されたポイントクラウドの法線と、平滑化されたポイントクラウドと、前記組織化されたポイントクラウドの第１の導関数および第２の導関数と、前記組織化されたポイントクラウドの主曲率と、信頼度マップとを計算することを備える、請求項３１に記載の方法。
【請求項３３】
決定する前記ステップが、最大主曲率画像の等化された否定、組織化されたポイントクラウド勾配ノルム画像の等化された否定、および信頼度マップのピクセルごとの累乗の前記ピクセルごとの積として前記セグメント化可能な画像を計算することを備え、ここにおいて、
最大主曲率画像の前記等化された否定が、組織化されたポイントクラウドの谷における最小値と、ピークにおける最大値とを備え、
組織化されたポイントクラウド勾配ノルム画像の前記等化された否定が、急な表面上の最小値と、水平表面上の最大値とを備える、請求項３１または３２に記載の方法。
【請求項３４】
シードを生成する前記ステップが、セグメント化可能な画像値が所定の閾値を超える前記セグメント化可能な画像の領域を識別することによってシードセグメントを生成することを備える、請求項３１から３３のいずれかに記載の方法。
【請求項３５】
それを越えて各シード化されたセグメントが成長できない前記セグメントの境界に制限を課すステップ
をさらに備える、請求項３１から３４のいずれかに記載の方法。
【請求項３６】
前記方法が、
前記シードセグメントを成長させるステップと、
前記成長させられたセグメントをマージするステップと
をさらに備える、請求項３１から３５のいずれかに記載の方法。
【請求項３７】
マージする前記ステップが、
２つの成長させられたセグメント間のインターフェースの長さと前記２つの成長させられたセグメントの周囲の長さとの比が所定の閾値よりも大きく、
前記インターフェースに沿った画像値の分布が、前記セグメントの両方における画像値の分布に類似している
とき、２つの成長させられたセグメントをマージすることを備える、請求項３６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１７年１１月１７日に出願された英国特許出願第１７１９０５８．８号の優先権を主張するものであり、同出願すべての内容は、参照により本明細書に組み込まれる。
【０００２】
本発明は、一般に、ロボットシステムの分野に関し、より詳細には、食料雑貨ショッピング包装システムおよび格納システムとともにロボットシステムを制御するための制御デバイスおよび方法に関する。
【背景技術】
【０００３】
コンピュータビジョンおよびロボット工学の分野では、画像化された物体を位置特定し、画像化された物体を把持するようにロボットシステムに指示するという概念は、発展中の分野である。一般的には、これは、データベースが、把持されることになる物体のモデルを記憶し、ロボットシステムによって把持されるのに成功することがある物体上の場所を示す、モデルベースの手法を使用して、達成されている。したがって、データベースモデルは、画像化されるシーン内の既知の、モデル化された物体を設置するために、シーンと比較されることがある。次いで、ロボットシステムは、モデルによって識別された把持ポイントを使用して、設置された物体を把持することが課せられることがある。
【０００４】
しかしながら、この手法は、モデル化することを困難にする、多数の物体タイプがあるとき、または特定の物体タイプの外観における広い変動があるときに実用的でない、データベース内に記憶された物体の正確なモデルに依拠する。
【０００５】
したがって、関心は、モデルがデータベース内に記憶されず、代わりに、コントローラがシーン内の可視の物体の場所と物体のうちの少なくとも１つに適した把持ポイントの両方を画像化されたシーンから決定する、モデルなしのピッキングの概念に向けられている。
【０００６】
本発明者らは、容器の中に密に詰め込まれている物体などを把持するという問題に直面し、ロボットシステムに対する吸着カップエンドエフェクタ（end effector）の使用を選択する。さらに、吸着カップエンドエフェクタの選択は、堅牢で信頼性高くありながら、機械的に容易に実施される。次いで、彼らの注意は、高密度の他の物体をもつ領域内の物体に適した把持ポイントを選択することに向けられる。
【０００７】
Ｕｍａｒ  Ａｓｉｆらによる「Ｍｏｄｅｌ−Ｆｒｅｅ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ａｎｄ  Ｇｒａｓｐ  Ｓｅｌｅｃｔｉｏｎ  ｏｆ  Ｕｎｋｎｏｗｎ  Ｓｔａｃｋｅｄ  Ｏｂｊｅｃｔｓ」では、平行な顎部グリッパを利用する、物体把持のためのモデルなしの手法が開示されている。したがって、鏡映対称を使用して把持ポイントのペアを生成する把持計算アルゴリズムが開示される。しかしながら、それは、物体が、容器内の物体のために、エンドエフェクタのための物体への衝突のないルートを見つけるために経路探索を実行するようにビジョンシステムに要求することを一般に必要とする自由空間内に位置していると仮定する。
【０００８】
同様に、Ａｎｄｒｅａｓ  ｔｅｎ  Ｐａｓらによる「Ｇｒａｓｐ  Ｐｏｓｅ  Ｄｅｔｅｃｔｉｏｎ  ｉｎ  Ｐｏｉｎｔ  Ｃｌｏｕｄｓ」も、ロボットシステム上で平行な顎部グリッパを使用するモデルなしの手法を開示する。しかしながら、彼らの手法は物体をセグメント化せず、したがって、複数の物体は、単一の物体として検出されることがある。
【０００９】
上記で説明された論文の両方は、密に小包環境内の他の物体に対する干渉により環境内での動作を可能にする平行な顎部グリッパの使用を開示する。したがって、計算される把持ポイントは、吸着カップエンドエフェクタが物体を把持するのに効果的な位置を提供しない。
【００１０】
したがって、従来のモデルベースの手法を使用することなく、物体にとって適切で、吸着カップエンドエフェクタに適した把持ポイントを決定するように装置および方法を決定および制御する、より適切な把持ポイントが必要とされている。
【発明の概要】
【００１１】
既知のモデルのない手法における問題に鑑みて、本発明は、物体を確実に位置特定し、各物体にとって適切な把持ポイントを計算して、それによって、ロボットシステムを効果的に制御する装置および方法を提供することを目的とする。
【００１２】
一般的には、本発明は、物体の表面のための把持ポイントをより効果的に計算するためにロボットシステムによって把持されることになる少なくとも物体の表面の性質に基づいた把持ポイント計算を導入する。
【００１３】
本発明は、ロボットシステムのための制御デバイスであって、組織化されたポイントクラウドジェネレータ（organised point cloud generator）と、吸着カップエンドエフェクタを備えるロボットシステムとに接続可能であり、組織化されたポイントクラウドジェネレータは、少なくとも１つの物体を含むように構成された少なくとも１つの格納手段の組織化されたポイントクラウドを生成するように構成され、ロボットシステムは、少なくとも１つの格納手段から少なくとも１つの物体を把持するように構成される、制御デバイスを提供する。この制御デバイスは、組織化されたポイントクラウドの法線と組織化されたポイントクラウドの主曲率とを計算するように構成された表面計算手段を備える。制御デバイスは、組織化されたポイントクラウド、組織化されたポイントクラウドの計算された法線、組織化されたポイントクラウドの計算された主曲率、および格納手段の下部表面の法線に基づいて、ロボットシステムの吸着カップエンドエフェクタが少なくとも１つの格納手段から少なくとも１つの物体を把持するための把持ポイントを計算するように構成された把持ポイント計算手段も備える。
【００１４】
本発明は、システムも提供する。このシステムは、少なくとも１つの物体を備える少なくとも１つの格納手段の組織化されたポイントクラウドを生成するように構成された組織化されたポイントクラウドジェネレータを備える。システムは、少なくとも１つの格納手段から少なくとも１つの物体を把持するように構成された吸着カップエンドエフェクタを備えるロボットシステムも備える。システムは、計算された把持ポイントに基づいてロボットシステムを制御するように構成された、前述の制御デバイスも備える。
【００１５】
本発明は、食料雑貨ショッピング包装システムも提供する。この食料雑貨ショッピング包装システムは、同じ製品の多数の物体を含むように構成された第１の格納手段と、異なる製品の多数の物体を含むように構成された第２の格納手段と、前述のシステムとを備える。ロボットシステムは、第１の格納手段から第２の格納手段へと少なくとも１つの物体を移動させるように構成される。
【００１６】
本発明は、格納システムも提供する。この格納システムは、複数のグリッド空間を備えるグリッドパターンを形成するために、実質的に水平な平面内で、Ｘ方向に延びる平行なレールまたはトラックの第１のセットと、この第１のセットに対して直角にＹ方向に延びる平行なレールまたはトラックの第２のセットとを備える。容器の複数のスタックは、レールの下に設置され、各スタックが単一のグリッド空間の底面積内に設置されるように構成される。少なくとも１つの搬送デバイス、この少なくとも１つの搬送デバイスは、Ｘ方向および／またはＹ方向に、レール上のスタックの上方に選択的に移動するように構成され、容器を搬送するように構成される。格納システムは、少なくとも１つの搬送デバイスによって搬送された容器を受け取るように構成されたピッキングステーションと、前述のシステムであって、容器から物体を把持するように構成されたシステムとをさらに備える。
【００１７】
本発明は、ロボットシステムを制御する方法も提供し、このロボットシステムは、吸着カップエンドエフェクタを備え、少なくとも１つの物体を格納するように構成された少なくとも１つの格納手段から少なくとも１つの物体を把持するように構成される。この方法は、少なくとも１つの格納手段の組織化されたポイントクラウドを受け取るステップを備える。この方法は、組織化されたポイントクラウドの法線と組織化されたポイントクラウドの主曲率とを計算するステップも備える。この方法は、組織化されたポイントクラウド、組織化されたポイントクラウドの計算された法線、組織化されたポイントクラウドの計算された主曲率、および格納手段の下部表面の法線に基づいて、ロボットシステムの吸着カップエンドエフェクタが少なくとも１つの格納手段から少なくとも１つの物体を把持するための把持ポイントを計算するステップを備える。
【００１８】
次に、本発明の実施形態が、同じ参照番号が同じまたは対応する部分を指定する添付の図面を参照しながら、単なる例として説明される。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態による、組織化されたポイントクラウドジェネレータと、いくつかの物体をもつ容器と、ロボットシステムと、コントローラとを含む把持セットアップの概略図。
【図２】第１の実施形態によるコントローラのセグメント化手段のさらなる詳細を示すブロック図。
【図３】第１の実施形態によるコントローラの表面計算手段のさらなる詳細を示すブロック図。
【図４】第１の実施形態によるコントローラの把持ポイント計算手段のさらなる詳細を示すブロック図。
【図５】第１の実施形態によるコントローラの把持ポイント計算手段の半径選択手段のさらなる詳細を示すブロック図。
【図６】第１の実施形態によるコントローラの把持ポイント計算手段の候補計算手段のさらなる詳細を示すブロック図。
【図７】第１の実施形態によるコントローラの把持ポイント計算手段のサイズおよび高さ選択手段のさらなる詳細を示すブロック図。
【図８】第１の実施形態によるコントローラの把持ポイント計算手段のソーティング手段（sorting means）のさらなる詳細を示すブロック図。
【図９】図１に示される第１の実施形態によるコントローラによって実行されるプロセスを示すフローチャート。
【図１０】図２に示されるセグメント化手段によって実行されるプロセスを示すフローチャート。
【図１１】図３に示される表面計算手段によって実行されるプロセスを示すフローチャート。
【図１２】図４に示される把持ポイント計算手段によって実行されるプロセスを示すフローチャート。
【図１３】図５に示される半径選択手段によって実行されるプロセスを示すフローチャート。
【図１４】図６に示される候補計算手段によって実行されるプロセスを示すフローチャート。
【図１５】図７に示されるサイズおよび高さ選択手段によって実行されるプロセスを示すフローチャート。
【図１６】図８に示されるソーティング手段によって実行されるプロセスを示すフローチャート。
【図１７】既知のシステムによるフレームワーク構造の概略図。
【図１８】図１７のフレームワーク構造内に配置されたビンのスタックを示す上面図の概略図。
【図１９ａ】ビンを置く負荷ハンドリングデバイスの概略斜視図。
【図１９ｂ】ビンを置く負荷ハンドリングデバイスの概略斜視図。
【図１９ｃ】ビンを持ち上げる負荷ハンドリングデバイスの概略正面斜視図。
【図２０】フレームワーク構造上で動作する負荷ハンドリングデバイスを示すシステムの概略図。
【発明を実施するための形態】
【００２０】
第１の実施形態
図１は、本発明の第１の実施形態による、コントローラ１とともに容器４から物体を把持するためのシステムを示す。このシステムでは、上部レベルから、少なくとも１つの物体を格納するように構成された容器４が用意される。組織化されたポイントクラウドジェネレータ２が、容器の組織化されたポイントクラウドと、もしあれば容器４内に含まれる物体とを生成するために、ある位置で用意される。組織化されたポイントクラウドは、容器４内の物体のための把持ポイントを計算するように構成された、第１の実施形態によるコントローラ１へと入力される。コントローラ１から把持ポイントを受け取り、次いで、識別された把持ポイントにおいて物体を把持するためにコントローラ１に接続されたロボットシステムが用意される。
【００２１】
より詳細に、示された容器４は、ロボットシステム３によって容器４から移動させられることが望まれる３つの物体を含む。理解されるように、容器４は、任意の数の物体を含むことができる、または物体を全く含むことはできない。容器は、一般的には、下部表面と、物体を支持するために、床と、壁、たとえば、物体が落ちるのを防止する４つの壁とを含む。しかしながら、理解されるように、容器は、たとえば３つの壁、５つの壁などを備える、物体を保持する任意のサイズまたは形状であってよい。
【００２２】
理想的には、容器４内に含まれる物体は壁の上部の下に位置決めされるが、第１の実施形態は、たとえば、容器４内に配設された大きな物体により、または容器４内に詰め込まれた多数の物体により物体が壁の上部の上方に延びる容器に等しく適用可能である。
【００２３】
組織化されたポイントクラウドジェネレータ２は、容器４の内容をビューするために位置決めされる。一般的なセットアップでは、容器４の下部表面は、容器４の上方に配置された組織化されたポイントクラウドジェネレータ２とともに水平に配置され、ポイントクラウドジェネレータ２のセンサは、容器４の内容をビューするために垂直に下に向く。適切な組織化されたポイントクラウドジェネレータ２の例は、第１世代Ｍｉｃｒｏｓｏｆｔ  Ｋｉｎｅｃｔデバイス、飛行時間型デバイス、超音波デバイス、ステレオカメラペア、およびレーザストライパーなどの構造化された照明デバイスである。これらのデバイスは、一般的には、デバイスによってビューされるシーンの深度情報を含む画像である深度マップ画像を生成する。当技術分野では、デバイスのレンズおよびセンサにおける異常に関して深度マップ画像を較正することは普通である。ひとたび較正されると、深度マップは、ポイントクラウドとして知られている、メトリック３Ｄ点のセットに変換可能である。好ましくは、ポイントクラウドは、各３次元点が異なるピクセルの見通し線上にあり、３Ｄ点とピクセルとの間の１対１対応という結果になることを意味する、組織化されたポイントクラウドである。組織化は、効率的なポイントクラウド処理を可能にするので、望ましい。較正プロセスのさらなる一部では、ロボットシステム３の基準フレームに対する組織化されたポイントクラウドジェネレータのポーズ、すなわちその位置および方位が決定される（たとえば、基準フレームは、ロボットシステムの基部であってよいが、任意の既知の基準フレーム、たとえば、ロボットシステムの手首関節に位置している基準フレームが機能するであろう）。したがって、組織化されたポイントクラウドが、深度マップならびにこの深度マップを生成するために使用されるレンズおよびセンサについての情報に基づいて生成される。任意選択で、生成された深度マップは、ロボットシステム３の基準フレームへと変換されることがある。したがって、組織化されたポイントクラウドジェネレータ２は、深度マップ生成手段のレンズおよびセンサについての情報に基づいて組織化されたポイントクラウドを生成するために、生成された深度マップを較正するように構成された深度マップ較正手段（図示せず）とともに、容器４の深度情報と物体とを含む画像を生成するために深度マップ生成手段（図示せず）を備えることがある。簡単にするために、組織化されたポイントクラウドジェネレータ２は、図１では単一のユニットとして示されている。しかしながら、理解されるように、深度マップ生成および深度マップ較正の機能の各々は、別個のユニットによって実行されてもよく、たとえば、深度マップ較正手段は、第１の実施形態のコントローラ１内に統合されてもよい。
【００２４】
コントローラ１は、生成された組織化されたポイントクラウドを受け取り、それによって、ロボットシステム３によって使用されることになる把持ポイントを生成する。しかしながら、いくつかの環境では、把持ポイントは生成されない。たとえば、容器が物体を含まない場合、コントローラ１は、把持ポイントを生成せず、代わりに、容器４が空であるという標識を生成する。いくつかの環境では、ロボットシステム３は、生成された把持ポイントによって物体を把持するのに失敗することがあり、この状況では、コントローラ１は、把持ポイントの再計算を引き起こすが、データ入力を制限するように構成されることがあり、たとえば、把持ポイントの計算においてポイントクラウド情報のすべてを含むとは限らないことを選ぶ。これは、有利には、以前に計算された把持ポイントからの、異なる把持ポイントの計算という結果になる。さらに、把持ポイントが見つからない場合、コントローラ１は、組織化されたポイントクラウドジェネレータ２から、組織化されたポイントクラウドを再捕捉するように構成されることがある。この場合、捕捉された組織化されたポイントクラウドにおけるセンサノイズにより把持ポイント計算が失敗したと仮定される。組織化されたポイントクラウドを再捕捉することによって、センサノイズは変化され、把持ポイント計算成功という結果になる。
【００２５】
いくつかの状況では、コントローラ１が、把持ポイントを生成するのに失敗することがある、および／またはロボットシステム３は、把持ポイントを生成することによって物体を把持するのに失敗することがある。これらの状況のいずれかまたは両方では、コントローラ１は、容器４内の少なくとも１つの物体を押すようにロボットシステム３に命令することがある。このようにして、ロボットシステム３は、吸着エンドエフェクタと物体との間の相互作用を引き起こすなどの小さな移動を使用するが、物体を把持しないように、容器４内の物体の方位および／または位置を変更するように命令される。このようにして、新しく捕捉された組織化されたポイントクラウドは、把持ポイントが生成されるのに成功することがあり、物体がロボットシステム３によって把持されるのに成功することがある、少なくとも１つの異なるように配設された／向けられた物体を備える。
【００２６】
生成された把持ポイントは、吸着カップエンドエフェクタを備えるロボットシステム３によって受け取られる。吸着カップエンドエフェクタの使用は、物体を把持するための単一の把持ポイントの使用を可能にし、それによって、品物のまわりの突き出た部分のための空間の欠如により多くの他の種類のエンドエフェクタが失敗するであろう緊密に包装されたアレイから、個々の品物を持ち上げることが適切になる。それは、容易に変形される物体にも効果的なことがある。ロボットシステム３は、既知の面積および半径である吸着カップエンドエフェクタを使用して、計算された把持ポイントを使用して容器４から物体を把持する。ロボットシステム３は、それによって、容器４内部の物体を容器４内の別の場所または容器４の外部の場所に容易に移動させることができる。
【００２７】
したがって、第１の実施形態のコントローラ１は、有利には、特定のロボットエンドエフェクタの動作に適している把持場所を見つける。この解決策は、変形可能な物体および二度同じ形にならない物体（たとえば、ジャガイモまたはポテトチップスの袋）のような代表的なモデルを有することが不可能である物体を抜き取ることが可能であるのに役立つ。さらに、第１の実施形態により提供されるこの解決策は、把持ポイントが、把持されることになる多くの他の物体の近くに設置された物体のために、言い換えれば、密集して配置された物体のために、識別されることを可能にする。
【００２８】
コントローラ１は、表面計算手段１２と、把持ポイント計算手段１２とを備える。任意選択で、コントローラ１は、セグメント化手段１１を備える。このようにして、一般に、表面計算手段１２は、組織化されたポイントクラウドジェネレータ２によって画像化された表面のいくつかの性質を計算するが、これは、容器４の内容と一致する。次いで、把持ポイント計算手段１３が、計算された表面性質および生成された組織化されたポイントクラウドに基づいて把持ポイントを計算する。
【００２９】
図２は、第１の実施形態のコントローラ１内の、本発明者らによって利用される任意選択のセグメント化手段１１をより詳細に示す。セグメント化手段１１は、組織化されたポイントクラウドジェネレータ２によって生成される表面を、生成された組織化されたポイントクラウドの少なくとも一部分と一致する少なくとも１つのセグメント化された表面（セグメントとしても知られる）へと分割するために使用されることがある。一般に、セグメント化された表面は、容器４内の個々の物体に対応する。たとえば、図１に基づいて、容器４内の各物体に対応する３つのセグメント（すなわち、２つの円筒および１つの立方体）が生成されるであろう。しかしながら、容器４のセグメント化された表面がセグメント化手段１１によって生成されないとしても、容器４内の物体の妥当な把持ポイントが把持ポイント計算手段１３によって生成されるので、セグメント化手段１１は任意選択である。効果的に、セグメント化手段１１のない場合、生成された組織化されたポイントクラウド全体は、単一のセグメント化された表面として扱われる。しかしながら、そのような表面は、把持ポイントを生成するために表面計算手段１２および把持ポイント計算手段１３によって作用していることがある妥当な性質を有するので、その場合、セグメント化手段１１は、任意選択と考えられる。上記で説明されたように、有利には、セグメント化手段１１は、一般に容器４内の個々の物体に対応する把持ポイントをより効果的に計算するために用いられることがある。
【００３０】
セグメント化手段１１は、組織化されたポイントクラウドを受け取り、それを使用して、セグメントとしても知られるセグメント化された表面を生成する。理想的には、組織化されたポイントクラウド内に表される容器４内の各物体は、組織化されたポイントクラウドジェネレータ２から可視であるいくつかの表面によって識別される。一例では、セグメント化手段１１は、単一の表面として凸状表面を備える物体を識別するように構成され、たとえば、容器４内の円筒は、図１に示されるように、単一の表面として識別されるであろう。この単一の表面は、凸状の様式で互いに接合される、円筒の上部の平坦な表面と円筒の丸い本体を識別する。同様に、図１に示される容器４内の立方体の物体は、円筒とは別個の単一の表面として識別されるであろう。一方、凸状の様式で接合された表面は、別個の表面として扱われる。たとえば、立方体の物体および円筒の物体との間に、凹状領域がある。したがって、セグメント化手段１１は、２つの物体間の空間として画定された凹状領域が２つの生成された表面間の表面境界に対応するときに１つは立方体に対応し、１つは円筒に対応する、２つのセグメント化された表面を生成するように構成されることがある。
【００３１】
理解されるように、セグメント化手段１１の１つの特定の実装形態が図２に示されているが、本実施形態は、組織化されたポイントクラウドをセグメント化された表面へとセグメント化する他の手段を含むことが想定される。
【００３２】
たとえば、参照により本明細書に組み込まれる、Ｒｉｃｈｔｓｆｅｌｄらによる「Ｓｅｇｍｅｎｔａｔｉｏｎ  ｏｆ  Ｕｎｋｎｏｗｎ  Ｏｂｊｅｃｔｓ  ｉｎ  Ｉｎｄｏｏｒ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」は、表面パッチを推定するために、平面とＮＵＲＢＳ表面とを適合させることによるセグメンテーションを実行し、次いで、グラフの切れ目（cut）を使用してパッチを互いにマージし、ペアワイズエネルギーは、ＳＶＭによって定義される（手動でアノテーション付与されたデータに対して訓練される）。理解されるように、組織化されたポイントクラウドをセグメント化する他の手段が、第１の実施形態の範囲内で想定される。
【００３３】
組織化されたポイントクラウドをセグメント化する１つの特定の手段が図２に示されている。この特定の実装形態は、後で説明されるように、特定の利点を有する。セグメント化手段１１は、組織化されたポイントクラウド計算手段１１１と、画像計算手段１１２と、シーディング手段（seeding means）１１３とを備える。任意選択で、成長手段１１５およびマージ手段（merging means）１１６が用意される。さらなる任意選択の特徴は、用意されることがある制限手段１１４である。
【００３４】
平滑化された組織化されたポイントクラウドは、生成された組織化されたポイントクラウド内のアーチファクトを減少させるために使用されることがある。簡単にするために、以下のセクションは、平滑化された組織化されたポイントクラウドが使用されることを仮定した任意選択のセグメント化手段１１の説明された動作をもつが、これは任意選択であり、代わりに、滑らかでない組織化されたポイントクラウドすなわち生成された組織化されたポイントクラウドが代わりに使用されてよい。
【００３５】
組織化されたポイントクラウド計算手段１１１は、組織化されたポイントクラウドの法線と、平滑化された組織化されたポイントクラウドと、組織化されたポイントクラウドの第１の導関数および第２の導関数と、組織化されたポイントクラウドの主曲率と、信頼度マップとを計算するように構成される。したがって、組織化されたポイントクラウド計算手段１１１は、組織化されたポイントクラウドの差動的な幾何学的性質を計算する。
【００３６】
画像計算手段１１２は、差動的な幾何学的性質、言い換えれば、組織化されたポイントクラウドの点の法線と、平滑化された組織化されたポイントクラウドと、組織化されたポイントクラウドの第１の導関数および第２の導関数と、組織化されたポイントクラウドの主曲率と、信頼度マップとを受け取る。画像計算手段は、第１の導関数、最大主曲率、および信頼度マップに基づいてセグメント化可能な画像を生成するように構成される。
【００３７】
シーディング手段１１３は、画像計算手段１１２からセグメント化可能な画像を受け取り、シードセグメント（seed segments）を生成するように構成される。特定の一実施形態では、シードセグメントは、把持ポイント計算を実行するためにセグメントとして使用されることがある。他の実施形態では、任意選択であり、シードセグメントをさらに改良するさらなる手段が（以下で説明されるように）用意される。
【００３８】
任意選択で、シードセグメントは、セグメントがそれを越えて成長できない各セグメントの境界に制限を課すように構成される制限手段１１４によって制限されることがある。
【００３９】
特徴のさらなる任意選択のセットは、成長手段１１５とマージ手段１１６である。成長手段１１５は、シーディング手段１１３および制限手段１１４（使用される場合）の出力を受け取る。成長手段１１５は、より多くのピクセルが、成長させられたセグメントに追加可能でなくなるまで、シードセグメントを成長させるように構成される。
【００４０】
出力された成長させられたセグメントは、適切な場合には成長させられたセグメントを一緒にマージするように構成されたマージ手段１１６へと入力される。
【００４１】
次いで、マージされたセグメントは、組織化されたポイントクラウドの識別されたセグメントとして、セグメント化手段１１から出力される。
【００４２】
より詳細に、組織化されたポイントクラウド計算手段の特定の一実装形態では、差動的な幾何学的性質が２段階で算出される。第１の段階では、平滑化された組織化されたポイントクラウド、組織化されたポイントクラウドの第１の導関数および第２の導関数、ならびに信頼度マップが、組織化されたポイントクラウドに基づいて算出される。第２の段階では、ポイントクラウドジェネレータ２の見る方向と一致する容器の下部表面の法線に基づいて、ならび第１の段階で算出された平滑化された組織化されたポイントクラウドと組織化されたポイントクラウドの導関数および第２の導関数に基づいて、組織化されたポイントクラウドの主曲率および法線が生成される。主曲率を使用することによって、セグメント化手段１１は、隆起またはピーク上にある点と谷またはクレーター内にある点とを区別することが可能である。一般的には、主曲率は、数字のペアの符号および大きさを通して隆起／ピークと谷／クレーターとの間の区別を表す。
【００４３】
より詳細には、１次元多項式適合を使用して、平滑化された組織化されたポイントクラウド（組織化されたポイントクラウドの０次導関数と呼ばれことがある）が算出される。特に、非限定的な一実装形態では、多項式が、各ウィンドウが所定の半径である重複ウィンドウへとさらに分割された、組織化されたポイントクラウドの１次元スライス（one-dimensional slices）に適合される。より具体的には、多項式は、組織化されたポイントクラウドのｘ方向性スライス内の所定の半径の１次元重複ウィンドウに適合される。同様に、多項式は、組織化されたポイントクラウドのｙ方向性スライス内の所定の半径の１次元重複ウィンドウにも適合される。ｘ方向に再適合することとｙ方向に再適合することを交互にしながら、以前の適合結果およびこれらの結果の導関数に多項式を再適合することによって、組織化されたポイントクラウドおよびその導関数のより滑らかな推定が生成され、一方向における適合のみから生じ、その後の処理段階に有害であろうアーチファクトが除去される。そのうえ、適合手順が、表面不連続点上での平滑化が回避された結果として、重み付けされることがある。さらに、重みは、信頼度マップを生成するために使用されることがある。信頼度マップは、どれくらいの信頼度で多項式適合が組織化されたポイントクラウドの点に適合するかの表現である。
【００４４】
さらに、ｘ方向とｙ方向の両方における１次導関数は、容器の下部表面の法線とともに、各点に対して、法線と、第１基本形式として知られる３つの値とを計算するために使用されることがある。それによって、主曲率は、各点に対する法線、第１基本形式、および第２の導関数に基づいて計算可能である。
【００４５】
画像計算手段１１２に関して、これは、組織化されたポイントクラウド計算手段１１１の出力の個々のピクセルに基づいてセグメント化可能な画像を計算するように構成される。特に、最大主曲率画像の等化された否定（an equalised negation）、組織化されたポイントクラウド勾配ノルム画像（gradient norms image）の等化された否定、および信頼度マップのピクセルごとの累乗（power）の、ピクセルごとの積として。非限定的な一実施形態では、最大主曲率画像の等化された否定は、組織化されたポイントクラウドの谷における最小値と、ピークにおける最大値とを備える。同様に、組織化されたポイントクラウド勾配ノルム画像の等化された否定は、急な表面上の最小値と、水平表面上の最大値とを備える。
【００４６】
シーディング手段１１３は、シードセグメントを計算するように構成される。非限定的な一例では、シードセグメントは、所定の閾値を使用して計算される。追加または代替として、シーディング手段１１３は、セグメント化可能な画像内の最も明るいプロブを位置特定し、それらをシードセグメントとして使用することによって、シードセグメントを計算することがある。「プロブ」という用語は、この点に関して、ピクセル座標の連続したセットを意味すると考えられ、そのようなセットの任意の表現が使用されてよいことが理解されるであろう。非限定的な一実施形態では、プロブは２値画像によって表され、ピクセルは１つの値を有するプロブに属し、すべての他のピクセルは別の値を有する。これらの値をそれぞれ「白」および「黒」と呼ぶものとするが、対応する値が異なるならば、その対応する値は任意の値であってよいことを理解されたい。非限定的な一実施形態では、閾値は、セグメント化可能な画像全体の少なくとも一部分上でのピクセル値の（所定のランクの）パーセンタイルとして計算され、この閾値は、最も明るいプロブを位置特定するために使用される。たとえば、上記で説明された２値画像表現下で、対応するセグメント化可能な画像ピクセルが閾値よりも大きい値を有する場合、ピクセルは、白の値が割り当てられ、したがって、プロブの一部であると考えられるであろう。すべての他のピクセルは、黒の値が割り当てられるであろう。言い換えれば、各ピクセルは、第１の値または第２の値のいずれかが割り当てられる。このようにして、明確な領域が識別される。さらに、セグメント化可能な画像全体の少なくとも一部分は、セグメント化可能な画像全体の関心領域と一致することが決定されることがあり、対象となる領域は、容器４のポーズを推定し、その内容を分離することによって計算されることがある。
【００４７】
次の段階として、生成されたシードセグメント内の穴は、任意のシードセグメントと交差するエリアを識別することによって埋められるが、１つのシードセグメントによって完全に囲まれる。たとえば、２値画像表現内で、白の値のエリアによって完全に取り囲まれた黒の値のエリアは、白で埋められる。それによって、白の値のピクセルは、黒の値のピクセルの島を削除するために使用される。このようにして、初期シーディングにおける誤りが補正される。
【００４８】
次に任意選択の制限手段１１４を参照すると、セグメント化可能な画像内のすべてのエリアのマスクが、最初に決定され、閾値が、セグメント化可能な画像内のピクセルに対応するマスク内のすべてのピクセルの累積分布関数のパーセンタイルとして決定される。ピクセルが、所定の閾値よりも小さい値を有する場合、ピクセルは、マスクから削除される。このようにして、境界制限が、それを越えてセグメントが成長できない各セグメントに課される。一例では、マスクは、容器４のポーズを推定し、その内容を分離することによって計算されるシーディング手段１１３に関して説明される関心領域と一致する。
【００４９】
この点に関して、シードセグメントと同じマスクは、２値画像として表されることがある。この点に関して、「発明を実施するための形態」全体を通して本明細書とともに言及されるすべての２値画像は、２つの任意の値によって表されることが想定され、２つの任意の値の各々が異なる。言い換えれば、２値画像内の各ピクセルは、第１の値または第２の値のいずれかが割り当てられる。
【００５０】
任意選択の成長手段１１５は、セグメント化可能な画像、シードセグメント、およびセグメント化可能な画像の累積分布関数が与えられる。成長手段１１５は、１つまたは複数のセグメントに隣接し、いかなるセグメントにもまだ追加されていないピクセルが、所与のセグメント内での包含適切な候補であるかどうかの評価に基づいて、シードセグメントの境界を反復的に拡張するように構成される。包含に関する候補ピクセルの適格性は、そのセグメント化可能な画像値とセグメント内のセグメント化可能な画像値の分布との類似性、およびそのセグメント化可能な画像値とすでにセグメントに属する隣接するピクセルのセグメント化可能な画像値との差の考慮に基づいて決定される。そのセグメント化可能な画像値が、少なくともこれらの隣接するピクセルのうちの１つまたは複数と同じ大きさであるとき、それは、前述のセグメント化可能な画像値分布に関してそれに最も類似しているそのようなピクセルを所為するセグメントに追加される。セグメントに隣接するすべての他の候補ピクセルは、それらの最も類似した隣接するセグメントから類似性の降順にソートされ、この順に以下のテストに供される。候補ピクセルは、その包含が、所定の閾値より大きいことによってセグメントのセグメント化可能な画像値の分布を変更しないであろう場合、その最も類似した隣接するセグメントに追加される。候補ピクセルがこのテストに失敗すると、境界拡張プロセスのこの反復では、さらなる候補は考慮されない。反復は、新しく成長させられたセグメント内の穴を埋めることによって終わる。シードセグメントは、ピクセルが適格性評価に合格しなくなるまで、成長させられる。
【００５１】
任意選択のマージ手段１１６は、成長させられたセグメントを受け取るように構成され、適切な場合には、セグメントを一緒にマージするように構成される。特に、この実装形態では、２つの条件が、セグメントをマージすべきかどうかを決定するために使用される。特に、２つのセグメント間のインターフェースの長さが、所定のスケーリング係数と最も短い周囲をもつセグメントの長さの積よりも小さいとき、第１の条件が満たされる。さらに、２つのセグメント間のインターフェースに沿ったセグメント化可能な画像値の分布が、セグメントの両方におけるセグメント化可能な画像値の分布に類似しているとき、第２の条件が満たされる。第１の条件および第２の条件が満たされるとき、セグメントがマージされる。
【００５２】
図３は、表面計算手段１２の動作を詳細に示す。表面計算手段１２が、組織化されたポイントクラウドジェネレータ２によって生成された組織化されたポイントクラウドを受け取る。さらに、表面計算手段１２は、容器４の下部表面に対する法線の標識を受け取る。この点に関して、容器４の下部表面の法線は、容器４に対する組織化されたポイントクラウドジェネレータ２の方位の標識を効果的に提供する。したがって、容器４の下部表面の法線は、組織化されたポイントクラウドジェネレータ２が容器４に対して固定方位であるとき、固定定数である。
【００５３】
表面計算手段１２は、組織化されたポイントクラウドの第１の導関数および第２の導関数と、信頼度マップと、組織化されたポイントクラウドの主曲率と、組織化されたポイントクラウドの点の法線とを出力するように構成される。任意選択で、表面計算手段１２は、組織化されたポイントクラウドの０次導関数としても知られる平滑化された組織化されたポイントクラウドを出力するようにさらに構成される。
【００５４】
好ましい一実施形態では、平滑化された組織化されたポイントクラウドの出力が、生成された組織化されたポイントクラウドからアーチファクトを除去するために利用される。しかしながら、多数の状況では、生成された組織化されたポイントクラウドは、組織化されたポイントクラウドを平滑化する必要なくロボットシステム３のための正確で効果的な計算された把持ポイントを可能にするのに十分なほど滑らかである。
【００５５】
表面計算手段１２は、非限定的な一実装形態では、導関数および信頼度マップ計算手段１２１と、主曲率および法線計算手段１２２とを備える。
【００５６】
特定の一実施形態では、セグメント化手段１１の組織化されたポイントクラウド計算手段１１１と表面計算手段１２は、類似のやり方で動作する。
【００５７】
特に、任意選択の平滑化された組織化されたポイントクラウドが、１次元の多項式適合を使用して算出される。特に、非限定的な一実装形態では、多項式が、各ウィンドウが所定の半径である重複ウィンドウへとさらに分割された、組織化されたポイントクラウドの１次元スライスに適合される。より具体的には、多項式は、組織化されたポイントクラウドのｘ方向性スライス内の所定の半径の１次元重複ウィンドウに適合される。同様に、多項式は、組織化されたポイントクラウドのｙ方向性スライス内の所定の半径の１次元重複ウィンドウにも適合される。ｘ方向に再適合することとｙ方向に再適合することを交互にしながら、以前の適合結果およびこれらの結果の導関数に多項式を再適合することによって、組織化されたポイントクラウドおよびその導関数のより滑らかな推定が生成され、それによって一方向における適合のみから生じ、その後の処理段階に有害であろうアーチファクトを除去する。そのうえ、適合手順が、表面不連続点上での平滑化が回避された結果として、重み付けされることがある。さらに、重みは、信頼度マップを生成するために使用されることがある。
【００５８】
主曲率および法線計算手段１２２は、平滑化された組織化されたポイントクラウドならびに組織化されたポイントクラウドの第１の導関数および第２の導関数に基づいて、組織化されたポイントクラウドの主曲率と法線とを計算するように構成される。
【００５９】
さらに、主曲率および法線計算手段１２２は、容器の下部表面の法線とともに、ｘ方向とｙ方向の両方において１次導関数を使用して、各点に対して、法線と、第１基本形式として知られる３つの値とを計算する。それによって、主曲率は、各点に対する法線、第１基本形式、および第２の導関数に基づいて計算可能である。
【００６０】
非限定的な一例では、組織化されたポイントクラウド計算手段１１１および表面計算手段１２の動作は同じ様式で動作し、したがって、上記で説明されたセグメント化手段１１を用いるとき、表面計算手段１２および計算手段１１１は、動作の繰り返しを回避するために一体的に形成されることがある。この例では、セグメント化手段１１は、把持ポイント計算手段１３への入力のために、セグメント化された表面とともに、任意選択の平滑化された組織化されたポイントクラウドと、組織化されたポイントクラウドの導関数と、組織化されたポイントクラウドの主曲率と、組織化されたポイントクラウドの法線とを出力するように構成される。このようにして、より少ない動作が、適切な把持ポイントの決定を遂行するために必要とされるので、コントローラ１の効率が改善される。
【００６１】
図４は、把持ポイント計算手段１３の動作を示す。把持ポイント計算手段１３は、この実施形態では、半径選択手段１３１と、候補計算手段１３２と、サイズおよび高さ選択手段１３３と、ソーティング手段１３４とを備える。
【００６２】
把持ポイント計算手段１３は、セグメント化手段１１が用いられるかどうかに応じて、組織化されたポイントクラウドまたはセグメント化された表面を用いて入力される。把持ポイント計算手段は、表面の計算された性質、すなわち、組織化されたポイントクラウドの主曲率ノルム（principal curvature norms）と、組織化されたポイントクラウドの法線と、容器４の下部表面の法線と、任意選択の平滑化された組織化されたポイントクラウドも用いて入力される。把持ポイント計算手段１３は、ロボットシステム３のための把持ポイントを出力するように構成されるが、いくつかの環境では、把持ポイントは出力されず、代わりに、把持ポイント計算手段１３は、容器４が空であるという標識を出力してもよいし、さもなければ、把持ポイントを再計算してもよい。
【００６３】
主曲率は、隆起またはピーク上にある点と、谷またはクレーター内にある点とを区別する。一般的には、主曲率は、数字のペアの符号および大きさを通して隆起／ピークと谷／クレーターとの間の区別を表す。これらの数字ペアの絶対値の平均と一致する主曲率ノルムを使用することによって、隆起／ピークと谷／クレーターとの間の区別が除かれる。
【００６４】
以下のセクションでは、説明は、セグメント化手段１１が組織化されたポイントクラウドのセグメントを提供するために使用されることを仮定する。しかしながら、セグメント化手段１１が使用されないとき、代わりに、組織化されたポイントクラウドが入力される。
【００６５】
半径選択手段１３１は、セグメント化手段１１からセグメントを受け取り、ロボットシステム３の吸着カップエンドエフェクタが効果的に動作することを可能にするには小さすぎるそれらのセグメント化された表面を除去するように構成される。
【００６６】
候補計算手段１３２は、半径選択手段１３１から半径が選択されたセグメントを受け取り、条件の特定のセットに関係しない点を除去するために、半径選択手段１３１によって選択されたそれらのセグメント内の組織化されたポイントクラウドの特定の点上で動作することによって、特定の把持ポイント候補を選択するように構成される。したがって、候補計算手段１３２は、条件の特定のセットに合致する、半径が選択されたセグメントのそれらの点を選択する。さらに、特定の把持ポイント候補を選択するプロセスでは、候補計算手段１３２は、特定のセグメントからすべての潜在的な把持ポイント候補を破棄することがあり、したがって、把持ポイント候補は特定のセグメントに残らない。そのような例では、候補計算手段１３２は、セグメントを破棄することによって、将来の動作からセグメントを除去するように構成されることがある。したがって、候補計算手段１３２は、把持ポイント候補と、それらが存在するセグメントとを出力するように構成される。
【００６７】
サイズおよび高さ選択手段１３３は、選択された把持ポイント候補と、それらが存在するセグメントとを受け取るように構成され、セグメントサイズ条件および容器４の下部表面からの高さに基づいて、それらのセグメントを除去するように構成される。このようにして、サイズおよび高さ選択手段１３３は、そのサイズが特定のサイズよりも大きいセグメントまたは容器４の下部表面からの距離、言い換えれば高さが特定の距離よりも大きいセグメントを選択するように構成される（これらの条件の両方を満足させるセグメントも選択される）。
【００６８】
ソーティング手段１３４は、対応する把持ポイント候補をもつサイズおよび高さが選択されたセグメントを受け取るように構成され、点の周囲のエリアの平坦度およびそれらの重心からの距離に基づいて、把持ポイント候補のための平坦度評価値（ｆｌａｔｎｅｓｓ  ｒａｔｉｎｇ）を計算するように構成される。さらに、ソーティング手段１３４は、それが存在するセグメントの重心までの各把持ポイント候補の距離に基づいて平坦度評価値を重み付けするように構成される。したがって、ソーティング手段１３４は、最終的な把持ポイントを選択する。このようにして、選択された最終的な把持ポイントは、他の把持ポイント候補と比較して平坦であり、他の把持ポイント候補と比較してそのそれぞれのセグメントの重心までの距離が近い、セグメントのエリア内にある（言い換えれば、把持ポイント候補および周囲の点は、比較的低い曲率である）。最終的な把持ポイントに基づいて、ロボットシステム３は、最終的な把持ポイント上で容器内の物体を把持することがある。
【００６９】
図５は、重心発見手段１３１１と、距離計算手段１３１２と、距離閾値処理手段１３１３とを備える半径選択手段１３１の動作を示す。
【００７０】
重心発見手段１３１１は、各セグメントに対して、セグメントのそれぞれの重心つまりセグメントの表面上の、セグメント内のすべての点まで最も近い点を位置特定するように構成され、距離は、セグメントの表面の上で測定される。一代替実施形態では、重心は、セグメントポイントの平均に最も近いセグメントポイントとして近似される。この近似は、より効率的に算出可能であるが、セグメントが非常に湾曲しているとき、不正確な結果を与える。
【００７１】
距離計算手段１３１２は、各セグメントに対して、セグメントの表面上で測定される、重心からセグメントの境界（または周囲）上の点までの距離を計算する（２つの３次元点間の直線距離に対応するユークリッド距離は計算しない）ように構成される。このようにして、重心と境界との間の最大距離が決定され、場合によっては把持される可能性がない表面を破棄することを可能にする。非限定的な一例では、距離は、境界から重心までのすべての距離の所定のパーセンタイル、たとえば、９９パーセンタイル距離として計算され、１００パーセンタイルは、境界までの最大距離である。このステップは、組織化されたポイントクラウド内に存在するノイズまたはアーチファクトを除外するように行われることがあり、これは、重心までの誤った大きな距離という結果になることがある。
【００７２】
距離閾値処理手段１３１３は、各セグメントに対して、重心と重心に最も遠い境界上の点との間の計算された距離を、ロボットシステム３の吸着カップエンドエフェクタの所定の半径と比較するように構成される。重心と境界上の、重心に最も遠い点との間の距離が吸着カップエンドエフェクタの所定の半径よりも大きいとき、距離閾値処理手段１３１３は、セグメントを選択または保持するように構成され、それを候補計算手段１３２に出力する。反対に、重心と境界上の、重心から最も遠い点との間の距離が、吸着カップエンドエフェクタの所定の半径よりも小さいまたはこれと等しいとき、距離閾値処理手段１３１３は、吸着カップエンドエフェクタの動作を支持するには小さすぎるとしてセグメントを破棄するように構成される。理解されるように、吸着カップエンドエフェクタは、吸着特徴が物体を握持するために適切に働くことを保証するために、吸着カップエンドエフェクタの縁と物体表面との間の密封に依拠する。したがって、距離閾値処理手段１３１３は、重心から境界上の重心に最も遠い点までの距離によって示される、小さすぎることによりこの密封を効果的に提供しないエリア内のセグメントを破棄する。言い換えれば、重心から境界上の重心に最も遠い点までの距離および吸着カップエンドエフェクタの半径の使用はそれぞれ、セグメントのエリアと吸着カップエンドエフェクタのエリアとを示す測定として使用される。このようにして、半径選択手段１３１は、半径が所定の閾値よりも大きいセグメントを選択する。
【００７３】
図６は、閾値計算手段１３２１と、選択手段１３２２と、大セグメント破棄手段１３２３と、傾斜表面領域検出手段１３２４とを備える候補計算手段１３２の動作を示す。
【００７４】
特に、閾値計算手段１３２１は、組織化されたポイントクラウドの主曲率ノルム（「平均絶対曲率」とも呼ばれる）に基づいて曲率閾値（選択手段１３２２において使用されることになる）を計算するように構成される。より具体的には、閾値は、セグメント化手段１１から出力されたすべてのセグメントの主曲率ノルムのすべての所定のパーセンタイルとして決定される。このようにして、計算された閾値は、セグメントのすべてにわたる主曲率ノルムに基づく。
【００７５】
選択手段１３２２は、組織化されたポイントクラウドの個々の点が把持ポイント候補として知られる実行可能な把持ポイントであるかどうかを決定するために、それらの点がさまざまな条件に対して評価される点ごとの様式で動作するように構成される。特に、選択手段１３２２は、半径が選択されたセグメントを受け取り、選択されたセグメントの各々における各点に対して、それが存在するセグメントの境界までの把持ポイント候補の距離が所定の閾値よりも大きいかどうかを決定する。このようにして、把持ポイントは、セグメントの縁からある距離であり、それによって、セグメントの縁におけるロボットシステムによる不良な把持動作の可能性を制限するように決定される。各把持ポイント候補の各主曲率ノルムも、閾値計算手段１３２１によって計算される曲率閾値と比較される。特に、把持ポイント候補の曲率が曲率閾値よりも小さい場合、把持ポイント候補が把持ポイント候補として保持される。このようにして、低い曲率を有する把持ポイント候補は保持されるが、高い曲率を有する把持ポイント候補は破棄される。
【００７６】
さらに、各把持ポイント候補の法線と容器の下部表面の法線との間の角度が決定される。この角度は、所定の閾値と比較される。角度が所定の閾値よりも小さい場合、把持ポイント候補は保持される。このようにして、容器４の下部表面の法線に対して傾斜すぎる表面領域が破棄される。特に、容器４の下部表面の法線は、ロボットシステム３の吸着カップエンドエフェクタの方位と同じ方位であるように構成され、したがって、傾斜すぎる表面領域を破棄することは、ロボットシステム３によって必要とされる回転を最小にし、潜在的には、吸着カップエンドエフェクタが容器４の下部表面の法線と平行に容器４に入ることすら可能にし、したがって、経路探索を実行する必要性をなくす（容器の開口へのアクセスを限定する障害がない場合）。
【００７７】
追加として、把持ポイント候補からそれがあるセグメントの重心までの表面上の距離が決定される。この距離が所定の閾値よりも小さい場合、把持ポイント候補は保持される。このようにして、重心に比較的近い把持ポイント候補が保持される。
【００７８】
各把持ポイント候補のこれらのテストの後、半径が選択されたセグメントのセグメントがもはや把持ポイント候補を含まなくなり得ることが可能である。この状況では、選択手段１３２２は、把持ポイント候補が残らないセグメントを破棄するように構成される。
【００７９】
大セグメント破棄手段１３２３は、各把持ポイント候補があるセグメントとともに、選択手段１３２２から選択された把持ポイント候補を受け取るように構成される。大セグメント破棄手段１３２３は、選択手段１３２２からすべての選択されたセグメントに対して、セグメントのサイズの尺度の平均を計算するように構成される。一実施形態では、使用されるサイズ尺度は、表面上で測定される、セグメントの重心とその境界点との間の距離の最小値であり、平均は、中央値として計算される。計算されたサイズは、すべてのセグメントに対する計算された平均に所定の係数が乗算されたものと比較される。セグメントのサイズが、すべてのセグメントに対する平均に所定の係数が乗算されたものよりも小さいとき、そのセグメントは維持される。しかしながら、距離が、平均に所定の係数が乗算されたものよりも大きいまたはこれに等しいとき、セグメントは破棄される。このようにして、異常に大きいセグメントは、たとえば、組織化されたポイントクラウド内の外れ値またはアーチファクトにより、破棄される。
【００８０】
傾斜表面領域検出手段１３２４は、大セグメント破棄手段１３２３によって選択されたセグメントを受け取り、点ごとの傾斜表面領域検出を実行する。特に、傾斜表面領域検出手段１３２４は、選択されたセグメント内の各残りの把持ポイント候補に対して、把持ポイント候補の法線を決定するように構成される。たとえば、把持ポイント候補の法線は、表面計算手段１２の主曲率および法線計算手段１２２による、それらの以前の計算から取り出されることがある。決定された法線と容器４の下部表面の法線との間の角度が決定される。この動作は、選択手段１３２２において実行される傾斜表面領域検出に類似している。しかしながら、傾斜表面領域検出手段１３２４では、閾値は、残りの把持ポイント候補のすべての角度のすべてのパーセンタイルとして決定される。特定の把持ポイント候補の角度が、決定された閾値よりも小さいとき、把持ポイント候補は保持される。しかしながら、特定の把持ポイント候補の角度が、決定された閾値よりも大きいまたはこれに等しいとき、把持ポイント候補は破棄される。このようにして、選択手段１３２２において実行される傾斜表面領域検出に対してより改良された傾斜表面領域検出は、すべての残りの把持ポイント候補のすべての角度にわたるパーセンタイルに基づいて実行される。
【００８１】
以前のステップと同様に、特定のセグメントがもはや把持ポイント候補を含まない場合、そのセグメントは、ロボットシステム３によって把持されることになる潜在的なセグメントとして破棄される。
【００８２】
図７は、サイズおよび高さ選択手段１３３の動作を示す。サイズおよび高さ選択手段は、平均高さおよびサイズ計算手段１３３１と、高さおよびサイズ閾値処理手段１３３２とを備える。
【００８３】
平均高さおよびサイズ計算手段１３３１は、選択手段１３２によって出力される各セグメントに対して、セグメントの点の平均高さと平均サイズとを決定するように構成される。この点に関して、高さは、容器４の下部表面からの距離として定義され、したがって、容器４の下部表面からの高さである。代替として、この高さは、容器４の下部表面からの距離と呼ばれることがある。さらに、説明は、容器４の下部表面に関連するが、組織化されたポイントクラウドジェネレータ２に容器の内部およびその内容のビューを提供するように組織化されたポイントクラウドジェネレータ２のビューに垂直に位置決めされた任意の表面を含むことが想定されるが、他の角度のビューも想定されることが諒解される。代わりに、唯一の要件は、ビューが容器４の内側のビューを含むことである。より具体的には、ビューが、容器の側面によって（および基部の上に）形成された無限円錐／プリズム内のどこかである場合、容器がカメラの視野内に残るならば、ビューは、任意の方位における容器の内側を含む。容器４のビューが互いに対してある角度をなし得ることが考えられる。サイズは、表面の上で測定される、セグメントの重心とその境界点との間の距離の最小値として決定可能であり、平均は、中央値として計算され得る。
【００８４】
好ましい一実施形態では、平均は、セグメントの点の中央高さおよびセグメントの点の中央サイズとして決定される。さらに、平均高さおよびサイズ計算手段１３３１は、各セグメントに対して、セグメントの点の平均高さとセグメントの点の平均サイズとを決定するように構成される。好ましい一実施形態では、平均は、中央高さおよび中央サイズとして決定される。
【００８５】
高さおよびサイズ閾値処理手段１３３２は、セグメントポイントの平均高さを、大セグメント破棄手段１３２３によって選択された残りのセグメントに関しては計算されたこれらの平均高さの（所定のランクの）パーセンタイルと比較するように構成される。さらに、高さおよびサイズ閾値処理手段１３３２によって選択されたセグメントの平均サイズは、すべてのセグメントに対する計算された平均に所定の係数が乗算されたものと比較される。
【００８６】
セグメントの点の平均高さがパーセンタイルを超えるとき、セグメントが維持される。さらに、各セグメント内の把持ポイント候補の平均サイズが、高さおよびサイズ閾値処理手段１３３２によって選択された残りのセグメントのすべてにおける平均サイズの所定のパーセンタイルを超えるとき、セグメントが維持される。
【００８７】
しかしながら、セグメントの点の平均高さがパーセンタイルよりも小さいまたはこれに等しいとき、セグメントの点の平均サイズがパーセンタイルよりも小さいまたはこれに等しいとき、の両方で、セグメントが破棄される。このようにして、あるサイズよりも大きい、容器４の上部に最も近いセグメント（容器４の下部表面から最も遠いセグメント）が選択される。言い換えれば、低すぎると小さすぎるの両方であるセグメント、セグメントが破棄される。
【００８８】
図８は、ソーティング手段１３４の動作を示す。ソーティング手段１３４は、平坦度計算手段１３４１と、等化手段１３４２と、重み付け手段１３４３と、平坦度選択手段１３４４とを備える。
【００８９】
平坦度計算手段１３４１は、平均高さおよびサイズ選択手段１３３によって選択された残りのセグメント内の残りの把持ポイント候補のサブセットのための平坦度評価値を決定するように構成される。平坦度評価値を決定するために、把持ポイント候補のサブセットが、点が他の点から可能な限り離れるようにランダムに生成されるという基準に基づいて、各セグメントに対して生成される。このようにして、平坦度計算手段１３４１の計算強度は、セグメント内のさまざまな点において十分に高密度の平坦度の尺度を依然として提供しながら、より小さい数の把持ポイント候補上で動作することによって最小化可能である。把持ポイント候補サブセット内の各点に対する平坦度評価値が、セグメント内の各点における主曲率ノルム（「平均絶対曲率」とも呼ばれ、候補計算手段１３２において使用される）および把持ポイント候補とセグメントポイントとの間の距離に基づいて生成される。一代替実施形態では、サブセット内の各把持ポイント候補に対する平坦度評価値が、セグメント内の各点における主曲率ノルム、および把持ポイント候補とセグメントポイントとの間の最小経路長に基づいて生成される。このようにして、把持ポイント候補サブセット内の各点に対する平坦度評価値が、近傍平坦度に基づいて計算され、把持ポイント候補からの最大距離をもつセグメントの点は、計算された平坦度評価値に対する効果が最も小さく、把持ポイント候補により近いそれらの点は、最も大きな効果を有する。
【００９０】
等化手段１３４２は、これらの評価値の影響が小さくならないまたは重み付け手段１３４３によって小さくされないように、候補把持ポイントサブセットのすべての平坦度評価値の分布を調整するように構成される。たとえば、一実施形態では、平坦度評価値は、１００％の値は、平坦である近傍を示し、０％の値は、（すべての他の近傍と比較して）最大曲率を示す近傍を示し、中間の値は、中間の曲率をもつ近傍を示すように、パーセンタイルランクによって置き換えられてもよい。
【００９１】
重み付け手段１３４３は、それがあるセグメントの重心からの各把持ポイント候補の距離に基づいて、等化された平坦度評価値を重み付けするように構成される。このようにして、それらがあるセグメントの重心により近いそれらの把持ポイント候補は、その質量中心により近い（および一般的には、セグメントの重心により近い）点から物体を把持することは、ロボットシステム３によって把持することをより容易にするので、より高く重み付けされる。
【００９２】
選択手段１３４４は、ロボットシステム３によって利用されることになる最終的な把持ポイントを選択するように構成される。一例では、選択手段１３４４は、最も高く重み付けされた等化された平坦度評価値をもつ把持ポイント候補、言い換えれば、より平坦な近傍をもつ、重心により近い傾向がある評価値を特徴付けるその把持ポイントを選択することがある。
【００９３】
要約すると、ソーティング手段１３４は、各把持ポイント候補の近傍平坦度およびセグメントの重心へのその近接性に基づいて把持ポイントを決定する。したがって、選択された把持ポイントは、吸着カップエンドエフェクタとの使用のために最適化される。
【００９４】
図９は、図１に示される第１の実施形態によるコントローラ１によって実行されるプロセスを示す。特に、フローチャートは、入力された組織化されたポイントクラウド情報に基づいた把持ポイントの生成を示す。
【００９５】
図９を参照すると、任意選択のステップＳ９０１では、セグメント化手段１１は、任意選択で、組織化されたポイントクラウドジェネレータ２から受け取られた組織化されたポイントクラウドに基づいてセグメントを生成する。組織化されたポイントクラウドは、組織化されたポイントクラウドジェネレータ２によってビューされる、一般的には物体を含む容器４の、シーンを表す。組織化されたポイントクラウドは、組織化されたポイントクラウドジェネレータ２からの容器４および物体の距離の情報、言い換えればシーンについての深度情報を提供する。セグメントは、セグメント化手段１１によって決定される、セグメント化された表面を示す。このようにして、セグメント化手段１１は、組織化されたポイントクラウドジェネレータ２によってビューされるシーンを別個の物体へと分解し、さらにそれらの物体の別個の表面へと分解する。
【００９６】
以下の説明では、簡単にするために、ステップＳ９０１は、組織化されたポイントクラウドのセグメントを生成するために利用されることが仮定される。しかしながら、ステップＳ９０１が使用される必要はなく、代わりに、組織化されたポイントクラウドジェネレータによって生成されるシーン全体は、単一のセグメント／セグメント化された表面として扱われてよい。このようにして、ロボットシステム３にとって妥当な把持ポイントが、依然として生成され得るが、ステップＳ９０１によって提供される特徴である容器４内の別個の物体間の違いはない。
【００９７】
ステップＳ９０２では、表面計算手段１２は、組織化されたポイントクラウドジェネレータ２から組織化されたポイントクラウドを受け取り、組織化されたポイントクラウドのシーンについての情報を計算する。特に、表面計算手段１２は、組織化されたポイントクラウドの法線と、組織化されたポイントクラウドの主曲率とを計算する。任意選択で、表面計算手段１２は、平滑化された組織化されたポイントクラウドをさらに計算する。
【００９８】
以下の説明では、簡単にするために、ステップＳ９０２は、滑らかな組織化されたポイントクラウドを生成するために利用されることが仮定される。しかしながら、滑らかな組織化されたポイントクラウドは生成される必要はなく、代わりに、生成された、滑らかでない組織化されたポイントクラウドが使用され、把持ポイントの生成のために十分に滑らかであるように扱われてよい。滑らかでない組織化されたポイントクラウドを使用することは、依然として、ロボットシステム３にとって妥当な把持ポイントを生成するが、いくつかの例では、そうでなければ滑らかにされるであろう、組織化されたポイントクラウド内のアーチファクトが存在することがある。
【００９９】
ステップＳ９０３では、把持ポイント計算手段１３は、セグメント化手段１１によって生成された任意選択のセグメントと、表面計算手段１２によって計算されたシーンについての情報とを受け取る。受け取られた情報に基づいて、把持ポイント計算手段１１は、容器４から少なくとも１つの物体を把持するために、ロボットシステムの吸着カップエンドエフェクタのための把持ポイントを計算する。
【０１００】
いくつかの例では、把持ポイント計算手段１３は、把持ポイントを計算することが不可能である。この状況では、方法は、以下のステップの一方または両方を実行する。方法は、容器４が空であるという標識を生成する、および／または、セグメント化手段１１によって生成された少なくとも１つのセグメントを無視して把持ポイントを再計算する。言い換えれば、把持ポイント計算は、セグメント化手段１１から受け取られた情報のすべてがない状態で再び実行される。
【０１０１】
要約すると、第１の実施形態の説明から、把持ポイント計算が、セグメント化された表面（セグメント）についての関連情報、特に、ポイントクラウドの法線、平滑化された組織化されたポイントクラウド、および計算された組織化されたポイントクラウドの主曲率に基づいて実行されることが理解される。このようにして、吸着エンドエフェクタは、たとえば、良好な把持が達成されることを保証するために最小限に湾曲したセグメント上の位置を把持するために最適に配設されたセグメント上で動作するように構成される。
【０１０２】
図１０は、図２に示されるセグメント化手段１１によって実行されるプロセスを示す。特に、フローチャートは、入力された組織化されたポイントクラウド情報に基づいたセグメントの生成を示す。
【０１０３】
図１０を参照すると、ステップＳ１００１では、セグメント化手段１１は、組織化されたポイントクラウドジェネレータ２から組織化されたポイントクラウドを受け取る。セグメント化手段１１は、組織化されたポイントクラウドの法線と、任意選択の平滑化されたポイントクラウドと、組織化されたポイントクラウドの第１の導関数および第２の導関数と、組織化されたポイントクラウドの主曲率と、組織化されたポイントクラウドに基づいた信頼度マップとを計算する。一実装形態では、ステップＳ１００１は、所定の半径の組織化されたポイントクラウドウィンドウの１次元スライスに多項式を適合させることによって組織化されたポイントクラウドの性質を計算する。
【０１０４】
ステップＳ１００２では、セグメント化可能な画像が、ステップＳ１００１において計算された情報に基づいて計算される。セグメント化可能な画像は、ポイントクラウドの谷を強調する２値画像であってよい。一実装形態では、セグメント化可能な画像は、３つの画像のピクセルごとの積として計算されることがある。より具体的には、３つの画像は、最大主曲率画像の等化された否定、深度マップ勾配ノルム画像の等化された否定、および信頼度マップのピクセルごとの累乗であってよい。最大主曲率画像の等化された否定は、ポイントクラウドの谷内のゼロに近い値と、ピークにおける１に近い値とを有する画像であってよい。深度マップ勾配ノルムの等化された否定は、急な表面上のゼロに近い値と、水平表面上の１に近い値とを有する画像であってよい。
【０１０５】
ステップＳ１００３では、セグメント化可能な画像内のピクセル値を所定の閾値と比較することによって、シードセグメントが、セグメント化可能な画像に基づいて生成される。ステップＳ１００３はまた、合致した表面を保証するために生成されたシードセグメント内のギャップを埋める。いくつかの実施形態では、ステップＳ１００３の出力は、把持ポイント計算を実行するためにセグメントとして使用される。
【０１０６】
任意選択のステップＳ１００４は、各セグメントのための境界を画定するように、マスクに基づいて、シード化されたセグメントを制限するために実行されることがある。ステップＳ１００４は、各シード化されたセグメントがそれを越えて成長できないセグメントの境界に制限を課す。
【０１０７】
任意選択のステップＳ１００５が実行されることがある。ステップＳ１００５では、シード化された（および任意選択で制限された）セグメントが成長させられる。特に、セグメントは、ピクセルがもはやセグメントのすべてに追加できなくなるまで成長させられる。
【０１０８】
任意選択のステップＳ１００６が実行されることがある。ステップＳ１００６では、成長させられたセグメントが、適切な場合にはマージされる。特に、セグメントは、２つの条件が満たされたとき、マージされる。より具体的には、第１の条件は、２つの成長させられたセグメント間のインターフェースの長さと２つの成長させられたセグメントの周囲の長さとの比が所定の閾値よりも大きいとき、満たされる。第２の条件は、インターフェースに沿った画像値の分布が、セグメントの両方における画像値の分布に類似しているとき、満たされる。
【０１０９】
要約すると、方法Ｓ１０００は、有利には、組織化されたポイントクラウドについての情報、具体的には、組織化されたポイントクラウドの第１の導関数および第２の導関数および主曲率に基づいて、組織化されたポイントクラウドのセグメンテーションを実行する。これは、より効率的なセグメンテーションをもたらす。
【０１１０】
図１１は、図３に示される表面計算手段１２によって実行されるプロセスを示す。特に、フローチャートは、入力された組織化されたポイントクラウド情報の導関数、信頼度マップ、主曲率、および法線の生成を示す。
【０１１１】
図１１を参照すると、ステップＳ１１０１では、表面計算手段１２は、容器４の下部表面の法線の標識とともに、組織化されたポイントクラウドジェネレータ２によって生成された組織化されたポイントクラウドを受け取る。表面計算手段１２は、組織化されたポイントクラウドの導関数と信頼度マップとを計算する。Ｓ１１０１非限定的な一実装形態では、Ｓ１１０１は、各ウィンドウが所定の半径である重複ウィンドウへとさらに分割された、組織化されたポイントクラウドの１次元スライスを適合する。
【０１１２】
ステップＳ１１０２では、計算された導関数および信頼度マップは、主曲率と法線とを計算するために使用される。特に、主曲率は、各点の法線および第１基本形式に基づいて計算される。
【０１１３】
要約すると、方法Ｓ１１００は、組織化されたポイントクラウドのさまざまな性質、特に、組織化されたポイントクラウドから決定される表面の性質を計算する。
【０１１４】
図１２は、図４に示される把持ポイント計算手段１３によって実行されるプロセスを示す。特に、フローチャートは、入力セグメントと組織化されたポイントクラウドの信頼度マップ、主曲率、法線、容器４の底部表面の法線などのセグメントの表面の性質とに基づいた、把持ポイントの生成を示す。
【０１１５】
図１２を参照すると、ステップＳ１２０１では、把持ポイント計算手段１３は、セグメント化手段１１によって生成されたセグメントと、表面計算手段１２によって計算された組織化されたポイントクラウドの性質とを受け取る。受け取られた情報に基づいて、Ｓ１２０２は、半径が吸着エンドエフェクタの半径よりも大きいセグメントを選択する。このようにして、小さいセグメントが破棄される、言い換えれば、吸着カップエンドエフェクタを支持することが不可能であるセグメントが破棄される。
【０１１６】
ステップＳ１２０２では、半径が選択されたセグメントが受け取られる。半径が選択されたセグメント内の組織化されたポイントクラウドの点は、さまざまな条件が合致されたとき、選択される。特に、把持ポイント候補として知られる各点は、Ｓ１１００において計算された表面の性質に基づいて計算される。それによって、Ｓ１２０２は、条件に合致する把持ポイント候補を、それらがあるセグメントとともに、両方とも出力する。
【０１１７】
ステップＳ１２０３では、Ｓ１２０２から出力されたセグメントが、セグメントのサイズおよびその容器の下部表面からの距離に基づいて選択される。この点に関して、容器の下部表面からの距離は、組織化されたポイントクラウドジェネレータ２からの距離の補足物である。したがって、組織化されたポイントクラウドジェネレータ２により近い、したがって容器４の下部表面から最も遠い、セグメントを選択することが、有利である。さらに、所定の閾値よりも大きいサイズをもつセグメントが選択される。
【０１１８】
ステップＳ１２０４では、ステップＳ１２０３において選択されたセグメント内の把持ポイント候補が、近傍平坦度およびセグメントの重心からの把持ポイント候補の距離によってソートされる。一実装形態では、最大値をもつ把持ポイント候補が、ロボットシステム３のための把持ポイントとして選択される。
【０１１９】
要約すると、Ｓ１２００は、局所的平坦度のエリア内にあり、好ましくは、そのセグメント内の重心場所に近い、把持ポイントを選択する。さらに、ステップＳ１２０２により、把持ポイントは、セグメントの縁からの距離およびロボットシステム３に対する角度などの、さまざまな条件に合致する。
【０１２０】
図１３は、図５に示される半径選択手段１３１によって実行されるプロセスを示す。特に、フローチャートは、入力セグメントと信頼度マップ、主曲率、および法線などのセグメントの表面の性質とに基づいた、半径が選択されたセグメントの生成を示す。
【０１２１】
図１３を参照すると、ステップＳ１３０１では、半径選択手段１３１は、表面計算手段１２によって決定されたセグメントの表面についての情報とともに、セグメントを受け取る。この情報に基づいて、ステップＳ１３０１は、各セグメント内の重心つまりセグメントの表面上の、セグメント内のすべての点に最も近い点の場所を見つけ、距離は、セグメントの表面上で測定される。一代替実施形態では、重心は、セグメントポイントの平均に最も近いセグメントポイントとして近似される。この近似は、より効率的に算出可能であるが、セグメントが非常に湾曲しているとき、不正確な結果を与える。
【０１２２】
ステップＳ１３０２では、セグメントの重心と、セグメントの境界上の、重心に最も遠い点との間の距離が計算される。この距離は、セグメントのエリアを示す。
【０１２３】
ステップＳ１３０３では、Ｓ１３０２において計算された距離が、吸着カップエンドエフェクタの既知の半径と比較される。特に、セグメントは、Ｓ１３０２において計算された距離が吸着カップエンドエフェクタの既知の半径よりも大きいとき、選択される。そうでない場合、セグメントは破棄される。
【０１２４】
要約すると、Ｓ１３００は、吸着カップエンドエフェクタによる把持をサポートするのに成功するには小さすぎるセグメントを除去する。代わりに、Ｓ１３００は、吸着カップエンドエフェクタを支持するのに十分な半径をもつセグメントを選択する。
【０１２５】
図１４は、図６に示される候補計算手段１３２によって実行されるプロセスを示す。特に、フローチャートは、入力された半径が選択されたセグメントに基づいた、把持ポイント候補およびそれらの関連付けられたセグメントの生成を示す。
【０１２６】
図１４を参照すると、ステップＳ１４０１では、主曲率閾値が、ステップＳ１４０１から受け取られた半径が選択されたセグメント内の把持ポイント候補のすべてに対して計算される。特に、閾値は、セグメントのすべての主曲率ノルムの特定のパーセンタイルに基づいて計算される。
【０１２７】
ステップＳ１４０２では、把持ポイント候補上での点ごとの動作が実行される。特に、把持ポイント候補は、いくつかの条件が満たされるとき、ステップＳ１４０３のために選択される。特に、把持ポイント候補の、それがあるセグメントの境界までの距離は、所定の閾値よりも大きい。さらに、把持ポイント候補の主曲率ノルムは、ステップＳ１４０１において計算された閾値よりも小さい。把持ポイント候補の法線と容器４の下部表面の法線との間の角度は、所定の閾値よりも小さい。さらに、把持ポイント候補の、そのセグメントの重心に対する距離は、所定の閾値よりも小さい。理解されるように、これらの条件の任意の組み合わせが実施されてよく、いくつかは、機器の特定のセットアップに応じて実行されなくてよい。実施される条件を満たさない把持ポイント候補は破棄される。
【０１２８】
実施される条件により、特定のセグメント内の把持ポイント候補が残ることがあることも諒解されたい。したがって、把持ポイント候補を含まないセグメントは破棄される。
【０１２９】
ステップＳ１４０３では、Ｓ１４０２によって選択された各セグメントの重心と表面上で測定されるその境界点との間の距離の最小値が計算される。
【０１３０】
ステップＳ１４０４では、Ｓ１４０３において計算された距離の平均が決定される。好ましい一実施形態では、距離は、中央値として計算される。
【０１３１】
ステップＳ１４０５では、計算された距離が、Ｓ１４０４において計算された平均に所定の値が乗算されたものよりも小さいセグメントが、選択される。このようにして、異常に大きいとみなされるセグメントが破棄され、適当なサイズであるとみなされるセグメントが選択される。このようにして、過度に大きいセグメントの生成を引き起こす組織化されたポイントクラウド内のアーチファクトが効果的に軽減される。
【０１３２】
ステップＳ１４０６では、ステップＳ１４０５において選択されたセグメント内の把持ポイント候補の法線と容器４の下部表面の法線との間の角度が計算される。
【０１３３】
ステップＳ１４０７では、角度閾値が、ステップＳ１４０６において計算された角度に基づいて計算される。
【０１３４】
ステップＳ１４０８では、計算された角度がステップＳ１４０７において計算された角度閾値よりも小さいセグメントが選択される。このようにして、選択されたセグメントのすべてに対して傾斜である表面が破棄される。そうでない場合、セグメントが、それらの選択されたセグメント内で選択された把持ポイント候補とともに選択される。
【０１３５】
要約すると、Ｓ１４００は、半径が選択されたセグメントから、把持ポイント候補のためのそれらのオプションを効果的に選択する。このようにして、選択された把持ポイント候補は、吸着カップエンドエフェクタを介して把持を効果的にする場所内にあり、そのような角度をなす。
【０１３６】
図１５は、図７に示されるサイズおよび高さ選択手段１３３によって実行されるプロセスを示す。特に、フローチャートは、入力された把持ポイント候補およびそれらの関連付けられたセグメントに基づいた、高さおよびサイズが選択されたセグメントの生成を示す。
【０１３７】
図１５を参照すると、ステップＳ１５０１では、サイズおよび高さ選択手段１３３は、候補計算手段１３２から、把持ポイント候補と、それらがあるセグメントとを受け取る。ステップＳ１５０１は、各受け取られたセグメントに対する容器の下部表面からの平均距離を計算する。好ましい一実施形態では、平均は、中央値として計算される。
【０１３８】
ステップＳ１５０２では、ステップＳ１５０１において各セグメントに対して計算された平均に基づいて、ステップＳ１５０２は、すべての受け取られたセグメントに対する平均を計算する。
【０１３９】
ステップＳ１５０４では、サイズおよび高さ選択手段１３３は、各受け取られたセグメントに対する平均サイズを計算する。
【０１４０】
ステップＳ１５０５では、高さおよびサイズ選択手段１３３は、ステップＳ１５０４から受け取られたセグメントに基づいて、セグメントのすべての平均を計算する。好ましい一実施形態では、平均は、中央値として計算される。
【０１４１】
ステップＳ１５０６では、サイズおよび高さ選択手段１３３は、容器４の下部表面からの平均距離がセグメントのすべてに対して、計算された平均距離のパーセンタイルよりも大きい／セグメント、および／またはセグメントのすべてに対して平均サイズが計算された平均サイズに所定の係数が乗算されたものの所定のパーセンタイルよりも大きいセグメントを選択する。
【０１４２】
このようにして、選択されたセグメントは、容器４内の選択されたセグメントの高さの所定のパーセンタイルおよび／または容器４内の選択されたセグメントのサイズに所定の係数が乗算されたものの所定のパーセンタイルである。
【０１４３】
図１６は、図８に示されるソーティング手段１３４によって実行されるプロセスを示す。特に、フローチャートは、入力された高さおよびサイズが選択されたセグメントに基づいた把持ポイントの生成を示す。
【０１４４】
図１６を参照すると、ステップＳ１６０１では、ソーティング手段１３４が、高さおよびサイズが選択されたセグメントを、候補計算手段１３２によって計算された選択されたセグメント内にある把持ポイント候補とともに受け取る。ソーティング手段１３４は、把持ポイント候補のサブセットを使用して、平坦度評価値を決定する。把持ポイント候補のサブセットが、互いから可能な限り離れ、各セグメント内の把持ポイント候補のランダムサンプリングを備えるように生成される。把持ポイント候補サブセット内の各点に対する平坦度評価値が、セグメント内の各点における主曲率ノルム、および把持ポイント候補とセグメントポイントとの間の距離に基づいて生成される。距離は、把持ポイント候補からセグメントポイントまでの３次元距離として計算されてもよいし、セグメントの表面上の距離として計算されてもよい。したがって、平坦度評価値が、各把持ポイント候補に対して、その局所的エリアの平坦度に基づいて生成される。
【０１４５】
ステップＳ１６０２では、ステップＳ１６０１において計算された平坦度評価値の分布が、これらの評価値の影響が小さくならないまたは重み付けステップＳ１６０３によって小さくされないように、候補把持ポイントサブセットのすべてに対して調整される。
【０１４６】
ステップＳ１６０３では、等化された平坦度評価値は、把持ポイント候補の、それがあるセグメントの重心までの距離に対して重み付けされる。
【０１４７】
ステップＳ１６０４では、重み付けされた平坦度評価値がソートされ、最大評価値をもつ把持ポイント候補が、ロボットシステム３のための把持ポイントとして選択される。
修正および変形
多数の修正および変形が、本発明の範囲から逸脱することなく、上記で説明された実施形態に加えられ得る。
【０１４８】
理解されるように、容器４は、いくつかの異なる形態で想定され得る。たとえば、容器４は、トートまたは運搬箱であってよい。容器４は、物体を格納するための手段にすぎず、一般的には壁を有するが、いくつかの例では、これは当てはまらない。たとえば、含まれることになる物体が略平坦であり、容易に積み重なる場合、壁は必要とされる必要はなく、したがって、容器４は、ロボットシステム３によって把持されることになる物体を積み重ねるパレットである。パレットの形態では、説明全体を通して参照される容器４の下部表面のみが存在し、壁はそれから延びない。したがって、容器４は、少なくとも１つの物体を格納するように構成された任意の格納手段であると想定される。
【０１４９】
半径選択手段１３１およびステップＳ１２０１に関して、本発明者らは、半径選択手段１３１およびステップＳ１２０１とは異なり、把持するには細すぎる凸状セグメントと把持するのに十分なほど大きい領域と把持するには細すぎる領域の両方を有する凹状セグメントとを区別することが可能である代替実装形態も考えた。代替実装形態では、セグメント表面上で境界点から重心までの距離を測定する代わりに、各セグメントポイントからセグメントの最も近い境界点までの距離が、代わりにセグメント表面上で測定され、セグメントは、これらの距離の最大値が吸着カップエンドエフェクタ半径よりも小さいとき、破棄される。
【０１５０】
把持ポイント計算手段１３は、指定された順序での１つのユニットから別のユニットへの動作の直線的なフローとともに説明されてきたが、本発明者らは、動作の順序が、多数の異なる組み合わせで、実装形態の選定に応じてわずかな変更とともに、実行可能であることを想定する。たとえば、図４は、候補計算手段の前の半径選択手段を示す。しかしながら、半径選択手段が候補計算手段の後で実行されてもよいことが想定される。同様に、サイズおよび高さ選択手段は、半径選択手段の前に実行されてもよい。理解されるように、把持ポイント候補の選択に関する動作の順序は限定されず、適切に好都合である任意の順序が想定される。
【０１５１】
さらに、ソーティング手段１３４は、重み付けされた等化された平坦度評価値によってソートするように構成される。これは１つのオプションであるが、異なる基準によってソートし、別の手段において重み付けされた等化された平坦度評価値を用いることも等しく可能である。たとえば、ソーティング手段１３４は、最も高い重み付けされた等化された平坦度評価値をもつ把持ポイント候補を選択するように構成されることがある。非限定的な一例では、候補選択手段１３２は、各把持ポイント候補に対する重み付けされた等化された平坦度評価値を決定し、次いで、重み付けされた等化された平坦度評価値を所定の閾値と比較するようにさらに構成されてもよい。所定の閾値は、絶対閾値であってもよいし、セグメントのすべての組み合わされた重み付けされた等化された平坦度評価値のパーセンタイルに基づいた相対閾値であってもよい。このようにして、平均的な重み付けされた等化された平坦度評価値のあるパーセンタイルよりも大きい重み付けされた等化された平坦度評価値をもつ把持ポイント候補が、保持するべき把持ポイント候補として選択されることがある。代替として、所定の閾値は、各セグメントの平均的な重み付けされた等化された平坦度評価値に基づいてもよい。このようにして、高い平均的な重み付けされた等化された平坦度評価値をもつセグメントが保持されてもよく、残りは破棄されてもよい。この場合、絶対閾値が使用されるとき、絶対閾値は平均と比較される。
【０１５２】
さらに、サイズおよび高さ選択手段１３２は、サイズまたは高さに基づいたセグメントの選択を実行しないように構成されてもよい。代わりに、サイズおよび高さ選択手段１３２は、含むセグメントのサイズの正規化された尺度と把持ポイント候補の高さの正規化された尺度の和に従って各把持ポイント候補を格付けするように構成されてもよい。正規化は、前述のように、ヒストグラム等化によって実行されてもよく、和のサイズの項および高さの項の相対的寄与は、重み付け係数によって制御されてもよい。次いで、ソーティング手段は、大きいセグメント内のより低い把持ポイントと、小さいセグメント内の高い把持ポイントも可能にしながら、大きいセグメント内の高い点を選ぶように、最も高いランクをもつ把持ポイント候補を選択するように構成されてもよい。理解されるように、この例では、平坦度評価値が、ソーティング手段１３４とは異なる手段において、ソーティングなしで実行され、ソーティングは高さに基づいて実行された。わかるように、本発明者らは、上記で説明された動作の順序と異なる動作の順序を想定していた。しかしながら、有利には、平坦度評価値計算は計算コストが最も高いので、平坦度評価値計算は最も少ない把持ポイント候補上で最も良く実行されるので、説明全体を通して説明される動作の順序は、計算コストがあまり高くない動作を提供する。したがって、本発明者らは、ソーティング手段１３４における把持ポイント計算の終了時は最も少ない把持ポイント候補が残る場所であり、多数の把持ポイント候補は、半径選択手段１３１、候補計算手段１３２、ならびにサイズおよび高さ選択手段１３３によって破棄されているので、このときに平坦度評価値計算を実施する。
【０１５３】
一例では、第１の実施形態のコントローラ１、組織化されたポイントクラウドジェネレータ２、およびロボットシステム３は、同じ製品である多数の物体を含む容器から多数の異なる製品を備える顧客のためのショッピングを含む別の容器へと物体を移動させるように構成された食料雑貨ショッピング包装システム内で実施されることがある。
【０１５４】
オンライン食料雑貨店およびスーパーマーケットなどの複数の製品ラインを販売するオンライン小売企業は、数万または数十万の異なる製品ラインですら格納することが可能であるシステムを必要とする。そのような場合における単一製品スタックの使用は、必要とされるスタックのすべてを収容するために非常に大きな床面積が必要とされるので、実際的でないことがある。そのうえ、単一製品スタックを非効率的な解決策にする、生鮮食品または頻繁に注文されない商品などの少量のいくつかの品物のみを格納することが望ましいことがある。
【０１５５】
その内容が参照により本明細書に組み込まれる国際特許出願ＷＯ  ９８／０４９０７５Ａ（Ａｕｔｏｓｔｏｒｅ）は、容器の複数製品スタックがフレーム構造内に配置されるシステムを記載したものである。
【０１５６】
ＰＣＴ公報第ＷＯ２０１５／１８５６２８Ａ号（Ｏｃａｄｏ）は、ビンまたは容器のスタックがフレームワーク構造内に配置されるさらなる既知の格納および履行システムを記載したものである。ビンまたは容器は、フレーム構造の上に設置されたトラック上で動作可能である負荷ハンドリングデバイスによってアクセスされる。負荷ハンドリングデバイスは、スタックからビンまたは容器を持ち上げ、複数の負荷ハンドリングデバイスは、スタックの最も低い位置に設置されたビンまたは容器にアクセスするために協働する。このタイプのシステムは、添付の図面の図１７から図２０において概略的に示されている。
【０１５７】
図１７および図１８に示されるように、ビン５０として知られる積み重ね可能な容器は、スタック５２を形成するために互いの上に積み重ねられる。スタック５２は、倉庫または製造環境内のグリッドフレームワーク構造５４内に配置される。図１７はフレームワーク構造５４の概略斜視図であり、図１８は、フレームワーク構造５４内に配置されたビン５０のスタック５２を示す上面図である。各ビン５０は、一般的には、複数の製造物品（図示せず）を保持し、ビン５０内の製造物品は、適用例に応じて、同一であってもよいし、異なる製品タイプであってもよい。
【０１５８】
フレームワーク構造５４は、水平部材５８、２０を支持する複数の垂直部材５６を備える。平行な水平部材５８の第１のセットは、垂直部材５６によって支持される複数の水平グリッド構造を形成するために、平行な水平部材２０の第２のセットに垂直に配置される。部材５６、５８、２０は、一般的には、金属から製造される。ビン５０は、フレームワーク構造５４がビン５０のスタック５２の水平移動からガードし、ビン５０の垂直移動をガードするように、フレームワーク構造５４の部材５６、５８、２０の間に積み重ねられる。
【０１５９】
フレーム構造５４の上部レベルは、スタック５２の上部にわたってグリッドパターンで配置されたレール２２を含む。追加として図１９および図２０を参照すると、レール２２は、複数のロボット負荷ハンドリングデバイス３０を支持する。平行なレール２２の第１のセット２２ａは、フレーム構造５４の上部にわたる第１の方向（Ｘ）における負荷ハンドリングデバイス３０の移動を案内し、第１のセット２２ａに垂直に配置された、平行なレール２２の第２のセット２２ｂは、第１の方向に垂直な第２の方向（Ｙ）における負荷ハンドリングデバイス３０の移動を案内する。このようにして、レール２２は、負荷ハンドリングデバイス３０がスタック５２のいずれかの上方の位置に移動可能であるように、水平Ｘ−Ｙ平面内で２次元において側方に負荷ハンドリングデバイス３０の移動を可能にする。
【０１６０】
負荷ハンドリングデバイス３０の一形態は、その内容が参照により本明細書に組み込まれるノルウェー特許第３１７３６６号においてさらに説明される。図１９ａおよび図１９ｂは、ビン５０を置く負荷ハンドリングデバイス３０の概略断面図であり、図１９ｃは、ビン５０を持ち上げる負荷ハンドリングデバイス３０の概略正面斜視図である。しかしながら、本明細書において説明されるシステムと組み合わせて使用され得る他の形態の負荷ハンドリングデバイスがある。たとえば、さらなる形態のロボット負荷ハンドリングデバイスは、参照により本明細書に組み込まれるＰＣＴ特許公報第ＷＯ２０１５／０１９０５５号（Ｏｃａｄｏ）に記載されており、この特許公報では、各ロボット負荷ハンドラがフレームワーク構造の１つのグリッド空間のみをカバーし、したがって、より高い密度の負荷ハンドラを可能にし、したがって、所与のサイズのシステムに対するより高いスループットを可能にする。
【０１６１】
各負荷ハンドリングデバイス３０は、スタック５２の上方に、フレーム構造５４のレール２２上でＸ方向およびＹ方向に走行するように構成された運搬手段３２を備える。運搬手段３２の前面上のホイール３４のペアおよび運搬手段３２の後面上のホイール３４のペアからなるホイール３４の第１のセットは、レール２２の第１のセット２２ａの２つの隣接するレールと係合するように構成される。同様に、運搬手段３２の両側にあるホイール３６のペアからなるホイール３６の第２のセットは、レール２２の第２のセット２２ｂの２つの隣接するレールと係合するように構成される。ホイール３４、３６の各セットは、ホイール３４の第１のセットまたはホイール３６の第２のセットのいずれかがレールのそれぞれのセット２２ａ、２２ｂといつでも係合されるように、持ち上げ、低下させられ得る。
【０１６２】
ホイール３４の第１のセットがレールの第１のセット２２ａと係合され、ホイール３６の第２のセットがレール２２から明らかに持ち上げられるとき、ホイール３４は、Ｘ方向に負荷ハンドリングデバイス３０を移動させるために、運搬手段３２内に収納される駆動機構（図示せず）によって駆動可能である。Ｙ方向に負荷ハンドリングデバイス３０を移動させるために、ホイール３４の第１のセットはレール２２から明らかに持ち上げられ、ホイール３６の第２のセットは、低下させられてレールの第２のセット２２ａと係合する。次いで、駆動機構は、Ｙ方向に移動を達成するようにホイール３６の第２のセットを駆動するために使用可能である。
【０１６３】
負荷ハンドリングデバイス３０は、リフティングデバイスを装備する。リフティングデバイス４０は、４つのケーブル３８によって負荷ハンドリングデバイス３２の本体から吊設されたグリッパプレート３９を備える。ケーブル３８は、運搬手段３２内に収納される巻き機構（図示せず）に接続される。ケーブル３８は、運搬手段３２に対するグリッパプレート３９の位置がＺ方向に調整可能であるように、負荷ハンドリングデバイス３２内にまたはこれから巻かれることが可能である。
【０１６４】
グリッパプレート３９は、ビン５０の上部と係合するように適合される。たとえば、グリッパプレート３９は、ビン５０の上部表面を形成するリム内の対応する穴（図示せず）と嵌合するピン（図示せず）と、ビン５０を握持するためにリムと係合可能である摺動クリップ（図示せず）とを含むことがある。クリップは、グリッパプレート３９内に収納された適切な駆動機構によってビン５０と係合するために駆動され、ケーブル３８自体を通して、または別個の制御ケーブルを通して（図示せず）伝達される信号によって、給電および制御される。
【０１６５】
スタック５２の上部からビン５０を除去するために、負荷ハンドリングデバイス３０は、グリッパプレート３９がスタック５２の上方に位置決めされるように、必要に応じてＸ方向およびＹ方向に移動させられる。次いで、グリッパプレート３９は、図１９ｃに示されるように、スタック５２の上のビン５０と係合するためにＺ方向に垂直に低下させられる。グリッパプレート３９は、ビン５０を握持し、次いで、ビン５０が取り付けられた状態でケーブル３８の上で上方へ引っ張られる。その垂直走行の最上部で、ビン５０が、運搬手段本体３２内に収容され、レール２２のレベルの上方に保持される。このようにして、負荷ハンドリングデバイス３０は、ビン５０を別の場所に搬送するために、それとともにビン５０を運んでＸ−Ｙ平面内の異なる位置に移動可能である。ケーブル３８は、負荷ハンドリングデバイス３０が、床レベルを含むスタック５２の任意のレベルからビンを取り出して配設することを可能にするのに十分なほど長い。運搬手段３２の重量は、ホイール３４、３６のための駆動機構に給電するために使用されるバッテリの一部を備えることがある。
【０１６６】
図２０に示されるように、システムのスループットを増加させるように各負荷ハンドリングデバイス３０が同時に動作することができるように、複数の同一の負荷ハンドリングデバイス３０が用意される。図２０に示されるシステムは、ビン５０がシステムへとまたはそれから移送可能である、ポートとして知られる、特定の場所を含むことがある。追加のコンベアシステム（図示せず）は、負荷ハンドリングデバイス３０によってポートに搬送されたビン５０がコンベアシステムによって別の場所に、たとえばピッキングステーション（図示せず）に移送可能であるように、各ポートと関連付けられる。同様に、ビン５０は、コンベアシステムによって外部場所からポートに、たとえば、ビン充填ステーション（図示せず）に移動され、システム内のストックを補充するために負荷ハンドリングデバイス３０によってスタック５２に搬送可能である。
【０１６７】
ピッキングステーションは、コントローラ１によって制御されるように構成されたロボットシステム３を備え得る。この点に関して、組織化されたポイントクラウドジェネレータ２は、ピッキングステーションの適切な場所内に設置され得る。ロボットシステム３は、負荷ハンドリングデバイス３０によってピッキングステーションに移動させられた第１の容器から品物を抜き取るように構成され得る。抜き取らされた品物は、同じく負荷ハンドリングデバイス３０によってピッキングステーションに移動させられた第２の容器へと再設置され得る。次いで、第１の容器および第２の容器の各々が、負荷ハンドリングデバイス３０によってスタック５２内に再格納され得る。このようにして、ある容器から別の容器への物体の自動化された再設置は、自動化された倉庫において遂行される。上記の例はピッキングステーションに関係しているが、容器内に設置された屑の除去を必要とするステーションなどの、格納システムに関して使用される他のステーションも使用されてよいことが理解されるであろう。そのような屑は、容器からロボットシステム３によって自動的に削除され得る。
【０１６８】
各負荷ハンドリングデバイス３０は、一度に１つのビン５０を持ち上げ、移動させることができる。スタック５２の上に設置されていないビン１０ｂ（「ターゲットビン」）を取り出すことが必要である場合、上にあるビン５０ａ（「非ターゲットビン」）が、ターゲットビン１０ｂへのアクセスを可能にするために最初に移動されなければならない。これは、以下で「掘削」と呼ばれる動作で達成される。
【０１６９】
図２０を参照すると、掘削動作中、負荷ハンドリングデバイス３０のうちの１つが、ターゲットビン５０ｂを含むスタック５２から各非ターゲットビン５０ａを順次持ち上げ、それを別のスタック５２内の空いている位置に配設する。次いで、ターゲットビン５０ｂが、負荷ハンドリングデバイス３０によってアクセスされ、さらなる搬送のためにポートに移動可能である。
【０１７０】
負荷ハンドリングデバイス３０の各々は、中央コンピュータの制御下にある。システム内の各個々のビン５０は、適切なビン５０が必要に応じて取り出され、搬送され、交換可能であるように、追跡される。たとえば、掘削動作中、非ターゲットビン５０ａの各々の場所は、非ターゲットビン５０ａが追跡可能であるように、ログ記録される。
【０１７１】
図１７〜図２０を参照して説明されたシステムは、多数の利点を有し、広範囲の格納動作および取り出し動作に適している。特に、このシステムは、非常に高密度の製品の格納を可能にし、ピッキングのために必要とされるときビン５０のすべてへの合理的に経済的なアクセスを可能にしながら、ビン５０内の非常に大きい範囲の異なる品物を格納する非常に経済的なやり方を提供する。
【０１７２】
しかしながら、そのようなシステムに関するいくつかの短所があり、これらの短所はすべて、ターゲットビン５０ｂがスタック５２の上部にないときに実行されなければならない、上記で説明された掘削動作から生じる。
【０１７３】
本発明の実施形態の前述の説明は、図示および説明の目的で提示されてきた。この説明は、網羅的であることを意図したものでもないし、開示された正確な形式に本発明を限定することを意図したものでもない。修正および変形は、本発明の趣旨および範囲から逸脱することなく、加えられ得る。
【図１】
2021503651.tif 000003
【図２】
2021503651.tif 000004
【図３】
2021503651.tif 000005
【図４】
2021503651.tif 000006
【図５】
2021503651.tif 000007
【図６】
2021503651.tif 000008
【図７】
2021503651.tif 000009
【図８】
2021503651.tif 000010
【図９】
2021503651.tif 000011
【図１０】
2021503651.tif 000012
【図１１】
2021503651.tif 000013
【図１２】
2021503651.tif 000014
【図１３】
2021503651.tif 000015
【図１４】
2021503651.tif 000016
【図１５】
2021503651.tif 000017
【図１６】
2021503651.tif 000018
【図１７】
2021503651.tif 000019
【図１８】
2021503651.tif 000020
【図１９ａ】
2021503651.tif 000021
【図１９ｂ】
2021503651.tif 000022
【図１９ｃ】
2021503651.tif 000023
【図２０】
2021503651.tif 000024
【国際調査報告】
2021503651.tif 000025
2021503651.tif 000026
2021503651.tif 000027