0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

六自由度機械臂軌跡規(guī)劃仿真

麥辣雞腿堡 ? 來源:CSDN博客 ? 作者:兩條眉毛 ? 2023-11-17 16:11 ? 次閱讀

采用五次多項式插值法進行機械臂軌跡規(guī)劃,基于Matlab Robotics Toolbox平臺進行關(guān)節(jié)空間軌跡規(guī)劃,得到各關(guān)節(jié)角度、速度和加速度與時間關(guān)系曲線。

此外,每次重新啟動MATLAB時都需要重新輸入“startup_rvc”回車來啟動這個工具箱。

本文所控對象為串聯(lián)六R機械臂,其具體尺寸參數(shù)見于代碼中的D-H表。

MATLAB代碼

% Modified DH
% ABB robot
% lujingguihua
clear;
clc;
% %機器人建模
th(1) = 0; d(1) = 0; a(1) = 0; alp(1) = 0;
th(2) = 0; d(2) = 0; a(2) = 3.20; alp(2) = pi/2;   
th(3) = 0; d(3) = 0; a(3) = 9.75; alp(3) = 0;
th(4) = 0; d(4) = 8.87; a(4) = 2; alp(4) = pi/2;
th(5) = 0; d(5) = 0; a(5) = 0; alp(5) = -pi/2;
th(6) = 0; d(6) = 0; a(6) = 0; alp(6) = pi/2;
% DH parameters  th     d    a    alpha  sigma
L1 = Link([th(1), d(1), a(1), alp(1), 0], 'modified');
L2 = Link([th(2), d(2), a(2), alp(2), 0], 'modified');
L3 = Link([th(3), d(3), a(3), alp(3), 0], 'modified');
L4 = Link([th(4), d(4), a(4), alp(4), 0], 'modified');
L5 = Link([th(5), d(5), a(5), alp(5), 0], 'modified');
L6 = Link([th(6), d(6), a(6), alp(6), 0], 'modified');
robot = SerialLink([L1, L2, L3, L4, L5, L6]); %SerialLink 類函數(shù)
robot.name='Robot-6-dof';
robot.display(); %顯示D-H表


%軌跡規(guī)劃參數(shù)設(shè)置
init_ang = [pi/6,0, 2*pi/3,pi/3, 0, 0];
targ_ang = [pi/2,pi/6,0,0, -pi/2, pi/6];
T =(0:0.1:5);
%關(guān)節(jié)空間軌跡規(guī)劃方法
[q,qd,qdd] = jtraj(init_ang,targ_ang,T); %直接得到角度、角速度、角加速度的的序列


%%顯示
figure(1);
%動畫顯示
subplot(1,2,1); 
title('動畫過程');
robot.plot(q);
% 軌跡顯示
t=robot.fkine(q);%運動學(xué)正解
rpy=tr2rpy(t);  %t中提取位置(xyz)
subplot(1,2,2);
plot2(rpy);
xlabel('X/mm'),ylabel('Y/mm'),zlabel('Z/mm');hold on
title('空間軌跡');
text(rpy(1,1),rpy(1,2),rpy(1,3),'A點');
text(rpy(51,1),rpy(51,2),rpy(51,3),'B點');
% 指定文件夾保存圖片
filepath=pwd;           %保存當前工作目錄
cd('C:UsersAdministratorDesktoppic')                %把當前工作目錄切換到圖片存儲文件夾
print(gcf,'-djpeg','C:UsersAdministratorDesktoppic1.jpeg'); %將圖片保存為jpg格式,
cd(filepath)            %切回原工作目錄


%單個關(guān)節(jié)的位置title('關(guān)節(jié)1位置');
figure(2);
subplot(3,2,1);
plot(T,q(:,1));
xlabel('t/s'),ylabel('θ1/rad');hold on
subplot(3,2,2);
plot(T,q(:,2));
xlabel('t/s'),ylabel('θ2/rad');hold on
subplot(3,2,3);
plot(T,q(:,3));
xlabel('t/s'),ylabel('θ3/rad');hold on
subplot(3,2,4);
plot(T,q(:,4));
xlabel('t/s'),ylabel('θ4/rad');hold on
subplot(3,2,5);
plot(T,q(:,5));
xlabel('t/s'),ylabel('θ5/rad');hold on
subplot(3,2,6);
plot(T,q(:,6));
xlabel('t/s'),ylabel('θ6/rad');hold on
% 指定文件夾保存圖片
filepath=pwd;           %保存當前工作目錄
cd('C:UsersAdministratorDesktoppic')                %把當前工作目錄切換到圖片存儲文件夾
print(gcf,'-djpeg','C:UsersAdministratorDesktoppic2.jpeg'); %將圖片保存為jpg格式,
cd(filepath)            %切回原工作目錄


%單個關(guān)節(jié)的速度
figure(3);
subplot(3,2,1);
plot(T,qd(:,1));
xlabel('t/s'),ylabel('Ω1/rad');hold on
subplot(3,2,2);
plot(T,qd(:,2));
xlabel('t/s'),ylabel('Ω2/rad');hold on
subplot(3,2,3);
plot(T,qd(:,3));
xlabel('t/s'),ylabel('Ω3/rad');hold on
subplot(3,2,4);
plot(T,qd(:,4));
xlabel('t/s'),ylabel('Ω4/rad');hold on
subplot(3,2,5);
plot(T,qd(:,5));
xlabel('t/s'),ylabel('Ω5/rad');hold on
subplot(3,2,6);
plot(T,qd(:,6));
xlabel('t/s'),ylabel('Ω6/rad');hold on
% 指定文件夾保存圖片
filepath=pwd;           %保存當前工作目錄
cd('C:UsersAdministratorDesktoppic')                
%把當前工作目錄切換到圖片存儲文件夾
print(gcf,'-djpeg','C:UsersAdministratorDesktoppic3.jpeg'); %將圖片保存為jpg格式,
cd(filepath)            %切回原工作目錄


%單個關(guān)節(jié)的加速度
figure(4);
subplot(3,2,1);
plot(T,qdd(:,1));
xlabel('t/s'),ylabel('α1/rad');hold on
subplot(3,2,2);
plot(T,qdd(:,2));
xlabel('t/s'),ylabel('α2/rad');hold on
subplot(3,2,3);
plot(T,qdd(:,3));
xlabel('t/s'),ylabel('α3/rad');hold on
subplot(3,2,4);
plot(T,qdd(:,4));
xlabel('t/s'),ylabel('α4/rad');hold on;
subplot(3,2,5);
plot(T,qdd(:,5));
xlabel('t/s'),ylabel('α5/rad');hold on
subplot(3,2,6);
plot(T,qdd(:,6));
xlabel('t/s'),ylabel('α6/rad');hold on
% 指定文件夾保存圖片
filepath=pwd;           %保存當前工作目錄
cd('C:UsersAdministratorDesktoppic')                %把當前工作目錄切換到圖片存儲文件夾
print(gcf,'-djpeg','C:UsersAdministratorDesktoppic4.jpeg'); %將圖片保存為jpg格式,
cd(filepath)            %切回原工作目錄

圖片

圖片

通過軌跡規(guī)劃,不僅得到了機械臂末端執(zhí)行器的空間軌跡,還可以得到其關(guān)節(jié)的角位移、角速度和角加速度。從上圖 可以看出機械臂到達預(yù)定的位置,證明了該機械臂設(shè)計的合理性。

隨著運動的進行, 各個關(guān)節(jié)的角度與時間關(guān)系的曲線, 可以看到其運動過程連續(xù)平滑。而且在圖 中可以看出各關(guān)節(jié)的角速度和角加速度都是光滑變化的,沒有出現(xiàn)跳變點。進一步地,在首末兩點的速度以及加速度都可以有效地約束為零。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • matlab
    +關(guān)注

    關(guān)注

    180

    文章

    2952

    瀏覽量

    229857
  • 機器人
    +關(guān)注

    關(guān)注

    210

    文章

    27990

    瀏覽量

    205546
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    3995

    瀏覽量

    133221
  • 機械臂
    +關(guān)注

    關(guān)注

    12

    文章

    504

    瀏覽量

    24412
收藏 人收藏

    評論

    相關(guān)推薦

    受大象鼻子啟發(fā),研制出的萬向自由度機械

    ``受大象鼻子啟發(fā),研制出的萬向自由度機械,可以完成更柔性的工作``
    發(fā)表于 10-19 14:36

    【Pocket-RIO申請】采用labview與FPGA的多自由度機械快速控制系統(tǒng)原型開發(fā)

    項目名稱:采用labview與FPGA的多自由度機械快速控制系統(tǒng)原型開發(fā)試用計劃: 機械在自動化工業(yè)中廣泛應(yīng)用,由于每個
    發(fā)表于 12-19 15:30

    采用LabVIEW實現(xiàn)四自由度機械運動控制系統(tǒng)設(shè)計

    應(yīng)用領(lǐng)域:控制設(shè)計挑戰(zhàn): 短期內(nèi)實現(xiàn)4自由度機械(3臺交流伺服電機、1臺微型直流電機)的 變參數(shù)同步運動控制,為鋼絲傳動機構(gòu)的控制提供應(yīng)用解決方案。應(yīng)用方案: 方案采用NI公司
    發(fā)表于 05-06 09:26

    欠驅(qū)動兩自由度機械的模糊控制

    分析了欠驅(qū)動兩自由度機械主、被動關(guān)節(jié)間的動力學(xué)耦合特性,指出了被動關(guān)節(jié)處于不同位置時耦合特性的差異。針對主、被動關(guān)節(jié)間的動力學(xué)耦合特性及其差異,提出了兩種
    發(fā)表于 08-04 15:51 ?27次下載

    自由度機械的運動規(guī)劃

    為了使自由度機械完成特定的動作, 需要設(shè)計計算相應(yīng)的指令序列. 首先計算了機械位姿與指尖位
    發(fā)表于 02-17 16:55 ?193次下載
    <b class='flag-5'>六</b><b class='flag-5'>自由度</b><b class='flag-5'>機械</b><b class='flag-5'>臂</b>的運動<b class='flag-5'>規(guī)劃</b>

    基于模糊PD算法的三自由度機械遙操作雙邊控制_邱恒

    基于模糊PD算法的三自由度機械遙操作雙邊控制_邱恒
    發(fā)表于 01-21 12:16 ?7次下載

    基于空間代價地圖的機械運動規(guī)劃方法

    更合理的最優(yōu)規(guī)劃依據(jù),從而實現(xiàn)更安全可靠的規(guī)劃。同時將一個自由度規(guī)劃問題降維為一個三自由度
    發(fā)表于 11-25 11:47 ?9次下載

    分享最好的機械是7個自由度的原因

    現(xiàn)在用的最多的工業(yè)機器人,一般都是軸的,但是最近推出來的人機協(xié)作機械,卻有7個自由度,一直想不明白為什么。直到最近看到知乎上的一個問題:人的手臂(腕關(guān)節(jié)到肩關(guān)節(jié))有幾個
    的頭像 發(fā)表于 02-07 15:40 ?1.8w次閱讀
    分享最好的<b class='flag-5'>機械</b><b class='flag-5'>臂</b>是7個<b class='flag-5'>自由度</b>的原因

    一種新型7自由度冗余繩驅(qū)動機械

    針對傳統(tǒng)機械負載白重比小、身慣量大、人機交互安全性弱等問題,對繩驅(qū)動機械的結(jié)構(gòu)、繩驅(qū)關(guān)節(jié)耦合、冗余運動學(xué)等方面進行了研究,創(chuàng)新設(shè)計了一
    發(fā)表于 02-27 14:33 ?7次下載
    一種新型7<b class='flag-5'>自由度</b>冗余繩驅(qū)動<b class='flag-5'>機械</b><b class='flag-5'>臂</b>

    為什么最好的機械是7個自由度而不是6個自由度

    現(xiàn)在用的最多的工業(yè)機器人,一般都是軸的,但是最近推出來的人機協(xié)作機械,卻有7個自由度,一直想不明白為什么。
    的頭像 發(fā)表于 03-17 09:23 ?2.7w次閱讀

    最先進的人機協(xié)作機械為什么都是7個自由度?

    現(xiàn)在用的最多的工業(yè)機器人,一般都是軸的,但是最近推出來的人機協(xié)作機械,卻有7個自由度,一直想不明白為什么。
    的頭像 發(fā)表于 04-10 13:49 ?1.1w次閱讀

    4自由度機械的制作圖解

    我希望這些照片對您有所幫助組裝您的4自由度機械。
    的頭像 發(fā)表于 10-09 11:52 ?1.1w次閱讀
    4<b class='flag-5'>自由度</b><b class='flag-5'>機械</b><b class='flag-5'>臂</b>的制作圖解

    使用SimMechanics實現(xiàn)自由度機械仿真研究

    仿真功能強大,可以在模型中通過改變結(jié)構(gòu),優(yōu)化系統(tǒng)參數(shù),在仿真環(huán)境中分析結(jié)果。利用 SimMechanics 的上述優(yōu)點,以工業(yè)自由度機械
    發(fā)表于 11-12 08:00 ?1次下載
    使用SimMechanics實現(xiàn)<b class='flag-5'>六</b><b class='flag-5'>自由度</b>的<b class='flag-5'>機械</b><b class='flag-5'>臂</b><b class='flag-5'>仿真</b>研究

    dfrobotDFLG6DOF 6自由度機械簡介

    一款小型、性價比較高的6自由度機械 簡介 機械、機械手相信大家都不陌生了如醫(yī)院里的手術(shù)
    的頭像 發(fā)表于 01-14 10:48 ?5047次閱讀
    dfrobotDFLG6DOF 6<b class='flag-5'>自由度</b><b class='flag-5'>機械</b><b class='flag-5'>臂</b>簡介

    自由度機械三次多項式插值法

    對串聯(lián)機械而言,軌跡規(guī)劃可以分為:關(guān)節(jié)空間軌跡規(guī)劃和笛卡爾空間
    的頭像 發(fā)表于 11-17 15:52 ?1031次閱讀
    <b class='flag-5'>六</b><b class='flag-5'>自由度</b><b class='flag-5'>機械</b><b class='flag-5'>臂</b>三次多項式插值法