いくつかの実施の形態の目的は、対象物を操作しながら対象物に作用する一連の制御力を最適化することによって、操作中の対象物の動作の軌道を最適化するように構成されたロボットシステムを提供することである。
本開示のいくつかの実施の形態は、最先端の組立システムのほとんどが事細かに設計された部品配向および送り機構を利用している、という認識に基づく。
いくつかの実施の形態は、ロボットがその外部接触を利用して、その環境で対象物の姿勢を操作するための、ロボットに対する追加のデクステリティ(器用さ)を得ることができる、という認識に基づく。これらの操作問題は、ロボットが所望のタスクを実現するために様々な初期状態の部品を操作することを期待されている多くの用途において重要である。
いくつかの実施の形態は、これらの操作タスク中にロボットが新規なワークとやり取りすることを期待されている、という認識に基づく。このような機能がないと、不確実性の存在下では操作アルゴリズムは脆弱であり、このようなシステムは、コントローラが設計された形状とは異なる形状の対象物向けに一般化できなくなる。現在、特性が分からない対象物の姿勢操作を可能にする技術はごくわずかであり、これらのアルゴリズムの使用は、非常に少ない管理された環境に限定されている。
いくつかの実施の形態は、ロボットが外部接触を利用することによって、根底にあるタスクのために対象物の姿勢を操作するための基本的なプリミティブとして枢動操作を利用できる、という認識に基づく。しかしながら、不確実性がある状態での枢動操作は、不確実性の存在下での固有の接触拘束が原因で、複雑な操作問題である。現在、信頼できるロバストな操作を実行するために利用できる外部接触を伴う操作のためのロバスト最適化を実行できる既知の技術は存在しない。これが、パラメータに不確実性がある状態でのロボットによる操作の最適化および制御を困難にしている。
そのために、本開示は、操作中のロバストな軌道最適化のための最適化方法を提案する。根底にある操作問題を解決するために、不確実なパラメータがある状態で軌道を生成するための2レベル軌道最適化方法を提案する。提案する定式化は、摩擦安定性についての新規な概念を導入しており、これは、操作中の特定の接触構成の安定性を維持するために接触力を再分散することによって対応できるパラメータの不確実性の量として定義される。
いくつかの実施の形態では、外部接触がある状態で操作中の対象物の静的平衡を考慮して摩擦安定性が計算される。接触力を複数の接触箇所に再分散させることができるので、重力およびモーメントにある不確実性を補償するための安定性に余裕ができる、というのが重要な理解である。この余裕を推定することで、操作中の対象物のパラメータの不確実性に対してロバスト性のある軌道を生成できるようになる。
いくつかの実施の形態は、操作タスクの安定性を確保するためにロボットが計画された軌道に沿って対象物を静的平衡に維持する必要がある、という認識に基づく。2つの外部接触点における接触力は、ロボットが対象物とロボットとの接触点に加える制御力によって異なる。その結果、摩擦安定余裕は、対象物の静的平衡姿勢によって異なるので、操作軌道全体にわたって変化する。
提案する開示のいくつかの実施の形態は、枢動操作中に対象物が2つの外部接触点における滑り接触を維持する必要がある、という認識に基づく。その結果、摩擦力は、操作軌道中の摩擦円錐の境界に常にとどまる。これが、根底にある操作問題についてのロバスト最適化問題の固有の等式制約につながる。等式制約があることで、不良設定最適化問題が操作についてのロバストな軌道を生成することにつながる。その結果、2点枢動操作中の不確実性を補償するためにロバストな制御軌道を生成するための新規な最適化方法が求められている。
本開示のいくつかの実施の形態は、2点枢動中、操作軌道に沿った摩擦安定性が変動するため、操作中の最小余裕を推定できる、という認識に基づく。この操作についての安定余裕を最大化するために、我々は、操作中の対象物のパラメータに不確実性がある状態での操作を確実にできるよう、この最小余裕を最大化できる。これは、ロバストな操作軌道を計算するために解かれ得る新規な2レベル最適化問題につながる。
本発明のいくつかの実施の形態によると、操作中の対象物の外部接触を利用してロボットシステムのマニピュレータによって対象物を再配向するための操作コントローラが提供される。この操作コントローラは、ロボットシステム上に配置されたセンサーから測定データを取得するように構成されたインタフェースコントローラと、少なくとも1つのプロセッサと、非線形プログラミングモジュールと、非線形最適化ソルバと、最適化モジュールとを含む、コンピュータにより実現される方法、および所定の対象物についての接触力と移動との入出力関係を表す非線形静的モデルを記憶するように構成されたメモリとを備えてもよく、方法は、方法を実行する命令を記憶したメモリに連結された少なくとも1つのプロセッサを利用し、命令は、少なくとも1つのプロセッサによって実行されると、方法のステップを実行する。ステップは、ロボットシステム上に配置されたビジョンセンサーおよび力センサーから測定データを取得するステップと、作業台上の対象物の接触力と移動との入出力関係を表す非線形静的モデルに基づいて、対象物についての入出力関係を判断するステップと、対象物とマニピュレータとの相互作用を相補性制約を用いて表して、対象物とマニピュレータとの接触状態を捕らえるステップと、作業台との外部接触における非線形静的モデルに基づいて、対象物の摩擦安定性の表現を定式化するステップと、作業台上で操作中の対象物の位置軌道にわたる摩擦安定性を最大化するように2レベル最適化問題を定式化するステップと、2レベル最適化問題を実行することによって、摩擦安定性を用いて、補償される物理パラメータに含まれる不確実性値を推定するステップと、非線形最適化ソルバを用いて2レベル最適化問題を解き、マニピュレータを使用することによって対象物に加えられている一連の接触力についての制御データを生成するステップと、一連の接触力に従って作業台上の対象物の再配向を行うようにマニピュレータに指示する制御データを送信するステップとを含む。
さらには、本発明のいくつかの実施の形態は、作業台の一部との対象物の外部接触を利用してロボットシステムのマニピュレータによって作業台上の対象物を再配向することによって所望の操作を実行するための、コンピュータで実行される操作方法を提供する。この方法は、方法を実行する命令を記憶したメモリと連結されたプロセッサを利用し、命令は、プロセッサによって実行されると、方法のステップを実行する。ステップは、ロボットシステム上に配置されたビジョンセンサーおよび力センサーから測定データを取得するステップと、作業台上の対象物の接触力と移動との入出力関係を表す非線形静的モデルに基づいて、対象物についての入出力関係を判断するステップと、対象物とマニピュレータとの相互作用を相補性制約を用いて表して、対象物とマニピュレータとの接触状態を捕らえるステップと、作業台との外部接触における非線形静的モデルに基づいて、対象物の摩擦安定性の表現を定式化するステップと、作業台上で操作中の対象物の位置軌道にわたる摩擦安定性を最大化するように2レベル最適化問題を定式化するステップと、2レベル最適化問題を実行することによって、摩擦安定性を用いて、補償される物理パラメータに含まれる不確実性値を推定するステップと、非線形最適化ソルバを用いて2レベル最適化問題を解き、マニピュレータを使用することによって対象物に加えられている一連の接触力についての制御データを生成するステップと、対象物の目標位置を得るための一連の接触力に従って作業台上の対象物の再配向を行うようにマニピュレータに指示する制御データを送信するステップとを含む。
以下に続く詳細な説明において、本開示の例示的な実施の形態の非限定的な例として、言及する複数の図面を参照して本開示についてさらに説明する。図面では、図面のうち一部の図を通して、同じ部分を同じ参照符号で表している。示される図面は必ずしも縮尺通りではなく、代わりに、全体的に今回開示した実施の形態の原理を説明することに重点を置いている。
下記の説明では、説明の便宜上、本開示を十分に理解してもらうために、多くの具体的な詳細を説明する。しかしながら、当業者には、これらの具体的な詳細がなくても本開示を実施できることが明らかになるであろう。その他の場合、本開示を曖昧にしないよう、装置および方法については、ブロック図でのみ示す。
本明細書および添付の特許請求の範囲において用いられる場合、「for example」、「for instance」、および「such as」という用語、ならびに「comprising」、「having」、「including」という動詞およびそれらのその他の動詞形は、それぞれ、1つ以上の構成部品やその他の項目の列挙と合わせて使用された場合、非限定的であると解釈されるべきであり、この列挙は、その他の追加の構成部品やその他の項目を排除すると考えられるべきではないことを意味する。「based on」という用語は、少なくとも一部基づいて、という意味である。さらには、本願明細書で用いる表現および用語は、説明を目的としており、限定であるとみなされるべきではないと理解されたい。本明細書内で用いられている見出しは便宜上のためだけであり、法的効力や限定する効果はない。
接触は、ロボットがその環境と相互作用するための追加のデクステリティを与えてくれるので、ほとんどの操作タスクの中心である。物性が不確実な対象物との摩擦相互作用についてロバストなコントローラを設計することは、対象物の機械的安定性がこれらの物性に左右されるため、難易度が高い。この課題に着想を得て、本明細書では、枢動操作のタスクについて考える。特に、本発明は、枢動を利用して質量と重心(CoM:Center of Mass)の位置とが不確実な部品の再配向の問題について考える。本発明は、対象物の物性にある不確実性を補償するために、摩擦によって機械的安定性を確保することに関する。
本開示のいくつかの実施の形態は、摩擦相互作用システムのためのロバストなコントローラを設計することは、根底にある摩擦力学がハイブリッドな性質であることから、難易度が高い、という認識に基づく。その結果、不確実性がある状態では、多くの従来のロバスト性のある計画と制御技術をこれらのシステムに適用できない。安定余裕やリアプノフの安定性の概念は非線形動的システムコントローラ設計という状況において相当に研究されているが、このような概念については、接触が多い操作問題において調べられたことがない。これは、ほとんどの場合、安定性を確保するためにコントローラが摩擦相互作用の機械的安定性制約について推論しなければならないことに起因すると考えられる。機械的安定性は、操作中の接触構成に非常に左右されるので、コントローラは、タスク中に所望の接触構成が維持されていること、または、一連の接触が乱された場合であっても安定性を維持できることを保証しなければならない。このようなシステムを解析することは、摩擦がある状態では、微分包含式につながるため、難しい。
本開示のいくつかの実施の形態は、接触が多いタスク中は摩擦が機械的安定余裕を与える、という認識に基づく。摩擦が与える機械的安定性を、摩擦安定性と呼ぶ。この摩擦安定性を最適化中に利用して、不確実性がある状態であっても操作の安定性を可能にすることができる。本開示は、操作中の対象物が2つの外面との滑り接触を維持しなければならない枢動操作タスクに関する。ロボットは、この操作を使用して平坦面上にある部品を再配向し、対象物を操作して所望の姿勢にすることによって把持を可能にしたり、組み立ての支援を可能にしたりする。図1Aは、平坦なテーブルの表面(テーブルトップ)110上に円形の対象物112が置かれているテーブルトップ操作シナリオを示す図である。テーブルトップは、追加の外部接触面111を有するまたは取り付けられるように構成されている。場合によっては、追加の外部接触面111は、金属ブロック(複数可)などのような固形物によって設けられ得、ほぼ平らな面を有して接触Aおよび接触Bをつくり、質量は、操作対象である対象物の質量よりも十分に重い。図11Aおよび図11Bに示すように、ロボットのロボットアームの操作タスクは、ロボット1150のコントローラ(マニピュレータコントローラ)1100のメモリ1130Bに記憶されたコンピュータにより実現される方法に従って、外部接触面111を利用して対象物112を枢動して最初の姿勢112から所望の姿勢113にすることを含み得る。同様に、図1Bでは、ロボット1150の操作タスクは、提案する枢動操作を用いて平坦面110上にあるペグ120の姿勢を操作して所望の姿勢121にすることであり得る。
本発明のいくつかの実施の形態は、コンピュータにより実現される方法を提供する。コンピュータにより実現される方法は、当該コンピュータにより実現される方法を実行する命令を記憶したメモリに連結されたプロセッサを使用する。プロセッサは、方法に従って命令のステップを実行するように構成される。コンピュータにより実現される方法は、対象物が2つの外面との滑り接触を維持する枢動を実行するようにロボットのマニピュレータを操作するように構成される。
上記の式(1)~(7)は、接触力が加えられた際の作業台上の対象物201の動きを判断する非線形入出力関係を定める(すなわち、対象物の接触力と移動との入出力関係を表す)。
図3Aは、対象物301の質量に不確実性がある場合に対象物が受ける接触力の変動を示す図である。実際の質量330が推定よりも少ない場合、ノミナルケースと比較して、点A 310における摩擦力は大きくなるが、点B 320における摩擦力は小さくなる。対照的に、物体の実際の質量330が推定していた質量よりも重い場合、物体は、時計方向に点Bに沿って転げ落ちる可能性がある。この場合、点A 310における摩擦力が小さくなり、点B 320における摩擦力が大きくなるであろうと想像ができる。しかしながら、摩擦力がゼロ以外である限り、対象物は、外部環境と接触したままでいられるであろう。
重心(Center of Mass:CoM)の位置の不確実性についても同様の主張ができるであろう。図3Bは、CoMの位置351は不確実であるが、質量m 331は既知である場合を示す図である。これも、通常の場合と比較して、接触力が点A 311および点B 321に再分散されることにつながる。
本開示のいくつかの実施の形態は、摩擦力を2つの接触箇所に再分散させることができるので、不確実な重力およびモーメントを補償するための安定性に余裕ができる、という認識に基づく。この余裕を、摩擦安定性と呼ぶ。
図4は、対象物401の質量450、430に不確実性がある場合の摩擦安定性の余裕460の概念を示す図である。接触点441にある対象物401に、制御接触力440が加えられる。なお、接触力410および420は、名目上の接触力から再分散し、対象物401の質量の不確実性を補償できる。
上記の式(14)~(15)および(21)~(22)は、対象物の静的平衡のために接触力の再分散を利用することによる対象物の摩擦安定性の非線形関係を表す。
本開示のいくつかの実施の形態は、対象物を枢動するための操作タスクの最適制御問題を設計して解く必要がある、という認識に基づく。場合によっては、ビジョンセンサー(複数可)1102および触覚センサーなどのセンサー1101を用いて接触状態および対象物状態が捕らえられてもよい。対象物状態は、図2の対象物の角度位置θ 250によって表され、これは、ビジョンセンサーを用いて測定できる。操作中に対象物によってつくられる接触が2種類ある。外面と対象物との間には、我々が外部接触と呼ぶ2つの接触がある。たとえば、その場所は、図2、図3A、図3B、図4、および図7において点Aおよび点Bとして示されている。マニピュレータと対象物との間には、1つの接触点がある。たとえば、これは、図2、図3A、図3B、図4、および図7において点Pとして示されている。接触状態は、触覚センサーおよびビジョンセンサーを用いて直接測定するか推定方法を使用するかのいずれかによって測定できる。触覚センサー1101およびビジョンセンサー1102を用いて、マニピュレータと対象物との接触状態の測定、および対象物とマニピュレータとの間の滑りの監視を行うことができる。また、これらのセンサーを用いて、対象物と外部接触面(外部接触)との接触状態の測定、およびそれらにおける滑りの監視を行うことができる。
上記の式では、行列Qおよび行列Rは、操作問題の課題に基づいてユーザが最適化ルーチンに対して行う状態および制御入力のコスト行列である。(24)で指定される最適化問題(23)の制約は、任意の接触構成における対象物の静的平衡の条件および操作問題の運動学的制約によって得られる。これらの静的平衡条件のパラメータは、対象物の質量と、様々な表面の摩擦係数とを含む。操作中の対象物の質量は、一定の不確実性をもってユーザによって提供される。しかしながら、提案する方法は、摩擦係数について完璧な知識を必要とする。これらは、対象物を用いたシステム同定実験を行うことによって得ることができ、図15に示すように提供できる。運動学的制約は、対象物の形状の説明を必要とし、これは、ビジョンセンサー1120を用いて得ることができる。
最適化アルゴリズムの出力は、式(23)の定式化に示すように、制御、状態、および接触力の軌道の最適なシーケンスである。
本開示のいくつかの実施の形態は、軌道最適化の定式化に摩擦安定性を組み込んでロバスト性を得ることを考える必要がある、という認識に基づく。場合によっては、摩擦安定性は、質量およびCoMの位置に不確実性がある状態で複数の接触点が重力およびモーメントを補償できる程度を定義する。
本開示における重要な認識は、(10)~(12)および/または(18)~(22)を(23)~(25)に単純に加えてしまうと、等式制約においてすべての不確実性実現を満たすためのuがないので、最適化問題が不良設定になってしまう、ということである。よって、本開示は、非線形プログラミングソフトウェアを用いて解ける定式化につながる新規な最適化の定式化を提示する。たとえば、非線形プログラミングソフトウェアは、IPOPT(Interior Point OPTimizer)およびSNOPT(Sparse Nonlinear OPTimizer)などの非線形最適化ソルバであってもよい。
本開示のいくつかの実施の形態は、ロバストな操作が2レベル最適化問題につながる、という認識に基づく。図7は、提案する2レベル最適化問題770の方法を示す図である。不確実な質量701の場合、制御力740がある状態では、接触力710および720が再分散されて、対象物760の質量の不確実性が補償される。なお、不確実性(不確実性値)は、正または負の方向750に存在し得る。同様に、不確実なCoMの位置702および固定質量761の場合、接触力711、721が再分散されて、CoMの位置の不確実性751が補償される。不確実性の種類に応じて、2レベル最適化問題は、操作軌道全体にわたって最小摩擦安定性を最大化する。
図8は、ロボットが部品820、830を用いて製品840を組み立てるためのテーブルトップ800操作を行う組み立て操作シナリオを示す図である。所望のタスクは、ペグ830を穴部850に差し込んでから円形のギヤ820をペグ830の上に差し込むことである。しかしながら、ロボットは、現在の構成の円形のギヤ820を把持できず、現在の姿勢のペグ830を差し込むことができない。平坦な台800には、外付けの垂直な平坦面810があり、これは、固定されているが非常に重く、ロボットが移動させることはできない。そして、ロボットは、820および830を面810に当てて枢動できるよう、提案する最適化方法を用いて一連の制御力を計算する。そして、ロボットは、正しい差し込み姿勢の830を把持して穴部850への差し込みを行えるようになる。そして、ロボットは、円形の部品820を把持して(すでに穴部830にある)ペグ830の上に差し込みを行えるようになる。
図9は、平坦なテーブルトップ900上での梱包シナリオを示す図であり、操作タスクは、ブロック920を姿勢920でブロック930と940との間に詰めることである。図から分かるように、ロボットは、ブロック920の姿勢を、所望の姿勢920’で詰め込めるようになる前に操作する必要がある。平坦な台900には、外付けの垂直な平坦面910があり、これは、固定されているが非常に重く、ロボットが移動させることはできない。すると、ロボットは、本開示に提案する最適化方法を用いて、対象物920の姿勢を操作して所望の姿勢920’にすることができるよう、920を910に当てて枢動するための最適な一連の制御力(一連の接触力)を計算する。
以下では、ロボットによる組み立て工程中に部品を再配向するために利用できる、枢動操作のためのロバスト最適化のためのコンピュータにより実現される方法の例について、図10ならびに図11Aおよび図11Bを参照しながら説明する。
図10は、本発明の実施の形態に係る、ロボットシステム1150の操作システム1155が所望の操作タスクを実行するために用いる一連のステップを記述したコンピュータにより実現される方法を示す図である。場合によっては、ロボットシステム1150をロボット1150と称する場合がある。
ロボットシステム1150(図11B)は、マニピュレータアーム1155と、マニピュレータアーム1155上に配置された複数の力センサー1101と、ビジョンシステム1102(少なくとも1つのカメラ)とを備える。複数の力センサー1101(少なくとも1つの力センサーと称する場合がある)は、マニピュレータアーム1155が対象物に対して対象物とマニピュレータとの接触箇所に与えた力を検出するように構成される。ビジョンシステム1102は、少なくとも1つのカメラまたは複数のカメラ、深度カメラ、距離カメラなどであってもよい。ビジョンシステム1102は、対象物と、テーブルトップと、追加の接触面との位置関係を表す対象物状態を観察できるよう、一定の位置に配置されている。ビジョンシステム1102は、ロボットシステム1150の環境において追加の接触面910を有するテーブルトップ900上の対象物の姿勢を推定するように構成される。
ステップ1020では、ビジョンシステム1102が、操作される対象物の姿勢を検出および推定する。ステップ1030では、ロボットコントローラ1100が、部品が所望のタスク(たとえば、組み立て)のために使われる前に再配向される必要があるかどうかを判断するように構成される。コントローラ1100は、2レベル最適化アルゴリズムを用いて対象物に加えられる一連の制御力を計算するように構成される。ステップ1040では、ロボット1150が、対象物に一連の制御力(一連の接触力)を加えて外部接触面(たとえば、810)に当てる。
ステップ1050では、操作コントローラ1100は、計算された一連の制御力についての命令を含んだ制御データを生成して下位のロボットコントローラ(たとえば、マニピュレータのアクチュエータコントローラ)に送信するように構成され、命令が、マニピュレータに、計算された一連の制御力(接触力)を対象物に加えさせる。その後、ステップ1060では、ロボットが、再配向された部品を所望のタスク(組み立てまたは梱包)のために使えるように把持する。
図11Aは、本発明の実施の形態に係る、ロボットの動きを制御するためのロボット制御システム1100を示すブロック図である。
図11Bは、本発明の実施の形態に係る、提案するロバストな軌道最適化問題が生成する軌道に従ってテーブルトップ900上の対象物を操作するためのロボットシステム(ロボット)1150を示す図である。ロボット制御システム1100は、ロボット1150のアクチュエータシステム1103を制御するように構成される。ロボット制御システム1100を、ロボットの制御システムまたはロボットコントローラと称する場合がある。
ロボット制御システム1100は、インタフェースコントローラ1110Bと、プロセッサ1120と、記憶部1130Bとを備え得る。記憶部1130Bは、非線形プログラミングモジュールと、非線形最適化ソルバと、最適化モジュールとを含む、コンピュータにより実現される方法、および所定の対象物についての接触力と移動との入出力関係を表す非線形静的モデルを記憶するように構成される。プロセッサ1120は、1つまたは複数のプロセッサユニットであり得、記憶部1130Bは、記憶装置、データ記憶装置などであり得る。インタフェースコントローラ1110Bは、インタフェース回路であり得、力センサーとビジョンセンサー(複数可)1102とを含むセンサー1101、ならびにロボット1150のモーションコントローラ1150Bとの信号/データ通信を行うためにアナログ/デジタル(A/D)変換器およびデジタル/アナログ(D/A)変換器を備える。さらには、インタフェースコントローラ1110Bは、A/D変換器またはD/A変換器によって使用されるデータを記憶するためのメモリを備え得る。センサー1101は、ロボットとの接触状態を測定するためにロボットのジョイント(ロボットアーム(複数可)またはマニピュレータ)または対象物ピッキング機構1104(たとえばフィンガー)に配置されている。これらのビジョンセンサーは、対象物と、テーブルトップと、追加の接触面との位置関係を表す対象物状態を観察/測定するための視点が得られる任意の位置に配置され得る。
制御システム1100は、アクチュエータコントローラ(デバイス/回路)1150Bを備える。アクチュエータコントローラ1150Bは、ロボットアーム1155、ハンドリング機構、またはジョイントもしくはハンドリングフィンガーの数に応じたハンドリング機構1103-1、1103-2、1103-3および1103-#nを含むアーム1103の組合せを制御するロボットシステム1150を制御するためのアクションパラメータを生成するためのポリシー部1151Bを備える。たとえば、センサー1101は、外部の力だけでなく、対象物の位置を測定するための加速度センサー、角度センサー、力センサー、または触覚センサーを含んでもよい。たとえば、ロボットシステムのロボットアームと対象物との相互作用は、ロボットシステムのロボットアームと対象物との接触状態を捕らえるために相補性制約を用いて表すことができる。すなわち、これらの相互作用は、対象物がロボットアームによって移動されたときのテーブルトップ上の対象物の滑り速度と対象物のテーブルトップとの摩擦との関係によって表される接触状態に基づく。
また、インタフェースコントローラ1110Bは、ロボットに搭載されたロボットの動きの状態を測定/取得するセンサー1101に接続されている。場合によっては、アクチュエータが電動モータである場合、アクチュエータコントローラ1150Bは、ロボットアームの角度またはハンドリング機構による対象物のハンドリングを駆動する個々の電動モータを制御し得る。場合によっては、アクチュエータコントローラ1150Bは、最適化のためのモデリングモジュール1101Bと制御信号のための最適化モジュール1140Bとを含んだ記憶部1130Bが記憶するコンピュータにより実現される方法1000から生成されたポリシーパラメータに応答してロボットの動きを滑らかに加速させるまたは安全に減速させるために、アームに配置された個々のアームの回転を制御し得る。さらには、対象物ハンドリング機構の設計によっては、アクチュエータコントローラ1150Bは、コンピュータにより実現される方法1000が生成する命令に応じたポリシーパラメータに応答して、アクチュエータの長さを制御し得る。
制御システム1100は、RGBD画像を提供する撮像装置またはビジョンセンサー1102に接続される。別の実施の形態では、ビジョンセンサー1102は、深度カメラ、サーマルカメラ、RGBカメラ、コンピュータ、スキャナ、モバイル機器、ウェブカメラ、または、それらの任意の組合せを含み得る。場合によっては、ビジョンセンサー1102をビジョンシステム1102と称する場合がある。ビジョンセンサー1102からの信号は、処理されて、対象物状態を分類、認識、または測定するために利用される。
図12は、ロボットシステム1150が備える制御システム1100の方法1000に従った枢動操作中の対象物の制御された軌道の例を示す図である。
これらの図は、枢動操作プリミティブを用いて組み立てるための様々な対象物/部品を再配向するための一連のアクション、姿勢、ならびに接触構成(1)―(2)―(3)および(1)―(4)―(5)を示している。このような再配向は、組み立て中の部品を最初の姿勢で把持することが容易でない場合、または、組み立て中に挿入される部品が所望の姿勢(ペグなど)ではない場合に必要となる可能性がある。図は、厚いギヤおよび薄いギヤを再配向するためのコントローラの実装時のいくつかの例を示している。図12では、ロボット1150は、フィンガー1104を有する操作アームを用いて平坦面上の部品を再配向し、対象物を操作して所望の姿勢にすることによって把持を可能にしたり、組み立ての支援を可能にしたりする。所望の姿勢は、作業台上にある対象物の目標位置であり得る。なお、この操作は、制御された滑りを必要とするため難易度が高いので、制御軌道のロバスト性を考慮することが必要不可欠である。
実験例
ギヤ1について提案する方法の有効性を実証するため、6DoFマニピュレータを用いてコントローラを実装する。質量が分からない対象物のロバスト性を評価するために、対象物の真の質量とは異なる質量を用いて最適化を解き、得られた軌道を対象物に対して実装する。ギヤについての実装結果を図13に示す。ギヤの実際の質量は140グラムであり、制御された軌道を図13に挙げた質量を用いて計算する、提案するアルゴリズムをテストする。提案する2レベル最適化アルゴリズムを用いて計算された制御された軌道が、質量にかなりの不確実性がある対象物を枢動するすべてのテスト試験に成功できることが分かった。
図13は、ロボットシステム1150が備える制御システム1100の方法1000に従った枢動操作中の対象物の制御された軌道の例を示す図である。これらの図は、図14の(I)~(IV)の4つの異なる対象物についての一連のアクション、姿勢、および接触構成を示している。
図15は、制御された軌道を提案する方法を用いて計算する際に使われた対象物の寸法と様々な面の摩擦係数の一覧を示す図である。特に、図15は、図14に示す4つの対象物についての寸法、質量、および摩擦係数を示している。なお、図15の摩擦の3つの係数は、図2、図3A、図3B、図4A、図4B、および図7にすでに示した接触A、B、およびPの3つの点に対応する。
上述した本開示の実施の形態は、数多くの方法のいずれによっても実現可能である。たとえば、ハードウェア、ソフトウェア、または、それらの組合せを用いて実施の形態を実現してもよい。ソフトウェアで実現された場合、1つのコンピュータ上に配置されていても複数のコンピュータ間で分散されていても任意の適切なプロセッサまたはプロセッサの集まり上でこのソフトウェアコードを実行できる。このようなプロセッサは、1つの集積回路部品に1つ以上のプロセッサを含めた集積回路として実現されてもよい。しかし、プロセッサは、任意の適切なフォーマットの回路を用いて実現されてもよい。
また、本発明の実施の形態は、説明を行った方法として実装されてもよい。方法の一部として実行される動作は、適切に順序付けされてもよい。したがって、例示した順序とは異なる順序で動作を実行する実施の形態が構成されてもよく、例示した実施の形態では連続した動作として示されていたとしても、一部の動作を同時に行うことを含んでもよい。
さらには、「第1」、「第2」などの序数が添付の特許請求の範囲においてクレーム要素を修飾するために用いられていることについては、それ自体が、一方のクレーム要素が他方のクレーム要素よりも優先されること、先行されること、または順番を先にするという意味ではなく、方法に含まれている動作を実行する時間的順序を意味するわけでもなく、ある名称の一方のクレーム要素を同じ名称の他方のクレーム要素と区別するためのラベルとして使用して(しかし、序数の使用にあたって)クレーム要素を区別しているに過ぎない。
好ましい実施の形態を例として本発明を説明したが、本発明の要旨および範囲を逸脱することなく、様々なその他の改作および変更が行われてもよいことを理解されたい。
そのため、添付のクレームの目的は、本発明の趣旨および範囲に含まれるすべてのこのような変形例および変更例を範囲に含むことである。