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


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

    雄克机械臂

    任务

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

    代码

    %% 机器人学
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50

    结果

    在这里插入图片描述

  • 相关阅读:
    轻量级网络结构
    操作系统(九)进程通信
    分布式理论
    Haproxy集群
    springboot日志切面记录请求日志
    虚拟机备份
    产品经理是做什么的,有什么职责
    [ruby on rails]部署时候产生ActiveRecord::PreparedStatementCacheExpired错误的原因及解决方法
    vite + vue3 + js 搭建组件库 + 核心配置与使用
    C++虚函数指针(virtual)
  • 原文地址:https://blog.csdn.net/m0_51738372/article/details/133439754