JP4667794B2 - 数値制御方法、数値制御装置、プログラム及びコンピュータ読み取り可能な記録媒体 - Google Patents

数値制御方法、数値制御装置、プログラム及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP4667794B2
JP4667794B2 JP2004250372A JP2004250372A JP4667794B2 JP 4667794 B2 JP4667794 B2 JP 4667794B2 JP 2004250372 A JP2004250372 A JP 2004250372A JP 2004250372 A JP2004250372 A JP 2004250372A JP 4667794 B2 JP4667794 B2 JP 4667794B2
Authority
JP
Japan
Prior art keywords
curve
axis
point
dimensional
clothoid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2004250372A
Other languages
English (en)
Other versions
JP2005276155A (ja
Inventor
文彦 木村
洋 牧野
芳一 松尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
THK Co Ltd
Original Assignee
THK Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by THK Co Ltd filed Critical THK Co Ltd
Priority to JP2004250372A priority Critical patent/JP4667794B2/ja
Priority to KR1020067017131A priority patent/KR101056600B1/ko
Priority to PCT/JP2005/002132 priority patent/WO2005083537A1/ja
Priority to DE112005000451.1T priority patent/DE112005000451B4/de
Priority to US10/590,704 priority patent/US7860592B2/en
Priority to TW094105861A priority patent/TWI370982B/zh
Publication of JP2005276155A publication Critical patent/JP2005276155A/ja
Application granted granted Critical
Publication of JP4667794B2 publication Critical patent/JP4667794B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ロボット、工作機械、組立機械、検査機械などの作業機械(ロボット等という)における工具(ハンド等の把持部や各種のツールを含む)の運動を制御する数値制御方法及び装置に関し、特に工具の3次元的な運動を制御する数値制御方法及び装置に関する。
溶接、塗装、接着剤塗布などの数値制御を行うロボットにおいては、一般に入力図形は離散的な点列データとして入力される。したがって、連続的な図形を生成するには、なんらかの方法を用いて点列を補間する必要がある。
任意に与えられた点列間を補間する方法としては、折れ線の角部を丸める方法やBスプライン補間、3次式スプライン補間などが知られているが、与えられた各点を厳密に通りうる補間法としては、3次式スプライン補間が知られている(非特許文献1参照)。
しかし、3次式スプライン補間は、幾何学的意味を持たない独立変数を媒介変数として表現されているため、独立変数と曲線の幾何学的諸量との関係が不定である、という大きな欠点を持っている。この3次式スプライン補間は、始点からの移動距離と曲率の関係が複雑であり、線速度を一定に保つような制御には不向きである。
2次元においては与えられた各点を通る補間方法として、クロソイド補間法が発明者らによって提案され、滑らかに補間できることが知られている(非特許文献2参照)。そこでクロソイド曲線を3次元に拡張し、自由点列の補間に用いれば、曲線の長さの関数として表されるクロソイド曲線の特徴より、線速度を一定に保ったり、線長に応じて変化させたりするような制御を容易に実現できると思われる。また、曲線長をパラメータとしているため、他の方法と違い、線長を後から求める必要もない利点もあり、クロソイド補間を3次元に拡張することは数値制御などの分野において有益であることが期待される。これまでにクロソイド曲線を3次元に拡張したものとしては、Liらの”3D Discrete Clothoid Splines”(非特許文献3参照)などが知られているが、式の形でクロソイド曲線を3次元に拡張したものは知られていない。式の形での拡張は、各値を容易に算出できる点で優位である。
そこで本発明は、工具の運動を数値制御するために、独立変数に対する曲率変化パターンが単純な2次元クロソイド曲線の特性をできるだけ引き継いだ新たな3次元クロソイド曲線の定義式を提供することを目的とする。
穂坂衛・佐田登志夫著,"統合化CAD/CAMシステム"オーム社、1997 仇時雨,牧野洋,須田大春,横山恭男,"クロソイドによる自由曲線補間法"(日本ロボット学会誌8巻6号,pp40-47) Li Guiqing, Li Xianmin, Li Hua "3D Discrete Clothoid Splines",(CGI’01,pp321-324)
以下、本発明について説明する。
請求項1の発明は、接線方向のピッチ角及びヨー角のそれぞれが曲線長または曲線長変数の二次式で与えられる3次元曲線(3次元クロソイド曲線という)を用いて工具軌跡またはワークの輪郭形状を表現し、前記3次元曲線に沿って移動する工具の運動を指定し、指定された運動に従って単位時間毎に工具の移動位置を算出する数値制御方法により、上述した課題を解決する。ここで、運動とは、時間の関数として変化する位置情報をいう。 前記3次元クロソイド曲線を以下の式で定義する。
Figure 0004667794
ここで、
Figure 0004667794
はそれぞれ、3次元クロソイド曲線上の点の位置ベクトル、及びその初期値を示す。
始点からの曲線の長さをsとし、その全長(始点から終点までの長さ)をhとする。sをhで割った値をSで表わす。Sは無次元の値であり、これを曲線長変数と呼ぶ。
i,j,kはそれぞれ、x軸、y軸、及びz軸方向の単位ベクトルである。
uは点Pにおける曲線の接線方向を示す単位ベクトルであり、式(2)によって与えられる。Ekβ及びEjαは回転マトリクスであり、それぞれ、k軸まわりの角度βの回転及びj軸まわりの角度αの回転を表わしている。前者をヨー(yaw)回転、後者をピッチ(pitch)回転という。式(2)は、i軸方向の単位ベクトルを、まずj軸まわりにαだけ回し、しかるのちにk軸まわりにβだけ回すことによって、接線ベクトルuが得られることを示している。a0,a1,a2,b0,b1,b2は定数。
請求項の発明は、接線方向のピッチ角及びヨー角のそれぞれが曲線長または曲線長変数の二次式で与えられる3次元曲線(3次元クロソイド曲線という)を用いて工具軌跡またはワークの輪郭形状を表現し、前記3次元曲線に沿って移動する工具の運動を指定し、指定された運動に従って単位時間毎に工具の移動位置を算出する数値制御装置である。ここで、運動とは、時間の関数として変化する位置情報をいう。 前記3次元クロソイド曲線を以下の式で定義する。
Figure 0004667794
ここで、
Figure 0004667794
はそれぞれ、3次元クロソイド曲線上の点の位置ベクトル、及びその初期値を示す。
始点からの曲線の長さをsとし、その全長(始点から終点までの長さ)をhとする。sをhで割った値をSで表わす。Sは無次元の値であり、これを曲線長変数と呼ぶ。
i,j,kはそれぞれ、x軸、y軸、及びz軸方向の単位ベクトルである。
uは点Pにおける曲線の接線方向を示す単位ベクトルであり、式(2)によって与えられる。E kβ 及びE jα は回転マトリクスであり、それぞれ、k軸まわりの角度βの回転及びj軸まわりの角度αの回転を表わしている。前者をヨー(yaw)回転、後者をピッチ(pitch)回転という。式(2)は、i軸方向の単位ベクトルを、まずj軸まわりにαだけ回し、しかるのちにk軸まわりにβだけ回すことによって、接線ベクトルuが得られることを示している。a ,a ,a ,b ,b ,b は定数。
請求項の発明は、工具の運動を数値制御するために、コンピュータを、接線方向のピッチ角及びヨー角のそれぞれが曲線長または曲線長変数の二次式で与えられる3次元曲線(3次元クロソイド曲線という)を用いて工具軌跡またはワークの輪郭形状を表現する手段と、前記3次元曲線に沿って移動する工具の運動を指定する手段と、指定された運動に従って単位時間毎に工具の移動位置を算出する手段、として機能させるためのプログラムである。ここで、運動とは、時間の関数として変化する位置情報をいう。 前記3次元クロソイド曲線を以下の式で定義する。
Figure 0004667794
ここで、
Figure 0004667794
はそれぞれ、3次元クロソイド曲線上の点の位置ベクトル、及びその初期値を示す。
始点からの曲線の長さをsとし、その全長(始点から終点までの長さ)をhとする。sをhで割った値をSで表わす。Sは無次元の値であり、これを曲線長変数と呼ぶ。
i,j,kはそれぞれ、x軸、y軸、及びz軸方向の単位ベクトルである。
uは点Pにおける曲線の接線方向を示す単位ベクトルであり、式(2)によって与えられる。E kβ 及びE jα は回転マトリクスであり、それぞれ、k軸まわりの角度βの回転及びj軸まわりの角度αの回転を表わしている。前者をヨー(yaw)回転、後者をピッチ(pitch)回転という。式(2)は、i軸方向の単位ベクトルを、まずj軸まわりにαだけ回し、しかるのちにk軸まわりにβだけ回すことによって、接線ベクトルuが得られることを示している。a ,a ,a ,b ,b ,b は定数。
請求項の発明は、工具の運動を数値制御するために、コンピュータを、接線方向のピッチ角及びヨー角のそれぞれが曲線長または曲線長変数の二次式で与えられる3次元曲線(3次元クロソイド曲線という)を用いて工具軌跡またはワークの輪郭形状を表現する手段と、前記3次元曲線に沿って移動する工具の運動を指定する手段と、指定された運動に従って単位時間毎に工具の移動位置を算出する手段、として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。ここで、運動とは、時間の関数として変化する位置情報をいう。 前記3次元クロソイド曲線を以下の式で定義する。
Figure 0004667794
ここで、
Figure 0004667794
はそれぞれ、3次元クロソイド曲線上の点の位置ベクトル、及びその初期値を示す。
始点からの曲線の長さをsとし、その全長(始点から終点までの長さ)をhとする。sをhで割った値をSで表わす。Sは無次元の値であり、これを曲線長変数と呼ぶ。
i,j,kはそれぞれ、x軸、y軸、及びz軸方向の単位ベクトルである。
uは点Pにおける曲線の接線方向を示す単位ベクトルであり、式(2)によって与えられる。E kβ 及びE jα は回転マトリクスであり、それぞれ、k軸まわりの角度βの回転及びj軸まわりの角度αの回転を表わしている。前者をヨー(yaw)回転、後者をピッチ(pitch)回転という。式(2)は、i軸方向の単位ベクトルを、まずj軸まわりにαだけ回し、しかるのちにk軸まわりにβだけ回すことによって、接線ベクトルuが得られることを示している。a ,a ,a ,b ,b ,b は定数。
本発明によれば、3次元クロソイド曲線の主変数が曲線長または曲線長変数であり、その接線方向のピッチ角及びヨー角がそれぞれ曲線長または曲線長変数の二次式で与えられるので、これを1回微分して得られる法線方向、及び2回微分して得られる曲率が曲線長または曲線長変数に関して連続であることが保証される。言い換えれば、一つのクロソイド曲線の中では法線方向及び曲率が連続である。したがって、滑らかで性質の良い曲線が得られ、力学的に無理のない速度変化を実現する数値制御方式が可能となる。
以下本発明について、3次元クロソイド曲線の定義と特徴、3次元クロソイド曲線による補間法、3次元クロソイド補間を用いた数値制御方法に分けて順次説明する。
1. 3次元クロソイド曲線の定義と特徴
(1)3次元クロソイドの基本式
クロソイド曲線(Clothoid curve)は、別名コルニューの螺旋(Cornu’s spiral)とも呼
ばれ、曲線の長さに比例して曲率が変化する曲線である。
従来知られている2次元のクロソイド曲線は、平面曲線(2次元曲線)の一種であり、図1に示されるxy座標上において、次式で表される。
Figure 0004667794
ここで、
Figure 0004667794
は曲線上の点を表わす位置ベクトル、
Figure 0004667794
は、その初期値(始点の位置ベクトル)である。
Figure 0004667794
は、曲線の接線方向を表わす単位ベクトル(長さが1のベクトル)であり、その方向φは原線(x軸方向)から反時計まわりに測られる。この単位ベクトルに微小長さdsをかけて積分すると曲線上の点Pが求められる。
曲線に沿って測った曲線の始点からの長さをsとし、その全長(始点から終点までの長さ)をhとする。sをhで割った値をSで表わす。Sは無次元の値であり、これを曲線長変数と呼ぶ。
クロソイド曲線の特徴は、式(2)で示したように、接線方向角φが曲線長sまたは曲線
長変数Sの二次式で表わされることにある。c,c,cまたはφ,φ,φは二次式の係数であり、これら及び曲線の全長hをクロソイドのパラメータと呼ぶ。図2は一般的なクロソイド曲線の形状を示す。
以上の関係を3次元に拡張して、3次元クロソイド曲線の式を作る。従来3次元クロソイド曲線を与える式は知られていなかったが、発明者らは初めてこれを導いた。
3次元クロソイド曲線を以下の式で定義する。
Figure 0004667794
ここで、
Figure 0004667794
はそれぞれ、3次元クロソイド上の点の位置ベクトル、及びその初期値を示す。i,j,kはそれぞれ、x軸、y軸、及びz軸方向の単位ベクトルである。
uは点Pにおける曲線の接線方向を示す単位ベクトルであり、式(7)によって与えられる
。式(7)において、Ekβ及びEjαは回転マトリクスであり、図3に示されるように、そ
れぞれ、k軸(z軸)まわりの角度βの回転及びj軸(y軸)まわりの角度αの回転を表わしている。前者をヨー(yaw)回転、後者をピッチ(pitch)回転という。式(7)は、i軸(
x軸)方向の単位ベクトルを、まずj軸(y軸)まわりにαだけ回し、しかるのちにk軸(z軸)まわりにβだけ回すことによって、接線ベクトルuが得られることを示している。
すなわち、2次元の場合は、曲線の接線方向を表す単位ベクトルeは、x軸からの
傾き角度φから得られる。3次元の場合は、曲線の接線ベクトルuは、ピッチ角α及びヨー角βから得ることができる。ピッチ角αが0だと、xy平面で巻いた2次元クロソイド曲線が得られ、ヨー角βが0だと、xz平面で巻いた2次元クロソイド曲線が得られる。接線方向ベクトルuに微小長dsをかけて積分すると3次元クロソイド曲線が得られる。
3次元クロソイド曲線においては、接線ベクトルのピッチ角α及びヨー角βはそれぞれ式(8)及び式(9)に示すように、曲線長変数Sの2次式で与えられる。このことによって接線方向の変化を自由に選びながら、なおかつ、その変化に連続性を持たせることが可能になる。
以上の式によって示したごとく、3次元クロソイド曲線は「接線方向のピッチ角及びヨー角が、それぞれ曲線長変数の二次式で表わされる曲線である」と定義される。
から始まる一つの3次元クロソイドセグメントは、
Figure 0004667794
の7個のパラメータによって決定される。aないしbの6つの変数は角度の単位を持ち、クロソイドセグメントの形状を表わしている。これに対しhは長さの単位を持ち、クロソイドセグメントの大きさを表わしている。
3次元クロソイド曲線の典型的な例としては、図4に示されるような螺旋状の曲線がある。
(2)動標構
式(7)において、基本接線方向ベクトルiの代りに基本座標系[i,j,k]を代入する
と、次の動標構(moving frame)Eを得る。
Figure 0004667794
ここで、v及びwは曲線の接線に垂直な面に含まれる単位ベクトルであり、互いに直交
するとともに、接線方向単位ベクトルuと直交する。この3つの単位ベクトルの組(トラ
イアド)は動点Pとともに動くフレーム(座標系、標構)であり、これを動標構という。
動標構が上式で求められるため、主法線、副法線の計算が容易になり、曲線の形状解析が容易にできる。
また、Eを用いて、ロボットの工具点の姿勢を求めることができ、ロボットハンドによって把持された物体の位置姿勢を求めることが可能になる。
Eの初値及び終値をそれぞれE,Eとすると、
Figure 0004667794
となる。
(3)ローリング
動標構を考慮することによって、3つ目の回転「ロール(roll)」を扱うことができる。
ロールは接線方向まわりの回転である。ロールの存在は3次元クロソイド自身の形状には影響を与えないが、3次元クロソイドに誘導される動標構には影響する。曲がりくねった針金に通した算盤玉は、針金のまわりで自由に回転することができるが、そのことによって針金の形を変えるわけではない。
ロール回転を考慮するとき、動標構は下式となる。
Figure 0004667794
ロール角γについても、これをSの関数として表現することができる。
Figure 0004667794
(4)3次元クロソイド曲線の幾何学的性質
(a)3次元クロソイド曲線の法線
3次元曲線の法線ベクトルは、接線方向ベクトルuを用いて次の式で表されることが知られている。
Figure 0004667794
ここで、(7)式より3次元クロソイド曲線の接線ベクトルの1次微分は下記となる。
Figure 0004667794
すなわち、3次元クロソイド曲線の法線ベクトルは、Sを用いて下記の形で表される。
Figure 0004667794
(b)回転を用いた3次元クロソイド曲線の法線
ここで(7)の接線uの決定と同様に法線nについても考えてみる。初期接線方向(1,0,0)に対して、初期法線方向を定数γを用いて(0,cosγ,−sinγ)で表わすとする。これを
接線と同じように回転させると、法線nは下記のように表される。
Figure 0004667794
(20)(21)の式を比較すると、sinγ, cosγは下記に対応していることがわかる。
Figure 0004667794
(c)3次元クロソイド補間における接続点での法線連続
3次元クロソイド補間における接続点での法線連続を達成するには式(22)より、
Figure 0004667794
が、連続であればよいことがわかる。
(d)3次元クロソイド曲線の曲率
3次元クロソイド曲線の曲率は、下記の式で表される。
Figure 0004667794
(19)式より、曲率は、
Figure 0004667794
と表される。
(5)3次元クロソイド曲線の特徴
(a)曲線の連続性
一つのクロソイドセグメント(同一のパラメータで表わされるクロソイド)においては、その接線方向のピッチ角及びヨー角がそれぞれ曲線長変数Sの2次式で与えられるので、これを1回微分して得られる法線方向、及び、2回微分して得られる曲率が曲線長変数Sに関して連続であることが保証される。言い換えれば、一つのクロソイドセグメントの中では法線方向及び曲率が連続である。したがって、滑らかで性質の良い曲線が得られる。また、二つのクロソイド曲線を連結する場合にも、そのつなぎ目において接線、法線、曲率が連続になるようにパラメータを選択することによって、滑らかなひとつなぎの曲線を作ることができる。これをクロソイドスプラインという。
(b)適用性
曲線の接線方向を二つの角度(ピッチ角及びヨー角)で振ることができるので、さまざまな条件に合わせた3次元曲線を任意に作ることができ、いろいろな用途に用いることができる。
(c)幾何曲線との整合性
直線・円弧・ねじ曲線などの幾何曲線は、クロソイドパラメータのいくつかを0にし、あるいは、いくつかのパラメータ間に特定の関数関係を与えることによって作ることができる。これらの曲線はクロソイド曲線の一種であり、クロソイドのフォーマットを用いて表現できる。したがって、従来のNCのように、直線・円弧・自由曲線等によって記述するフォーマットを変えて取り扱う必要はなく、同じフォーマットを用いて計算したり、制御したりできる。
また、αまたはβのいずれかを常に0と置くことによって、2次元クロソイドを作るこ
とができるので、これまで2次元クロソイドについてすでに得られている資源を活用することができる。
すなわち、既に知られている2次元クロソイドを含めて、円弧や直線などの個別の曲線も、αやβを適切に設定することで表現できる。このような個別の曲線について同一の形式3次元クロソイド曲線式を用いることができるので、計算手順を単純化できる。
(d)見通しの良さ
スプライン補間などの従来の補間法では、自由曲線を数式化した際に、その全体の形、あるいは局部的な形が分かりにくいことが多いが、3次元クロソイドにおいては、ピッチ角及びヨー角のそれぞれを想定することによって、比較的容易に全体像を把握することができる。
また、クロソイド曲線として表現した途端に線長・接線方向・曲率等の値は既知となっており、従来の補間法のように、あらためて計算する必要がない。すなわち、曲線のパラメータSに対応して、(7),(20)及び(26)式に示すように、曲線の接線や、法線、曲率が直接的に求められる。このことは、後述する数値制御方式にきわめて有効な特徴である。このことによって、大幅に計算時間を短縮し、メモリーなどの資源を節約することができ、また、リアルタイムでの補間演算を可能にする。
NC加工において、工具軌跡の最小曲率半径は重要な問題であり、スプライン補間などではこれを求めるのに面倒な計算を要するが、クロソイドでは一般にセグメントごとに最小曲率半径の値が既知であるため、カッター径の選定などにおいて有利である。
(e)運動制御のやりやすさ
曲線の主変数が長さ
または正規化された長さSであり、曲線の方程式はこの長さに対する自然方程式で与えら
れている。このため、長さsを時間tの関数として定めることによって、加減速などの運動特性を任意に与えることができ、従来カムなどに用いられてきた特性の良い運動曲線を採用することによって、加工作業の高速化を図ることができる。長さsは実在のカルテシアン空間における値として与えられ、速度・加速度は接線方向に対して求められるので、従来の補間法のように各軸ごとに与えられた値を合成する必要がない。また、曲率の計算が容易なため、運動時の遠心加速度も容易に求められ、運動軌跡に応じた制御を行うことができる。
(6)曲線の生成と各パラメータの性質
定義によれば3次元クロソイド曲線の各パラメータが曲線に及ぼす影響は以下のとおりである。各パラメータを与えることによって図4のように3次元クロソイド曲線を生成することができる。
表1は、3次元クロソイド曲線の各パラメータの性質をまとめたものである。
Figure 0004667794
2. 3次元クロソイド曲線による補間法
(1)滑らかな接続の数学的条件
1本の3次元クロソイド曲線では、曲線の形状表現に限界がある。ここでは、数値制御による工具の運動制御を主な目的として、3次元クロソイド曲線(3次元クロソイドセグメント)を複数本接続し、この複数本の3次元クロソイドセグメントによって工具の運動を制御する。
2本の3次元クロソイド曲線がその端点で滑らかに接続されていることは、端点位置、接線および曲率が連続に接続されていることであると定義される。上述の定義式を用いて、この条件は、以下のように記述される。最初の3式は位置の連続性、次の2式は接線の連続性、次の1式は法線の一致、最後の式は曲率の連続性を示している。
Figure 0004667794
これは、接続点で接線ベクトルと法線ベクトル、曲率とα、β連続であるための十分条件であり、条件がきつすぎる場合がある。そこで純粋に条件を満たすように下記のように条件を変えることもできる。
Figure 0004667794
ここでさらに、
Figure 0004667794
であることを考慮にいれると
Figure 0004667794
は、下記の条件で置き換えられる。
Figure 0004667794
結局下記の条件を満たせば目的を達成することが出来ることがわかる。
Figure 0004667794
(28)式において、最初の3式は位置の連続性、次の2式は接線方向の連続性、次の1式
は法線方向の一致、最後の式は曲率の連続性を示している。G連続な補間を行うには、2本の3次元クロソイド曲線がその端点で(28)式の7つの条件式を満たす必要がある。
連続(GはGeometryの頭文字)について補足する。図5はG連続な補間の条件を示す。
連続とは2本の3次元クロソイド曲線がその端点で位置が一致することをいい、G連続とは接線方向が一致することをいい、G連続とは接触平面(法線)及び曲率が一致することをいう。以下の表にスプライン曲線で用いられるC〜C連続と本発明のクロソイド曲線で用いられるG〜G連続とを対比する。
Figure 0004667794
2本の3次元クロソイド曲線の連続性を考えたときに、C→C→C、G→G→Gになるにしたがって補間条件が厳しくなる。C連続では接線の大きさも方向も一致する必要があるが、G連続では接線方向だけが一致すればよい。2本の3次元クロソイド曲線で接線を滑らかに接続する場合は、G連続で条件式を作成するほうがよい。スプライン曲線のようにC連続で条件式を作成すると、幾何学的には関係のない接線の大きさが一致するという条件が入るので、条件が厳しくなりすぎる。G連続で条件式を作成すると、一次微分係数の大きさを自由にとれるという利点がある。
連続では接触平面(法線)を一致させる。接触平面とは図6に示されるように曲線
Cが局所的に含まれる平面S1,S2をいう。この図6では点Pにおいて接線方向が連続であるが接触平面S1,S2が不連続の例を示している。3次元曲線の連続性を考えたときに、接線方向の一致の次に考えなければいけないことは接触平面の一致である。曲率を議論するときには接触平面が一致していないと意味がなく、接触平面を一致させた上で曲率を一致させる必要がある。2本の3次元曲線で、座標、接線方向、接触平面(法線方向)及び曲率を一致させることがG連続を満たす条件になる。
(2)具体的な計算手順
次の2種類の計算手順がある。
(a)曲線のパラメータh,α,βを与えて、1本の3次元クロソイド曲線を発生させ、その
端点で、(28)式を満たすように次の3次元クロソイド曲線のパラメータを定める。このよ
うにして、次々と滑らかに接続する3次元クロソイド曲線を発生させることができる。この計算手順によれば、曲線パラメータの算出は容易であり、これを順解と呼ぶ。この方式によれば、様々な形状の曲線を容易に発生できるが、曲線が通過する接続点を明示的に指定することはできない。
(b)予め指定された点群が曲線の接続点となるように、3次元クロソイド曲線を接続す
ることが出来る。ここでは、離散的に任意に与えられた点列の各区間毎に短いクロソイド曲線(クロソイドセグメント)を作成する。この場合には、(28)式を満たすように曲線パラメータを決定する計算手順は(a)より複雑であり、繰り返し収束計算となる。この計算
手順を、接続条件から逆に曲線パラメータを決定する、ということから、逆解と呼ぶ。
上記(b)の逆解について、計算手法を詳細に記述する。解くべき計算問題は、次のよう
に定式化される。
未知パラメータ:曲線パラメータ
拘束条件:(28)式、あるいはその一部
要求される問題に応じて、拘束条件の数は変化し、それに見合う数の曲線パラメータを未知パラメータとして設定すればよい。例えば、曲率の連続性が要求されない場合には、一部の曲線パラメータを自由に動かすことが出来る。あるいは、曲率連続でかつ接線方向が指定されている場合には、補間に用いる3次元クロソイド曲線の数を分割により増やして、対応する未知曲線パラメータを増やす必要がある。
上記の繰り返し収束計算を安定に収束させるためには、計算上の工夫が必要である。計算の発散を避け、収束を速めるために、未知パラメータについてより良い初期値を設定することは有効である。そのために、与えられた接続点などの拘束条件を満たす、より単純な補間曲線、例えば線形スプライン曲線などを発生させ、その曲線形状から、3次元クロソイド曲線の曲線パラメータを推算して、繰り返し収束計算の初期値とすることは有効である。
あるいは、満たすべき拘束条件を一気に満たすのではなく、順次条件式を増やしていく方式も、安定に解を得る手法として有効である。例えば、曲線発生の手順を次のような三つのSTEPに分けて、順次実行する。第1STEPとして位置情報と接線方向が一致するように補間した後で、第2STEPとして法線方向を一致するように補間を行い、第3STEPで曲率も一致するように補間する。この手法の流れの概要を図7に記す。必要な3次元クロソイド曲線式及びその接線、法線や曲率の定義式は既に示した。
(3)3次元クロソイド曲線を用いた補間法の実施例
(a)補間法の流れ
3次元クロソイド曲線を用いて与えられた点列の間を滑らかに補間していく手法の実施例について詳しく述べる。3次元クロソイド曲線を用いた補間法を以降、3次元クロソイド補間と呼ぶ。補間によって生成される曲線群全体を3次元クロソイド曲線と呼び、それを構成する単位曲線を3次元クロソイドセグメントと呼ぶ。
3次元クロソイド補間の基本の流れとしては、補間対象の点間を結ぶ3次元クロソイドセグメントの各パラメータを未知数とし、厳密に補間対象の点を通り、かつG2連続とな
るような条件を満たす解をニュートン・ラプソン法で求めて曲線を生成する。この流れの概要をまとめたものが図8である。ここでG2連続とは、2本の3次元クロソイド曲線が
その端点で位置、接線方向、法線方向及び曲率が一致することをいう。
(b)G連続な補間の条件
3次元クロソイド補間において、厳密に補間対象の点を通り、かつG2連続となるような
条件について具体的な条件を考える。
今、簡単に3つの点P1={ Px1, Py1, Pz1}, P2={ Px2, Py2, Pz2}, P3={ Px3, Py3, Pz3}があり、その点を3次元クロソイドセグメントで補間することを考える。図9は点P1, P2, P3の3次元クロソイド補間を示す。点P1, P2間を結ぶ曲線を曲線C1、点P2, P3間を結ぶ
曲線を曲線C2とすると、この場合未知数は、曲線C1のパラメータa01, a11, a21, b01,b11, b21, h1、曲線C2のパラメータa02, a12, a22, b02, b12, b22, h2の14個となる。また
、以後説明にでてくる文字のサブスクリプトは各曲線のサブスクリプトに対応している。
ここで厳密に補間対象の点を通り、かつG2連続となるような条件を考える。まず、始点においては厳密に補間対象の点を通るという条件は3次元クロソイド曲線の定義から考え
ると、始点を与えた時点で必然的に達成されるので補間条件はない。次に接続点P1では位置について3つ、接線ベクトルについて2つ、曲率連続の条件の式が大きさと方向について2つの合計7個成り立つ。また終点については、点P2では位置について3つの3個である。以上より条件式は合計で10個ある。しかし、これでは未知数14個に対して、条件式が10個しか存在しないので未知数の解を求めることができない。そこで、本研究においては、両端点の接線ベクトルを与え、両端点について2つづつの条件を増やし条件式と未知数の数を等しくした。また、始点における接線方向を決定すればa01, b01は、その定義式より求めることができるので未知数として扱わないことにした。以下、各条件について考えていく。
まず、位置の条件について考えると、(1-1)(1-2)(1-3)式より、下記の3つのが成り立つ。(以下自然数i<3とする。)
Figure 0004667794
次に、接線方向について考えると(1-4)(1-5)の2つの式が成り立つ。
Figure 0004667794
曲率κの大きさについては、次の式(1-6)が成り立つ。
Figure 0004667794
最後に法線方向ベクトルnについて考える。3次元クロソイド曲線の法線ベクトルnは、 (21)式で表される。
ここで3次元クロソイド曲線の接線ベクトルuの決定と同様に回転を用いて、法線ベクトルnを考えてみる。初期接線方向(1,0,0)に対して、初期法線方向を定数γを用いて(0,cosγ,−sinγ)で表すとする。これを接線と同じように回転させると、法線nは式(1-7)
のように表される。
Figure 0004667794
(21)(1-7)式を比較すると、sinγ, cosγは (1-8) 式に対応していることがわかる。
Figure 0004667794
つまり、式(1-8)より、3次元クロソイド補間における接続点での法線連続を達成するにはtanγが、連続であればよいことがわかる。
Figure 0004667794
つまり法線連続である条件は、式(1-10)であることがわかる。
Figure 0004667794
ここでさらに、
Figure 0004667794
であることを考慮にいれると条件式(1-10)は、下記の条件式(1-12)で置き換えられる。つまり、法線連続である条件は(1-12)式である。
Figure 0004667794
以上をまとめると厳密に補間対象の点を通り、かつG2連続となるような条件は接続点では式(1-13)のようになることがわかる。また、始点・終点においてもこれらのうちのいくつかの条件が選択される。
Figure 0004667794
以上より、未知数a11, a21, b11, b21, h1, a02, a12, a22, b02, b12, b22, h2の12個
に対して、条件式は下記の12個が成り立つことがわかる。(点P3における接線方向回転角をα3、β3とする。)
Figure 0004667794
これで未知数12個について12個の式が成り立つので解を求めることができる。これをニュートン・ラプソン法によって解き、解を求める。
また、一般的にn個の点列を補間するときを考えるときも、条件式は今述べてきた自然
数iをi<nと拡張すればよい。後は未知数と条件式の数の問題である。
例えばn-1個の点列があるとき、N個の未知数とN個の関係式が成り立つとする。ここでさらに1点増えたとすると、未知数は3次元クロソイドセグメントPn-1,Pnのクロソイドパラメータa0n, a1n, a2n, b0n, b1n, b2n, h nの7つが増える。一方で、条件式は、接続
点がひとつ増えるので点Pn-1で位置について3つ、接線ベクトルについて2つ、点Pn-1の曲率連続の条件の式が大きさと方向について2つの合計7つ増える。
n=3では未知数、関係式ともに12個であることがわかっているから、n≧3では、未知数は7(n−2)+5個、これに対して成り立つ式も7(n−2)+5個ある。これで未知数とそれに関する条件の数が等しくなるので、n個の自由点列の場合も3点の場合と同様の方法で解を求めることが可能である。解法としては、未知数と条件式の間には (1-15) (1-16) 式の関係が成り立つことを利用したニュートン・ラプソン法を用いて解いた。(条件をF未知数をu、誤差ヤコビアン行列Jとする。)
Figure 0004667794
以上より、n個の点列に対しても厳密に補間対象の点を通り、かつG2連続となるような3次元クロソイド補間が行えることがわかる。
(c)初期値の決定
ニュートン・ラプソン法においては、解の探索を始める際に適当な初期値を与える必要
がある。初期値はどのように与えられてもいいが、ここではその初期値の与え方の一例について述べる。
先行研究である3D Discrete Clothoid Splinesは、厳密に補間対象点を通り、曲率が始点からの移動距離に対して滑らかに変化するような性質を持っている。そこで、本研究では3次元クロソイド補間のための初期値を、図10のようなr=4の3D Discrete Clothoid SplinesのポリゴンQを作り、そこから計算で決定した。
ここで3D Discrete Clothoid Splinesについて補足説明する。図11に示されるようにまず、補間対象の点列を頂点とする多角形Pを作り、Pの各頂点間に同じ数r個づつ新たな
頂点を挿入し、P⊂Qとなるような多角形Qを作る。ここでPの頂点がn個あるとすると、ポ
リゴンQは閉じている場合でrn個、開いている場合でr(n-1)+1個の頂点を持つことになる
。以後サブスクリプトを始点からの通し番号として、各頂点をqiで表すことにする。また、各頂点において、方向として従法線ベクトルbを、大きさとして曲率κを持つようなベ
クトルkを定める。
このとき、下記の頂点同士が等距離になるような式( 1 -17)を満たし、曲率が始点からの移動距離に比例するような条件に最も近くなるときの(式( 1 -18)の関数を最小化するときの)ポリゴンQを 3D Discrete Clothoid Splinesと言う。
Figure 0004667794
3D Discrete Clothoid Splinesでは各頂点のフレネ標構がすでに求まっている。そこで、その単位接線方向ベクトルtよりパラメータa0, b0を求める。この接線方向ベクトル
tはポリゴンQを求めたときにすでに既知となっており、このtと3次元クロソイド曲線の接線の式とにより、ポリゴンQの頂点の接線方向回転角α,βが求まる。これにより各曲線のa0, b0の初期値が求まる。また、始点から始まる3次元クロソイド線分においては、その値を与える。
Figure 0004667794
ここで、3D Discrete Clothoid Splinesは、頂点が等距離に並んでいることを考えると、図10の点q4i+1では、曲線長変数Sが1/4であると近似することができる。同様に点q4(i+1)-1では、曲線長変数Sが3/4であると近似することができる。これらを3次元クロソイ
ド曲線のαの式とをあわせて考慮すると下記の式(1-20)が成り立つ。
Figure 0004667794
この式は未知数がa14iとa24iの2次元連立方程式になっており、これを解いてパラメー
タa1, a2の初期値とする。同様にパラメータb1, b2の初期値も決定できる。
残る未知数は曲線長hであるが、この初期値ついては3次元クロソイド曲線の曲率の式より算出する。3次元クロソイド曲線の曲率は、式(1-21)で表される。
Figure 0004667794
この式を変形すると式(1-22)になり、hの初期値が決定される。
Figure 0004667794
以上の方法で7つの3次元クロソイドパラメータについて初期値を決定することができる。この決定した初期値を用い(b)で述べたようなG2連続となるような条件下で各曲線のパ
ラメータの近似値をニュートン・ラプソン法によって求めた。これによって得られたパラメータから3次元クロソイド線分を生成し、点列間を3次元クロソイド曲線で補間することを行った。
(d)補間例
実際に以上に述べた手法で点列を補間した例として(0.0, 0.0, 0.0), (2.0, 2.0, 2.0), (4.0, 0.0, 1.0), (5.0, 0.0, 2.0)の4点を3次元クロソイド補間した例を挙げる。補間により生成された3次元クロソイド曲線の透視図を図12に載せた。図12は実線が3次元クロソイド曲線であり、破線、一点鎖線、二点鎖線は曲線上の各点における、大きさをlog(曲率半径+自然対数e)に、方向を法線ベクトルにとった曲率半径変化パターンである。
さらに表3に各曲線のパラメータを、また表4に、各接続点での座標・接線・法線・曲率のずれを載せた。これらより各接続点でG2連続となるような3次元クロソイド曲線が生
成されていることがわかる。また、図13は横軸に始点からの移動距離、縦軸に曲率を取った曲率変化グラフである。
Figure 0004667794
Figure 0004667794
(4)両端における各値の制御を考慮したG2連続な3次元クロソイド補間
(a)補間条件と未知数
(3)で述べたように、曲線が開いている場合で補間対象の点がn個あるとき、点列はn-1個の曲線で3次元クロソイド補間される。厳密に各点を通るなら各3次元クロソイド線分
について未知数はa0, a1, a2, b0, b1, b2, hの7つあるので、未知数は全体で7(n-1)個あることになる。一方、条件式については、n-2個ある接続点ごとに座標、接線、法線、曲
率の7個づつと終点における座標の3個が存在するので、全部で7(n-2)+3個である。2-3の
手法ではこれに始点・終点における接線ベクトルを与え、条件を4個増やすことによって
、条件式と未知数の数を合わせていた。
ここで、始点・終点における接線・法線・曲率を制御し、かつG2連続となるように補間するなら、条件は両端における接線を制御したときと比べて、さらに始点・終点で法線・曲率について2個づつの合計4個増えることになる。すると、条件式は全部で7n-3個ということになる。この場合、未知数の数が条件より少なくなるため、ニュートン・ラプソン法で解を求めることはできない。そのため、なんらかの方法で未知数を増やす必要がある。
そこで、ここでは、補間対象点を新たに挿入することによって未知数と条件式の数とを等しくすることにした。例えば、4つ未知数の方が多いのであれば、新たな点を2つ挿入し、各点の座標のうち2つを未知数として扱う。
この場合接続点が2つ増えるので、各接続点につい条件が座標、接線、法線、曲率の7個づつの14個増える。一方で、未知数は3次元クロソイド線分が2つ増えるので、a0, a1, a2, b0, b1, b2, hの7つづつの合計14個の未知数が増えることになる。このとき点列に含まれる点の数はn+2個であるから、全体で考えると未知数は7(n+1)個、条件式は7(n+1)+4個
ということになる。ここでさらに、新たに挿入した点の座標のうち2つを未知数として扱
うとすると、未知数は4つ増えることになる。すると、未知数も条件式も7(n+2)-3個とな
り、未知数の解を求めることができるようになる。このように新たな点を挿入することによって、与えられた各点を厳密に通りG2連続かつ、両端点の接線・法線・曲率を制御した補間を行うことが可能になる。
さらに一般的な場合について考える。n個の点列を補間するとき、両端点でm個の項目を制御する場合についての挿入する点の数とその点において未知数として扱う座標の数について考える。先にも書いたが、曲線が開いている場合、点列はn-1個の曲線で補間される
。もし、厳密に各点を通るなら各3次元クロソイド線分について未知数はa0, a1, a2, b0,
b1, b2, hの7つあるので、未知数は全体で7(n-1)個あることになる。一方、条件式につ
いては、n-2個ある接続点ごとに座標、接線、法線、曲率の7個づつと終点における座標の3個が存在するので、全部で7(n-2)+3個であり、条件式の方が4つ少ない。つまり、両端点おいて制御されるべき項目は4つ以上ということになる。以下、説明中でmは4以上の自然
数、kは2以上自然数であるとして、新たに点を挿入したときに条件式と未知数の数を等しくする方法について述べる。
(i) m=2kのとき
両端であわせてm=2k個の項目を制御するとき、未知数は全体で7(n-1)個、条件式は全体で7(n-1)-4+2k個である。このとき過剰な条件式は2k-4個である。今、k-2個の点を新たに挿入することを考えると、3次元クロソイド線分がk-2本、接続点がk-2個増えるので、未
知数は全体で7(n+k-3)個、条件式は全体で7(n+k-3)-4+2k個となる。ここでさらに新たに
挿入した各点の座標の値のうち2つ(例えばx,y)を未知数として扱うとすると、未知数は全体で7(n+k-3)+2(k-2)個、条件式は全体で7(n+k-3)+2(k-2)個となり未知数と条件式の数が等しくなる。
(ii) m=2k+1のとき
両端であわせてm=2k+1個の項目を制御するとき、未知数は全体で7(n-1)個、条件式は全体で7(n-1)+2k-3個である。このとき過剰な条件式は2k-3個である。今、k-1個の点を新たに挿入することを考えると、3次元クロソイド線分がk-1本、接続点がk-1個増えるので、
未知数は全体で7(n+k-2)個、条件式は全体で7(n+k-2)-3+2k個となる。ここでさらに新た
に挿入した各点の座標の値のうち2つ(例えばx,y)を未知数として扱うとすると、未知数は全体で7(n+k-2)+2(k-2)個、条件式は全体で7(n+k-2)+2k-3個となり条件式の数が1つ多
くなる。そこで、m=2k+1の場合には挿入した点のうちひとつの点においては座標の値のうち1つだけを未知数として扱うとする。そうすることで、未知数は全体で7(n+k-2)+2(k-2)個、条件式は全体で7(n+k-2)+2(k-2)個となり未知数と条件式の数が等しくなる。
以上に述べた方法のように、追加される条件の数に合わせて、挿入した点の座標のうち未知数にする数を調整することで接線、法線、曲率以外の例えば接線回転角αを制御する場合などの種々の場合でも未知数と条件式の数をあわせることができ、理論上両端点の各値を制御することができる。また、制御項目と未知数、条件式の数についてまとめたものを表5に記す。
Figure 0004667794
(b)手法
始点・終点で各値を制御する3次元クロソイドを用いた補間法は、図14及び図15に
示されるように以下の流れで行われる。
Step1)制御する条件のうち4つだけを用いて厳密に補間対象点を通り、かつG2連続な補
間を行い曲線を生成する。
Step2)生成された曲線上に新たな点を挿入し、条件式と未知数の数を調整する。
Step3)の曲線パラメータを初期値として、目的の条件を満たすような各曲線のパラメ
ータの近似値をニュートン・ラプソン法によって求める。
以下、各Stepについて説明を補足する。まずStep1においては、接線方向を制御するの
であれば、(3)の手法を用いて曲線を生成する。また、接線方向を制御しない場合につい
ても、その曲線のパラメータを求める際の初期値としては、(3)の手法と同じ初期値を用
いる。
次にStep2において新たな点を挿入し、条件と未知数の数の調整を行うことになる。こ
の際、新たに挿入する点は、各補間対象点間において可能な限り1つ以下になるようにす
る。また、挿入される点としては補間対象点同士を結ぶStep1で生成された3次元クロソイド線分の中間の点を挿入した。さらに、挿入される点は両端から順々に挿入していくものとする。つまり、最初に挿入されるのは始点とその隣の点の間と終点とその隣の点の間である。
最後にStep3についてであるが、Step3で行うニュートン・ラプソン法のための初期値を新たに決定する必要がある。そのため、新たな点が挿入された曲線については、1-4で述べた3次元クロソイド曲線を分割する手法を用いて曲線を分割し、生成された曲線の各値
から決定した。点が挿入されていない曲線については、Step1で生成した曲線の値をその
まま用いる。以上で、Step3における曲線の各パラメータの初期値を決定した。この初期
値を用いて、ニュートン・ラプソン法によって得られたパラメータから3次元クロソイド
曲線を生成し、点列間を目的の条件を満たすような3次元クロソイド曲線で補間を行った
(C)補間例
実際に両端での接線、法線、曲率を表6の条件で制御するように3次元クロソイド補間
した例を示す。厳密に通るべき補間対象の点に通し番号を振り、P1, P2, P3とした。
Figure 0004667794
この条件で、実際に補間を行った結果を図16に示す。実線が3次元クロソイド曲線、
破線・一点鎖線・二点鎖線・三点鎖線は各曲線の曲率半径変化パターンを示している。また、図17に図16の曲線の種類を対応させた各曲線の始点からの移動距離と曲率の関係のグラフを記す。生成された曲線は、表7からわかるように与えた条件を満たしていることがわかる。
Figure 0004667794
(d)中間点での値の制御
(b)の手法により、両端点における各値を制御しつつ、G2連続な補間が行えるようにな
った。ここで、両端点でなく中間点において値を制御する場合について考える。
例えば図18のような点列を補間する場合において、中間点Pcで接線、法線を制
御することを考える。しかし、今まで述べてきた手法では中間点における値を制御することはできない。そこで、ここではこの点列を2つに分けることによって中間点での値を制御した。
すなわち、点列に対して一挙に補間を行うのではなく、中間点Pcを挟んで曲線C1とC2とに分けて補間を行う。その場合点Pcは、端点にあたることになるので(b)の手法を用いれ
ば値を制御することができるようになる。
このように制御したい値のある点で区分を分け、その両端における値を制御して補間した結果生成される曲線を繋いでいけば、理論上、各点において接線・法線・曲率の制御可能な3次元クロソイド補間を行うことができる。
(5)両端点での接線、法線、曲率を制御した3次元クロソイド補間
(a)手法の流れ
始点・終点で各値を制御する3次元クロソイドを用いた補間法は、図19に示される以
下の流れで行われる。以後、この流れに沿って説明する。
(b-1)補間対象の点を与える
この例では3次元空間の3点{0.0, 0.0, 0.0},{5.0, 5.0, 10.0},{10.0, 10.0, 5.0}を与えた。その他各点に与えた接線、法線、曲率などの条件をまとめて表8に記した。
Figure 0004667794
(b-2) r=4の3DDCSの生成
ニュートン・ラプソン法においては、解の探索を始める際に適当な初期値を与える必要がある。ここではその初期値を得るための準備をする。先行研究である3D Discrete Clothoid Splinesは、厳密に補間対象点を通り、曲率が始点からの移動距離に対して滑らかに変化するような性質を持っている。そこで、本研究では3次元クロソイド補間のための初
期値を、図20のようなr =4の3D Discrete Clothoid SplinesのポリゴンQを作り、そこ
から計算で決定した。また、実際にこの点列より生成されたポリゴンを図21に、頂点の座標を表9に載せた。
Figure 0004667794
(b-3) 初期値の決定
ニュートン・ラプソン法で解を求めるには、各未知数の初期値を決定する必要がある。本手法ではその値をb-2で生成したポリゴンQを使って、各未知数の近似値を求めて決定する。3D Discrete Clothoid Splinesでは各頂点のフレネ標構がすでに求まっている。そこで、b-2で生成したポリゴンQの単位接線方向ベクトルtよりパラメータa0, b0を求める
。この接線方向ベクトルtはポリゴンQを求めたときにすでに既知となっており、このtと3次元クロソイド曲線の接線の式とにより、ポリゴンQの頂点の接線方向回転角α,βが求まる。これにより各曲線のa0, b0の初期値が求まる。また、始点から始まる3次元クロソイドセグメントにおいては、その値を与える。
Figure 0004667794
ここで、3D Discrete Clothoid Splinesは、頂点が等距離に並んでいることを考えると、図20の点q4i+1では、曲線長変数Sが1/4であると近似することができる。同様に点q4(i+1)-1では、曲線長変数Sが3/4であると近似することができる。これらを3次元クロソイ
ド曲線のαの式とをあわせて考慮すると下記の式が成り立つ。
Figure 0004667794
この式は未知数がa14iとa24iの2次元連立方程式になっており、これを解いてパラメー
タa1, a2の初期値とする。同様にパラメータb1, b2の初期値も決定できる。
残る未知数は曲線長hであるが、この初期値ついては3次元クロソイド曲線の曲率の式より算出する。3次元クロソイド曲線の曲率は、下記で表される。
Figure 0004667794
この式を変形すると以下の式になり、hの初期値が決定される。
Figure 0004667794
以上の方法で7つの3次元クロソイドパラメータについて初期値を決定することができる。
実際にこの手法により求めた初期値を表10に記す。
Figure 0004667794
(b-4) 厳密に各点を通り、G2連続な3次元クロソイド補間
(b-3)で決定した初期値を用いてG2連続となるような条件下で各曲線のパラメータの近
似値をニュートン・ラプソン法によって求める。これによって得られたパラメータから3
次元クロソイドセグメントを生成し、点列間を3次元クロソイド曲線で補間することを行
った。
ここで、3点の3次元クロソイド補間において、厳密に補間対象の点を通り、かつG2連続となるような条件について具体的な条件を考える。図22は点P1, P2, P3の3次元クロソ
イド補間を示す。点P1, P2間を結ぶ曲線を曲線C1、点P2, P3間を結ぶ曲線を曲線C2とすると、a01とb01は既に既知であるから、未知数は、曲線C1のパラメータa11, a21, b11, b21, h1、曲線C2のパラメータa02, a12, a22, b02, b12, b22, h2の12個となる。以後説明にでてくる文字のサブスクリプトは各曲線のサブスクリプトに対応しており、各曲線における座標、接線回転角α、β、法線、曲率を曲線長変数Sの関数としてPxi, Pyi, Pzi, αii, ni, κiのように表す。
まず、点P1においては厳密に補間対象の点を通るという条件は3次元クロソイド曲線の
定義から考えると、始点を与えた時点で必然的に達成される。また接線方向についても既に既知な値として与えるので点P1における条件は特に指定しない。
次に点P2について考える。点P2は曲線同士の接続点であり、G2連続になるには位置、接線、法線、曲率が連続する必要がある。つまり点P2において成り立つべき条件は下記のようになる。
Figure 0004667794
最後に点P3について考える。点P3は終点であり、満たすべき条件は位置、接線のみであるので以下の5つの条件が成り立つ。ここでα3、β3は、与える終点における接線ベクト
ルを決める接線方向回転角α、βであるとする。
Figure 0004667794
以上より、未知数a11, a21, b11, b21, h1 , a02, a12, a22, b02, b12, b22, h2の12
個に対して、条件式は下記の12個が成り立つことがわかる。まとめると成り立つ条件式は下記のようになる。
Figure 0004667794
これで未知数12個について12個の式が成り立つので解を求めることができる。この式をニュートン・ラプソン法によって解き、解を求めた。表11に初期値と解を記す。
Figure 0004667794
(b-5) 曲線の生成
図23は(b-4)で求めたパラメータを元に生成した曲線とb-2で生成したポリゴンとを同時に表示したものである。実線の曲線が曲線C1、破線の曲線が曲線C2である。この段階では始点・終点で接線方向を制御したG2連続な3次元クロソイド曲線になっている。
(b-6)条件式と未知数
ここで、さらに始点P1と終点P3における法線と曲率も表8で与えた値にすることを考える。始点・終点でさらに法線と曲率を制御するには、始点と終点における条件をそれぞれ2つ増やす必要がある。しかし、条件が4つ増えた状態では未知数の数との関係からその条件を満たす解を求めることが出来ない。そこで、未知数と条件式の数を合わせるために、図24に示されるように曲線C1の曲線長変数S =0.5の位置に点DP1を新たに挿入した。ま
た、曲線C2についても曲線長変数S =0.5の位置に点DP2を新たに挿入した。
このとき、点P1と点DP1を結ぶ曲線を曲線C’1、点DP1と点P2を結ぶ曲線を曲線C’2、点P2と点DP2を結ぶ曲線を曲線C’3、点DP2と点P3を結ぶ曲線を曲線C’4とする。以後説明にでてくる文字のサブスクリプトは各曲線名に対応しており、例えば曲線Cにおける座標、
接線回転角α、β、法線、曲率を曲線長変数Sの関数としてPxc, Pyc, Pzc, αcc, nc,
κcのように表す。また、始点・終点においては、座標、接線回転角α、β、法線、曲率を始点ではPxs, Pys, Pzs, αss, ns, κs、終点ではPxe, Pye, Pze, αee, ne,
κeのように表す。
以下に各点において成り立つ条件を記す。
Figure 0004667794
以上より、全体で成り立つべき条件式は32個である。ここで、各曲線が持つクロソイドパラメータはa0, a1, a2, b0, b1, b2, hの7つづつであり、かつ、曲線が4本なので未知数は28個となる。しかし、これでは未知数と条件式の数が等しくないので、解を求めることが出来ない。そこで新たに挿入した2つの点DP1,DP2のy,z座標を未知数として扱い、未
知数を4つ増やした。こうすることで未知数も条件式も32個となり、解を求めることがで
きる。
(b-7)初期値の決定2
(b-6)で立てた条件式を満たす解を求めるためにニュートン・ラプソン法を用いるが、
その収束率を上げるために未知数の初期値を決定する。方法としては、図25のように(b-5)で生成した3次元クロソイド曲線を新しく挿入した点の前後で分割することにより、3
次元クロソイド曲線を4本作り、そのクロソイドパラメータを与えた。
曲線の分割法については、曲線C1を曲線C’1と曲線C’2とに分割する方法を説明すると、曲線C’1のクロソイドパラメータh’, a’0, a’1, a’2, b’0, b’1, b’2は、曲線C1のパラメータを用いて、下記の式で表せる。ここでSdは分割点における曲線長変数でこ
こでは0.5である。
Figure 0004667794
次に分割点DP1を始点とする曲線C’2について考える。まず、曲線C1と大きさ、形状が
同じで向きが逆な曲線を曲線C’’ 1とすると、その曲線はのクロソイドパラメータh’’, a’’0, a’’1, a’’2, b’’0, b’’1, b’’2は、曲線C1の曲線のパラメータを用いて、下記の式で表せる。
Figure 0004667794
この曲線上において分割点DP1は、DP1=C’’1(1- Sd)で表される。ここで曲線C’’1を点DP1で分割することを考えると、その分割された曲線のうち点P2を始点とする曲線C’’
2は、曲線C’ 2と大きさ、形状が同じで向きが逆な曲線になっている。曲線C‘1を生成
した方法により曲線C’’2は、生成することができる。ここで、さらに曲線C’’2に対して大きさ、形状が同じで向きが逆な曲線を生成すれば、曲線C2は生成することができる。
この曲線C2のクロソイドパラメータh’’, a’’0, a’’1, a’’2, b’’0, b’’1,
b’’2は、曲線C0のパラメータを用いて下記の式で表される。
Figure 0004667794
以上の方法で、3次元クロソイド曲線C1上の曲線長変数がS =0.5である点DP1で曲線C1
を曲線C’1とC’2とに分割することができる。同様の手法で、曲線C2上の曲線長変数がS =0.5である点DP2で曲線C2を曲線C’3とC’4とに分割することができる。
この方法で分割した4つの曲線のパラメータを表12に載せた。この曲線のパラメータ
をb-6で立てた条件式を満たす解を求める際のニュートン・ラプソン法の初期値に用いた
Figure 0004667794
(b-8)条件を満たすクロソイドパラメータを求める
(b-7)で決定した初期値を元に、(b-6)で立てた条件式を満たす解をニュートン・ラプソン法で求めた。表13は算出された各曲線のパラメータである。また、表14は与えた値と生成された曲線の始点・終点の接線、法線、曲率の差を示したものである。
Figure 0004667794
Figure 0004667794
(b-9)曲線の生成
(b-8)で求めたパラメータにより生成された曲線を図26に示す。実線が3次元クロソイド曲線、破線・一点鎖線・二点鎖線・三点鎖線は各曲線の方向を主法線方向に、大きさを曲率半径に自然対数を足して対数を取った曲率半径変化パターンを示している。また、図27に図26の線の種類に対応させた各曲線の始点からの移動距離sと曲率κの関係のグ
ラフを記す。生成された曲線は、表12からわかるように与えた条件を満たしていることがわかる。
以上で、両端で接線、法線、曲率を制御した3次元クロソイド補間法による曲線生成の
例を記した。
3. 3次元クロソイド補間を用いた数値制御方式
上記の3次元クロソイド補間曲線は、工作機械の工具やその他の運動対象物の運動制御
のための数値制御情報の発生に有効に用いられる。その特徴は、速度制御が容易なこと、及び、速度変化を滑らかにすることが可能なことである。
(1)3次元クロソイド補間を用いた数値制御方式
3次元クロソイド補間曲線を用いた数値制御方式は、図28に示される次の手順からな
る。
(a)工具運動軌跡の設計(図28、S1)
前節に述べた手法により、条件を満たす3次元クロソイド補間曲線を決定する。ロボッ
ト等の工具が動くとき、その工具の代表点(工具点、tool center point)は平面的ある
いは空間的に描かれた連続な軌跡曲線(直線を含む)の上を時間的に移動すると考えることができる。工具点の位置は、座標(x、y、z)で表され、工具点の姿勢は、例えばx、y、z軸に対する回転角度で表される。どのような複雑な動きでも、工具点の軌跡は途切れ途切れになることなく、連続的に繋がっている。運動制御の第1段階は、この軌跡の形状を、3次元クロソイド曲線に設計することにある。
(b)運動曲線の当てはめ(図28、S2)
数値制御からの要求により、3次元クロソイド補間曲線に沿って、曲線上の制御対象点
の移動速度の分布を指定する。すなわち、運動制御の第2段階は、設計された軌跡上を動く工具点の速度・加速度を決定することである。軌跡上を工具点がどのような時間の関数として動くかは、工具点の速度・加速度を決定することで定められる。工具点の速度・加速度は、時間に対して決定される場合と、軌跡の形状に付随して決定される場合がある。一般的には時間に対して決定される場合が多いが、例えば曲面加工をする場合、平らな部
分では高速で移動させ、曲がっている部分では低速で移動させたいという要請から、軌跡の形状に付随して速度が決定される。
本実施形態においては、例えばカム機構に採用されている特性の良い曲線を採用する。カルテシアン空間(実在空間)で定義された位置・姿勢は連続した曲線群を構成しているが、その一つ一つの曲線に運動曲線を当てはめ、加減速を指定する。カルテシアン空間とは、原点で互いに直交するx、y、zの3軸を用いてつくられる3次元座標系であり、工具点の位置のみならず姿勢も表すことができる。
(c)時分割(図28、S3)及びカルテシアン座標系による工具の位置・姿勢の計算(
図8、S4)
ここでは、数値制御情報を計算する単位時間ごとに、制御対象の指定された移動速度に従って、工具点の移動位置及び姿勢を算出する。軌跡と運動が確定したので、工具点の位置・姿勢が時間tの関数として与えられたことになる。これにより、時間tを微小時間間隔で与えたとき、それぞれの時刻に対する工具点の変位を求めることができる。(c)の計
算は、具体的には以下のように行なわれる。現在点においては、位置情報や接線、曲率などの値がわかっている。指定された移動速度に単位時間を乗ずれば、単位時間中の移動曲線長がわかり、これにより移動後の曲線長パラメータが計算できる。この移動後の曲線長パラメータにより、移動後の点における位置情報や接線、曲率などの値を計算することが出来る。
以上の手続きによって、カルテシアン座標系(実在空間)における時間tに対する工具点の位置と姿勢が計算される。変数としては、3次元では(x、y、z、λ、μ、ν、θ)となる。ただし、(λ、μ、ν、θ)は姿勢Eを等価回転で表したもので(λ、μ、ν
)は等価回転の軸を、θは回転角を示す。
また、数値制御からの要求により、3次元クロソイド補間曲線に沿って、法線方向へ指定寸法だけオフセットしたオフセット点を求めて、これをカッターパス(工具中心の軌跡)とする。この計算も、法線方向が求まっているので、容易である。
(d)逆機構解(図28、S5)
次に、上記の工具点の位置・姿勢を与えるために必要な各軸の回転角を求める。この過程は一般に逆機構解(inverse kinematics)と呼ばれている。例えば6軸のロボットがあるとすると、関節が6つあるので、肩の関節、腕の関節、ひじの関節、手首の関節等が何度回転したかで工具点の位置・姿勢が決まる。これが順機構解と呼ばれる。逆機構解は、これとは反対に実在の空間の位置・姿勢から軸空間の回転角θ1〜θ6を求めるものである。各軸のアクチュエータは回転モータであるとは限らず、リニアモータ等の直動アクチュエータである場合もあるが、その場合でも最低限度実変位をリニアモータの入力パルス数に変換する電子ギアの計算が必要となる。逆機構解は、ロボット等の機構の型ごとに固有なので、種々のロボット等について個別に解を用意しておく。
(e)軸座標系による各軸モータ変位の計算(図28、S6)
時分割された各工具点につき逆機構解を求め、これを各軸モータ(直動アクチュエータを含む)の変位パルスとして整数化する。パルス制御でない場合には、各軸変位の最少分解単位(分解能)を用いて、パルス数相当の整数化されたデータとして求める。
上記、(a)及び(b)は準備的な手順であり、一度だけ行なわれる。(c)〜(e)は、指定された単位時間ごとに実行され、目的時間あるいは目的の条件を満たすまで続行される。
上記の全ての計算を、数値制御装置の中で行うことも可能であり、あるいは、(a)及び(b)を別のコンピュータ(計算機)により計算及び設定しておき、その曲線パラメータなどを数値制御装置に送り込み、(c)〜(e)の計算を数値制御装置内で行うこともできる。
(2)NC装置とCNC装置
以下、独立の数値制御装置(NC装置)を使用する場合と、プログラマの役割を持ったコンピュータとNC装置とが一体化されたCNC装置を使用する場合について説明する。
(a)独立のNC装置を用いる場合
従来の通常のNC機械では、プログラミングを行ってNCデータを作成するプログラマと、このNCデータを用いて機械装置を動かすNC装置との二つの装置にハードウェアが分離されている。それに対して、最近のCNC機械では、プログラミングを行うコンピュータはNC装置に内蔵されて、一体化されたものとなっている。
まず、前者の、独立のNC装置を用いる場合について、3次元クロソイドによる数値制御方式を提案する。この場合、クロソイドデータの受け渡しにはクロソイドパラメータを用いるものとし、Gコードの中にクロソイドのフォーマットを定義する。これは例えば、次のようなものである。
G***
A0, A1, A2, B0, B1, B2, H
ここで、G***はGコードの番号を示す。A0〜Hは3次元クロソイドセグメントの7
つのパラメータを示す。このコードを実行する前に、工具はPの位置に来ている。NC装置ではこのパラメータを用いて、瞬時の工具位置または工具位置の差分を計算して実行する。この操作を「順解」という。順解をNC装置側で行う理由はデータの大量化を防ぐ目的からであるが、そのためにNC装置では、ある種の演算を必要とする。Gコードでク
ロソイドを表現することによって、既設のNC装置にクロソイド曲線を組み込むことが可能となる。
(b)CNC方式
プログラマの役割を持ったコンピュータとNC装置との一体化されたCNC装置の場合について述べる。この場合、クロソイドに関する計算がどの部分のハードで行われるかは問題にならない。また、データの量や転送のスピードも解決されつつある。
一般に、このプログラマには、それぞれの条件に適したクロソイドのパラメータを決定する過程が含まれる。これを「逆解」という。逆解の中には、例えば、いくつかの離散的な点列を与えて、これらの点を厳密に通る滑らかな曲線を計算するプログラム(自由点列補間)も含まれる。また、加工上必要となる工具軌跡の決定プログラム(いわゆるCAM)も含まれることが多い。
(3) 3次元クロソイド補間を用いた数値制御方式の特徴
3次元クロソイド補間を用いた数値制御方式には、次のような利点がある。
(a)上記のように、曲線が基準点からの曲線長を独立パラメータとして表現されている
ので、指定された移動速度に対応する数値制御情報を生成することが出来る。曲線長とは無関係な独立パラメータにより表現されているスプライン曲線などの他の曲線では、移動後の点が算出できても、その点に対応する独立パラメータの値を算出することが困難であり、指定された移動速度に対応する数値制御情報を生成することが容易ではない。
これを詳述するに、図29に示されるように、スプライン曲線R(t)で表現される軌跡
上の点Rから工具をある線速度で運動させる場合を考える。一定時間間隔毎に工具の目標点を算出するとき、単位時間経過後の工具の移動量ΔSはわかるが、独立変数tは時間とか曲線長とかに関係するものではないので、独立変数の変化量Δtは直ちには求めることはできない。R+ΔS=R(t+Δt)の式を解いてΔtを求めなければ、目標点を算出することができないので、一定時間間隔毎にこの計算を繰り返さなければならないことになる。
(b)3次元クロソイド曲線では、曲線長に対する曲率の変化の仕方が、近似的に一定であることが期待され、これに対応する数値制御情報は、運動制御の観点から、力学的に無理の少ない制御情報となることが期待される。一般のスプライン補間などでは、曲率変化を予測・制御することは困難である。
(c)3次元クロソイド曲線は、その特殊な場合として、直線、円弧、螺旋曲線などを含
んでおり、個別の曲線式を組み込むことなく、多様な曲線に対する数値制御情報を厳密に表現することが出来る。
(d)3次元クロソイド曲線は座標軸のとり方によらない自然方程式である。x,y,z軸で曲
線が表される従来のNC装置では、例えばワークを斜めに傾けて加工するときに、ワークの取り付け方によっては、斜めの面を加工しやすかったり、加工しにくかったりすることがある。3次元クロソイド曲線では、曲線が線長によって与えられるので、斜めの面を加工する場合でも、斜めの面上に軌跡を作成すれば、水平面を加工するのと同様に加工できる。
なお本発明の、接線方向のピッチ角およびヨー角のそれぞれが曲線長または曲線長変数の二次式で与えられる3次元曲線(3次元クロソイド曲線という)を用いて工具軌跡またはワークの輪郭形状を表現するプログラムをコンピュータで実行する際には、コンピュータのハードディスク装置等の補助記憶装置にプログラムを格納しておき、メインメモリーにロードして実行する。また、そのようなプログラムは、CD−ROM等の可搬型記録媒体にプログラムを格納して売買したり、ネットワークを介して接続されたコンピュータの記録装置に格納しておき、ネットワークを通じて他のコンピュータに転送することもできる。また、そのようなプログラムによる計算結果(3次元クロソイド曲線のの曲線パラメ
ータ、各軸モータの変位パルス等)をCD−ROM等の可搬型記録媒体に格納して売買す
ることもできる。
本発明の3次元クロソイド曲線によれば、工業製品の設計生産に必要となる空間曲線の汎用的な発生方法を提供することができる。空間曲線に沿って物体が加減速を伴って運動する場合に、拘束力変化が滑らかな設計を可能とする。この特徴は、数値制御装置に広く応用される。数値制御装置以外にも、曲線長に対して曲率の変化を適切に設計できることにより、審美的な意匠曲線設計など、様々な産業分野に有効に適用される。
x、y座標上の2次元クロソイド曲線を示す図。 2次元クロソイド曲線を示す図。 3次元クロソイド曲線のα、βの定義を示す図。 典型的な3次元クロソイド曲線の形状を示す図。 連続な補間の条件を示す図。 接触平面の概念を示す図。 クロソイド補間の手法の流れの概要を示す図。 連続となるような条件を満たすクロソイド補間の手法の流れの概要を示す図。 点P1, P2, P3の3次元クロソイド補間を示す図。 r =4の3D Discrete Clothoid Splinesを示す図。 3D Discrete Clothoid Splinesを説明する図。 補間により生成された3次元クロソイド曲線の透視図。 横軸に始点からの移動距離、縦軸に曲率を取った曲率変化グラフ。 両端点で各値を制御する3次元クロソイド補間の流れの概要を示す図。 両端点で各値を制御する3次元クロソイド補間の概略図。 実際に補間を行った結果を示す図。 各曲線の始点からの移動距離と曲率の関係のグラフ。 中間点における値の制御を示す図。 始点・終点で各値を制御する3次元クロソイドを用いた補間法の流れの概要を示す図。 r =4の3D Discrete Clothoid Splinesを示す図。 生成されたポリゴンを示す図。 点P1, P2, P3の3次元クロソイド補間を示す図。 生成された曲線とポリゴンとを示す図。 点を挿入した図。 分割された3次元クロソイド曲線を示す図。 生成された曲線を示す図。 各曲線の始点からの移動距離sと曲率κの関係を示すグラフ。 数値制御方法を示す工程図。 従来のスプライン曲線を示す比較図。

Claims (4)

  1. 接線方向のピッチ角及びヨー角のそれぞれが曲線長または曲線長変数の二次式で与えられる3次元曲線(3次元クロソイド曲線という)を用いて工具軌跡またはワークの輪郭形状を表現し、
    前記3次元曲線に沿って移動する工具の運動を指定し、
    指定された運動に従って単位時間毎に工具の移動位置を算出する数値制御方法。
    ここで、運動とは、時間の関数として変化する位置情報をいう。
    前記3次元クロソイド曲線を以下の式で定義する。
    Figure 0004667794
    ここで、
    Figure 0004667794
    はそれぞれ、3次元クロソイド曲線上の点の位置ベクトル、及びその初期値を示す。
    始点からの曲線の長さをsとし、その全長(始点から終点までの長さ)をhとする。sをhで割った値をSで表わす。Sは無次元の値であり、これを曲線長変数と呼ぶ。
    i,j,kはそれぞれ、x軸、y軸、及びz軸方向の単位ベクトルである。
    uは点Pにおける曲線の接線方向を示す単位ベクトルであり、式(2)によって与えられる。E kβ 及びE jα は回転マトリクスであり、それぞれ、k軸まわりの角度βの回転及びj軸まわりの角度αの回転を表わしている。前者をヨー(yaw)回転、後者をピッチ(pitch)回転という。式(2)は、i軸方向の単位ベクトルを、まずj軸まわりにαだけ回し、しかるのちにk軸まわりにβだけ回すことによって、接線ベクトルuが得られることを示している。a ,a ,a ,b ,b ,b は定数。
  2. 接線方向のピッチ角及びヨー角のそれぞれが曲線長または曲線長変数の二次式で与えられる3次元曲線(3次元クロソイド曲線という)を用いて工具軌跡またはワークの輪郭形状を表現し、
    前記3次元曲線に沿って移動する工具の運動を指定し、
    指定された運動に従って単位時間毎に工具の移動位置を算出する数値制御装置。
    ここで、運動とは、時間の関数として変化する位置情報をいう。
    前記3次元クロソイド曲線を以下の式で定義する。
    Figure 0004667794
    ここで、
    Figure 0004667794
    はそれぞれ、3次元クロソイド曲線上の点の位置ベクトル、及びその初期値を示す。
    始点からの曲線の長さをsとし、その全長(始点から終点までの長さ)をhとする。sをhで割った値をSで表わす。Sは無次元の値であり、これを曲線長変数と呼ぶ。
    i,j,kはそれぞれ、x軸、y軸、及びz軸方向の単位ベクトルである。
    uは点Pにおける曲線の接線方向を示す単位ベクトルであり、式(2)によって与えられる。E kβ 及びE jα は回転マトリクスであり、それぞれ、k軸まわりの角度βの回転及びj軸まわりの角度αの回転を表わしている。前者をヨー(yaw)回転、後者をピッチ(pitch)回転という。式(2)は、i軸方向の単位ベクトルを、まずj軸まわりにαだけ回し、しかるのちにk軸まわりにβだけ回すことによって、接線ベクトルuが得られることを示している。a ,a ,a ,b ,b ,b は定数。
  3. 工具の運動を数値制御するために、
    コンピュータを、
    接線方向のピッチ角及びヨー角のそれぞれが曲線長または曲線長変数の二次式で与えられる3次元曲線(3次元クロソイド曲線という)を用いて工具軌跡またはワークの輪郭形状を表現する手段と、
    前記3次元曲線に沿って移動する工具の運動を指定する手段と、
    指定された運動に従って単位時間毎に工具の移動位置を算出する手段、として機能させるためのプログラム。
    ここで、運動とは、時間の関数として変化する位置情報をいう。
    前記3次元クロソイド曲線を以下の式で定義する。
    Figure 0004667794
    ここで、
    Figure 0004667794
    はそれぞれ、3次元クロソイド曲線上の点の位置ベクトル、及びその初期値を示す。
    始点からの曲線の長さをsとし、その全長(始点から終点までの長さ)をhとする。sをhで割った値をSで表わす。Sは無次元の値であり、これを曲線長変数と呼ぶ。
    i,j,kはそれぞれ、x軸、y軸、及びz軸方向の単位ベクトルである。
    uは点Pにおける曲線の接線方向を示す単位ベクトルであり、式(2)によって与えられる。E kβ 及びE jα は回転マトリクスであり、それぞれ、k軸まわりの角度βの回転及びj軸まわりの角度αの回転を表わしている。前者をヨー(yaw)回転、後者をピッチ(pitch)回転という。式(2)は、i軸方向の単位ベクトルを、まずj軸まわりにαだけ回し、しかるのちにk軸まわりにβだけ回すことによって、接線ベクトルuが得られることを示している。a ,a ,a ,b ,b ,b は定数。
  4. 工具の運動を数値制御するために、
    コンピュータを、
    接線方向のピッチ角及びヨー角のそれぞれが曲線長または曲線長変数の二次式で与えられる3次元曲線(3次元クロソイド曲線という)を用いて工具軌跡またはワークの輪郭形状を表現する手段と、
    前記3次元曲線に沿って移動する工具の運動を指定する手段と、
    指定された運動に従って単位時間毎に工具の移動位置を算出する手段、として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
    ここで、運動とは、時間の関数として変化する位置情報をいう。
    前記3次元クロソイド曲線を以下の式で定義する。
    Figure 0004667794
    ここで、
    Figure 0004667794
    はそれぞれ、3次元クロソイド曲線上の点の位置ベクトル、及びその初期値を示す。
    始点からの曲線の長さをsとし、その全長(始点から終点までの長さ)をhとする。sをhで割った値をSで表わす。Sは無次元の値であり、これを曲線長変数と呼ぶ。
    i,j,kはそれぞれ、x軸、y軸、及びz軸方向の単位ベクトルである。
    uは点Pにおける曲線の接線方向を示す単位ベクトルであり、式(2)によって与えられる。E kβ 及びE jα は回転マトリクスであり、それぞれ、k軸まわりの角度βの回転及びj軸まわりの角度αの回転を表わしている。前者をヨー(yaw)回転、後者をピッチ(pitch)回転という。式(2)は、i軸方向の単位ベクトルを、まずj軸まわりにαだけ回し、しかるのちにk軸まわりにβだけ回すことによって、接線ベクトルuが得られることを示している。a ,a ,a ,b ,b ,b は定数。
JP2004250372A 2004-02-27 2004-08-30 数値制御方法、数値制御装置、プログラム及びコンピュータ読み取り可能な記録媒体 Active JP4667794B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004250372A JP4667794B2 (ja) 2004-02-27 2004-08-30 数値制御方法、数値制御装置、プログラム及びコンピュータ読み取り可能な記録媒体
KR1020067017131A KR101056600B1 (ko) 2004-02-27 2005-02-14 클로소이드 곡선을 이용한 공업 제품의 설계 방법 및 이설계 방법에 의해 설계된 공업 제품, 클로소이드 곡선을이용한 수치 제어 방법 및 장치
PCT/JP2005/002132 WO2005083537A1 (ja) 2004-02-27 2005-02-14 クロソイド曲線を用いた工業製品の設計方法及びこの設計方法により設計された工業製品、クロソイド曲線を用いた数値制御方法及び装置
DE112005000451.1T DE112005000451B4 (de) 2004-02-27 2005-02-14 Designverfahren für ein Industrieerzeugnis unter Verwendung einer Klothoidenkurve, und Verfahren und Vorrichtung zur numerischen Steuerung unter Verwendung der Klothoidenkurve
US10/590,704 US7860592B2 (en) 2004-02-27 2005-02-14 Design method for industrial product using clothoid curve, industrial products designed by the design method, and method and device for numerical control using the clothoid curve
TW094105861A TWI370982B (en) 2004-02-27 2005-02-25 Method for designing industrial goods by using clothoid curve,industrial good desingde by this method, a numerical control method using clothoid curve, a numerical control machine using clothoid curve,and a recording medium.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004055556 2004-02-27
JP2004250372A JP4667794B2 (ja) 2004-02-27 2004-08-30 数値制御方法、数値制御装置、プログラム及びコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2005276155A JP2005276155A (ja) 2005-10-06
JP4667794B2 true JP4667794B2 (ja) 2011-04-13

Family

ID=35175726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004250372A Active JP4667794B2 (ja) 2004-02-27 2004-08-30 数値制御方法、数値制御装置、プログラム及びコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP4667794B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5458428B2 (ja) * 2008-05-30 2014-04-02 株式会社国際電気通信基礎技術研究所 運動機能評価装置、およびプログラム
JP5555838B2 (ja) * 2010-01-13 2014-07-23 マッスル株式会社 軌道生成方法および軌道生成装置
CN112486094B (zh) * 2020-11-30 2022-07-05 哈尔滨工业大学(威海) 复杂曲面侧铣加工的刀具优化和加工轨迹生成方法
CN114035513A (zh) * 2021-09-28 2022-02-11 苏州谋迅智能科技有限公司 S形速度曲线前瞻规划方法和装置、存储介质和计算设备
CN115097786B (zh) * 2022-08-26 2022-12-02 济南邦德激光股份有限公司 基于回旋线的加工轨迹优化方法、设备和存储介质

Also Published As

Publication number Publication date
JP2005276155A (ja) 2005-10-06

Similar Documents

Publication Publication Date Title
KR101056600B1 (ko) 클로소이드 곡선을 이용한 공업 제품의 설계 방법 및 이설계 방법에 의해 설계된 공업 제품, 클로소이드 곡선을이용한 수치 제어 방법 및 장치
Kim et al. Toolpath generation along directions of maximum kinematic performance; a first cut at machine-optimal paths
Shi et al. Corner rounding of linear five-axis tool path by dual PH curves blending
Affouard et al. Avoiding 5-axis singularities using tool path deformation
Zhang et al. Curve fitting and optimal interpolation on CNC machines based on quadratic B-splines
Tournier et al. Iso-scallop tool path generation in 5-axis milling
Chen et al. An approach to the path planning of tube–sphere intersection welds with the robot dedicated to J-groove joints
Xiao et al. Space corner smoothing of CNC machine tools through developing 3D general clothoid
JP5555838B2 (ja) 軌道生成方法および軌道生成装置
US20120046782A1 (en) Kinematic approximation algorithm having a ruled surface
Srinivasan et al. Fine tuning of rational B-splines motions
Min et al. Six-dimensional B-spline fitting method for five-axis tool paths
CN111633668A (zh) 一种用于机器人加工三维自由曲面的运动控制方法
Zha et al. Generation and simulation of robot trajectories in a virtual CAD-based off-line programming environment
JP4667794B2 (ja) 数値制御方法、数値制御装置、プログラム及びコンピュータ読み取り可能な記録媒体
Grassmann et al. Quaternion-Based Smooth Trajectory Generator for Via Poses in $\boldsymbol {S\; E (3)} $ Considering Kinematic Limits in Cartesian Space
JP4667796B2 (ja) 数値制御方法、数値制御装置、プログラム及びコンピュータ読み取り可能な記録媒体
JP4667795B2 (ja) 数値制御方法、数値制御装置、プログラム及びコンピュータ読み取り可能な記録媒体
Grassmann et al. Smooth point-to-point trajectory planning in $ SE $(3) with self-collision and joint constraints avoidance
Zha et al. Trajectory coordination planning and control for robot manipulators in automated material handling and processing
JP4743580B2 (ja) 工業製品の設計方法及びこの設計方法により設計された工業製品
Min et al. A new error-controllable method for smoothing the G01 commands
Qiao et al. A space cutter compensation method for multi-axis machining using triple NURBS trajectory
CN113946136A (zh) 数控系统的控制方法、数控系统及具有存储功能的装置
CN113946139A (zh) 数控系统的速度预测、数控系统的控制方法及数控系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101202

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110112

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4667794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250