五次多項式插值法
五次多項式有6個待定系數(shù),可同時對起始點和目標點的角度、角速度和角加速度給出約束條件。
數(shù)學推導


MATLAB代碼
%五次多項式插值法
clear;
clc;
q_array=[0,50,150,100,40];%指定起止位置
t_array=[0,3,6,12,14];%指定起止時間
v_array=[0,10,20,-15,0];%指定起止速度
a_array=[0,20,30,-20,0];%指定起止加速度
t=[t_array(1)];q=[q_array(1)];v=[v_array(1)];a=[a_array(1)];%初始狀態(tài)
for i=1:1:length(q_array)-1%每一段規(guī)劃的時間
T=t_array(i+1)-t_array(i);
a0=q_array(i);
a1=v_array(i);
a2=a_array(i)/2;
a3=(20*q_array(i+1)-20*q_array(i)-(8*v_array(i+1)+12*v_array(i))*T-(3*a_array(i)-a_array(i+1))*T^2)/(2*T^3);
a4=(30*q_array(i)-30*q_array(i+1)+(14*v_array(i+1)+16*v_array(i))*T+(3*a_array(i)-2*a_array(i+1))*T^2)/(2*T^4);
a5=(12*q_array(i+1)-12*q_array(i)-(6*v_array(i+1)+6*v_array(i))*T-(a_array(i)-a_array(i+1))*T^2)/(2*T^5);%計算五次多項式系數(shù)
ti=t_array(i):0.001:t_array(i+1);
qi=a0+a1*(ti-t_array(i))+a2*(ti-t_array(i)).^2+a3*(ti-t_array(i)).^3+a4*(ti-t_array(i)).^4+a5*(ti-t_array(i)).^5;
vi=a1+2*a2*(ti-t_array(i))+3*a3*(ti-t_array(i)).^2+4*a4*(ti-t_array(i)).^3+5*a5*(ti-t_array(i)).^4;
ai=2*a2+6*a3*(ti-t_array(i))+12*a4*(ti-t_array(i)).^2+20*a5*(ti-t_array(i)).^3;
t=[t,ti(2:end)];q=[q,qi(2:end)];v=[v,vi(2:end)];a=[a,ai(2:end)];
end
subplot(3,1,1),plot(t,q,'r'),xlabel('t/s'),ylabel('p/m');hold on; plot(t_array,q_array,'o','color','r'),grid on;
subplot(3,1,2),plot(t,v,'b'),xlabel('t/s'),ylabel('v/(m/s)');hold on;plot(t_array,v_array,'*','color','r'),grid on;
subplot(3,1,3),plot(t,a,'g'),xlabel('t/s'),ylabel('a/(m/s^2)');hold on;plot(t_array,a_array,'^','color','r'),grid on;
% 指定文件夾保存圖片
filepath=pwd; %保存當前工作目錄
cd('C:UsersAdministratorDesktoppic') %把當前工作目錄切換到圖片存儲文件夾
print(gcf,'-djpeg','C:UsersAdministratorDesktoppicwu.jpeg'); %將圖片保存為jpg格式,
cd(filepath) %切回原工作目錄

兩種插值法的效果對比
相對于三次多項式插值, 五次多項式插值法所得到的軌跡加速度也是平滑的曲線,并沒有出現(xiàn)跳變的情況。
在機器人系統(tǒng)中,關(guān)節(jié)角加速度出現(xiàn)跳變現(xiàn)象意味著關(guān)節(jié)的電機會受到?jīng)_擊, 因此為保證電機平穩(wěn)運行,角加速度要求平滑連續(xù)。
雖然三次多項式插值法的計算量和較之更小,但對于離線規(guī)劃而言,該時間成本可以忽略,因此從規(guī)劃的軌跡平穩(wěn)度而言,五次多項式插值法更佳。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
matlab
+關(guān)注
關(guān)注
189文章
3025瀏覽量
238747 -
機器人
+關(guān)注
關(guān)注
213文章
31092瀏覽量
222346 -
機械臂
+關(guān)注
關(guān)注
14文章
596瀏覽量
26131
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
MATLAB多項式函數(shù)命令
MATLAB多項式函數(shù)命令Roots 求多項式根 Poly 構(gòu)造具有指定根的多項式 Polyvalm 帶矩陣變量的多項式計算 Residue 部分分式展開(留數(shù)計算) Polyfit
發(fā)表于 09-22 16:01
想用labview進行公式計算,請問是怎么實現(xiàn)上面是常數(shù)下面是多項式這種形式的多項式的運算?
本帖最后由 一只耳朵怪 于 2018-5-21 11:23 編輯
想用labview進行如圖所示的公式計算,我找到了多項式插件,但是沒研究明白怎么實現(xiàn)上面是常數(shù)下面是多項式這種形式的多項式的運算,不知道能否請各位大佬指點一
發(fā)表于 05-21 11:03
6自由度機械臂點到點5次多項式插值軌跡規(guī)劃
([0 0.515 0pi/20]);L5=Link([pi00pi/20]);L6=Link([0 0.08000]);[q ,qd, qdd]=jtraj(q1,q2,50); %五次多項式軌跡,得到關(guān)節(jié)角度,角速度,角加速
發(fā)表于 03-13 10:09
基于拉格朗日插值多項式的光伏電池I-V特性建模方法
本文提出了一種基于拉格朗日插值多項式的光伏電池I-V特性的新的建模方法。該方法利用桑迪亞(Sandia)國家重點實驗室I-V特性曲線上的五個點的值
發(fā)表于 01-04 17:13
?22次下載
正交多項式擬合-matlab
正交多項式擬合:給定函數(shù)f(x)在m個采樣點處的值f(xi)以及每個點的權(quán)重wi,求曲線擬合的正交多項式Pn(x)滿足最小二乘誤差||err||2=∑mi=1wi[f(xi)?Pn(xi)]2《TOL。
發(fā)表于 11-27 15:29
?8156次閱讀
局部多項式的方法對圖像進行插值
本文運用局部多項式的方法對圖像進行插值。文中我們從一幅高分辨率圖像通過下采樣得到一張低分辨率圖像,然后對其進行插值并求出
發(fā)表于 12-20 10:02
?1次下載
多項式插值算法框架
多項式插值技術(shù)是近似理論中一種常見的近似方法,被廣泛用于數(shù)值分析、信號處理等領(lǐng)域。但傳統(tǒng)的多項式插值
發(fā)表于 01-05 13:55
?0次下載
六自由度機械臂三次多項式插值法
對串聯(lián)機械臂而言,軌跡規(guī)劃可以分為:關(guān)節(jié)空間軌跡規(guī)劃和笛卡爾空間軌跡規(guī)劃。關(guān)節(jié)空間軌跡規(guī)劃是把機器人的關(guān)節(jié)變量變換成跟時間的函數(shù),然后對角速度和角加速度進行約束。 笛卡爾空間軌跡規(guī)劃是把機器人末端在
機械臂五次多項式插值法介紹
評論