简单记录一下之前做的一个SCARA机器人建模的过程,算是一个总结吧。
这个机器人有3个转动关节(自由度),1个移动关节(自由度)。其运动方式类似一个柱坐标系。这种机器人通常也被称为SCARA机器人。
为了对机器人的关节运动进行描述,通常我们会建立坐标系。这里转动关节的坐标系z轴为旋转轴,移动关节z轴为移动方向。其x轴指向下一个z轴。如下图所示,各关节z轴都平行,x轴也和z轴在同一平面。这种坐标系建立方法通常被称为传统的D-H坐标系。
D-H坐标系
该机器人具体参数值如下图所示
机器人参数
接下来在MATLAB中新建一个脚本文件(.m),利用Robotic工具箱进行建模。Robotic工具箱下载及安装见附录。
脚本文件代码
脚本文件代码
%定义杆件D-H参数(a alpha d theta) d1=0.36; a1=0.3; a2=0.22; %坐标系定义类型:std DH L1 = Revolute('d',d1,'a',a1,'alpha',0,'qlim',[-90 90]*pi/180); L2 = Revolute('d',0,'a',a2,'alpha',pi,'qlim',[-120 120]*pi/180); L3 = Prismatic('a',0,'alpha',0,'theta',0,'qlim',[0 0.12]); % L4 = Revolute('d',0,'a',0,'alpha',0,'qlim',[-180 180]*pi/180); %设置杆件动力学参数,忽略关节摩擦和电机惯量 %连杆质量 L1.m=8; L2.m=7; L3.m=3; L4.m=2.94; %连杆质心在连杆坐标系下的位置矢量 L1.r=[-0.15 0 0]; L2.r=[-0.11 0 0]; L3.r=[0 0 -0.15]; L4.r=[0 0 0]; %连杆惯量,简化惯量矩阵为对角阵[Ixx Iyy Izz] L1.I=[0.025 0.180 0.180]; L2.I=[0.018 0.085 0.085]; L3.I=[0.068 0.068 0.012]; L4.I=[0.01 0.01 0.01]; %建立SCARA机器人 SCARA_Robot = SerialLink([L1 L2 L3 L4], 'name', 'SCARA'); %定义图像显示范围 SCARA_Robot.plotopt={'workspace',[-1.5 1.5 -1.5 1.5 -1 1]}; %SCARA机械臂演示图 SCARA_Robot.plot([0,0,0,0]);
点击运行可以得到该机器人的模型:
机器人模型
附录:
Robotic工具箱下载及安装:https://download.csdn.net/download/xiaoling700/14940323
Robotic工具箱下载及安装:https://pan.baidu.com/s/1FeT1ndkJWrqGcXs4qfC9GQ 提取码:xp25
参考资料:
Peter Corke. Robotics, Vision and Control. Springer, 2017