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

结果

相关推荐
chhttty15 小时前
Stateflow状态机建模:数据
matlab·simulink
Matlab程序猿16 小时前
【MATLAB源码-第459期】基于matlab的D-H模型与阻尼最小二乘逆运动学的六自由度机械臂五次轨迹规划及动力学前馈PD控制仿真。
人工智能·算法·matlab·d-h建模·六自由度串联机械臂
机器学习之心1 天前
基于CNN-LSTM的轴承剩余寿命预测,MATLAB代码
matlab·cnn·lstm·cnn-lstm·轴承剩余寿命预测
菜鸟~noob2333 天前
【电子战】 第26篇:大气衰减——氧气与水汽吸收【含matlab代码】
开发语言·matlab
菜鸟~noob2333 天前
【电子战】第25篇:自由空间、双射线与菲涅尔区【含matlab代码】
开发语言·算法·matlab
Evand J3 天前
【电机滤波例程5】渐消因子自适应扩展卡尔曼滤波(EKF),MATLAB。PMSM负载突变下的状态估计。附下载链接
算法·matlab
weixin_307779134 天前
C++代码实现MATLAB中的cvpartition函数功能
开发语言·c++·算法·matlab
机器学习之心4 天前
DCNN-PINN锂电池SOC估计,因果空洞卷积+物理信息神经网络,把库仑定律写进损失函数,MATLAB代码
人工智能·神经网络·matlab
weixin_307779134 天前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
菜鸟~noob2335 天前
【电子战】 第22篇:误差椭圆与置信区间【含matlab代码】
开发语言·算法·matlab