軌道生成方法および軌道生成装置
【課題】所要エネルギーの低減を図ることができる軌道生成方法および軌道生成装置を提供する。
【解決手段】点列間をクロソイド曲線により補間して軌道生成をなす軌道生成方法および軌道生成装置Aであって、軌道生成装置Aはクロソイド曲線生成手段10を有する演算処理装置2を備え、前記クロソイド曲線が三連クロソイド曲線とされ、それにより通過点での接線方向の連続性および曲率の連続性が担保されてなるものである。なお、端点が直線と接続される場合、その接線方向は直線方向に一致させられる。
【解決手段】点列間をクロソイド曲線により補間して軌道生成をなす軌道生成方法および軌道生成装置Aであって、軌道生成装置Aはクロソイド曲線生成手段10を有する演算処理装置2を備え、前記クロソイド曲線が三連クロソイド曲線とされ、それにより通過点での接線方向の連続性および曲率の連続性が担保されてなるものである。なお、端点が直線と接続される場合、その接線方向は直線方向に一致させられる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は軌道生成方法および軌道生成装置に関する。さらに詳しくは、所要エネルギーが低減されてなる軌道生成方法および軌道生成装置に関する。
【背景技術】
【0002】
従来より、ロボットにおいては各種の補間法により軌道生成がなされてロボットの移動がなされている。
【0003】
この補間法には、任意の点列を滑らかに移動するよう軌道生成をなすスプライン補間法が知られている。
【0004】
しかしながら、スプライン補間法は、移動速度や加速度を一定とする制御には不向きであるという欠点を有している。
【0005】
かかるスプライン補間法の欠点を解消すべく特許文献1には、接線方向のピッチ角およびヨー角のそれぞれが曲線長軌跡またはワークの輪郭形状を表現し、この3次元曲線によって工具の運動を制御する数値制御方法および装置が提案されている。
【0006】
しかしながら、特許文献1におる制御方法は、曲率および接線方向を同時に指定なし得ないという欠点を有しているので、所要エネルギーの低減を図るのが困難であるという問題を有している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−276155号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明はかかる従来技術の課題に鑑みなされたものであって、所要エネルギーの低減を図ることができる軌道生成方法および軌道生成装置を提供することを目的としている。
【課題を解決するための手段】
【0009】
本発明の軌道生成方法は、点列間をクロソイド曲線により補間して軌道生成をなす軌道生成方法であって、前記クロソイド曲線が三連クロソイド曲線とされ、それにより通過点での接線方向の連続性および曲率の連続性が担保されてなることを特徴とする。
【0010】
本発明の軌道生成方法においては、通過点での接線方向が弦ベクトル転向角の二分法により算出されるのが好ましい。
【0011】
また、本発明の軌道生成方法においては、ローカル座標系におけるクロソイド曲線を生成し、ついで生成されたクロソイド曲線をグローバル座標系に変換し、座標変換して得られたクロソイド曲線により補間をなすのが好ましい。
【0012】
さらに、本発明の軌道生成方法においては、端点での接線方向を接続させる曲線と一致させるようにしてクロソイド曲線を生成するのが好ましい。
【0013】
一方、本発明の軌道生成装置は、点列間をクロソイド曲線により補間して軌道生成をなす軌道生成装置であって、入力手段と、演算処理装置と、出力手段とを備え、前記演算処理装置が、クロソイド曲線生成手段と、座標変換手段と、補間指令値生成手段とを有してなることを特徴とする。
【0014】
本発明の軌道生成装置の第1形態においては、クロソイド曲線生成手段が、接線方向算出部と、単一の2次元クロソイド曲線生成部と、三連2次元クロソイド曲線生成部とを有するものとされる。
【0015】
また、本発明の軌道生成装置の第2形態においては、クロソイド曲線生成手段が、接線方向算出部と、単一の3次元クロソイド曲線生成部と、三連3次元クロソイド曲線生成部とを有するものとされる。
【0016】
しかして、本発明の軌道生成方法により生成された軌道はロボットなどの移動体の移動に適用される。
【0017】
また、本発明の軌道生成装置は、ロボットなどの移動体に備えられる。
【発明の効果】
【0018】
本発明は前記の如く構成されているので、所要エネルギーが低減される軌道の生成がなし得るという優れた効果が得られる。
【図面の簡単な説明】
【0019】
【図1】クロソイド曲線の一例を示すグラフ図である。
【図2】ローカル座標系における二点の座標および相対角を示す説明図である。
【図3】2次元クロソイド曲線による補間曲線の例を示す例示図である。
【図4】弦ベクトル転向角の二分法の説明図である。
【図5】単一の2次元クロソイド曲線による補間例の例示図である。
【図6】三連2次元クロソイド曲線による補間例の例示図である。
【図7】三連2次元クロソイド曲線による直線との補間例の例示図である。
【図8】3次元クロソイド曲線の接線ベクトルの説明図である。
【図9】3次元クロソイド曲線の曲率の変化の例を示す例示図である。
【図10】3次元クロソイド曲線による補間曲線例を示す例示図である。
【図11】三連3次元クロソイド曲線による補間曲線例を示す例示図である。
【図12】三連3次元クロソイド曲線による直線との補間例を示す例示図である。
【図13】本発明の一実施形態に係る軌道生成装置のブロック図である。
【図14】本発明の他の実施形態に係る軌道生成装置のブロック図である。
【発明を実施するための形態】
【0020】
以下、添付図面を参照しながら本発明を実施形態に基づいて説明するが、本発明はかかる実施形態のみに限定されるものではない。
【0021】
実施形態1
本発明は、クロソイド曲線を利用して軌道の生成をなすものである。
【0022】
本発明の理解を容易にするため、まず2次元クロソイド曲線について説明する。
【0023】
一般的に、任意の連続曲線セグメントは以下の式(1)により表わされる。
【0024】
【数1】
【0025】
ここで、ベクトルP0は曲線の始点(ベクトル)を示し、ベクトルuは曲線上の任意の単位接線ベクトルを示し、sは始点からの曲線長を示し、hは曲線の全長を示し、S(0≦S≦1)は無次元の曲線長を示す。
【0026】
いま、ベクトルuをSの関数として定義すれば、それに対応する曲線が求められる。
【0027】
複素平面において、2次元クロソイド曲線の単位接線ベクトル(ベクトルu)は以下の式(2)により与えられる。
【0028】
【数2】
【0029】
ここで、φは曲線上の任意点の接線方向を示し、φ0は始点における接線方向を示し、φvは接線方向の1次増分係数を示し、φuは接線方向の2次増分係数を示す。
【0030】
式(1)と式(2)による積分は一般に初等関数で表わせないことが知られており、数値積分などの数値法で演算する必要がある。
【0031】
図1に、数値積分により得られた2次元クロソイド曲線の一例を示す。
【0032】
φをsで微分すると2次元クロソイド曲線(単一の2次元クロソイド曲線)の曲率が得られる。すなわち、下記式(3)が得られる。
【0033】
【数3】
【0034】
式(3)により、得られた曲率が符号を持つことが理解される。つまり、曲線が時計方向に曲がるならば負、反時計方向に曲がるならば正となる。また、式(3)により、得られた曲率は曲線長のリニア関数であることが理解される。
【0035】
次に、図2を参照しながら平面上の任意の2点P0と点P1との間の補間について説明する。
【0036】
点P0の接線角Ψ0とし、点P1での接線角Ψ1とする。
【0037】
演算処理を簡素化するため、点P0を原点とし、X軸を点P0から点P1に向かう方向に取ったローカル座標系を採用する。
【0038】
このローカル座標系においては、曲線は原点(0,0)から出発し、点(r,0)に終着するので、曲線は以下の式(4)により得られる。
【0039】
【数4】
【0040】
式(4)と式(2)の二番目の式から各パラメータφ0、φv、φuおよびhが求められる。
【0041】
このようにして得られた各パラメータをグローバル座標系の値に変換するには、φ0にθを加算すればよい。それ以外のパラメータは、ローカル座標系の値がそのまま使用できる。
【0042】
図3に、θを30度とし、φ1を−30度として、φ0を−180度〜180度において10度ずつ変化させた場合における軌跡の生成例を示す。
【0043】
ここで、前記補間法を「曲線端点の接線方向指定法」と定義することにする。
【0044】
この曲線端点の接線方向指定法は、本願発明の基礎となる。
【0045】
ちなみに、ロボットの移動経路を生成する補間法においては、加速度が不連続になるとロボットの動作が不安定となるため、加速度の連続性が要求される。一方、曲率が連続していない軌道上における移動は加速度が不連続となる。そのため、ロボットなどの移動経路のための補間法においては、曲率の連続性が要求される。
【0046】
しかるに、前記曲線端点の接線方向指定法においては、通過点での接線角を指定することで、2次元クロソイド曲線の全パラメータφ0、φv、φuおよびhを決定するため、通過点での曲率を指定することができない。通過点での接線角および曲率の両者を同時に指定するには、クロソイド曲線のパラメータを増やす必要がある。その場合、リニアな曲率を維持したところから、Sの3次項,Sの4次項などの高次項が含まれないようにしてパラメータを設ける必要がある。
【0047】
この高次項が含まれないようにしてパラメータを決定する手法を以下に説明する。この手法をここでは三連2次元クロソイド曲線による補間法と定義することにする。
【0048】
三連2次元クロソイド曲線の単位接線ベクトルuを式(5),式(6)および式(7)により定義する。
【0049】
【数5】
【0050】
【数6】
【0051】
【数7】
【0052】
ここで、無次元の定数S1およびS2(0<S1<S2<1)は三連2次元クロソイド曲線のつなぎ目の位置を示す。
なお、無次元の定数S1およびS2は、任意に指定できるが、対称性を保ちたい場合には、S1=γ(0<γ<0.5)と指定し、S2=1−γと指定すればよい。本発明者等は、γ=0.25を推奨値、つまりS1=0.25およびS2=0.75を推奨値としている。
【0053】
また、a10,a11,a12,a20,a21,a22,a30,a31,a32およびhは三連2次元クロソイド曲線のパラメータである。これらのパラメータは全部で10個あるが、式(7)により、そのうち4個は他のパラメータにより決定されるため、独立のパラメータは6個である。
【0054】
また、式(7)の第1式および第2式は、S1およびS2での接線方向の連続条件を示し、式(7)の第3式および第4式は、S1およびS2での曲率の連続条件を示す。
【0055】
式(5)〜式(7)および式(1)より、三連2次元クロソイド曲線の曲率は下記式(8)により与えられる。
【0056】
【数8】
【0057】
この式(8)により得られた曲率をSに対して描くと3つの連続した線分になる。
【0058】
また、三連2次元クロソイド曲線の特性は、単一の2次元クロソイド曲線の特性に似ていて直線および円の表現も可能であるが、それに加えてゼロの曲率の位置を3つまで持つことができる。なお、単一の2次元クロソイド曲線はゼロの曲率の位置を1つしか持てない。
【0059】
次に、この三連2次元クロソイド曲線による点列の補間について説明する。
【0060】
補間したい自由点列(点数:N+1)を下記(9)とする。
【0061】
P0,P1,P2,・・・,PN (Pはベクトルとする) (9)
【0062】
ここで、これらの各点での接線方向を、図4に示すように、弦ベクトル転向角の二分法により決定する。
【0063】
図4において、ベクトルABは、P0CとP1P2との間の角を二等分し、∠AP0P1=∠AP1P0とする。P0での接線方向をP0Aとし、P1での接線方向をP1Bとする。ついで、点P2での接線方向P2Eを図4(b)のように定める。同様にして他の点P3,P4,・・・,PNでの接線方向も定める。
【0064】
自由点列P0,P1,P2,・・・,PNに対して前述したように、弦ベクトル転向角の二分法により接線方向を指定し、単一の2次元クロソイド曲線により補間すると、得られた補間曲線は各通過点での接線方向は連続になるが、一般的には、各通過点での曲率は連続とはならない。
【0065】
図5、このようにして補間された通過点Pk前後の軌道を点線で示す。
【0066】
そこで、本発明では、三連2次元クロソイド曲線による点列の補間を行う。
【0067】
例として、点Pkと点Pk+1との区間を三連2次元クロソイド曲線により補間し、ついで点Pkおよび点Pk+1の接線方向を変えずに曲率を連続させる場合について説明する(図5参照)。なお、図5中、実線は目標曲線を示す。
【0068】
軌道の生成においては各点における曲率を同一とする場合、低い方の曲率に他方の曲率を合わせるのが望ましいので、図5に示す例においては、点Pkでの曲率を点Pkの左側の曲率に合わせ、それをκ0とする。同様にして、点Pk+1での曲率を右側に合わせ、それをκ1とする。
【0069】
次に、点Pkと点Pk+1との区間において、始点接線角(φ[k])、曲率(κ0)、終点接線角(φ[k+1])、曲率(κ1)の条件を満足する三連2次元クロソイド曲線を求める。この処理においては、演算処理の簡素化の観点から、点Pkを原点にし、X軸を点Pkから点Pk+1に向かうローカル座標系を採用する。
【0070】
このローカル座標系において、曲線は原点(0,0)から出発し、点(r,0)に終着する。そのため、三連2次元クロソイド曲線の算出は下記式(10)を演算処理することに帰結する。
【0071】
【数10】
【0072】
ここで、rは点Pkと点Pk+1との距離を示し、θ[k]はk番目のローカル座標系のX軸がグローバル座標系のX軸に対してなす角を示す。
【0073】
式(10)および式(6)から、曲線の全パラメータa10,a11,a12,a20,a21,a22,a30,a31,a32およびhが得られる。
【0074】
前記演算処理で得られた三連2次元クロソイド曲線のパラメータをグローバル座標系へ変換するには、a10,a20,a30のそれぞれにθ[k]を加算すればよい。それ以外のパラメータは、ローカル座標系の値がそのまま使用できる。
【0075】
図6に、指定された点列に対する三連2次元クロソイド曲線による補間例を単一の2次元クロソイド曲線による補間例と合わせて示す。
【0076】
図示例より、単一の2次元クロソイド曲線による補間例では、通過点での曲率が連続していないが、三連2次元クロソイド曲線による補間例では通過点での曲率が連続しているのが理解される。
【0077】
実施形態2
実施形態1では、弦ベクトル転向角の二分法で接線方向を指定するようにされているが、実施形態2では、端点での接線方向を接続したい直線の方向に一致させるものとされる。
【0078】
端点での接線方向を接続したい直線の方向に一致させた上で、κ0およびκ1をゼロとして三連2次元クロソイド曲線による補間をなせば、直線との接続もなし得る。
【0079】
図7に、このようにして補間された補間例を示す。
【0080】
このように、実施形態2によれば、障害物を避けるような軌道設定が可能となる。
【0081】
実施形態3
実施形態3は、実施形態1を改変してなるものであって、クロソイド曲線による補間法を3次元まで拡張してなるものとされる。
【0082】
3次元クロソイド曲線による補間法については特許文献1に提案されているが、前述したように、特許文献1の提案に係る補間法では、各通過点において接線方向と曲率とを同時に指定することができない。
【0083】
そのため、実施形態3では三連3次元クロソイド曲線による補間をなすようにしてなるものである。
【0084】
なお、3次元クロソイド曲線は、研究段階のものであるため、種々の定義が存在するが、実施形態3では下記式(11),(12)による定義、いわゆる牧野定義を採用している。
【0085】
【数11】
【0086】
【数12】
【0087】
ここで、αはピッチ角を示し、βはヨー角を示す。
式(11)から、接線ベクトルuは、単位ベクトルi(i=[1,0,0]T)をまずj軸(Y軸)回りに角αだけ回転させ、ついでk軸(Z軸)回りに角βだけ回転させることにより得られることが理解される(図8参照)。
【0088】
また、式(11)から、3次元クロソイド曲線の曲率は下記式(13)により与えられることが理解される。
【0089】
【数13】
【0090】
式(13)から理解されるように、dα/dSおよびdβ/dSは曲線長のリニア関数であるが、一般的には、3次元クロソイド曲線の曲率は曲線長のリニア関数ではない。また、式(13)の曲率は符号を持たない。曲線の曲がる方向は、dα/dSおよびdβ/dSの符号により決定される。
【0091】
図9に、a0=b0=0,a1=b1=a2=b2=1,h=1とした場合の3次元クロソイド曲線の曲率と曲線長との関係を示す。
図9より、曲率は必ずしも曲線長のリニア関数とはならないが、曲率の変化は緩やかであるのが理解される。
【0092】
2次元の座標系を任意に回転させると、曲線上の任意点の接線方向角はその回転角を加算するだけで求められる。これに対し、3次元の座標系を任意に回転させる場合、曲線上の任意点の接線方向のピッチ角およびヨー角は、2次元の場合のように簡単に求めることはできない。
【0093】
例えば、単位接線ベクトルを座標系Aのピッチ角およびヨー角で表わして式(12)を満足するような曲線が存在すると仮定する。しかし、この同じ曲線を座標系Bのピッチ角およびヨー角で表わすと、一般的には、式(12)のようなSの二次関数では表せない。すなわち、ピッチ角およびヨー角を用いて補間する場合、得られる曲線は補間する座標系の選び方に依存する。
【0094】
点列の各区間を同一のグローバル座標系のピッチ角およびヨー角により補間すると、ピッチ角およびヨー角の変動が大きくなるため、補間曲線には曲率の高い個所が生ずる場合がある。また、グローバル座標系の選び方によっても曲線は変化する。
【0095】
かかる不具合を避けるため、つまりピッチ角およびヨー角の変動を小さくし、曲線の形が各点の相対位置のみに依存するようし、しかも曲率の小さな曲線となし得るようにするため、実施形態3では弦ベクトルをX軸とするローカル座標系が採用されている。
【0096】
以下、かかるローカル座標系による3次元点列の補間について説明する。
【0097】
より具体的には、点列を以下のように設定し、隣接する二点間Pk,Pk+1間の補間について説明する。
【0098】
P0,P1,P2,・・・,PN (Pはベクトルとする)
ローカル座標系は以下のように設定する。
【0099】
原点:点Pk
X軸:弦ベクトルPkPk+1の方向とする。
Y軸:ベクトルPkPk+1とベクトルPk+1Pk+2との外積ベクトルの方向とする。
Z軸:X軸およびY軸がともに右手系となるように設定する。
【0100】
なお、ベクトルPkPk+1とベクトルPk+1Pk+2が同一直線上にある場合、ベクトルPkPk+1とベクトルPk+1Pk+2の外積がゼロとなるので、Y軸方向を決めるには、ベクトルPkPk+1とベクトルPk+1Pk+2の外積の代わりにベクトルPkPk+1とベクトルPk+1Piの外積ベクトル方向を用いる。ここで、iは以下の条件を満たす最も若い数である。
(1)i=k+3,k+4,・・・,N
(2)ベクトルPk+1PiとベクトルPkPk+1は同一直線上にない
【0101】
また、(1)のすべてのiに対して、ベクトルPk+1PiとベクトルPkPk+1が同一直線上にある場合に、その前段(前区間)のローカル座標系のY軸方向を現段(現区間)のローカル座標系のY軸方向とする。同様に、k=N−1(最終区間)の場合は、前段(前区間k=N−2)のローカル座標系のY軸方向を現段(現区間)のローカル座標系のY軸方向とする。極端な例として、点列の全ての点が同一直線上にある場合に、補間結果はベクトルP0PN(線分P0PN)となり、ローカル座標系もそれ以後の演算も不要である。
【0102】
補間曲線が通過する各点における接線方向は、前述した弦ベクトル転向角の二分法により決定する。
【0103】
しかして、このようにして設定されたローカル座標系においては、補間曲線は原点(0,0,0)から出発し、点(r,0,0)に終着するので、補間曲線は下記式(14)を演算処理することにより算出される。
【0104】
【数14】
【0105】
ここで、rは点Pkと点Pk+1との距離を示す。
【0106】
なお、点Pkと点Pk+1とにおける接線姿勢角、すなわちαk,βk,αk+1,βk+1はローカル座標系の値を採用するものとする。
【0107】
しかして、式(14)および式(12)から7つのパラメータ、すなわちa0,a1,a2,b0,b1,b2およびhが得られる。ついで、これらのパラメータを用いてローカル座標系での補間曲線が得られる。しかる後、このローカル座標系での補間曲線をグローバル座標系に座標変換すれば、3次元クロソイド曲線による補間曲線が得られる。
【0108】
図10に、3次元クロソイド曲線による補間曲線の例を示す。
【0109】
図10のうち、同(a)における点列は立方体の頂点を示し、同(b)における上方および下方のそれぞれの点列は正六角形の頂点を示す。
【0110】
図10より、得られた補間曲線は、各通過点においてその接線方向が連続であり、各区間の曲がり方も緩やかであるのが理解される。また、立方体のサイズが変化してもパラメータhだけを調整すればよく、他のパラメータは調整する必要がないのが理解される。
【0111】
実施形態5
実施形態5は実施形態2を3次元クロソイド曲線に拡張してなるものであって、三連3次元クロソイド曲線により補間をなすものである。
【0112】
実施形態4では、つまり単一の3次元クロソイド曲線による補間では、各通過点での接触角は連続となるが、一般的には、各通過点での曲率は連続とはならない。そのため、実施形態5では、三連3次元クロソイド曲線により補間をなし、各通過点での曲率も常に連続させるものである。
【0113】
実施形態5では、式(12)が下記式(15),(16)に置き換えられる。
【0114】
【数15】
【0115】
【数16】
【0116】
実施形態5においては、パラメータは曲線長hを含めて19個あるが、つなぎ目の接触角と曲率の連続条件により、そのうちの8個は他のパラメータにより決定されるので、独立変数は11個となり、実施形態4の場合より4個増加しているだけである。
【0117】
実施形態5における各通過点における曲率の決定は、曲線の曲がる方向を考慮してなさなれる。実施形態2では、曲率の大きさと曲線の曲がる方向は、符号を有する曲率により決定することができたが、3次元クロソイド曲線の場合、曲がり方向が無限であるため、一つのスカラー変数のみで曲がり方向を決定することができない。そのため、実施形態5においては、各通過点の曲率はピッチ角(α)およびヨー角(β)の微分(dα/ds;dβ/ds)により間接的に決定するものとされている。つまり、下記式(17)により決定するものとされている。
【0118】
【数17】
【0119】
式(17)から、曲率の絶対値のみならず、曲線の曲がる方向も決定されるのが理解される。
【0120】
式(17)を式(13)に代入して下記式(18)が得られる。
【0121】
【数18】
【0122】
式(18)から、καとκβとが連続であれば、曲率κも連続となるのが理解される。このことから、各通過点においてκαとκβとが連続するような曲線を求めればよいのが理解される。
【0123】
しかして、各通過点のκαとκβを得るには、まず単一の3次元クロソイド曲線で補間をしてその通過点両側のκαとκβを得、ついで絶対値の低い側のκαとκβをその通過点の目標値とする。その場合、καとκβとは、補間する区間のローカル座標系に変換された値が用いられる。
【0124】
次に、点Pkから点Pk+1までの区間について説明する。なお、座標系は前記と同様とする。
【0125】
点Pkの(κα,κβ)の目標値を(κ0α,κ0β)とし、点Pk+1の(κα,κβ)の目標値を(κ1α,κ1β)とする。このローカル座標系において、補間曲線は原点(0,0,0)から出発し、点(r,0,0)に終着するので、補間曲線は下記式(19)を演算処理することにより得られる。
【0126】
【数19】
【0127】
ここで、rは点Pkから点Pk+1までの距離を示す。
【0128】
なお、点Pkと点Pk+1とおける接線姿勢角αk,βk,αk+1,βk+1は、ローカル座標系での値を用いる。また、式(19)の4番目以降の各式はピッチ角αおよびヨー角βの連続条件および曲率の連続条件を示す。
【0129】
式(19)、式(15)および式(16)から、三連3次元クロソイド曲線のパラメータa10,a11,a12,a20,a21,a22,a30,a31,a32,b10,b11,b12,b20,b21,b22,b30,b31,b32,およびhを得る。
【0130】
しかして、これらのパラメータを用いてローカル座標系での補間曲線を得、ついで得られた補間曲線の座標系をローカル座標系からグローバル座標系に変換することにより補間曲線が得られる。
【0131】
式(19)より明らかなように、三連3次元クロソイド曲線における独立変数は、単一の3次元クロソイド曲線における独立変数に比して4個増加しているので、各区間において接線方向だけでなく、(κ0α,κ0β)および(κ1α,κ1β)も指定できる。換言すれば、各通過点において曲率が連続な補間が可能となる。
【0132】
図11に、三連3次元クロソイド曲線による曲率が連続とされた補間例を、単一の3次元クロソイド曲線による補間例と併せて示す。なお、点列と図10におけるものと同一とされている。また、S1は0.25とされ、S2は0.75とされている。
【0133】
ここで、(κ0α,κ0β)=(κ1α,κ1β)=(0,0)として、三連3次元クロソイド曲線により補間すれば、異なる平面にある直線との3次元接続も容易になし得る。その場合、端点での接線方向は、接続する直線の方向に一致させればよい。
【0134】
図12に、三連3次元クロソイド曲線による直線との補間例を示す。
【0135】
実施形態6
図13に、本発明の実施形態6をブロック図で示す。
【0136】
図13に示すように、実施形態6は実施形態1を軌道生成装置Aに改変してなるものとされる。
【0137】
軌道生成装置Aは、図13に示すように、入力手段1と、演算処理装置2と、出力手段3とを主要構成要素として備えてなるものとされる。
【0138】
入力手段1は、例えばキーボードとされるが、これに限定されるものではなく、コンピュータの入力装置として利用されている各種の入力装置を好適に用いることができる。
【0139】
演算処理装置2は、クロソイド曲線生成手段10と、座標変換手段20と、補間指令値生成手段30とを有するものとされる。なお、かかる手段10,20,30を有する演算処理装置2は、具体的には、コンピュータに後述する機能を実施するためのプログラムを格納することにより実現される。
【0140】
クロソイド曲線生成手段10は、接線方向算出部11と、単一の2次元クロソイド曲線生成部12と、三連2次元クロソイド曲線生成手段部13とを含むものとされ、入力手段1から入力された点列や接続する直線の方向に基づいて、式(1)〜式(8)および式(10)を演算処理してローカル座標系における三連クロソイド曲線を生成するものとされる。
【0141】
接線方向算出部11は、弦ベクトル転向角の二分法により接線方向を算出するものとされる。なお、接線方向算出部11を省略して入力手段1から接線方向が入力されるようにされてもよい。
【0142】
座標変換手段20は、クロソイド曲線生成手段10により生成されたローカル座標系における2次元クロソイド曲線を、グローバル座標系における2次元クロソイド曲線に変換するものとされる。
【0143】
補間指令値生成手段30は、グローバル座標系に座標変換された三連2次元クロソイド曲線に基づいてロボットなどの移動体の補間指令値を生成するものとされる。なお、補間指令値生成手段30としては、従来よりロボットに用いられているものを好適に用いることができる。
【0144】
出力手段3は、例えば通信装置とされるが、これに限定されるものではなく、各種の出力手段を好適に用いることができ、例えばCDライタとすることもできる。
【0145】
このように、実施形態6によれば、各通過点における接線方向および曲率を連続させることができるので、所要エネルギーが低減されてなる軌道を生成することができる。
【0146】
実施形態7
図14に、本発明の実施形態7をブロック図で示す。
【0147】
図14に示すように、実施形態7の軌道生成装置A1は実施形態6の軌道生成装置Aを改変してなるものとされる。すなわち、実施形態7はクロソイド曲線による補間を3次元まで拡張してなるものとされる。
【0148】
以下、実施形態7の実施形態6と異なる点を主として説明する。
【0149】
クロソイド曲線生成手段40は、接線方向算出部41と、単一の3次元クロソイド曲線生成部42と、三連3次元クロソイド曲線生成手段部43とを含むものとされ、入力手段1から入力された点列や接続する直線の方向に基づいて、式(11)〜式(19)を演算処理してローカル座標系における三連クロソイド曲線を生成するものとされる。
【0150】
接線方向算出部41は、弦ベクトル転向角の二分法により接線方向を算出するものとされる。なお、接線方向算出部41を省略して入力手段1から接線方向が入力されるようにされてもよい。
【0151】
座標変換手段20は、クロソイド曲線生成手段40により生成されたローカル座標系における3次元クロソイド曲線を、グローバル座標系における3次元クロソイド曲線に変換するものとされる。
【0152】
補間指令値生成手段30は、グローバル座標系に座標変換された三連3次元クロソイド曲線に基づいてロボットなどの移動体の補間指令値を生成するものとされる。なお、補間指令値生成手段30としては、従来よりロボットに用いられているものを好適に用いることができる。
【0153】
このように、実施形態7によれば、各通過点における接線方向および曲率を連続させることができるので、所要エネルギーが低減されてなる3次元軌道を生成することができる。
【産業上の利用可能性】
【0154】
本発明は、ロボットなどの移動体の軌道生成に適用できる。
【符号の説明】
【0155】
A 軌道生成装置
1 入力手段
2 演算処理装置
3 出力手段
10 クロソイド曲線生成手段
11 接線方向算出部
12 単一の2次元クロソイド曲線生成部
13 三連2次元クロソイド曲線生成部
20 座標変換手段
30 補間指令値生成手段
40 クロソイド曲線生成手段
41 接線方向算出部
42 単一の3次元クロソイド曲線生成部
43 三連3次元クロソイド曲線生成部
【技術分野】
【0001】
本発明は軌道生成方法および軌道生成装置に関する。さらに詳しくは、所要エネルギーが低減されてなる軌道生成方法および軌道生成装置に関する。
【背景技術】
【0002】
従来より、ロボットにおいては各種の補間法により軌道生成がなされてロボットの移動がなされている。
【0003】
この補間法には、任意の点列を滑らかに移動するよう軌道生成をなすスプライン補間法が知られている。
【0004】
しかしながら、スプライン補間法は、移動速度や加速度を一定とする制御には不向きであるという欠点を有している。
【0005】
かかるスプライン補間法の欠点を解消すべく特許文献1には、接線方向のピッチ角およびヨー角のそれぞれが曲線長軌跡またはワークの輪郭形状を表現し、この3次元曲線によって工具の運動を制御する数値制御方法および装置が提案されている。
【0006】
しかしながら、特許文献1におる制御方法は、曲率および接線方向を同時に指定なし得ないという欠点を有しているので、所要エネルギーの低減を図るのが困難であるという問題を有している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−276155号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明はかかる従来技術の課題に鑑みなされたものであって、所要エネルギーの低減を図ることができる軌道生成方法および軌道生成装置を提供することを目的としている。
【課題を解決するための手段】
【0009】
本発明の軌道生成方法は、点列間をクロソイド曲線により補間して軌道生成をなす軌道生成方法であって、前記クロソイド曲線が三連クロソイド曲線とされ、それにより通過点での接線方向の連続性および曲率の連続性が担保されてなることを特徴とする。
【0010】
本発明の軌道生成方法においては、通過点での接線方向が弦ベクトル転向角の二分法により算出されるのが好ましい。
【0011】
また、本発明の軌道生成方法においては、ローカル座標系におけるクロソイド曲線を生成し、ついで生成されたクロソイド曲線をグローバル座標系に変換し、座標変換して得られたクロソイド曲線により補間をなすのが好ましい。
【0012】
さらに、本発明の軌道生成方法においては、端点での接線方向を接続させる曲線と一致させるようにしてクロソイド曲線を生成するのが好ましい。
【0013】
一方、本発明の軌道生成装置は、点列間をクロソイド曲線により補間して軌道生成をなす軌道生成装置であって、入力手段と、演算処理装置と、出力手段とを備え、前記演算処理装置が、クロソイド曲線生成手段と、座標変換手段と、補間指令値生成手段とを有してなることを特徴とする。
【0014】
本発明の軌道生成装置の第1形態においては、クロソイド曲線生成手段が、接線方向算出部と、単一の2次元クロソイド曲線生成部と、三連2次元クロソイド曲線生成部とを有するものとされる。
【0015】
また、本発明の軌道生成装置の第2形態においては、クロソイド曲線生成手段が、接線方向算出部と、単一の3次元クロソイド曲線生成部と、三連3次元クロソイド曲線生成部とを有するものとされる。
【0016】
しかして、本発明の軌道生成方法により生成された軌道はロボットなどの移動体の移動に適用される。
【0017】
また、本発明の軌道生成装置は、ロボットなどの移動体に備えられる。
【発明の効果】
【0018】
本発明は前記の如く構成されているので、所要エネルギーが低減される軌道の生成がなし得るという優れた効果が得られる。
【図面の簡単な説明】
【0019】
【図1】クロソイド曲線の一例を示すグラフ図である。
【図2】ローカル座標系における二点の座標および相対角を示す説明図である。
【図3】2次元クロソイド曲線による補間曲線の例を示す例示図である。
【図4】弦ベクトル転向角の二分法の説明図である。
【図5】単一の2次元クロソイド曲線による補間例の例示図である。
【図6】三連2次元クロソイド曲線による補間例の例示図である。
【図7】三連2次元クロソイド曲線による直線との補間例の例示図である。
【図8】3次元クロソイド曲線の接線ベクトルの説明図である。
【図9】3次元クロソイド曲線の曲率の変化の例を示す例示図である。
【図10】3次元クロソイド曲線による補間曲線例を示す例示図である。
【図11】三連3次元クロソイド曲線による補間曲線例を示す例示図である。
【図12】三連3次元クロソイド曲線による直線との補間例を示す例示図である。
【図13】本発明の一実施形態に係る軌道生成装置のブロック図である。
【図14】本発明の他の実施形態に係る軌道生成装置のブロック図である。
【発明を実施するための形態】
【0020】
以下、添付図面を参照しながら本発明を実施形態に基づいて説明するが、本発明はかかる実施形態のみに限定されるものではない。
【0021】
実施形態1
本発明は、クロソイド曲線を利用して軌道の生成をなすものである。
【0022】
本発明の理解を容易にするため、まず2次元クロソイド曲線について説明する。
【0023】
一般的に、任意の連続曲線セグメントは以下の式(1)により表わされる。
【0024】
【数1】
【0025】
ここで、ベクトルP0は曲線の始点(ベクトル)を示し、ベクトルuは曲線上の任意の単位接線ベクトルを示し、sは始点からの曲線長を示し、hは曲線の全長を示し、S(0≦S≦1)は無次元の曲線長を示す。
【0026】
いま、ベクトルuをSの関数として定義すれば、それに対応する曲線が求められる。
【0027】
複素平面において、2次元クロソイド曲線の単位接線ベクトル(ベクトルu)は以下の式(2)により与えられる。
【0028】
【数2】
【0029】
ここで、φは曲線上の任意点の接線方向を示し、φ0は始点における接線方向を示し、φvは接線方向の1次増分係数を示し、φuは接線方向の2次増分係数を示す。
【0030】
式(1)と式(2)による積分は一般に初等関数で表わせないことが知られており、数値積分などの数値法で演算する必要がある。
【0031】
図1に、数値積分により得られた2次元クロソイド曲線の一例を示す。
【0032】
φをsで微分すると2次元クロソイド曲線(単一の2次元クロソイド曲線)の曲率が得られる。すなわち、下記式(3)が得られる。
【0033】
【数3】
【0034】
式(3)により、得られた曲率が符号を持つことが理解される。つまり、曲線が時計方向に曲がるならば負、反時計方向に曲がるならば正となる。また、式(3)により、得られた曲率は曲線長のリニア関数であることが理解される。
【0035】
次に、図2を参照しながら平面上の任意の2点P0と点P1との間の補間について説明する。
【0036】
点P0の接線角Ψ0とし、点P1での接線角Ψ1とする。
【0037】
演算処理を簡素化するため、点P0を原点とし、X軸を点P0から点P1に向かう方向に取ったローカル座標系を採用する。
【0038】
このローカル座標系においては、曲線は原点(0,0)から出発し、点(r,0)に終着するので、曲線は以下の式(4)により得られる。
【0039】
【数4】
【0040】
式(4)と式(2)の二番目の式から各パラメータφ0、φv、φuおよびhが求められる。
【0041】
このようにして得られた各パラメータをグローバル座標系の値に変換するには、φ0にθを加算すればよい。それ以外のパラメータは、ローカル座標系の値がそのまま使用できる。
【0042】
図3に、θを30度とし、φ1を−30度として、φ0を−180度〜180度において10度ずつ変化させた場合における軌跡の生成例を示す。
【0043】
ここで、前記補間法を「曲線端点の接線方向指定法」と定義することにする。
【0044】
この曲線端点の接線方向指定法は、本願発明の基礎となる。
【0045】
ちなみに、ロボットの移動経路を生成する補間法においては、加速度が不連続になるとロボットの動作が不安定となるため、加速度の連続性が要求される。一方、曲率が連続していない軌道上における移動は加速度が不連続となる。そのため、ロボットなどの移動経路のための補間法においては、曲率の連続性が要求される。
【0046】
しかるに、前記曲線端点の接線方向指定法においては、通過点での接線角を指定することで、2次元クロソイド曲線の全パラメータφ0、φv、φuおよびhを決定するため、通過点での曲率を指定することができない。通過点での接線角および曲率の両者を同時に指定するには、クロソイド曲線のパラメータを増やす必要がある。その場合、リニアな曲率を維持したところから、Sの3次項,Sの4次項などの高次項が含まれないようにしてパラメータを設ける必要がある。
【0047】
この高次項が含まれないようにしてパラメータを決定する手法を以下に説明する。この手法をここでは三連2次元クロソイド曲線による補間法と定義することにする。
【0048】
三連2次元クロソイド曲線の単位接線ベクトルuを式(5),式(6)および式(7)により定義する。
【0049】
【数5】
【0050】
【数6】
【0051】
【数7】
【0052】
ここで、無次元の定数S1およびS2(0<S1<S2<1)は三連2次元クロソイド曲線のつなぎ目の位置を示す。
なお、無次元の定数S1およびS2は、任意に指定できるが、対称性を保ちたい場合には、S1=γ(0<γ<0.5)と指定し、S2=1−γと指定すればよい。本発明者等は、γ=0.25を推奨値、つまりS1=0.25およびS2=0.75を推奨値としている。
【0053】
また、a10,a11,a12,a20,a21,a22,a30,a31,a32およびhは三連2次元クロソイド曲線のパラメータである。これらのパラメータは全部で10個あるが、式(7)により、そのうち4個は他のパラメータにより決定されるため、独立のパラメータは6個である。
【0054】
また、式(7)の第1式および第2式は、S1およびS2での接線方向の連続条件を示し、式(7)の第3式および第4式は、S1およびS2での曲率の連続条件を示す。
【0055】
式(5)〜式(7)および式(1)より、三連2次元クロソイド曲線の曲率は下記式(8)により与えられる。
【0056】
【数8】
【0057】
この式(8)により得られた曲率をSに対して描くと3つの連続した線分になる。
【0058】
また、三連2次元クロソイド曲線の特性は、単一の2次元クロソイド曲線の特性に似ていて直線および円の表現も可能であるが、それに加えてゼロの曲率の位置を3つまで持つことができる。なお、単一の2次元クロソイド曲線はゼロの曲率の位置を1つしか持てない。
【0059】
次に、この三連2次元クロソイド曲線による点列の補間について説明する。
【0060】
補間したい自由点列(点数:N+1)を下記(9)とする。
【0061】
P0,P1,P2,・・・,PN (Pはベクトルとする) (9)
【0062】
ここで、これらの各点での接線方向を、図4に示すように、弦ベクトル転向角の二分法により決定する。
【0063】
図4において、ベクトルABは、P0CとP1P2との間の角を二等分し、∠AP0P1=∠AP1P0とする。P0での接線方向をP0Aとし、P1での接線方向をP1Bとする。ついで、点P2での接線方向P2Eを図4(b)のように定める。同様にして他の点P3,P4,・・・,PNでの接線方向も定める。
【0064】
自由点列P0,P1,P2,・・・,PNに対して前述したように、弦ベクトル転向角の二分法により接線方向を指定し、単一の2次元クロソイド曲線により補間すると、得られた補間曲線は各通過点での接線方向は連続になるが、一般的には、各通過点での曲率は連続とはならない。
【0065】
図5、このようにして補間された通過点Pk前後の軌道を点線で示す。
【0066】
そこで、本発明では、三連2次元クロソイド曲線による点列の補間を行う。
【0067】
例として、点Pkと点Pk+1との区間を三連2次元クロソイド曲線により補間し、ついで点Pkおよび点Pk+1の接線方向を変えずに曲率を連続させる場合について説明する(図5参照)。なお、図5中、実線は目標曲線を示す。
【0068】
軌道の生成においては各点における曲率を同一とする場合、低い方の曲率に他方の曲率を合わせるのが望ましいので、図5に示す例においては、点Pkでの曲率を点Pkの左側の曲率に合わせ、それをκ0とする。同様にして、点Pk+1での曲率を右側に合わせ、それをκ1とする。
【0069】
次に、点Pkと点Pk+1との区間において、始点接線角(φ[k])、曲率(κ0)、終点接線角(φ[k+1])、曲率(κ1)の条件を満足する三連2次元クロソイド曲線を求める。この処理においては、演算処理の簡素化の観点から、点Pkを原点にし、X軸を点Pkから点Pk+1に向かうローカル座標系を採用する。
【0070】
このローカル座標系において、曲線は原点(0,0)から出発し、点(r,0)に終着する。そのため、三連2次元クロソイド曲線の算出は下記式(10)を演算処理することに帰結する。
【0071】
【数10】
【0072】
ここで、rは点Pkと点Pk+1との距離を示し、θ[k]はk番目のローカル座標系のX軸がグローバル座標系のX軸に対してなす角を示す。
【0073】
式(10)および式(6)から、曲線の全パラメータa10,a11,a12,a20,a21,a22,a30,a31,a32およびhが得られる。
【0074】
前記演算処理で得られた三連2次元クロソイド曲線のパラメータをグローバル座標系へ変換するには、a10,a20,a30のそれぞれにθ[k]を加算すればよい。それ以外のパラメータは、ローカル座標系の値がそのまま使用できる。
【0075】
図6に、指定された点列に対する三連2次元クロソイド曲線による補間例を単一の2次元クロソイド曲線による補間例と合わせて示す。
【0076】
図示例より、単一の2次元クロソイド曲線による補間例では、通過点での曲率が連続していないが、三連2次元クロソイド曲線による補間例では通過点での曲率が連続しているのが理解される。
【0077】
実施形態2
実施形態1では、弦ベクトル転向角の二分法で接線方向を指定するようにされているが、実施形態2では、端点での接線方向を接続したい直線の方向に一致させるものとされる。
【0078】
端点での接線方向を接続したい直線の方向に一致させた上で、κ0およびκ1をゼロとして三連2次元クロソイド曲線による補間をなせば、直線との接続もなし得る。
【0079】
図7に、このようにして補間された補間例を示す。
【0080】
このように、実施形態2によれば、障害物を避けるような軌道設定が可能となる。
【0081】
実施形態3
実施形態3は、実施形態1を改変してなるものであって、クロソイド曲線による補間法を3次元まで拡張してなるものとされる。
【0082】
3次元クロソイド曲線による補間法については特許文献1に提案されているが、前述したように、特許文献1の提案に係る補間法では、各通過点において接線方向と曲率とを同時に指定することができない。
【0083】
そのため、実施形態3では三連3次元クロソイド曲線による補間をなすようにしてなるものである。
【0084】
なお、3次元クロソイド曲線は、研究段階のものであるため、種々の定義が存在するが、実施形態3では下記式(11),(12)による定義、いわゆる牧野定義を採用している。
【0085】
【数11】
【0086】
【数12】
【0087】
ここで、αはピッチ角を示し、βはヨー角を示す。
式(11)から、接線ベクトルuは、単位ベクトルi(i=[1,0,0]T)をまずj軸(Y軸)回りに角αだけ回転させ、ついでk軸(Z軸)回りに角βだけ回転させることにより得られることが理解される(図8参照)。
【0088】
また、式(11)から、3次元クロソイド曲線の曲率は下記式(13)により与えられることが理解される。
【0089】
【数13】
【0090】
式(13)から理解されるように、dα/dSおよびdβ/dSは曲線長のリニア関数であるが、一般的には、3次元クロソイド曲線の曲率は曲線長のリニア関数ではない。また、式(13)の曲率は符号を持たない。曲線の曲がる方向は、dα/dSおよびdβ/dSの符号により決定される。
【0091】
図9に、a0=b0=0,a1=b1=a2=b2=1,h=1とした場合の3次元クロソイド曲線の曲率と曲線長との関係を示す。
図9より、曲率は必ずしも曲線長のリニア関数とはならないが、曲率の変化は緩やかであるのが理解される。
【0092】
2次元の座標系を任意に回転させると、曲線上の任意点の接線方向角はその回転角を加算するだけで求められる。これに対し、3次元の座標系を任意に回転させる場合、曲線上の任意点の接線方向のピッチ角およびヨー角は、2次元の場合のように簡単に求めることはできない。
【0093】
例えば、単位接線ベクトルを座標系Aのピッチ角およびヨー角で表わして式(12)を満足するような曲線が存在すると仮定する。しかし、この同じ曲線を座標系Bのピッチ角およびヨー角で表わすと、一般的には、式(12)のようなSの二次関数では表せない。すなわち、ピッチ角およびヨー角を用いて補間する場合、得られる曲線は補間する座標系の選び方に依存する。
【0094】
点列の各区間を同一のグローバル座標系のピッチ角およびヨー角により補間すると、ピッチ角およびヨー角の変動が大きくなるため、補間曲線には曲率の高い個所が生ずる場合がある。また、グローバル座標系の選び方によっても曲線は変化する。
【0095】
かかる不具合を避けるため、つまりピッチ角およびヨー角の変動を小さくし、曲線の形が各点の相対位置のみに依存するようし、しかも曲率の小さな曲線となし得るようにするため、実施形態3では弦ベクトルをX軸とするローカル座標系が採用されている。
【0096】
以下、かかるローカル座標系による3次元点列の補間について説明する。
【0097】
より具体的には、点列を以下のように設定し、隣接する二点間Pk,Pk+1間の補間について説明する。
【0098】
P0,P1,P2,・・・,PN (Pはベクトルとする)
ローカル座標系は以下のように設定する。
【0099】
原点:点Pk
X軸:弦ベクトルPkPk+1の方向とする。
Y軸:ベクトルPkPk+1とベクトルPk+1Pk+2との外積ベクトルの方向とする。
Z軸:X軸およびY軸がともに右手系となるように設定する。
【0100】
なお、ベクトルPkPk+1とベクトルPk+1Pk+2が同一直線上にある場合、ベクトルPkPk+1とベクトルPk+1Pk+2の外積がゼロとなるので、Y軸方向を決めるには、ベクトルPkPk+1とベクトルPk+1Pk+2の外積の代わりにベクトルPkPk+1とベクトルPk+1Piの外積ベクトル方向を用いる。ここで、iは以下の条件を満たす最も若い数である。
(1)i=k+3,k+4,・・・,N
(2)ベクトルPk+1PiとベクトルPkPk+1は同一直線上にない
【0101】
また、(1)のすべてのiに対して、ベクトルPk+1PiとベクトルPkPk+1が同一直線上にある場合に、その前段(前区間)のローカル座標系のY軸方向を現段(現区間)のローカル座標系のY軸方向とする。同様に、k=N−1(最終区間)の場合は、前段(前区間k=N−2)のローカル座標系のY軸方向を現段(現区間)のローカル座標系のY軸方向とする。極端な例として、点列の全ての点が同一直線上にある場合に、補間結果はベクトルP0PN(線分P0PN)となり、ローカル座標系もそれ以後の演算も不要である。
【0102】
補間曲線が通過する各点における接線方向は、前述した弦ベクトル転向角の二分法により決定する。
【0103】
しかして、このようにして設定されたローカル座標系においては、補間曲線は原点(0,0,0)から出発し、点(r,0,0)に終着するので、補間曲線は下記式(14)を演算処理することにより算出される。
【0104】
【数14】
【0105】
ここで、rは点Pkと点Pk+1との距離を示す。
【0106】
なお、点Pkと点Pk+1とにおける接線姿勢角、すなわちαk,βk,αk+1,βk+1はローカル座標系の値を採用するものとする。
【0107】
しかして、式(14)および式(12)から7つのパラメータ、すなわちa0,a1,a2,b0,b1,b2およびhが得られる。ついで、これらのパラメータを用いてローカル座標系での補間曲線が得られる。しかる後、このローカル座標系での補間曲線をグローバル座標系に座標変換すれば、3次元クロソイド曲線による補間曲線が得られる。
【0108】
図10に、3次元クロソイド曲線による補間曲線の例を示す。
【0109】
図10のうち、同(a)における点列は立方体の頂点を示し、同(b)における上方および下方のそれぞれの点列は正六角形の頂点を示す。
【0110】
図10より、得られた補間曲線は、各通過点においてその接線方向が連続であり、各区間の曲がり方も緩やかであるのが理解される。また、立方体のサイズが変化してもパラメータhだけを調整すればよく、他のパラメータは調整する必要がないのが理解される。
【0111】
実施形態5
実施形態5は実施形態2を3次元クロソイド曲線に拡張してなるものであって、三連3次元クロソイド曲線により補間をなすものである。
【0112】
実施形態4では、つまり単一の3次元クロソイド曲線による補間では、各通過点での接触角は連続となるが、一般的には、各通過点での曲率は連続とはならない。そのため、実施形態5では、三連3次元クロソイド曲線により補間をなし、各通過点での曲率も常に連続させるものである。
【0113】
実施形態5では、式(12)が下記式(15),(16)に置き換えられる。
【0114】
【数15】
【0115】
【数16】
【0116】
実施形態5においては、パラメータは曲線長hを含めて19個あるが、つなぎ目の接触角と曲率の連続条件により、そのうちの8個は他のパラメータにより決定されるので、独立変数は11個となり、実施形態4の場合より4個増加しているだけである。
【0117】
実施形態5における各通過点における曲率の決定は、曲線の曲がる方向を考慮してなさなれる。実施形態2では、曲率の大きさと曲線の曲がる方向は、符号を有する曲率により決定することができたが、3次元クロソイド曲線の場合、曲がり方向が無限であるため、一つのスカラー変数のみで曲がり方向を決定することができない。そのため、実施形態5においては、各通過点の曲率はピッチ角(α)およびヨー角(β)の微分(dα/ds;dβ/ds)により間接的に決定するものとされている。つまり、下記式(17)により決定するものとされている。
【0118】
【数17】
【0119】
式(17)から、曲率の絶対値のみならず、曲線の曲がる方向も決定されるのが理解される。
【0120】
式(17)を式(13)に代入して下記式(18)が得られる。
【0121】
【数18】
【0122】
式(18)から、καとκβとが連続であれば、曲率κも連続となるのが理解される。このことから、各通過点においてκαとκβとが連続するような曲線を求めればよいのが理解される。
【0123】
しかして、各通過点のκαとκβを得るには、まず単一の3次元クロソイド曲線で補間をしてその通過点両側のκαとκβを得、ついで絶対値の低い側のκαとκβをその通過点の目標値とする。その場合、καとκβとは、補間する区間のローカル座標系に変換された値が用いられる。
【0124】
次に、点Pkから点Pk+1までの区間について説明する。なお、座標系は前記と同様とする。
【0125】
点Pkの(κα,κβ)の目標値を(κ0α,κ0β)とし、点Pk+1の(κα,κβ)の目標値を(κ1α,κ1β)とする。このローカル座標系において、補間曲線は原点(0,0,0)から出発し、点(r,0,0)に終着するので、補間曲線は下記式(19)を演算処理することにより得られる。
【0126】
【数19】
【0127】
ここで、rは点Pkから点Pk+1までの距離を示す。
【0128】
なお、点Pkと点Pk+1とおける接線姿勢角αk,βk,αk+1,βk+1は、ローカル座標系での値を用いる。また、式(19)の4番目以降の各式はピッチ角αおよびヨー角βの連続条件および曲率の連続条件を示す。
【0129】
式(19)、式(15)および式(16)から、三連3次元クロソイド曲線のパラメータa10,a11,a12,a20,a21,a22,a30,a31,a32,b10,b11,b12,b20,b21,b22,b30,b31,b32,およびhを得る。
【0130】
しかして、これらのパラメータを用いてローカル座標系での補間曲線を得、ついで得られた補間曲線の座標系をローカル座標系からグローバル座標系に変換することにより補間曲線が得られる。
【0131】
式(19)より明らかなように、三連3次元クロソイド曲線における独立変数は、単一の3次元クロソイド曲線における独立変数に比して4個増加しているので、各区間において接線方向だけでなく、(κ0α,κ0β)および(κ1α,κ1β)も指定できる。換言すれば、各通過点において曲率が連続な補間が可能となる。
【0132】
図11に、三連3次元クロソイド曲線による曲率が連続とされた補間例を、単一の3次元クロソイド曲線による補間例と併せて示す。なお、点列と図10におけるものと同一とされている。また、S1は0.25とされ、S2は0.75とされている。
【0133】
ここで、(κ0α,κ0β)=(κ1α,κ1β)=(0,0)として、三連3次元クロソイド曲線により補間すれば、異なる平面にある直線との3次元接続も容易になし得る。その場合、端点での接線方向は、接続する直線の方向に一致させればよい。
【0134】
図12に、三連3次元クロソイド曲線による直線との補間例を示す。
【0135】
実施形態6
図13に、本発明の実施形態6をブロック図で示す。
【0136】
図13に示すように、実施形態6は実施形態1を軌道生成装置Aに改変してなるものとされる。
【0137】
軌道生成装置Aは、図13に示すように、入力手段1と、演算処理装置2と、出力手段3とを主要構成要素として備えてなるものとされる。
【0138】
入力手段1は、例えばキーボードとされるが、これに限定されるものではなく、コンピュータの入力装置として利用されている各種の入力装置を好適に用いることができる。
【0139】
演算処理装置2は、クロソイド曲線生成手段10と、座標変換手段20と、補間指令値生成手段30とを有するものとされる。なお、かかる手段10,20,30を有する演算処理装置2は、具体的には、コンピュータに後述する機能を実施するためのプログラムを格納することにより実現される。
【0140】
クロソイド曲線生成手段10は、接線方向算出部11と、単一の2次元クロソイド曲線生成部12と、三連2次元クロソイド曲線生成手段部13とを含むものとされ、入力手段1から入力された点列や接続する直線の方向に基づいて、式(1)〜式(8)および式(10)を演算処理してローカル座標系における三連クロソイド曲線を生成するものとされる。
【0141】
接線方向算出部11は、弦ベクトル転向角の二分法により接線方向を算出するものとされる。なお、接線方向算出部11を省略して入力手段1から接線方向が入力されるようにされてもよい。
【0142】
座標変換手段20は、クロソイド曲線生成手段10により生成されたローカル座標系における2次元クロソイド曲線を、グローバル座標系における2次元クロソイド曲線に変換するものとされる。
【0143】
補間指令値生成手段30は、グローバル座標系に座標変換された三連2次元クロソイド曲線に基づいてロボットなどの移動体の補間指令値を生成するものとされる。なお、補間指令値生成手段30としては、従来よりロボットに用いられているものを好適に用いることができる。
【0144】
出力手段3は、例えば通信装置とされるが、これに限定されるものではなく、各種の出力手段を好適に用いることができ、例えばCDライタとすることもできる。
【0145】
このように、実施形態6によれば、各通過点における接線方向および曲率を連続させることができるので、所要エネルギーが低減されてなる軌道を生成することができる。
【0146】
実施形態7
図14に、本発明の実施形態7をブロック図で示す。
【0147】
図14に示すように、実施形態7の軌道生成装置A1は実施形態6の軌道生成装置Aを改変してなるものとされる。すなわち、実施形態7はクロソイド曲線による補間を3次元まで拡張してなるものとされる。
【0148】
以下、実施形態7の実施形態6と異なる点を主として説明する。
【0149】
クロソイド曲線生成手段40は、接線方向算出部41と、単一の3次元クロソイド曲線生成部42と、三連3次元クロソイド曲線生成手段部43とを含むものとされ、入力手段1から入力された点列や接続する直線の方向に基づいて、式(11)〜式(19)を演算処理してローカル座標系における三連クロソイド曲線を生成するものとされる。
【0150】
接線方向算出部41は、弦ベクトル転向角の二分法により接線方向を算出するものとされる。なお、接線方向算出部41を省略して入力手段1から接線方向が入力されるようにされてもよい。
【0151】
座標変換手段20は、クロソイド曲線生成手段40により生成されたローカル座標系における3次元クロソイド曲線を、グローバル座標系における3次元クロソイド曲線に変換するものとされる。
【0152】
補間指令値生成手段30は、グローバル座標系に座標変換された三連3次元クロソイド曲線に基づいてロボットなどの移動体の補間指令値を生成するものとされる。なお、補間指令値生成手段30としては、従来よりロボットに用いられているものを好適に用いることができる。
【0153】
このように、実施形態7によれば、各通過点における接線方向および曲率を連続させることができるので、所要エネルギーが低減されてなる3次元軌道を生成することができる。
【産業上の利用可能性】
【0154】
本発明は、ロボットなどの移動体の軌道生成に適用できる。
【符号の説明】
【0155】
A 軌道生成装置
1 入力手段
2 演算処理装置
3 出力手段
10 クロソイド曲線生成手段
11 接線方向算出部
12 単一の2次元クロソイド曲線生成部
13 三連2次元クロソイド曲線生成部
20 座標変換手段
30 補間指令値生成手段
40 クロソイド曲線生成手段
41 接線方向算出部
42 単一の3次元クロソイド曲線生成部
43 三連3次元クロソイド曲線生成部
【特許請求の範囲】
【請求項1】
点列間をクロソイド曲線により補間して軌道生成をなす軌道生成方法であって、前記クロソイド曲線が三連クロソイド曲線とされ、それにより通過点での接線方向の連続性および曲率の連続性が担保されてなることを特徴とする軌道生成方法。
【請求項2】
通過点での接線方向が弦ベクトル転向角の二分法により算出されることを特徴とする請求項1記載の軌道生成方法。
【請求項3】
ローカル座標系におけるクロソイド曲線を生成し、ついで生成されたクロソイド曲線をグローバル座標系に変換し、座標変換して得られたクロソイド曲線により補間をなすことを特徴とする請求項1記載の軌道生成方法。
【請求項4】
端点での接線方向を接続させる曲線と一致させるようにしてクロソイド曲線を生成することを特徴とする請求項1記載の軌道生成方法。
【請求項5】
点列間をクロソイド曲線により補間して軌道生成をなす軌道生成装置であって、
入力手段と、演算処理装置と、出力手段とを備え、
前記演算処理装置が、クロソイド曲線生成手段と、座標変換手段と、補間指令値生成手段とを有してなることを特徴とする軌道生成装置。
【請求項6】
クロソイド曲線生成手段が、接線方向算出部と、単一の2次元クロソイド曲線生成部と、三連2次元クロソイド曲線生成部とを有することを特徴とする請求項5記載の軌道生成装置。
【請求項7】
クロソイド曲線生成手段が、接線方向算出部と、単一の3次元クロソイド曲線生成部と、三連3次元クロソイド曲線生成部とを有することを特徴とする請求項5記載の軌道生成装置。
【請求項8】
請求項1ないし請求項4のいずれか一項に記載の軌道生成方法により生成された軌道により移動されることを特徴とする移動体。
【請求項9】
請求項5ないし請求項7のいずれか一項に記載の軌道生成装置を備えてなることを特徴とする移動体。
【請求項10】
移動体がロボットとされてなることを特徴とする請求項8または9記載の移動体。
【請求項1】
点列間をクロソイド曲線により補間して軌道生成をなす軌道生成方法であって、前記クロソイド曲線が三連クロソイド曲線とされ、それにより通過点での接線方向の連続性および曲率の連続性が担保されてなることを特徴とする軌道生成方法。
【請求項2】
通過点での接線方向が弦ベクトル転向角の二分法により算出されることを特徴とする請求項1記載の軌道生成方法。
【請求項3】
ローカル座標系におけるクロソイド曲線を生成し、ついで生成されたクロソイド曲線をグローバル座標系に変換し、座標変換して得られたクロソイド曲線により補間をなすことを特徴とする請求項1記載の軌道生成方法。
【請求項4】
端点での接線方向を接続させる曲線と一致させるようにしてクロソイド曲線を生成することを特徴とする請求項1記載の軌道生成方法。
【請求項5】
点列間をクロソイド曲線により補間して軌道生成をなす軌道生成装置であって、
入力手段と、演算処理装置と、出力手段とを備え、
前記演算処理装置が、クロソイド曲線生成手段と、座標変換手段と、補間指令値生成手段とを有してなることを特徴とする軌道生成装置。
【請求項6】
クロソイド曲線生成手段が、接線方向算出部と、単一の2次元クロソイド曲線生成部と、三連2次元クロソイド曲線生成部とを有することを特徴とする請求項5記載の軌道生成装置。
【請求項7】
クロソイド曲線生成手段が、接線方向算出部と、単一の3次元クロソイド曲線生成部と、三連3次元クロソイド曲線生成部とを有することを特徴とする請求項5記載の軌道生成装置。
【請求項8】
請求項1ないし請求項4のいずれか一項に記載の軌道生成方法により生成された軌道により移動されることを特徴とする移動体。
【請求項9】
請求項5ないし請求項7のいずれか一項に記載の軌道生成装置を備えてなることを特徴とする移動体。
【請求項10】
移動体がロボットとされてなることを特徴とする請求項8または9記載の移動体。
【図1】
【図2】
【図5】
【図6】
【図7】
【図9】
【図13】
【図14】
【図3】
【図4】
【図8】
【図10】
【図11】
【図12】
【図2】
【図5】
【図6】
【図7】
【図9】
【図13】
【図14】
【図3】
【図4】
【図8】
【図10】
【図11】
【図12】
【公開番号】特開2011−145797(P2011−145797A)
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願番号】特願2010−4682(P2010−4682)
【出願日】平成22年1月13日(2010.1.13)
【出願人】(395018251)マッスル株式会社 (15)
【Fターム(参考)】
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願日】平成22年1月13日(2010.1.13)
【出願人】(395018251)マッスル株式会社 (15)
【Fターム(参考)】
[ Back to top ]