一種基於NURBS的空間自由曲線擬合方法與流程
2023-10-06 22:38:44 1
本發明涉及空間自由曲線擬合方法,特別涉及一種基於nurbs的空間自由曲線擬合方法。
背景技術:
空間曲線擬合在機器人和數控工具機運動路徑生成,點雲處理等方面具有廣泛的應用。空間曲線擬合主要的方法有拉格朗日擬合法,分段三次埃爾米特擬合法,圓弧樣條曲線擬合擬合法,nurbs樣條曲線擬合法等。但是拉格朗日插值法會出現龍格現象,且擬合誤差較大分段;三次埃爾米特插值光滑性不高只有連續的一階導數;圓弧樣條曲線曲率呈跳躍式變化,說明光順性較差,且用圓弧擬合緩和曲線適應性較差。而現有的nurbs曲線擬合法因為計算複雜,耗時長,對於機器人運動控制等需要較強實時性的場合不適用。
技術實現要素:
本發明的目的是提供一種基於nurbs的空間自由曲線擬合方法,旨在解決空間自由曲線擬合平滑性和實時計算問題。
本發明的目的通過下述技術方案來實現:
1、一種基於nurbs的空間自由曲線擬合方法,其特徵在於,包括如下步驟:
s1、獲取一組離散點序列{qk},k=0,1,...,n;
s2、使用弦長參數化或者向心參數化法計算數據點對應的nurbs曲線參數;
s3、計算nurbs節點矢量;
s4、使用最小二乘法結合線性方程組計算nurbs曲線的控制點;
s5、確定權因子,一般全部取1,最終得到nurbs曲線。
2、根據權利要求1所述的一種基於nurbs的空間自由曲線擬合方法,其特徵在於,所述步驟s2的弦長參數化包含如下步驟:
s2.1、令d為相鄰兩個離散點的弦長(空間距離)之和,則有
式中,qk為離散點矢量;k=0,1,...,n;
s2.2、則離散點對應的參數為
3、根據權利要求1所述的一種基於nurbs的空間自由曲線擬合方法,其特徵在於,所述步驟s2的向心參數化包含如下步驟:
s2.1、令
式中,qk為離散點矢量;k=0,1,...,n;
s2.2、則離散點qk對應的參數為
4、根據權利要求1所述的一種機器人關節空間平滑軌跡規劃方法,其特徵在於,所述步驟s3包含如下步驟:
s3.1、令
式中,m+1為數據點{qk},k=0,1,...,m的數目;n+1為控制點pk,k=0,1,...,n數目;p為nurbs樣條曲線次數;
s3.2、則有nurbs樣條曲線的節點矢量u=[u0u1...un+p+1]為
式中,n為控制點數目減1;p為nurbs樣條曲線次數;為數據點qi對應的參數;α=jd-i;i=int(jd),int(m)表示取小於或者等於m的最大整數。
5、根據權利要求1所述的一種機器人關節空間平滑軌跡規劃方法,其特徵在於,所述步驟s4包含如下步驟:
s4.1、則根據最小二乘擬合法的要求,即要nurbs樣條曲線c(u)滿足如下條件:
①q0=c(0),qm=c(1);
②其餘數據點{qk},k=1,2,...,m-1與曲線上的對應點的誤差平方和最小
s4.2、根據式(6),令
式中,
s4.3、式(7)的目標函數f是關於n-1個變量pk,k=1,2,...,n-1的標量函數,要使目標函數f最小,即要使f是關於n-1個變量pk,k=1,2,...,n-1的偏導數都為零,即有
式中,l=1,2,...,n-1;
由式(8)可以化簡得
式中,l=1,2,...,n-1;
s4.4、可以得到含n-1個未知數和n-1個方程的線性方程組
(ntn)p=r(10)
式中,
p=[p1…pn-1]t;
由於採用步驟s3的節點矢量定義方式,保證了每個節點區間至少包含一個數據點對應的參數使得線性方程組的係數矩陣為正定的稀疏矩陣,使用高斯消去法即可求解,解得nurbs樣條曲線的控制點pk,k=0,1,...,n。
本發明相對於現有技術具有如下的優點及效果:
本發明所採用的nurbs樣條曲線,與拉格朗日擬合法,分段三次埃爾米特擬合法,圓弧樣條曲線擬合擬合法等方法生成的曲線相比,具有高階導數連續的特點,平滑性更好。而且擬合算法計算簡單,適用於機器人運動控制能實時性要求高的場合。
附圖說明
圖1是本發明實施例的基於nurbs的空間自由曲線擬合方法流程示意圖。
具體實施方式
下面結合實施例及附圖對本發明作進一步的詳細描述,但本發明的實施方式不限於此。
現以擬合某六自由度垂直關節串聯機器人運動路徑為對象,按照以下步驟進行基於nurbs的空間自由曲線擬合:
1、一種基於nurbs的空間自由曲線擬合方法,其特徵在於,包括如下步驟:
s1、獲取一組離散點序列{qk},k=0,1,...,n;
s2、使用弦長參數化或者向心參數化法計算數據點對應的nurbs曲線參數;
s3、計算nurbs節點矢量;
s4、使用最小二乘法結合線性方程組計算nurbs曲線的控制點;
s5、確定權因子,一般全部取1,最終得到nurbs曲線。
2、根據權利要求1所述的一種基於nurbs的空間自由曲線擬合方法,其特徵在於,所述步驟s2的弦長參數化包含如下步驟:
s2.1、令d為相鄰兩個離散點的弦長(空間距離)之和,則有
式中,qk為離散點矢量;k=0,1,...,n;
s2.2、則離散點對應的參數為
3、根據權利要求1所述的一種基於nurbs的空間自由曲線擬合方法,其特徵在於,所述步驟s2的向心參數化包含如下步驟:
s2.1、令
式中,qk為離散點矢量;k=0,1,...,n;
s2.2、則離散點qk對應的參數為
4、根據權利要求1所述的一種機器人關節空間平滑軌跡規劃方法,其特徵在於,所述步驟s3包含如下步驟:
s3.1、令
式中,m+1為數據點{qk},k=0,1,...,m的數目;n+1為控制點pk,k=0,1,...,n數目;p為nurbs樣條曲線次數;
s3.2、則有nurbs樣條曲線的節點矢量u=[u0u1...un+p+1]為
式中,n為控制點數目減1;p為nurbs樣條曲線次數;為數據點qi對應的參數;α=jd-i;i=int(jd),int(m)表示取小於或者等於m的最大整數。
5、根據權利要求1所述的一種機器人關節空間平滑軌跡規劃方法,其特徵在於,所述步驟s4包含如下步驟:
s4.1、則根據最小二乘擬合法的要求,即要nurbs樣條曲線c(u)滿足如下條件:
①q0=c(0),qm=c(1);
②其餘數據點{qk},k=1,2,...,m-1與曲線上的對應點的誤差平方和最小
s4.2、根據式(6),令
式中,
s4.3、式(7)的目標函數f是關於n-1個變量pk,k=1,2,...,n-1的標量函數,要使目標函數f最小,即要使f是關於n-1個變量pk,k=1,2,...,n-1的偏導數都為零,即有
式中,l=1,2,...,n-1;
由式(8)可以化簡得
式中,l=1,2,...,n-1;
s4.4、可以得到含n-1個未知數和n-1個方程的線性方程組
(ntn)p=r(10)
式中,
p=[p1…pn-1]t;
由於採用步驟s3的節點矢量定義方式,保證了每個節點區間至少包含一個數據點對應的參數使得線性方程組的係數矩陣為正定的稀疏矩陣,使用高斯消去法即可求解,解得nurbs樣條曲線的控制點pk,k=0,1,...,n。
上述實施例為本方面較佳的實施方式,但本方明的實施方式並不受上述實施例的限制,其他的任何背離本發明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發明的保護範圍之內。