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