赞
踩
本文在参考B站up主刘海涛大佬的视频分享基础上,结合自己学习的机器人学知识,利用MATLAB机器人工具箱加深理解和运用,机器人工具箱安装教程见Robotic toolbox 工具箱的安装和初步了解,安装了工具箱后就可以用来愉快的学习啦。
关节空间轨迹规划是对机械臂的每个关节的运行进行插值,以保证机械臂的各个关节运动的连续性和稳定性。
%%改进D-H模型 % 关节角 连杆偏距 连杆长度 连杆转角 % theta(i) d(i) a(i-1) alpha(i-1) offset SL1=Link([0 0 0 0 0 ],'modified'); SL2=Link([0 0.14909 0 -pi/2 0 ],'modified'); SL3=Link([0 0 0.4318 0 0 ],'modified'); SL4=Link([0 0.43307 0.02032 -pi/2 0 ],'modified'); SL5=Link([0 0 0 pi/2 0 ],'modified'); SL6=Link([0 0 0 -pi/2 0 ],'modified'); p560=SerialLink([SL1 SL2 SL3 SL4 SL5 SL6],'name','puma560');%SerialLink 类函数 %定义轨迹规划初始关节角度(First_Theta)和终止关节角度(Final_Theta),步数100 First_Theta = [0 0 0 0 0 0]; Final_Theta = [-pi/2 -pi/3 -pi/4 pi/3 pi/5 pi/6]; step = 100; [q,qd,qdd] = jtraj(First_Theta,Final_Theta,step); p560.plot(q) figure(2); subplot(2,2,1); i = 1:6; plot(q(:,i)); grid on; title('关节位置'); subplot(2,2,2); i = 1:6; plot(qd(:,i)); grid on; title('关节速度'); subplot(2,2,3); i = 1:6; plot(qdd(:,i)); grid on; title('关节加速度');
笛卡尔空间轨迹规划常用于焊接,切割等场合,即对规定好的轨迹进行绘制,即保证机械臂末端的以确定的姿态在规定轨迹上运动。
利用匀加速、匀减速运动来规划轨迹
%%改进D-H模型 % 关节角 连杆偏距 连杆长度 连杆转角 % theta(i) d(i) a(i-1) alpha(i-1) offset SL1=Link([0 0 0 0 0 ],'modified'); SL2=Link([0 0.14909 0 -pi/2 0 ],'modified'); SL3=Link([0 0 0.4318 0 0 ],'modified'); SL4=Link([0 0.43307 0.02032 -pi/2 0 ],'modified'); SL5=Link([0 0 0 pi/2 0 ],'modified'); SL6=Link([0 0 0 -pi/2 0 ],'modified'); p560=SerialLink([SL1 SL2 SL3 SL4 SL5 SL6],'name','puma560');%SerialLink 类函数 %根据 First_Theta 和 Final_Theta 正运动学得到初始和终止位姿矩阵 T0 = puma560_fk(0,0,0,0,0,0); Tf = puma560_fk(-pi/2,-pi/3,-pi/4,pi/3,pi/5,pi/6); %利用 ctraj 在笛卡尔空间规划轨迹 step = 100; Tc = ctraj(T0,Tf,step); Tjtraj = transl(Tc); plot2(Tjtraj,'r'); grid on; title('T0到Tf笛卡尔空间轨迹'); for A = 1:100 qq(:,A) = puma560_ik(Tc(:,:,A)); end p560.plot(qq');
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。