5自由度雄克机械臂仿真描点

5自由度雄克机械臂仿真描点

任务

建立雄克机械臂的坐标系和D-H参数表,使用Matlab机器人工具箱(Robotics Toolbox),用机械臂末端执行器触碰8个红色的目标点。

代码

c 复制代码
%% 机器人学
format compact
close all
clear 
clc

%% DH参数
L1 = Link([ 0, 0, 0, 0, 0], 'modified');
L2 = Link([ 0, 0.35, 0, -pi/2, 0], 'modified');
L3 = Link([ 0, 0, 0, pi/2, 0], 'modified');
L4 = Link([ 0, 0.305, 0, -pi/2, 0], 'modified');
L5 = Link([ 0, 0, 0, pi/2, 0], 'modified');
L6 = Link([ 0, 0.3, 0, -pi/2, 0], 'modified');
L7 = Link([0 0 0 pi/2 0],'modified');
bot = SerialLink([L1 L2 L3 L4 L5 L6 L7], 'name', '雄克机械臂')
b=isrevolute(L1);

%% 齐次变换矩阵
R = 0.2;
L=0.4;
tar_posi = [ R,L,0;-R,L,0;0,L,R;0,L,-R;
                R*cos(pi/4), L, R*sin(pi/4);
                R*cos(pi/4), L, -R*sin(pi/4);
                -R*cos(pi/4), L, R*sin(pi/4);
                -R*cos(pi/4), L, -R*sin(pi/4)];
plot3(tar_posi(:,1),tar_posi(:,2),tar_posi(:,3),'Marker','o','MarkerFaceColor','c','MarkerSize',5);
T = zeros(8,4,4);
q = zeros(8,7);
for(i=1:8)
    T(i,:,:) = transl(tar_posi(i,:));
end

%% 关节角
q = zeros(9,7);
q(1,:) = [0 0 0 0 0 0 0];
q(2,:) = bot.ikine(reshape(T(1,:,:),4,4),'q0',q(1,:));
q(3,:) = bot.ikine(reshape(T(2,:,:),4,4),'q0',q(2,:));
q(4,:) = bot.ikine(reshape(T(3,:,:),4,4),'q0',q(3,:));
q(5,:) = bot.ikine(reshape(T(4,:,:),4,4),'q0',q(4,:));
q(6,:) = bot.ikine(reshape(T(5,:,:),4,4),'q0',q(5,:));
q(7,:) = bot.ikine(reshape(T(6,:,:),4,4),'q0',q(6,:));
q(8,:) = bot.ikine(reshape(T(7,:,:),4,4),'q0',q(7,:));
q(9,:) = bot.ikine(reshape(T(8,:,:),4,4),'q0',q(8,:));

%% 轨迹规划
Time=0:0.05:2;
for i = 1:8    
    tra=jtraj(q(i,:),q(i+1,:),Time);
    plot(bot,tra);
end

结果

相关推荐
封奚泽优8 小时前
数学七夕花礼(MATLAB版)
开发语言·数学·matlab·七夕·鲜花
yongui478342 天前
基于MATLAB/Simulink的单机带负荷仿真系统搭建
网络·matlab
ぁず2 天前
MATLAB中函数的详细使用
matlab
桃源学社(接毕设)2 天前
基于MATLAB的运动模糊图像修复方法研究(LW+源码+讲解+部署)
图像处理·深度学习·计算机视觉·matlab·毕业设计·图像滤波去噪
Evand J3 天前
【MATLAB例程】水下机器人长基线(LBL)定位,用于三维轨迹,使用EKF滤波,融合LBL和IMU,4个锚点(长基线基站数=4),附下载链接
开发语言·matlab·机器人
Aiah.4 天前
数字图像处理(一)
开发语言·计算机视觉·matlab·数字图像处理
躺平都躺不明白4 天前
数学建模-线性规划(LP)
数学建模·matlab
rit84324994 天前
基于粒子滤波的运动目标跟踪MATLAB实现
人工智能·matlab·目标跟踪
stbomei5 天前
基于 MATLAB 的信号处理实战:滤波、傅里叶变换与频谱分析
算法·matlab·信号处理
我找到地球的支点啦5 天前
Matlab系列(005) 一 归一化
人工智能·机器学习·matlab·信息与通信