JP6661001B2 - ワークオフセットを決定するシステムおよび方法 - Google Patents

ワークオフセットを決定するシステムおよび方法 Download PDF

Info

Publication number
JP6661001B2
JP6661001B2 JP2018502167A JP2018502167A JP6661001B2 JP 6661001 B2 JP6661001 B2 JP 6661001B2 JP 2018502167 A JP2018502167 A JP 2018502167A JP 2018502167 A JP2018502167 A JP 2018502167A JP 6661001 B2 JP6661001 B2 JP 6661001B2
Authority
JP
Japan
Prior art keywords
robot
work
work surface
determining
base plane
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018502167A
Other languages
English (en)
Other versions
JP2018522354A (ja
Inventor
デイビス,ベンジャミン,エム.
Original Assignee
エックス デベロップメント エルエルシー
エックス デベロップメント エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エックス デベロップメント エルエルシー, エックス デベロップメント エルエルシー filed Critical エックス デベロップメント エルエルシー
Publication of JP2018522354A publication Critical patent/JP2018522354A/ja
Application granted granted Critical
Publication of JP6661001B2 publication Critical patent/JP6661001B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4083Adapting programme, configuration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33271Convert workpiece to machine coordinates
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36503Adapt program to real coordinates, software orientation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39032Touch probe senses constraint known plane, derive kinematic calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

[001] ロボットシステムは、とりわけマテリアルハンドリング、溶接、組立ておよび分配を伴う応用に使用され得る。時が経つにつれて、これらのロボットシステムが動作する仕方は、より知的に、より効率的に、およびより直感的になっている。ロボットシステムが現代生活の数多くの局面においてますます普及するにつれて、人間と一緒に動作するとともに人間との橋渡し役をすることができるロボットシステムの必要性が明らかになっている。したがって、そのようなロボットシステムの需要は、アクチュエータ、検知技術、コントローラ、ならびにコンポーネントの設計および組立てにおけるイノベーションの場を切り開くのに役立っている。
[002] 例示のシステムおよび方法は、作業環境内のロボットについてのワークオフセットデータの決定をもたらすことができる。ワークオフセットは、ロボットの基部平面に対しての作業環境の作業面の位置および角度向きを説明することができる。ロボットは、作業面を特定することによってワークオフセット決定方法を開始することができる。作業面は、カメラからの画像データに基づき特定され得る。次いで、ロボットは、作業面に向けての経路を決定し、経路に沿って移動を始めることができる。
[003] 作業面にあると、ロボットは、作業面の1つまたは複数の点に接触するように制御することができる。点に接触している間、ロボットは、接触時点でのロボットのポジションに基づいて接触点の位置を決定することができる。ロボットのポジションは、エンコードされた関節角に基づいて決定することができる。ロボットは、3つ以上の点に接触することができる。次に、ロボットは、決定された点位置に基づいて基部平面に対しての作業面の位置および角度向きを決定することができる。ワークオフセットデータは、基部平面に直交するZ軸に沿ったずれ距離、基部平面(傾き)のX軸に関しての角度変位、および基部平面(傾斜)のY軸に関しての角度変位を含み得る。
[004] 一例では、作業環境内で動作するロボットについてのワークオフセットを決定する指示を受信するステップであって、ワークオフセットは、ロボットの基部平面に対しての作業環境の作業面の位置および角度向きを説明する、受信するステップを含む方法が提供される。この方法は、指示に応じて作業環境内の作業面を特定するステップも含むことができる。方法は、作業面の1つまたは複数の点に接触するようにロボットを制御するステップも含むことができる。方法は、それぞれの接触時点でのロボットのそれぞれのポジションに基づいて基部平面に対しての1つまたは複数の接触点のそれぞれの点位置を決定するステップも含むことができる。方法は、1つまたは複数の接触点の決定されたそれぞれの点位置に基づいて基部平面に対しての作業面の位置および角度向きを決定するステップも含むことができる。
[005] 追加の一例では、1つまたは複数のコンピューティング装置によって実行可能である命令を記憶する非一時的なコンピュータ可読媒体が提供される。命令が実行されるとき、この命令は、作業環境内で動作するロボットについてのワークオフセットを決定する指示を受信することであって、ワークオフセットは、ロボットの基部平面に対しての作業環境の作業面の位置および角度向きを説明する、受信することを含む機能を1つまたは複数のコンピューティング装置に実行させる。上記機能は、指示に応じて、作業環境内の作業面を特定することも含むことができる。機能は、作業面の1つまたは複数の点に接触するようにロボットを制御することも含むことができる。機能は、それぞれの接触時点でのロボットのそれぞれのポジションに基づいて基部平面に対しての1つまたは複数の接触点のそれぞれの点位置を決定することも含むことができる。機能は、1つまたは複数の接触点の決定されたそれぞれの点位置に基づいて基部平面に対しての作業面の位置および角度向きを決定することも含むことができる。
[006] 別の例では、プロセッサと、プロセッサによって実行される命令を記憶するメモリとを備えるシステムが開示されている。実行されるときに、この命令は、作業環境内で動作するロボットについてのワークオフセットを決定する指示を受信することであって、ワークオフセットは、ロボットの基部平面に対しての作業環境の作業面の位置および角度向きを説明する、受信することを含む機能をシステムに実行させる。この機能は、指示に応じて、作業環境内の作業面を特定することも含むことができる。機能は、作業面の1つまたは複数の点に接触するようにロボットを制御することも含むことができる。機能は、それぞれの接触時点でのロボットのそれぞれのポジションに基づいて基部平面に対しての1つまたは複数の接触点のそれぞれの点位置を決定することも含むことができる。機能は、1つまたは複数の接触点の決定されたそれぞれの点位置に基づいて基部平面に対しての作業面の位置および角度向きを決定することも含むことができる。
[007] さらなる一例では、システムは、作業環境内で動作するロボットについてのワークオフセットを決定する指示を受信する手段であって、ワークオフセットは、ロボットの基部平面に対しての作業環境の作業面の位置および角度向きを説明する、受信する手段を備えることができる。システムは、指示に応じて、作業環境内の作業面を特定する手段も備えることができる。システムは、作業面の1つまたは複数の点に接触するようにロボットを制御する手段も備えることができる。システムは、それぞれの接触時点でのロボットのそれぞれのポジションに基づいて基部平面に対しての1つまたは複数の接触点のそれぞれの点位置を決定する手段も備えることができる。システムは、1つまたは複数の接触点の決定されたそれぞれの点位置に基づいて基部平面に対しての作業面の位置および角度向きを決定する手段も備えることができる。
[008] 前述の概要は、例示的なものに過ぎず、決して限定していることを意図していない。上記の例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴は、各図および以下の詳細な説明および添付図面を参照することによって明らかになろう。
[009]例示の実施形態によるロボットシステムの構成例を示す図である。 [010]例示の実施形態による例示のロボッティックアームを示す図である。 [011]例示の実施形態による例示のロボッティックアーム、および作業環境内の作業面を示す図である。 [012]例示の実施形態による作業環境内の第1の点に接触する例示のロボッティックアームを示す図である。 [013]例示の実施形態による作業環境内の第2の点に接触する例示のロボッティックアームを示す図である。 [014]例示の実施形態による作業環境内の第3の点に接触する例示のロボッティックアームを示す図である。 [015]例示の実施形態による一例のロボットおよび作業環境内の作業面の側面図である。 [016]例示の実施形態による作業環境内の一例の作業面の側面図である。 [017]例示の実施形態による例示の方法のブロック図である。
[018] 例示の方法およびシステムが本明細書中に記載されている。本明細書中に記載された任意の例示の実施形態は、必ずしも他の実施形態または特徴よりも好ましいまたは有利であると解釈されるべきではない。本明細書中に記載された例示の実施形態は、限定していることを意図していない。本開示のシステムおよび方法のいくつかの態様は、幅広い種類の異なる構成に構成および組み合わせることができ、それらの全てが本明細書中で考えられていることを容易に理解されよう。
[019] さらに、図に示された特定の構成は、限定と見られるべきではない。他の実施形態は所与の図に示された各要素をより多くまたはより少なく備えてもよいことを理解されたい。さらに、例示された要素のいくつかは、組み合わされても、または省かれてもよい。またさらに、例示の実施形態は、図に示されていない要素を備えてもよい。
[020] ロボットは、環境内の物体に作用を及ぼすために、グラウンド平面などの環境内の平面の位置および向きについての情報を学習することができる。例えば、ユーザは、タスクを実行するために、基部を有するロボットを制御することを望む場合がある。しかしながら、ロボットを取り囲む作業環境は、未知であり得る。変数の1つは、作業環境内のグラウンド平面または異なる平面であり得る作業環境の作業面の位置および角度向きであり得る。作業面は、ロボットが操作する1つまたは複数の物体を含むことができる。
[021] 作業面の位置および角度向きは、ロボット基部の平面の位置および角度向きとは異なり得る。具体的には、作業面が上または下に垂直にずれているかは、未知であり得る。さらに、作業面は、基部平面に対して角度のある状態で傾斜している場合がある。作業面が基部平面に対してずれているおよび/または傾斜している量は、ワークオフセットと呼ばれる。
[022] ロボットを精密かつ正確に制御してタスクを実行するために、ユーザは、ワークオフセットの決定を望むことができる。ユーザは、作業面内の3つの点を測定することによってワークオフセットを手動で決定することができる。選択した3つの点に基づいて、次いで、ユーザは、作業面が垂直に(すなわち、Z方向に)ずれたか、ならびに/あるいは基部平面に対して(それぞれ角度方向θおよびθに)傾けられたか、および/または傾斜させられたか決定することができる。しかしながら、ワークオフセットの手動決定の欠点の1つは、作業面の3つの点を精密に測定して作業面寸法を決定することは困難であり得ることである。したがって、ロボットによって実施される自動化されたワークオフセット決定方法は、手動のワークオフセット決定方法よりも、タスクを実行するために、より正確かつ精密なロボット制御をもたらすことができる。
[023] 自動化されたワークオフセット決定は、予め決定された一連の工程を実行することによってロボットにより実施することができる。予め決定されたワークオフセット決定方法は、正確なロボット制御を確実にするために、ロボットが起動すると起動または較正手順として実施され得る。代替として、ロボットは、トラブルシューティングのメカニズムまたはルーチンの保守手順として予め決定されたまたはワークオフセット決定シーケンス実行してもよい。他の実施形態では、ロボットは、他の理由のためにワークオフセット決定方法を実施することができる。
[024] ワークオフセット決定シーケンスは、ロボットをオンにするおよび/またはワークオフセット決定シーケンスを開始することによって始めることができる。次に、ロボットは、作業面上の複数の点に触れることができる。点および/または作業面の位置は、知られていなくてもよい。一実施形態では、ロボットは、作業面の位置の大まかな推定を有する。
[025] 結果として、次いで、ロボットは、同一直線上にない1つまたは複数の点におけるロボットと作業面の間の接触を引き起こすことが予期される方向に移動することができる。具体的には、最初に、ロボットは、ロボットによる第1の点での作業面との接触が検出されるまで第1の方向に沿って作動することができる。この接触は、ロボットの力センサおよび/またはエンドエフェクタによって検出することができる。この点でロボットと作業面の間の接触がなされると、ロボットの作動は、一時的に停止することができる。次いで、接触点の位置は、接触中のロボットのポジションに基づいて決定することができる。
[026] 接触点の位置が決定されると、ロボットは、先の接触点と同一直線上にない作業面の1つまたは複数の追加の点に接触するために同様のやり方で再び作動することができる。同様に、1つまたは複数の追加の点の位置は、接触時のロボットのポジションに基づいて決定することができる。一実施形態では、ロボットは、作業面の3つ以上の点に触れることができる。
[027] 接触点の位置が決定完了すると、次いで、ロボットは、基部平面に対しての作業面の傾きおよび傾斜を計算することができる。加えて、ロボットは、基部平面に対しての作業面の垂直なずれの高さを計算することもできる。傾き、傾斜、および高さが計算完了すると、次いで、ロボットは、基部平面に対しての作業面の傾き寸法、傾斜寸法、および高さ寸法としてワークオフセットを表すことができる。ロボットは、作業環境内で1つまたは複数のタスクを実行するために、ワークオフセットデータを使用することができる。
[028] いくつかの実施形態では、ロボットによるワークオフセット決定シーケンスは、一度だけ実行することができる。例えば、作業面が固定され変わらない場合、ワークオフセット決定シーケンスは、一度だけ実行されることが必要であり得る。一実施形態では、ロボット基部は、固定テーブルに取り付けることができる。代替として、ワークオフセット決定シーケンスは、ロボットによって複数回実行することができる。詳細には、ロボット基部が移動する場合、または作業面が変わる場合、ワークオフセット決定シーケンスは、作業面の任意の追加の傾斜および/またはずれを明らかにするために再び実行することができる。
[029] 一例では、ワークオフセット決定シーケンスは、ロボットがコンベヤベルトに沿って移動しているパレットを持ち上げているまたはそれと共に働いているときに、複数回実行することができる。この場合には、各パレットは、特有のサイズ、高さ、傾き、および/または傾斜を有することができる。したがって、パレットごとに、ロボットは、ワークオフセット決定シーケンスを実行して特定のパレットについてのワークオフセットを決定することができる。具体的には、ロボットは、ロボット基部の平面に対してのパレットの平面の垂直なずれ(例えば、Z方向)、傾き、および傾斜(それぞれ角度方向θおよびθ)を決定する。したがって、本実施形態では、ロボットが静止していても、ワークオフセット決定シーケンスは、作業面(例えば、異なるパレット)の変化により複数回実行することができる。
[030] 一実施形態では、ロボットは、作業面の寸法の最初の推定を得るためにカメラに頼ることができる。例えば、ロボットは、作業面の垂直なずれならびに/あるいは傾きおよび/または傾斜の最初の推定を決定するために、ありふれた深さカメラを使用することができる。いくつかの実施形態では、ロボットは、複数の平面についてのワークオフセットを決定することができる。コンベヤベルトおよびパレットの例に戻って参照すると、ロボットは、特定のパレットごとにワークオフセットを決定することができる。正確かつ精密なワークオフセットを計算することによって、ロボットは、タスクを正確かつ精密により良く実行することができる。
[031] 次に図を参照すると、図1は、ロボットシステム100の構成例を示す。ロボットシステム100は、ロボッティックアーム、様々なタイプのロボティックマニピュレータとすることができ、またはそれは、いくつかの異なる形態を有することができる。加えて、ロボットシステム100は、ロボット装置、ロボティックマニピュレータ、またはロボットなどと呼ばれることもあり得る。
[032] ロボットシステム100は、プロセッサ102と、データストレージ104と、プログラム命令106と、コントローラ108と、センサ110と、電源112と、アクチュエータ114と、可動コンポーネント116とを備えることが示されている。ロボットシステム100は、本発明の範囲から逸脱することなく、ロボットシステム100が、追加のコンポーネントを含むことができ、および/または1つまたは複数のコンポーネントを取り除くことができるものとして例示の目的で示されているものに過ぎないことに留意されたい。さらに、ロボットシステム100の様々なコンポーネントは、任意のやり方で接続することができることに留意されたい。
[033] プロセッサ102は、汎用プロセッサまたは特定目的プロセッサ(例えば、デジタル信号プロセッサ、特定用途向け集積回路など)であり得る。プロセッサ102は、データストレージ104に記憶されているとともに、本明細書中に記載されたロボットシステム100の機能性を与えるように実行可能であるコンピュータ可読プログラム命令106を実行するように構成することができる。例えば、プログラム命令106は、コントローラ108の機能性を与えるように実行可能とすることができ、ここで、コントローラ108は、1つまたは複数の可動コンポーネント116の移動を引き起こすようアクチュエータ114を命令するように構成することができる。
[034] データストレージ104は、プロセッサ102によって読み込みまたはアクセスすることができる1つまたは複数のコンピュータ可読記憶媒体を含むことができるまたはその形態をとることができる。1つまたは複数のコンピュータ可読記憶媒体は、光、磁気、有機、または他のメモリまたはディスクストレージなどの揮発性および/または不揮発性記憶コンポーネントを含むことができ、これは、プロセッサ102と全部または一部において一体化することができる。いくつかの実施形態では、データストレージ104は、単一の物理的装置(例えば、1つの光、磁気、有機、または他のメモリまたはディスクストレージユニット)を用いて実現することができ、一方、他の実施形態では、データストレージ104は、2つ以上の物理的装置を用いて実現することができる。さらに、コンピュータ可読プログラム命令106に加えて、データストレージ104は、他の実現可能なものの中でも診断データなどの追加のデータを含むことができる。
[035] ロボットシステム100は、他の実現可能なものの中でも力センサ、近接センサ、運動センサ、荷重センサ、ポジションセンサ、タッチセンサ、深度センサ、超音波距離センサ、および赤外線センサ等などの1つまたは複数のセンサ110を含み得る。センサ110は、ロボットシステム100が環境に及ぼす適切な相互作用を可能にするようにセンサデータをプロセッサ102に供給することができる。加えて、センサデータは、さらに後述するように、フィードバックを与えるために様々なファクタの評価に使用することができる。さらに、ロボットシステム100は、ロボットシステム100の様々なコンポーネントに電力を供給するように構成された1つまたは複数の電源112を備えることもできる。例えば、ガソリンエンジン、またはバッテリなどの任意のタイプの電源を使用することができる。
[036] ロボットシステム100は、1つまたは複数のアクチュエータ114を備えることもできる。アクチュエータは、機械的運動を導入するために使用することができる機構である。詳細には、アクチュエータは、蓄えられたエネルギーを1つまたは複数のコンポーネントの移動に変換するように構成することができる。アクチュエータに動力を供給するために様々な機構が使用され得る。例えば、アクチュエータは、他の実現可能なものの中でも化学物質、圧縮空気、または電気などによって動力を供給することができる。場合によっては、アクチュエータは、回転の運動形態(例えば、ロボットシステム100内の関節)を含むシステムに使用することができる回転式アクチュエータであってもよい。他の場合には、アクチュエータは、直線運動を伴うシステムに使用することができるリニアアクチュエータであり得る。
[037] どちらの場合にも、アクチュエータ114は、ロボットシステム100様々な可動コンポーネント116の移動を引き起こすことができる。可動コンポーネント116は、ロボッティックアーム、脚、および/またはハンド等などの付属物を含み得る。可動コンポーネント116は、可動基部、ホイール、および/またはエンドエフェクタ等も含み得る。
[038] いくつかの実施では、コンピューティングシステム(図示せず)は、ロボットシステム100に結合することができるとともに、グラフィカルユーザインタフェースなどを介してユーザから入力を受け取るように構成することができる。このコンピューティングシステムは、ロボットシステム100内に組み込みことができ、またはロボットシステム100と(有線または無線)通信することができる外部コンピューティングシステムとすることができる。したがって、ロボットシステム100は、他の実現可能なものの中でもグラフィカルユーザインタフェースにおけるユーザ入力、および/またはロボットシステム100上のボタンの押下(または触覚入力)を介して受け取られるユーザ入力などに基づいて情報および命令を受信することができる。
[039] ロボットシステム100は、様々な形態をとることができる。例示するために、図2は、例示のロボッティックアーム200を示す。図示の通り、ロボッティックアーム200は、固定基部とすることができるまたは可動基部とすることができる基部202を備える。可動基部の場合、基部202は、可動コンポーネント116の1つとみなすことができ、アクチュエータ114のうち1つまたは複数によって動力が供給されるホイール(図示せず)を備えることができ、これによってロボッティックアーム200全体の移動性を可能にする。
[040] 加えて、ロボッティックアーム200は、アクチュエータ114の1つまたは複数にそれぞれ結合された関節204A〜204Fを備える。関節204A〜204Fにおけるアクチュエータは、付属物206A〜206Fおよび/またはエンドエフェクタ208などの様々な可動コンポーネント116を移動させるように動作することができる。例えば、関節204Fにおけるアクチュエータは、付属物206Fおよびエンドエフェクタ208を移動させることができる(すなわち、エンドエフェクタ208が付属物206Fに結合されるからである)。さらに、エンドエフェクタ208は、様々な形態をとることができるとともに、様々な部品を含むことができる。一例では、エンドエフェクタ208は、本明細書に示されるようなフィンガグリッパなどのグリッパ、または吸引グリッパなどの異なるタイプのグリッパの形態をとることができる。別の例では、エンドエフェクタ208は、ドリルまたはブラシなどのツールの形態をとることができる。さらに別の例では、エンドエフェクタは、力センサ、位置センサ、および/または近接センサなどのセンサを含み得る。他の例も可能であり得る。
[041] 例示の実施では、ロボッティックアーム200などのロボットシステム100は、教示モードで動作することが可能であり得る。詳細には、教示モードは、ユーザが、様々な移動を実行し記録する方にロボッティックアーム200と物理的に相互作用し案内することを可能にするロボッティックアーム200の動作モードであり得る。教示用モードでは、特定のタスクを実行する仕方に関してロボットシステムを教示するように意図されている教示用入力に基づいて、外力が(例えば、ユーザによって)ロボットシステム100へ加えられる。このようにして、ロボッティックアーム200は、ユーザからの命令およびガイダンスに基づいて特定のタスクを実行する仕方に関してのデータを得ることができる。そのようなデータは、他の実現可能なものの中でも可動コンポーネント116の複数の構成、関節ポジションデータ、速度データ、加速度データ、トルクデータ、力データ、および電力データ等に関連し得る。
[042] 例えば、教示モード中、ユーザは、ロボッティックアーム200の任意の部分を把持し、ロボッティックアーム200を物理的に移動することによって外力を与えることができる。詳細には、ユーザは、物体を把持している方へロボッティックアーム200を案内し、次いで第1の位置から第2の位置まで物体を移動させることができる。ユーザが教示モード中にロボッティックアーム200を案内するとき、システムは、独立動作中(例えば、ロボッティックアーム200が教示モード以外で独立して動作するとき)の将来の時点でロボッティックアーム200がタスクを独立して実行するように構成することができるように、移動に関連したデータを得て記録することができる。しかしながら、この外力は、他の実現可能なものの中でも他の物体、機械、および/またはロボットシステム等などによる物理的作業空間内の他の存在によって加えることもできることに留意されたい。
[043] 図3A〜図3Dは、作業環境300の一実施形態を示す。示された実施形態では、ロボット100のロボットアーム302は、様々なポジションで示されている。図3A〜図3Dには、ロボットアーム302は、第1のポジション306、第2のポジション307、第3のポジション308、および第4のポジション309に示されている。図3B、図3C、および図3Dのロボットポジションは、異なる時間におけるロボットのポジションを示すために、破線を用いて示されている。ロボットアーム302は、第1の点316に接触するために第2のポジション307へ移動する。次いで、ロボットアーム302は、第2の点318に接触するために、第3のポジション308へ移動する。最後に、ロボットアーム302は、第3の点320に接触するために、第4のポジション309へ移動する。ロボットアーム302は、示された実施形態に示されたものよりもより多い、より少ない、および/または異なる点に接触するために、より多い、より少ない、および/または異なるポジションへ移動してもよい。
[044] 示された作業環境300では、ロボットアーム302は、図2のロボッティックアーム200と同じロボットアームとすることができる。基部平面303は、ロボットアーム302の基部に位置することができる。原点304および凡例305も、示されている。凡例305は、基部平面303を定めるX軸およびY軸を示す。原点304は、基部平面303内の点である。いくつかの実施形態では、原点304のXYZ座標(X,Y,Z)は、(0,0,0)として定めることができる。凡例305のZ軸は、基部平面303に直交することができる。他の実施形態では、異なる基部平面、点、および/または座標系が、可能であり得る。いくつかの実施形態では、基部平面303の位置および向き、原点304、および/または凡例305は、ロボット100による基部平面303に対して定めることができる。
[045] ロボッティックアーム302は、作業面312についてのワークオフセットを決定するために1つまたは複数の点316、318、および320に接触するように制御することができる。凡例314および中心点322も、示されている。凡例314は、作業面312を定める作業面のX軸(XWP)、および作業面のY軸(YWP)を含む。凡例314は、作業面に直交するZ軸(ZWP)も含む。作業面312は、中心点322も含むことができ、点位置は(X,Y,Z)にある。いくつかの実施形態では、中心点は、3つの点316、318、および320の中間点を表すことができる。加えて、作業面312は、接触点316、318、および320を含む。他の実施形態では、異なる作業面、点、および/または座標系が、可能であり得る。
[046] 図3A〜図3Dの示された実施形態では、作業面312は、作業環境300のグラウンド平面とすることができる。代替として、作業面312は、作業環境内の異なる平面であり得る。例えば、一実施形態では、作業面312は、パレットの上面であり得る。
[047] 加えて、作業環境300は、複数の作業平面を含むことができる。例えば、作業環境300は、コンベヤベルトを含むことができ、このコンベヤベルトの上で複数のパレットが搬送される。本実施形態では、各パレットの上面は、別々の作業面と考えることができる。コンベヤベルト上の各パレットは、異なる高さであり得るとともに、上面ごとに異なる傾き角度および/または傾斜角度を含む異なる角度向きを有し得る。したがって、パレットごとに、特定の作業面は、ロボットアーム302の基部平面303に対しての特定のワークオフセットを有することができる。
[048] さらに、作業面312は、ロボットが操作する1つまたは複数の物体330および332を含むことができる。詳細には、1つまたは複数の物体は、作業面312の面上に静止していることができる。例えば、作業面312がグラウンド平面である図3A〜図3Dの示された実施形態では、1つまたは複数の物体330および332は、ロボット100がロボッティックアーム302を用いて操作するように、グラウンド上にあり得る。作業環境300および作業面312の他の実施形態も可能である。
[049] ロボット100は、基部平面303に対して作業面312についてのワークオフセットを決定する方法を実施することができる。ワークオフセットは、ロボットの作業面312と基部平面303の間のオフセット(または変化)を説明する。正確かつ精密なワークオフセットを計算することによって、ロボットは、作業面についてのタスクを精密かつ正確に実施することが可能とされ得る。例えば、ロボットは、ワークオフセット決定により、作業面上に静止している1つまたは複数の物体330および332をより正確かつ精密に操作することができる。
[050] いくつかの実施形態では、ワークオフセットは、基部平面303に対して作業面312の位置および角度向きを含むことができる。詳細には、ワークオフセット位置は、基部平面303に直交する凡例305のZ軸に沿ったずれ距離を用いて説明することができる。基部平面303に対しての作業面312の角度向きは、傾きについての角度変位値、および傾斜についての角度変位値を用いて説明することができる。傾き値θは、凡例305のX軸に関して作業面312の角回転を説明することができる。傾斜値θは、凡例305のY軸に関して作業面312の角回転を説明することができる。傾き値および傾斜値は、図4Aおよび図4Bに示されており、それについてより詳細に説明される。
[051] ずれ距離は、基部平面303上の点と作業面312上の点の間のZ座標に差をとることによって計算される。基部平面の点は原点304とすることができ、一方、作業面の点は中心点322とすることができる。しかしながら、基部平面および/または作業面についての別々の点は、ずれ距離を決定するために使用することができる。作業面の点(例えば、中心点322、第1の点316、第2の点318、第3の点320、または何らかの他の作業面の点)は、(凡例314とは対照的に)凡例305に基づいてXYZ座標を用いて表すことができる。しかしながら、凡例314などの他の座標系が使用されてもよい。
[052] ワークオフセット決定方法は、ロボット100のプロセッサによって実行されるメモリに記憶された命令のセットを含む自動化された手順であり得る。ワークオフセット決定方法は、様々な状況においてロボット100によって実施され得る。例えば、ワークオフセット決定方法は、ロボット100の起動後に実行される起動手順であり得る。代替として、ワークオフセット決定方法は、ロボット100によって検出された検出エラーまたは予期せぬ結果に応じてトラブルシューティングの目的で実施されてもよい。
[053] ワークオフセット決定方法が実施され得るときに関するさらに別の例は、作業環境300の作業面312の変化を検出するロボット100を含む。代替として、ロボット100は、ロボット100の基部平面303の変化の決定に応じてこの方法を実施することができる。別の代替例は、ロボット100による作業環境300の変化の検出を含むことができ、これは作業面312の変化を示唆し得る。代替として、ワークオフセット決定方法は、ルーチンの保守手順としてロボット100によって実施されてもよい。他の理由も、ロボット100がワークオフセット決定方法を実施するために存在し得る。
[054] いくつかの実施形態では、ロボットアーム302の基部は、テーブルなどの物体上に固定することができる。この筋書では、ワークオフセット決定方法は、基部平面が変化しないのでそれほど度々実施され得ない。詳細には、作業面が典型的に床である場合、ワークオフセット決定方法は、作業面および基部平面が変化しないので一度だけ実施され得る。代替として、ロボットは、物体に固定されなくてもよい。この場合には、ワークオフセット決定方法は、基部平面がより頻繁に変化し得るので、もっと度々実施され得る。いくつかの実施形態では、基部平面の位置および向きは、ロボットによって既知であるが、他の実施形態では、基部平面の位置および向きは未知である。
[055] ロボット100は、作業環境300内の作業面312を特定することによってワークオフセット決定方法を開始することができる。示された実施形態では、ロボット100は、グラウンド平面(例えば、床)を作業環境300の作業面312として特定することができる。1つまたは複数のパレットを搬送するコンベヤベルトを備えた実施形態などの他の実施形態では、ロボット100は、特定のパレットの上面を作業環境の作業面として特定することができる。ロボット100が作業環境300の平面を作業面312として特定する他の実施形態も可能である。
[056] いくつかの実施形態では、特定された作業面は、平面でない場合がある。例えば、特定された作業面は、平面でない床の場合がある。しかしながら、床のある部分は、比較的平面であり得、したがってワークオフセット決定のための方法は、床の比較的平面の部分内に位置する作業面を定める点に少なくともまだ使用することができる。非平面の物体が作業面として特定される他の実施形態も可能であり得る。
[057] 作業環境300の作業面312を特定するとき、ロボットは、カメラから受信した画像データに頼ることができる。いくつかの実施形態では、カメラは、ロボット上に設けることができるが、他の実施形態では、画像データは、遠隔カメラから受信することができる。いくつかの実施形態では、画像データは、作業面312として最終的に特定される平面の少なくとも一部を示すことができる。代替として、ロボットは、作業面312の位置を推定するまたは示すおおよそのまたは大まかなデータを受信することができる。ロボット100は、データ(例えば、画像データ、受信した位置データ、大まかなデータなど)を使用して作業環境300の作業面312を特定することができる。
[058] 次に、ロボット100は、特定された作業面312の方に沿って移動するための経路を決定することができる。決定された経路は、ロボットが作業面312の方に移動するときに、ロボットが障害物および/または衝突を避けることを可能にすることができる。決定された経路は、ロボットが移動して作業面312に到着するのにより短い、好ましい、および/またはより効率よい経路であり得る。他の経路が、ロボットが移動して作業面312に到着する経路として決定されてもよい。
[059] いくつかの実施形態では、ロボットは、作業面312の正確な位置を知らずに経路をナビゲートすることができる。ロボットは、作業面312の位置の大雑把な推定を用いて決定された経路に沿って作業面に向けて移動することができる。いくつかの実施形態では、ロボット100は、作業面312についてのワークオフセットを決定するためにロボットが接触する1つまたは複数の点(例えば、316、318、および320)の位置を知らない。しかしながら、他の実施形態では、ロボットは、作業面312のワークオフセットを決定するためにロボットが接触する作業面312および/または1つもしくは複数の点についての正確なおよび/または精密な位置を有することができる。
[060] ロボットが作業面312に到着すると、ロボットアーム200は、1つまたは作業面上の複数の点に接触するように制御することができる。一実施形態では、ロボットは、作業面内の少なくとも3つの点に接触するように制御される。ロボットが第1の点に接触したら、ロボットは、第2の点で作業面に接触するように作業面312の異なる位置に向けて移動することができる。再び、ロボットが作業面上の第2の点についての位置に向けて移動するとき、ロボットは、作業面および/または第2の点の正確な位置を知らなくてもよい。同様に、ロボットは、作業面または第3の点の正確な位置を知らずに作業面の第3の点に接触するように作業面の他の異なる位置に向けて経路に沿って移動することもできる。他の実施形態では、ロボットは、作業面の位置および/または作業面に接触する1つもしくは複数の点の位置を知っていてもよい。
[061] 次に、ロボットは、作業面に接触した点の位置を決定することができる。ロボットは、接触の時点でのロボットのポジションを決定することによって作業面上の接触点の位置を決定することができる。点の位置は、凡例305に基づいてXYZ座標として表現することができる。しかしながら、点の位置は、異なる座標系(例えば、凡例314)を用いて表現することができる。示された実施形態は、3つの点についての位置を決定するロボットを示すが、他の実施形態では、ロボットは、作業面312のより多いまたはより少ない点についての位置を決定することができる。いくつかの実施形態では、接触点は、同一直線上になくてもよい。
[062] 接触点の点位置がロボットによって決定されると、次いで、ロボットは、ワークオフセットを決定することができる。ワークオフセットは、基部平面303に対しての作業面312の位置および角度向きを説明する。示された実施形態では、ワークオフセットは、ずれ距離、傾き値、および傾斜値によって説明される。詳細には、図3Aでは、作業面312は、ワークオフセット(Z,θ,θ)を用いて表され、ただし、「Z」はずれ距離を表し、θは傾き値を表し、θは傾斜値を表す。しかしながら、ワークオフセットは、異なる寸法、値、および/または座標系を用いて表されてもよい。
[063] 例えば、図3Aでは、ロボット100は、作業面312を作業環境300の作業面として特定することができる。次いで、ロボットアーム302は、作業面312に接触するように沿って移動する経路を決定することができる。ロボット100は、作業面312の正確な位置、またはロボットアーム302が作業面312に接触する点を知ることはできない。
[064] 次に、図3Bは、第1の点316で作業面312に接触するために第1のポジション306から第2のポジション307まで決定された経路に沿って移動するロボットアーム302を示す。ロボット100は、決定した経路に沿って移動する間、点316についての作業面312の位置の知識を有していなくてもよい。ロボットアーム302が第1の点316で作業面312に接触するとき、ロボット100は、力検知データ、および接触中のロボットのポジションを示すデータを受信することができる。ロボット100は、ロボットポジション情報を使用して(X,Y,Z)となる第1の点316の位置を決定することができる。次いで、ロボットは、第1の点316との接触を終え、第2の点で作業面312に接触するように沿って移動する経路を決定することができる。
[065] 図3Cは、第2の点318で作業面312に接触するために、第2のポジション307から第3のポジション308まで決定された経路に沿って移動するロボットアーム302を示す。ロボット100は、ロボットアーム302が経路に沿って移動する間、作業面312または点318の位置の知識を有してなくてもよい。ロボットアーム302が第2の点318で作業面312に接触するとき、ロボット100は、力検知データ、および接触中のロボットのポジションを示すデータを受信することができる。ロボット100は、ロボットポジション情報を使用して(X,Y,Z)となる第2の点318の位置を決定することができる。次いで、ロボットは、第2の点318との接触を終え、第3の点で作業面312に接触するように沿って移動する経路を決定することができる。
[066] 図3Dは、第3の点320で作業面312に接触するために、第3のポジション308から第4のポジション309まで決定された経路に沿って移動するロボットアーム302を示す。ロボット100は、ロボットアーム302が経路に沿って移動する間、作業面312または320中の点の位置の知識を有してなくてもよい。ロボットアーム302が第3の点320で作業面312に接触するとき、ロボット100は、力検知データ、および接触中のロボットのポジションを示すデータを受信することができる。ロボット100は、ロボットポジション情報を使用して(X,Y,Z)となる第3の点320の位置を決定することができる。次いで、ロボットは、第3の点320との接触を終えることができる。ロボットが点316、318、および320についての点位置を決定したら、次いで、ロボット100は、基部平面303に対しての作業面312についてのワークオフセットを計算することができる。
[067] ロボットアーム302が作業面の点(例えば、316、318、および320)に接触するときにロボット100によって取集されるデータは、力検知データ、ロボットのポジションについてのデータ、および/または他の情報を含むことができる。ロボットアーム302が点で作業面に接触するときに、ロボット100は、ロボットアーム302の移動を停止することができ、それによってロボットアーム302は、ロボット100がデータを収集することができるように点での作業面312に接触したままとなる。次いで、ロボット100は、作業面312との接触を終わらすようにロボットアーム302を移動することができる。
[068] 力検知データは、ロボットアーム302が点で作業面312に接触するときに、力フィードバックセンサを介してロボット100によって取得される。力フィードバックセンサは、ロボットアーム302上に、またはロボット100上のいくつかの他の点に設けることができる。力フィードバックセンサは、ロボットアーム302が作業面312に接触しているときを示すために使用される。センサは、接触の精密かつ正確な測定値を得ることができるようにセンサが受けた力に敏感であるように設計することができる。接触の精密かつ正確な測定値は、ロボットが精密かつ正確なワークオフセットを決定することを可能にし、これは、ロボットアーム302の精密かつ正確な制御を可能にする。
[069] 力フィードバックセンサはロボットアーム302が作業面312に接触していることを示すデータを受信すると、センサは、ロボット100がデータを集める間、ロボット100がロボットアーム302の移動を停止することを可能にする。ロボットアーム302の移動を中断することによって、力センサは、ロボットアーム302、作業面312、およびロボット100が、繰り返しまたは過度の接触による何らかのさらなる損傷を受けるのを防ぐのを助ける。
[070] 力フィードバックセンサを使用する代わりに、他の力を監視する方法が、ロボットと作業面の間の接触を決定するために使用されてもよい。例えば、ロボットは、モータ電流の監視、エンコーダの偏差の監視、または他のロボットの力検出方法の利用によって力を検知することができる。力を検知する方法が、ロボットと作業面の間の接触を決定するために用いられてもよいが、他の接触決定方法も可能である。例えば、ロボットは、(エンコーダまたは何らかの他の方法を用いて)ロボット動作の一時停止を監視し、作業面とロボットアーム(またはロボットの何らかの他の部分)との間の電気的連続性を監視し、またはロボット工学に使用される異なるタイプの接触および/もしくは非接触センサを使用することができる。
[071] ロボット100は、ロボットアーム302が作業面312に接触する間、ロボットについてのポジションデータを得るおよび/または決定することもできる。いくつかの実施形態では、データは、ロボットに取り付けられたIMUを用いて取得することができ、一方、他の実施形態では、ロボットに取り付けられた他のセンサが使用され得る。ロボットのポジションは、点でロボットアーム302と作業面312の間で接触中にエンコードされた関節角に基づいて決定することができる。ロボットの決定されたポジションに基づいて、ロボットは、ロボットアーム302によって接触される1つまたは複数の点の位置を決定することができる。決定された点位置を用いて、次いで、ロボット100は、作業面312についてのワークオフセットを決定することができる。
[072] 図3A〜図3Dは、作業面とのロボットアームの接触に基づいて点位置を決定する方法を示すが、点位置は、ロボットアームが作業面に接触することなく決定することができる。例えば、(光学タイプの近接センサ、誘導タイプの近接センサ、静電容量タイプの近接センサ、または他のタイプの近接センサなどの)ある種の近接センサは、ロボットが作業面から特定の閾値距離に到達するときを検出するように使用することができる。この場合には、ロボットは、作業面の位置の大まかな推定を知ることもまたは有することもできる。次いで、ロボットは、知られているロボットポジション、ロボットと作業面の間の距離、ならびに作業面の位置に基づいて点位置を決定することができる。他の点位置決定方法も可能であり得る。
[073] 図4Aおよび図4Bは、ロボットアーム402および作業環境401の一実施形態を示す。図4Aは、作業環境401内のロボッティックアーム402の側面図400である。基部平面403は、ロボッティックアーム402の基部に位置することができる。基部平面403は、凡例405のX軸およびY軸によって定められる。基部平面403は、位置(X,Y,Z)を有する原点404を含む。いくつかの実施形態では、原点404は、(0,0,0)に位置する。凡例405は、基部平面403に直交するZ軸も含む。凡例405のY軸に平行であるとともにロボットアーム402の有利な点から物体410および430を見る視線方向408が、示されている。
[074] 図400も、物体410および430を示す。物体410は、ロボット100によって作業面として特定された上面412を含む。作業面412の傾き値θ414は、凡例405のX軸に関して基部平面403に対しての作業面412の角度変位を表す。傾き値θ414は、作業面412と基準軸416の間の角度の測定値に等しい。基準軸416は、凡例405のY軸に平行である軸である。他の実施形態では、傾き値414は、作業面412の角度変位の異なる測定値を表し得る。
[075] 図4Bでは、450は、ロボットアーム402の有利な点から視線方向408に沿った作業環境401内の物体430の側面図である。図4Aおよび図4Bでは、物体430は、ロボット100によって作業面として特定された上面432を含む。作業面432の傾斜値θ434は、凡例405のY軸に関して基部平面403に対しての作業面432の角度変位を表す。傾斜値θ434は、作業面432と基準軸436の間の角度の測定値に等しい。基準軸436は、例405のX軸に平行である軸である。他の実施形態では、傾斜値434は、作業面432の角度変位の異なる測定値を表し得る。
[076] 図5は、例示の実施形態によるツールオフセットを決定することを可能にすることができる方法500を示す流れ図を示す。方法500は、図1に関して図示および説明されたロボットなどのロボットによって実施することができる。しかしながら、ロボット制御システム、または図1に記載されたロボットとは異なる何らかの他の装置も、方法500を実施することができる。
[077] さらに、本明細書中に記載された流れ図と共に説明される機能性は、図5に示された流れ図と共に説明される特定の論理機能、決定、および/または工程を実現するための特定機能および/または設定された汎用機能のハードウェアモジュール、プロセッサによって実行されるプログラムコードの一部として実施することができることに留意されたい。使用される場合、プログラムコードは、任意のタイプのコンピュータ可読媒体、例えば、ディスクまたはハードドライブを含む記憶装置などに記憶することができる。
[078] 加えて、図5に示された流れ図の各ブロックは、プロセス内の特定の論理機能を実行するように配線されている回路構成を表すことができる。特に示されない限り、図5に示された流れ図の機能は、記載された方法の機能性全体が維持される限り、含まれる機能性に応じて、いくつかの例では別個に記載された機能をほぼ同時に実行することまたは逆の順序でも実行することを含めて図示または説明されたものとは異なる順序で実行することができる。
[079] 図5のブロック502によって示されるように、方法500は、作業環境内で動作するロボットについてのワークオフセットを決定する指示を受信することを含むことができ、ただし、ワークオフセットは、ロボットの基部平面に対しての作業環境の作業面の位置および角度向きを説明する。いくつかの例では、指示は、作業面の変化、基部平面の変化、ロボットの初起動、ルーチンの保守、あるいはエラーまたは予期せぬ結果のトラブルシューティングであり得る。
[080] 方法500は、図5のブロック504によって示されるように、指示に応じて作業環境内の作業面を特定することをさらに含むことができる。いくつかの例では、ロボットは、ロボットのカメラから受信した画像データに基づいて作業面を特定することができる。方法500は、図5のブロック506によって示されるように、作業面の1つまたは複数の点に接触するようにロボットを制御することを含むこともできる。いくつかの例では、ロボットは、ロボットが作業面に接触したことを示す力検知データを受信することができる。追加の例では、ロボットは、受信した力検知データに応じて接触点に接触するようにロボットを制御することを止めることができる。
[081] 図5のブロック508によって示されるように、方法500は、それぞれの接触時点でのロボットのそれぞれのポジションに基づいて基部平面に対しての1つまたは複数の接触点のそれぞれの点位置を決定することをさらに含むことができる。いくつかの例では、ロボットのポジションは、エンコードされた関節角に基づいて決定することができる。追加の例では、ロボットは、少なくとも3つの点に接触し、したがって少なくとも3つの点位置を決定することができる。
[082] 方法500は、図5のブロック510によって示されるように、1つまたは複数の接触点の決定されたそれぞれの点位置に基づいて基部平面に対しての作業面の位置および角度向きを決定することをさらに含むことができる。いくつかの例では、作業面の位置は、基部平面に直交するZ軸に沿ったずれ距離によって説明することができる。追加の例では、基部平面に対しての作業面の角度向きは、基部平面(傾き)のX軸に関しての角度変位、および基部平面(傾斜)のY軸に関しての角度変位によって説明することができる。
[083] 本開示のシステムおよび方法にとって、ロボットを用いる様々な応用および環境が可能である。例えば、ロボットについてのワークオフセットの決定が適用可能であり得るいくつかの環境には、製造設備、郵便または出荷設備、空港、病院、またはロボットを用いる他の環境が含まれる。さらに、作業環境におけるロボットについてのワークオフセットの決定が適用可能であり得る他の応用には、建設、出荷、製造、ヘルスケア、および/またはロボットを用いる他の応用が含まれる。本開示のシステムおよび方法についての他の適用可能な環境および応用も可能であり得る。
[084] 本開示は、様々な態様の例示として意図されている本出願に記載された特定の実施形態の観点に限定されるべきではない。多くの修正および変形は、当業者にとって明らかであるので、本開示の趣旨および範囲から逸脱することなくなされてもよい。本開示の範囲内の機能的に均等な方法および装置は、本明細書中に挙げられたものに加えて、前述の説明から当業者に明らかであろう。そのような修正および変形は、添付の特許請求の範囲内に含まれることが意図される。
[085] 上記の詳細な説明は、開示されたシステム、装置、および方法の様々な特徴および機能を、添付図面を参照して説明する。各図において、文脈上別段の指示がない限り、典型的には同様の記号は、同様の構成要素を特定する。本明細書および図面に記載された例示の実施形態は、限定していることを意図していない。本明細書中に提示された主題の趣旨または範囲から逸脱することなく、他の実施形態が利用されてもよく、他の変更がなされてもよい。概して本明細書中に説明されるおよび図に示されるような本開示の態様は、幅広い種類の異なる構成にアレンジ、置換、組み合わせ、分離、および設計されてもよく、それらの全ては本明細書中で明確に考えられることが容易に理解されよう。
[086] 情報処理を表すブロックは、本明細書中に記載した方法または技法の特定の論理機能を実行するように構成され得る回路構成に対応し得る。代替としてまたは加えて、情報処理を表すブロックは、モジュール、セグメント、または(関連データを含む)プログラムコードの一部に対応し得る。プログラムコードは、上記方法もしくは技法における特定の論理機能または操作を実施するためのプロセッサによって実行可能な1つまたは複数の命令を含むことができる。プログラムコードおよび/または関連データは、ディスクもしくはハードドライブ、または他の記憶媒体を含む記憶装置などの任意のタイプのコンピュータ可読媒体に記憶することができる。
[087] コンピュータ可読媒体は、レジスタメモリ、プロセッサキャッシュ、およびランダムアクセスメモリ(RAM)のような短期間にわたってデータを記憶するコンピュータ可読媒体などの非一時的なコンピュータ可読媒体を含むことができる。コンピュータ可読媒体は、例えば、リードオンリメモリ(ROM)、光ディスクもしくは磁気ディスク、コンパクトディスクリードオンリメモリ(CD-ROM)のような二次または永続性長期ストレージなどのより長期間にわたってプログラムコードおよび/またはデータを記憶する非一時的なコンピュータ可読媒体も含み得る。コンピュータ可読媒体は、任意の他の揮発性または不揮発性記憶システムとすることもできる。コンピュータ可読媒体は、例えば、コンピュータ可読記憶媒体、または有形の記憶装置とみなされもよい。
[088] また、1つまたは複数の情報伝送を表すブロックは、同じ物理的装置内のソフトウェアおよび/またはハードウェアモジュール間の情報伝送に対応し得る。しかしながら、他の情報伝送が、異なる物理的装置内のソフトウェアモジュールおよび/またはハードウェアモジュール間にあってもよい。
[089] 図に示された特定の構成は、限定と見られるべきではない。他の実施形態は、所与の図に示された各要素をより多くまたはより少なく備えてもよいことを理解されたい。さらに、示された要素の一部が組み合わされたり、または省かれたりしてもよい。またさらに、例示の実施形態は、図に示されていない要素を備えてもよい。
[090] 様々な態様および実施形態を本明細書中に開示してきたが、他の態様および実施形態が、当業者には明らかであろう。本明細書中に開示された様々な態様および実施形態は、例示のためであり、限定していることを意図しておらず、真の範囲は、添付の特許請求の範囲によって示されている。

Claims (20)

  1. 作業環境内で動作するロボットについてのワークオフセットを決定する指示を受信するステップであって、前記ワークオフセットは、前記ロボットの基部平面に対しての前記作業環境の作業面の位置および角度向きを説明する、受信するステップと、
    前記指示に応じて、前記作業環境内の前記作業面を特定するステップと、
    前記作業面の少なくとも3つの点であって、そのそれぞれの位置を前記ロボットが知らない少なくとも3つの点に接触するように前記ロボットのアームを制御するステップと、
    前記ロボットの前記アームが前記作業面の前記少なくとも3つの点に接触しているときに、前記ロボットの少なくとも3つのそれぞれのポジションを決定するステップと、
    前記ロボットの前記少なくとも3つのそれぞれのポジションに基づいて前記基部平面に対しての前記作業面の前記少なくとも3つの接触点のそれぞれの点位置を決定するステップと、
    前記少なくとも3つの接触点の決定された前記それぞれの点位置に基づいて前記基部平面に対しての前記作業面の前記位置および角度向きを決定するステップであって、前記作業面の角度向きは、前記基部平面の第1の軸に対しての前記作業面の角度変位と、前記基部平面の第2の軸に対しての前記作業面の角度変位とを含み、前記第2の軸は、前記第1の軸に直交する、決定するステップと
    を含む方法。
  2. 前記作業環境は、複数の作業面を含んでおり、
    上記の一連のステップが、前記複数の作業面のそれぞれに対して行われる、請求項1に記載の方法。
  3. 前記作業面の位置によって、前記ロボット基部平面に直交する垂直軸に沿った前記基部平面上の点と前記作業面上の対応する点の間のずれ距離を測定する、請求項1又は2に記載の方法。
  4. 前記少なくとも3つの点は、前記作業面上の個別の且つ同一直線上にない3つの点である、請求項1から3のいずれか一項に記載の方法。
  5. 前記作業面は、前記作業環境のグラウンド平面である、請求項1から4のいずれか一項に記載の方法。
  6. 第1の時間で前記ワークオフセットの決定後に、前記基部平面の変化を検出するステップと、
    検出された前記基部平面の変化に応じて、第2の時間で前記ワークオフセットを決定するステップと
    をさらに含む、請求項1から5のいずれか一項に記載の方法。
  7. 第1の時間で前記ワークオフセットの決定後に、前記作業面の変化を検出するステップと、
    検出された前記作業面の変化に応じて、第2の時間で前記ワークオフセットを決定するステップと
    をさらに含む、請求項1から5のいずれか一項に記載の方法。
  8. 前記ワークオフセットを決定する前記指示は、前記ロボットの初起動の検出に応じて生成される、請求項1から7のいずれか一項に記載の方法。
  9. 前記ワークオフセットを決定する前記指示は、ロボットの動作に関連したエラーの検出に応じて生成される、請求項1から7のいずれか一項に記載の方法。
  10. 前記作業環境内の前記作業面を特定するステップは、カメラからの画像データに基づいて前記作業環境内の前記作業面を特定することをさらに含み、
    前記画像データは、前記作業面の少なくとも一部を表示する、請求項1から9のいずれか一項に記載の方法。
  11. 前記作業面の位置を示す位置データを受信することをさらに含み、
    前記作業環境内の前記作業面を特定するステップは、前記受信した位置データを使用して前記作業環境内の前記作業面を特定することを含む、請求項1から9のいずれか一項に記載の方法。
  12. 前記ロボットの前記それぞれのポジションは、エンコードされた関節角に基づいて決定される、請求項1から11のいずれか一項に記載の方法。
  13. 前記作業面が面であり、前記ロボットが操作する1つまたは複数の物体は、前記作業面の面上に位置する、請求項1から12のいずれか一項に記載の方法。
  14. 前記作業面の特定に応じて、前記平面に向けての経路を決定するステップと、
    前記作業面に向けて決定された前記経路に沿って移動するステップと、
    前記ロボットが前記作業面の前記少なくとも3つの点のいずれかに接触するときに、前記ロボット上の力センサから力検知データを受信するステップと、
    前記力検知データに基づいて、前記ロボットが前記少なくとも3つの点のうち1つの点で前記作業面に接触したことを決定するステップと、
    前記ロボットが前記作業面に接触したことの決定に応じて、前記ロボットに、それぞれの接触時点での前記ロボットのそれぞれのポジションを決定するのを停止させるステップと
    をさらに含む、請求項1から13のいずれか一項に記載の方法。
  15. 1つまたは複数のコンピューティング装置によって実行可能である命令を記憶する非一時的なコンピュータ可読媒体であって、前記命令の実行によって、
    作業環境内で動作するロボットについてのワークオフセットを決定する指示を受信することであって、前記ワークオフセットは、前記ロボットの基部平面に対しての前記作業環境の作業面の位置および角度向きを説明する、受信することと、
    前記指示に応じて、前記作業環境内の前記作業面を特定することと、
    前記作業面の少なくとも3つの点であって、そのそれぞれの位置を前記ロボットが知らない少なくとも3つの点に接触するように前記ロボットのアームを制御することと、
    前記ロボットの前記アームが前記作業面の前記少なくとも3つの点に接触しているときに、前記ロボットの少なくとも3つのそれぞれのポジションを決定することと、
    前記ロボットの前記少なくとも3つのそれぞれのポジションに基づいて前記基部平面に対しての前記作業面の前記少なくとも3つの接触点のそれぞれの点位置を決定することと、
    前記少なくとも3つの接触点の決定された前記それぞれの点位置に基づいて前記基部平面に対しての前記作業面の前記位置および角度向きを決定することであって、前記作業面の角度向きは、前記基部平面の第1の軸に対しての前記作業面の角度変位と、前記基部平面の第2の軸に対しての前記作業面の角度変位とを含み、前記第2の軸は、前記第1の軸に直交する、決定することと
    を含む機能を、前記1つまたは複数のコンピューティング装置に実行させる、非一時的なコンピュータ可読媒体。
  16. 前記命令の実行は、
    第1の時間で前記ワークオフセットの決定後に、前記基部平面の変化を検出することと、
    検出された前記基部平面の変化に応じて、第2の時間で前記ワークオフセットを決定することと
    を含む機能を前記1つまたは複数のコンピューティング装置にさらに実行させる、請求項15に記載の非一時的なコンピュータ可読媒体。
  17. 前記命令の実行は、
    第1の時間で前記ワークオフセットの決定後に、前記作業面の変化を検出することと、
    検出された前記作業面の変化に応じて、第2の時間で前記ワークオフセットを決定することと
    を含む機能を前記1つまたは複数のコンピューティング装置にさらに実行させる、請求項15に記載の非一時的なコンピュータ可読媒体。
  18. プロセッサと、
    命令を記憶するメモリとを備えたシステムであって、
    前記命令は、前記プロセッサによって実行されるときに、
    作業環境内で動作するロボットについてのワークオフセットを決定する指示を受信することであって、前記ワークオフセットは、前記ロボットの基部平面に対しての前記作業環境の作業面の位置および角度向きを説明する、受信することと、
    前記指示に応じて、前記作業環境内の前記作業面を特定することと、
    前記作業面の少なくとも3つの点であって、そのそれぞれの位置を前記ロボットが知らない少なくとも3つの点に接触するように前記ロボットのアームを制御することと、
    前記ロボットの前記アームが前記作業面の前記少なくとも3つの点に接触しているときに、前記ロボットの少なくとも3つのそれぞれのポジションを決定することと、
    前記ロボットの前記少なくとも3つのそれぞれのポジションに基づいて前記基部平面に対しての前記作業面の前記少なくとも3つの接触点のそれぞれの点位置を決定することと、
    前記少なくとも3つの接触点の決定された前記それぞれの点位置に基づいて前記基部平面に対しての前記作業面の前記位置および角度向きを決定することであって、前記作業面の角度向きは、前記基部平面の第1の軸に対しての前記作業面の角度変位と、前記基部平面の第2の軸に対しての前記作業面の角度変位とを含み、前記第2の軸は、前記第1の軸に直交する、決定することと、を含む機能を、前記システムに実行させる、システム。
  19. 前記少なくとも3つの点は、前記作業面上の個別の且つ同一直線上にない3つの点である、請求項18に記載のシステム。
  20. 前記作業環境内の前記作業面を特定することは、カメラからの画像データに基づいて前記作業環境内の前記作業面を特定することをさらに含み、
    前記画像データは、前記作業面の少なくとも一部を表示する、請求項18又は19に記載のシステム。
JP2018502167A 2015-07-23 2016-07-25 ワークオフセットを決定するシステムおよび方法 Active JP6661001B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/807,464 2015-07-23
US14/807,464 US9815198B2 (en) 2015-07-23 2015-07-23 System and method for determining a work offset
PCT/US2016/043837 WO2017015656A1 (en) 2015-07-23 2016-07-25 System and method for determining a work offset

Publications (2)

Publication Number Publication Date
JP2018522354A JP2018522354A (ja) 2018-08-09
JP6661001B2 true JP6661001B2 (ja) 2020-03-11

Family

ID=56799530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018502167A Active JP6661001B2 (ja) 2015-07-23 2016-07-25 ワークオフセットを決定するシステムおよび方法

Country Status (5)

Country Link
US (2) US9815198B2 (ja)
EP (1) EP3326038B1 (ja)
JP (1) JP6661001B2 (ja)
CN (1) CN107924175B (ja)
WO (1) WO2017015656A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017033359A1 (ja) * 2015-08-25 2017-03-02 川崎重工業株式会社 遠隔操作ロボットシステム
DE102015118918B3 (de) * 2015-11-04 2017-05-04 Haddadin Beteiligungs UG (haftungsbeschränkt) Roboter mit Ansteuerung zur diskretisierten manuellen Eingabe von Positionen und/oder Posen
JP6860843B2 (ja) * 2017-02-20 2021-04-21 株式会社安川電機 ロボットシステム、ロボット制御装置、及びロボット制御方法
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
US11738457B2 (en) 2018-03-21 2023-08-29 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
CN108969858B (zh) * 2018-08-08 2021-04-06 贵州中医药大学 一种全自动送氧机器人上氧方法及系统
CN109199838B (zh) * 2018-10-19 2021-02-02 贵州中医药大学 一种自动锤打机器人系统
JP7053443B2 (ja) * 2018-12-07 2022-04-12 ファナック株式会社 操作装置にて手動操作を行うロボットの制御装置
US11487268B2 (en) * 2019-07-25 2022-11-01 Pratt & Whitney Canada Corp. Method of calibrating a machine having at least two rotation axes
EP3834998A1 (de) * 2019-12-11 2021-06-16 Siemens Aktiengesellschaft Verfahren, computer-programm-produkt und robotersteuerung zum konfigurieren einer roboter-objekt-systemumgebung sowie roboter
CN111791226B (zh) * 2019-12-31 2021-12-03 深圳市豪恩声学股份有限公司 通过机器人实现组装的方法、装置及机器人
US11731282B2 (en) * 2021-03-03 2023-08-22 Dishcare Inc. Dish handling robot
US20230075185A1 (en) * 2021-09-09 2023-03-09 Ford Global Technologies, Llc Method and system for positioning a moveable robotic system
CN114951003B (zh) * 2022-05-06 2023-12-26 苏州嘉诺智能制造有限公司 基于距离检测的分拣方法及装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4590578A (en) 1983-07-11 1986-05-20 United Technologies Corporation Off-line programmable robot
JPS6054011A (ja) 1983-09-03 1985-03-28 Fanuc Ltd 工業用ロボツトの位置制御方法
JP2700965B2 (ja) 1991-07-04 1998-01-21 ファナック株式会社 自動キャリブレーション方式
JPH07299697A (ja) 1994-04-28 1995-11-14 Toshiba Mach Co Ltd 加工物の取付誤差補正方法および取付誤差補正装置
GB9603426D0 (en) 1996-02-19 1996-04-17 Western Atlas Uk Ltd Improved monitoring system for workpiece and tool carriage movement
US6243621B1 (en) 1998-03-13 2001-06-05 Fanuc Robotics North America, Inc. Method of determining workpiece positions including coordinated motion
US6606774B2 (en) 2001-10-25 2003-08-19 Abb, Inc. (Flexible Automation Division) Combination tool for robot assisted assembly
CA2522097C (en) 2003-04-28 2012-09-25 Stephen James Crampton Cmm arm with exoskeleton
WO2006013829A1 (ja) * 2004-08-02 2006-02-09 Matsushita Electric Industrial Co., Ltd. 物品運搬用ロボット、物品運搬システム、及び物品運搬方法
US8122846B2 (en) 2005-10-26 2012-02-28 Micronic Mydata AB Platforms, apparatuses, systems and methods for processing and analyzing substrates
JP4291382B2 (ja) 2007-07-31 2009-07-08 ファナック株式会社 接触検知による取り付け誤差の自動補正機能を有する工作機械
JP5235376B2 (ja) 2007-10-05 2013-07-10 川崎重工業株式会社 ロボットのターゲット位置検出装置
US7979159B2 (en) 2008-04-30 2011-07-12 Abb Technology Ab Method and system for determining the relation between a robot coordinate system and a local coordinate system located in the working range of the robot
JP2009279663A (ja) * 2008-05-19 2009-12-03 Kawada Kogyo Kk ロボット用位置同定方法および装置
US8864652B2 (en) * 2008-06-27 2014-10-21 Intuitive Surgical Operations, Inc. Medical robotic system providing computer generated auxiliary views of a camera instrument for controlling the positioning and orienting of its tip
JP2010152550A (ja) 2008-12-24 2010-07-08 Canon Inc 作業装置及びその校正方法
EP2243586B1 (de) * 2009-04-22 2014-07-02 KUKA Roboter GmbH Verfahren und Kontrollvorrichtung zum Schweißen mittels einer Positioniervorrichtung
US8406922B2 (en) 2009-07-31 2013-03-26 Fanuc Robotics America, Inc. System and method for setting the tool center point of a robotic tool
JP5282014B2 (ja) * 2009-11-18 2013-09-04 本田技研工業株式会社 教示ライン補正装置、教示ライン補正方法、及びそのプログラム
EP2547490B1 (en) 2010-03-18 2014-01-08 ABB Research Ltd. Calibration of a base coordinate system for an industrial robot
US8918210B2 (en) * 2011-03-18 2014-12-23 Denso Wave Incorporated Method of detecting an inter-axis offset of 6-axis robot
JP2014061578A (ja) * 2012-09-24 2014-04-10 Seiko Epson Corp ロボット、ロボットシステム、ロボット制御装置、ロボット制御方法及びプログラム
JP6473919B2 (ja) * 2013-06-24 2019-02-27 パナソニックIpマネジメント株式会社 マスタスレーブロボットの制御装置及び制御方法、ロボット、マスタスレーブロボットの制御プログラム、並びに、マスタスレーブロボットの制御用集積電子回路
JP2015033747A (ja) * 2013-08-09 2015-02-19 株式会社安川電機 ロボットシステム、ロボット制御装置及びロボット制御方法
JP6410022B2 (ja) * 2013-09-06 2018-10-24 パナソニックIpマネジメント株式会社 マスタスレーブロボットの制御装置及び制御方法、ロボット、マスタスレーブロボットの制御プログラム、並びに、マスタスレーブロボットの制御用集積電子回路
JP6410023B2 (ja) * 2013-09-06 2018-10-24 パナソニックIpマネジメント株式会社 マスタスレーブロボットの制御装置及び制御方法、ロボット、マスタスレーブロボットの制御プログラム、並びに、マスタスレーブロボットの制御用集積電子回路

Also Published As

Publication number Publication date
CN107924175B (zh) 2020-09-29
EP3326038A1 (en) 2018-05-30
JP2018522354A (ja) 2018-08-09
US20170021500A1 (en) 2017-01-26
US10456914B2 (en) 2019-10-29
EP3326038B1 (en) 2021-09-15
US9815198B2 (en) 2017-11-14
US20180029231A1 (en) 2018-02-01
WO2017015656A1 (en) 2017-01-26
CN107924175A (zh) 2018-04-17

Similar Documents

Publication Publication Date Title
JP6661001B2 (ja) ワークオフセットを決定するシステムおよび方法
JP6663978B2 (ja) ツールオフセットを決定するシステムおよび方法
US9919416B1 (en) Methods and systems for providing feedback during teach mode
US10059001B2 (en) Robot control device, robot system, and robot
US9919422B1 (en) Methods and systems to provide mechanical feedback during movement of a robotic system
US8498745B2 (en) Robot apparatus and gripping method for use in robot apparatus
KR20180132964A (ko) 로봇 디바이스를 위한 스프링식 웜 파지기
US20150127141A1 (en) Robot, control device, robot system and robot control method
JP6661925B2 (ja) 制御装置、ロボットおよびロボットシステム
JP2015507541A (ja) ロボットを制御する制御方法およびかかる方法を使用する制御システム
KR102400668B1 (ko) 매니퓰레이터와 입력 툴을 이용하여 대상물을 핸들링하는 방법
KR101740898B1 (ko) 로봇 교시 장치
JP2015071207A (ja) ロボットハンドおよびその制御方法
JP5803769B2 (ja) 移動ロボット
JP5447150B2 (ja) ロボットの制御装置およびロボットを制御する方法
CN112643682B (zh) 示教方法
Choi et al. Kinesthetic sensing of hole position by 3-finger gripper
WO2022070575A1 (ja) 移動体の制御装置及び制御方法
WO2023013699A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
KR102486985B1 (ko) 로봇 팔 제어 장치 및 방법
KR20220108143A (ko) 위치 검출 방법, 제어 장치 및 로봇 시스템
Lattanzi et al. A Mobile Service Robot for Industrial Applications.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190924

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200210

R150 Certificate of patent or registration of utility model

Ref document number: 6661001

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250