説明

機械運動学的特異点に対する接近および補正

複数のジョイントおよびリンクを備える機械リンク機構を含む多軸機械の操作方法。機械リンク機構は、リンク機構ジョイントによる特異点への接近を検出するために監視される。接近される特異点の度数が求められる。特異点に接近しているジョイントが識別される。仮想ジョイントを用いてマニピュレータ行列中の識別されたジョイントを置き換え、マニピュレータ行列を修正し、修正されたマニピュレータ行列を提供する。修正されたマニピュレータ行列を用いてリンク機構のリンクの位置変更が決定される。この方法は、所与の機械に対する特異点の先見的知識なしに、広範な機械構成のためのソフトウェアベースの補正を実現することができる。

【発明の詳細な説明】
【技術分野】
【0001】
背景
この開示は、多軸機械に関し、より具体的には、機械操作中に運動学的特異点に対処するためのシステムおよび方法に関する。この項における記述は、この開示に関連する背景情報を提供するのみであって、先行技術を構成するものではない。
【背景技術】
【0002】
多くの工作機械設備は、数値制御(NC)下で操作され、航空機部品などの高精度品目を生産する。このような設備において、多軸機械は、ソフトウェア駆動され、1つ以上の工作機械をワークピースに対して移動させることがある。この機械の多軸運動学的リンク機構は、工具を複数の規定の座標軸に関して移動させることができる。具体的には、複数の並進および/または回転ジョイントは、単独でおよび/または協調的に動作可能であることがあり、1つ以上のリンクを移動させ工具を所望の場所に位置決めする。しかしながら時として、多軸リンク機構は、1以上の自由度が失われる位置(すなわち「特異点」)に移動されることがある。特異点において、1つ以上のジョイントは、ソフトウェアが指示するように工具を移動させることができないことがある。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
この開示は、1つの実現例においては、多軸機械の操作方法に関する。この機械の運動学的リンク機構が監視される。リンク機構は、複数のジョイントおよびリンクを含む。リンク機構は、リンク機構の1つ以上のジョイントによる特異点への接近を検出するために監視される。この監視は、マニピュレータ行列を用いて行なわれる。接近される特異点の度数nが求められる。特異点に接近している1つ以上のジョイントが識別される。この方法は、n個の仮想ジョイントを得るステップと、識別される1つ以上のジョイントを、マニピュレータ行列中の仮想ジョイントと置き換え、マニピュレータ行列を修正するステップと、修正されたマニピュレータ行列を用いてリンク機構のリンクの位置変更を決定するステップとを含む。
【0004】
さらなる適用可能な分野は、本明細書中に記載される説明から明らかとなるであろう。説明および特定の例は、例示目的のみを意図するものであり、この開示の範囲を限定することを意図しないものであることが理解されるべきである。
【0005】
本明細書中に説明される図面は例示目的のみのためのものであり、この開示の範囲を限定することは全く意図しない。
【図面の簡単な説明】
【0006】
【図1】この開示の1つの実現例に従う数値制御される(NC)処理システムの図である。
【図2】この開示の1つの実現例に従い制御される機械の多軸運動学的リンク機構の一部分の正面斜視図である。
【図3】この開示の1つの実現例に従うマニピュレータ関数行列の特異値分解の図である。
【図4A】この開示の1つの実現例に従う多軸機械の操作方法のフロー図である。
【図4B】この開示の1つの実現例に従う多軸機械の操作方法のフロー図である。
【発明を実施するための形態】
【0007】
好ましい実施例の詳細な説明
以下の説明は、本質的に単に例示的なものであり、この開示、説明、または使用を限定することを意図しない。図面全体を通して、対応する参照番号は、同様のまたは対応する部品または特徴を示すことが理解されるべきである。
【0008】
「運動学的特異点補正システムおよび方法(Kinematic Singular Point Compensation Systems and Methods)」と題される、米国特許公開番号第20060271241号において、多軸運動学的リンク機構の先端部を特異点の近くに位置決めするためのさまざまなシステムおよび方法が記載される。この開示は、1つの実現例において、(1)機械のリンク機構が特異点に接近しているかどうか、およびこのリンク機構は特異点にどれ程近いか、(2)このリンク機構のどのジョイントが特異点に接近しているのか、および(3)どの自由度がこの特異点において失われるであろうか、をリアルタイムで、自動的に求める方法に関する。
【0009】
この開示の1つの実現例に従う数値制御(NC)処理システムを、図1に全般的に参照番号20で示す。システム20は、1つ以上の多軸機械24を含み、その1つを図1に示す。機械24は、たとえば、ワークピース(図示せず)に対する多軸機械加工作業を行なうよう構成されてもよい。加えてまたはこれに代えて、システム20は、たとえば数値制御される組立てロボットといった、部品配置を行なうことができる他の種類の多軸機械を含んでもよい。
【0010】
システム20は、1つ以上のコンピュータ28を含み、その1つを図1に示す。コンピュータ28は、適切にプログラムされたコンピュータプロセッサ32とメモリ36とを含む。コンピュータ28は、この開示の1つの実現例に従いプログラムされ、多軸機械24の動作を監視し、制御してもよい。コンピュータ28を用いて、以下にさらに説明するように、多軸機械24の位置決めを調節可能に補正するためのソフトウェアを実行してもよい。ソフトウェア補正を用いて、たとえば、機械24の動作を、理想のまたは「完全な」機械を基準として規定される許容範囲内にするために、機械24の一定の「完成状態」(“as-built”)条件に合わせて調整してもよい。
【0011】
キーボード、ポインティングデバイス、およびモニタを含むコンピュータ端末などのユーザインターフェイス40が設けられ、これによりユーザは、システム20と情報のやり取りをしてもよい。この開示は、米国特許公開番号第20060271241号に開示された材料処理設備構成を含むがこれに限定されない多くのおよびさまざまな種類の設備に関して、実現化可能であることが注目されるべきである。多くの異なる種類および構成の多軸機械、コンピュータ、プロセッサ、入出力装置、通信システムなどが、この開示のさまざまな実現例に従って、NC処理システムに含まれる得ることが当業者には理解されるはずである。
【0012】
機械24の多軸運動学的リンク機構の一部分を、図2に全般的に参照番号100で示す。リンク機構100は、6個のジョイント112a−112fにより相互に接続される6個の可動リンク108a−108fを含む。ジョイント112a−112eは回転し(revolute)(すなわち回動する)、ジョイント112fは直進する(prismatic)(すなわち摺動する)。リンク機構100はコンピュータ28により操作可能であり、先端部116を規定の通路に沿って作業工程中に位置決めし、制御する。先端部116は、先端部116の上に据付けられたたとえば切削工具または他の種類の工具(図示せず)を有してもよい。リンク機構100は、単なる例示であることが理解されるべきである。機械24は、リンク機構100よりも多少複雑なリンク機構を有してもよく、より多い、より少ないおよび/または異なる種類のリンクおよび/またはジョイントを含んでもよく、および/
またはより多い、より少ないおよび/または異なる自由度および/または自由度の種類を提供してもよい。
【0013】
操作中、リンク機構100は、コンピュータ28によって、たとえば1以上の電動機である駆動装置(図示せず)を介して駆動される。リンク108が駆動されるにつれて、他のリンク108の位置決めも影響を受けるであろう。先端部116の位置および姿勢は、X=f(Q)というように、関数集合f()でリンク位置ベクトルQに関係付けられるベクトルXで表わすことができる。J(Q)=(∂xi/∂qj)で定義される関数集合f()の関数行列式は、ジョイント112の差分動作を、先端部116の位置および姿勢に対する差分動作それぞれの影響に写像する。前述の関係を線形化により近似すると、JΔQ=ΔXとなり、これにより先端部116のデカルト位置Xの変化は、リンク位置Qの変化に関連付けられる。リンク機構100が特異点に接近するにつれて、関数行列J(Q)は、次第により悪条件となる。特異点に達すると、関数行列J(Q)は、階数落ちとなる。
【0014】
この開示に従うリンク機構100の操作方法の1つの実現例において、特異値分解(SVD)が用いられ、(1)リンク機構100は特異点に接近しているかどうか、およびこのリンク機構は特異点にどれ程近いのか、(2)このリンク機構のどのジョイント112が特異点に接近しているのか、および(3)どの自由度がこの特異点において失われるであろうか、が求められる。概して、特異値分解(SVD)を用いて、UT=Aというように任意の行列Aを3つの行列U、S、およびVの集合に分解することができ、式中UおよびVは正規直交であり、Sは対角であり成分が降順に対角に配置される。行列Aが与えられたとき、既知のアルゴリズムを用いて、本質的に効率的で安定した方法で、U、S、およびVを計算してもよい。Sの対角成分は、Aの特異値と呼んでもよい。Uの列は、左特異ベクトルと呼んでもよい。Vの列(すなわちVTの行)は、右特異ベクトルと呼んでもよい。
【0015】
この開示の1つの実現例に従うマニピュレータ関数行列Jの特異値分解の図を、図3に全般的に参照番号200で示す。図2および図3を参照して、マニピュレータ行列Jによって、ジョイント112の差分動作は、先端部116の位置決めに対する差分動作それぞれの影響に関連付けられる。Jの各列204は、対応するジョイント112に関連付けられる。行列Jの行列U、S、およびVへの特異値分解の結果、リンク機構100の直交自由度を、最も影響を受けやすい216から最も影響を受けにくい224の順に表わす行列U中の左特異ベクトル208がもたらされる。行列V(行列VTの転換行列)において、Uによって表わされる方向にリンク機構100を移動させるジョイント動作の組合せを表わす右特異ベクトル228が得られる。行列Sにおいて、リンク機構100の「可操作度」の程度を表わすJの特異値236が得られる。したがって、Vの最後の列242(すなわち行列VTの最後の行)において優位であると表わされるジョイント112は、リンク機構100の最も特異なジョイント112であり、Uの最後の列224に表わされる方向は、リンク機構100において潜在的に失われる自由度である。さらに、マニピュレータ行列Jの条件数は、最も大きな特異値236を、最も小さな特異値236により除算することにより計算されてもよい。この条件数は、完全条件の行列に対する1から、特異行列に対する無限大までである場合がある。いくつかの実現例においては、数値の安定のために、条件数の逆数が用いられ、これは完全な条件の行列に対する1から、特異行列に対する0までとなる。
【0016】
この開示の1つの実現例に従う機械24の操作方法のフロー図を、図4Aおよび図4Bに全般的に参照番号300で示す。操作308において、先端部116を所定の経路に沿って移動させるための運動学的ジョイント位置が計算される。操作312において、計算されたジョイント112の位置に対応するマニピュレータ関数行列式Jが計算され、次にSVDを用いて分解される。操作316において、条件数の逆数が求められる。操作32
0において、条件数の逆数は、たとえば0.001という予め定義されたしきい値と比較される。条件数の逆数がしきい値よりも大きい場合は、リンク機構100は、如何なる特異点にも接近していないと見なされ、制御は操作340へ進む。
【0017】
条件数の逆数が閾値よりも小さいまたは等しい場合は、リンク機構100の1つ以上のジョイント112が、特異点に接近していると見なされる。したがって、操作324において、特異点の度数nは、次の方法で求められる。条件数の逆数をしきい値より大きくする最も小さな特異値236が求められる。たとえば、特異値236が{0.7、0.4、0.2、0.1、0.0006、0.0001}の場合、条件数の逆数をしきい値0.001より大きくする最も小さな特異値は、0.2(0.2/0.5=0.285、しかし0.0006/0.7=0.00086)であり、特異点の度数nは2である(つまり、2つの特異方向が示される)。
【0018】
操作328において、どのジョイント112が特異および/またはほぼ特異であるかが、最後のn個の右特異ベクトル228の最大成分を特定することにより求められる。操作332において、n個の「仮想ジョイント」が、最後のn個の左特異ベクトル208を取り、これらを最大特異値236で乗算することにより得られる。操作336において、操作328において求められたジョイント112と関連付けられるJの列204は、操作332において得られた「仮想ジョイント」と置き換えられる。
【0019】
操作340から360において、リンク機構100の補正が、米国特許公開番号第20060271241号に記載されるように、たとえばシステムJdq=dxの収斂するまでの反復解法により計算される。具体的にはたとえば、操作340において、名目逆運動学計算を用いて、最初のリンク位置ベクトルQiが得られる。操作344において完成状態順運動学計算およびリンク位置ベクトルQiを用いて、実際の先端位置ベクトルXが得られる。操作348において、ΔXベクトルが計算され、これは所望の先端位置ベクトルと実際の先端位置ベクトルの差を示す。操作352において、操作312において得られた関数行列を用いて(関数行列は操作336において修正されているかもしれないが)、ΔQベクトルが計算される。操作356において、操作352において計算されたΔQベクトルおよびリンク位置ベクトルQiを用いて、新しいリンク位置ベクトルQi+1が得られる。操作360において、収斂は、ベクトルQi+1とQiの絶対差を、所定の収斂基準εと比較することにより調べられる。まだ収斂に達していない場合は、ベクトルQi+1を用いてベクトルQiが更新され、制御は、操作344へ戻る。操作360において収斂に達すると、操作364において条件数の逆数はしきい値よりも小さいかどうか、つまりリンク機構は特異点に接近しているかどうかが判定される。もしそうであれば、操作368において、「仮想ジョイント」を表わしている値はベクトルQi+1から除かれ、これは次に操作372において非特異ジョイント112を補正するために用いられる。SVDは各点に対して一度のみ行なわれ反復解法工程の一部ではないので、前述の方法およびシステムは、線形二次レギュレータ(LQR)または減衰最小二乗法よりも計算コストが低い。
【0020】
前述の方法およびシステムは、数多くの利点を有する。たとえば、左特異ベクトルは、機械の位置または複雑さにかかわらずリンク機構を正確に特異方向に動かすという点で理想の「仮想ジョイント」を提供する。別の利点は、この「仮想ジョイント」を最大特異値に調整することにより、得られる新しいマニピュレータ関数行列式の条件が最適化され、これにより安定して高速で収束する解が、たとえば前述の方法300の操作340から360において確実なものとされる。さらに、前述の方法の実現例は、特異点の位置の先見的知識を機械に対して要求しないので、同じアルゴリズムを、さまざまな機械に対して変更なしに用いることができる。
【0021】
この開示の実現例は、自身の特異点近くで作業する自動化装置の位置決めの精度を向上
させる手段を提供する。精度を向上させることができると、新しい資本設備の取得費用および既存設備の維持費用を少なくすることができる。さらに、この開示のさまざまな実現例は、いくつかの異なる機械形状に対して有効な単一の方法を提供することができ、これにより新たな機械形状に対処するためのソフトウェア開発およびメンテナンスの必要性が低減される。
【0022】
より精密な工作物を生産することができる調整された工作機械を提供することができる。したがって、より高度に精密な部品を、より少ない廃棄物を伴って作ることができる。航空機の製造に関連して実現化すると、より高度に精密な部品の製造により、航空機の重量の減少および性能の向上をもたらすことができる。この開示の実現例により、設定時間の減少と工作機械のより生産的な使用がもたらされ、これにより機械加工費が減少される。
【0023】
前述の方法およびシステムのさまざまな実現例により、ソフトウェアを用いて複雑な特異点構成を有する機械(たとえば回転ジョイントを有する6軸多関節ロボット)を補正することが可能となる。補正は、所与の機械に対するすべての特異点の位置または性質の厳密な先見的知識はなくても、多様な機械構成に対して「進行中に」(“on the fly”)提供することができる。同一の中核的な補正ソフトウェアを、機械形状に基づいてこのソフトウェアを書き換える必要なしに、広範な機械構成に対して使用することができる。

【特許請求の範囲】
【請求項1】
多軸機械(24)の操作方法(300)であって、前記方法は、
前記機械の運動学的リンク機構(100)を監視するステップを備え、前記リンク機構は、複数のジョイント(112)とリンク(108)とを含み、前記リンク機構は、前記リンク機構の1つ以上のジョイントによる特異点への接近を検出するために監視され、前記監視は、マニピュレータ行列(200)を用いて行なわれ、
接近される特異点の度数nを求めるステップと、
特異点に接近している1つ以上のジョイントを識別するステップと、
n個の仮想ジョイントを得るステップと、
前記1つ以上の識別されるジョイントを、前記マニピュレータ行列中の前記仮想ジョイントと置き換え、前記マニピュレータ行列を修正し、修正されたマニピュレータ行列を提供するステップと、
前記修正されたマニピュレータ行列を用いて前記リンク機構のリンクの位置変更を決定するステップとをさらに備える、方法。
【請求項2】
前記監視するステップは、前記マニピュレータ行列の特異値分解を用いて行なわれる、請求項1に記載の方法。
【請求項3】
接近される特異点の度数を求める前記ステップは、前記1つ以上のジョイントの特異点への1つ以上の接近方向を求めるステップを含む、請求項1に記載の方法。
【請求項4】
前記マニピュレータ行列は、関数行列式を含む、請求項1に記載の方法。
【請求項5】
前記n個の仮想ジョイントを表わす1つ以上の値を、前記位置変更から取除き、前記位置変更を修正するステップと、
前記修正された位置変更を用いて前記リンク機構の1つ以上の非特異ジョイントを補正するステップとをさらに含む、請求項1に記載の方法。
【請求項6】
前記n個の仮想ジョイントを得る前記ステップは、前記マニピュレータ行列の分解のn個の左特異ベクトルを、前記分解の最大特異値で乗算するステップを含む、請求項1に記載の方法。
【請求項7】
特異点に接近している前記1つ以上のジョイントを識別する前記ステップは、前記分解のn個の右特異ベクトル各々の最大成分を検出するステップを含む、請求項6に記載の方法。
【請求項8】
数値制御(NC)される処理システムであって、
複数のリンク(108)と前記リンクを接続する複数のジョイント(112)とを有する運動学的リンク機構(100)を含む多軸機械(24)と、
プロセッサ(32)とを備え、前記プロセッサは、
前記リンク機構の1つ以上のジョイントによる特異点への接近を検出するために前記リンク機構を監視し、前記監視は、マニピュレータ行列(200)を用いて行なわれ、
前記接近される特異点の度数nを求め、
前記特異点に接近する1つ以上のジョイントを識別し、
n個の仮想ジョイントを得て、
前記1つ以上の識別されるジョイントを前記マニピュレータ行列中の前記仮想ジョイントと置き換え、前記マニピュレータ行列を修正し、
前記修正されたマニピュレータ行列を用いて前記リンク機構の位置変更を決定するよう構成される、システム。
【請求項9】
前記プロセッサは、前記マニピュレータ行列を分解し、前記監視を行なうようさらに構成される、請求項8に記載のシステム。
【請求項10】
前記プロセッサは、前記マニピュレータ行列の特異値分解の最大値特異値を用いて前記n個の仮想ジョイントを調整するようさらに構成される、請求項8に記載のシステム。
【請求項11】
前記プロセッサは、前記n個の仮想ジョイントを表わす1つ以上の値を、前記位置変更から取除き、前記位置変更を修正し、
前記修正された位置変更を用いて前記リンク機構の1つ以上の非特異ジョイントを補正するようさらに構成される、請求項8に記載のシステム。
【請求項12】
前記プロセッサは、前記マニピュレータ行列を分解し、前記マニピュレータ行列の条件数を求めるようさらに構成される、請求項8に記載のシステム。
【請求項13】
前記機械は、前記リンク機構を介して制御される先端(116)を含み、前記プロセッサは、前記リンク機構のリンクの補正値をJdq=dxに従って求めるようさらに構成され、式中Jは前記修正されたマニピュレータ行列を表わし、dqはリンク位置の変更を表わし、dxは前記先端の位置変更を表わす、請求項8に記載のシステム。
【請求項14】
前記プロセッサは、直交自由度の1つ以上の表現を用いて前記n個の仮想ジョイントを得るようさらに構成される、請求項8に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate


【公表番号】特表2010−502454(P2010−502454A)
【公表日】平成22年1月28日(2010.1.28)
【国際特許分類】
【出願番号】特願2009−526668(P2009−526668)
【出願日】平成19年8月27日(2007.8.27)
【国際出願番号】PCT/US2007/018820
【国際公開番号】WO2008/027334
【国際公開日】平成20年3月6日(2008.3.6)
【出願人】(500520743)ザ・ボーイング・カンパニー (773)
【氏名又は名称原語表記】The Boeing Company
【Fターム(参考)】