• 使用 matlab 的 Robotics ToolBox 完成5自由雄克机械臂的建模与运动学仿真,并计算8个点的运动轨迹,绘制运动动画


    机器人包含5个关节,建立以下的DH参数表

    在这里插入图片描述

    matlab代码

    %机器人学导论仿真大作业(RTB)
    clear 
    clc
    h = figure;
    axis tight manual
    filename = 'SchunkRobot_Simulation.gif';
    
    %Schunk机械臂参数的输入
    L1=0.35;
    L2=0.305;
    L3=0.3;
    
    %DH参数建立
    Joint1 = Link([ 0, 0, 0, 0, 0],'revolute', 'modified');
    Joint2 = Link([ 0, L1, 0, -pi/2, 0], 'revolute','modified');
    Joint3 = Link([ 0, 0, 0, pi/2, 0], 'revolute','modified');
    Joint4 = Link([ 0, L2, 0, -pi/2, 0], 'revolute','modified');
    Joint5 = Link([ 0, 0, 0, pi/2, 0],'revolute', 'modified');
    Joint6 = Link([ 0, L3, 0, -pi/2, 0],'revolute', 'modified');
    Joint7 = Link([ 0, 0, 0, pi/2, 0],'modified');
    
    %机器人模型建立
    SchunkRobot = SerialLink([Joint1 Joint2 Joint3 Joint4 Joint5 Joint6 Joint7], 'name', 'Schunk机械臂');
    
    %8个圆上的目标点
    R = 0.2;%半径
    L = 0.4;%与机械臂的距离
    target = [ 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(target(:,1), target(:,2), target(:,3), 'Marker', 'X', 'MarkerFaceColor', 'c', 'MarkerSize', 9, 'LineStyle', 'none');
    
    %控制机械臂抵达目标点
    Time=0:0.02:0.8;
    angle = zeros(9,7);
    for i=1:8
        %逆运动学求解关节角
        angle(i+1,:) = SchunkRobot.ikine(reshape(transl(target(i,:)),4,4),'q0',angle(i,:));
        %轨迹规划并绘图
        trajectory=jtraj(angle(i,:),angle(i+1,:),Time);
        title('SchunkRobot Simulation')
        plot(SchunkRobot,trajectory);
        %绘制gif动图
        drawnow 
        frame = getframe(h); 
        im = frame2im(frame); 
        [imind,cm] = rgb2ind(im,256); 
        if i == 1 
             imwrite(imind,cm,filename,'gif', 'Loopcount',inf); 
        else 
             imwrite(imind,cm,filename,'gif','WriteMode','append'); 
        end
    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
    • 51
    • 52
    • 53

    生成图

    在这里插入图片描述

  • 相关阅读:
    想搞清楚API网关到底是什么?请看这篇
    韵达快递 | 快递单号查询API
    CUDA编程学习(1)
    C语言_用于ADC数据的均值滤波算法
    带你认识npm和yarn
    Droplet——一款轻量的Golang应用层框架
    RAID磁盘阵列技术
    信息化与信息系统4
    MySQL常见函数的讲解
    Spring Boot是什么?
  • 原文地址:https://blog.csdn.net/m0_51738372/article/details/134264219