机械臂的DH参数,正运动学求解,Jacob矩阵,含Matlab代码

机械臂的DH参数,正运动学求解,Jacob矩阵

前期准备

Matlab 机器人工具箱Robotic Toolbox下载及安装教程

参考教程:https://www.bilibili.com/read/cv6438321/

Matlab Robotic Toolbox工具箱学习笔记

参考链接:

https://blog.csdn.net/weixin_28949185/article/details/88376108

https://blog.csdn.net/qq_27838307/article/details/80715277

正逆运动学与工作空间

参考链接:https://zhuanlan.zhihu.com/p/341567280

D-H参数和正运动学MATLAB代码:

clear;
clc;
 L1 = Link(\'d\', 0, \'a\', 0, \'alpha\', -pi/2);%定义连杆
 L2 = Link(\'d\', 1, \'a\', 0, \'alpha\', pi/2);
 L3 = Link(\'theta\', 0, \'a\', 0, \'alpha\', 0);
 L4 = Link(\'d\', 0, \'a\', 0, \'alpha\', -pi/2);
 L5 = Link(\'d\', 0, \'a\', 0, \'alpha\', pi/2);
 L6 = Link(\'d\', 1, \'a\', 0, \'alpha\', 0);
 bot = SerialLink([L1 L2 L3 L4 L5 L6]);%连接连杆
 bot.display();%显示D-H参数表
 forward_kinematics=bot.fkine([-0.2 0.1 10 0.1 1 2])%前向运动学

在世界坐标系的雅克比矩阵MATLAB代码:

 1 %求解Stanford arm在世界坐标系描述的雅克比矩阵
 2 clear;
 3 clc;
 4 clear L
 5 %             th    d       a    alpha
 6 L(1) = Link([ 0     0       0   -pi/2     0]);%定义连杆
 7 L(2) = Link([ 0     1       0    pi/2     0]);
 8 L(3) = Link([ 0     0       0    0        1]);
 9 L(4) = Link([ 0     0       0   -pi/2     0]);
10 L(5) = Link([ 0     0       0    pi/2     0]);
11 L(6) = Link([ 0     1       0    0        0]);
12 bot = SerialLink(L, \'name\', \'Stanford arm\');%连接连杆
13 syms theta1 theta2 d3 theta4 theta5 theta6;
14 J0=vpa(bot.jacob0([theta1 theta2 d3 theta4 theta5 theta6]),4)
 1 %求平面二自由度机器人在世界坐标系描述的雅克比矩阵
 2 clear;
 3 clc;
 4 clear L
 5 L(1) = Link(\'d\',0,\'a\',\'a1\',\'alpha\',0,\'sym\');%定义连杆
 6 L(2) = Link(\'d\',0,\'a\',\'a2\',\'alpha\',0,\'sym\');
 7 bot = SerialLink(L, \'name\', \'Planar 2-dof robot\');%连接连杆
 8 syms theta1 theta2;
 9 J0=bot.jacob0([theta1 theta2]);
10 
11 J0=simplify(J0)

参考链接:https://blog.csdn.net/weixin_28949185/article/details/88376108

MATLAB仿真,可以在命令行窗口输入:

simulink

roblocks