JP2022118153A - ロボット操作のパラメーターを推定するための方法および計算システム - Google Patents
ロボット操作のパラメーターを推定するための方法および計算システム Download PDFInfo
- Publication number
- JP2022118153A JP2022118153A JP2022099803A JP2022099803A JP2022118153A JP 2022118153 A JP2022118153 A JP 2022118153A JP 2022099803 A JP2022099803 A JP 2022099803A JP 2022099803 A JP2022099803 A JP 2022099803A JP 2022118153 A JP2022118153 A JP 2022118153A
- Authority
- JP
- Japan
- Prior art keywords
- arm segment
- arm
- motion
- joint
- estimate
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000033001 locomotion Effects 0.000 claims abstract description 397
- 238000012545 processing Methods 0.000 claims description 46
- 230000001133 acceleration Effects 0.000 claims description 36
- 230000005484 gravity Effects 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 21
- 238000011144 upstream manufacturing Methods 0.000 claims description 17
- 230000000694 effects Effects 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 4
- 230000001939 inductive effect Effects 0.000 claims 1
- 230000000704 physical effect Effects 0.000 description 26
- 238000005259 measurement Methods 0.000 description 13
- 230000003068 static effect Effects 0.000 description 12
- 238000006073 displacement reaction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000003213 activating effect Effects 0.000 description 6
- 239000012636 effector Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 239000006227 byproduct Substances 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 229920000954 Polyglycolide Polymers 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 235000010409 propane-1,2-diol alginate Nutrition 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1638—Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
- G05B19/4142—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/06—Programme-controlled manipulators characterised by multi-articulated arms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/12—Programme-controlled manipulators characterised by positioning means for manipulator elements electric
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1641—Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34013—Servocontroller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37373—Friction
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39181—Compensation of coulomb friction in joint
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
【課題】摩擦および/または重心(CoM)を推定するための計算システムならびに方法を提示すること。【解決手段】計算システムは、(i)複数のジョイントの中から第一のジョイント、または(ii)複数のアームセグメントの中から第一のアームセグメント、の少なくとも一つを選択する。計算システムは、さらに、第一のジョイントを介する第一のアームセグメントと第二のアームセグメントとの間の相対動作を含むロボットアーム動作を引き起こし、第一のジョイントまたは第一のアームセグメントに関連付けられた作動データセットおよび動作データセットを受信するための、一つ以上の動作コマンドのセットを出力する。さらに、計算システムは、作動データセットおよび動作データセットに基づいて、(i)摩擦パラメーター推定値または(ii)CoM推定値のうちの少なくとも一つを決定する。【選択図】図4
Description
関連出願の相互参照
本出願は、「METHOD AND COMPUTING SYSTEM FOR ESTIMATING PARAMETER FOR ROBOT OPERATION」と題する、2021年4月29日に出願された米国特許出願第17/243,939号の優先権を主張し、当該出願は、「A ROBOTIC SYSTEM WITH ROBOT OPERATION PARAMETER DETERMINATION」と題する、2020年5月7日に出願された米国仮特許出願第63/021,089号の利益を主張し、それら全体の内容は参照により本明細書に組み込まれる。
本出願は、「METHOD AND COMPUTING SYSTEM FOR ESTIMATING PARAMETER FOR ROBOT OPERATION」と題する、2021年4月29日に出願された米国特許出願第17/243,939号の優先権を主張し、当該出願は、「A ROBOTIC SYSTEM WITH ROBOT OPERATION PARAMETER DETERMINATION」と題する、2020年5月7日に出願された米国仮特許出願第63/021,089号の利益を主張し、それら全体の内容は参照により本明細書に組み込まれる。
本開示は、ロボット操作のため一つ以上のパラメーターを推定するための方法および計算システムに関する。
自動化がより一般的になるに従い、倉庫保管および小売環境など、より多くの環境においてロボットが使用されている。例えば、ロボットは、倉庫の中にある物体と相互作用するように使用されうる。ロボットの動作は、一定であってもよく、または倉庫の中のセンサーによって生成された情報などの、入力に基づいてもよい。
しかしながら、技術が進歩しているにもかかわらず、ロボットは多くの場合、より大きなおよび/またはより複雑なタスクを実行するために要求される、人間の相互作用を複製するのに必要な精巧さを欠く。ロボットが人間の行動に近づくためには、精度および再現性を持ってロボットの動作を制御するために、ロボットを較正する必要がある。
本開示の一態様は、計算システムおよび/または計算システムによって行われる方法に関する。計算システムは、通信インターフェースおよび少なくとも一つの処理回路を備えてもよい。通信インターフェースは、複数のジョイントで互いに移動可能に接続された複数のアームセグメントを含むロボットアームを有するロボットと通信するように構成されてもよい。少なくとも一つの処理回路は、計算システムがロボットと通信しているときに、非一時的コンピューター可読媒体上で命令を実行することによってなど、方法を行うように構成されうる。方法は、(i)複数のジョイントの中から第一のジョイント、または(ii)複数のアームセグメントの中から第一のアームセグメントの少なくとも一つを選択することを含んでもよく、第一のジョイントが、第一のアームセグメントを、第一のアームセグメントにすぐ隣接する第二のアームセグメントに接続している。方法はさらに、第一のジョイントを介する第一のアームセグメントと第二のアームセグメントとの間の相対動作を含むロボットアーム動作を引き起こすための、一つ以上の動作コマンドのセットを出力することを含む。方法はさらに、第一のジョイントまたは第一のアームセグメントに関連付けられた、作動データセットおよび動作データセットを受信することを含んでもよい。作動データセットは、第一のアームセグメントと第二のアームセグメントとの間の相対動作が発生している時間における、第一のジョイントでの全トルクまたは全体の力を示すセンサーデータであってもよい。動作データセットは、時間中の第一のアームセグメントと第二のアームセグメントとの間の、相対動作の量または速度を示すセンサーデータであってもよい。方法はさらに、作動データセットおよび動作データセットに基づいて、(i)第一のアームセグメントと第二のアームセグメントとの間の摩擦に関連付けられた摩擦パラメーター推定値、または(ii)第一のアームセグメントに関連付けられた重心(CoM)推定値のうちの少なくとも一つを決定することを含みうる。
本開示の一態様は、ロボットキャリブレーション操作の一部として行われうる、ロボットの特性の推定に関する。一部のシナリオでは、ロボットは、例えば、倉庫または工場の中に位置してもよく、その環境の中にある物体を拾い上げるか、またはそうでなければ物体と相互作用するために使用されてもよい。ロボットキャリブレーション操作には、ロボットの構成要素間の摩擦、またはロボットの構成要素の重心(CoM)がある場所など、ロボットの物理特性を記述するパラメーターの推定を伴いうる。一部のシナリオでは、これらの物理特性の値は、ロボットの製造業者によって提供される、公称値または理論値から逸脱しうる。逸脱は、製造公差、経年変化、温度変化、または何らかの他の要因など、さまざまな要因から生じる場合がある。
実施形態では、ロボットキャリブレーション操作には、ロボットの一つ以上の構成要素の動作を引き起こすために、それらを作動することを伴いうる。動作を記述するセンサーデータが生成されてもよく、ロボットキャリブレーション操作を行うために使用されうる。一部の実例では、ロボットの構成要素は、例えば、ロボットアームのアームセグメントであってもよい。一部の実施では、ロボットキャリブレーションは、ロボットアームのより正確または精密な制御を容易にするために行われうる。ロボットキャリブレーション操作は、例えば、ロボットアームの軌道を計画または実行するために使用されうる。例えば、モーター信号または他の動作コマンドは、ロボットキャリブレーション操作より決定されていてもよい、ロボットアームの物理特性を説明するような形式で生成されうる。
実施形態では、ロボットキャリブレーション操作は、構成要素ごとに行われてもよい。例えば、上で論じたロボットアームが、複数のジョイントで接続された複数のアームセグメントを含む場合、ロボットキャリブレーション操作は、ジョイントごとまたはセグメントごとに行われうる。ロボットキャリブレーション操作を行うこうした形式には、一度に一つのジョイントのみ、もしくは一つのアームセグメントのみを直接作動させること、またはより広くは、一度に一つのジョイントのみ、もしくは一度に一つのアームセグメントのみの運動を引き起こすことを伴いうる。こうしたロボットキャリブレーションの形式によって、ロボットキャリブレーション操作中の動作量または動作範囲を減少させてもよく、狭い空間の制約がある環境により適応しうる。さらに、こうしたロボットキャリブレーションの形式はまた、複数のアームセグメントまたは複数のジョイントが同時に動作することによって、ロボットキャリブレーションに使用されるセンサーデータに、測定ノイズをもたらしうる振動を生成する可能性が高いため、複数のジョイントまたは複数のアームセグメントの同時動作を回避することによって、ロボットキャリブレーションの精度も高めうる。
実施形態では、ロボットキャリブレーションを行うことには、摩擦を推定するためにより最適なセンサーデータを生成しうる第一の動作プロファイルを使用すること、および重心(CoM)を推定するためにより最適なセンサーデータを生成しうる第二の速さプロファイルを使用することを伴いうる。例えば、第一の動作プロファイルによって、結果として生じる動作の速さに、粘性摩擦係数の推定値などの摩擦パラメーター推定値の決定に役立ちうる広範囲の値を持たせるように試みてもよい。この実施例では、第二の動作プロファイルによって、センサーデータに導入される測定ノイズの量を制限し得る、結果として生じる動作の速さまたは加速度を制限しようと試みてもよい。
実施形態では、ロボットアームが、直列に接続された複数のアームセグメントを含む場合、一つのアームセグメントの重心(CoM)を推定することには、そのアームセグメントへの、一つ以上の下流アームセグメントからの影響を除去すること、またはそうでなければ相殺することを伴いうる。一部の実例では、ロボットキャリブレーション操作を行うことには、いずれの他のアームセグメントに対するそれぞれのCoM推定値を決定する前に、最も遠い下流アームセグメントに対するそれぞれのCoM推定値を決定することを伴いうる。こうした実例では、ロボットキャリブレーション操作は、その後、上流方向に進んで、上流アームセグメントのCoM推定値を決定してもよい。したがって、アームセグメントに対するCoM推定値を決定しているとき、下流アームセグメントのCoMに関する情報が既に利用可能であってもよく、これは、下流アームセグメントからの影響を除去または説明することを可能にし得る。
図1A、1B、および1Cは、ロボットの一つまたは複数の物理特性を推定するか、もしくはそうでなければ記述する情報を決定するための、すなわち、より具体的には、ロボットキャリブレーションを行うためのシステム1000を示す。当業者は、図1A~1Cが、ロボットキャリブレーションを行うために使用される、システム1000の一例を示し、図1A~1Cに示す構成要素が除去もしくは省略されてもよく、および/または追加の構成要素がシステム1000に追加されてもよいことを認識するであろう。図1Aに示すように、システム1000は、計算システム1100およびロボット1200を含みうる。実施形態では、システム1000は、ロボットキャリブレーションシステムまたはその構成要素であってもよく、ロボットキャリブレーションシステムは、例えば、ロボット1200の一つ以上の物理特性または何らかの他の特性を決定することを伴いうる、ロボットキャリブレーションを行うように構成される。ロボットキャリブレーションは、例えば、ロボット1200のロボット動作(ロボット運動とも呼ぶ)が制御されうる、精度のレベルを高めるために、すなわち、より具体的には、ロボット1200の軌道を計画および/もしくは正確に実行する能力を高めるために行われてもよい。
一部の実例では、計算システム1100は、ロボット1200の一つ以上の物理特性を決定してもよく、および/またはロボット1200の一つ以上の物理特性を使用して、ロボット1200に、計画された軌道にしたがう動作(運動とも呼ぶ)を出力させるための動作コマンドを生成してもよい。例えば、計算システム1100は、ロボット1200の一つ以上の物理特性に固有であるか、またはそうでなければ、それら物理特性を考慮する、動作コマンド(例えば、モーターコマンド)を決定するように構成されてもよい。例として、一つ以上の物理特性には、例えば、ロボット1200の構成要素(例えば、ロボットアームのアームセグメント)間の摩擦、それらの構成要素の重心(CoM)があるそれぞれの場所、それらの構成要素の質量もしくは慣性モーメントのそれぞれの値、および/または何らかの他の物理特性を含みうる。ロボットのこれらの特性によって、ロボット1200の運動を制約するか、もしくはそうでなければ影響を及ぼしてもよく、および/またはロボット1200の構成要素をどのように作動するべきかに影響を及ぼしうる。
一部の実例では、システム1000によって推定される特性は、ロボット1200の一つ以上の構成要素が、力、トルク、または他の形態の作動にどのように応答するかを記述することによってなど、ロボット1200の運動の物理的性質(例えば、運動特性)を記述するために利用されうる。図1Aの計算システム1100、または別の計算システムを使用して、ロボット1200の動作を制御する場合、動作は、推定される特性に基づいて制御されてもよい。例えば、モーターまたは他のアクチュエーターは、ロボット1200の構成要素の運動(例えば、直線運動または回転運動)を開始もしくは調整するように、力またはトルクを出力しうるが、運動は、例えば、摩擦による力(運動または運動の変化に抵抗しうる)、重力による力、および/または構成要素の質量もしくは慣性モーメント(運動または運動の変化にも抵抗しうる)などの慣性要素といった要因の影響が及びうる。この実施例では、ロボットの構成要素に対する運動を制御することには、例えば、ロボットの構成要素を駆動するために使用される、アクチュエーターによって出力される力またはトルクの大きさの値、方向、および/もしくは持続期間を決定するときに、上記の要因を相殺すること、またはより広くは、要因を考慮に入れることを伴いうる。運動制御は、例えば、ロボット1200によって軌道を実行するのに使用されてもよく、一部のシナリオでは、ロボットのさまざまな構成要素の位置、速度もしくは速さ、および/または加速度の計画値に正確に従うことを伴いうる。すなわち、運動制御には、ロボットのさまざまな構成要素の速度および/または加速度に対する特定の値もしくは値のセットを伴いうる、計画軌道に従うことを伴ってもよい。上で論じた物理特性の推定値は、実行軌道を、計画軌道と厳密に一致させるために、アクチュエーターを制御するように使用されうる。
実施形態では、ロボットキャリブレーションを行うことには、力モデルおよび/もしくはトルクモデルの決定または更新を伴いうる。こうした実施形態では、計算システム1100(または何らかの他の計算システム)によって、力モデルおよび/またはトルクモデルに基づいて、アクチュエーターによって印加される力および/またはトルクの量、または力および/またはトルクの方向もしくは持続期間を決定しうる。一部の実例では、力モデルおよび/またはトルクモデルは、ロボット1200またはその構成要素上の全体の力もしくは全トルクに影響を与える要因を記述する情報によって形成されてもよいか、またはその情報を含みうる。例えば、力モデルおよび/またはトルクモデルは、例えば、摩擦、重力、質量、慣性モーメント、および/またはそれらの組み合わせを表すパラメーターの値を含みうる。一部のシナリオでは、力モデルおよび/またはトルクモデルは、ロボットまたはその構成要素が、どのくらい摩擦を受けるかを記述する情報を含みうる、摩擦モデルを含んでもよい。例として、摩擦モデルは、以下でより詳細に論じる、粘性摩擦(動摩擦または滑り摩擦とも呼ぶ)およびクーロン摩擦(静止摩擦とも呼ぶ)を表すパラメーターを含んでもよい。一部の状況では、力モデルおよび/またはトルクモデルは、アクチュエーターによって出力される力および/もしくはトルクと、ロボットの構成要素が受ける全トルクもしくは全体の力との関係(例えば、数学的関係)を記述してもよく、ならびに/またはアクチュエーターによって出力される力および/もしくはトルクと、ロボットの構成要素の結果として生じる運動との関係を記述してもよい。上記の実施例では、ロボットキャリブレーションによって、力モデルまたはトルクモデルがもたらされる場合、計算システム1100(または何らかの他の計算システム)によって、力モデルおよび/またはトルクモデルを利用して、アクチュエーターを制御するか、またはより広くは、ロボット1200の運動を制御してもよい。
上述のように、図1Aのシステム1000は、ロボット1200の一つもしくは複数の物理特性を記述するか、または他の方法で表す情報を決定することなどによって、ロボットキャリブレーションを行うために使用されうる。一部の実例では、システム1000(およびシステム1000によって行われる関連する方法)は、ロボット1200を動作させ、動作を記述するデータを使用して、ロボットの物理特性を決定することによって、ロボットキャリブレーションを行うように動作する。より具体的には、動作中、計算システム1100によって、ロボット1200を監視してもよく、ロボット1200の構成要素の動作を記述する、センサーデータを受信する。受信したセンサーデータに基づいて、計算システム1100によって、ロボット1200またはその構成要素の物理特性の各々について、それぞれの値を決定しうる。
実施形態では、ロボット1200は、ロボットアーム1210を含んでもよく、ロボットキャリブレーションを行うことには、ロボットアーム1210の構成要素(例えば、アームセグメント)の一つまたは複数の物理特性の決定を伴いうる。より具体的には、ロボットアーム1210は、n個のアームセグメント12121、12122、…1212n(ロボットアーム1210のリンクとも呼ぶ)を含んでもよく、ロボットキャリブレーションから決定される一つまたは複数の物理特性は、アームセグメント12121~1212nのうちの一つ以上について記述してもよい。一部の実例では、アームセグメント12121~1212nの各々は、複数の運動平面で、独立して作動可能または動作可能であってもよい。一部の実施では、アームセグメント12121~1212nは、ロボットアーム1210が、一連のアームセグメント12121~1212nから形成されるように、直列で互いに連結してもよい(例えば、複数のジョイントによって)。この実施形態では、アームセグメント12121~1212nは、エンドエフェクタまたは他のアームセグメントを移動させて特定の姿勢にするための、運動連鎖を形成してもよい。例えば、アームセグメント12121~1212nは、アームセグメント12121~1212nの各々が、ロボット基部または一連のアームセグメント12121~1212nの中のすぐ前のアームセグメントに連結する、第一の端部(例えば、近位端)を有し、かつ一連のアームセグメント12121~1212nの中の次に続くアームセグメントに連結する、第二の端部(例えば、遠位端)を有するか、またはロボットアーム1210の遠位端を形成するように連結してもよい。このように、アームセグメント12121の次に、アームセグメント12122に続いてもよく、その次にアームセグメント12123に続いてもよく、その次にアームセグメント12124などが続いてもよい。例として、アームセグメント12121が、アームセグメント12121の近位端で、ロボット基部に連結してもよく、アームセグメント12121の遠位端で、アームセグメント12122に連結してもよい。この実施例ではさらに、アームセグメント12122が、アームセグメント12122の近位端で、アームセグメント12121に連結してもよく、アームセグメント12122の遠位端で、アームセグメント12123に連結してもよい。当業者は、アームセグメント12121~1212nが、ロボット1200の操作要件に従って動作を行うために、いかなる配置でも連結しうることを認識するであろう。一部の実施では、アームセグメント1212nは、エンドエフェクタ装置であってもよい。
実施形態では、ロボットキャリブレーションが、ロボットアーム1210のアームセグメント12121~1212nの物理特性に関する情報の決定を伴う場合、情報は、ロボットアーム1210の動作を制御するために使用されうる。例えば、アームセグメント12121~1212nは、ロボットアーム1210の遠位端で、エンドエフェクタまたは他のアームセグメントに対する所望の姿勢を達成するために、ロボットアーム1210の全体運動を生み出すよう、互いに対して移動可能であってもよい。計算システム1100が、ロボットアーム1210の軌道を計画することによってなど、ロボットアーム1210の動作の制御に関与する場合、計算システム1100によって、個々のアームセグメントの動作を計画しうる。個々のアームセグメントに対するこの動作の計画は、個々のアームセグメントの物理特性に関して決定された情報に基づいてもよい。一部の実例では、ロボットキャリブレーションには、個々のアームセグメントに、全体の力または全トルクがどのくらいかかるかに影響を及ぼす要因を記述する、力モデルおよび/またはトルクモデルの決定を伴いうる。例えば、力モデルおよび/またはトルクモデルは、アームセグメント、または一対のアームセグメントを接続するジョイントに適用してもよく、アームセグメントまたはジョイントが受ける全体の力もしくは全トルクと、ジョイントに対するアームセグメントによる動作の量または速度との関係を記述しうる。こうした実例では、計算システム1100によって、力モデルおよび/またはトルクモデルに基づいて、個々のアームセグメントの動作を計画してもよい。
実施形態では、ロボットキャリブレーションを行うことが、ロボットアーム1210のアームセグメント12121~1212nの各アームセグメントに対して、物理特性に関する情報の決定を伴う場合、物理特性には、アームセグメントの動作と、アームセグメントに直接印加されるトルクまたは力との関係を記述する、パラメーターを伴いうる。例えば、パラメーターは、アームセグメント12121~1212nの各々について、アームセグメントの重心の場所、アームセグメントの質量もしくは重量、アームセグメントの質量がどのように分布しているか、アームセグメントの慣性モーメント、および/またはアームセグメントとロボットアーム1210の別の構成要素(例えば、別のアームセグメント)との間の摩擦を記述しうる。パラメーターは、ロボットアーム1210の軌道を計画するときに、計算システム1100またはいかなる他の計算システムによって使用されうる。例えば、計算システム1100によって、パラメーターを使用して、特定の量の力またはトルクによって、どのくらいの動作もしくは動作速度が生みだされるのかを予測するか、または特定の動作量もしくは動作速度を生成するのに、どのくらいの力もしくはトルクが必要かを判定しうる。より具体的には、計算システム1100によって、アームセグメントへの摩擦の影響、アームセグメントへの重力の影響(アームセグメントのCoMに作用するとして近似しうる)、および/もしくはアームセグメントの質量もしくは慣性モーメントを相殺する、力またはトルクの量を決定するようにパラメーターを使用しうる。
実施形態では、図1Bに示すように、ロボット1200は、ロボットキャリブレーション操作を行うために使用されうる、一つ以上のセンサーのセット1220および一つ以上のアクチュエーター(例えば、モーター)のセット1230を含みうる。一つ以上のアクチュエーターのセット1230は各々、一つ以上のアームセグメントを動作させるために、ロボットアーム1210のアームセグメント12121~1212nのうちの一つ以上に印加されうる、力またはトルクを出力するように構成されてもよい。実施形態では、一つ以上のアクチュエーターのセット1230の操作は、計算システム1100によって制御されうる。例えば、計算システム1100は、一つ以上のアクチュエーターのセット1230のうちの少なくとも一つのアクチュエーターを起動させるために、一つ以上の動作コマンドを出力するように構成されてもよい。一部の実施では、一つ以上の動作コマンドは、一つ以上のアクチュエーターのセット1230を起動させ、力および/もしくはトルクを出力させるための、アナログならびに/またはデジタル信号を含みうる。一つ以上の動作コマンドによって、一部の実例では、力もしくはトルクが起動されたアクチュエーターによってどのくらい出力されるか、力もしくはトルクの方向、および/または力もしくはトルクの持続期間を制御しうる。
実施形態では、図1Cに示すように、一つ以上のアクチュエーターのセット1230が、複数のアクチュエーター12301~1230nを含んでもよく、それらの各々が、複数のアームセグメント12121~1212nのそれぞれのアームセグメントを動作させるための、力またはトルクを出力してもよい。例えば、複数のアクチュエーター12301~1230nが、アームセグメント12121~1212nを回転させるか、または他の方法で移動させるためのトルクを出力するように構成されてもよい。一実施例では、アクチュエーター12301~1230nは、アームセグメント12121~1212nに連結するか、またはアームセグメント12121~1212nに配置されてもよく、アームセグメント12121~1212nそれぞれを動作させるように起動するときに、それぞれの力またはトルクを出力してもよい。こうした実施例では、アクチュエーター12301~1230nの作動、および/またはアクチュエーター12301~1230nによって出力される力もしくはトルクそれぞれの量は、計算システム1100によって(例えば、動作コマンドで)制御されてもよい。
実施形態では、一つ以上のセンサーのセット1220は、ロボットキャリブレーションを行うように、計算システム1100によって使用される、センサーデータの一つ以上のセット(データセットとも呼ぶ)を生成するように構成される。一部のシナリオでは、データセットは、アームセグメント12121~1212nのうちの一つ以上の動作、および/もしくはアームセグメント12121~1212nが受ける力もしくはトルクを測定してもよく、またはそうでなければ表してもよい。例えば、センサーデータに対する一つ以上のデータセットは、作動データセットおよび動作データセットを含みうる。
実施形態では、作動データセットは、アームセグメント12121~1212nのうちの一つ以上が受ける、全体の力および/または全トルクを表すデータを含みうる。アームセグメント上の全体の力または全トルクは、アクチュエーター12301~1230nの寄与による力もしくはトルク、重力からの寄与による力もしくはトルク、および摩擦からの寄与による力もしくはトルクを含むか、またはそれらに基づいてもよい。
実施形態では、アームセグメント12121~1212nのうちの一つについての動作データセットは、アームセグメントの動作量または動作速度(例えば、速度または加速度)を表すデータを含みうる。移動は、例えば、アームセグメントの回転、アームセグメントの線形動作、または何らかの他の動作であってもよい。一部の実例では、動作量または動作速度は、別のアームセグメントなど、ロボット1200の別の構成要素に対して測定されてもよい。例えば、この別のアームセグメントの位置は、動作するアームセグメントの動作量または動作速度を測定する起点となる、基線位置(またはより広くは、基準フレーム)として扱われうる。一部の実例では、動作量は、例えば、上で論じた基線位置に対してでありうる、動作するアームセグメントの位置または変位によって表されてもよい。動作が、基線位置に対する一つのアームセグメントの回転を伴う場合、位置または変位はまた、回転位置、回転変位、または角変位と呼ばれてもよく、度またはラジアンを単位として測定されてもよい。一部の実例では、回転位置についての正の値は、動作するアームセグメントが基線位置を過ぎて一方向に回転した(例えば、反時計回りの方向)ことを示してもよく、一方、回転位置についての負の値は、動作するアームセグメントが基線位置を過ぎて反対方向に回転した(例えば、時計回りの方向)ことを示しうる。
実施形態では、一つ以上のセンサーセット1220は、図1Cに示すように、作動データを生成するための第一のセンサーセット12221、12222、…1222n、および動作データを生成するための第二のセンサーセット12241、12242、…1224nを含んでもよい。一部の実施では、第一のセンサーセット12221~1222nは、アームセグメント12121~1212nに配置されるか、またはそうでなければアームセグメント12121~1212nと対応してもよい。同様に、第二のセンサーセット12241~1224nはまた、アームセグメント12121~1212nに配置されるか、またはそうでなければアームセグメント12121~1212nと対応してもよい。この実施例では、第一のセンサーセット12221~1222nの各々は、複数のアームセグメント12121~1212nのそれぞれのアームセグメントにおける、力またはトルクを示す、それぞれの作動データセットを生成してもよい。さらに、第二のセンサーセット12241~1224nの各々は、複数のアームセグメント12121~1212nのそれぞれのアームセグメントの動作の量または速度を示す、それぞれの動作データセットを生成してもよい。一部の実施では、アームセグメント12121~1212nは、アクチュエーター12301~1230nによって駆動されるか、またはそうでなければ作動し、第一のセンサーセット12221~1222nの各センサーは、複数のアクチュエーター12301~1230nのそれぞれのアクチュエーターに対応する、トルクセンサーまたは電流センサーであってもよい。センサー12221~1222nの各々が電流センサーである場合、センサーは、センサーを流れる電流のそれぞれの量を測定するように構成されてもよく、電流のそれぞれの量は、複数のアクチュエーター12301~1230nのそれぞれのアクチュエーターを流れる電流それぞれの量と実質的に等しくてもよい。アクチュエーターを流れる電流の量は、対応するアームセグメントが受ける全体の力または全トルクの量を計算するか、または他の方法で判定するために使用されうる。この計算は、計算システム1100によって、またはセンサー12221~1222n自体によって行われてもよい。
図2Aでは、計算システム1100の実施形態を示す、ブロック図を提供する。計算システム1100は、少なくとも一つの処理回路1110、および非一時的コンピューター可読媒体(または複数の媒体)1120を含む。実施形態では、処理回路1110は、一つ以上のプロセッサ、一つ以上の処理コア、プログラマブルロジックコントローラー(「PLC」)、特定用途向け集積回路(「ASIC」)、プログラマブルゲートアレイ(「PGA」)、フィールドプログラマブルゲートアレイ(「FPGA」)、それらの任意の組み合わせ、またはいかなる他の処理回路を含む。実施形態では、非一時的コンピューター可読媒体1120は、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、またはそれらのいかなる適切な組み合わせなどの記憶装置であってもよく、例えば、コンピューターディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消却可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、メモリスティック、それらのいかなる組み合わせ、またはいかなる他の記憶装置などであってもよい。一部の実例では、非一時的コンピューター可読媒体1120は、複数の記憶装置を含みうる。非一時的コンピューター可読媒体1120が、処理回路1110によって実行されるとき、処理回路1110に、図4に示す方法4000に関して記載する操作など、本明細書に記載する一つ以上の方法を行わせるコンピューター可読プログラム命令を、代替的または追加的に記憶してもよい。
図2Bは、計算システム1100の実施形態であり、通信インターフェース1130を含む、計算システム1100Aを描写する。通信インターフェース1130は、上で論じたセンサー(例えば、1220)および/またはアクチュエーター(例えば、1230)を用いてなど、計算システム1100Aとロボット1200との間に、有線または無線通信経路を提供するように構成されてもよい。例として、通信回路は、RS-232ポートコントローラー、USBコントローラー、イーサネットコントローラー、Bluetooth(登録商標)コントローラー、PCIバスコントローラー、ネットワークコントローラー、いかなる他の通信回路、またはそれらの組み合わせを含んでもよい。計算システム1100Aによって、一つ以上の動作コマンドを生成する場合、通信インターフェース1130は、一つ以上の動作コマンドをアクチュエーターのセット1230に伝達するように構成されうる。さらに、センサーのセット1220が、センサーデータを生成する場合、通信インターフェース1130は、センサーのセット1220からセンサーデータ(例えば、動作データおよび作動データ)を受信するように構成されてもよい。こうした状況では、計算システム1100の処理回路1110は、通信インターフェース1130を介して、センサーデータを直接または間接的に受信するように構成されてもよい。
実施形態では、処理回路1110が、非一時的コンピューター可読媒体1120に記憶される、一つ以上のコンピューター可読プログラム命令によってプログラムされてもよい。例えば、図2Cは、計算システム1100/1100Aの実施形態である、計算システム1100Bを示し、処理回路1110は、ロボットキャリブレーションを行うためのコンピューター可読プログラム命令を含みうる、ロボットキャリブレーションモジュール1122を含む、一つ以上のモジュールによってプログラムされる。さまざまな実施形態では、「コンピューター可読命令」および「コンピューター可読プログラム命令」という用語は、さまざまなタスクおよび操作を遂行するように構成される、ソフトウェア命令またはコンピューターコードを記述するために使用される。さまざまな実施形態では、「モジュール」という用語は、処理回路1110に一つ以上の機能タスクを行わせるように構成された、ソフトウェア命令またはコードの集まりを広く指す。モジュールおよびコンピューター可読命令は、処理回路または他のハードウェア構成要素が、モジュールもしくはコンピューター可読命令を実行しているときに、さまざまな操作またはタスクを行うものとして説明されうる。
実施形態では、図2Cに示すように、非一時的コンピューター可読媒体1120は、ロボットキャリブレーションを行うために、処理回路1110によって使用されうる、センサーデータ1124を記憶するか、または他の方法で含んでもよい。センサーデータ1124は、例えば、上に記載した作動データおよび動作データを含みうる。一部のシナリオでは、センサーデータ1124は、図1Bのセンサーのセット1220によって生成されていてもよく、図2Bの通信インターフェース1130を介して受信されたものであってもよい。記憶されたセンサーデータ1124を使用して、ロボットキャリブレーション操作を行う場合、非一時的コンピューター可読媒体1120はさらに、ロボットキャリブレーション操作の結果として決定される情報1126(ロボットキャリブレーション情報1126とも呼ぶ)を記憶してもよい。ロボットキャリブレーション情報1126は、ロボット(例えば、1200)の一つまたは複数の物理特性を記述しうる。例えば、ロボットキャリブレーション情報は、ロボットの一つまたは複数の物理特性を記述するさまざまなパラメーターについて、それぞれの推定値(推定された値とも呼ぶ)を含みうる。一部の実例では、ロボットキャリブレーション情報は、トルクモデル、力モデル、および/または摩擦モデルを記述しうる。
図3A~3Dは、ロボットキャリブレーションがさまざまな実施形態に従って行われうる、例示的な環境を示す。当業者は、図3A~3Dが、ロボットキャリブレーションを行うための環境の一例を示し、図3A~3Dに示す既存の構成要素を除去してもよく、および/または追加の構成要素を環境に追加してもよいことを認識するであろう。図3Aは、ロボット1200の実施形態であってもよい、ロボット3200の側面図を提示する。ロボット3200は、基部3202に連結するロボットアーム3210を含みうる。図3Aの実施例では、ロボットアーム3210は、複数のジョイント32141、32142、32143、32144、32145で連結しうる、複数のアームセグメント32121、32122、32123、32124、32125、および32126(リンクとも呼ぶ)を含みうる。図3Aの実施例では、アームセグメント32121~32126は、基部3202から離れた方向であってもよい下流方向に延在しうる、一連のアームセグメントとして接続してもよい。この実施例では、ロボットアーム3210に沿って最も下流にあるアームセグメント32126は、エンドエフェクタ装置(例えば、ロボットグリッパ)であってもよく、ロボットアーム3210の遠位端を形成してもよい。すなわち、アームセグメント32126は、ロボット基部3202に対して、ロボットアーム3210の最も遠位のアームセグメントであってもよい。
実施形態では、ジョイント32141~32145が、すぐ隣接するアームセグメントのそれぞれの対を直接連結してもよい。例えば、アームセグメント32121は、ジョイント32141でアームセグメント32122に連結する。この実施例では、アームセグメント32121およびアームセグメント32122は、ジョイント32141を介して互いに直接連結するため、互いとすぐ隣接しているとみなされうる。ジョイント32141によって、一対のアームセグメント32121、32122の間で相対動作が可能になりうる。一実施例では、ジョイント32141は、一対のアームセグメント32121、32122の間で相対回転を可能にし、またはより具体的には、アームセグメント32122が、アームセグメント32121に対して回転することが可能になる、外旋ジョイント(またはより広くは、ピボット点)であってもよい。この実施例では、他のジョイント32142から32145は各々、すぐ隣接するアームセグメントのそれぞれの対を直接接続し、アームセグメントの対の間で相対回転を可能にする、外旋ジョイントであってもよい。例えば、ジョイント32145によって、アームセグメント32125およびアームセグメント32126を直接接続し、アームセグメント32126が、アームセグメント32125に対して回転することが可能になりうる。別の実施例では、ロボットアーム3210は、追加的または代替的に、一対のすぐ隣接するアームセグメント間で、相対的な直線運動(相対的な横方向運動とも呼ぶ)を可能にする、直動ジョイントを有してもよい。
上述のように、アームセグメント32121~32126は、アームセグメント32121からアームセグメント32126へ下流方向に延在しうる、一連のアームセグメントとして接続してもよい。アームセグメント32121は、ロボット基部3202に最も近く(最も近位であるとも言う)にあってもよく、一方、アームセグメント32126は、ロボット基部3202から最も遠く(すなわち、最も遠位であるとも言う)にあってもよい。一連のアームセグメント32121から32126は、一つのアームセグメント(例えば、32123)の動作によって、下流アームセグメント(例えば、32124、32125、32126)を動作させる、運動連鎖を形成しうる。アームセグメント32121~32126の直列接続によって、近位端または近位方向、および遠位端または遠位方向をさらに画定しうる。例えば、アームセグメント32121~32126の各々には、それぞれの近位端およびそれぞれの遠位端があってもよい。近位端は、ロボット基部3202のより近くであってもよく、一方、遠位端は、ロボット基部3202からより遠くなるように、さらなる下流にあってもよい。例として、アームセグメント32123には、アームセグメント32122に直接接続する近位端があってもよく、アームセグメント32124に直接接続する遠位端があってもよい。さらに、アームセグメント(例えば、32124、32125、または32126)が、別のアームセグメント(例えば、32123)の遠位端に直接または間接的に接続する場合、前者のアームセグメント(例えば、32124、32125、または32126)は、後者のアームセグメント(例えば、32123)の遠位とみなされうる。反対に、アームセグメント(例えば、32123、32124、32125)が、別のアームセグメント(例えば、32126)の近位端に直接または間接的に接続する場合、前者のアームセグメント(例えば、32123、32124、32125)は、後者のアームセグメント(例えば、32126)の近位とみなされうる。別の実施例として、アームセグメント32123は、アームセグメント32122に対する、およびアームセグメント32121に対する、遠位アームセグメントとみなされてもよく、一方、アームセグメント32121および32122は、アームセグメント32123に対する近位アームセグメントとみなされてもよい。
実施形態では、図3Bに示すように、ロボット3200は、それぞれのアームセグメント32122~32126を動作させるため、すなわち、より具体的には、すぐ隣接するアームセグメントのそれぞれの対の間に相対動作を引き起こすために、複数のアクチュエーター33301、33302、33303、33304、および33305(アクチュエーター12301から1230nの実施形態であってもよい)を含みうる。一部の実例では、複数のアクチュエーター33301から33305は、それぞれジョイント32141から32145に、またはその近くに配置されてもよい。一部の実施では、アクチュエーター33301~33305は、ジョイント32141~32145の周りに配置されるモーターであってもよく、ジョイント32141~32145でトルクまたは力を出力してもよい。アクチュエーター33301から33305は各々、アームセグメント32122~32126のそれぞれの一つを、隣接するアームセグメントに対して(または何らかの他の基準フレームに対して)移動させるために、それぞれの力またはトルクを出力してもよい。例として、アクチュエーター33303は、一対のアームセグメント32123、32124を直接接続するジョイント32143に、またはその近くに配置されてもよい。アクチュエーター33303は、一対のアームセグメント32123、32124の間に相対回転を引き起こしうる、トルクをジョイント32143にて出力してもよい。より具体的には、トルクによって、一対のアームセグメント32123、32124のうち、より遠位のアームセグメント32124を、一対のアームセグメントのうち、より近位のアームセグメント32123に対して回転させうる。さらに、アームセグメント32124が、ジョイント32143の周りを回転してもよい。実施形態では、アクチュエーター33301~33305には、モーター(例えば、電気モーターおよび/または磁気モーター)、ポンプ(例えば、油圧ポンプまたは空気ポンプ)、一部の他のアクチュエーター、またはそれらの組み合わせを含みうる。
実施形態では、ロボット3200は、ロボットキャリブレーションを行う際に使用されうる、センサーデータを生成するためのセンサーセットを含んでもよい。例えば、図3Cに示すように、ロボット3200は、作動データを生成するための第一のセンサーセット32221、32222、32223、32224、および32225、ならびに動作データを生成するための第二のセンサーセット32241、32242、32243、32244、および32245を含みうる。より具体的には、第一のセンサーセット32221~32225(センサー12221から1222nの実施形態であってもよい)は各々、複数のアームセグメント32122~32126のそれぞれのアームセグメントの作動に関係する、それぞれの作動データセットを生成するように構成されてもよい。より具体的には、特定のアームセグメントに対する作動データセットによって、アームセグメントにかかる、またはアームセグメントが受ける力もしくはトルクを示す、パラメーターを測定してもよい。例えば、センサー32221は、アームセグメント32121に対するアームセグメント32122(またはその逆)の作動に対応する、第一の作動データセットを生成してもよく、一方、センサー32222は、アームセグメント32122に対するアームセグメント32123(またはその逆)の作動に対応する、第二の作動データセットを生成してもよい。別の実施例として、センサー32223は、アームセグメント32123に対するアームセグメント32124(またはその逆)の作動に対応する、第三の作動データセットを生成してもよく、一方、センサー32224は、アームセグメント32124に対するアームセグメント32125(またはその逆)の作動に対応する、第四の作動データセットを生成してもよい。
実施形態では、センサー32221~32225は、ジョイント32141~32145にて全体の力もしくはトルク、すなわち、より具体的には、それらのジョイントで接続するアームセグメント32122~32126上の全体の力もしくはトルクを直接測定するように各々構成される、力センサーもしくはトルクセンサーであるか、またはそれらを含んでもよい。実施形態では、センサー32221~32225は、電流または電圧を測定するように構成される、電流センサーまたは電圧センサーを含みうる。一実施例では、センサー32221~32225は、アクチュエーター33301~33305を流れる電流のそれぞれの量を測定するように構成される、電流センサーであってもよい。この実施例では、センサー32221~32225の各々は、アクチュエーター33301~33305のそれぞれのアクチュエーター(例えば、モーター)と直列に電気的に接続してもよい。センサーは、それ自体を流れる電流の量を測定してもよく、電流の量は、それぞれのアクチュエーターに提供されるか、それぞれのアクチュエーターによって引き出されるか、もしくはそうでなければそれぞれのアクチュエーターを流れる電流の量と等しいか、または実質的に等しくなりうる。アクチュエーターを流れる電流の量は、アクチュエーターが位置する、対応するジョイントでの全体の力または全トルクを示しうる。一部の実例では、ジョイント、すなわちジョイントのアームセグメントが、アクチュエーターによって駆動されている機械負荷として作用してもよく、アクチュエーターを流れる電流の量は、アクチュエーターを起動するために、どのくらいの電圧が提供されているかに依存し、負荷が、アクチュエーターによって提供される以外のトルク(例えば、重力に起因するトルク)に影響を受けているか、および/または負荷の運動に、別のトルク(例えば、摩擦による抵抗トルク)が抵抗しているかなど、機械負荷の特質に依存してもよい。例として、センサー32224は、ジョイント32144での全体の力またはトルク、すなわち、より具体的には、アームセグメント32125またはアームセグメント32124上の全体の力または全トルク(ジョイント32144によって提供されるピボット点に対して、アームセグメント32125および/または32124を回転させるための)を示しうる、アクチュエーター33304を流れる電流の量を測定してもよい。
一部の実例では、センサー32221~32225によって生成される作動データは、対応するアクチュエーター33301~33305を流れている電流の量と等しい値を有しうる。こうした実例では、計算システム1100は、作動データによって表される電流値に基づいて、全トルクまたは全体の力の値を計算するか、または他の方法で決定するように構成されてもよい。一部の実例では、センサー32221~32225自体が、全トルクまたは全体の力の値を計算するか、または他の方法で決定し、トルク値または力の値を作動データの一部として提供するように構成されうる。計算は、例えば、全トルクが、電流を乗じた所定の定数(トルク定数と呼んでもよい)に等しいか、またはそれに基づく関係など、電流と全トルクまたは全体の力との所定の関係に基づいてもよい。したがって、計算システム1100は、トルク定数にセンサー32221~32225によって測定される電流の値を乗じることによって、全トルクの上記計算を行うように構成されてもよい。一部の実施では、計算システム1100(および/またはセンサー32221~32225)は、トルク定数に値を提供しうる、記憶されたアクチュエーター情報にアクセスしてもよい。例えば、トルク定数は、非一時的コンピューター可読媒体1120に記憶された値であってもよい。
上述のように、図3Cの第二のセンサーセット32241~32245は、それぞれの動作データセットを生成しうる。一部の実施では、第二のセンサーセット32241~32245は、それぞれジョイント32141~32145に、またはその近くに配置されてもよい。センサー32141~32145によって生成されるそれぞれの動作データセットは、それぞれアームセグメント32122~32126の動作を測定するか、またはそうでなければ記述し、すなわち、より具体的には、ジョイント32141~32145によって接続するアームセグメントのそれぞれの対の間の相対動作を記述しうる。例えば、センサー32245は、ジョイント32145に対する、およびアームセグメント32125に対するアームセグメント32126の動作を測定するか、またはそうでなければ記述し、すなわち、より具体的には、ジョイント32145によって直接接続する、すぐ隣接するアームセグメント32126、32125の対の間の相対動作を記述しうる。上記の実施例では、アームセグメント32126は、対のより遠位のアームセグメントであってもよく、一方、アームセグメント32125は、対のより近位のアームセグメントであってもよい。別の実施例として、センサー32244が、ジョイント32144に対する、およびアームセグメント32124に対するアームセグメント32125の動作を測定するか、またはそうでなければ記述してもよい。
実施形態では、動作データは、アームセグメントの動作の量もしくは速度を測定するか、またはそうでなければ記述してもよい。動作の量または速度は、アームセグメントが接続するジョイントの位置、アームセグメントが移動し始める前の位置、移動しているアームセグメントにすぐ隣接する近位アームセグメントの位置、または何らかの他の基線位置(基準位置とも呼ぶ)など、基線位置に対して測定されうる。一部の実例では、動作量は、基線位置に対するアームセグメントの位置を指しうる。動作にアームセグメントの回転を伴う場合、動作の量(すなわち、より具体的には、回転の量)は、一部の実例では、アームセグメントの回転位置(角度位置、回転変位、または角度変位とも呼ぶ)を指しうる。アームセグメントの回転位置は、基線位置に対して測定されてもよい。例として、図3Dは、アームセグメント32125が、ジョイント32144を通って延在する回転軸Aの周りで、ジョイント32144に対して、およびアームセグメント32124に対して回転する状況を示し、ジョイント32144によって、二つのアームセグメントを直接接続しうる。この実施例では、アームセグメント32125の回転位置は、アームセグメント32125が、基線位置に対してどのくらい回転したかを測定する、角度θによって示されてもよい。上述のように、さまざまな位置が基線位置として使用されうる。一実施例では、図3Eのアームセグメント32124および32125の簡略図が示すように、基線位置は、回転位置の角度θが位置3510から測定されうるように、ジョイント32144に対して、およびアームセグメント32124に対して静止していたときの、アームセグメント32125の位置3510(例えば、アームセグメントの配向)であってもよい。図3Eでは、基線位置3510は、水平位置を有する角度α(例えば、ゼロでない角度)を形成してもよい。より具体的には、基線位置3510に関連付けられた配向は、重力に対して垂直な配向でありうる、水平配向を有する角度αを形成しうる。角度αについては、以下でより詳細に論じる。
実施形態では、動作データは、アームセグメント(例えば、32125)が回転しているか、もしくは他の方法で移動している速度を測定するか、またはそうでなければ記述してもよい。動作速度は、上で論じた基線位置に対して測定されてもよい。一部の実例では、ジョイント(例えば、32144)の周りの一つのアームセグメントの動作速度は、そのジョイントに対して、またはすぐ隣接するアームセグメント(例えば、32124)に対して測定されてもよい。一部の実施では、動作速度は、速さ、速度、または加速度(例えば、回転の速さ、回転速度、または回転加速度)を指しうる。この実施例では、回転の速さは、回転速度の大きさを指してもよく、一方、回転速度はさらに、回転の方向(例えば、時計回りまたは反時計回り)を記述してもよい。実施形態では、計算システム1100は、センサー32241~32245によって生成される動作データに基づいて、追加の動作データを判定するように構成されてもよい。例えば、センサー32241~32245が、回転位置を直接測定し、動作データの中のその測定値を提供する場合、計算システム1100は、回転位置(例えば、回転位置の時間ベースの導関数として)に基づいて、回転速度および/または回転加速度を決定するように構成されてもよい。実施形態では、第二のセンサーセット32241~32245は、角度変位センサー、線形変位センサー、動作データを生成するように構成される他のセンサー、またはそれらの組み合わせを含みうる。
図4は、ロボット(例えば、1200/3200)の特性(例えば、物理特性)を記述する、推定パラメーター値を決定するための、例示的な方法4000の流れ図を描写する。一部のシナリオでは、方法4000は、ロボットキャリブレーション操作の一部として行われてもよい。当業者は、図4が、ロボットの特性を推定するための方法の一例を示し、ロボットの特性を推定するための他の例示的な方法に、方法4000よりも少ないステップ、多いステップ、および/または方法4000とは異なるステップがあってもよいことを認識するであろう。実施形態では、方法4000は、計算システム1100によって、すなわち、より具体的には、処理回路1110によって、非一時的コンピューター可読媒体1120上に記憶された命令(例えば、ロボットキャリブレーションモジュール1122に対する命令)を実行しているときなどに、少なくとも計算システム1100の処理回路1110によって行われてもよい。
実施形態では、方法4000のステップの一部またはすべてが、複数回行われてもよく、複数回は複数回の反復に対応してもよい。方法4000のステップに関する以下の考察は、それらのステップの一回の反復を示してもよいものの、追加の反復を行ってもよい。各反復は、特定のアームセグメント、特定のジョイント、ジョイントによって接続するアームセグメントの特定の一対、および/またはそのアームセグメントまたはジョイントについて推定される、特定の物理特性(例えば、摩擦または重心)に固有であってもよい。例えば、一回の反復または反復のセットが、一つのアームセグメントまたは一つのジョイントの物理特性を推定するために、一つの時間中に行われてもよく、一方、次の反復または次の反復のセットが、別のアームセグメントまたは別のジョイントの物理特性を推定するために、別の時間中に行われてもよい。一部の実例では、一回の反復が、アームセグメントまたはジョイントに関連付けられた一つの物理特性(例えば、摩擦パラメーター推定値)を推定するために行われてもよく、一方、別の反復が、アームセグメントまたはジョイントに関連付けられた別の物理特性(例えば、重心)を推定するために行われてもよい。実施形態では、方法4000のステップは、アームセグメント、ジョイント、もしくは他の構成要素、またはロボットの構成要素の組み合わせについて、特定の特性(例えば、摩擦に関係する特性)を推定するために、一つの時間中に行われてもよく、ステップの一部またはすべてが、その構成要素または構成要素の組み合わせについて、別の特性(例えば、重心に関係する特性)を推定するために、別の時間中に繰り返されてもよい。
一部の実施では、反復によって、アームセグメントまたはロボットの他の構成要素の特性を、順次推定しうる。順次行う形式には、例えば、ロボットの一連の構成要素の中の次の構成要素について、一つまたは複数の特性を推定する前に、ロボットの一連の構成要素から一つの構成要素について、一つまたは複数の特性を推定することを伴いうる。例えば、ロボットの構成要素が、複数のジョイント(32141~32145)で接続する一連のアームセグメント(32121~32126)である場合、順次行う形式には、最も遠位のアームセグメント(例えば、一連のアームセグメントの中で最も下流にある32126)、または最も遠位のジョイント(例えば、32145)の一つもしくは複数の特性(例えば、重心)を推定するために、最も早い反復を使用する上流の配列を伴いうる。最も早い反復の後、次の反復では、最も遠位のアームセグメントまたは最も遠位のジョイントのすぐ上流にある、近位アームセグメント(例えば、32125)またはジョイント(例えば、32144)の一つもしくは複数の特性(例えば、重心)を推定するために、上流に進んでもよい。上流の配列では、次の反復を使用して、ロボット基部(例えば、3202)から最も遠い、アームセグメント(例えば、32124)もしくはジョイント(例えば、32143)から、ロボット基部に最も近いアームセグメント(例えば、32121)もしくはジョイント(例えば、32141)に向かって進む配列において、残りのアームセグメント(例えば、32124~32121)または残りのジョイント(例えば、32143~32141)の一つもしくは複数の特性を推定するために、上流方向に進んでもよい。
実施形態では、方法4000は、計算システム1100によって、第一のジョイントまたは第一のアームセグメントのうちの少なくとも一つを選択する、ステップ4002から始まるか、またはそうでなければステップ4002を含んでいてもよい。第一のジョイントは、図3A~3Cのロボットアーム3210の複数のジョイント32141~32145など、ロボットアームの複数のジョイントの中から選択されてもよい。同様に、第一のアームセグメントは、ロボットアーム3210の複数のアームセグメント32121~32126など、ロボットアームの複数のアームセグメントの中から選択されてもよい。例として、選択される第一のジョイントは、例えば、ジョイント32144であってもよく、または選択される第一のアームセグメントは、例えば、アームセグメント32125であってもよい。この実施例では、選択される第一のジョイントによって、第一のアームセグメントを、第一のアームセグメントにすぐ隣接する、第二のアームセグメント(例えば、アームセグメント32124)など、別のアームセグメントに接続する。この実施例の複数のアームセグメントが、直列に接続している場合、第二のアームセグメントは、例えば、第一のアームセグメントの近位端に直接接続してもよい。言い換えれば、第一のアームセグメントは、第一のアームセグメントが、第二のアームセグメントの遠位にあるように、第二のアームセグメントの遠位端に直接接続してもよい。
実施形態では、第一のジョイントまたは第一のアームセグメントは、第一のジョイントまたは第一のアームセグメントに関連付けられた、物理特性を推定するために、ステップ4002で選択されうる。より具体的には、計算システム1100は、第一のジョイント(例えば、32145)での運動、すなわち、より具体的には、第一のジョイントによって接続する、第一のアームセグメント(例えば、32125)と第二のアームセグメント(例えば、32124)との間の相対運動を引き起こすために、第一のアームセグメント(例えば、32125)または第一のジョイントを選択しうる。以下でより詳細に論じるように、計算システム1100によって、運動に関連付けられたセンサーデータを受信し、センサーデータを使用して、第一のジョイントまたは第一のアームセグメントに関連付けられた物理特性を推定しうる。上述のように、ステップ4002のこの実施例は、ステップ4002の一回の反復を伴ってもよく、第一のジョイントまたは第一のアームセグメントの物理特性を推定するために使用されてもよい。一部の実施では、ステップ4002の別の反復を行うために、ステップ4002を繰り返してもよい。この他の反復を使用して、例えば、第二のアームセグメント(例えば、32124)または第二のジョイント(例えば、32144)の物理特性を推定するために、第二のアームセグメント(例えば、32124)または第二のジョイント(例えば、32144)を選択しうる。
実施形態では、計算システム1100によって、第一のジョイントまたは第一のアームセグメントとして、ロボットアーム(例えば、1210/3210)のいかなるジョイントまたはアームセグメントも選択しうる。実施形態では、計算システム1100によって、ステップ4002で、上で論じた上流の配列などの所定の配列に従って、第一のジョイントまたは第一のアームセグメントを選択しうる。例えば、ステップ4002の反復が複数回行われる場合、上流の配列には、ステップ4002の複数回の反復のうち最も早い反復の間に、ロボットアームの最遠位アームセグメントまたは最遠位ジョイントを選択することを伴いうる。ステップ4002の後続する一回の反復中、上流の配列は、前の反復中に選択されたジョイントまたはアームセグメントに対して、すぐ上流にある別のジョイントまたは別のアームセグメントの選択を伴いうる。
実施形態では、計算システム1100によって、複数のジョイントまたは複数のアームセグメントの特性を同時に推定するために、複数のジョイント、複数のアームセグメント、または複数のジョイントが接続する、すぐに隣接するアームセグメントの複数の対を選択しうる。複数のジョイントまたは複数のアームセグメントの特性を同時に推定することには、複数のアームセグメントが、複数のジョイントに対してそれぞれ同時に移動するように、複数のジョイントまたは複数のアームセグメントを同時に直接作動させる(例えば、複数のアクチュエーターを同時に起動することによって)ことを伴いうる。
実施形態では、計算システム1100によって、ステップ4002の反復ごとに、選択されたジョイントまたはアームセグメントのみを直接作動させるために、いかなる他のジョイント、アームセグメント、またはすぐ隣接するアームセグメントの対を選択することなく、単一のジョイント、単一のアームセグメント、またはジョイントによって接続する、すぐ隣接するアームセグメントの単一対を選択しうる。より具体的には、複数のジョイントまたは複数のアームセグメントの同時選択によって、上で論じたように、複数のアームセグメントの同時動作をもたらしうる。こうした同時動作は、アームセグメントを囲む、またはアームセグメントによって形成されるロボットを囲む環境の中で、空間の制約が原因で問題を生む場合がある。空間の制約は、例えば、ロボット近くの物体(例えば、ワイヤ)または構造物(例えば、天井梁)に起因する場合がある。こうした実施例では、複数のアームセグメントの同時移動によって、ロボット近くの物体または構造物との衝突をもたらす可能性がある、ロボットの動作範囲が潜在的に生まれうる。さらに、複数のアームセグメントの同時動作によって、振動または他の形態の測定ノイズを生成しうる。測定ノイズは、センサーデータの精度に影響を及ぼしうる。例えば、一つのアームセグメントの動作によって、ロボットアームにわたって伝搬し、ロボットアームの別のアームセグメントの動作を、正確に測定する能力に影響を及ぼす、振動を生成しうる。言い換えれば、前者のアームセグメントの動作により引き起こされる振動によって、後者のアームセグメントの動作を測定するセンサーデータに、測定ノイズが導入されうる。複数のアームセグメントの同時動作から生じるこの測定ノイズは、センサーデータの精度に影響を及ぼしてもよく、したがって、複数のアームセグメントの特性に対する、それぞれの推定値の精度に影響を及ぼしうる。このように、複数のジョイントまたは複数のアームセグメントを選択して、それらのジョイントまたはアームセグメントの特性を同時に推定することによって、結果として生じる推定された値(推定値とも呼ぶ)の精度に影響が及びうる。
したがって、上述のように、計算システム1100によって、ステップ4002もしくはステップ4002の反復の間に、ロボットアームのいかなる他のジョイントを選択することなく、ロボットアームのジョイントを選択してもよく、またはロボットアームのいかなる他のアームセグメントを選択することなく、ロボットアームのアームセグメントを選択してもよい。より具体的には、計算システム1100によって、ステップ4002の第一の反復(他の反復の前および/または後でありうる)中、ロボットアーム(例えば、3210)の複数のジョイント(例えば、32141~32145)のうちのいかなる他のジョイントを選択することなく、複数のジョイントの中から、上で論じた第一のジョイント(例えば、32144)を選択してもよく、または複数のアームセグメント(例えば、32121~32126)のうちのいかなる他のアームセグメントを選択することなく、複数のアームセグメントの中から、上で論じた第一のアームセグメント(例えば、32125)を選択してもよい。こうした選択が、ジョイントごとまたはセグメントごとに、ロボットキャリブレーションを行う一部としてなされてもよい。例えば、ロボットキャリブレーションを行うこうした原則には、単一のジョイントまたは単一のアームセグメントのみが、ステップ4002の反復または対応する時間中に直接作動するように、特定の反復または時間中に、ロボットアームのいかなる他のジョイントまたはいかなる他のアームセグメントを直接作動させることなく、その反復または時間中に、ロボットアームの単一のジョイントまたは単一のアームセグメントを直接作動させることを伴ってもよい。一部の実例では、ロボットアーム(例えば、3210)に、複数のジョイント(例えば、33301~33304)での作動を出力するための、複数のそれぞれのアクチュエーター(例えば、図3Bおよび3Cの33301~33305)がある場合、ステップ4002には、特定の時間または反復中の作動のために、複数のアクチュエーターのうちのいかなる他のアクチュエーターを選択することなく、その時間または反復中の作動のために、第一のアクチュエーター(例えば、33304)を選択することを伴いうる。こうした選択によって、時間または反復中に、複数のアクチュエーターのうちのいかなる他のアクチュエーターを作動させることなく、第一のアクチュエーター(例えば、33304)を起動させうる。選択によって、第一のアクチュエーター(例えば、33304)が起動されて、第一のジョイント(例えば、32144)の作動、すなわち、より具体的には、その時間または反復中に第一のジョイント(例えば、32144)に回転を引き起こすために、第一のジョイント(例えば、32144)でのトルクまたは力の出力がもたらされうる。第一のジョイント(例えば、32144)での回転は、第一のジョイント(例えば、32144)が回転していることを指すか、または第一のジョイント(32144)に対して、もしくは別のアームセグメントに対して(例えば、ジョイント32124によってアームセグメント32125に接続する、アームセグメント32124に対して)回転している、第一のジョイントに接続するアームセグメント(例えば、32125)を指してもよい。この実施例では、この時間または反復中、起動のために他のアクチュエーターが選択されることはないため、この時間または反復中に、複数のジョイントのうちのいかなる他のジョイントにも回転は起こらない。言い換えれば、第一のアクチュエーター(例えば、33304)は、この時間または反復中に起動して、第一のジョイント(例えば、32144)に対して、または第一のアームセグメント(例えば、32145)にすぐ隣接する第二のアームセグメント(例えば、32124)に対して、第一のアームセグメント(例えば、32125)を動作させてもよく、一方、この時間または反復中に、対応するジョイントに対するいかなる他のアームセグメントの動作は全くないか、または、すぐ隣接するアームセグメントのいかなる他の対の間にも相対動作は全くない。
図4に戻ると、方法4000はステップ4004を含んでもよく、ステップ4004の反復中に、計算システム1100によって、ステップ4002で選択された第一のジョイント(例えば、32144)を介して、第一のアームセグメント(例えば、32125)と第二のアームセグメント(例えば、32124)との間に相対動作を引き起こすための、すなわち、より具体的には、第一のジョイントを介して、第一のアームセグメントを第二のアームセグメントに対して移動させるための、一つ以上の動作コマンドのセットを生成してもよい。一部の実例では、一つ以上の動作コマンドを、複数のアクチュエーターのうちの第一のアクチュエーター(例えば、33304)を起動するために使用してもよく、計算システム1100によって、図2Bの通信インターフェース1130を介して、第一のアクチュエーター(例えば、33304)に出力するか、または他の方法で伝達しうる。例えば、第一のアクチュエーター(例えば、33304)がモーターである場合、一つ以上の動作コマンドは各々、モーターを起動するためのモーターコマンドであってもよい。一部の実施では、一つ以上のモーターコマンドが、モーターを起動するために使用される、一つ以上の信号(例えば、電圧信号または電流信号)を形成するか、または含んでもよい。一部の実例では、一つ以上のコマンドで、一つ以上の動作コマンドの持続期間によって、または一つ以上の動作コマンドにコード化された情報によってなど、モーターを起動するレベルまたは大きさを制御することができうる。モーターを起動するレベルまたは大きさは、モーターによって出力される、トルクまたは力の量を制御するために使用されうる。
実施形態では、アクチュエーター(例えば、33304)が、一つ以上の動作コマンドを受信すると、アクチュエーターは、ジョイントでの運動を出力し、すなわち、より具体的には、力またはトルクを出力して、ジョイントでの運動を引き起こしうる。上述のように、ジョイントでの運動は、ジョイント自体の移動(例えば、回転)を指すか、ジョイントの一つの構成要素が、ジョイントの別の構成要素に対して移動することを指すか、またはアームセグメントがジョイントに対して移動することを指してもよい。例えば、図5Aは、一つ以上の動作コマンドに応答して、第一の方向(例えば、反時計回りの方向)に第一のトルクを出力して、アームセグメント32125を、アームセグメント32124に対してジョイント32144の周りを、開始位置(例えば、基線位置)から中間位置へ第一の方向に回転させる、アクチュエーター33304を示す。図5Bは、一つ以上の動作コマンドに応答して、反対の第二の方向(例えば、時計回り方向)に第二のトルクを出力して、その後、アームセグメント32125を、アームセグメント32124に対してジョイント32144の周りを、中間位置から終了位置へ第二の方向に回転させる、アクチュエーター33304を示す。
上述のように、実施形態では、計算システム1100によって、特定の時間または反復中に直接起動される、いかなる他のジョイントまたはいかなる他のアームセグメントも選択することなく、その時間または反復中に直接作動する、一つのジョイントまたは一つのアームセグメントを選択しうる。一部の実例では、ステップ4004で、一つ以上の動作コマンドによって、その時間または反復中に、いかなる他のジョイントでの運動を引き起こすことなく、すなわち、より具体的には、すぐ隣接するアームセグメントのいかなる他の対の間に、相対動作を引き起こすことなく(例えば、対応するジョイントに対して、いかなる他のアームセグメントを動作させることなく)、選択されたジョイントでの運動、すなわち、より具体的には、ジョイントに対する(またはすぐ隣接するアームセグメントに対する)選択されたアームセグメントの運動を引き起こすような一つ以上の動作コマンドを、計算システム1100によって生成してもよい。より具体的には、一回の反復で生成される一つ以上の動作コマンドのセットは、その反復で、複数のアクチュエーターのうちのいかなる他のアクチュエーターの起動を引き起こすことなく(例えば、アクチュエーター33301~33303および33305を起動することなく)、第一のアクチュエーター(例えば、33304)の起動を引き起こすためのものであってもよい。上で論じたように、一度に一つのアクチュエーターのみを起動することによって、ロボットが位置する環境により課せられる空間制約により適応しうる。より具体的には、この実施例の一つ以上の動作コマンドによって、一度に一つのジョイントのみに運動を引き起こすため、環境の中にある物体または構造物と、ロボットとの衝突のリスクが低減されうる。一度に一つのアクチュエーターのみを起動することによって、ロボットキャリブレーションの精度をさらに向上させうる。すなわち、一つ以上の動作コマンドによって、一方のアクチュエーター(例えば、33304)を起動させて、一つのジョイントでの運動を出力してもよく、一方、他方のアクチュエーターは停止したままであり、停止したアクチュエーターは、対応するジョイントで運動を出力していない。他方のジョイントでのこうした運動の欠如により、振動ノイズまたは他のノイズの量が減少してもよく、起動されたアクチュエーターに対応するジョイントに対する、運動を測定する精度が向上しうる。より正確な測定によって、ロボットキャリブレーションから、より正確な結果がもたらされうる。
実施形態では、計算システム1100によって、選択されたジョイントでの運動、もしくは選択されたアームセグメントの運動(例えば、上で論じた第二のアームセグメントに対する、第一のアームセグメントの運動)の意図されるもしくは計画された特質を記述する情報であるか、または情報を含みうる動作プロファイルに基づいて、一つ以上の動作コマンドを生成しうる。一部の実例では、動作プロファイルは、選択されたアームセグメントもしくは選択されたジョイントの位置(例えば、回転位置)の、意図されるまたは計画された値を指定する、位置プロファイルであってもよい。一部の実例では、動作プロファイルは、選択されたジョイントもしくは選択されたアームセグメントの速さ、速度、および/もしくは加速度(例えば、回転の速さ、回転速度、または回転加速度)について、一つ以上の意図されるもしくは計画された値を記述しうる、速さプロファイル、速度プロファイル、ならびに/または加速度プロファイルであってもよい。一部の実施では、動作プロファイルの値は、時間の関数であるか、またはより広くは、異なる時点に対応してもよい。一部の実施では、動作プロファイルは、運動の位置、速さ、速度、および/または加速度が経時的にどのように変化すべきかを記述する波形を含むか、または表してもよい。一部の実例では、速さプロファイルは、より具体的には、回転の速さおよび方向を指定する、速度プロファイルであってもよい。
実施形態では、ステップ4004で生成される一つ以上の動作コマンドは、ステップ4002の一回の反復中に選択される、第一のアームセグメント(例えば、32125)および第二のアームセグメント(例えば、32124)など、二つのアームセグメント間のジョイントでの摩擦に関連付けられる、摩擦パラメーター推定値を決定するために使用されうる。例えば、摩擦パラメーターは、第一のアームセグメントと第二のアームセグメントとの間の粘性摩擦の係数であってもよく、または二つのアームセグメント間の静止摩擦(クーロン摩擦とも呼ぶ)の量であってもよい。一部の実施では、一つ以上の動作コマンドは、摩擦を推定するために最適化されたセンサーデータを生成することが意図される、動作プロファイルに基づいて生成されうる。より具体的には、一つ以上の動作コマンドは、速さもしくは速度に対して、結果として生じる動作の値の範囲が幅広くなるように、試みるかまたは意図する速さプロファイルに基づいて生成されうる。より具体的には、こうした速さプロファイルによって、二つの構成要素間の相対動作の速さに依存する大きさを有しうる、二つの構成要素間の粘性摩擦など、特定タイプの摩擦の測定を強化しうる。したがって、速さもしくは速度に対して、ジョイントまたはアームセグメントでの運動に、幅広い範囲の値を持たせるように試みるか、または計画する速さプロファイルによって、粘性摩擦に対する幅広い範囲の値を測定することが可能になってもよく、それによって、粘性摩擦の特質を推定する(例えば、粘性摩擦の係数を推定する)精度が向上しうる。
実施形態では、摩擦パラメーターを推定するために使用される速さプロファイルは、第一のアームセグメントまたは第一のジョイントが選択される第一の時間など、特定の時間または反復内の異なる時点に対応する速さ(例えば、回転の速さ)について、複数の値を含みうる。複数の値は、所定の最大操作速さと等しい、少なくとも一つの値を含みうる。所定の最大操作速さは、例えば、アクチュエーター(例えば、33304)に対する、または作動しているロボットアーム(例えば、3210)もしくはアームセグメントに対する定格最大速さであってもよい。一部の実例では、所定の最大操作速さは、アクチュエーター、ロボット、またはロボットアームの製造業者によって提供されてもよく、非一時的コンピューター可読媒体1120または他の場所に記憶されてもよい。一部のシナリオでは、所定の最大操作速さは、結果として生じる動作がまだ安定している間に、アクチュエーターまたはロボットアームが、動作できる速さの最大値として、製造業者が決定していてもよい。一部の実例では、所定の最大操作速さは、アクチュエーターまたはロボットアームに著しい損傷のリスクを生むことなく、アクチュエーターまたはロボットが持続した時間中動作できる速さの最大値として、製造業者が決定していてもよい。
例として、図6A~6Cは、摩擦パラメーターを推定するために使用されうる、動作プロファイルを示す。より具体的には、図6Aは、ジョイントまたはアームセグメントの回転変位、すなわち、より具体的には、基線位置に対する一つのアームセグメント(例えば、上で論じた第一のアームセグメント)の回転位置を記述する、位置プロファイルを描写する。図6Bは、アームセグメントの回転の速さ(またはより具体的には、回転速度)の値を記述する、対応する速さプロファイル、すなわち、より具体的には速度プロファイルを描写する。回転の速さの値は、例えば、基線位置によって提供される基準のフレーム、または対応するジョイントもしくは隣接するアームセグメント(例えば、上で論じた第一のジョイントまたは第二のアームセグメント)によって提供される基準のフレームに対しての値であってもよい。図6Cは、基準のフレームに対するアームセグメントの回転加速度の値を記述する、対応する加速度プロファイルを描写する。図6Bの実施例では、アクチュエーターまたはロボットアームは、1秒当たり150度である所定の最大操作速さを持ってもよい。図6Bに示すように、速さプロファイルによって、tbおよび再びtcで、回転の速さを所定の最大操作速さに到達させるように試みるか、または計画しうる。さらに上で論じたように、この速さプロファイルは、摩擦パラメーターを推定するために使用されうる。
図6Bでは、示す値は回転速度を記述しうる。より具体的には、値は、回転速度が、taからtcまでの時間範囲の間、第一の方向(例えば、反時計回りの方向)を持ってもよいことを示す。この時間範囲は、例えば、図5Aに示す回転に対応してもよい。値はさらに、回転速度が、tcからteまでの時間範囲の間、第二の方向(例えば、時計回りの方向)を持ってもよく、図5Bに示す回転に対応してもよい。図6Bにさらに示すように、回転速度は、時間tbおよび時間tdで、ゼロに向かって大きさの減少が始まりうる。これらの時点は、回転を引き起こすためのアクチュエーター(例えば、33304)によって、出力されているトルクの方向が切り替わる(例えば、反時計回りの方向から時計回りの方向へ)ときに対応しうる。
実施形態では、ステップ4004で生成される一つ以上の動作コマンドは、ステップ4002について上で論じた反復の中で選択される、第一のアームセグメント(例えば、32125)などのアームセグメントについて、重心(CoM)推定値を決定するために使用されてもよい。こうした実施形態では、CoM推定値は、CoMを推定するために最適化される、センサーデータを生成することが意図される、動作プロファイルを用いて決定してもよい。一部の実施では、CoMの推定に使用される動作プロファイルは、摩擦の推定に使用される動作プロファイルとは異なる場合がある。例えば、第一の速さプロファイルまたは第一の加速度プロファイルは、摩擦パラメーター推定値を決定するために使用されてもよく、一方、第二の速さプロファイルまたは第二の加速度プロファイルは、CoM推定値を決定するために使用されてもよい。
実施形態では、CoMを推定するために使用される、第二の速さプロファイルまたは第二の加速度プロファイルによって、運動の速さもしくは加速度を制限するように試みるか、または計画しうる。より具体的には、運動が高速または高加速度に到達すると、増量した振動を生成する場合があり、これによって測定ノイズをセンサーデータに導入しうる。したがって、速さまたは加速度を制限することによって、測定ノイズの量が低減しうる。さらに、アームセグメントのCoMは、一部の実例では、その回転の速さではなく、その回転位置に左右されうる。したがって、速さまたは加速度を制限するとき、運動によって達成される速さの値の範囲を減少させたとしても、CoM推定値の精度には悪影響が及ばない場合がある。一実施例では、摩擦を推定するために使用される第一の速さプロファイルは、回転の速さに対する第一の複数の値を含んでもよく、一方、CoMを推定するために使用される第二の速さプロファイルは、回転の速さに対する第二の複数の値を含んでもよい。第二の複数の値は、特定の時間または反復内の異なる時点に対応してもよく、第二の速さプロファイルによって、第二の複数の値のすべてが所定の速さ閾値以下となるように、速さを制限してもよい。一実施例では、所定の速さ閾値は、例えば、所定の最大操作速さの所定のパーセンテージ(例えば、10%)であってもよい。図7A~7Cは、CoMを推定するのに使用されうる、位置プロファイル、対応する速さプロファイル、および対応する加速度プロファイルを示す。より具体的には、図7Bは、CoMを推定するために使用される、第二の速さプロファイルの実施例を示す。この実施例では、速さプロファイルの速さの値すべてが、1秒当たり70度である速さ閾値以下であってもよい。一部の実施では、加速度プロファイルがCoMを推定するために使用される場合、加速度プロファイルによって、動作(例えば、二つの隣接するアームセグメント間の相対動作)の速度を、動作が発生している時間全体の間、所定の加速度閾値以下とさせうる。
上述のように、方法4000のさまざまなステップの反復一回を使用して、ジョイントまたはアームセグメントの一つの特性を推定してもよく、これらのステップの別の反復を行って、ジョイントまたはアームセグメントの別の特性を推定してもよい。一実施例では、さまざまなステップ(例えば、4002、4004)の一回の反復によって、上で論じた第一のアームセグメント(例えば、32125)および第二のアームセグメント(例えば、32124)など、一対のアームセグメント間の、第一の時間または第一の反復中に相対動作を引き起こすための、一つ以上の動作コマンドの第一のセットを生成しうる。一つまたは複数の動き動作コマンドの第一のセットは、例えば、摩擦パラメーター推定値を決定するように、上で論じた第一の動作プロファイルに基づいて生成されうる。この実施例では、ステップの別の反復を行って(例えば、ステップ4002および4004を繰り返してもよい)、一つ以上の動作コマンドの第二のセットを生成して、第一のアームセグメント(例えば、32125)と第二のアームセグメント(例えば、32124)との間に相対動作も引き起こしうる。一つ以上の動作コマンドの第二のセットは、例えば、CoM推定値を決定するように、上で論じた第二の動作プロファイルに基づいて生成されうる。
実施形態では、方法4000のステップ(例えば、4002、4004)を使用して、CoM推定値を決定する場合、計算システム1100は、選択されたジョイントまたは選択されたアームセグメントの動作が、垂直であるか、または近すぎて垂直にならない軸の周りで発生するかを判定するように構成されうる。一部の実例では、軸は回転軸であってもよく、計算システム1100によって、回転軸が、垂直の配向または近すぎて垂直にならない配向を有するかを判定してもよく、垂直配向は重力がかかる配向を指してもよい。回転軸の配向は、ロボットアーム(例えば、3210)の姿勢に左右されてもよく、すなわち、より具体的には、選択されたアームセグメントまたは選択されたジョイントが、どのように配向しているかに左右されうる。より具体的には、アームセグメントに対するCoMの推定は、一部の実施では、アームセグメントの回転または他の動作中に、アームセグメントのCoMを、ピボット点(例えば、ジョイント32144)により近く、またはピボット点からより遠ざけるように移動させることに左右されうる。この動作の回転軸が垂直すぎる場合、アームセグメントのCoMは、ピボット点から一定の距離に留まる場合があり、CoMを推定する能力に干渉しうる。したがって、計算システム1100によって、アームセグメントまたはジョイントが、回転軸に垂直配向を持たせる、または垂直配向を有するには近すぎる回転軸の原因となる、配向を有するかを判定してもよい。
実施形態では、計算システム1100によって、仮想円錐を使用して、垂直配向(すなわち、重力の方向と平行な配向)に近すぎる配向の範囲を表し、回転軸が仮想円錐の中にあるかを判定しうる。より具体的には、仮想円錐は、回転軸に対して可能な配向の範囲を表してもよく、可能な配向の範囲は垂直配向を含み、所定の角度閾値以下分だけ垂直配向とは異なる、他の配向を含む。言い換えれば、円錐によって表される他の可能な配向は、垂直の配向との角度を形成し、これらの角度は所定の角度閾値以下である。例えば図8は、垂直配向Vと、垂直配向Vの所定の角度(例えば、30度)内である他の配向の範囲とを表す、仮想円錐5500を示す。実際面で、垂直配向Vに対する所定の角度閾値(すなわち、仮想円錐5500によって表される)は、選択されたジョイントに重力が影響する量を、選択されたジョイントの実際の振幅に関するノイズ寄与と区別することが難しい、回転軸の配向に対応することができる。言い換えれば、重力が影響する量は、回転軸が所定の角度閾値内(すなわち、円錐内)にあるとき、選択されたジョイント上へのノイズ寄与と正確に区別するには少なすぎる場合がある。この実施例では、計算システム1100によって、特定のアームセグメントの回転に対する回転軸Rが、仮想円錐5500内にあるかを判定しうる。図8は、回転軸Rが実質的に水平で、それゆえ、仮想円錐5500内にない実施例を描写する。別の実施例では、計算システム1100によって、回転軸が仮想円錐の中にあると判定する場合、計算システム1100によって、こうした決定(回転軸が仮想円錐の中にあるという)の表示を出力しうる。例えば、表示は、グラフィカルユーザーインターフェース上の視覚的表示であってもよい。表示には、結果として生じるCoM推定値に、ロボットアームに対する別の姿勢を使用して、CoM推定値を再決定するかを評価するために使用されうる、準最適レベルの精度を場合により有するとフラグ付けしてもよい。
実施形態では、計算システム1100によって、上で論じた第一のジョイントまたは第一のアームセグメントなど、アームセグメントもしくはジョイントの作動および/または動作を記述する、センサーデータを受信してもよい。例えば、図4に戻ると、方法4000には、計算システム1100によって、ステップ4002で選択されたジョイントまたはアームセグメント(例えば、第一のジョイントまたは第一のアームセグメント)に関連付けられた、作動データセットを受信する、ステップ4006を含みうる。作動データセットは、アームセグメントが、ジョイントに対してもしくは隣接するアームセグメントに対して移動している時間または反復における、すなわち、より具体的には、二つのアームセグメント(例えば、第一のアームセグメントと第二のアームセグメント)間の相対動作が発生している時間における、ジョイント(例えば、32144)の全トルクまたは全体の力を示すセンサーデータであってもよい。いくつかの実施形態では、作動データセットは、選択されたジョイント(例えば、32144)またはアームセグメント(例えば、32125)に関連付けられた、センサー(例えば、センサー32224)によって生成されてもよく、通信インターフェース1130を介して計算システム1100へ伝達されてもよい。
実施形態では、作動データセットは、選択されたジョイント(例えば、32124などの第一のジョイント)での、もしくはアームセグメント(例えば、32125などの第一のアームセグメント)上の全体の力もしくは全トルクを直接示すか、もしくは全体の力もしくは全トルクに正比例してもよいか、または全体の力もしくは全トルクを間接的に示しうる。図9は、作動データによって示される全トルクの実施例を示す。上述のように、作動データを生成するためのセンサー(例えば、32224)は、一部の実例では、電流センサーであってもよく、一方、作動データセットは、対応するアクチュエーター(例えば、33304)を流れる電流に正比例/を直接的に測定もしくは記述してもよく、電流は、第二のアームセグメントに対する第一のアームセグメントの動作など、選択されたアームセグメントの動作を引き起こすためである。こうした実施例では、計算システム1100は、作動データによって直接測定される電流の値に基づいて、ジョイントもしくはアームセグメントでの全体的な力もしくは全トルクを計算するか、または他の方法で決定するように構成されてもよい。上述のように、全トルクまたは電流は、電流の値に所定のトルク定数を乗じることによって計算されうる。
図4に戻ると、方法4000は、計算システム1100によって動作データセットを受信する、ステップ4008を含みうる。動作データセットは、第一の時間または第一の反復中の第一のアームセグメント(例えば、32125)と第二のアームセグメント(例えば、32124)との間の相対動作など、選択されたアームセグメントもしくは選択されたジョイントの動作の量または動作速度を示す、センサーデータであってもよい。こうした実施例では、相対動作の量は、第二のアームセグメントまたは第一のジョイント(例えば、32124)によって提供される基線位置に対する、第一のアームセグメントの回転位置を示してもよく、一方、相対動作の速度は、第二のアームセグメントまたは第一のジョイントによって提供される基準フレームに対する、第一のアームセグメントの回転の速さ、回転速度、または回転加速度を示してもよい。一部の実例では、動作データセットは、回転の速さ、回転速度、または回転加速度を直接測定しうる。一部の実例では、動作データセットは、回転位置を直接測定してもよく、計算システム1100は、回転位置が経時的にどのように変化するかに基づいて、回転の速さ、回転速度、または回転加速度を計算するか、または他の方法で決定するよう構成されてもよい。一部の実施形態において、動作データセットは、選択されたジョイント(例えば、ジョイント32144)に関連付けられた、センサー(例えば、センサー32244)によって生成されてもよい。
実施形態では、動作データセットは、図6Aから7Cで、動作プロファイルと実質的に一致する、動作を記述する値を含んでもよい。例えば、動作データセットに、基線位置に対するアームセグメントの回転位置を記述する値がある場合、動作データの値によって記述される回転位置は、図6Aまたは図7Aの位置プロファイルと実質的に一致してもよい。同様に、動作データセットに、特定の基準フレームに対するアームセグメント(例えば、32125などの第一のアームセグメント)の回転の速さを記述する値がある場合、動作データの値は、図6Bまたは7Bの速度プロファイルと実質的に一致する動作を記述してもよい。
図4に戻ると、方法4000は、計算システム1100によって、選択されたジョイントもしくは選択されたアームセグメントに対して、摩擦パラメーター推定値または重心(CoM)推定値のうちの少なくとも一つを決定する、ステップ4010を含みうる。こうした決定は、作動データセットおよび動作データセットに基づいてもよい。例として、ステップ4010の一回の反復は、第一のアームセグメント(例えば、32125)と第二のアームセグメント(例えば、32124)との間の摩擦に関連付けられた、摩擦パラメーター推定値の決定を伴ってもよく、一方、重心(CoM)推定値は、第一のアームセグメント(例えば、32125)に関連付けられる。より具体的な例では、推定される摩擦パラメーターは、第一のアームセグメントと第二のアームセグメントとの間の粘性摩擦の係数、または第一のアームセグメントと第二のアームセグメントとの間の静止摩擦の量であってもよい。さらにこの実施例では、CoM推定値は、第一のジョイント(ピボット点として作用しうる)と第一のアームセグメントのCoMとの間の距離rの値であってもよい。上述のように、方法4000のステップは、一部のシナリオでは、ステップの複回の反復を行うために繰り返されてもよい。こうした実例では、ステップ4002~4008の一回の反復は、摩擦パラメーター推定値を決定するために、第一の時間中に行われてもよく、これらのステップの別の反復は、CoM推定値を決定するために、第二の時間(第一の時間の前または後でありうる)中に行われてもよい。
図10A~10Dは、摩擦パラメーター推定値が、作動データセットおよび動作データセットに基づいて、どのように決定されうるかを示す。より具体的には、図10Aおよび10Bは、(i)全トルクの値、および(ii)対応する回転速度の値の組み合わせのプロットである。ステップ4010の一回の反復で、これらの速度値によって、第一のアームセグメント(例えば、32125)と第二のアームセグメント(例えば、32124)との間の相対動作を画定しうる。より具体的には、値の各組み合わせは、それぞれの時点におけるジョイント(例えば、第一のジョイント)での全トルクを表す第一の値、およびその時点における回転速度を表す第二の値を含みうる。例えば、第一の値は、例えば、ある時点での、第二のアームセグメントに対する第一のアームセグメント上の全トルクを示してもよく、第二の値は、その時点での、第一のアームセグメントと第二のアームセグメントとの間の回転速度を示してもよい。図10Aにプロットされた値の組み合わせは、例えば、第一のアームセグメント(例えば、32125)によって、第一の方向への回転の速さが増大し、次いで回転が停止する、図5Aに示す回転に対応しうる。図10Bにプロットされた値の組み合わせは、第一のアームセグメント(例えば、32125)によって、第一の方向への回転の速さが増大し、回転が停止し、第二の方向への回転の速さが増大し、次いで再び回転が停止する、図5Aおよび5Bに示す回転に対応しうる。
実施形態では、作動データによって表される全トルクは、第一のアームセグメント(例えば、32125)および第二のアームセグメント(例えば、32124)など、二つのアームセグメント間のアクチュエーターの慣性からの寄与に基づいてもよい。実施形態では、全トルクは摩擦からの寄与に基づいてもよい。より具体的には、全トルクは、一部の実例では、次の例示である方程式によって記述されてもよい。
τ=アクチュエーターからの寄与+重力からの寄与+摩擦からの寄与(1)
τ=アクチュエーターからの寄与+重力からの寄与+摩擦からの寄与(1)
上記の方程式で、τは、第一のジョイント(例えば、32144)上の全トルクを指し、作動データに等しいか、または作動データから導き出されうる。この実施例では、アクチュエーターからの寄与は、アクチュエーター(例えば、33304)によって出力されるトルクまたは力を指しうる。例えば、上で論じた第一のアームセグメント(例えば、32125)または第一のジョイント(例えば、32144)について、摩擦パラメーターを推定している反復では、アクチュエーターからのこの寄与は、用語
によって表されてもよく、用語
は、第二のアームセグメントに対する第一のアームセグメントの回転加速度を表し、Iは第一のアームセグメントの慣性モーメントである。
実施形態では、この反復での重力からの寄与は、第一のアームセグメントおよびエンドエフェクタ(エンドエフェクタ装置とも呼ぶ)など、下流セグメントの重量によって引き起こされるトルクを指してもよく、トルクは、第一のジョイントによって提供されるピボット点に対して作用する。例えば、重力からの寄与は、用語mgr cosθまたはmgr sinθによって表されてもよく、θは、重力ベクトルに対する(または基線位置に対する)下流セグメントの回転位置を表し、一方、mgは下流セグメントの重量寄与を表す。より具体的には、mは下流セグメントの質量を表し、一方、gは重力加速度(例えば、9.8m/秒2)を表す。この実施例では、rは、第一のアームセグメントの重心(CoM)と第一のジョイントとの距離を表す。一部の実施では、質量mまたは重量mgの値は、非一時的コンピューター可読媒体1130に記憶される、既知の値であってもよい。
実施形態では、摩擦からの寄与は、どのくらいの抵抗が、第二のアームセグメントに対する、または第一のジョイントに対する、第一のアームセグメントの運動または運動の変化による摩擦によって提供されるのかを指しうる。一部のシナリオでは、摩擦からの寄与は
と表されてもよく、sは、第一のアームセグメントと第二のアームセグメントとの間の静止摩擦(クーロン摩擦とも呼ぶ)の量を表し、
は、第二のアームセグメントによって提供される、基準フレームに対する第一のアームセグメントの回転速度を表し、bは、第一のアームセグメントと第二のアームセグメントとの間の粘性摩擦の係数を表す。こうしたシナリオでは、静止摩擦は、第一のアームセグメントと第二のアームセグメントとの間の相対回転中、一定のままであってもよく、一方、回転速度の大きさが増加するにつれて、粘性摩擦は大きさが増大しうる。
実施形態では、計算システム1100は、作動データから、全トルクの摩擦成分とも呼ばれうる、摩擦からの寄与を効果的に抽出するか、または他の方法で決定するように構成されてもよい。例えば、図10Cおよび10Dは、さまざまな時点について、全トルクの摩擦成分を表す値の組み合わせを示す。全トルクの摩擦成分に対するこれらの値は、回転速度の値と組み合わされうる。一部の実例では、計算システム1100は、作動データによって示される全トルクから、アクチュエーターの寄与、および重力の寄与が分かっている場合はそれらの寄与を差し引くことによって、全トルクの摩擦成分を抽出するように構成されうる。例えば、計算システム1100によって、I(慣性モーメントを表す)の推定値またはr(CoMを表す)の推定値を決定するように、ステップ4002~4010の以前の反復が行われた場合、計算システム1100によって、それらの推定値だけでなく、動作データによって提供されるか、または動作データから導き出される値
をも使用して、アクチュエーターからの寄与(
として推定されうる)および重力からの寄与(mgr cosθ)として推定されうる)を決定してもよい。その後、計算システム1100によって、アクチュエーターの寄与および重力の寄与を全トルクから取り除いて(subtract out)、摩擦の寄与を抽出しうる。一部の実例では、計算システム1100によって、以下でより詳細に論じるように、全トルクを摩擦に関係させる、連立方程式のセットを解くことによって、摩擦成分を効果的に抽出しうる。
図10Dに示すように、計算システム1100は、摩擦パラメーター推定値を決定するために、全トルクの摩擦成分(作動データから抽出されうる)と、回転速度(動作データによって提供されるか、または動作データから抽出されうる)との関係を使用するように構成されうる。より具体的には、二つのアームセグメント間の摩擦には、静止摩擦および粘性摩擦を含みうる。上で論じたように、静止摩擦は、一部の実例では、定数(s)として表されてもよく、一方、粘性摩擦は、回転速度の線形関数
であると表されてもよく、
として全トルクの摩擦成分に近似しうる。こうした実例では、計算システム1100によって、線形の当てはめを、全トルクの摩擦成分を表す、図10Dの値の組み合わせに適用してもよい。より具体的には、計算システム1100によって、図10Cおよび10Dの値の組み合わせを通って適合するか、またはそうでなければ、その組み合わせに近似する、線7500Aおよび/または線7500Bを決定してもよい。線7500Aまたは7500Bは、
という上記の式を表してもよい。より具体的には、計算システム1100によって、線7500Aまたは7500Bの勾配に等しいか、またはそれに基づくように(またはそれらの線のそれぞれの勾配の平均として)、粘性摩擦の係数(b)を決定し、線7500AまたはB7500Bの高さに等しいか、またはそれに基づく(例えば、Y切片の7501Aから7501Bに、またはそれらの大きさの平均に等しい)ように、静止摩擦(s)を決定しうる。
上述のように、計算システム1100は、全トルクを摩擦に関係させる、連立方程式のセットを解くことによって、摩擦成分を効果的に抽出するように構成されうる。上述のように、全トルク(τ)は、アクチュエーターからの寄与、重力からの寄与、および摩擦からの寄与に基づいてもよい。一実施例では、全トルクは、以下のより具体的な関係に基づいてもよい。
この実施例では、パラメーターτに対する値は、作動データによって提供されるか、または作動データから導き出されてもよい。パラメーター
(回転位置、回転速度、および回転加速度をそれぞれ表しうる)は、動作データによって提供されるか、または動作データから導き出されてもよい。さらに上で論じたように、パラメーターIは慣性モーメントを表し、パラメーターmgは、アームセグメント(例えば、第一のアームセグメント)の重量を表し、パラメーターrは、アームセグメントのCoMと、アームセグメントが接続するジョイント(例えば、第一のジョイント)との間の距離を表し、パラメーターsは静止摩擦の量を表し、パラメーターbは粘性摩擦の係数を表す。上記の実施例では、αは、図3Eに示すように、基線位置と水平配向との間の角度であってもよい。さらに、運動の方向と反対の方向を有する静止摩擦を表すために、符号
関数が使用されうる。より具体的には、符号
関数は、
が正であるとき1の値、
が負であるとき-1の値、
が0であるとき0の値を有しうる。
実施形態では、計算システム1100は、上記の関係を使用して、異なる時点に、またはより広くは、(i)トルク値、および(ii)位置、速度、または加速度値の異なる組み合わせに対応する、方程式のセットを生成するように構成されてもよい。例えば、計算システム1100は、行列として表されうる、以下の方程式のセットを生成するように構成されてもよい。
上記の実施例では、
は、作動データによって提供されるか、または作動データから導き出される、異なるトルク値に対応してもよい。さらに、
は、動作データから提供されるか又は導き出される、異なる加速度値に対応してもよく、これらは
にそれぞれ対応する。同様に、
は、動作データによって提供されるか、または動作データから導き出される、異なる速度値に対応してもよく、
は、動作データによって提供されるか、または動作データから導き出される、異なる位置の値に対応してもよく、位置または速度のこれらの値もまた、
に対応する。実施形態では、これらの値は異なる時点に対応してもよい。例えば、
は、第一の時点(例えば、図10Aおよび10Bのta)で、センサーによって行われる測定に対応してもよく、一方、
は、第二の時点(例えば、図10Aおよび10Bのtb)で、センサーによって行われる測定に対応してもよい。
実施形態では、計算システム1100は、上記の連立方程式のセットを解いて、s、b、I、m、r、および/またはαに対するそれぞれの値を決定するように構成されてもよい。方程式を解くことには、上記の方程式を満たすか、またはおおよそ満たす、s、b、I、m、r、および/もしくはαに対するそれぞれの値を決定することを伴いうる。一部の実施では、計算システム1100は、最小二乗適合法を適用して、例えば、作動データからの測定トルク値
と、動作データおよび上記のパラメーターに対する推定された値を使用して計算される、予測トルク値(トルク予測値またはトルク値の予測とも呼ぶ)との誤差の量を最小化する、上記のパラメーターに対するそれぞれの値を決定するように構成されうる。
実施形態では、ステップ4010の計算システム1100によって、上で論じた手法に基づいて、摩擦パラメーター推定値を決定してもよい。例えば、摩擦パラメーター推定値は、静止摩擦を表す、上で論じたパラメーターsの値であってもよく、および/または粘性摩擦の係数を表す、上で論じたパラメーターbの値であってもよい。一部の実例では、上述のように、作動データ、動作データ、および/または摩擦パラメーター推定値を決定するために使用される他のセンサーデータは、摩擦を推定するのに最適な形式で生成されていてもよい。例えば、センサーデータは、アームセグメントの回転の速さ(別のアームセグメントによって提供される、基準フレームに対する)を引き起こして、特定の時間の反復中に少なくとも一回、所定の最大操作速さに到達させようと試みる、速さプロファイルに基づいて生成されていてもよい。
上記の実施例では、計算システム1100によって、摩擦パラメーター(例えば、sまたはb)に対する推定値を決定するだけでなく、アームセグメントの重心(CoM)を表しうる、パラメーターrに対する推定値をも決定する。一部の実例では、この推定値は、ロボットキャリブレーションの結果として、計算システムによって使用されうる。他の実例では、計算システム1100によって、摩擦を推定する副産物としてこの推定値を扱ってもよく、反復が終わった後にCoM推定値を破棄しうる。こうした実例では、計算システム1100によって、CoMを推定するためにより最適化されうる、別の反復を行いうる。より具体的には、摩擦を推定するために使用されるセンサーデータは、一部の実例では、CoMを推定するには準最適であってもよい。こうした実例では、計算システム1100によって、ステップ4002~4010(またはステップ4004~4010のみ)の別の反復を行って、CoMを推定するのにより最適である、センサーデータのセットを取得してもよい。例えば、この作動データおよび動作データのセットは、上で論じたように、速さまたは回転を所定の閾値未満に制限しようと試みる、速さプロファイルを用いて生成されていてもよい。
実施形態では、計算システム1100によって、連立方程式を解く上記の手法を使用して、ステップ4010の一回の反復でCoM推定値を決定してもよい。こうした反復では、また計算システム1100によって、摩擦パラメーター(例えば、sまたはb)に対する推定値を決定してもよい。計算システム1100によって、ロボットキャリブレーションの結果として、このような推定値を使用してもよく、または、CoMを推定する副産物として推定値を扱い、反復が終わった後に摩擦パラメーターの推定値を破棄してもよい。
実施形態では、計算システム1100によって、アームセグメント(例えば、第一のアームセグメント)の重量に起因する、すなわち、より具体的には、アームセグメントのCoMへの重力の影響に起因する全トルクの成分を、作動データから効果的に抽出するように、上記の手法または何らかの他の手法を使用しうる。一実施例では、この成分は、mgr cos(θ+α)として表現されてもよく、例えば、全トルクから、アクチュエーターの寄与(例えば
)および摩擦の寄与(例えば
)を差し引くことによって取得されてもよい。例えば、図11Aは、アームセグメントのCoMへの重力の影響として近似しうる、全トルクの重力成分を表す値の実施例を提供する。図11Bは、正弦適合(sinusoidal fit)、すなわち、より具体的には、計算システム1100が図11Aの値を適合させるように使用している、正弦曲線を示す。一部の実例では、計算システム1100によって、正弦曲線の振幅および位相シフトに基づいて、CoM推定値を決定しうる。より具体的には、計算システム1100は、正弦曲線の振幅に基づいて、mgrの値を決定するように構成されてもよく、一方、パラメーターαは、正弦曲線の位相シフトに影響を及ぼしうる。この実施例では、計算システム1100によって、正弦曲線の振幅をアームセグメントの重量で割って、アームセグメントのCoMを表しうるrを決定してもよい。
実施形態では、作動データに基づいて、特定のアームセグメントに対するCoMの推定値を決定するとき、計算システム1100は、下流アームセグメント(例えば、より遠位のアームセグメント)が、作動データまたは他のセンサーデータに与えうる影響を考慮に入れるように構成されてもよい。より具体的には、図3A~3C、5A、および5Bに関して上で論じたように、いくつかのアームセグメント(例えば、32121~32125)が、さらに下流にある、またはより遠位にある、一つ以上のアームセグメント(例えば、32126)を有する、一連のアームセグメントとして接続する複数のアームセグメントを有する、ロボットアームに対して、ロボットキャリブレーションが行われうる。例えば、上で論じた第一のアームセグメント(例えば、32125)は、一部の実例では、第一のアームセグメント(例えば、32125)に対して下流にある、一つ以上の遠位アームセグメント(例えば、32126)に接続してもよい。一つ以上の遠位アームセグメント(例えば、32126)からの重量は、第一のジョイント(例えば、32144)の全トルクに寄与してもよく、それゆえ、第一のアームセグメント(例えば、32125)に対するCoM推定値を決定するために使用される、センサーデータに影響を与えうる。こうした状況では、計算システム1100によって、第一のアームセグメント(例えば、32125)のCoM推定値を決定する前に、一つ以上の遠位アームセグメント(例えば、32126)に関連付けられた、CoM推定値を決定してもよい。このようにして、計算システム1100によって、第一のアームセグメント(例えば、32125)に関連付けられた、CoM推定値を決定しているとき、一つ以上の遠位アームセグメント(例えば、32126)に関連付けられた、より早く決定されたCoM推定値を使用して、どのくらいセンサーデータが、一つ以上の遠位アームセグメントの重量によって影響を受けるかを決定して、その影響を除去または相殺することができうる。
例として、計算システム1100によって、第一のアームセグメントの動作中に生成されていてもよい、ステップ4006および4008で受信された、作動データセットおよび動作データセットに基づいて、第一のアームセグメント(例えば、32125)に関連付けられた初期CoM推定値を決定してもよい。初期CoM推定値は、一つ以上の遠位アームセグメント(例えば、32126)からの重量に影響を受けうる。したがって、計算システム1100によって、一つ以上の遠位アームセグメント(例えば、32126)に関連付けられたCoM推定値に基づいて、一つ以上の遠位アームセグメント(例えば、32126)が、初期CoM推定値に与える影響を除去するための調整を決定しうる。調整によって、初期CoM推定値を、第一のジョイントのより近くに移してもよい。計算システム1100によって、初期CoM推定値に調整を行って、第一のアームセグメント(32125)に関連付けられた、調整済みCoM推定値を生成してもよい。第一のアームセグメント(例えば、32125)に対して、ステップ4010でロボットキャリブレーションのために決定されるCoM推定値は、調整済みCoM推定値と等しいか、またはそれに基づいてもよい。
実施形態では、ステップ4010の一回の反復で、計算システム1100によって、アームセグメント(例えば、第一のアームセグメント)に対するCoM推定値を決定した場合、その後、計算システム1100によって、次の反復でアームセグメントに対するCoM推定値を使用して、上流アームセグメント(例えば、上で論じた第二のアームセグメント)に対するCoM推定値を決定しうる。特定の一実施例では、計算システム1100によって、方法4000のステップの最も早い一回の反復または反復のセットを行って、ロボットアーム(例えば、3210)の中で最も遠位または最も遠い下流にある、ジョイント(例えば、32145)および/またはアームセグメント(例えば、32126)に対するCoM推定値を決定しうる。計算システム1100により、上流方向に進むことによって、方法4000のステップの後続する反復または反復のセットを行いうる。より具体的には、計算システム1100は、ステップ4002~4010の次の反復を使用して、最も遠位のアームセグメントのすぐ上流にある、アームセグメントに対するCoM推定値を決定するように構成されうる。この反復では、計算システムは、一つ以上の下流アームセグメントからの影響を除去することによって、この上流アームセグメントに対するCoM推定値を決定するように構成されうる。一つ以上の下流アームセグメントからのこの影響に、ステップ40002~4010の以前の反復で決定された場合がある、最も遠位のアームセグメントのCoMが近似してもよい。
実施形態では、計算システム1100によって、特定のアームセグメントに対するCoM推定値を決定するように、ステップ4010の反復を行っているとき、計算システム1100は、作動データへの、および/または特定の反復で推定されている、アームセグメントもしくは現在のジョイントに対する初期CoM推定値への、k個の下流アームセグメントからの正味の影響または正味の寄与、すなわち、より具体的には、下流アームセグメントのそれぞれの重量からの正味の影響を決定するように構成されうる。例えば、正味の影響は、以下の式に基づいて決定されうる。
実施形態では、計算システム1100によって、ステップ4010で、アームセグメントに関連付けられた慣性モーメントに対する推定値を決定してもよい。例えば、計算システム1100は、上で決定した方程式を解いて、慣性モーメントを表すIの値を決定するように構成されてもよい。
上述のように、方法4000には、ステップ4002~4010の一部またはすべてが、複数回の反復または複数の時間にわたって、複数回行われる実施形態があってもよい。例えば、第一のアームセグメント(例えば、32125)と第二のアームセグメント(例えば、32124)との間に相対動作を引き起こして、摩擦パラメーター推定値を決定するように、一回の反復を行ってもよく、一方、第一のアームセグメントと第二のアームセグメントとの間に追加の相対動作を引き起こして、CoM推定値を決定するように、別の反復を行ってもよい。上記の考察は、第一のアームセグメント(例えば、32125)および第一のジョイント(例えば、32124)に関するステップ4002~4010を示すが、ステップ4002~4010の他の反復が、他のアームセグメントまたは他のジョイントに関して行われてもよい。
実施形態では、方法4000には、ロボットキャリブレーションを行った後に実施されうるステップを含んでもよい。ステップには、後続するロボットアーム動作を引き起こすために、一つ以上の動作コマンドの後続セットの出力を伴いうる。一実施例では、一つ以上の動作コマンドの後続セットは、摩擦パラメーター推定値および/またはロボットキャリブレーションから決定されるCoM推定値に基づいて生成されうる。例えば、一つ以上の動作コマンドの後続セットは、上で論じた第一のアームセグメントもしくは第一のジョイントに関連付けられた、摩擦パラメーター推定値および/またはCoM推定値に基づいてもよい。一実施例では、摩擦パラメーター推定値および/またはCoM推定値は、計算システム1100によって使用されて、一つ以上の動作コマンドの後続セットを生成しうる、トルクモデルおよび/または摩擦モデルを更新するために使用されてもよい。一部の実例では、計算システムは、一つ以上の動作コマンドの後続セットによって、一つ以上のアクチュエーター(例えば、33301~33305)に、ロボットアーム(例えば、3210)のさまざまな構成要素間の摩擦を相殺し、それらの構成要素に対するCoMのそれぞれの位置を説明する、力またはトルクのそれぞれの量を生成させるよう、一つ以上の動作コマンドの後続セットを生成するように構成されうる。
さまざまな実施形態に関する追加の考察:
実施形態1は、通信インターフェースおよび少なくとも一つの処理回路を備える、計算システムに関する。通信インターフェースは、複数のジョイントで互いに移動可能に接続された複数のアームセグメントを含むロボットアームを有するロボットと通信するように構成される。少なくとも一つの処理回路は、計算システムがロボットと通信しているときに、非一時的コンピューター可読媒体上で命令を実行することによってなど、方法を行うように構成される。方法は、(i)複数のジョイントのうちのいかなる他のジョイントを選択することなく、複数のジョイントの中から第一のジョイント、または(ii)複数のアームセグメントのうちのいかなる他のアームセグメントを選択することなく、複数のアームセグメントの中から第一のアームセグメント、の少なくとも一つを選択することを含む。第一のジョイントは、第一のアームセグメントを、第一のアームセグメントにすぐ隣接する第二のアームセグメントに接続する。方法はさらに、第一のジョイントを介する第一のアームセグメントと第二のアームセグメントとの間の相対動作を含むロボットアーム動作を引き起こすための、一つ以上の動作コマンドのセットを出力することと、第一のジョイントまたは第一のアームセグメントに関連付けられた作動データセットを受信することであって、作動データセットが、第一のアームセグメントと第二のアームセグメントとの間の相対動作が発生している時間における、第一のジョイントでの全トルクまたは全体の力を示すセンサーデータであることと、第一のジョイントまたは第一のアームセグメントに関連付けられた動作データセットを受信することであって、動作データセットが、時間中の第一のアームセグメントと第二のアームセグメントとの間の、相対動作の量または速度を示すセンサーデータであることと、作動データセットおよび動作データセットに基づいて、(i)第一のアームセグメントと第二のアームセグメントとの間の摩擦に関連付けられた摩擦パラメーター推定値、または(ii)第一のアームセグメントに関連付けられた重心(CoM)推定値、のうちの少なくとも一つを決定することと、後続するロボットアーム動作を引き起こすための、一つ以上の動作コマンドの後続セットを出力することであって、一つ以上の動作コマンドの後続セットが、(i)摩擦パラメーター推定値、または(ii)第一のアームセグメントに関連付けられたCoM推定値、のうちの少なくとも一つに基づいて生成されることとを含む。
実施形態2は、実施形態1の計算システムを含む。この実施形態では、一つ以上の動作コマンドのセットが、複数のアームセグメントのうちのいかなる他の対のすぐ隣接するアームセグメント間に相対動作を引き起こすことなく、第一のアームセグメントと第二のアームセグメントとの間の相対動作を引き起こすためのものである。
実施形態3は、実施形態2の計算システムを含む。この実施形態では、計算システムと通信するロボットが、複数のジョイントで作動を出力するための、複数のそれぞれのアクチュエーターを有する場合、少なくとも一つの処理回路が、起動のための複数のアクチュエーターのうちのいかなる他のアクチュエーターを選択することなく、複数のアクチュエーターの中から、起動のための第一のアクチュエーターを選択するように構成される。第一のアクチュエーターは、第一のジョイントまたは第一のアームセグメントと対応する。さらにこの実施形態では、少なくとも一つの処理回路によって生成される、一つ以上の動作コマンドのセットが、複数のそれぞれのアクチュエーターのうちのいかなる他のアクチュエーターの起動を引き起こすことなく、第一のアクチュエーターの起動を引き起こすためのものである。
実施形態4は、実施形態3の計算システムを含む。この実施形態では、一つ以上の動作コマンドのセットが、複数のジョイントのうちのいかなる他のジョイントでの回転を引き起こすことなく、第一のジョイントでの回転を引き起こすためのものである。
実施形態5は、実施形態1~4のうちのいずれか一つの計算システムを含む。この実施形態では、第一のアームセグメントと第二のアームセグメントとの間の相対動作が発生する時間が、第一の時間である。さらにこの実施形態は、以下の、一つ以上の動作コマンドのセットが、一つ以上の動作コマンドの第一のセットであり、第一の時間中に第一のアームセグメントと第二のアームセグメントとの間の相対動作に、第一の速さプロファイルを持たせるためのものであり、作動データセットが、第一のジョイントまたは第一のアームセグメントに関連付けられた第一の作動データセットであり、動作データセットが、第一のジョイントまたは第一のアームセグメントに関連付けられた第一の動作データセットであり、第一の作動データセットおよび第一の動作データセットの両方が、第一の速さプロファイルに関連付けられるという特徴を含む。さらにこの実施形態では、少なくとも一つの処理回路が、第一の作動データセットおよび第一の動作データセットに基づいて、摩擦パラメーター推定値を決定するように構成されると共に、さらに、第一のジョイントを介して第一のアームセグメントと第二のアームセグメントとの間に、追加の相対動作を引き起こすため、および追加の相対動作に、第一の速さプロファイルとは異なる第二の速さプロファイルを持たせるための、一つ以上の動作コマンドの第二のセットを出力することと、第一のジョイントまたは第一のアームセグメントに関連付けられた、第二の作動データセットを受信することであって、第二の作動データセットは、追加の相対動作が発生している第二の時間中の、第一のジョイントの全トルクまたは全体の力を示すセンサーデータであることと、第一のジョイントまたは第一のアームセグメントに関連付けられた、第二の動作データセットを受信することであって、第二の動作データセットが、第二の時間中における追加の相対動作の量または速度を示すセンサーデータであることと、第二の作動データセットおよび第二の動作データセットに基づいて、CoM推定値を決定することと、を行うように構成される。さらにこの実施形態では、一つ以上の動作コマンドの後続セットが、摩擦パラメーター推定値およびCoM推定値に基づいて生成される。
実施形態6は、実施形態5の計算システムを含む。この実施形態では、第一の速さプロファイルが、第一の時間内の異なる時点に対応する、回転の速さに対する第一の複数の値を含み、第一の複数の値のうちの少なくとも一つが、所定の最大操作速さと等しい。さらにこの実施形態では、第二の速さプロファイルが、第二の時間内の異なる時点に対応する、回転の速さに対する第二の複数の値を含み、第二の複数の値のすべてが、所定の速さの閾値以下である。
実施形態7は、実施形態1~5のうちのいずれか一つの計算システムを含む。この実施形態では、一つ以上の動作コマンドのセットは、作動データセットの少なくとも一部分、および動作データセットの少なくとも一部分が、所定の最大操作速さに対応するように、相対動作の速度を、時間の少なくとも一部分の間に所定の最大操作速さに到達させるために生成される。さらにこの実施形態では、少なくとも一つの処理回路が、作動データセットおよび動作データセットに基づいて、摩擦パラメーター推定値を決定するように構成される。
実施形態8は、実施形態7の計算システムを含む。この実施形態では、摩擦パラメーター推定値が、粘性摩擦の係数の推定値であるか、またはクーロン摩擦の推定値である。
実施形態9は、実施形態1~5のうちのいずれか一つの計算システムを含む。この実施形態では、一つ以上の動作コマンドのセットが、相対動作が発生している時間全体の間、相対動作の速度を、所定の加速度閾値以下にするために生成される。さらにこの実施形態では、少なくとも一つの処理回路が、作動データセットおよび動作データセットに基づいて、CoM推定値を決定するように構成される。
実施形態10は、実施形態1~9のうちのいずれか一つの計算システムを含む。この実施形態では、一つ以上の動作コマンドのセットが、第一のジョイントを介して第一のアームセグメントと第二のアームセグメントとの間に相対回転を引き起こすためのものである場合、少なくとも一つの処理回路が、相対回転の回転軸が、回転軸の配向の範囲を表す仮想円錐内であるかを判定することであって、配向の範囲が垂直配向を含み、垂直配向と配向の範囲の中にある他のすべての配向との間のそれぞれの角度が、所定の角度閾値以下であることと、回転軸が仮想円錐内であるかの表示を出力することと、を行うように構成される。
実施形態11は、実施形態1~10のうちのいずれか一つの計算システムを含む。この実施形態では、複数のアームセグメントが、一連のアームセグメントとして接続され、かつ、第一のアームセグメントの下流にある一つ以上の遠位アームセグメントを含む場合、少なくとも一つの処理回路が、一つ以上の遠位アームセグメントに関連付けられたCoM推定値を決定するように構成される。さらにこの実施形態では、第一のアームセグメントに関連付けられたCoM推定値が、一つ以上の遠位アームセグメントに関連付けられたCoM推定値に基づいて決定される。
実施形態12は、実施形態11の計算システムを含む。この実施形態では、少なくとも一つの処理回路が、作動データセットおよび動作データセットに基づいて、第一のアームセグメントに関連付けられた初期CoM推定値を決定することと、一つ以上の遠位アームセグメントに関連付けられたCoM推定値に基づいて、一つ以上の遠位アームセグメントが、初期CoM推定値に与える影響を除去するための調整を決定することと、初期CoM推定値に調整を行って、第一のアームセグメントに関連付けられた調整済みCoM推定値を生成することであって、第一のアームセグメントに関連付けられたCoM推定値が、調整済みCoM推定値と等しいか、または調整済みCoM推定値に基づくこととを行うことによって、第一のアームセグメントに関連付けられたCoM推定値を決定するように構成される。
実施形態13は、実施形態12の計算システムを含む。この実施形態では、第二のアームセグメントが、第一のアームセグメントの上流にある場合、少なくとも一つの処理が、第一のアームセグメントに関連付けられたCoM推定値に基づいて、第二のアームセグメントに関連付けられたCoM推定値を決定するように構成される。
実施形態14は、実施形態1~13のうちのいずれか一つの計算システムを含む。この実施形態では、少なくとも一つの処理回路が、第一のアームセグメントと第二のアームセグメントとの間の相対動作に対する、可動域を決定するようにさらに構成され、一つ以上の動作コマンドのセットが、可動域に基づいて生成される。
実施形態15は、実施形態1~14のうちのいずれか一つの計算システムを含む。この実施形態では、作動データセットが、第一のアームセグメントと第二のアームセグメントとの間の相対動作を引き起こすための、アクチュエーターを流れる電流を測定する場合、少なくとも一つの処理回路が、電流に基づいて第一のジョイントでの全トルクを決定するように構成される。
実施形態16は、実施形態1~15のうちのいずれか一つの計算システムを含む。この実施形態では、少なくとも一つの処理回路が、作動データセットおよび動作データセットに基づいて、第一のアームセグメントに関連付けられた慣性モーメント推定値を決定するようにさらに構成される。
実施形態17は、実施形態1~16のうちのいずれか一つの計算システムを含む。この実施形態には、以下の、第一のアームセグメントと第二のアームセグメントとの間の相対動作が発生する時間が、第一の時間であり、第一のジョイントまたは第一のアームセグメントに関連付けられた、作動データセットが、第一の作動データセットであり、第一のジョイントまたは第一のアームセグメントに関連付けられた動作データセットが、第一の動作データセットであり、一つ以上の動作コマンドのセットが、一つ以上の動作コマンドの第一のセットであり、一つ以上の動作コマンドのセットが、一つ以上の動作コマンドの第一のセットであり、第一のアームセグメントと第二のアームセグメントとの間の摩擦に関連付けられた摩擦パラメーター推定値が、第一の摩擦パラメーター推定値であり、第一のアームセグメントに関連付けられたCoM推定値が、第一のCoM推定値であるという特徴がある。この実施形態では、少なくとも一つの処理回路が、(i)複数のジョイントのうちのいかなる他のジョイントを選択することなく、複数のジョイントの中から第二のジョイント、または(ii)複数のアームセグメントのうちのいかなる他のアームセグメントを選択することなく、複数のアームセグメントの中から第二のアームセグメントの少なくとも一つを選択することであって、第二のジョイントが、第二のアームセグメントを、第二のアームセグメントにすぐ隣接する第三のアームセグメントに接続することと、第二のジョイントを介して第二のアームセグメントと第三のアームセグメントとの間の相対動作を含むロボットアーム動作を引き起こすための、一つ以上の動作コマンドの第二のセットを出力することと、第二の作動データセットおよび第二の動作データセットを受信することであって、第二の作動データセットが、第二のアームセグメントと第三のアームセグメントとの間の前記相対動作が発生している間の第二の時間中の、第二のジョイントでの全トルクまたは全体の力を示すセンサーデータであり、第二の動作データセットが、第二の時間中の第二のアームセグメントと第三のアームセグメントとの間の、相対動作の量または速度を示すセンサーデータであることと、第二の作動データセットおよび第二の動作データセットに基づいて、(i)第二の摩擦パラメーター推定値、または(ii)第二のCoM推定値、のうちの少なくとも一つを決定することであって、第二の摩擦パラメーター推定値が、第二のアームセグメントと第三のアームセグメントとの間の摩擦に関連付けられ、第二のCoM推定値が、第二のアームセグメントのCoMを示すことと、を行うように構成される。さらにこの実施形態では、一つ以上の動作コマンド後続セットが、(i)第二の摩擦パラメーター推定値、または(ii)第二のCoM推定値、のうちの少なくとも一つにさらに基づいて生成される。
関連分野の当業者にとって、本明細書に記載する方法および用途への、他の好適な修正ならびに適応が、実施形態のうちのいずれの範囲から逸脱することなく成されうることは明らかであろう。上に記載する実施形態は、説明に役立つ実施例であり、本発明がこれらの特定の実施形態に限定されると解釈されるべきではない。本明細書に開示するさまざまな実施形態は、記載および添付の図に具体的に提示する組み合わせとは異なる組み合わせで、組み合わせてもよいことは理解されるべきである。実施例によって、本明細書に記載するプロセスもしくは方法のいずれのある特定の行為または事象は、異なる順番で行われてもよく、追加、統合、または完全に省略してもよいことも理解されるべきである(例えば、記載したすべての行為または事象は、方法またはプロセスを実施するのに必要ではない場合がある)。加えて、本明細書の実施形態のある特定の特徴を、明確にするために、単一の構成要素、モジュール、またはユニットにより行われていると記載しているものの、本明細書に記載する特徴および機能は、構成要素、モジュール、またはユニットのいかなる組み合わせによって行われてもよいことは理解されるべきである。したがって、添付の特許請求の範囲で定義されるような、発明の趣旨または範囲から逸脱することなく、さまざまな変更および修正を当業者が及ぼしてもよい。
Claims (20)
- 計算システムであって、
複数のジョイントで互いに移動可能に接続された複数のアームセグメントを含むロボットアームを有するロボットと通信するように構成される通信インターフェースと、
少なくとも一つの処理回路と、を備え、
前記少なくとも一つの処理回路は、前記計算システムが前記ロボットと通信しているときに、
(i)前記複数のジョイントのうちのいかなる他のジョイントを選択することなく、前記複数のジョイントの中から第一のジョイント、または(ii)前記複数のアームセグメントのうちのいかなる他のアームセグメントを選択することなく、前記複数のアームセグメントの中から第一のアームセグメント、の少なくとも一つを選択することであって、前記第一のジョイントが、前記第一のアームセグメントを、前記第一のアームセグメントにすぐ隣接する第二のアームセグメントに接続することと、
前記第一のジョイントを介する前記第一のアームセグメントと前記第二のアームセグメントとの間の相対動作を含むロボットアーム動作を引き起こすための、一つ以上の動作コマンドのセットを出力することと、
前記第一のジョイントまたは前記第一のアームセグメントに関連付けられた作動データセットを受信することであって、前記作動データセットが、前記第一のアームセグメントと前記第二のアームセグメントとの間の前記相対動作が発生している時間における、前記第一のジョイントでの全トルクまたは全体の力を示すセンサーデータであることと、
前記第一のジョイントまたは前記第一のアームセグメントに関連付けられた動作データセットを受信することであって、前記動作データセットが、前記時間中の前記第一のアームセグメントと前記第二のアームセグメントとの間の、前記相対動作の量または速度を示すセンサーデータであることと、
前記作動データセットおよび前記動作データセットに基づいて、(i)前記第一のアームセグメントと前記第二のアームセグメントとの間の摩擦に関連付けられた摩擦パラメーター推定値、または(ii)前記第一のアームセグメントに関連付けられた重心(CoM)推定値、のうちの少なくとも一つを決定することと、
後続するロボットアーム動作を引き起こすための、一つ以上の動作コマンドの後続セットを出力することであって、前記一つ以上の動作コマンドの後続セットが、(i)前記摩擦パラメーター推定値、または(ii)前記第一のアームセグメントに関連付けられた前記CoM推定値、のうちの前記少なくとも一つに基づいて生成されることと、
を行うように構成される、計算システム。 - 前記一つ以上の動作コマンドのセットが、前記複数のアームセグメントのうちのいかなる他の対のすぐ隣接するアームセグメント間に相対動作を引き起こすことなく、前記第一のアームセグメントと前記第二のアームセグメントとの間の前記相対動作を引き起こすためのものである、請求項1に記載の計算システム。
- 前記計算システムと通信する前記ロボットが、前記複数のジョイントで作動を出力するための、複数のそれぞれのアクチュエーターを有する場合、
前記少なくとも一つの処理回路が、起動のための前記複数のアクチュエーターのうちのいかなる他のアクチュエーターを選択することなく、前記複数のアクチュエーターの中から、起動のための第一のアクチュエーターを選択するように構成され、前記第一のアクチュエーターが、前記第一のジョイントまたは前記第一のアームセグメントと対応しており、
前記少なくとも一つの処理回路によって生成される前記一つ以上の動作コマンドのセットが、前記複数のそれぞれのアクチュエーターのうちのいかなる他のアクチュエーターの起動を引き起こすことなく、前記第一のアクチュエーターの起動を引き起こすためのものである、請求項2に記載の計算システム。 - 前記一つ以上の動作コマンドのセットが、前記複数のジョイントのうちのいかなる他のジョイントでの回転を引き起こすことなく、前記第一のジョイントでの回転を引き起こすためのものである、請求項3に記載の計算システム。
- 前記第一のアームセグメントと前記第二のアームセグメントとの間の前記相対動作が発生する前記時間が、第一の時間であり、
前記一つ以上の動作コマンドのセットが、一つ以上の動作コマンドの第一のセットであり、前記第一の時間中に前記第一のアームセグメントと前記第二のアームセグメントとの間の前記相対動作に、第一の速さプロファイルを持たせるためのものであり、
前記作動データセットが、前記第一のジョイントまたは前記第一のアームセグメントに関連付けられた第一の作動データセットであり、
前記動作データセットが、前記第一のジョイントまたは前記第一のアームセグメントに関連付けられた第一の動作データセットであり、前記第一の作動データセットおよび前記第一の動作データセットの両方が、前記第一の速さプロファイルに関連付けられ、
前記少なくとも一つの処理回路が、
前記第一の作動データセットおよび前記第一の動作データセットに基づいて、前記摩擦パラメーター推定値を決定するように構成されると共に、
前記第一のジョイントを介して前記第一のアームセグメントと前記第二のアームセグメントとの間に、追加の相対動作を引き起こすため、および前記追加の相対動作に、前記第一の速さプロファイルとは異なる第二の速さプロファイルを持たせるための、一つ以上の動作コマンドの第二のセットを出力することと、
前記第一のジョイントまたは第一のアームセグメントに関連付けられた第二の作動データセットを受信することであって、前記第二の作動データセットが、前記追加の相対動作が発生している第二の時間中の、前記第一のジョイントでの全トルクまたは全体の力を示すセンサーデータであることと、
前記第一のジョイントまたは第一のアームセグメントに関連付けられた第二の動作データセットを受信することであって、前記第二の動作データセットが、前記第二の時間中における前記追加の相対動作の量または速度を示すセンサーデータであることと、
前記第二の作動データセットおよび前記第二の動作データセットに基づいて、前記CoM推定値を決定することと、
を行うように構成され、
前記一つ以上の動作コマンドの後続セットが、前記摩擦パラメーター推定値および前記CoM推定値に基づいて生成される、請求項1に記載の計算システム。 - 前記第一の速さプロファイルが、前記第一の時間内の異なる時点に対応する、回転の速さに対する第一の複数の値を含み、前記第一の複数の値のうちの少なくとも一つが、所定の最大操作速さと等しく、
前記第二の速さプロファイルが、前記第二の時間内の異なる時点に対応する、回転の速さに対する第二の複数の値を含み、前記第二の複数の値のすべてが、所定の速さの閾値以下である、請求項5に記載の計算システム。 - 前記一つ以上の動作コマンドのセットは、前記作動データセットの少なくとも一部分、および前記動作データセットの少なくとも一部分が、所定の最大操作速さに対応するように、前記相対動作の前記速度を、前記時間の少なくとも一部分の間に前記所定の最大操作速さに到達させるために生成され、
前記少なくとも一つの処理回路が、前記作動データセットおよび前記動作データセットに基づいて、前記摩擦パラメーター推定値を決定するように構成される、請求項1に記載の計算システム。 - 前記摩擦パラメーター推定値が、粘性摩擦の係数の推定値であるか、またはクーロン摩擦の推定値である、請求項7に記載の計算システム。
- 前記一つ以上の動作コマンドのセットが、前記相対動作が発生している前記時間全体の間、前記相対動作の前記速度を、所定の加速度閾値以下にするために生成され、
前記少なくとも一つの処理回路が、前記作動データセットおよび前記動作データセットに基づいて、前記CoM推定値を決定するように構成される、請求項1に記載の計算システム。 - 前記一つ以上の動作コマンドのセットが、前記第一のジョイントを介して前記第一のアームセグメントと前記第二のアームセグメントとの間に相対回転を引き起こすためのものである場合、
前記少なくとも一つの処理回路が、
前記相対回転の回転軸が、前記回転軸の配向の範囲を表す仮想円錐内であるかを判定することであって、前記配向の範囲が垂直配向を含み、前記垂直配向と前記配向の範囲の中にある他のすべての配向との間のそれぞれの角度が、所定の角度閾値以下であることと、
前記回転軸が前記仮想円錐内であるかの表示を出力することと、
を行うように構成される、請求項1に記載の計算システム。 - 前記複数のアームセグメントが、一連のアームセグメントとして接続され、かつ、前記第一のアームセグメントの下流に一つ以上の遠位アームセグメントを含む場合、
前記少なくとも一つの処理回路が、前記一つ以上の遠位アームセグメントに関連付けられたCoM推定値を決定するように構成され、
前記第一のアームセグメントに関連付けられた前記CoM推定値が、前記一つ以上の遠位アームセグメントに関連付けられた前記CoM推定値に基づいて決定される、請求項1に記載の計算システム。 - 前記少なくとも一つの処理回路が、
前記作動データセットおよび前記動作データセットに基づいて、前記第一のアームセグメントに関連付けられた初期CoM推定値を決定することと、
前記一つ以上の遠位アームセグメントに関連付けられた前記CoM推定値に基づいて、前記一つ以上の遠位アームセグメントが、前記初期CoM推定値に与える影響を除去するための調整を決定することと、
前記初期CoM推定値に前記調整を行って、前記第一のアームセグメントに関連付けられた調整済みCoM推定値を生成することであって、前記第一のアームセグメントに関連付けられた前記CoM推定値が、前記調整済みCoM推定値と等しいか、または前記調整済みCoM推定値に基づくことと、
を行うことによって、前記第一のアームセグメントに関連付けられた前記CoM推定値を決定するように構成される、請求項11に記載の計算システム。 - 前記第二のアームセグメントが、前記第一のアームセグメントの上流にある場合、
前記少なくとも一つの処理が、前記第一のアームセグメントに関連付けられたCoM推定値に基づいて、前記第二のアームセグメントに関連付けられた前記CoM推定値を決定するように構成される、請求項12に記載の計算システム。 - 前記少なくとも一つの処理回路が、前記第一のアームセグメントと前記第二のアームセグメントとの間の前記相対動作に対する、可動域を決定するようにさらに構成され、
前記一つ以上の動作コマンドのセットが、前記可動域に基づいて生成される、請求項1に記載の計算システム。 - 前記作動データセットが、前記第一のアームセグメントと前記第二のアームセグメントとの間の前記相対動作を引き起こすための、アクチュエーターを流れる電流を測定する場合、
前記少なくとも一つの処理回路が、前記電流に基づいて前記第一のジョイントでの前記全トルクを決定するように構成される、請求項1に記載の計算システム。 - 前記少なくとも一つの処理回路が、前記作動データセットおよび前記動作データセットに基づいて、前記第一のアームセグメントに関連付けられた慣性モーメント推定値を決定するようにさらに構成される、請求項1に記載の計算システム。
- 前記第一のアームセグメントと前記第二のアームセグメントとの間の前記相対動作が発生する前記時間が、第一の時間であり、
前記第一のジョイントまたは前記第一のアームセグメントに関連付けられた、前記作動データセットが、第一の作動データセットであり、前記第一のジョイントまたは前記第一のアームセグメントに関連付けられた前記動作データセットが、第一の動作データセットであり、
前記一つ以上の動作コマンドのセットが、一つ以上の動作コマンドの第一のセットであり、
前記第一のアームセグメントと前記第二のアームセグメントとの間の摩擦に関連付けられた前記摩擦パラメーター推定値が、第一の摩擦パラメーター推定値であり、
前記第一のアームセグメントに関連付けられた前記CoM推定値が、第一のCoM推定値であり、
前記少なくとも一つの処理回路が、
(i)前記複数のジョイントのうちのいかなる他のジョイントを選択することなく、前記複数のジョイントの中から第二のジョイント、または(ii)前記複数のアームセグメントのうちのいかなる他のアームセグメントを選択することなく、前記複数のアームセグメントの中から前記第二のアームセグメント、の少なくとも一つを選択することであって、前記第二のジョイントが、前記第二のアームセグメントを、前記第二のアームセグメントにすぐ隣接する第三のアームセグメントに接続することと、
前記第二のジョイントを介する前記第二のアームセグメントと前記第三のアームセグメントとの間の相対動作を含むロボットアーム動作を引き起こすための、一つ以上の動作コマンドの第二のセットを出力することと、
第二の作動データセットおよび第二の動作データセットを受信することであって、前記第二の作動データセットが、前記第二のアームセグメントと前記第三のアームセグメントとの間の前記相対動作が発生している間の第二の時間中の、前記第二のジョイントでの全トルクまたは全体の力を示すセンサーデータであり、前記第二の動作データセットが、前記第二の時間中の前記第二のアームセグメントと前記第三のアームセグメントとの間の、前記相対動作の量または速度を示すセンサーデータであることと、
前記第二の作動データセットおよび前記第二の動作データセットに基づいて、(i)第二の摩擦パラメーター推定値、または(ii)第二のCoM推定値、のうちの少なくとも一つを決定することであって、前記第二の摩擦パラメーター推定値が、前記第二のアームセグメントと前記第三のアームセグメントとの間の摩擦に関連付けられ、前記第二のCoM推定値が、前記第二のアームセグメントのCoMを示すことと、
を行うように構成され、
前記一つ以上の動作コマンドの後続セットが、(i)前記第二の摩擦パラメーター推定値、または(ii)前記第二のCoM推定値、のうちの前記少なくとも一つにさらに基づいて生成される、請求項1に記載の計算システム。 - 命令を有する非一時的コンピューター可読媒体であって、
前記命令は、計算システムの少なくとも一つの処理回路によって実行されるとき、前記少なくとも一つの処理回路に、
前記計算システムが、複数のジョイントで互いに移動可能に接続された複数のアームセグメントを含むロボットアームを有するロボットと通信するとき、(i)前記複数のジョイントのうちのいかなる他のジョイントを選択することなく、前記複数のジョイントの中から第一のジョイント、または(ii)前記複数のアームセグメントのうちのいかなる他のアームセグメントを選択することなく、前記複数のアームセグメントの中から第一のアームセグメント、の少なくとも一つを選択することであって、前記第一のジョイントが、前記第一のアームセグメントを、前記第一のアームセグメントにすぐ隣接する第二のアームセグメントに接続することと、
前記第一のジョイントを介する前記第一のアームセグメントと前記第二のアームセグメントとの間の相対動作を含むロボットアーム動作を引き起こすための、一つ以上の動作コマンドのセットを出力することと、
前記第一のジョイントまたは前記第一のアームセグメントに関連付けられた作動データセットを受信することであって、前記作動データセットが、前記第一のアームセグメントと前記第二のアームセグメントとの間の前記相対動作が発生している時間における、前記第一のジョイントでの全トルクまたは全体の力を示すセンサーデータであることと、
前記第一のジョイントまたは前記第一のアームセグメントに関連付けられた動作データセットを受信することであって、前記動作データセットが、前記時間中の前記第一のアームセグメントと前記第二のアームセグメントとの間の、前記相対動作の量または速度を示すセンサーデータであることと、
前記作動データセットおよび前記動作データセットに基づいて、(i)前記第一のアームセグメントと前記第二のアームセグメントとの間の摩擦に関連付けられた摩擦パラメーター推定値、または(ii)前記第一のアームセグメントに関連付けられた重心(CoM)推定値、のうちの少なくとも一つを決定することと、
後続するロボットアーム動作を引き起こすための、一つ以上の動作コマンドの後続セットを出力することであって、前記一つ以上の動作コマンドの後続セットが、(i)前記摩擦パラメーター推定値、または(ii)前記第一のアームセグメントに関連付けられた前記CoM推定値、のうちの前記少なくとも一つに基づいて生成されることと、
を行わせる、非一時的コンピューター可読媒体。 - 前記一つ以上の動作コマンドのセットが、前記複数のアームセグメントのうちのいかなる他の対のすぐ隣接するアームセグメント間に相対動作を引き起こすことなく、前記第一のアームセグメントと前記第二のアームセグメントとの間の前記相対動作を引き起こすためのものである、請求項1に記載の非一時的コンピューター可読媒体。
- 方法であって、
複数のジョイントで互いに移動可能に接続された複数のアームセグメントを含むロボットアームを有するロボットと通信するように構成される計算システムによって、(i)前記複数のジョイントのうちのいかなる他のジョイントを選択することなく、前記複数のジョイントの中から第一のジョイント、または(ii)前記複数のアームセグメントのうちのいかなる他のアームセグメントを選択することなく、前記複数のアームセグメントの中から第一のアームセグメント、の少なくとも一つを選択することであって、前記第一のジョイントが、前記第一のアームセグメントを、前記第一のアームセグメントにすぐ隣接する第二のアームセグメントに接続することと、
前記計算システムによって、前記第一のジョイントを介する前記第一のアームセグメントと前記第二のアームセグメントとの間の相対動作を含むロボットアーム動作を引き起こすための、一つ以上の動作コマンドのセットを出力することと、
前記計算システムによって、前記第一のジョイントまたは前記第一のアームセグメントに関連付けられた作動データセットを受信することであって、前記作動データセットが、前記第一のアームセグメントと前記第二のアームセグメントとの間の前記相対動作が発生している時間における、前記第一のジョイントでの全トルクまたは全体の力を示すセンサーデータであることと、
前記計算システムによって、前記第一のジョイントまたは前記第一のアームセグメントに関連付けられた動作データセットを受信することであって、前記動作データセットが、前記時間中の前記第一のアームセグメントと前記第二のアームセグメントとの間の、前記相対動作の量または速度を示すセンサーデータであることと、
前記計算システムによって、前記作動データセットおよび前記動作データセットに基づいて、(i)前記第一のアームセグメントと前記第二のアームセグメントとの間の摩擦に関連付けられた摩擦パラメーター推定値、または(ii)前記第一のアームセグメントに関連付けられた重心(CoM)推定値、のうちの少なくとも一つを決定することと、
前記計算システムによって、後続するロボットアーム動作を引き起こすための、一つ以上の動作コマンドの後続セットを出力することであって、前記一つ以上の動作コマンドの後続セットが、(i)前記摩擦パラメーター推定値、または(ii)前記第一のアームセグメントに関連付けられた前記CoM推定値、のうちの前記少なくとも一つに基づいて生成されることと、
を含む、方法。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063021089P | 2020-05-07 | 2020-05-07 | |
US63/021,089 | 2020-05-07 | ||
US17/243,939 US11691285B2 (en) | 2020-05-07 | 2021-04-29 | Method and computing system for estimating parameter for robot operation |
US17/243,939 | 2021-04-29 | ||
JP2021534148A JP7098124B2 (ja) | 2020-05-07 | 2021-05-07 | ロボット操作のパラメーターを推定するための方法および計算システム |
PCT/JP2021/017442 WO2021225150A1 (en) | 2020-05-07 | 2021-05-07 | Method and computing system for estimating parameter for robot operation |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021534148A Division JP7098124B2 (ja) | 2020-05-07 | 2021-05-07 | ロボット操作のパラメーターを推定するための方法および計算システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022118153A true JP2022118153A (ja) | 2022-08-12 |
JP2022118153A5 JP2022118153A5 (ja) | 2024-05-15 |
Family
ID=78412095
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021534177A Active JP7076756B2 (ja) | 2020-05-07 | 2021-05-07 | ロボットキャリブレーションの品質を示す誤差パラメーターの値を決定するための方法および計算システム |
JP2021534148A Active JP7098124B2 (ja) | 2020-05-07 | 2021-05-07 | ロボット操作のパラメーターを推定するための方法および計算システム |
JP2022077306A Pending JP2022110050A (ja) | 2020-05-07 | 2022-05-10 | ロボットキャリブレーションの品質を示す誤差パラメーターの値を決定するための方法および計算システム |
JP2022099803A Pending JP2022118153A (ja) | 2020-05-07 | 2022-06-21 | ロボット操作のパラメーターを推定するための方法および計算システム |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021534177A Active JP7076756B2 (ja) | 2020-05-07 | 2021-05-07 | ロボットキャリブレーションの品質を示す誤差パラメーターの値を決定するための方法および計算システム |
JP2021534148A Active JP7098124B2 (ja) | 2020-05-07 | 2021-05-07 | ロボット操作のパラメーターを推定するための方法および計算システム |
JP2022077306A Pending JP2022110050A (ja) | 2020-05-07 | 2022-05-10 | ロボットキャリブレーションの品質を示す誤差パラメーターの値を決定するための方法および計算システム |
Country Status (4)
Country | Link |
---|---|
US (4) | US11717966B2 (ja) |
JP (4) | JP7076756B2 (ja) |
CN (2) | CN113924192A (ja) |
WO (2) | WO2021225152A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102356660B1 (ko) * | 2019-11-01 | 2022-02-07 | 주식회사 뉴로메카 | 다자유도 협동 로봇의 마찰 보상 방법 |
WO2021158773A1 (en) | 2020-02-06 | 2021-08-12 | Berkshire Grey, Inc. | Systems and methods for camera calibration with a fiducial of unknown position on an articulated arm of a programmable motion device |
KR102375355B1 (ko) * | 2020-11-20 | 2022-03-16 | 강릉원주대학교 산학협력단 | 전자 장치에 의해 수행되는 고정밀 위치 제어를 위한 강인한 최적 외란 관측기를 포함하는 시스템 및 제어 방법 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE0001312D0 (sv) * | 2000-04-10 | 2000-04-10 | Abb Ab | Industrirobot |
US7747351B2 (en) | 2007-06-27 | 2010-06-29 | Panasonic Corporation | Apparatus and method for controlling robot arm, and robot and program |
JP4256440B2 (ja) | 2007-08-10 | 2009-04-22 | ファナック株式会社 | ロボットプログラム調整装置 |
JP5198514B2 (ja) * | 2010-07-22 | 2013-05-15 | 株式会社東芝 | ロボット制御装置 |
JP5895628B2 (ja) * | 2012-03-15 | 2016-03-30 | 株式会社ジェイテクト | ロボットの制御方法及びロボット制御装置、並びにロボット制御システム |
JP5727103B2 (ja) * | 2012-08-02 | 2015-06-03 | 東芝機械株式会社 | ロボット装置およびその制御方法 |
KR102023910B1 (ko) * | 2012-11-23 | 2019-09-23 | 삼성전자주식회사 | 로봇 및 로봇의 마찰 보상 방법 |
US10078712B2 (en) | 2014-01-14 | 2018-09-18 | Energid Technologies Corporation | Digital proxy simulation of robotic hardware |
EP3205459A4 (en) | 2014-10-09 | 2018-06-27 | Sony Corporation | Information-processing device, information-processing method, and program |
US9505132B1 (en) * | 2015-03-30 | 2016-11-29 | X Development Llc | Methods and systems for calibrating a sensor of a robotic device |
US10126202B2 (en) | 2015-09-11 | 2018-11-13 | Linestream Technologies | Method for automatically estimating inertia, coulomb friction, and viscous friction in a mechanical system |
JP7058929B2 (ja) * | 2015-10-27 | 2022-04-25 | キヤノン株式会社 | 駆動装置、ロボット装置、制御方法、物品の製造方法、制御プログラム、および記録媒体 |
WO2018053349A1 (en) | 2016-09-16 | 2018-03-22 | Verb Surgical Inc. | Robotic arms |
JP6420298B2 (ja) | 2016-12-02 | 2018-11-07 | ファナック株式会社 | ロボットを制御するロボット制御装置、およびロボットに加わる外乱値を推定する方法 |
CN107092582B (zh) | 2017-03-31 | 2021-04-27 | 江苏方天电力技术有限公司 | 一种基于残差后验的异常值在线检测及置信度评估方法 |
CN108453735B (zh) | 2018-03-15 | 2021-03-02 | 河南大学 | 一种基于摩擦纳米发电机仿生机械手的抓取方法、装置 |
JP6737831B2 (ja) * | 2018-04-17 | 2020-08-12 | ファナック株式会社 | 設置形態判定装置、設置形態判定用コンピュータプログラム及び記録媒体 |
CN108621159B (zh) | 2018-04-28 | 2020-05-19 | 首都师范大学 | 一种基于深度学习的机器人动力学建模方法 |
CN108839023B (zh) * | 2018-07-03 | 2021-12-07 | 上海节卡机器人科技有限公司 | 拖动示教***和方法 |
DE102018133349A1 (de) * | 2018-12-21 | 2020-06-25 | Pilz Gmbh & Co. Kg | Verfahren und Vorrichtung zur Momentschätzung |
CN109732605B (zh) | 2019-01-21 | 2021-02-26 | 厦门大学 | 一种机器人关节摩擦力矩的补偿方法及*** |
CN113891786B (zh) * | 2019-04-17 | 2024-07-12 | 优傲机器人公司 | 基于自适应摩擦来控制机器人臂的方法 |
CN110298455B (zh) | 2019-06-28 | 2023-06-02 | 西安因联信息科技有限公司 | 一种基于多变量估计预测的机械设备故障智能预警方法 |
KR102356660B1 (ko) * | 2019-11-01 | 2022-02-07 | 주식회사 뉴로메카 | 다자유도 협동 로봇의 마찰 보상 방법 |
-
2021
- 2021-04-29 US US17/244,224 patent/US11717966B2/en active Active
- 2021-04-29 US US17/243,939 patent/US11691285B2/en active Active
- 2021-05-07 CN CN202180002097.8A patent/CN113924192A/zh active Pending
- 2021-05-07 WO PCT/JP2021/017446 patent/WO2021225152A1/en active Application Filing
- 2021-05-07 JP JP2021534177A patent/JP7076756B2/ja active Active
- 2021-05-07 WO PCT/JP2021/017442 patent/WO2021225150A1/en active Application Filing
- 2021-05-07 CN CN202180002096.3A patent/CN113939783A/zh active Pending
- 2021-05-07 JP JP2021534148A patent/JP7098124B2/ja active Active
-
2022
- 2022-05-10 JP JP2022077306A patent/JP2022110050A/ja active Pending
- 2022-06-21 JP JP2022099803A patent/JP2022118153A/ja active Pending
-
2023
- 2023-05-16 US US18/318,055 patent/US20230405817A1/en active Pending
- 2023-06-20 US US18/338,014 patent/US20240009843A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021225152A1 (en) | 2021-11-11 |
JP2022525576A (ja) | 2022-05-18 |
JP2022110050A (ja) | 2022-07-28 |
JP7076756B2 (ja) | 2022-05-30 |
WO2021225150A1 (en) | 2021-11-11 |
JP7098124B2 (ja) | 2022-07-11 |
US20240009843A1 (en) | 2024-01-11 |
US11717966B2 (en) | 2023-08-08 |
CN113939783A (zh) | 2022-01-14 |
JP2022525577A (ja) | 2022-05-18 |
US20210347049A1 (en) | 2021-11-11 |
US20210347054A1 (en) | 2021-11-11 |
CN113924192A (zh) | 2022-01-11 |
US11691285B2 (en) | 2023-07-04 |
US20230405817A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022118153A (ja) | ロボット操作のパラメーターを推定するための方法および計算システム | |
JP7199178B2 (ja) | ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム | |
JP6456555B1 (ja) | キャリブレーション装置、キャリブレーション方法および制御装置 | |
JP4756618B2 (ja) | 多関節ロボットにおける衝突検出・停止制御法 | |
JP5327722B2 (ja) | ロボットの負荷推定装置及び負荷推定方法 | |
KR101548945B1 (ko) | 탄성 로봇 구조를 위한 운동 제어기 | |
CN110076773B (zh) | 机器人设备、制造物品的方法及电机驱动设备 | |
JP2020526403A (ja) | 構成依存力学系を有するシステムの振動制御 | |
JP6091523B2 (ja) | サーボ制御装置 | |
JP2022543926A (ja) | ロボットシステムのためのデリバティブフリーモデル学習のシステムおよび設計 | |
WO2021060104A1 (ja) | 情報処理装置、情報処理システム及び情報処理方法 | |
JP3698770B2 (ja) | 負荷重量の推定方法 | |
CN113771039B (zh) | 用于估计机器人操作参数的方法和计算*** | |
JP2017056525A (ja) | ロボット装置、ロボット制御方法、プログラム、記録媒体及び組立部品の製造方法 | |
WO2019063146A1 (en) | ROBOT ARM AND ITS CONTROL METHOD | |
JP2018532608A (ja) | 位置および/または姿勢の離散手動入力の制御システムを備えるロボット | |
CN113821006B (zh) | 用于确定指示机器人校准质量的误差参数的值的方法和计算*** | |
Sidhik et al. | Towards an Online Framework for Changing-Contact Robot Manipulation Tasks | |
Leines et al. | LQR control of an under actuated planar biped robot | |
Sampaziotis et al. | A model free robot control method for dragging an object on a planar surface by applying top contact forces | |
JP7237249B1 (ja) | ロボット制御装置、ロボット制御方法およびロボット制御プログラム | |
CN113084828B (zh) | 一种运动控制方法、装置、设备和存储介质 | |
WO2022244441A1 (ja) | マニピュレータ | |
CN117572768A (zh) | 足式机器人规划与控制方法、装置、机器人及存储介质 | |
Bideci | Control system design for a haptic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240507 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240507 |