緩和曲線 迴旋曲線的計算

2021-10-06 02:10:53 字數 2296 閱讀 1332

下午打算計算驗證一下迴旋曲線公式,想偷個懶從網上down個**對比驗證,但未檢索到現成**。關於迴旋曲線離散點(x,y)的計算分析眾多,但介紹並不詳細,甚至公式和計算方法也都不同。為不枉費半天的查詢、驗證工作,也為方便同仁參考,本文介紹基礎的迴旋線計算過程及**,本次計算未涉及座標變換。

本部分可忽略不看,直接看第二部分『』迴旋線的計算『』。迴旋線的計算主要依照以下公式進行,主要在於清晰公式中的變數定義。

迴旋曲線上任意點座標計算公式:

式中,a就是曲率變化率,它可能是正數,也可能是負數。a的定義為:

a與a的關係滿足公式

為了說明a的符號,以及它與a的關係,請見下圖

在數學座標系下k0+000處的曲率為1/100(左轉為正),k0+150處的曲率為-1/50(右轉為負)。可知:

曲率變化率

(注意a為曲率關於迴旋線長度的變化率,及第一節中的dk/dl)。實際上,迴旋線的線長l為設計值,在建立一條迴旋線的時候手動設定。

根據公式,假定我們現在需要一條迴旋線,(1)起點位置的曲率為0,(2)終點位置的曲率為 1/rmin,rmin為終點位置的曲率半徑,(3)迴旋線的長度為2m。

則, a = (0 - (1/rmin)) / 2;

此時將a,l帶入公式得到是迴旋線最後乙個點的x,y值。如何得到整條迴旋線的x,y值呢?根據計算任意點的公式,我們將迴旋線長度l離散化。0~l之間均勻取若干個值,a不變,帶入計算公式即可得近似整條迴旋線的x,y值。

在matlab中實現的具體計算過程:

main.m

%% 呼叫 clothoid函式,並將終點位置的曲率半徑設定為 0.1:0.2:3

for i = 0.1:0.2:3

clothoid(i)

end

clothoid.m

%%%% 計算迴旋曲線,並繪圖

function = clothoid(rmin)

n = 100; %%

sk = 2; %% 曲線長

c = 1 / rmin / sk; %% 曲率變化率,即上文中的曲率變化率 a

x = zeros(1,n);

y = zeros(1,n);

for sk_i = sk / n : sk / n : sk

result_x = 0; %% 初始化x座標點的值

result_y = 0; %% 初始化y座標點的值

for i = 0 : n %% 計算x

result_x = result_x + ((-1) ^ i) * (c ^ (2 * i)) * (sk_i ^ (4 * i + 1)) / ((2 ^ (2 * i)) * (4 * i + 1) * fctorial(2 * i));

endx(int32(sk_i / sk * n)) = result_x;

for i = 0 : n %% 計算y

result_y = result_y + ((-1) ^ i) * (c ^ (2 * i + 1)) * (sk_i ^ (4 * i + 3)) / ((2 ^ (2 * i + 1)) * (4 * i + 3) * fctorial(2 * i + 1));

endy(int32(sk_i / sk * n)) = result_y;

endhold on;

plot(-x,-y);

hold on;

plot(-x(end),-y(end),'*'); %%迴旋曲線的最後乙個點

axis equal;

end

fctorial.m

%% 階乘函式

function y = fctorial(x)

n = 1;

for i = 1 : x

n = n * i;

endy = n ;

end

得到的結果為:

各螺旋線的線長相同(2m),曲率變化率不同。

如有幫助,請點贊哦。

基於迴旋曲線的平行泊車路徑規劃

python繪製緩和曲線 步進電機頻率緩和曲線

我正在寫一些控制五相步進電機的軟體。步進電機的速度由我傳送到電機控制器的脈衝頻率控制。我目前面臨的挑戰是,我想在運動中放鬆和放鬆。我實際上是在複製一些我沒有源 的舊軟體的行為。我對放鬆的邏輯有乙個理解,它的行為是這樣的 當結束 持續速度較慢時,緩解速度較慢 耗時較長 當結束 持續速度快時,緩解更快 ...

Occt的3D Geometry的曲線和曲面表示

cad 系統出於精度的要求,通常使用曲線和曲面對模型進行精確表示,因此曲線 曲面的幾何表示,就是比較基礎也比較重要的東西了。通常,曲線 曲面的表示有三種方式 顯示表示 形如 曲線的 y f x 隱式表示 行如 f x,y 0 引數表示,形如 x t u t y t v t 習慣上,選擇引數表示形式,...

函式的單調性和曲線的凹凸性

函式單調性是針對某乙個區間而言的,是乙個區域性性質。學習函式單調性時 針對函式定義和特定函式的性質進行判斷。單調性知識點概述 單調性改變的點為駐點或是極值點 駐點或極值點的求解方法 一階求導 判斷函式單調性的方法有很多,這邊推薦定義法和求導法。定義法 在區間d上,任取x1,x2,令x1求導法 如果函...