机械臂的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

posted @ 2021-12-30 16:48  白雪儿  Views(2257)  Comments(0Edit  收藏  举报