Matlab|Matlab Robotic Toolbox V9.10工具箱(七)(Stanford arm 动力学建模与仿真)

Stanford arm,斯坦福机械臂,也是经典的机器人模型,很多教材上都用它作为例子。
Matlab|Matlab Robotic Toolbox V9.10工具箱(七)(Stanford arm 动力学建模与仿真)
文章图片

1、动力学建模 其DH 矩阵为:

j theta d a alpha offset
1 q1 0.412 0 -1.571 0
2 q2 0.154 0 1.571 0
3 -1.571 q3 0 0 0
4 q4 0 0 -1.571 0
5 q5 0 0 1.571 0
6 q6 0.263 0 0 0
【Matlab|Matlab Robotic Toolbox V9.10工具箱(七)(Stanford arm 动力学建模与仿真)】包含动力学参数的建模为:
%thdaalpha L(1) = Link([ 00.4120-pi/20]); L(2) = Link([ 00.1540pi/20]); L(3) = Link([ -pi/2 0001]); % PRISMATIC link L(4) = Link([ 000-pi/20]); L(5) = Link([ 000pi/20]); L(6) = Link([ 00.263000]); L(3).qlim = [12 12+38] * 0.0254; L(1).qlim = [-170 170]*pi/180; L(2).qlim = [-170 170]*pi/180; L(4).qlim = [-170 170]*pi/180; L(5).qlim = [-90 90]*pi/180; L(6).qlim = [-170 170]*pi/180; L(1).m = 9.29; L(2).m = 5.01; L(3).m = 4.25; L(4).m = 1.08; L(5).m = 0.630; L(6).m = 0.51; L(1).Jm = 0.953; L(2).Jm = 2.193; L(3).Jm = 0.782; L(4).Jm = 0.106; L(5).Jm = 0.097; L(6).Jm = 0.020; L(1).G = 1; L(2).G = 1; L(3).G = 1; L(4).G = 1; L(5).G = 1; L(6).G = 1; L(1).I = [0.2760.2550.071000]; L(2).I = [0.1080.0180.100000]; L(3).I = [2.512.510.006000 ]; L(4).I = [0.0020.0010.001000 ]; L(5).I = [0.0030.00040000]; L(6).I = [0.0130.0130.0003000]; L(1).r = [00.0175 -0.1105]; L(2).r = [0-1.0540]; L(3).r = [00-6.447]; L(4).r = [00.092-0.054]; L(5).r = [00.5660.003]; L(6).r = [001.554]; qz = [0 0 0 0 0 0]; stanf = SerialLink(L, 'name', 'Stanford arm');

模型 要显示模型,可以在命令行输入:
w=[-1,1,-1,1,-1,1]; stanf.plot(qz,'workspace',w);

显示的结果如下图所示:
Matlab|Matlab Robotic Toolbox V9.10工具箱(七)(Stanford arm 动力学建模与仿真)
文章图片

PD 控制 控制率为:

u(t)=Kp?e+Kd?e˙+τ
simulink 控制图为:
Matlab|Matlab Robotic Toolbox V9.10工具箱(七)(Stanford arm 动力学建模与仿真)
文章图片

Matlab|Matlab Robotic Toolbox V9.10工具箱(七)(Stanford arm 动力学建模与仿真)
文章图片

参考文献:
Peter Corke,Robotics Toolbox for MATLAB Release 9(Version,9.10),2015.02 P.I. Corke, Robotics, Vision & Control: Fundamental Algorithms in MATLAB.Springer, 2011.

    推荐阅读