ロボットグリッパーで物体を扱うことに関するシステム及び方法
【課題】グリップ条件や掴まれる物体の振る舞いを決定し、その物体の振る舞いに基づいてグリッパーを制御する。
【解決手段】グリッパーで物体を扱うことに関するシステムは、グリッパーにより扱われる物体の位置を表す空間分布データを測定するように構成されたセンサを備えている。システムは、物体の振る舞いを決定するように構成された計算ユニットを更に備えている。
【解決手段】グリッパーで物体を扱うことに関するシステムは、グリッパーにより扱われる物体の位置を表す空間分布データを測定するように構成されたセンサを備えている。システムは、物体の振る舞いを決定するように構成された計算ユニットを更に備えている。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]本開示は、概して、ロボットグリッパーで物体を扱うことに関するシステム及び方法に関する。
【背景技術】
【0002】
[0002]現在使用されているシステム及び方法は、グリッパーで物体を扱うときに、グリップ条件や物体の振る舞いを十分には決定しない。掴まれた物体の振る舞いの特定の知識は、組み立て作業を達成するようグリッパーを制御するときに、有用である。故に、今日まで、工業界には、上述の欠如や不十分性を考慮するという、検討されていない必要性が存在している。
【発明の概要】
【発明が解決しようとする課題】
【0003】
[0003]本開示の各種実施形態は、グリップ条件や掴まれる物体の振る舞いを決定し、その物体の振る舞いに基づいてグリッパーを制御するためのシステム及び方法を提供することにより、従来技術の欠点を克服している。
【課題を解決するための手段】
【0004】
[0004]一例の実施形態によれば、グリッパーにより物体を扱うことに関するシステムは、前記グリッパーにより扱われる物体の位置を表すパラメータの大きさを測定するように構成されたセンサを備えている。システムは、また、コンピュータ読み取り可能な命令を格納するためのメモリと、前記コンピュータ読み取り可能な命令を実行するためのプロセッサと含む計算ユニットを備えている。前記コンピュータ読み取り可能な命令は、前記センサで測定される空間的及び時間的な空間分布データの変換の関数であるベクトルフィールドを決定することを含む。前記コンピュータ読み取り可能な命令は、また、3次元並進ベクトル及び3次元回転ベクトルのうちの少なくとも一方で構成される物体の振る舞いを、前記ベクトルフィールドの関数として決定することを含む。
【0005】
[0005]以上は、本開示のいくつかの様相及び特徴を広く外郭化するものであり、その様相等は、各種潜在的な応用の中の単なる例であると解釈されるべきである。他の有益な結果は、開示された情報を異なる方法で適用することにより、又は開示された実施形態の各種様相を組み合わせることにより、得ることができる。しかして、他の様相や、より深い理解が、請求の範囲に加えて、添付の図面と併せて考慮された実施形態の詳細な説明を参照することにより、得られる。
【図面の簡単な説明】
【0006】
【図1】[0006]図1は、本開示の一例の実施形態による、物体の振る舞いを決定し、グリッパーを制御するためのロボットグリッパー及びシステムの概略図である。
【図2】[0007]図2は、物体と関わり合っているところの、図1のロボットグリッパーの平面図である。
【図3】[0008]図3は、図2におけるグリッパーと物体の間の接触点に関する空間分布圧力データのグラフである。
【図4】[0009]図4は、図3の空間分布データの動きに関するベクトルのグラフである。
【図5】[0010]図5は、図2の物体の平面図であり、図4のベクトルと、物体の振る舞いを表すベクトルを示している。
【図6】[0011]図6は、本開示の一例の実施形態による他の物体の斜視図である。
【図7】[0012]図7は、図6の物体と関わり合っているところの、図1のロボットグリッパーの平面図である。
【図8】[0013]図8は、空間分布データと、その空間分布データの動きに関するベクトルを示すグラフである。
【図9】[0014]図9は、物体と関わり合っているところの、他のロボットグリッパーの概略図である。
【図10】[0015]図10は、空間分布データと、その空間分布データの動きに関するベクトルを示すグラフである。
【図11】[0016]図11は、グリップ条件、又は物体の振る舞いを決定する方法の流れ図である。
【図12】[0017]図12は、グリッパーを制御するための命令を決定する方法の一例の流れ図である。
【発明を実施するための形態】
【0007】
[0018]要件に合うように、詳細な実施形態がここに開示される。ここで、開示される実施形態は、各種の形態及び他の形態や、それらの組み合わせとして具現化される教示の単なる一例であることを理解すべきである。ここで使用されるように、ごく“一例”は、イラスト、試料、モデル、又はパターンとして供される実施形態のことをいうべく、広く使用されている。図は、必ずしも同一縮尺ではなく、いくつかの特徴は、特定の部分の詳細を示すべく、誇張されていたり、縮小化されている。他の例においては、当業者によく知られている構成、システム、材料、又は方法は、本開示を曖昧にするのを避けるべく、詳細には記述されない。しかして、ここに開示された特定の構造的及び機能的詳細は、限定するものと解釈されるべきではなく、単に、請求の範囲の基礎であり、当業者への教示のための代表的な基礎として解釈されるべきである。
【0008】
[0019]ここで使用されるように、語句“グリッパー”は、ロボット把持のための、あるいは物体又は材料のグリップ又は扱いのための機器又はエンドエフェクターのことを言っている。ロボットグリッパーの範疇には、一般的に、衝撃的なもの、進入的なもの、収斂的なもの、及び近接的なものがある。衝撃的グリッパーには、物体を物理的に掴む顎又は爪がある。進入的グリッパーには、物体の表面を物理的に貫通するピン、針、又はハックルがある。進入的グリッパーは、布、カーボン、及びグラスファイバーの処理において使用される。収斂的グリッパーは、物体の表面に吸引力を与えるものであり、真空吸着、磁気吸着、電気吸着などがある。近接的グリッパーは、例えば、接着剤、表面張力、又は凍結等を使用して物体に接着する。語句“グリッパー”、“指”及び“手”は、相互交換的に使用できる。例としてのグリッパーには、ロボットグリッパー、平行顎グリッパー、Rutgers hand、Twendy-One hand、WillowGarage hand、RECOM-IIグリッパー、BarrettHand(登録商標)、DLR hand、NASA Robonaut hand、吸引カップ、フック、及びそれらの組み合わせ等がある。
【0009】
[0020]ここで使用されるように、語句“アクチュエータ”は、エネルギーを何らかの形の動き又は動作に変換する何らかの機器である。例としてのアクチュエータには、電気モータ、リレー、ソレノイド、ピエゾ素子、スマート材料、油圧ピストン、電気駆動ポリマー、及びそれらの組み合わせ等がある。
【0010】
[0021]ここで使用されるように、語句“センサ”及び“センサアレイ”には、限定するわけではないが、空間分布データを計測するように構成された機器又は機器の組み合わせがある。かかるセンサの活性化は、圧力、温度、電磁抵抗、近接性、色、画像、距離、及びそれらの組み合わせにより可能である。空間分布データは、時間経過に応じて収集されるので、そのデータストリームは、空間的及び時間的の双方の分布となる。語句“空間分布データ”は、センサ、又は物体上、もしくはグリッパーのグリップ面上の異なる位置のセンサアレイにより計測されたデータのことを言っている。例としてのセンサには、空間分布圧力システム、皮膚センサ、光学センサ、カメラ、赤外線センサ、電磁界センサ、超音波センサ、レーザースキャン、及びそれらの組み合わせ等がある。
【0011】
[0022]ここで使用されるように、語句“グリップ条件”又は“物体の振る舞い”は、グリッパーにより扱われているときの物体の状態のことを言っている。グリップ条件には、グリップ又は扱い面に対する、物体の非スリップ、スリップ、回転、及び他の動き又は変位が含まれる。動きを表す特性又はパラメータには、3次元並進速度ベクター、回転速度ベクター、並進の方向、並進の大きさ、回転の方向、回転の大きさ、回転の軸、オリエンテーション、及びそれらの組み合わせ等がある。
【0012】
[0023]例としてのシステム及び方法が、自動車の組み立てに使用されるロボットという観点で、ここに記述される。但し、そのシステム及び方法は、他の観点でも応用可能である。図1及び2を参照して、ロボットグリッパー10は、自動車部品のような物体16を掴むように構成された平行な指14a,14bを伴う顎12を有している。顎12の開閉は、サーボモータ20により駆動される。顎12は、単一の自由度を有しており、つまり、平行な指14a,14bは、Z方向に互いに接近離反する。排他的な他の実施形態においては、グリッパーは、多元的な自由度を有するものもあり、1つ以上のアクチュエータにより制御される。例えば、図9に示すグリッパー10を参照すると、各指14a,14b,14c,14dは、1つのサーボモータ(図示せず)で個々に制御されている。他の実施形態においては、指は、個々に又は同期して制御される複数の指骨を有している。
【0013】
[0024]図1及び2を引き続き参照して、グリップ条件を決定するためのシステム30は、顎12のグリップ面に関連したセンサアレイ40、データ取得機器50、計算ユニット52、及びグリップ制御機器54を備えている。図示されたセンサアレイ40は、指14a,14bのグリップ面に関連した2つのサブアレイを含む圧力センサのアレイである。第1サブアレイ42aは、第1の指14aのグリップ面に関連したものであり、第2サブアレイ42bは、第2の指14bのグリップ面に関連したものである。ここで使用されるように、語句“サブアレイ”は、物理的に、又は計算の観点のいずれかにおいて、互いに区別される、センサアレイの部分のことを言っている。例えば、サブアレイ42a,42bは、グリッパー10の独立可動部分に関連したものである。
【0014】
[0025]図示の便宜のため、サブアレイ42a,42bは、各々、N行×M列グリッドの四角形状のセンサである。排他的な他の実施形態においては、サブアレイは、代わりに、グリッパーのグリップ面に整合するように形作られていてもよい。センサの形状又は検知領域は、方形には限定されず、六角形、三角形、又は円形の検知領域を有するセンサであってもよい。更に、それらのセンサアレイは、互いに異なる、又は不均一な検知領域を有するセンサを備えることもできる。ここで、グリップ面の異なる領域は、異なる空間解像度を有することもできる。また、センサアレイは、平面的である必要もない。第一実施形態においては、サブアレイ42a,42bは、互いに対して非平面的である。
【0015】
[0026]グリップ面材料は、そのグリップ面の所望の摩擦係数に基づいて、センサアレイ40を保護するようなものが選択される。例えば、グリップ面材料は、シリコン、又は他のフレキシブルな材料とすることができる。ソフトな、又は圧縮可能な材料は、一般的に、より空間的に分散されたデータを提供するが、より多くのノイズを含むこととなる。これに対し、硬い、又は圧縮性の少ない材料は、一般的に、空間的にあまり分散しないが、ノイズは比較的少ない。
【0016】
[0027]一時的に図9を参照すると、システム30は、指14a,14b,14cのグリップ面に関連したセンサアレイ40と、指14dのグリップ面に関連したカメラ300とを備えている。カメラ300は、物体16の方を向いており、そのときカメラ300のレンズは、透明グリップ面302の背後に位置している。
【0017】
[0028]図1を引き続き参照して、データ取得機器50は、センサアレイ40からの空間分布データを収集し、そのデータをアナログからデジタルに変換し、そのデジタルデータを計算ユニット52に送り、そこで、そのデータは、メモリ60に格納される。センササブアレイ42a,42bの各々は、そのサブアレイ42a,42bからくるアナログ信号を、シリアル相互集積回路(I2C)プロトコルに基づき、デジタル値に変換する集積回路(図示せず)を有している。その集積回路は、I2Cバス(図示せず)を介して、I2C拡張ボード(図示せず)に接続されている。その拡張ボードは、センサアレイ40を初期化すると共に、ユニバーサルシリアルバス(USB)(図示せず)を介してデジタルデータを計算ユニット52に送る信号調整ボード(図示せず)に接続されている。
【0018】
[0029]計算ユニット52は、データ取得機器50により収集されたデータストリームを処理するように構成されている。計算ユニット52は、データ取得ユニットインターフェース56、オペレータインターフェース58、プロセッサ62、情報を格納するメモリ60、及び、メモリ60を含む各種システムコンポーネントをプロセッサ62に接続するバス64を含むコンピュータコンポーネントを備えている。メモリ60は、更に以下で詳述するような、グリップ条件又は物体の振る舞いを決定し、グリッパー10を制御するための方法100,200を実行するための命令を格納するコンピュータ読み取り可能な媒体である。プロセッサ62は、命令を読み込んで実行する。オペレータインターフェース58により、ユーザー又は他の機器は、データを扱い、データもしくはパラメータの値を選択し、変更し、削除し、又は、計算ユニット52を新しいもしくは異なる命令でプログラムすることができる。
【0019】
[0030]図11を参照して、グリップ条件、あるいは物体16の振る舞い決定する方法の一例100が、以下議論される。方法100は、第一ステップ102を含んでおり、そこでは、データ取得機器50は、実質的にリアルタイムで、センサアレイ40からの連続的なデータストリームを取得し、関連デジタルデータを計算ユニット52に提供する。第二ステップ104では、データストリームが、時間ステップごとにマップされる。図1−5で示された実施形態の一例においては、計算ユニット52は、時間ステップごとのセンサアレイ40のセンサの位置に応じて、あるいはグリッパー10のグリップ面に応じて、データをマップする。図9に示された実施形態の一例においては、カメラ300により計測されたデータ画像が、カメラ300の位置に対する物体16上の位置にマップされる。マッピングステップ104は、妥当性確認、スケーリング、キャリブレーション、及びデータ一貫性テストを実行すると共に、仮想的センサに基づくデータ構造の空間的及び時間的外挿及び内挿を行う。第三ステップ106では、計算ユニットが、データをろ過し、ノイズベースと静的計測変位を取り除く。
【0020】
[0031]次のステップ108は、データの時間的変化を追跡するために有用な形式でマップデータを配置することである。例えば、ある方法によれば、データは、2次元畳み込み等を使用して、変換される。他の方法によれば、空間分布データは、データの動きを特徴付けるのに使用できる位置及び/又は分布に変換される。空間分布データの位置は、最大値、平均値、モード値、メジアン値である、又は、を表す測定値の位置により、圧力中心により、重心、主要接触領域、それらの組み合わせ等により、表現できる。空間分布データの分布は、分散、標準偏差、範囲、四分位数間範囲、平均差、メジアン絶対偏差、平均絶対偏差、経験的確率分布関数(PDF)、及びそれらの組み合わせ等により表現できる。
【0021】
[0032]次のステップ110は、時間経過に伴うマップデータの動きを決定することである。空間分布データの動きは、オプティカルフロー、ベクトル計算、位相相関、スペクトルコヒーランス、ブロック基礎法、離散最適化法、差分法(Lucas-Kanade, Horn-Schunck, Buxton-Buxton, Black-Jepson, variational)、相互相関、Support Vector Machines、Neural Nets等を使用して決定される。かかる方法は、空間分布データの動きをベクトルフィールドで特徴付けている。空間分布データが、位置及び/又は分布に変換される場合には、その動きは、位置又は分布の変化を追跡するベクトルにより決定される。これらのベクトルは、また、ベクトルフィールドを提供する。
【0022】
[0033]次のステップ112は、物体の振る舞い、又は関連したグリップ条件を決定することである。このステップ112の間、ベクトルフィールドは、物体16の振る舞い又は動きを記述するような3次元合成並進及び回転ベクトルに変換される。ベクトルフィールドのベクトルを、並進ベクトル及び/又は回転ベクトルに組み入れる方法は、合成、カール、ロータを含んでいる。合成ベクトルは、2つ以上のベクトルの和であり、物体16の並進の大きさ及び方向を与えるものである。カール又はロータは、ベクトルフィールド内の任意の点での回転の大きさ及び方向を与えるベクトル演算子である。カール(ロータ)の零空間に属する点は、回転の軸を決定し、カール(ロータ)の各要素の符号は、回転の方向を与え、カール(ロータ)の要素の各々の大きさは、回転の大きさである。物体16の並進及び回転の方向及び大きさは、洗練された処理手続きの間に物体16の所望の振る舞いを制御して確認するために使用される情報を提供するものであり、グリッパー10を操作するための命令を生成して望まれない振る舞いを制するために、物体16の望まざる振る舞いを理解するのに役立つ。その制御命令は、より詳細に以下に記述される方法200に従って生成される。物体16の振る舞いの詳細は、グリッパー10の制御を介しての物体16の振る舞いを制御するための洗練された命令を生成するのに役立つ。
【0023】
[0034]図1を引き続き参照し、グリッパー制御機器54は、計算ユニット52により生成された命令に基づき、グリッパー10を制御するように構成されている。命令は、グリップ条件又は物体振る舞いに応じて計算ユニット52により生成され、制御インタープリタ66により、サーボモータ20を駆動するために使用される信号に変換される。制御インタープリタ66は、ハイレベル制御コマンドを、実行のためのローレベル制御コマンドに翻訳する。そのローレベル制御コマンドは、サーボモータ20により要求される信号条件と整合する。
【0024】
[0035]図12を参照して、グリッパー10を制御するための命令を生成する方法の一例200が開示される。第一ステップ202によれば、制御規則への入力が決定される。その入力は、グリップ条件又は物体16の振る舞い、及びグリッパー10の状態を含んでいる。既に説明したグリップ条件以外のこのグリップ条件には、物体は手のどこにあるのか、手の中の物体のないところはどこか、いくつかの所定の条件が満たされたときの緊急停止が含まれる。ここで使用するように、グリッパー10の“状態”は、グリッパー10の姿勢の集合並びに関連した運動力学及び動力学のことをいっている。一般的に記述すると、姿勢の集合は、開いたグリッパー、開きつつあるグリッパー、閉じつつあるグリッパー、閉じたグリッパー、小さな物体を掴むためのグリッパー姿勢、大きな物体を掴むためのグリッパー姿勢、パワーグリップ、やさしいグリップ、正確なグリップ、最少に開いた掴み、最大に開いた掴み、及びそれらの組み合わせ等が含まれる。グリッパー10の運動力学モデルは、グリッパー10の動き及び操作を記述しており、リンケージ及び幾何学的操作に焦点を当てている。グリッパー10の動的モデルは、グリッパー10の各部の時間評価を記述しており、グリッパー構成部の全体が考慮され、時間制約が満たされている。
【0025】
[0036]状態は、電圧、電流、力、トルク、位置、速度、加速度、圧力、近接値、電界及び磁界の波、超音波、及びそれらの組み合わせ等で、定義できる。例えば、パワーグリップは、掴むべき物体に対して最大の圧力を加えることとして定義される。ここで、圧力センサによる圧力捕獲を最大にする目的関数は、その対応する制御則によりプログラムされるべきである。
【0026】
[0037]現在の状態は、現在と過去の履歴に基づいて評価される。例えば、離散時間的には、時刻T[n]での現在の状態Smを定義するパラメータXj(T[n])は、現在と過去の値に基づいて計算できるであろう。ここで、nは、時間指標であり、mは、状態指標であり、jは、パラメータ指標である。現在状態評価は、現在及び過去の関数、例えば、Xj(T[n])=f(T[n]、T[n−1]、T[n−2]、・・・)であり、また、パレメータXj自体と共に他のパラメータXkの関数、例えば、Xj(T[n])=f(X1、X2、X3、・・・)である。次の状態は、現在及び過去の時間履歴に基づいて予見できる。例えば、離散時間的には、時刻T[n+1]での現在の状態Sm+1を定義するパラメータXj(T[n+1])の1つは、現在と過去の値に基づいて計算できる。次の状態評価は、現在及び過去の関数、例えば、Xj(T[n+1])=f(T[n]、T[n−1]、T[n−2]、・・・)であり、また、パレメータXj自体と共に他のパラメータXkの関数、例えば、Xj(T[n+1])=f(X1、X2、X3、・・・)である。
【0027】
[0038]制御則は、メモリ60に格納されるアルゴリズムであり、入力に基づいてグリッパー10を制御するための命令を定義している。教示の便宜のため、制御則は、2つのレベルで定義される。低いレベルにおいては、電気信号のような低レベル信号が入力を供給し、低レベルコントローラが、対応する出力を計算する。高いレベルにおいては、人間が理解できるようなコマンドが与えられ、実行のための低レベル制御コマンドにコード化される。低いレベルか高いレベルのいずれかにおいては、伝統的な制御則には、比例積分微分(PID)、ファジー論理、人工ニューラルネットワーク、ラダー、サポートベクトルマシーン、フルステートフィードバック、Hインフィニティ(Hinf)、線形二次ガウス(LQG)、線形二次レギュレータ(LQR)、制御スリップ、非スリップ、ハイブリッドスリップ等がある。制御スリップとは、物体の位置又は向きを変更するか、又はテーブル又は目標物位置上への物体の解放を制御するために、グリッパーにより扱われる物体を故意に滑らせることをいう。また、非スリップは、グリッパーに対する物体の可能性のある如何なる動きも排除するようなグリッパーの操作のことをいっている。この制御は、商品及び物体の輸送には必要なことである。ハイブリッドスリップは、非スリップと制御スリップの組み合わせのことをいっており、一部分を回転させたりスピンさせたりする応用分野で使用される。コインを常に保持しつつ回転させることは、回転軸について非スリップであって、コインの縁についての制御スリップである例である。
【0028】
[0039]第二ステップ204に基づき、状態及びグリップ条件又は物体16の振る舞いが、制御則に入力され、グリッパー10を所望の状態と実際の状態を一致させるように制御するための命令を決定する。一般的に、命令には、特に並進又は回転方向の下流の位置において、圧力を増やして摩擦を増加させることが含まれる。圧力の増加は、並進又は回転の大きさの関数である。命令は、更に、回転軸からオフセットした点での圧力を増加させることを含む。第三ステップ206においては、命令が解釈されて実行される。
【0029】
[0040]例としての実施形態が、以下更に詳細に記述される。図1−5に示されている第一実施形態を参照して、グリッパー10は、指14a,14bの間で物体を挟む。物体16がセンサアレイ40と接触する接触点70a,70bにおいては、センサアレイ40は、データ取得機器50により取得される空間分布圧力データを生成する。教示の便宜のため、空間分布データは、時間ステップの限られた数でしか示されて記述されていないものの、データは、連続的に取得される。図3を参照すると、時刻t1における各サブアレイ42a,42bについての空間分布データは、二次元グラフ上で、輪郭が強調された四角の集まりで表現される。なお、以下、これをフットプリント74a,74bと称す。強調された四角は、各種の圧力値を有している。示されたフットプリント74a,74bは、物体16とグリッパー10のグリップ面との間の接触又は近接の点を表している。計算ユニット52は、フットプリント74a,74bを受け取って処理し、x軸及びy軸についての位置76a,76bにより、位置76a,76b及び分布78a,78bを決定する。
【0030】
[0041]図3及び4を参照し、プロセッサ62は、メモリ60内の命令を実行し、フットプリント74a,74bの変化を、2つの異なる時刻t1,t2での位置76a,76bの変化の関数として決定する。異なる時刻t1,t2で位置76a,76bの間に延びる合成並進ベクトル80a,80bは、ベクトルフィールドを規定する。図5を参照すると、プロセッサ62は、メモリ60内の命令を実行し、ベクトルフィールド80a,80bを、グリップ条件又は物体16の振る舞いを表現する並進ベクトル82及び回転ベクトル84に融合させる。グリップ条件又は物体16の振る舞いは、何らかの方法又は場所で物体16を最初に挟持するのに使用されるあるグリップアプローチの結果である。そのグリップアプローチ及び各グリップアプローチの結果は、計算ユニット52によりメモリ60内に蓄積され、それによりシステム30は、特定の物体16についてのグリップアプローチを学習して改善できる。
【0031】
[0042]図6−8に示された他の実施形態を参照すると、グリッパー10は、肌理又は突起のある円盤の形態の物体16を掴む。図8を参照し、突起とサブアレイ42aの間の接触に対応する各種フットプリント74が示されている。第1時刻t1におけるフットプリント74aが実線で示され、第2時刻t2におけるフットプリント74aが破線で示されている。プロセッサ62は、メモリ60内の命令を実行し、フットプリント74の動き又は変位を表すベクトルフィールド80を生成するようなオプティカルフローを実行する。ここで、ベクトル80は、フットプリント74の要素の動きを追跡する。プロセッサ62は、更にメモリ60内の命令を実行し、物体16の動きをベクトルフィールド80の関数として決定する。複雑又は器用なマニピュレータ使用されるようなケースでは、複数のセンサアレイ40のいくつかのホームポジションの相対座標を決定するために、エンドエフェクター運動力学が使用されることが必要である。このことは、効果下の特定のグリップ条件に関連する3次元合成力フットプリントを計算するためには、必要である。
【0032】
[0043]図9及び図10に示された他の実施形態を参照すると、グリッパー10は、3つの指14a,14b,14cを有しており、物体16を抱えている。4つめの指14dは、他の実施形態として、以下に詳細に議論される。ここで、指14a,14bは、指14cにより与えられる圧力より大きな圧力を与える。図示の便宜上、フットプリント74a,74bの面積の大きさは、圧力の大きさを表現するのに使用され、より大きな領域はより大きな圧力を示している。カール(ロータ)の零空間に属している点がフットプリント74a,74b内に見いだされ、そしてこの場合、相対する接触点に対応するのであるから、対抗接触点70a,70bは、明らかに回転軸90を規定し、グリップ条件は、回転に資している。2つの時刻t1,t2におけるフットプリントが描かれ、プロセッサ62は、メモリ60内の命令を実行して、上記のようにグリップ条件を決定する。その後、プロセッサ62は、更にメモリ60内の命令を実行して、グリッパー10の回転を止めるようにそれを制御するための名声を生成する。その制御命令には、指14cをy方法に移動させて関連のフットプリント74cの大きさを増加させることを含む。グリップ条件を決定する他の方法の一例には、第一ステップとして、カールの零空間の点を計算で特定し、第二ステップとして、グリッパー10の上にないが、物体上16で互いに相対している、物体16上の2つの異なる点を規定することが含まれている。2つの点は、硬質物体16に対して、回転90の軸を規定している。
【0033】
[0044]図9及び10を引き続き参照して、他の実施形態によれば、4つ目の指14dは、カメラ300を含んでいる。カメラ300は、物体16上の位置を表す空間分布データを計測するように構成されている。プロセッサ62は、オプティカルフロー方法に基づいてカメラ300の画像を処理するというメモリ60内の命令を実行し、ベクトルフィールドを取得し、故に、掴まれた物体の動きの方向を決定する。その後、プロセッサ62は、ここで記述したような物体16の振る舞いを決定するというメモリ60内の命令を実行する。
【0034】
[0045]ここで記述したシステム及び方法は、硬質本体や変形性物体を含む各種の物体に対して有用である。例えば、“回転軸”は、その中央部で巻き付くところに位置し、反対方向の回転は、ワイヤがその角で曲がるところで発生するということを決定するための有限差分技法を用いて、カールと、カールの零空間を計算するのに、曲がったり摺動したりするベントフレキシブルワイヤが使用できる。
【0035】
[0046]上述の実施形態は、開示の原理の明確な理解のために提示された単なる実施の例である。請求の範囲から逸脱することなく、上述の実施形態には、各種態様、変形例、及び組み合わせが形成できる。すべてのこのような各種態様、変形例、及び組み合わせは、この開示の範囲と、以下の請求の範囲に含まれる。
【技術分野】
【0001】
[0001]本開示は、概して、ロボットグリッパーで物体を扱うことに関するシステム及び方法に関する。
【背景技術】
【0002】
[0002]現在使用されているシステム及び方法は、グリッパーで物体を扱うときに、グリップ条件や物体の振る舞いを十分には決定しない。掴まれた物体の振る舞いの特定の知識は、組み立て作業を達成するようグリッパーを制御するときに、有用である。故に、今日まで、工業界には、上述の欠如や不十分性を考慮するという、検討されていない必要性が存在している。
【発明の概要】
【発明が解決しようとする課題】
【0003】
[0003]本開示の各種実施形態は、グリップ条件や掴まれる物体の振る舞いを決定し、その物体の振る舞いに基づいてグリッパーを制御するためのシステム及び方法を提供することにより、従来技術の欠点を克服している。
【課題を解決するための手段】
【0004】
[0004]一例の実施形態によれば、グリッパーにより物体を扱うことに関するシステムは、前記グリッパーにより扱われる物体の位置を表すパラメータの大きさを測定するように構成されたセンサを備えている。システムは、また、コンピュータ読み取り可能な命令を格納するためのメモリと、前記コンピュータ読み取り可能な命令を実行するためのプロセッサと含む計算ユニットを備えている。前記コンピュータ読み取り可能な命令は、前記センサで測定される空間的及び時間的な空間分布データの変換の関数であるベクトルフィールドを決定することを含む。前記コンピュータ読み取り可能な命令は、また、3次元並進ベクトル及び3次元回転ベクトルのうちの少なくとも一方で構成される物体の振る舞いを、前記ベクトルフィールドの関数として決定することを含む。
【0005】
[0005]以上は、本開示のいくつかの様相及び特徴を広く外郭化するものであり、その様相等は、各種潜在的な応用の中の単なる例であると解釈されるべきである。他の有益な結果は、開示された情報を異なる方法で適用することにより、又は開示された実施形態の各種様相を組み合わせることにより、得ることができる。しかして、他の様相や、より深い理解が、請求の範囲に加えて、添付の図面と併せて考慮された実施形態の詳細な説明を参照することにより、得られる。
【図面の簡単な説明】
【0006】
【図1】[0006]図1は、本開示の一例の実施形態による、物体の振る舞いを決定し、グリッパーを制御するためのロボットグリッパー及びシステムの概略図である。
【図2】[0007]図2は、物体と関わり合っているところの、図1のロボットグリッパーの平面図である。
【図3】[0008]図3は、図2におけるグリッパーと物体の間の接触点に関する空間分布圧力データのグラフである。
【図4】[0009]図4は、図3の空間分布データの動きに関するベクトルのグラフである。
【図5】[0010]図5は、図2の物体の平面図であり、図4のベクトルと、物体の振る舞いを表すベクトルを示している。
【図6】[0011]図6は、本開示の一例の実施形態による他の物体の斜視図である。
【図7】[0012]図7は、図6の物体と関わり合っているところの、図1のロボットグリッパーの平面図である。
【図8】[0013]図8は、空間分布データと、その空間分布データの動きに関するベクトルを示すグラフである。
【図9】[0014]図9は、物体と関わり合っているところの、他のロボットグリッパーの概略図である。
【図10】[0015]図10は、空間分布データと、その空間分布データの動きに関するベクトルを示すグラフである。
【図11】[0016]図11は、グリップ条件、又は物体の振る舞いを決定する方法の流れ図である。
【図12】[0017]図12は、グリッパーを制御するための命令を決定する方法の一例の流れ図である。
【発明を実施するための形態】
【0007】
[0018]要件に合うように、詳細な実施形態がここに開示される。ここで、開示される実施形態は、各種の形態及び他の形態や、それらの組み合わせとして具現化される教示の単なる一例であることを理解すべきである。ここで使用されるように、ごく“一例”は、イラスト、試料、モデル、又はパターンとして供される実施形態のことをいうべく、広く使用されている。図は、必ずしも同一縮尺ではなく、いくつかの特徴は、特定の部分の詳細を示すべく、誇張されていたり、縮小化されている。他の例においては、当業者によく知られている構成、システム、材料、又は方法は、本開示を曖昧にするのを避けるべく、詳細には記述されない。しかして、ここに開示された特定の構造的及び機能的詳細は、限定するものと解釈されるべきではなく、単に、請求の範囲の基礎であり、当業者への教示のための代表的な基礎として解釈されるべきである。
【0008】
[0019]ここで使用されるように、語句“グリッパー”は、ロボット把持のための、あるいは物体又は材料のグリップ又は扱いのための機器又はエンドエフェクターのことを言っている。ロボットグリッパーの範疇には、一般的に、衝撃的なもの、進入的なもの、収斂的なもの、及び近接的なものがある。衝撃的グリッパーには、物体を物理的に掴む顎又は爪がある。進入的グリッパーには、物体の表面を物理的に貫通するピン、針、又はハックルがある。進入的グリッパーは、布、カーボン、及びグラスファイバーの処理において使用される。収斂的グリッパーは、物体の表面に吸引力を与えるものであり、真空吸着、磁気吸着、電気吸着などがある。近接的グリッパーは、例えば、接着剤、表面張力、又は凍結等を使用して物体に接着する。語句“グリッパー”、“指”及び“手”は、相互交換的に使用できる。例としてのグリッパーには、ロボットグリッパー、平行顎グリッパー、Rutgers hand、Twendy-One hand、WillowGarage hand、RECOM-IIグリッパー、BarrettHand(登録商標)、DLR hand、NASA Robonaut hand、吸引カップ、フック、及びそれらの組み合わせ等がある。
【0009】
[0020]ここで使用されるように、語句“アクチュエータ”は、エネルギーを何らかの形の動き又は動作に変換する何らかの機器である。例としてのアクチュエータには、電気モータ、リレー、ソレノイド、ピエゾ素子、スマート材料、油圧ピストン、電気駆動ポリマー、及びそれらの組み合わせ等がある。
【0010】
[0021]ここで使用されるように、語句“センサ”及び“センサアレイ”には、限定するわけではないが、空間分布データを計測するように構成された機器又は機器の組み合わせがある。かかるセンサの活性化は、圧力、温度、電磁抵抗、近接性、色、画像、距離、及びそれらの組み合わせにより可能である。空間分布データは、時間経過に応じて収集されるので、そのデータストリームは、空間的及び時間的の双方の分布となる。語句“空間分布データ”は、センサ、又は物体上、もしくはグリッパーのグリップ面上の異なる位置のセンサアレイにより計測されたデータのことを言っている。例としてのセンサには、空間分布圧力システム、皮膚センサ、光学センサ、カメラ、赤外線センサ、電磁界センサ、超音波センサ、レーザースキャン、及びそれらの組み合わせ等がある。
【0011】
[0022]ここで使用されるように、語句“グリップ条件”又は“物体の振る舞い”は、グリッパーにより扱われているときの物体の状態のことを言っている。グリップ条件には、グリップ又は扱い面に対する、物体の非スリップ、スリップ、回転、及び他の動き又は変位が含まれる。動きを表す特性又はパラメータには、3次元並進速度ベクター、回転速度ベクター、並進の方向、並進の大きさ、回転の方向、回転の大きさ、回転の軸、オリエンテーション、及びそれらの組み合わせ等がある。
【0012】
[0023]例としてのシステム及び方法が、自動車の組み立てに使用されるロボットという観点で、ここに記述される。但し、そのシステム及び方法は、他の観点でも応用可能である。図1及び2を参照して、ロボットグリッパー10は、自動車部品のような物体16を掴むように構成された平行な指14a,14bを伴う顎12を有している。顎12の開閉は、サーボモータ20により駆動される。顎12は、単一の自由度を有しており、つまり、平行な指14a,14bは、Z方向に互いに接近離反する。排他的な他の実施形態においては、グリッパーは、多元的な自由度を有するものもあり、1つ以上のアクチュエータにより制御される。例えば、図9に示すグリッパー10を参照すると、各指14a,14b,14c,14dは、1つのサーボモータ(図示せず)で個々に制御されている。他の実施形態においては、指は、個々に又は同期して制御される複数の指骨を有している。
【0013】
[0024]図1及び2を引き続き参照して、グリップ条件を決定するためのシステム30は、顎12のグリップ面に関連したセンサアレイ40、データ取得機器50、計算ユニット52、及びグリップ制御機器54を備えている。図示されたセンサアレイ40は、指14a,14bのグリップ面に関連した2つのサブアレイを含む圧力センサのアレイである。第1サブアレイ42aは、第1の指14aのグリップ面に関連したものであり、第2サブアレイ42bは、第2の指14bのグリップ面に関連したものである。ここで使用されるように、語句“サブアレイ”は、物理的に、又は計算の観点のいずれかにおいて、互いに区別される、センサアレイの部分のことを言っている。例えば、サブアレイ42a,42bは、グリッパー10の独立可動部分に関連したものである。
【0014】
[0025]図示の便宜のため、サブアレイ42a,42bは、各々、N行×M列グリッドの四角形状のセンサである。排他的な他の実施形態においては、サブアレイは、代わりに、グリッパーのグリップ面に整合するように形作られていてもよい。センサの形状又は検知領域は、方形には限定されず、六角形、三角形、又は円形の検知領域を有するセンサであってもよい。更に、それらのセンサアレイは、互いに異なる、又は不均一な検知領域を有するセンサを備えることもできる。ここで、グリップ面の異なる領域は、異なる空間解像度を有することもできる。また、センサアレイは、平面的である必要もない。第一実施形態においては、サブアレイ42a,42bは、互いに対して非平面的である。
【0015】
[0026]グリップ面材料は、そのグリップ面の所望の摩擦係数に基づいて、センサアレイ40を保護するようなものが選択される。例えば、グリップ面材料は、シリコン、又は他のフレキシブルな材料とすることができる。ソフトな、又は圧縮可能な材料は、一般的に、より空間的に分散されたデータを提供するが、より多くのノイズを含むこととなる。これに対し、硬い、又は圧縮性の少ない材料は、一般的に、空間的にあまり分散しないが、ノイズは比較的少ない。
【0016】
[0027]一時的に図9を参照すると、システム30は、指14a,14b,14cのグリップ面に関連したセンサアレイ40と、指14dのグリップ面に関連したカメラ300とを備えている。カメラ300は、物体16の方を向いており、そのときカメラ300のレンズは、透明グリップ面302の背後に位置している。
【0017】
[0028]図1を引き続き参照して、データ取得機器50は、センサアレイ40からの空間分布データを収集し、そのデータをアナログからデジタルに変換し、そのデジタルデータを計算ユニット52に送り、そこで、そのデータは、メモリ60に格納される。センササブアレイ42a,42bの各々は、そのサブアレイ42a,42bからくるアナログ信号を、シリアル相互集積回路(I2C)プロトコルに基づき、デジタル値に変換する集積回路(図示せず)を有している。その集積回路は、I2Cバス(図示せず)を介して、I2C拡張ボード(図示せず)に接続されている。その拡張ボードは、センサアレイ40を初期化すると共に、ユニバーサルシリアルバス(USB)(図示せず)を介してデジタルデータを計算ユニット52に送る信号調整ボード(図示せず)に接続されている。
【0018】
[0029]計算ユニット52は、データ取得機器50により収集されたデータストリームを処理するように構成されている。計算ユニット52は、データ取得ユニットインターフェース56、オペレータインターフェース58、プロセッサ62、情報を格納するメモリ60、及び、メモリ60を含む各種システムコンポーネントをプロセッサ62に接続するバス64を含むコンピュータコンポーネントを備えている。メモリ60は、更に以下で詳述するような、グリップ条件又は物体の振る舞いを決定し、グリッパー10を制御するための方法100,200を実行するための命令を格納するコンピュータ読み取り可能な媒体である。プロセッサ62は、命令を読み込んで実行する。オペレータインターフェース58により、ユーザー又は他の機器は、データを扱い、データもしくはパラメータの値を選択し、変更し、削除し、又は、計算ユニット52を新しいもしくは異なる命令でプログラムすることができる。
【0019】
[0030]図11を参照して、グリップ条件、あるいは物体16の振る舞い決定する方法の一例100が、以下議論される。方法100は、第一ステップ102を含んでおり、そこでは、データ取得機器50は、実質的にリアルタイムで、センサアレイ40からの連続的なデータストリームを取得し、関連デジタルデータを計算ユニット52に提供する。第二ステップ104では、データストリームが、時間ステップごとにマップされる。図1−5で示された実施形態の一例においては、計算ユニット52は、時間ステップごとのセンサアレイ40のセンサの位置に応じて、あるいはグリッパー10のグリップ面に応じて、データをマップする。図9に示された実施形態の一例においては、カメラ300により計測されたデータ画像が、カメラ300の位置に対する物体16上の位置にマップされる。マッピングステップ104は、妥当性確認、スケーリング、キャリブレーション、及びデータ一貫性テストを実行すると共に、仮想的センサに基づくデータ構造の空間的及び時間的外挿及び内挿を行う。第三ステップ106では、計算ユニットが、データをろ過し、ノイズベースと静的計測変位を取り除く。
【0020】
[0031]次のステップ108は、データの時間的変化を追跡するために有用な形式でマップデータを配置することである。例えば、ある方法によれば、データは、2次元畳み込み等を使用して、変換される。他の方法によれば、空間分布データは、データの動きを特徴付けるのに使用できる位置及び/又は分布に変換される。空間分布データの位置は、最大値、平均値、モード値、メジアン値である、又は、を表す測定値の位置により、圧力中心により、重心、主要接触領域、それらの組み合わせ等により、表現できる。空間分布データの分布は、分散、標準偏差、範囲、四分位数間範囲、平均差、メジアン絶対偏差、平均絶対偏差、経験的確率分布関数(PDF)、及びそれらの組み合わせ等により表現できる。
【0021】
[0032]次のステップ110は、時間経過に伴うマップデータの動きを決定することである。空間分布データの動きは、オプティカルフロー、ベクトル計算、位相相関、スペクトルコヒーランス、ブロック基礎法、離散最適化法、差分法(Lucas-Kanade, Horn-Schunck, Buxton-Buxton, Black-Jepson, variational)、相互相関、Support Vector Machines、Neural Nets等を使用して決定される。かかる方法は、空間分布データの動きをベクトルフィールドで特徴付けている。空間分布データが、位置及び/又は分布に変換される場合には、その動きは、位置又は分布の変化を追跡するベクトルにより決定される。これらのベクトルは、また、ベクトルフィールドを提供する。
【0022】
[0033]次のステップ112は、物体の振る舞い、又は関連したグリップ条件を決定することである。このステップ112の間、ベクトルフィールドは、物体16の振る舞い又は動きを記述するような3次元合成並進及び回転ベクトルに変換される。ベクトルフィールドのベクトルを、並進ベクトル及び/又は回転ベクトルに組み入れる方法は、合成、カール、ロータを含んでいる。合成ベクトルは、2つ以上のベクトルの和であり、物体16の並進の大きさ及び方向を与えるものである。カール又はロータは、ベクトルフィールド内の任意の点での回転の大きさ及び方向を与えるベクトル演算子である。カール(ロータ)の零空間に属する点は、回転の軸を決定し、カール(ロータ)の各要素の符号は、回転の方向を与え、カール(ロータ)の要素の各々の大きさは、回転の大きさである。物体16の並進及び回転の方向及び大きさは、洗練された処理手続きの間に物体16の所望の振る舞いを制御して確認するために使用される情報を提供するものであり、グリッパー10を操作するための命令を生成して望まれない振る舞いを制するために、物体16の望まざる振る舞いを理解するのに役立つ。その制御命令は、より詳細に以下に記述される方法200に従って生成される。物体16の振る舞いの詳細は、グリッパー10の制御を介しての物体16の振る舞いを制御するための洗練された命令を生成するのに役立つ。
【0023】
[0034]図1を引き続き参照し、グリッパー制御機器54は、計算ユニット52により生成された命令に基づき、グリッパー10を制御するように構成されている。命令は、グリップ条件又は物体振る舞いに応じて計算ユニット52により生成され、制御インタープリタ66により、サーボモータ20を駆動するために使用される信号に変換される。制御インタープリタ66は、ハイレベル制御コマンドを、実行のためのローレベル制御コマンドに翻訳する。そのローレベル制御コマンドは、サーボモータ20により要求される信号条件と整合する。
【0024】
[0035]図12を参照して、グリッパー10を制御するための命令を生成する方法の一例200が開示される。第一ステップ202によれば、制御規則への入力が決定される。その入力は、グリップ条件又は物体16の振る舞い、及びグリッパー10の状態を含んでいる。既に説明したグリップ条件以外のこのグリップ条件には、物体は手のどこにあるのか、手の中の物体のないところはどこか、いくつかの所定の条件が満たされたときの緊急停止が含まれる。ここで使用するように、グリッパー10の“状態”は、グリッパー10の姿勢の集合並びに関連した運動力学及び動力学のことをいっている。一般的に記述すると、姿勢の集合は、開いたグリッパー、開きつつあるグリッパー、閉じつつあるグリッパー、閉じたグリッパー、小さな物体を掴むためのグリッパー姿勢、大きな物体を掴むためのグリッパー姿勢、パワーグリップ、やさしいグリップ、正確なグリップ、最少に開いた掴み、最大に開いた掴み、及びそれらの組み合わせ等が含まれる。グリッパー10の運動力学モデルは、グリッパー10の動き及び操作を記述しており、リンケージ及び幾何学的操作に焦点を当てている。グリッパー10の動的モデルは、グリッパー10の各部の時間評価を記述しており、グリッパー構成部の全体が考慮され、時間制約が満たされている。
【0025】
[0036]状態は、電圧、電流、力、トルク、位置、速度、加速度、圧力、近接値、電界及び磁界の波、超音波、及びそれらの組み合わせ等で、定義できる。例えば、パワーグリップは、掴むべき物体に対して最大の圧力を加えることとして定義される。ここで、圧力センサによる圧力捕獲を最大にする目的関数は、その対応する制御則によりプログラムされるべきである。
【0026】
[0037]現在の状態は、現在と過去の履歴に基づいて評価される。例えば、離散時間的には、時刻T[n]での現在の状態Smを定義するパラメータXj(T[n])は、現在と過去の値に基づいて計算できるであろう。ここで、nは、時間指標であり、mは、状態指標であり、jは、パラメータ指標である。現在状態評価は、現在及び過去の関数、例えば、Xj(T[n])=f(T[n]、T[n−1]、T[n−2]、・・・)であり、また、パレメータXj自体と共に他のパラメータXkの関数、例えば、Xj(T[n])=f(X1、X2、X3、・・・)である。次の状態は、現在及び過去の時間履歴に基づいて予見できる。例えば、離散時間的には、時刻T[n+1]での現在の状態Sm+1を定義するパラメータXj(T[n+1])の1つは、現在と過去の値に基づいて計算できる。次の状態評価は、現在及び過去の関数、例えば、Xj(T[n+1])=f(T[n]、T[n−1]、T[n−2]、・・・)であり、また、パレメータXj自体と共に他のパラメータXkの関数、例えば、Xj(T[n+1])=f(X1、X2、X3、・・・)である。
【0027】
[0038]制御則は、メモリ60に格納されるアルゴリズムであり、入力に基づいてグリッパー10を制御するための命令を定義している。教示の便宜のため、制御則は、2つのレベルで定義される。低いレベルにおいては、電気信号のような低レベル信号が入力を供給し、低レベルコントローラが、対応する出力を計算する。高いレベルにおいては、人間が理解できるようなコマンドが与えられ、実行のための低レベル制御コマンドにコード化される。低いレベルか高いレベルのいずれかにおいては、伝統的な制御則には、比例積分微分(PID)、ファジー論理、人工ニューラルネットワーク、ラダー、サポートベクトルマシーン、フルステートフィードバック、Hインフィニティ(Hinf)、線形二次ガウス(LQG)、線形二次レギュレータ(LQR)、制御スリップ、非スリップ、ハイブリッドスリップ等がある。制御スリップとは、物体の位置又は向きを変更するか、又はテーブル又は目標物位置上への物体の解放を制御するために、グリッパーにより扱われる物体を故意に滑らせることをいう。また、非スリップは、グリッパーに対する物体の可能性のある如何なる動きも排除するようなグリッパーの操作のことをいっている。この制御は、商品及び物体の輸送には必要なことである。ハイブリッドスリップは、非スリップと制御スリップの組み合わせのことをいっており、一部分を回転させたりスピンさせたりする応用分野で使用される。コインを常に保持しつつ回転させることは、回転軸について非スリップであって、コインの縁についての制御スリップである例である。
【0028】
[0039]第二ステップ204に基づき、状態及びグリップ条件又は物体16の振る舞いが、制御則に入力され、グリッパー10を所望の状態と実際の状態を一致させるように制御するための命令を決定する。一般的に、命令には、特に並進又は回転方向の下流の位置において、圧力を増やして摩擦を増加させることが含まれる。圧力の増加は、並進又は回転の大きさの関数である。命令は、更に、回転軸からオフセットした点での圧力を増加させることを含む。第三ステップ206においては、命令が解釈されて実行される。
【0029】
[0040]例としての実施形態が、以下更に詳細に記述される。図1−5に示されている第一実施形態を参照して、グリッパー10は、指14a,14bの間で物体を挟む。物体16がセンサアレイ40と接触する接触点70a,70bにおいては、センサアレイ40は、データ取得機器50により取得される空間分布圧力データを生成する。教示の便宜のため、空間分布データは、時間ステップの限られた数でしか示されて記述されていないものの、データは、連続的に取得される。図3を参照すると、時刻t1における各サブアレイ42a,42bについての空間分布データは、二次元グラフ上で、輪郭が強調された四角の集まりで表現される。なお、以下、これをフットプリント74a,74bと称す。強調された四角は、各種の圧力値を有している。示されたフットプリント74a,74bは、物体16とグリッパー10のグリップ面との間の接触又は近接の点を表している。計算ユニット52は、フットプリント74a,74bを受け取って処理し、x軸及びy軸についての位置76a,76bにより、位置76a,76b及び分布78a,78bを決定する。
【0030】
[0041]図3及び4を参照し、プロセッサ62は、メモリ60内の命令を実行し、フットプリント74a,74bの変化を、2つの異なる時刻t1,t2での位置76a,76bの変化の関数として決定する。異なる時刻t1,t2で位置76a,76bの間に延びる合成並進ベクトル80a,80bは、ベクトルフィールドを規定する。図5を参照すると、プロセッサ62は、メモリ60内の命令を実行し、ベクトルフィールド80a,80bを、グリップ条件又は物体16の振る舞いを表現する並進ベクトル82及び回転ベクトル84に融合させる。グリップ条件又は物体16の振る舞いは、何らかの方法又は場所で物体16を最初に挟持するのに使用されるあるグリップアプローチの結果である。そのグリップアプローチ及び各グリップアプローチの結果は、計算ユニット52によりメモリ60内に蓄積され、それによりシステム30は、特定の物体16についてのグリップアプローチを学習して改善できる。
【0031】
[0042]図6−8に示された他の実施形態を参照すると、グリッパー10は、肌理又は突起のある円盤の形態の物体16を掴む。図8を参照し、突起とサブアレイ42aの間の接触に対応する各種フットプリント74が示されている。第1時刻t1におけるフットプリント74aが実線で示され、第2時刻t2におけるフットプリント74aが破線で示されている。プロセッサ62は、メモリ60内の命令を実行し、フットプリント74の動き又は変位を表すベクトルフィールド80を生成するようなオプティカルフローを実行する。ここで、ベクトル80は、フットプリント74の要素の動きを追跡する。プロセッサ62は、更にメモリ60内の命令を実行し、物体16の動きをベクトルフィールド80の関数として決定する。複雑又は器用なマニピュレータ使用されるようなケースでは、複数のセンサアレイ40のいくつかのホームポジションの相対座標を決定するために、エンドエフェクター運動力学が使用されることが必要である。このことは、効果下の特定のグリップ条件に関連する3次元合成力フットプリントを計算するためには、必要である。
【0032】
[0043]図9及び図10に示された他の実施形態を参照すると、グリッパー10は、3つの指14a,14b,14cを有しており、物体16を抱えている。4つめの指14dは、他の実施形態として、以下に詳細に議論される。ここで、指14a,14bは、指14cにより与えられる圧力より大きな圧力を与える。図示の便宜上、フットプリント74a,74bの面積の大きさは、圧力の大きさを表現するのに使用され、より大きな領域はより大きな圧力を示している。カール(ロータ)の零空間に属している点がフットプリント74a,74b内に見いだされ、そしてこの場合、相対する接触点に対応するのであるから、対抗接触点70a,70bは、明らかに回転軸90を規定し、グリップ条件は、回転に資している。2つの時刻t1,t2におけるフットプリントが描かれ、プロセッサ62は、メモリ60内の命令を実行して、上記のようにグリップ条件を決定する。その後、プロセッサ62は、更にメモリ60内の命令を実行して、グリッパー10の回転を止めるようにそれを制御するための名声を生成する。その制御命令には、指14cをy方法に移動させて関連のフットプリント74cの大きさを増加させることを含む。グリップ条件を決定する他の方法の一例には、第一ステップとして、カールの零空間の点を計算で特定し、第二ステップとして、グリッパー10の上にないが、物体上16で互いに相対している、物体16上の2つの異なる点を規定することが含まれている。2つの点は、硬質物体16に対して、回転90の軸を規定している。
【0033】
[0044]図9及び10を引き続き参照して、他の実施形態によれば、4つ目の指14dは、カメラ300を含んでいる。カメラ300は、物体16上の位置を表す空間分布データを計測するように構成されている。プロセッサ62は、オプティカルフロー方法に基づいてカメラ300の画像を処理するというメモリ60内の命令を実行し、ベクトルフィールドを取得し、故に、掴まれた物体の動きの方向を決定する。その後、プロセッサ62は、ここで記述したような物体16の振る舞いを決定するというメモリ60内の命令を実行する。
【0034】
[0045]ここで記述したシステム及び方法は、硬質本体や変形性物体を含む各種の物体に対して有用である。例えば、“回転軸”は、その中央部で巻き付くところに位置し、反対方向の回転は、ワイヤがその角で曲がるところで発生するということを決定するための有限差分技法を用いて、カールと、カールの零空間を計算するのに、曲がったり摺動したりするベントフレキシブルワイヤが使用できる。
【0035】
[0046]上述の実施形態は、開示の原理の明確な理解のために提示された単なる実施の例である。請求の範囲から逸脱することなく、上述の実施形態には、各種態様、変形例、及び組み合わせが形成できる。すべてのこのような各種態様、変形例、及び組み合わせは、この開示の範囲と、以下の請求の範囲に含まれる。
【特許請求の範囲】
【請求項1】
グリッパーで物体を扱うことに関する方法であって、
計算ユニットを使用し、
前記グリッパーで扱われる物体の位置を表す空間分布データを測定するように構成されたセンサで測定される空間分布データの時間的な変化の関数であるベクトルフィールドを決定し、
並進ベクトル及び回転ベクトルのうちの少なくとも一方で構成される前記物体の振る舞いを、ベクトルフィールドの関数として決定することを特徴とする方法。
【請求項2】
前記空間分布データは、センサ励起の領域に対応したフットプリントを含んでいることを特徴とする請求項1に記載の方法。
【請求項3】
前記フットプリントの位置を表すパラメータを決定することを更に備えることを特徴とする請求項2に記載の方法。
【請求項4】
前記ベクトルフィールドを、時間的なパラメータの変化の関数として決定することを更に備えることを特徴とする請求項3に記載の方法。
【請求項5】
前記ベクトルフィールドは、空間分布データの時間的なオプティカルフローであることを特徴とする請求項1に記載の方法。
【請求項6】
前記回転ベクトルは、前記ベクトルフィールドのカールであることを特徴とする請求項1に記載の方法。
【請求項7】
前記並進ベクトルは、前記ベクトルフィールドの合成ベクトルであることを特徴とする請求項1に記載の方法。
【請求項8】
前記物体上にあるカールの零空間の点を特定することを更に備えることを特徴とする請求項1に記載の方法。
【請求項9】
前記物体の相対する側にある空間点の関数として、回転軸を特定することを更に備えることを特徴とする請求項8に記載の方法。
【請求項10】
前記回転軸からオフセットした位置にある少なくとも1つの接触点の圧力を変化させることにより、前記グリッパーを制御することを更に備えることを特徴とする請求項9に記載の方法。
【請求項11】
グリッパーで物体を扱うことに関するシステムであって、
前記グリッパーにより扱われる物体の位置を表す空間分布データを測定するように構成されたセンサと、
計算ユニットと、
を備え、
前記計算ユニットは、
コンピュータ読み取り可能な命令を格納するためのメモリと、
前記コンピュータ読み取り可能な命令を実行するためのプロセッサと、
を備え、
前記コンピュータ読み取り可能な命令は、
前記センサで測定される空間分布データの時間的な変化の関数であるベクトルフィールドを決定し、
並進ベクトル及び回転ベクトルのうちの少なくとも一方で構成される前記物体の振る舞いを、前記ベクトルフィールドの関数として決定することを含むことを特徴とする方法。
【請求項12】
前記センサは、圧力アレイであることを特徴とする請求項11に記載のシステム。
【請求項13】
前記空間分布データは、接触点に対応するフットプリントを含むことを特徴とする請求項12に記載のシステム。
【請求項14】
前記フットプリントの位置を表すパラメータを決定することを更に備えることを特徴とする請求項12に記載のシステム。
【請求項15】
前記ベクトルフィールドを、前記パラメータの時間的な変化の関数として決定することを更に備えることを特徴とする請求項13に記載のシステム。
【請求項16】
前記センサは、カメラであることを特徴とする請求項11に記載のシステム。
【請求項17】
前記ベクトルフィールドは、前記空間分布データの時間的なオプティカルフローを含むことを特徴とする請求項16に記載のシステム。
【請求項18】
前記回転ベクトルは、前記ベクトルフィールドのカールであることを特徴とする請求項11に記載のシステム。
【請求項19】
前記並進ベクトルは、前記ベクトルフィールドの合成ベクトルであることを特徴とする請求項11に記載のシステム。
【請求項20】
前記命令は、前記グリッパーを制御するための命令を、前記物体の振る舞いの関数として生成することを更に含むことを特徴とする請求項11に記載のシステム。
【請求項1】
グリッパーで物体を扱うことに関する方法であって、
計算ユニットを使用し、
前記グリッパーで扱われる物体の位置を表す空間分布データを測定するように構成されたセンサで測定される空間分布データの時間的な変化の関数であるベクトルフィールドを決定し、
並進ベクトル及び回転ベクトルのうちの少なくとも一方で構成される前記物体の振る舞いを、ベクトルフィールドの関数として決定することを特徴とする方法。
【請求項2】
前記空間分布データは、センサ励起の領域に対応したフットプリントを含んでいることを特徴とする請求項1に記載の方法。
【請求項3】
前記フットプリントの位置を表すパラメータを決定することを更に備えることを特徴とする請求項2に記載の方法。
【請求項4】
前記ベクトルフィールドを、時間的なパラメータの変化の関数として決定することを更に備えることを特徴とする請求項3に記載の方法。
【請求項5】
前記ベクトルフィールドは、空間分布データの時間的なオプティカルフローであることを特徴とする請求項1に記載の方法。
【請求項6】
前記回転ベクトルは、前記ベクトルフィールドのカールであることを特徴とする請求項1に記載の方法。
【請求項7】
前記並進ベクトルは、前記ベクトルフィールドの合成ベクトルであることを特徴とする請求項1に記載の方法。
【請求項8】
前記物体上にあるカールの零空間の点を特定することを更に備えることを特徴とする請求項1に記載の方法。
【請求項9】
前記物体の相対する側にある空間点の関数として、回転軸を特定することを更に備えることを特徴とする請求項8に記載の方法。
【請求項10】
前記回転軸からオフセットした位置にある少なくとも1つの接触点の圧力を変化させることにより、前記グリッパーを制御することを更に備えることを特徴とする請求項9に記載の方法。
【請求項11】
グリッパーで物体を扱うことに関するシステムであって、
前記グリッパーにより扱われる物体の位置を表す空間分布データを測定するように構成されたセンサと、
計算ユニットと、
を備え、
前記計算ユニットは、
コンピュータ読み取り可能な命令を格納するためのメモリと、
前記コンピュータ読み取り可能な命令を実行するためのプロセッサと、
を備え、
前記コンピュータ読み取り可能な命令は、
前記センサで測定される空間分布データの時間的な変化の関数であるベクトルフィールドを決定し、
並進ベクトル及び回転ベクトルのうちの少なくとも一方で構成される前記物体の振る舞いを、前記ベクトルフィールドの関数として決定することを含むことを特徴とする方法。
【請求項12】
前記センサは、圧力アレイであることを特徴とする請求項11に記載のシステム。
【請求項13】
前記空間分布データは、接触点に対応するフットプリントを含むことを特徴とする請求項12に記載のシステム。
【請求項14】
前記フットプリントの位置を表すパラメータを決定することを更に備えることを特徴とする請求項12に記載のシステム。
【請求項15】
前記ベクトルフィールドを、前記パラメータの時間的な変化の関数として決定することを更に備えることを特徴とする請求項13に記載のシステム。
【請求項16】
前記センサは、カメラであることを特徴とする請求項11に記載のシステム。
【請求項17】
前記ベクトルフィールドは、前記空間分布データの時間的なオプティカルフローを含むことを特徴とする請求項16に記載のシステム。
【請求項18】
前記回転ベクトルは、前記ベクトルフィールドのカールであることを特徴とする請求項11に記載のシステム。
【請求項19】
前記並進ベクトルは、前記ベクトルフィールドの合成ベクトルであることを特徴とする請求項11に記載のシステム。
【請求項20】
前記命令は、前記グリッパーを制御するための命令を、前記物体の振る舞いの関数として生成することを更に含むことを特徴とする請求項11に記載のシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−121169(P2011−121169A)
【公開日】平成23年6月23日(2011.6.23)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−274651(P2010−274651)
【出願日】平成22年12月9日(2010.12.9)
【出願人】(505212049)ジーエム・グローバル・テクノロジー・オペレーションズ・インコーポレーテッド (221)
【Fターム(参考)】
【公開日】平成23年6月23日(2011.6.23)
【国際特許分類】
【出願番号】特願2010−274651(P2010−274651)
【出願日】平成22年12月9日(2010.12.9)
【出願人】(505212049)ジーエム・グローバル・テクノロジー・オペレーションズ・インコーポレーテッド (221)
【Fターム(参考)】
[ Back to top ]