(57)【要約】  本発明は、マニピュレータ（１１０）の関節（１１２、１１４、１１６〜１１９、１８０）などの関節の少なくとも１つの特性を求める方法に関し、前記関節は、少なくとも１つのアクチュエータによって駆動されるように構成され、アクチュエータは、駆動系を介して前記関節（１１２、１１４、１１６〜１１９、１１８）を駆動するように構成される。方法は、関節の動作が制限されるように、前記関節をクランプする（２００）ことと、前記アクチュエータの少なくとも１つの出力値を求める（２２０）ために、前記アクチュエータのトルクに関係する少なくとも１つの量と、アクチュエータの位置に関係する少なくとも１つの量とを観測しながら、前記駆動系を駆動し（２１０）、前記出力値は、少なくとも１つの関節位置に対応することと、前記少なくとも１つの出力値に基づいて、関節の少なくとも１つの特性を求める（２３０）こととを含む。本発明はさらに、関節の少なくとも１つの特性を求めるためのシステムに関する。【選択図】図１ａ
2015536249.tif 000002
【特許請求の範囲】
【請求項１】
マニピュレータ（１１０）の関節（１１２、１１４、１１６〜１１９、１８０）などの関節の少なくとも１つの特性を求める方法であって、前記関節は、少なくとも１つのアクチュエータによって駆動されるように構成され、前記アクチュエータは、駆動系を介して前記関節（１１２、１１４、１１６〜１１９）を駆動するように構成され、前記方法は、
−前記関節の動作が制限されるように、前記関節をクランプする（２００）ことと、
−前記アクチュエータのトルクに関係する少なくとも１つの量と、前記アクチュエータの位置に関係する少なくとも１つの量とを観測しながら、前記駆動系を駆動する（２１０）ことと、
−前記観測した量に基づいて、前記アクチュエータの少なくとも１つの出力値セットを求め（２２０）、前記出力値セットは、少なくとも１つの関節位置に関係することと、
−前記出力値セットに基づいて、前記関節の前記少なくとも１つの特性を求める（２３０）ことと、
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
−前記アクチュエータが第１および第２の位置間を往復運動して、両方向の駆動系トルク伝達が両方の位置で十分に進展し、それに対して、前記アクチュエータのトルクに関係する、前記観測した少なくとも１つの量と、前記アクチュエータ位置に関係する前記少なくとも１つの量とが、ヒステリシスサイクルデータを構成するように前記駆動系を駆動し（２１０）、前記クランプされた関節の初期関節位置が、前記駆動（２１０）の前に確立されることと、
−前記得られたヒステリシスサイクルデータに基づき、前記アクチュエータの前記少なくとも１つの出力値セットを求める（２２０）ことと、
によって、前記ヒステリシスサイクルデータを得ることをさらに含むことを特徴とする方法。
【請求項３】
請求項２に記載の方法において、前記関節の前記少なくとも１つの特性は空動きであり、前記方法は、
−前記十分に進展した駆動系のトルク伝達が、最大位置ヒステリシスを得るほど十分に大きくなるように、許容されたトルク範囲内で前記駆動系を駆動する（２１０）ことと、
−前記得られた位置ヒステリシスに基づいて、前記空動きを求める（２２０）ことと、
をさらに含むことを特徴とする方法。
【請求項４】
請求項３に記載の方法において、前記ヒステリシスサイクルは曲線によって近似され、前記方法は、
−前記近似された曲線のそれぞれの末尾に漸近的に接近する２つの曲線を合わせることと、
−少なくとも１つのトルク値に対して、前記空動きを前記曲線間の位置差として求めることと、
をさらに含むことを特徴とする方法。
【請求項５】
請求項２乃至４の何れか１項に記載の方法において、前記関節の前記少なくとも１つの特性は、前記関節のバックラッシュであり、前記関節の前記バックラッシュを求める（２３０）ことには、
−前記駆動系入力トルクが、基本的にゼロの駆動系入力トルクを特徴とするクランプ位置の両側で、基本的にゼロでない値に達するような、実質的に同じ駆動系入力トルクに対する位置の差を求めることにより、位置ヒステリシスを求めることが含まれることを特徴とする方法。
【請求項６】
請求項５に記載の方法において、前記バックラッシュを求める（２３０）ことには、
−前記位置ヒステリシスを求める前に、摩擦の効果に対してアクチュエータトルクを補償することにより、駆動系入力トルクを求めることをさらに含むことを特徴とする方法。
【請求項７】
請求項２乃至６の何れか１項に記載の方法において、前記関節の少なくとも１つの特性は、前記関節のコンプライアンスであり、前記方法は、
−前記得られたバックラッシュの効果を前記ヒステリシスサイクルデータから除去することで、前記コンプライアンスを求める（２３０）ことをさらに含むことを特徴とする方法。
【請求項８】
請求項２に記載の方法において、前記関節の前記少なくとも１つの特性はアクチュエータ動摩擦であり、前記アクチュエータ動摩擦を求める（２３０）ことには、
−前記ヒステリシスサイクルデータから、少なくとも１つの位置値に対してトルクヒステリシスを特定することで、前記アクチュエータ動摩擦を求め、前記アクチュエータ動摩擦の値は、前記特定したトルクヒステリシスの値の半分であることが含まれることを特徴とする方法。
【請求項９】
請求項２乃至８の何れか１項に記載の方法において、前記ヒステリシスサイクルは、様々な熱的条件下で観測され、前記熱的条件は、環境の、および／または前記関節の機械要素のどれかの、測定した、および／またはシミュレーションした温度で示され、前記ヒステリシスサイクルは、前記求めた特性が温度と共に変わるような温度依存性であり、
−前記少なくとも１つの関節特性の温度依存性を求めることを特徴とする方法。
【請求項１０】
請求項１乃至９の何れか１項に記載の方法において、少なくとも２つのクランプされた関節の関節特性値を求めるために、前記少なくとも１つのアクチュエータを、前記駆動系を介して繰り返して駆動することを含み、前記個々の関節のクランプ構成は、前記駆動（２１０）および観測段階全体にわたって変わらないままであることを特徴とする方法。
【請求項１１】
請求項１乃至１０の何れか１項に記載の方法において、
少なくとも、第１の関節を第１のクランプ構成でクランプするステップと、
少なくとも、前記第１の関節を第２のクランプ構成でクランプするステップと、
各クランプ構成に対して、請求項１乃至９の何れか１項の方法ステップを実施するステップと、
を含むことを特徴とする方法。
【請求項１２】
マニピュレータ（１１０）の関節の少なくとも１つの特性を求める方法であって、前記マニピュレータの作業空間内で、クランプ物品（１６０）の位置に前記マニピュレータの可動部分を位置決めし、前記クランプ物品上の１つの地点を前記可動部分と接触させることを含み、請求項１乃至１１の何れか１項の方法ステップを実施することをさらに含むことを特徴とする方法。
【請求項１３】
請求項１乃至１２の何れか１項に記載の方法において、
−前記マニピュレータの標準運動パラメータを得ることと、
−前記少なくとも１つの関節の前記少なくとも１つの求めた特性に基づいて、前記標準運動パラメータを更新することと、
をさらに含むことを特徴とする方法。
【請求項１４】
請求項１乃至１３の何れか１項に記載の方法において、コントローラが前記駆動系の駆動を制御することを特徴とする方法。
【請求項１５】
請求項１乃至１４の何れか１項に記載の方法において、マニピュレータの前記関節などの関節の駆動系を駆動するように構成されたコントローラを、前記関節の前記求めた少なくとも１つの特性に基づいて更新することをさらに含むことを特徴とする方法。
【請求項１６】
マニピュレータ（１１０）の関節などの関節（１１２、１１４、１１６〜１１９、１８０）の少なくとも１つの特性を求めるシステムであって、
駆動系を介して前記関節を駆動するように構成された少なくとも１つのアクチュエータと、
前記関節の動作を制限するように構成されたクランプ手段と、
前記アクチュエータのトルクに関係する少なくとも１つの量と、前記アクチュエータの位置に関係する少なくとも１つの量とを観測する手段と、
前記アクチュエータの少なくとも１つの出力値を求める手段であって、前記出力値は、少なくとも１つの関節位置に対応する、手段と、
前記少なくとも１つの出力値に基づいて、前記関節の前記少なくとも１つの特性を求める手段と、
を含むことを特徴とするシステム。
【請求項１７】
請求項１６に記載のシステムにおいて、マニピュレータ（１１０）をさらに含み、前記関節（１１２、１１４、１１６〜１１９、１８０）は前記マニピュレータの一部であり、コントローラ（１４０）は、前記マニピュレータを制御するように構成され、クランプ手段（１６０）は、前記マニピュレータの端部部分の合体およびクランプを可能にするように構成されて、前記マニピュレータは、前記クランプ手段に合体およびクランプされたときに、クランプされた姿勢を取ることを特徴とするシステム。
【請求項１８】
請求項１６または１７に記載のシステムにおいて、請求項１乃至１５の方法に従って、前記マニピュレータの前記関節の少なくとも１つの特性を求めるために、前記マニピュレータ（１１０）をクランプする、空間内の少なくとも１つの地点を提供するように構成されたクランプ物品（１６０）をさらに含むことを特徴とするシステム。
【請求項１９】
請求項１６乃至１８の何れか１項に記載のシステムにあるコンピュータプログラム（Ｐ）であって、請求項１乃至１５に記載の前記方法ステップの何れかを実施するためのコンピュータ命令を含むことを特徴とするコンピュータプログラム（Ｐ）。
【請求項２０】
コンピュータ可読媒体に保存されたコンピュータ命令を含むコンピュータプログラム製品であって、前記プログラム命令は、請求項１乃至１５の何れか１項に記載の方法のステップを実行するように構成されることを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マニピュレータの関節などのサーボ制御式機械動作の少なくとも１つの特性を求める方法およびシステムに関する。
【０００２】
ロボットは、多くの産業分野で幅広く応用されている。特に、産業分野の中には、人間の健康にとって危険な作業を行うもの、または人間が耐えることができない条件下で行われる労働を含むものがある。他の産業分野は、ロボットによって、遙かに効率的に、かつ正確に実施できる反復性の作業を含む。
【０００３】
産業ロボットは通常、加工物および材料を取り扱う、または加工するために考案されたマニピュレータを含む。マニピュレータは通常、それぞれがリンクと呼ばれる一連のセグメントからなるアーム状の装置を有する。これらの各セグメントの動作は、多くの場合、並進動作と軸のまわりの回転との組み合わせである。他の場合では、動作は、排他的に並進動作または回転動作からなる。これらの動作バリエーションは共に、各リンクに、以下に関節と呼ばれるもののまわりの、または沿った機械自由度を付与する。球面関節などの関節の変形型は、これらの単純な並進または回転する関節の組み合わせと考えることができ、これらのタイプの関節の形式的等価は、ロボット工学文献に存在する一般化座標の概念と合致する。相応して、力およびトルクは、それぞれ位置および角度の場合と同様に等価と考えられる。
【０００４】
関節は通常、モータの測定された動作からのフィードバックによって制御されるサーボ制御式モータによって駆動される。モータは、モータ回転を関節回転まで減速するためのギヤおよび他の伝動要素を含む駆動系を介して関節を駆動する。この用途において、駆動系という用語は、モータを除くと解釈することができる。伝動要素の目的は、減速してトルクを増大させることである。
【０００５】
駆動系は、いわゆる直動式のロボットでは不必要であるが、固有の問題のために、この種のロボットは、特に、エンドエフェクタ（工具）と加工物との間の力の相互作用中の制御剛性に関して悩まされており、ほとんどすべての最新ロボットは、各関節に対して専用の駆動系を用いて構築されている。
【０００６】
アクチュエータは、（出力シャフトを備えた）モータ、またはエネルギを駆動系に作用する機械効果に変換できる別のタイプの装置と解釈することができる。駆動系は、この用途においてアクチュエータの一部とみなされないが、モータ角を測定するセンサが存在する。このセンサの出力値は、アクチュエータ位置と呼ばれる。関節角は通常、アクチュエータを介して測定されるだけである。この理由から、伝動要素は、マニピュレータの動作が、行われる駆動と正確に合致するように、高い精度および品質で製造される必要がある。しかし、最終顧客は通常、高品質材料の使用によって課される価格の上昇を認めようとはせず、このため、製造業者は、低価格セグメントの構成要素でマニピュレータを製造せざるを得なくなる。
【０００７】
最新の産業マニピュレータは、６自由度（ＤＯＦ）を有する、すなわち、直列に連結された６対の回転関節およびリンクを有する。最終リンクは、エンドエフェクタ（工具）を取り付けるための工具フランジまたは端部フランジで終端する。エンドエフェクタのフランジへの直接取り付けの代替として、マニピュレータの端部フランジに取り付けられるマニピュレータ部分と、それぞれの工具に取付面を提供する工具部分とで構成される工具交換器が使用される。２つの工具交換器部分は取り外し可能であり、例えば、空気で駆動されるロック機構を用いて所定の位置にロックすることができる。これは、工具の簡単な交換を可能にする。この場合に、工具の自動交換、すなわち、手作業を必要としない工具の交換が、選択された工具に合体したロボットによって行われ、次いで、選択された工具は、工具交換器のロック機構を用いてマニピュレータに固定して取り付けられる。
【０００８】
マニピュレータの動作は、オペレータにより手動またはロボット作業を定めるユーザプログラムに従って命令を実行することにより、自動的に行うことができる。後者の場合、マニピュレータは、マニピュレータを制御して、プログラムされた姿勢を取るようにマニピュレータを誘導するコントローラにロードされた、または入力されたユーザプログラムによって制御される。そのような姿勢は、望み通りにエンドエフェクタを配置するための位置および向きで構成される。したがって、コントローラは、マニピュレータの関節を含めたマニピュレータの動作を制御するロボットの一部である。
【０００９】
エンドエフェクタの姿勢の効率的な特定化を手動か、またはユーザプログラムの何れかで、場合によってはＣＡＤデータで支援するために、コントローラは、マニピュレータの運動力学モデルを内蔵する。そのようなモデルには、関節と、リンクと、関節およびリンクの幾何学的関係からなるモデルが含まれる。
【００１０】
例えば、製造プラントにおける産業ロボットなどのロボット用途では、得られた物理的姿勢が、特定の許容範囲内で、プログラムされた姿勢と一致するならば、それはきわめて有効である。そうでない場合、プログラムされた姿勢と物理的姿勢との間にずれがあることを意味する。このずれは、経路に沿った単一の位置または複数の位置か、あるいはロボットの任意の使用で生じ得る。ユーザプログラムの調整を通じたユーザによる、または（若干偏差した）プログラムされた姿勢の教示によるずれの管理は、ロボット作業の再利用を制限し、ロボットのプログラミングおよび配備に対するコストを上げる。
【００１１】
ロボット工学の初期では、主な偏差は不完全な制御によるものであったが、１９８０年代の半ばから以降、ロボットは、主に、マニピュレータ特性と、マニピュレータ特性に反映されるような駆動系誤差の制御補償の欠如とが相まって、プログラムされた動作から逸脱する。より具体的には、コントローラは、多くの場合、適切な構造および機能性を有するが、そのような補償を支援する、個々のマニピュレータに対する実際のロボットの特有データが欠如している。したがって、これらの欠点に対処して、プログラムされた動作と物理的動作との間のずれを最小限にする必要がある。
【００１２】
それにもかかわらず、プログラムされた動作からのずれのさらなる原因が当技術分野において公知である。特に、そのような原因の１つは、例えば、運動誤差によるリンクおよび関節の幾何学配置の不正確さであり得る。運動誤差は、通常ロボットメーカから入手可能な運動校正によって管理することができる。ずれの別の原因は、関節およびアーム機構の不正確さ、および／または関節効果、または多体効果によるトルク飽和などの、高速動作時のアーム動態の制御に関係する。通常、そのようなずれは、ロボットメーカから提供されるモデル式制御によって管理される。プログラムされた姿勢からのずれのさらに別の原因は、マニピュレータのエンドエフェクタと加工物との間の力の相互作用によるが、マニピュレータに作用する重力および他の力にもよる不正確さから生じる。そのようなずれは、ベアリングおよび駆動系の伝動要素などの他の関節部品のコンプライアンスおよび許容誤差による、関節動作のまわりの、または関節動作に沿った関節動態にも関係する。
【００１３】
前に言及したずれの原因のタイプの分析および特定に対処する、いくつかのタイプの問題解決策が存在する。これらの中で、光学追跡システムを用いた測定が最も一般的である。問題解決策の１つのタイプは、関節またはエンドエフェクタのトルクまたは位置を検出する外部センサを備えた外部校正システムを使用する。多数のロボットを備えた大規模生産設備に適用可能であるが、そのような外部校正システムのコストは、多くの場合、単一ロボットのコストを超える。１つまたは複数のロボットの動作を利用する、より小規模の生産設備では、そのような外部校正システムは、法外に高いコストのために適用できない。外部校正システムの一例が、国際公開第２０１２／０７６０３８号パンフレットに記載されている。
【００１４】
上記の種類の校正システムの若干の修正版が、論文“Ｋｉｎｅｍａｔｉｃ  Ｃａｌｉｂｒａｔｉｏｎ  ｂｙ  Ｄｉｒｅｃｔ  ｅｓｔｉｍａｔｉｏｎ  ｏｆ  ｔｈｅ  Ｊａｃｏｂｉａｎ  Ｍａｔｒｉｘ”ｂｙ  Ｂｅｎｎｅｔ，Ｈｏｌｌｅｒｂａｃｈ  ａｎｄ  Ｈｅｎｒｉ（ｐｒｅｓｅｎｔｅｄ  ａｔ  ＩＣＲＡ，１９９２，ｉｎ  Ｎｉｃｅ，Ｆｒａｎｃｅ）に提示されている。その論文では、ロボットに対するヤコビアン行列中のパラメータ（終点速度と関節速度との間の依存性を表す、または力／トルクに対して同様のものを表す）が、最初にロボットを所定の姿勢にクランプし、次いで、クランプ地点に接近して工具フランジに取り付けられた外部力／トルクセンサからの情報に基づいて、ロボットの関節を駆動することで評価される。あるいは、両端に連結された剛性ロッド、または明確に定義された方法で、周囲物に対するマニピュレータの動作を制限する何らかの他の機構を使用して、１つまたは複数の自由度を拘束するが、特定の関節動作は、固定された構成においても可能であるようにする。そのような一連の駆動から得られたデータが、行列のセットをもたらし、この行列を使用して、運動パラメータを計算する。しかし、クランプを含む力／トルクに基づく方法を用いて、運動校正が行われたとしても、アクチュエータ−関節間の動的特性は無視されたままである。結果として精度が低下するので、関節のクランプを含むこの方法は、実際には使用されない。さらに、各関節の駆動系の特性のために、動的な力および加工物との力の相互作用によって生じたずれは、現在の産業用途では補償されないままである。
【００１５】
上記を背景として、本発明の目的は、当技術分野に存在する現在の問題の少なくともいくつかを多少とも解決することである。
【００１６】
より具体的には、ロボットの姿勢および動作を校正するために、ロボットの関節パラメータを正確に求める、簡単で安価な方法が必要である。
【００１７】
本発明の一態様によれば、マニピュレータの関節などの関節の少なくとも１つの特性を求める方法が提案され、前記関節は、少なくとも１つのアクチュエータによって駆動されるように構成され、アクチュエータは、駆動系を介して前記関節を駆動するように構成され、方法は、
−関節の動作が制限されるように、前記関節をクランプすることと、
−前記アクチュエータのトルクに関係する少なくとも１つの量と、アクチュエータ位置に関係する少なくとも１つの量とを観測しながら、前記駆動系を駆動することと、
−観測した量に基づいて、前記アクチュエータの少なくとも１つの出力値セットを求め、前記出力値セットは、少なくとも１つの関節位置に関係することと、
−前記出力値セットに基づいて、関節の少なくとも１つの特性を求めることと、
を含む。
【００１８】
この場合に、関節特性という用語は、これまで、コストがかかりすぎるか、またはロボット用途で実際に使用するために入手するのがあまりにも困難であった情報に相当する、アクチュエータ−関節間の動態の特性を包含すると解釈することができる。
【００１９】
上記の方法の１つの利点は、関節特性が、ロボットマニピュレータ自体から直接求められることであり、これは、ロボットの校正を、これまで公知であった校正技術を使用するよりも遙かに安価にする。これらのパラメータは、ロボット自体の位置およびトルク信号から直接読み取るか（両方が入手可能な場合）、または既存のモータ信号またはセンサから得られた、測定したアクチュエータ位置からのデータを含めた他の信号および物理特性から推定するかの何れかとすることができる。例えば、モータ電流は、トルク信号を供給するセンサ以外のセンサによって測定することができ、それに対して、アクチュエータ位置は、既存のモータ角センサによって検知することができる。
【００２０】
一部の物理特性を使用して、ずれが物理的に生じないようにずれを補償することができる。物理特性を得る方法の実行に関連する制御を調整するために、物理特性を使用することもできる。動作を調整するための物理特性の一例には、関節駆動に使用されるアクチュエータトルクに関係するモータ電流の周波数応答があり得る。
【００２１】
上記の方法は、標準運動パラメータを得るステップと、前に説明した方法ステップに従って求めた関節の少なくとも１つの決定特性に基づいて、標準運動パラメータを更新するステップとを含むこともできる。これは、マニピュレータ関節の不正確さによるロボットマニピュレータの運動モデルの誤差が、既存の校正技術と比較して小さくなり得るという利点を有する。このようにして、関節特性を、更新された運動パラメータと併せて使用するマニピュレータの校正は、既存の運動校正のみからのパラメータを使用するよりも、高い精度の位置および再現性をもたらす。
【００２２】
本発明の別の態様は、マニピュレータの関節などの関節の少なくとも１つの特性を求めるシステムに関し、そのシステムは、
駆動系を介して前記関節を駆動するように構成された少なくとも１つのアクチュエータと、
関節の動作を制限するように構成されたクランプ手段と、
前記アクチュエータのトルクに関係する少なくとも１つの量と、アクチュエータ位置に関係する少なくとも１つの量とを観測する手段と、
前記アクチュエータの少なくとも１つの出力値を求める手段であって、前記出力値は、少なくとも１つの関節位置に対応する、手段と、
前記少なくとも１つの出力値に基づいて、関節の少なくとも１つの特性を求める手段と、
を含む。
【００２３】
前に述べた利点に加えて、そのようなシステムの１つのさらなる利点は、このシステムは、得られた駆動系モデルを既存の容易に入手可能なセンサおよび信号と共に使用して、ロボット自体を用いて関節パラメータを求めることを可能にすることである。この場合に、これらのパラメータは、ユーザプログラムを更新するために直接的に、または測定が行われた特定のロボットモデル（または、例えば、一定の使用もしくは摩耗時間後の個々のロボット）に対してマニピュレータ関節のサーボ制御を更新するために間接的に使用することができる。これはすべて、単純で比較的安価な方法で行われ、その理由は、関節特性測定に必要とされる外部物品がクランプ物品だけであるからであり、クランプ物品は、ロボットの作業空間の１つまたは複数の地点でマニピュレータの可動部分をクランプするために使用される。
【００２４】
本発明の好ましい実施形態は、従属請求項に記載される。
【００２５】
以下に、添付図を参照して本発明が詳細に説明される。
【図面の簡単な説明】
【００２６】
【図１ａ】図１ａは、本発明の一実施形態による、マニピュレータの関節特性を求めるためのシステムを示している。
【図１ｂ】図１ｂは、単一の関節の関節特性を求めるための構成を示しており、この単一の関節は、図１ａに示された１つの軸２などのマニピュレータ関節と同様であるが、明瞭にするために、露出した駆動系および単純な手動式クランプ物品と共に示されている。
【図１ｃ】図１ｃは、図１ｂの一部である駆動系に属する複数の歯車を示す、図１ｂの細部の拡大図であり、前記歯車は、片側での係合と他方の側でのバックラッシュとを示されている。
【図２】図２は、本発明の一実施形態による、マニピュレータの関節特性を求める方法の流れ図を示している。
【図３】図３は、本発明の１つの他の実施形態による、マニピュレータの関節特性を求める方法の流れ図を示している。
【図４】図４は、本発明のさらに別の実施形態による、マニピュレータの関節特性を求める方法の流れ図を示している。
【図５】図５は、本発明の別の実施形態による、マニピュレータの関節特性を求める方法の流れ図を示している。
【図６】図６は、本発明のさらに別の実施形態による、マニピュレータの関節特性を求める方法の流れ図を示している。
【図７】図７は、本発明のさらに別の実施形態による、マニピュレータの関節特性を求める方法の流れ図を示している。
【図８ａ】図８ａは、本発明の一実施形態の作用を示す図を示している。
【図８ｂ】図８ｂは、バックラッシュの特性を説明する目的で、理想的なバックラッシュを示している。
【図８ｃ】図８ｃは、空動きの特性を説明する目的で、理想的な空動きを示している。
【図８ｄ】図８ｄは、バックラッシュおよび理想的な摩擦を有する撓み性関節から得られる理想的なヒステリシスサイクルを示している。
【図８ｅ】図８ｅは、様々な位置に対して得られた、したがって、様々な最大トルクを示す、２つの重なった実際の、つまり、理想的でないヒステリシスサイクルを示している。
【発明を実施するための形態】
【００２７】
以下において、ロボットという用語は、加工物品に作用するように構成されたマニピュレータと、マニピュレータの動作を制御するコントローラと、マニピュレータの１つ以上の関節との組み合わせとして定義される。本発明の以下の例示的な実施形態は、単に例示目的であり、本発明自体を限定するものではないとみなされるべきである。例えば、一時的に、または永続的にサーボ制御される、または任意の他の方法で、駆動系パラメータの情報から恩恵を受けることができる任意の（回転または直進）関節動作は、技術的に等価な系を形成する。
【００２８】
図１ａは、クランプ物品１６０を使用して、マニピュレータ１１０の関節特性を求めるためのシステム１００を示している。コントローラ１４０は、マニピュレータ１１０、および必要に応じてクランプ物品の動作を制御するために設けられている。好みに応じて、コントローラ１４０は、手動で、または自動で動作する制御ユニットまたはデジタルコンピュータの形態で外付けするか、あるいは内部、すなわち、マニピュレータ１１０自体に内蔵することができる。同様に、マニピュレータの選択された可動部分をクランプするためのクランプ物品または同様な装置は、マニピュレータの可動部分がクランプされるように、手動で、または（マニピュレータ用のコントローラまたは別の制御によって）自動で配置される。
【００２９】
図に示すように、マニピュレータ１１０は、当業者に公知の態様で、マニピュレータの様々なリンクを連結する複数の関節１１２、１１４、１１６、１１７、１１８、１１９を含む。マニピュレータ１１０の各関節は、モータによって駆動される駆動系（図示せず）によって駆動されて、モータの回転は、関節１１２、１１４、１１６〜１１９の低速回転に変換される。ここで、システム１００は、いくつかの関節、すなわち、１つまたは複数の関節を含むことができ、マニピュレータ関節の数量は、本発明を実施するのに重要ではないことに言及しておかなければならない。
【００３０】
前に説明したように、駆動系は、ギヤホイールまたは他の伝動要素を含むことができる。１つには、ロボットは、（関節空間にわたる）内部座標系に関するアクチュエータ位置を知る必要があり、第２に、（通常、直交座標空間にわたる）外部座標系に関するアクチュエータ位置を記述する必要があることから、ほとんどのマニピュレータは、モータシャフトに取り付けられたエンコーダまたはレゾルバなどの内蔵センサ、あるいは関節のアクチュエータ位置を検知する同様な内蔵センサを含む。
【００３１】
図１ａの本発明の実施形態では、前述の内蔵センサを使用して、マニピュレータ１１０の各関節１１２、１１４、１１６〜１１９の関節特性を求める。関節および直交座標空間類比を使用して、力またはトルクで進む関節モータ角などのアクチュエータ空間を記述するパラメータが、運動校正から分かる関節位置などの関節空間を記述するパラメータに変換される。
【００３２】
図１ａから明らかなように、関節１１２、１１４、１１６〜１１９は、マニピュレータ１１０が、全体で６自由度（ＤＯＦ）を有するように構成され、ＤＯＦは、回転軸１〜６のまわりの回転の方向を示す太い矢印で示されている。さらに、（明瞭にするために取り外して示された）工具交換器１２１のマニピュレータ側を取り付けることができる工具取り付けフランジ１２０が図１ａに示されており、工具交換器のマニピュレータ側は、様々な工具（図示せず）に取り付けられる工具交換器の工具側（図示せず）と嵌合し、これは、人手による助けのない工具の交換を可能にする。マニピュレータ構造物は、今日、産業ロボットに頻繁に見られるが、平行運動機械（ＰＫＭ）のものなどの他の構造物も存在する。運動構造に関係なく、駆動部および駆動系は同様の態様で機能し（ただし、通常、ＰＫＭの場合の方が幾分単純である）、駆動系モデルのパラメータを得るための方法／システムは事実上同一である。
【００３３】
図１ａに示すシステムは、ヘッド１６３と、ベースプレート１６９に取り付けられた３対の脚１６８とを含むクランプ物品１６０をさらに含む。図１ａの実施形態にあるクランプ物品１６０の形状および構造は、本発明によるシステムで使用されるクランブ物品の形状および構造を限定するものと決して解釈すべきでないことを強調しておかなければならない。実際上、クランプ物品１６０は、マニピュレータ１１０が合体される空間内の地点を提供できる限り、任意の構造および形状を有することができる。ここで、工具交換器の工具側に対応した合体用の突起１６２が、クランプ物品のヘッド１６３の上に配置され、突起１６２は、マニピュレータ１１０によって到達可能であり、工具交換器１２１の対応するマニピュレータ側と嵌合する。さらに、ヘッド１６３と３対の脚１６８の一端とは関節１６４を介して連結されて、ヘッド１６３は、関節１６４の１つまたは複数のまわりに回転することができる。さらに、脚１６８の他端も、それぞれがそれ自体の回転軸（図示せず）を含む関節１６５〜１６７を介してベースプレート１６９に取り付けることができる。一定長さの各脚１６８と共に、クランプ物品のヘッド１６３もロックされる。１つまたは複数の脚のロック用ブッシュ１６１を解放すると、クランプ物品ヘッド１６３も解放される。さらに、ブッシュ１６１のロックは、コントローラ１４０から制御することができて、クランプ物品１６０の（解放モードにおいて伸縮自在の）脚１６８は、様々な長さでロックすることができる。このようにして、ヘッド１６３、ひいては突起１６４は、実質的に空間内の任意の地点に移動することができる。しかし、本発明によるシステム１００のクランプ物品１６０は、非常に単純な構造を有し、マニピュレータ１１０をクランプできる空間内の地点を提供できる場合に、すでにクランプ物品としてのその機能を果たしていることに留意されたい。図１ａに示す自由に移動可能なクランプ物品の利点は、互いに接近した複数のクランプされた姿勢を容易に提供することができ、これは、内部の歯車またはベアリングの角度、あるいは関連する伝動要素の同様の細部によって変わる恐れのある駆動系の特性の特定を容易にする。
【００３４】
ここで、工具交換器の工具側（図示せず）に対応するクランプ物品のヘッド１６３を有する、図１ａの本発明の実施形態は、エンドエフェクタの交換が、工具の観点から、マニピュレータがクランプ物品と合体するのと等価とみなすことができるという原則を利用する。交換は、手動または自動の何れかで行うことができ、後者の場合は、ロボットが、工具スタンドの工具に連結するための工具交換器を使用して、その端部エフェクタを交換するようにプログラムされていることを意味する。工具交換器を装備していないマニピュレータ１１０は、標準操作中に、特に、校正段階の間、工具交換器を手作業で装備することができる。あるいは、クランプ物品は、マニピュレータリンクまたはエンドエフェクタのどこかの側に取り付けることができる。したがって、任意のロボットマニピュレータを校正することができる。
【００３５】
この実施形態では、クランプ工具は、クランプ物品１６０、または、より具体的には、クランプ物品のヘッド１６３に配置された突起１６２である。突起１６２は、工具交換器１２１が合体する空間内の地点を提供するように構成されている。クランプ物品のヘッド１６３は、広範な範囲内に配置されるように構成されているので、工具交換器１２１が合体する、空間内の可能な地点の幅広い選択を可能にする。クランプ地点は、一実施形態によれば、各６つの軸のまわりのマニピュレータセグメントの回転動作が、一義的に特定できるように、例えば、特異点が回避されるように選択される。これは、各関節１１２、１１４、１１６〜１１９の関節パラメータを求める１つの方法である。しかし、別の実施形態によれば、突起１６２用の１つの任意の位置が選択されて、特異点であり得る空間内のクランプ地点が、マニピュレータ１１０の工具交換器１２１用に得られる。このような場合であっても、コントローラ１４０は、マニピュレータを空間内の第１のクランプ地点から第２および、場合によっては第３のクランプ地点に移動させるように構成され、空間内の各クランプ地点に対する関節動力学方程式の解を計算することによって、マニピュレータ１１０の各関節１１２、１１４、１１６〜１１９の関節パラメータを一義的に求めることができるという点で、各関節の関節パラメータを求めることができる。コントローラ１４０は、同じ目的のために、マニピュレータ１１０を空間内の第２または第３または、場合によってはさらに多くのクランプ地点に対応する１つまたは複数のさらなる位置に移動させながら、マニピュレータ１１０をクランプ物品１６０にクランプされた状態に保つこともできる。
【００３６】
この場合に、クランプ物品１６０の突起１６２を使用して、空間内の地点に合わせて工具交換器１２１を合体させるだけでなく、工具交換器１２１またはマニピュレータ１１０の他の任意の部分が、空間内の明確に定義された地点に到達してクランプされ得るクランプ物品１６０の任意の部分も、クランプ機能を十分に果たすと考えることができることに言及しておかなければならない。ここで、工具交換器１２１をクランプできる、空間内の１つまたは複数の地点は一義的に画定されるが、マニピュレータは、相互に関係のある複数の関節位置に達するようにコントローラ１４０によって制御することができ、この相互に関係のある複数の関節位置のすべては、工具交換器１２１か、またはマニピュレータのどこかの他の部分の何れかが、突起１６２、またはクランプ物品１６０のどこかの他の部分によって提供された空間内の同じ地点に合わせてクランプされるのを可能にするので、マニピュレータが空間内のこの地点で取る姿勢は、一義的ではないことがある。
【００３７】
工具交換器１２１は、空間内の１つまたは複数の地点でクランプされ、コントローラ１４０は、マニピュレータ１１０の関節の内部センサからの出力値を読み取るように構成されている。これらの値は、バックラッシュ、コンプライアンス、および他の可能なパラメータなどの関節パラメータに変換することができる駆動系特性を反映する。
【００３８】
しかし、工具交換器１２１が、空間内の１つまたは複数の地点にクランプされる前に、コントローラ１４０は、各関節１１２、１１４、１１６〜１１９の動摩擦、場合によっては粘性摩擦を求めるように構成することができる。同様に、工具交換器１２１がクランプされる前に、マニピュレータ１１０は強い衝撃を受け、コントローラ１４０は、マニピュレータ１１０の１つまたは複数の関節に対して観測したトルクおよび位置から、マニピュレータ１１０の１つまたは複数の共振周波数を求め、１つまたは複数の共振周波数から、クランプし／クランプされる動作の制御と、関節アクチュエータトルクおよび関節位置の観測とに適切なバンド幅を求めるように構成することができる。
【００３９】
これは、図５〜７の実施形態に関連して、さらに詳細に説明される。
【００４０】
ここで、一実施形態によれば、コントローラ１４０は、各関節の内部センサ出力から直接的に関節モータトルクおよび関節位置を読み取るように構成される。別の実施形態によれば、関節モータトルクが、直接的に入手できない場合、コントローラ１４０は、他のサーボ制御状態に基づくモータトルク制御またはトルク観測器の動的特性などの、モータトルクを間接的に計算できる他のアクチュエータ量を観測するように構成される。モータトルクはまた、モータ電流を測定し、使用されるモータのタイプに対する実際のトルクを計算することで求めることができる。一方、ほとんどの場合、産業ロボットは、対応する位置センサを装備しているので、コントローラ１４０は、現在の関節位置を容易に入手可能であると考えることができる。
【００４１】
マニピュレータをクランプするとは、クランプ物品１６０によって提供された空間内の地点に合わせて、マニピュレータ１１０の可動部分をクランプすることを意味すると規定することもできる。マニピュレータの他端（ベース部分）の地面板または床への取り付けは、クランプ操作であるとみなされず、本明細書ではそれ自体論じられない。マニピュレータ１１０のベース部とクランプ物品１６０のベースプレート１６９とは、クランプ動作中に互いに堅固に連結されるが、当然、ベース部は、例えば、ベースプレート１６９が堅固に取り付けられた周囲物に可動ロボットを合体させる（図示せず）ことによって、互いにクランプすることもできる。
【００４２】
リンクを空間内の固定地点に合わせてクランプすることで、マニピュレータ１１０の単一の関節に対する技術的に等価なクランプ状況を得ることができる。例えば、マニピュレータ１１０は、すぐ前の軸１１２（軸１）に対して垂直に動く第２のリンク（軸２の動作）の前部に取り付けられた工具交換器の一部を有することができ、したがって、軸１１２は、関節１１４のクランプに干渉しない。さらに、関節１１６〜１１９はクランプされないままであり、関節１１４のクランプの一部ではない。クランプ物品１６０または他の任意の専用クランプ物品上の工具交換器との合体の代替案として、市販のクランプ装置を使用することができる。引き続き関節１１４のクランプを検討すると、そのような標準クランプ物品は、参照数字１８８で図１ｂに示すタイプとすることができる。図１ｂは、そのような関節を、駆動系のカバーの一部が削除されて、伝動要素を露出させた状態で示しており、この場合に、伝動装置は、撓み性シャフト１８６を介してモータ１８２をリンク１８４に連結する遊星ギヤボックスである。リンク１８４は、リンク１８４の重力で生じたトルクをシャフト１８６に作用させ、シャフト１８６のねじれは、ねじれたエッジ線で見ることができる。単純にするために、摩擦力および内力をさしあたって無視すると、重力は、駆動系に作用するモータトルクによって相殺され、したがって、歯車の歯の対応する側は、図１ｃに示すように接触状態にある。バックラッシュ源として、歯ギャップ１９２、１９６がある。摩擦は、ベアリング１９４と、伝動要素間の他の摺動または転がり接触部とで生じる。ねじれ１８６は線形であり得るが、遊星ギヤを保持するプレートを含めたコンプライアンスは、漸進的な歯接触と相まって、通常、非線形のコンプライアンス特性をもたらす。
【００４３】
手動式クランプ物品１８８と併せて、システム１８０は、マニピュレータの関節とみなすことができる。等価的に、システム１８０は、任意で１つのサーボ制御式機構の任意で１つの関節を示すことができる。このように、クランプ物品１６０、１８８は、それぞれ図１ａおよび図１ｂに提示した形態および形状に限定されるのではなくて、基本的にバックラッシュがなく、マニピュレータ１１０の可動部分のクランプ用の空間内の地点を提供できる限り、任意の形状および形態を有することができる。したがって、クランプ物品は弾性とすることができて、クランプ物品への最初のクランプ後のマニピュレータは、クランプ物品の位置での休止位置を取った後、マニピュレータが後でクランプされる空間内の地点に到達することができる。弾性クランプ物品の場合、弾性クランプ物品の剛性は既知でなければならず、クランプ物品の弾性変位は、工具交換器の力に基づいて求める必要があり、一方、工具交換器の力は、関節トルクおよび運動モデルを通じて、または外部のリスト取付式力／トルクセンサを使用して求めることができる。
【００４４】
本発明によるマニピュレータの関節パラメータを求めるシステムはまた、２つ以上のロボット、すなわち、他方のロボットのマニピュレータ用に、それぞれが空間内のクランプ地点を提供するクランプ物品として、互いを使用する２つ以上のマニピュレータを含むことができて、例えば、いくつかの実施形態が図２〜７に示される本発明の方法に従って、各マニピュレータの各関節の関節特性を求めることができることにも言及しておかなければならない。堅固に固定されるクランプ地点がない場合、双腕ロボットは、すべての関節パラメータを一義的に求めるために、より多くの姿勢および測定データを必要とすることがある。
【００４５】
さらに、図１ａのマニピュレータ１１０は、単一のアームマニピュレータとして示されているが、同様に双腕ロボットとすることができ、前の段落での説明と同様に、アームは、各アームの各関節の関節特性を求めるために、各アームを、他方のアームによって提供された空間内の地点にクランプするクランプ物品として使用することができる。双腕ロボットはまた、任意で適切なリンクを有する他方のアームが、他方のアームのリンクを剛性周囲物（または既知のコンプライアンスを有する周囲物）に押し付けるようにすることで、リンクをクランプすることもできる。これらの場合でさえ、いくつかの実施形態が図２〜７に示される本発明の方法に従って、マニピュレータの各アームの関節特性を求めることができる。
【００４６】
少なくとも１つの関節特性の特定が、図２〜７を用いて以下に説明される。
【００４７】
図２は、本発明による方法の一実施形態を示す流れ図を示している。
【００４８】
ステップ２００で、コントローラ１４０は、マニピュレータ１１０の各関節１１２、１１４、１１６〜１１９ごとのアクチュエータに命令して、マニピュレータ１１０が、クランプ物品１６０によって提供された空間内の地点に合わせて合体するように各関節を回転させる。空間内のこの地点は、クランプ物品１６０の突起１６２か、またはクランプ物品１６０の他のどこかの部分かの何れかによって画定することができる。クランプ物品１６０が剛性の場合、クランプ物品１６０によって提供されるクランプ地点は、工具交換器１２１またはマニピュレータ１１０のどこか他の部分がクランプされた空間内の地点と実質的に同じである。それ以外に、軟性または弾性のクランプ物品の場合、クランプ物品によって提供される最初のクランプ地点は、工具交換器１２１またはマニピュレータ１１０のどこか他の部分が最終的にクランプされる空間内の地点とは異なる。前に説明したように、コントローラ１４０は、マニピュレータ１１０がクランプ物品１６０によって提供された接触地点に到達するように、各関節１１２、１１４、１１６〜１１９ごとのアクチュエータに命令して関節を回転させることができるか、またはコントローラ１４０は、工具交換器１２１またはマニピュレータ１１０のどこか他の部分の合体／クランプを完了するために、（例えば、校正手順全体を自動化する、コントローラにロードされたロボットユーザプログラムの命令にすべて従って、リンク１６８のロックブッシュ１６１を解放し、突起１６２を移動させながらマニピュレータ１１０を合体させることによって）クランプ物品１６０を動かすことができる。
【００４９】
上記の各場合において、マニピュレータ１１０は、この時点で、空間内の明確に定義された地点に到達しており、特定の姿勢でこの明確に定義された地点にクランプされたままである。この姿勢は、各関節に対する関節パラメータを一義的に求める出発点とすることができ、この場合に、空間内の単一の地点だけで十分である。それ以外に、空間内の地点が、２つ以上の関節の特性を求めるのに不適切な場合、コントローラ１４０は、マニピュレータ１１０またはクランプ物品１６０に命令して、関節パラメータを求めることができる１つまたは複数の地点に移動させることができる。それにより、各関節１１２、１１４、１１６〜１１９に対する関節パラメータを一義的に求めることが可能である。この場合に、対象となる関節パラメータは、バックラッシュおよびコンプライアンスであるが、各関節の機械的な状態についての十分な情報をもたらすことができる他のパラメータも求めることができる。
【００５０】
方法ステップ２１０〜２３０に進む前に、方法をより深く理解するために、ステップ２１０〜２３０は、１つの関節だけに関して実行されることに言及しておかなければならない。しかし、コントローラ１４０は、各関節１１２、１１４、１１６〜１１９の駆動系を駆動するように、アクチュエータに信号を送り、各関節に対してステップ２１０〜２３０を実行することが可能である。代替案として、およびマニピュレータの運動力学的構造に応じて、ステップ２１０〜２３０は、２つ以上の関節に対して平行して実行することができる。
【００５１】
本発明の当面の理解を容易にするために、図２〜７に示したステップ２１０〜２３０の詳述は、それぞれほぼ理想的な特性を有する関節パラメータが得られる特定の制御シーケンスに基づく。その後、実用的に修正された手法が、図８ｂ〜８ｅを参照して説明される。その修正された手法は、コントローラ１４０が、アクチュエータトルクの直接制御を制限した場合に、関節特性を求める実用的な方法である。マニピュレータの提供者と同様に、トルク制御へのアクセスが可能な場合、以下の特定の制御シーケンスは、方法を使用する明示的な形を提示する。
【００５２】
図２に戻って、ステップ２１０で、コントローラ１４０は、前に説明した空間内の地点を画定する、クランプ物品１６０上のクランプ位置にマニピュレータ１１０を保持しながら、関節１１２、１１４、１１６〜１１９の１つの駆動系を駆動するようにアクチュエータに信号を送る。同時に、コントローラ１４０は、マニピュレータ１１０の関節１１２、１１４、１１６〜１１９の１つの関節モータトルクおよび関節位置を観測する。
【００５３】
ステップ２２０で、コントローラ１４０は、マニピュレータ１１０の関節１１２、１１４、１１６〜１１９の１つの特性を得るために、対象となる特定の関節位置に対応するモータトルクの出力値を選択および記録する。モータトルクのそのような出力値および関節位置の一例は、モータトルクが実質的にゼロである関節位置とすることができる。
【００５４】
最後に、ステップ２３０で、コントローラは、ステップ２２０で記録した出力値および関節位置から所望する１つまたは複数の関節特性を求める。１つまたは複数の関節特性は、バックラッシュ、コンプライアンス、または単独の、もしくは組み合わせた他の関節特性とすることができる。
【００５５】
図３は、コントローラ１４０が、関節１１２、１１４、１１６〜１１９を駆動する駆動系のバックラッシュを求める本発明による方法の別の実施形態を示している。前の方法の実施形態と同様に、図３の方法の実施形態は、マニピュレータ１１０の関節１１２、１１４、１１６〜１１９の１つについて説明されている。
【００５６】
ステップ３００で、コントローラ１４０は、マニピュレータ１１０の各関節１１２、１１４、１１６〜１１９ごとのアクチュエータに命令して、マニピュレータ１１０が、クランプ物品１６０によって提供された空間内の地点に合わせて合体するように各関節を回転させる。このステップは、図２に示す方法の実施形態のステップ２００と同一であり、これ以上詳述しない。
【００５７】
ステップ３１０で、コントローラ１４０は運転位置制御に入り、（障害検出などのコントローラ問題により）必要ならば、許容可能なトルクで定常状態位置に到達するように、関節の位置基準を調整する。
【００５８】
ステップ３２０で、コントローラ１４０は、関節１１２、１１４、１１６〜１１９の１つの動摩擦値を得る。この場合に、動摩擦値には、単に、マニピュレータ１１０がクランプ物品１６０にクランプされる前に行った測定から既知の動摩擦が含まれてよいし、またはマニピュレータ１１０が、クランプ物品１６０にクランプされた後の動摩擦値が含まれてもよい。後者の場合、流れ図は、以下のサブステップ（図示せず）、すなわち、
−コントローラ１４０は、アクチュエータに信号を送って、関節モータを２つの反対方向に回転させ、関節モータのトルクを観測するサブステップと、
−コントローラ１４０は、両方のモータ方向でモータトルクの最小合計値を得ることにより、モータ動摩擦を推定するサブステップと、
−モータ動摩擦パラメータとしてトルク値を使用するサブステップと、
を含むことができる。
【００５９】
ステップ３３０で、コントローラ１４０は、駆動系が関節位置基準を調整するように、アクチュエータに信号を送る。関節の位置調整は、設定された／プログラムされた関節制御基準を増減させてコントローラ１４０によって行うことができ、関節制御基準は、分解能が低すぎる場合に、滑らかなトルク信号を得るために、モータ制御のデチューニングを要することがある。
【００６０】
ステップ３３５で、コントローラ１４０は、関節が定常位置に到達したかどうか、すなわち、重力が存在するとしても、関節モータの速度およびトルクが実質的にゼロであるかどうかをチェックする。
【００６１】
ゼロでない場合、方法はステップ３３０に戻り、駆動系を動かし続け、それによって、関節基準位置を調整するように、引き続き信号をアクチュエータに送る。
【００６２】
ゼロである場合、コントローラ１４０は、ステップ３４０で、駆動系を駆動して、関節モータトルクが上昇を始めるまで、関節位置基準を調整するように、アクチュエータに信号を送る。関節の位置調整は、ギヤホイールなどの駆動系の要素間の接触が確立されるまで、関節１１２、１１４、１１６〜１１９の１つの設定された／プログラムされた関節基準駆動系を一方向に増減させることによって行うことができる。マニピュレータサーボ制御の積分動作が駆動系の制限された剛性と相まって、関節モータトルクは、摩擦よりもかなり高いレベルで安定化する。
【００６３】
ステップ３４５で、コントローラは、駆動系位置が安定しているかどうか、すなわち、（その機構が駆動系に使用されている場合）駆動系のギヤホイールが接触を達成したかどうかをチェックする。
【００６４】
接触していない場合、方法はステップ３４０に戻り、コントローラ１４０は、駆動系を駆動し続けるように、引き続きアクチュエータに信号を送る。
【００６５】
コントローラが、駆動系の安定位置、すなわち、接触を検出すると、コントローラ１４０は、ステップ３５０で関節モータの第１の出力値を記録し、第１の出力値は、この場合、関節モータのモータ角Ｘ１である。
【００６６】
ステップ３６０で、コントローラ１４０は、駆動系を駆動するようにアクチュエータに信号を送り、それにより、駆動系は、ステップ３３０での方向と反対の方向に回転する。これは、ステップ３４０と同様にして位置基準をデクリメントするために、アクチュエータに信号を送って駆動系を駆動することで、コントローラ１４０によって実施することができる。
【００６７】
ステップ３６５で、コントローラ１４０は、駆動系の安定位置が得られたかどうか、すなわち、（この場合も実装にかかっている）駆動系のギヤホイール間の接触が、バックラッシュとは反対の側で得られたかどうかをチェックする。
【００６８】
接触していない場合、方法はステップ３６０に戻り、コントローラ１４０は、反対方向に駆動系を駆動するように、アクチュエータに信号を送り続ける。
【００６９】
ステップ３７０で、コントローラ１４０は、安定位置での第２の出力値を記録し、この場合に、第２の出力値は、ステップ３４５の安定位置に対してＮ回デクリメントした後に得られた関節モータのモータ角Ｘ２である。
【００７０】
最後に、コントローラ１４０は、ステップ３８０で、差分値Δ＝Ｘ１−Ｘ２から関節駆動系のバックラッシュを算出する。Ｎが小さい（１または２）場合、バックラッシュが実質的にゼロである可能性があるし、またはインクリメンタル動作の分解能が不十分な可能性がある。後者の場合、モータ制御のデチューニングが、ステップ３３０での手順と同様に適用され得る。
【００７１】
手順がユーザプログラミングレベルで実施される場合、ロボットメーカは、通常のロボットプログラマにとって入手可能な分解能よりも遙かに高い分解能を有するシステムレベルのインターフェイスまたは実装を提供しなければならない。必要に応じて、一部のシステムで、サーボ制御での積分動作は、データの平坦性が改善され、そのときの主要比例動作が適切なトルク効果に対して調整され得るように、無効にするか、または制限することができる。
【００７２】
準静的状態（スローモーション）のもとで、アクチュエータの（例えば、電気）モータトルクからの、駆動系への入力（機械）トルクは、モータトルクから動摩擦をマイナスしたものであることに言及しておかなければならない。設定アクチュエータ動作は既知であり、クランプのために駆動系の出力動作は実質的にないので、これは、クランプ動作時に、駆動系の入力トルクを制御できることを意味する。さらには、これは、クランプ状態でバックラッシュを求める間、バックラッシュを求めるのは、（モータ摩擦が補償された）駆動系の入力トルクに基づいて行うことができる、すなわち、バックラッシュの特定原理は、（ゆっくりであるがゼロ動作ではないという仮定のもとで）摩擦がない場合と同様に構築することができる。
【００７３】
図４は、本発明による方法のさらに別の実施形態を示しており、マニピュレータ１１０のリンクの１つまたは複数のコンプライアンスが求められる。
【００７４】
コンプライアンスは、すべての駆動系が示す剛性の欠如として定義することができる。各リンク（通常小部分）のコンプライアンスは、デフォルトで、関節コンプライアンスとみなされる。
【００７５】
図２および図３に示す前の方法の実施形態と同様に、図４の方法の実施形態は、マニピュレータ１１０の関節モータ（図示せず）の１つだけを使用して説明される。今日のほとんどすべてのロボットは、各関節の駆動系に主コンプライアンスを有し、したがって、この関節パラメータは求めると有用である。
【００７６】
図４の方法の実施形態によれば、関節の摩擦およびバックラッシュ値がコントローラ１４０にとって既知の場合、またはコントローラ１４０が、前に説明したステップに従ってこれらの値を求めている場合、コントローラ１４０は、以下のステップに従って、１つの関節のコンプライアンスを求めるように構成されている。
【００７７】
ステップ４００で、コントローラ１４０は、マニピュレータ１１０の各関節１１２、１１４、１１６〜１１９ごとのアクチュエータに命令して、マニピュレータ１１０が、クランプ物品１６０によって提供された空間内の地点に合わせて合体するように各関節を回転させる。このステップは、図２に示す方法の実施形態のステップ２００と同一であり、これ以上詳述しない。
【００７８】
ステップ４１０で、コントローラ１４０は、バックラッシュの片側での接触が確立されるように、必要ならば、上記のバックラッシュの特定に関する制御を修正して、関節位置基準を調整するために、駆動系を駆動するようにアクチュエータに信号を送る。関節の駆動系がギヤホイールを用いて構築されている場合、そのような接触は、協働して関節を駆動する各ホイールのギヤ間の接触を特徴とすることができる。
【００７９】
ステップ４２０で、コントローラ１４０は、接触トルクを大きくするために、関節位置基準をインクリメントして、駆動系を駆動するようにアクチュエータに信号を送り、コントローラ１４０は、それと同時に、関節モータトルクおよび位置の両方の量の絶対値が増加している間、関節モータトルクおよび位置を観測する。
【００８０】
ステップ４３０で、コントローラ１４０は、アクチュエータに命令して、関節モータトルクが、前のステップ４２０による高い関節モータトルクからゼロに向かって減ぜられるように駆動系を駆動するようにし、コントローラ１４０は、それと同時に、関節モータトルクおよび位置を観測する。ほとんどのギヤボックスの構成により、剛性はトルクの上昇と共に高くなり、例えば、摩擦の２倍のヒステリシスを有する、観測した関節モータトルクおよび位置のデータに３次多項式を当てはめることができる。
【００８１】
ステップ４４０で、関節モータトルクが実質的にゼロであるかどうかをチェックする。
【００８２】
ゼロでない場合、方法はステップ４３０に戻り、アクチュエータは、引き続き駆動系を駆動するように、コントローラ１４０から信号を送られる。
【００８３】
ゼロである場合、コントローラ１４０は、ステップ４５０で関節位置を記録し、ステップ４６０に進む。
【００８４】
ステップ４６０で、コントローラ１４０は、ステップ４２０での方向と反対の方向に関節位置基準を増加させるために、駆動系を駆動するようにアクチュエータに信号を送り、ステップ４２０と同様に関節モータトルクおよび位置を観測する。
【００８５】
ステップ４７０で、コントローラ１４０は、駆動系のギヤホイール間の接触が確立されたかどうかを再度チェックする。
【００８６】
接触していない場合、方法はステップ４６０に戻り、アクチュエータは、引き続きステップ４２０と反対の方向に駆動系を駆動するように、コントローラ１４０から信号を送られる。
【００８７】
接触している場合、コントローラコントローラ１４０は、ステップ４７０で関節位置を記録する。
【００８８】
２つの関節位置は、典型的なギヤボックスの場合、対称でなければならない。
【００８９】
バックラッシュおよび摩擦値と共に、求めたコンプライアンスは、（駆動系および関節の）回転軸（軸１〜６）のまわりの特性を含む図１による関節特性を規定する。図１では、関節のまわりのリンクの回転は、軸１〜６および太い矢印で示されている。一実施形態によれば、方法は、検証または（例えば、力制御動作による）精度の改善のために、工具交換器の位置で力−トルクセンサを使用する。
【００９０】
図５は、本発明による方法の実施形態を示しており、１つまたは複数の関節１１２、１１４、１１６〜１１９の動摩擦は未知であり、コントローラ１４０によって求められる必要がある。このシナリオにおいて、動摩擦は、マニピュレータ１１０がクランプ物品１６０にクランプされる前に求められる。
【００９１】
ステップ５００で、コントローラ１４０は、各関節１１２、１１４、１１６〜１１９を一方向に低速で回転させ、動作中に動摩擦に対応する関節モータトルクを観測するために、駆動系を駆動するようにアクチュエータに信号を送る。これに関連して、低速とは、関節を閾速度値未満の速度で回転させることを意味する。
【００９２】
その後、ステップ５１０で、コントローラ１４０は、駆動系を駆動して、関節１１２、１１４、１１６〜１１９の動作を停止させるようにアクチュエータに信号を送る。
【００９３】
ステップ５２０で、コントローラ１４０は、各関節１１２、１１４、１１６〜１１９を低速で反対方向に回転させ、動作中に動摩擦に対応する関節モータトルクを観測するために、駆動系を駆動するようにアクチュエータに信号を送る。
【００９４】
ステップ５３０で、コントローラ１４０は、最初に動摩擦としてモータトルクのピークを検出し、方向、温度、重力／負荷、または摩擦値に影響を及ぼし得る他の任意の条件に対する依存性を検証／モデル化する。
【００９５】
次いで、方法はステップ５４０〜５７０に進み、ステップ５４０〜５７０は、図２の方法の実施形態のステップ２００〜２３０と同じであり、ここでは繰り返して説明しない。
【００９６】
標準的な産業ロボットは、関節当たり１つの静摩擦値を有し、この静摩擦値は、関節の動摩擦値に近い。一部の機構の場合、機械的にかなりの差があり得るが、例えば、精度の高いロボットが必要とするような高ゲインフィードバック制御の影響下では、センサノイズによる小さい振動があり、より高い静摩擦はあまり問題にならない。いずれにせよ、静摩擦と動摩擦との間の差は、低レベルのサーボ制御で取り扱う問題であり、求められる特性に関して本発明が取り扱う高いレベルの補償には必要とされない。
【００９７】
それに対して、ほとんどのロボットは、駆動系のモータ側に主な関節摩擦効果があり、高い予圧をかけられた関節側ベアリング、または大きな摩擦による潤滑の封止を含む一部のロボットは、極めて高い関節側の摩擦を示す。自由なクランプされていない動作とクランプされた動作との両方で、関節の動摩擦を求めることで、これらの２つの異なる動摩擦パラメータを求め、互いに区別することができる。モータの動摩擦は、駆動系のバックラッシュの前に関節に作用し、一方、残りの関節摩擦は、これらの駆動系パラメータの後に関節動作に作用し、当然、これらの駆動系パラメータは、関節特性に基づいて、補償の範囲内で利用される。当技術分野で公知のように、関節側のそのような高い動摩擦は、特に、コンプライアンスは有するが、バックラッシュがない場合に、図８ｅのプロットした観測量が示すように、動摩擦のヒステリシス効果が、実際上負荷依存性であり得ることの目安である。
【００９８】
コントローラ１４０は、やはり、工具交換器１２１がクランプ物品１６０の突起１６３に合体される前に、上記で動摩擦を求めるために実施したステップと同様な態様で、各関節に対して粘性摩擦を求めることもできる。
【００９９】
マニピュレータ１１０がクランプ物品１６０にクランプされる前に、動摩擦が求められる方法の一実施形態が図６に示されている。
【０１００】
ステップ６００で、コントローラ１４０は、関節１１２、１１４、１１６〜１１９の１つを一方向に様々な速度で回転させるようにアクチュエータに信号を送り、それと同時に、コントローラ１４０は、動作中に関節モータトルクを観測する。
【０１０１】
ステップ６１０で、コントローラ１４０は、駆動系を駆動して関節動作を停止させるようにアクチュエータに信号を送る。
【０１０２】
ステップ６２０で、コントローラ１４０は、駆動系を駆動するようにアクチュエータに信号を送り、関節を反対方向に再度様々な速度で回転させ、この様々な速度は、ステップ６１０の速度と等しくてよいし、または異なってもよい。同時に、コントローラ１４０は、反対方向の動作中に、関節モータトルクを観測する。
【０１０３】
ステップ６３０で、コントローラ１４０は、次いで、両方向の関節動作中に観測したモータトルクから粘性摩擦を求める。
【０１０４】
ステップ６４０〜６７０は、図２のステップ２００〜２３０と同一であり、ここでこれ以上詳述しない。
【０１０５】
いくつかの実施形態が、図２〜６で前に説明された関節パラメータを求める方法の性能を改善する１つの方法は、物品でマニピュレータ１１０を打撃することである。この実施形態が図７に示されている。
【０１０６】
ステップ７００で、マニピュレータ１１０は、自動的に、またはロボットオペレータによって何らかの物品で打撃されて、すべての関節１１２、１１４、１１６〜１１９の、すべての自由度での動作が誘発される。
【０１０７】
ステップ７１０で、コントローラ１４０は、マニピュレータ１１０のすべての関節の関節モータトルクおよび関節位置を観測する。これは、通常、ステップ７００の打撃中および打撃後に行うことができる。
【０１０８】
ステップ７２０で、コントローラ１４０は、各関節１１２、１１４、１１６〜１１９の、特に、最も大きい慣性を有する関節の観測した関節モータトルクおよび関節位置から、マニピュレータ１１０の共振周波数を求める。共振周波数は、ステップ７００での工具交換器１１０の打撃中および打撃後に記録した関節モータ電流の周波数とすることができる。最も低い共振周波数は、前に説明した、摩擦、バックラッシュ、およびコンプライアンスなどの関節パラメータの特定時の可能な関節性能についての目安を示す。
【０１０９】
ステップ７３０で、コントローラ１４０は、ステップ７２０で求めた最も低い共振周波数に対応する、関節モータトルクおよび関節位置の間隔を決める。コントローラ１４０が、前に説明した図２〜６の方法の実施形態に従って、関節パラメータを求めるのはこの間隔ごとである。
【０１１０】
次に、方法はステップ７４０〜７７０に進み、このステップ７４０〜７７０は、図２の方法の実施形態に関連して説明したステップ２００〜２３０と同一である。この理由から、これらのステップはこれ以上詳述しない。
【０１１１】
図２〜７の方法の実施形態はまた、マニピュレータが、マニピュレータ１１０の駆動系の動特性を求めるための運動パラメータを得るステップ（図示せず）を含むことができる。コントローラ１４０は、保存された標準（未校正）パラメータを含むことができる。そのようなパラメータは、代わりとして、データシートからコントローラ１４０に入力することができる。このステップは、図２〜７による方法の実施形態でのステップの前にある。最後に、各関節１１２、１１４、１１６〜１１９の関節特性が、図２〜７に示す方法の実施形態に従って求められた後、標準運動パラメータは、求めた関節特性に基づいて更新することができる。
【０１１２】
図８ａは、ロボットのマニピュレータ１１０の１つの関節のヒステリシス線図８００を示している。図は、アクチュエータの静摩擦および動摩擦が実質的にゼロの理想化された場合であるが、駆動系の粘性摩擦を考慮に入れて、アクチュエータ位置ｘに応じた関節モータトルクＦｍを示している。図は動作速度を示していないが、動作速度がかかわっていることは、位置ｘの変化中のトルクヒステリシス値から明らかであり、曲線の終端点は同じ値に合流しており、これは、動摩擦値がごくわずかか、または制御誘起振動によって相殺されたことを意味する。ここで、仮定動作は、粘性効果がないように準静的とする。準静的とは、遅い動作を意味するが、クランプされた姿勢での対応した動作距離は非常に短いので、校正時間という点での問題はない。前に説明した実用的に修正された手法が、それぞれが少なくとも１つのヒステリシス効果を含む図８ｂ〜８ｅを参照しながら、基本としてヒステリシス曲線を用いて以下にさらに完全に説明される。
【０１１３】
図８ａに示すヒステリシス曲線は、中間に負荷のかかっていないクランプ位置がある２つの位置の間の往復動作を示している。モータ座標ｘは、例えば、駆動系に対する取り付けのために、どうしても中心からのずれを伴うので、単純化するために、ｘ座標がバックラッシュの中心でゼロになり、したがって、バックラッシュがある場合に、２Ｘのバックラッシュに対して、−ＸとＸで接触が得られるようにずれを選択することができる。ヒステリシストルク−位置曲線の任意の方向、例えば、８０１−８０２−８０３−８０４の順序（またはその反対）に動作するが、両側でバックラッシュがなくなると仮定することができる。これは、モータ、すなわちアクチュエータが、バックラッシュ範囲に対して両方向に第１および第２の位置間を往復運動して、両方の位置で駆動系のトルク伝達が十分に進展するように駆動系を駆動する（２１０）ことを意味する。動摩擦の効果を含めて、アクチュエータトルクおよびアクチュエータ位置を観測することで、図８ｄのような曲線が得られる。実線は、得られたトルク−位置サイクルに関する、観測した動作である。摩擦は対称であると仮定すると、この場合に、平均値である点線は、８ｄで、バックラッシュの中心のまわりに水平方向に対称である位置ヒステリシスをその位置依存性でとらえた摩擦補償アクチュエータトルクを表す。
【０１１４】
十分に発達した駆動系トルクという概念は、物理的な関節特性自体と、求められる関節特性の意図した使用法とに左右される。図８ｄに示す２つの例は、所定の位置でのそれぞれアクチュエータトルクのヒステリシスである。これらの例が、以下に簡単に説明される。
【０１１５】
トルクヒステリシスは動摩擦を示し、この動摩擦は、通常、アクチュエータに起因するが、複数の要素を有する駆動系の、ベアリング１９４などの様々な段階での摩擦があり得る。図８ｄのようなヒステリシスサイクルに対して、ならびに特定の往復位置および特定の最大トルクに対して、動摩擦は一定であり、これは、上側曲線と下側曲線との間に２＊μの一定の距離があることを意味し、動摩擦はμで表される。前に説明したように、全動摩擦は、自由空間動作で調べることもできる。トルク履歴をとらえた状態によって決まる作用であり得る摩擦特性を求めた後、摩擦補償アクチュエータトルクを定めることができる。理想的な場合、摩擦補償アクチュエータトルクは、図８ｄの点線に一致する。
【０１１６】
ヒステリシスサイクルが、Ｘ１とＸ３との間に非線形曲線を有する図８ｄのような場合に、関節特性として使用される位置ヒステリシスは、高いトルクと低いトルクとの差である。高トルクに対して、ヒステリシスを空動きと称し、この空動きは、図８ｄで、各２つの動作方向においてそれぞれＬＭ１、ＬＭ２で示されている。ここで、ＬＭ１およびＬＭ２は同じであるが、物理的に得られる値は、図８ｅに示すように相違を見せる。摩擦補償した点線は、図８ｄの対称で理想的な場合に、さらに空動きを求めるために使用することができる。バックラッシュは、基本的に駆動系トルクがない位置ヒステリシスである。図８ｄにおいて、間隔Ｂ１にわたってゼロ（摩擦補償された）トルクがあるが、実用的には（検知および制御の観点から）、低負荷補償するために、バックラッシュとして間隔Ｂ２を使用するのがより適切である。
【０１１７】
前に説明したように、当技術分野で公知の校正およびモデル化方法は、間隔の定義における決定問題と、マニピュレータの使用中の実際のサーボ制御に比較して、反対の方向から駆動系に負荷をかけることによる同一化問題とを有する。それに対して、本発明は、通常の動作の方向で駆動系に負荷をかけ、バックラッシュ（低トルク）および空動き（高トルク）の定義は、これらの意図された使用事例に合わせることができる。したがって、本方法のユーザは、当面の用途またはシステムに適した間隔定義を自由に選択することができる。
【０１１８】
バックラッシュおよびコンプライアンスに関して同様な決定が行われ、後者は、図８ｄでＢ２の外で、かつＮＬ間隔内の曲線としてどれも非線形である。これを背景として、および図８ａ〜８ｅに示す様々な実施形態を参照して、２つの事例が、以下に、より完全に説明される。
【０１１９】
最初に、ＮＬ間隔が、Ｂ１またはＢ２の外の非線形コンプライアンスによってモデル化される。第２に、Ｘ１（選択されたＢ１またはＢ２間隔の座標）およびＸ３が互いに接近している場合、図８ｂまたは図８ｃの事例に属する点線になる。しかし、実際は、コンプライアンス８１４間に明瞭なバックラッシュ８１２はなく、代わりとして、モデルは、低負荷コンプライアンス８１３が高負荷コンプライアンス８１４をつなぐ図８ｃのものとなる。図８ｃは、駆動系が予圧をかけられたギヤボックスを含む場合の典型的な事例であり、図８ｂは、より単純な低コスト駆動系の典型である。図８ｅは、ギヤボックスが与圧されたマニピュレータの関節に対して、最大トルクが異なる、２つの得られたヒステリシスサイクルを示している。得られたヒステリシスサイクルが理想的であるか、ないかにかかわらず、本発明は、所望の特性を求めることができるようなヒステリシスサイクルを得る方法を含む。
【０１２０】
ユーザプログラミングレベルのコントローラ１４０で、マニピュレータのプログラムを組む、またはマニピュレータに命令することにより、マニピュレータ１１０のユーザとして方法を実行することは、デジタルコントローラ１４０では離散的プログラム可能量であるトルクおよび位置基準を設定するためのアクセスを制限されることを意味する。物理特性の代表値である、得られたデータにとって、量子化効果は小さくする必要がある。そのために、ロボットメーカは、通常のロボットプログラマにとって入手可能な分解能よりも遙かに高い分解能を有することができるシステムレベルのインターフェイスまたは実装を提供しなければならない。代替案として、および等価的に、マニピュレータコントローラ１４０は、通常、サーボ制御の積分動作が無効にされる（または重力トルクを相殺する値に設定される）のを可能にし、次いで、観測された量を平滑化し、設定位置からアクチュエータトルクにまで十分な影響を及ぼす適切なトルク効果を得るために、サーボ制御の主要比例動作を調整することができる。図８ｅはそのようにして得られる。
【０１２１】
図８ｂ〜８ｅを参照して、本発明の方法を実施するために実用的に修正された手法が以下に詳述される。
【０１２２】
高速な統合された手順として、関節の位置参照が、最初に、様々な摩擦および重力特性を求めるために自由空間で、次いで、駆動系の動的特性を含む他の特性を求めるためにクランプされた構成で、様々な方法により繰り返される。これらのサイクル中に、トルクおよび位置を観測し、コントローラの特性に応じて、制御パラメータを最良の精度になるように調整する必要がある。次いで、対象となる特性が、マニピュレータの動的特性およびコントローラ特性のために明白に変化する、観測した信号から特定される。関節特性の全特定は、典型的なマニピュレータ１１０のすべての関節に対して、１分から数分を要する。しかし、方法をさらに詳細に説明するために、以下は、様々な特性の特定を分離して説明する。
【０１２３】
方法によれば、関節１８０、すなわち、マニピュレータ１１０の連結された可動部分は、関節の動作が制限される、またはロックされるようにクランプされ（２００）、関節を駆動する駆動系は、アクチュエータによって駆動され（２１０）、一方で、前記アクチュエータのトルクに関係する少なくとも１つの量と、アクチュエータ位置に関係する少なくとも１つの量とを観測する。観測した量に基づいて、前記アクチュエータの出力値の少なくとも１つのセットを求め（２２０）、前記出力値セットは、少なくとも１つの関節位置に関係し、前記出力値セットに基づいて、関節の少なくとも１つの特性を求める（２３０）。
【０１２４】
一実施形態によれば、方法は、アクチュエータが第１および第２の位置間を往復運動して、両方向の駆動系トルク伝達が両方の位置で十分に進展し、それに対して、前記アクチュエータのトルクに関係する、観測した少なくとも１つの量と、アクチュエータ位置に関係する少なくとも１つの量とがヒステリシスサイクルデータを構成するように前記駆動系を駆動する（２１０）ことにより、ヒステリシスサイクルデータを得ることをさらに含み、前記クランプされた関節の初期関節位置は、駆動（２１０）の前に確立され、その後、得られたヒステリシスサイクルデータに基づいて、前記アクチュエータの少なくとも１つの出力値セットを求める（２２０）。
【０１２５】
第１および第２の地点間の往復運動が、対象となる全トルク範囲に及ぶように構成されたアクチュエータ動作を用いて、ヒステリシスサイクルデータを得ることが実用的である、つまり、全動作中に１回観測が行われ、次いで、対象となる様々な特性が、データを後で解析することで、ロボットシステム１００などの装置を必ずしも占有することなく求められるが、制限された動作は、共に技術的に等価な方法を形成する、より小規模な専用実験として行うこともできる。図３〜５で詳述されているステップは、そのような専用実験のある程度の例であるが、ヒステリシスサイクルデータは、サイクルの様々な部分を反映した部分で得ることもできる。例えば、通常動作中に、高い重力で一方向に、常に負荷をかけられる関節の場合、負荷をかけられていない側と、アクチュエータトルクの方向の側を表す片側との間のヒステリシスサイクルを得るのに、通常の動作だけで十分であり得る。したがって、完全な両方向ヒステリシスサイクルは、負荷のかけられていない、クランプされた姿勢のまわりの２つの部分で得ることもでき、次いで、求めた関節特性をコントローラ１４０で組み合わせるか、または別々に使用することができる。少なくとも１つの関節の少なくとも１つの特性のそのような任意の部分的な特定は、省略してこれ以上説明しない特別で自明な場合である。駆動系の高速駆動などの説明した量を使用し、次いで、（例えば、図６に従って得られた）粘性摩擦を差し引く、開示した原理を含む別の変形型も技術的に等価の方法を形成する。
【０１２６】
求める少なくとも１つの関節特性は、非対称ヒステリシスサイクルの場合の、１つまたは複数の空動きとすることができ、この場合に、前記方法は、十分に進展した駆動系のトルク伝達が、最大位置ヒステリシスを得るほど十分に大きくなるように、許容されたトルク範囲内で前記駆動系を駆動して（２１０）、次いで、得られた位置ヒステリシスに基づいて、前記空動きを求める（２２０）ことを含む。さらに、得られたトルク−位置データに基づいて、空動きを平均化および特定する方法として、ヒステリシスサイクルは、曲線によって近似することができ、前記方法は、近似された曲線のそれぞれの末尾に漸近的に接近する２つの曲線を合わせることをさらに含み、アクチュエータは、動摩擦が十分に生じるように回転する。次いで、少なくとも１つのトルク値に対して、空動きを曲線間の位置差として求めることができる。
【０１２７】
ヒステリシスサイクルデータから得ることができる他の特性はバックラッシュであり、バックラッシュは、前記駆動系入力トルクが、実質的にゼロの駆動系入力トルクを特徴とするクランプ位置の両側で、基本的にゼロでない値に達するような、基本的に同じ前記駆動系入力トルクに対する位置の差を求めることにより、位置ヒステリシスから求めることができる（２３０）。バックラッシュの特定（２３０）は、位置ヒステリシスを求める前に、摩擦の効果に対してアクチュエータトルクを補償することにより得られた、求めた駆動系入力トルクに基づくことができる。
【０１２８】
方法は、関節の少なくとも１つの特性が、関節のコンプライアンスである関節に適用することもでき、前記方法は、得られたバックラッシュの効果をヒステリシスサイクルデータから除去することで、コンプライアンスを求める（２３０）ことをさらに含む。等価的に、コンプライアンスを求める場合に、図８ｄのＢ１またはＢ２などの定義したバックラッシュ間隔が考慮される。コンプライアンスが駆動系の方向および前の負荷に対してステートレスである場合に、コンプライアンスは、アクチュエータトルクが、アクチュエータ位置の増減に応じて増減する割合を特定することで求めることができる（２３０）。その割合が、クランプ位置の両側で同じ場合、または両側用の単一の値を使用する必要がある場合、実質的に負荷がかけられていない駆動系に対して得られた割合の平均を取ることで、負荷のない／低負荷のコンプライアンス特性を求めることができる。これに対して、より大きい駆動系トルクの場合、方法は、十分に負荷をかけられた駆動系に対して適用することができ、この場合に、負荷をかけられたコンプライアンス特性を求める。
【０１２９】
コンプライアンスがステートレスである、またはステートレスでないという概念は、駆動系トルクが単調増加または単調減少である場合に、観測したヒステリシスサイクルからの値が、単に、実質的に一定の値だけ外れているかどうかに関係する。ステートレスの場合に、（図８ｄのＮＬ間隔にわたる）単一のコンプライアンス特性関数を負荷のかけられていないコンプライアンス特性と、十分に負荷のかけられたコンプライアンス特性とに合わせることができる。図８ｅなど、ヒステリシスサイクルが最大トルクに依存する場合、コンプライアンス特性に関係するある種の状態があり、コンプライアンス特性関数は、前に説明したように、必要とされる効果を反映した状態変数を有するべきである。あり得るコンプライアンス特性状態の別の例は、例えば、破損しつつある、または何か別の形で欠陥のある駆動系に起因する再現性の欠如に関係する。それとは反対に、ヒステリシスサイクルデータが、同じ最大負荷で数サイクルにわたって同じ場合、関節は、再現性のある動作を得るための十分な品質がある。これは図８ｅの事例であり、各重なったサイクルは、実際に５つのサイクルを含む。したがって、その関節は、補償された、または補償されない動作を再現するための十分な品質がある。
【０１３０】
方法の別の実施形態では、関節の少なくとも１つの特性はアクチュエータ動摩擦であり、その特定（２３０）には、少なくとも１つの位置値に対して、ヒステリシスサイクルデータからトルクヒステリシスを特定することが含まれ、アクチュエータ動摩擦の値は、特定したトルクヒステリシスの値の半分である。多少簡略化して、この摩擦特性は、クーロン摩擦と呼ばれることもある。静摩擦と、いわゆるスティクションの危険性の目安である静止摩擦と動摩擦との差とは、クランプされた、またはクランプされない条件下で、低ゲインで徐々に始まる動作中に得ることができるが、ヒステリシスサイクルの観測中の動作は、スティクションが現れないように調整すべきである。
【０１３１】
方法のさらなる実施形態によれば、ヒステリシスサイクルは、様々な熱的条件下で観測することができ、実際の熱的条件は、環境の、および／または関節の機械要素のどれかの、測定した、および／またはシミュレーションした温度で示され、ヒステリシスサイクルは、求めた特性が温度と共に変わるような温度依存性であり得る。そのような場合に、少なくとも１つの関節特性の温度依存性を求めるのは、直接的手法である。
【０１３２】
方法は、少なくとも２つのクランプされた関節の関節特性値を求めるために、少なくとも１つのアクチュエータを、駆動系を介して繰り返して駆動することをさらに含む。方法はまた、クランプ構成を含むことができ、個々の関節は、駆動（２１０）および観測段階を通して変わらないままである。
【０１３３】
方法はまた、複数の関節をクランプし、マニピュレータ１１０が、１つまたは複数の運動学的構成でクランプされるように関節をクランプすることを含み、各構成において、および各関節に対して、方法の実施形態を適用することができる。
【０１３４】
前記方法のさらに別の実施形態は、マニピュレータ１１０の関節の少なくとも１つの特性を求めることを含み、前記方法は、マニピュレータの作業空間内で、図１ａに示すクランプ物品１６０の位置に前記マニピュレータの可動部分を位置決めし、クランプ物品上の１つの地点を前記可動部分と接触させることを含み、方法ステップの何れかを実施することをさらに含む。
【０１３５】
方法はまた、マニピュレータの運動校正を用いて、特定の運動パラメータを求め、少なくとも１つの求めた関節特性に基づいて、マニピュレータの運動パラメータを更新することを含む。このように、マニピュレータは、得られた少なくとも１つの特性を使用して、より良好に校正することができる。更新される運動パラメータは、マニピュレータの標準パラメータまたは従来の校正方法を用いて得られる運動パラメータとすることができる。
【０１３６】
本開示はまた、マニピュレータの標準運動パラメータを更新するために、本明細書で開示した任意の方法ステップの何れかに従って求めた特定の少なくとも１つの特性の使用に関する。さらに、求めた少なくとも１つの特定の関節特性を使用して、任意の制御型関節の駆動系の動作を更新するか、求めたずれを補償するためにロボットプログラム姿勢を更新するか、または関節特性に基づいて、マニピュレータの動作制御パラメータを更新することができる。このように、コントローラ１４０と、制御ユニット１４１と、コンピュータで読み取り可能な記憶装置１４２に存在するロボット姿勢に関する命令との更新によって、関節１８０またはマニピュレータ１１０の精度が改善される。
【０１３７】
本発明の別の態様によれば、方法の使用は、マニピュレータ１１０の関節などの関節１１２、１１４、１１６〜１１９、１８０の少なくとも１つの特性を求めるためのシステムによって行われ、このシステムは、駆動系を介して前記関節を駆動するように構成された少なくとも１つのアクチュエータと、関節の動作を制限するように構成されたクランプ手段と、前記アクチュエータのトルクに関係する少なくとも１つの量、およびアクチュエータ位置に関係する少なくとも１つの量を観測する手段と、少なくとも１つの関節位置に対応する、前記アクチュエータの少なくとも１つの出力値を求めるための手段と、前記少なくとも１つの出力値に基づいて、関節の少なくとも１つの特性を求めるための手段とを含む。システムは、少なくとも１つのマニピュレータ１１０をさらに含み、前記関節１１２、１１４、１１６〜１１９、１８０はマニピュレータの一部であり、コントローラ１４０は、マニピュレータを制御するように構成され、クランプ手段１６０は、マニピュレータの端部部分の合体およびクランプを可能にするように構成されて、マニピュレータは、クランプ手段に合体およびクランプされたときに、クランプされた姿勢を取る。
【０１３８】
クランプ手段１６０は、マニピュレータ１１０の作業空間の固定位置にある単一の工具交換器とすることができる。クランプ手段はまた、複数の関節用の、または単一の関節１８０用の手動式クランプ物品とすることができ、単一の関節１８０は、手動式クランプ物品１８８によってクランプすることができる。最も適切なクランプ物品は、関節の運動学的配置と、関節特性と、方法の一部としてクランプを自動化する必要性とに応じて決まる。要求の厳しい事例は、様々な方向に回転する、マニピュレータ１１０用としての複数の関節をクランプする必要がある場合と、これらの関節が、互いにきわめて接近した複数の位置でクランプされる必要がある場合とである。図１ｂから分かるように、駆動系は、それぞれが様々な角度／位置で動作できる複数の伝動要素を含むことができ、これは、バックラッシュ１９２、１９６などの関節特性が、たとえ近い位置としても、アクチュエータの位置で変わる駆動系特性をもたらし得ることを意味する。多数のクランプ姿勢が必要とされることから、好ましくは自動的にそのような変化を求めるために、クランプ物品１６０は、自動化された精細な位置決めを可能にし、これは、本発明によるシステムの最終的な態様を形成する。
【０１３９】
本発明はさらに、コンピュータプログラム（Ｐ）に関し、コンピュータプログラム（Ｐ）は、開示した方法の実施形態の何れかを実行するためのコンピュータ命令を含む。最後に、本発明は、コンピュータプログラム製品に関し、コンピュータプログラム（Ｐ）は、担体、典型的にはコンピュータ可読媒体１４２に記録される。
【０１４０】
図面および明細書において、本発明の好ましい典型的な実施形態が開示されており、特有の用語が使用されたが、これらの特有の用語は、単に一般的に説明する意図で使用され、限定するためのものではなく、本発明の範囲は、添付の特許請求の範囲に記載されている。
【図１ａ】
2015536249.tif 000003
【図１ｂ】
2015536249.tif 000004
【図１ｃ】
2015536249.tif 000005
【図２】
2015536249.tif 000006
【図３】
2015536249.tif 000007
【図４】
2015536249.tif 000008
【図５】
2015536249.tif 000009
【図６】
2015536249.tif 000010
【図７】
2015536249.tif 000011
【図８ａ】
2015536249.tif 000012
【図８ｂ】
2015536249.tif 000013
【図８ｃ】
2015536249.tif 000014
【図８ｄ】
2015536249.tif 000015
【図８ｅ】
2015536249.tif 000016
【手続補正書】
【提出日】平成26年5月22日(2014.5.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マニピュレータ（１１０）の関節（１１２、１１４、１１６〜１１９、１８０）などの関節の少なくとも１つの特性を求める方法であって、前記関節（１１２、１１４、１１６〜１１９、１８０）は、少なくとも１つのアクチュエータによって駆動されるように構成され、前記アクチュエータは、駆動系を介して前記関節（１１２、１１４、１１６〜１１９）を駆動するように構成され、コントローラ（１４０）は、前記関節（１１２、１１４、１１６〜１１９、１８０）の動作を制御するように構成され、前記方法は、
−関節の動作が制限されるように、前記関節（１１２、１１４、１１６〜１１９）をクランプする（２００）ことと、
−前記アクチュエータのトルクを表す少なくとも１つの量と、モータ角度センサで検知された前記アクチュエータの位置を表す少なくとも１つの量とを観測しながら、前記駆動系を駆動し（２１０）、それにより、前記アクチュエータは、前記コントローラ（１４０）の制御によって、第１および第２の位置間を往復運動し、それに対して、前記アクチュエータのトルクを表す前記観測された少なくとも１つの量と、前記アクチュエータ位置を表す前記少なくとも１つの量とはヒステリシスサイクルデータを形成することと、
−前記得られたヒステリシスサイクルデータに基づいて、前記アクチュエータの少なくとも１つの出力値セットを求め（２２０）、前記出力値セットは、少なくとも１つの関節位置に関係することと、
−前記出力値セットに基づいて、前記関節（１１２、１１４、１１６〜１１９）の前記少なくとも１つの特性を求める（２３０）ことと、
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
−前記アクチュエータが前記第１の位置と前記第２の位置との間を往復運動して、両方向の駆動系トルク伝達が両方の位置で十分に進展するように前記駆動系を駆動する（２１０）、
ことによって前記ヒステリシスサイクルデータを得ることをさらに含むことを特徴とする方法。
【請求項３】
請求項１または２に記載の方法において、前記関節の前記少なくとも１つの特性は空動きであり、前記方法は、
−前記十分に進展した駆動系のトルク伝達が、最大位置ヒステリシスを得るほど十分に大きくなるように、許容されたトルク範囲内で前記駆動系を駆動する（２１０）ことと、
−前記得られた位置ヒステリシスに基づいて、前記空動きを求める（２２０）ことと、
をさらに含むことを特徴とする方法。
【請求項４】
請求項３に記載の方法において、前記ヒステリシスサイクルは曲線によって近似され、前記方法は、
−前記近似された曲線のそれぞれの末尾に漸近的に接近する２つの曲線を合わせることと、
−少なくとも１つのトルク値に対して、前記空動きを前記曲線間の位置差として求めることと、
をさらに含むことを特徴とする方法。
【請求項５】
請求項１乃至４の何れか１項に記載の方法において、前記関節（１１２、１１４、１１６〜１１９、１８０）の前記少なくとも１つの特性は、前記関節（１１２、１１４、１１６〜１１９、１８０）のバックラッシュであり、前記関節（１１２、１１４、１１６〜１１９、１８０）の前記バックラッシュを求める（２３０）ことには、
−前記駆動系入力トルクが、基本的にゼロの駆動系入力トルクを特徴とするクランプ位置の両側で、基本的にゼロでない値に達するような、実質的に同じ駆動系入力トルクに対する位置の差を求めることにより、位置ヒステリシスを求めることが含まれることを特徴とする方法。
【請求項６】
請求項５に記載の方法において、前記バックラッシュを求める（２３０）ことには、
−前記位置ヒステリシスを求める前に、摩擦の効果に対してアクチュエータトルクを補償することにより、駆動系入力トルクを求めることをさらに含むことを特徴とする方法。
【請求項７】
請求項１乃至６の何れか１項に記載の方法において、前記関節（１１２、１１４、１１６〜１１９、１８０）の少なくとも１つの特性は、前記関節（１１２、１１４、１１６〜１１９、１８０）のコンプライアンスであり、前記方法は、
−前記得られたバックラッシュの効果を前記ヒステリシスサイクルデータから除去することで、前記コンプライアンスを求める（２３０）ことをさらに含むことを特徴とする方法。
【請求項８】
請求項１または２に記載の方法において、前記関節（１１２、１１４、１１６〜１１９、１８０）の前記少なくとも１つの特性はアクチュエータ動摩擦であり、前記アクチュエータ動摩擦を求める（２３０）ことには、
−前記ヒステリシスサイクルデータから、少なくとも１つの位置値に対してトルクヒステリシスを特定することで、前記アクチュエータ動摩擦を求め、前記アクチュエータ動摩擦の値は、前記特定したトルクヒステリシスの値の半分であることが含まれることを特徴とする方法。
【請求項９】
請求項１乃至８の何れか１項に記載の方法において、前記ヒステリシスサイクルは、様々な熱的条件下で観測され、前記熱的条件は、環境の、および／または前記関節の機械要素のどれかの、測定した、および／またはシミュレーションした温度で示され、前記ヒステリシスサイクルは、前記求めた特性が温度と共に変わるような温度依存性であり、
−前記少なくとも１つの関節特性の温度依存性を求めることを特徴とする方法。
【請求項１０】
請求項１乃至９の何れか１項に記載の方法において、少なくとも２つのクランプされた関節（１１２、１１４、１１６〜１１９、１８０）の関節特性値を求めるために、前記少なくとも１つのアクチュエータを、前記駆動系を介して繰り返して駆動することを含み、前記個々の関節（１１２、１１４、１１６〜１１９、１８０）のクランプ構成は、前記駆動（２１０）および観測段階全体にわたって変わらないままであることを特徴とする方法。
【請求項１１】
請求項１乃至１０の何れか１項に記載の方法において、
少なくとも、第１の関節（１１２、１１４、１１６〜１１９、１８０）を第１のクランプ構成でクランプするステップと、
少なくとも、前記第１の関節（１１２、１１４、１１６〜１１９、１８０）を第２のクランプ構成でクランプするステップと、
各クランプ構成に対して、請求項１乃至９の何れか１項の方法ステップを実施するステップと、
を含むことを特徴とする方法。
【請求項１２】
マニピュレータ（１１０）の関節（１１２、１１４、１１６〜１１９、１８０）の少なくとも１つの特性を求める方法であって、前記マニピュレータ（１１０）の作業空間内で、クランプ物品（１６０）の位置に前記マニピュレータ（１１０）の可動部分を位置決めし、前記クランプ物品（１６０）上の１つの地点を前記可動部分と接触させることを含み、請求項１乃至１１の何れか１項の方法ステップを実施することをさらに含むことを特徴とする方法。
【請求項１３】
請求項１乃至１２の何れか１項に記載の方法において、
−前記マニピュレータ（１１０）の標準運動パラメータを得ることと、
−前記少なくとも１つの関節（１１２、１１４、１１６〜１１９、１８０）の前記少なくとも１つの求めた特性に基づいて、前記標準運動パラメータを更新することと、
をさらに含むことを特徴とする方法。
【請求項１４】
請求項１乃至１３の何れか１項に記載の方法において、マニピュレータの前記関節などの関節の駆動系を駆動するように構成されたコントローラを、前記関節の前記求めた少なくとも１つの特性に基づいて更新することをさらに含むことを特徴とする方法。
【請求項１５】
マニピュレータ（１１０）の関節（１１２、１１４、１１６〜１１９、１８０）などの関節（１１２、１１４、１１６〜１１９、１８０）の少なくとも１つの特性を求めるシステム（１００）であって、
駆動系を介して前記関節（１１２、１１４、１１６〜１１９、１８０）を駆動するように構成された少なくとも１つのアクチュエータを含むシステムにおいて、
−前記関節（１１２、１１４、１１６〜１１９、１８０）の関節動作を制限するように構成されたクランプ手段（１６０）と、
−前記関節（１１２、１１４、１１６〜１１９、１８０）の動作を制御し、前記駆動系を駆動して、前記アクチュエータを第１および第２の位置間で往復運動させるように構成されたコントローラ（１４０）と、
−前記駆動系を駆動しながら、前記アクチュエータのトルクを表す少なくとも１つの量と、モータ角度センサで検知された前記アクチュエータの位置を表す少なくとも１つの量とを観測する手段であって、それに対して、前記アクチュエータのトルクを表す前記観測された少なくとも１つの量と、前記アクチュエータ位置を表す前記少なくとも１つの量とはヒステリシスサイクルデータを形成する、手段と、
−前記得られたヒステリシスサイクルデータに基づいて、前記アクチュエータの少なくとも１つの出力値を求める手段であって、前記出力値は、少なくとも１つの関節位置に対応する、手段と、
−前記少なくとも１つの出力値に基づいて、前記関節（１１２、１１４、１１６〜１１９、１８０）の前記少なくとも１つの特性を求める手段と、
を含むことを特徴とするシステム（１００）。
【請求項１６】
請求項１５に記載のシステム（１００）において、マニピュレータ（１１０）をさらに含み、前記関節（１１２、１１４、１１６〜１１９、１８０）は前記マニピュレータ（１１０）の一部であり、コントローラ（１４０）は、前記マニピュレータ（１１０）を制御するように構成され、クランプ手段（１６０）は、前記マニピュレータ（１１０）の端部部分の合体およびクランプを可能にするように構成されて、前記マニピュレータ（１１０）は、前記クランプ手段（１６０）に合体およびクランプされたときに、クランプされた姿勢を取ることを特徴とするシステム（１００）。
【請求項１７】
請求項１５または１６に記載のシステム（１００）において、請求項１乃至１４の何れか１項の方法に従って、前記マニピュレータ（１１０）の前記関節の少なくとも１つの特性を求めるために、前記マニピュレータ（１１０）をクランプする、空間内の少なくとも１つの地点を提供するように構成されたクランプ物品（１６０）をさらに含むことを特徴とするシステム（１００）。
【請求項１８】
請求項１５乃至１７の何れか１項に記載のシステム（１００）にあるコンピュータプログラム（Ｐ）であって、請求項１乃至１４に記載の前記方法ステップの何れかを実施するためのコンピュータ命令を含むことを特徴とするコンピュータプログラム（Ｐ）。
【請求項１９】
コンピュータ可読媒体に保存されたコンピュータ命令を含むコンピュータプログラム製品であって、前記プログラム命令は、請求項１乃至１４の何れか１項に記載の方法のステップを実行するように構成されることを特徴とするコンピュータプログラム製品。
【国際調査報告】
2015536249.tif 000017
2015536249.tif 000018