三自由度机械手臂的Simulink建模
一、机械臂结构的简要介绍。
该机构由一个底座、三个旋转副、两个连杆和一个机械爪组成,实现在平面内运动到指定位置的动作。
各部分尺寸如图所示(单位:m)。
然后用Matlab的SimMechanics模块进行建模,具体过程后面再介绍。
完成图如图所示。
二、建模过程的详细步骤。
1、先新建一个Simlink文件,载入实体模块,双击打开菜单,
可以对其进行形状编辑,如图所示。
2、接下来进行坐标变换。
整个坐标系,向
上为Y轴,向右为X轴,垂直
纸面向外为Z轴。
为了把底座
上面的支架放到正确的位置,
我载入一个坐标变换模块,如
图。
双击它可以打开编辑菜单。
由结构可得,底座质心向+Y方
向移动0.15就是支架的质心。
所以在菜单编辑中设置为
坐标向+Y移动0.15就可以了,如图。
接下来就可以载入
实体模块,并进行编辑。
3、对旋转副进行编辑,它的质心相对支架质心的坐
标为+Y0.1,所以载入一个坐标变换,然后再载入一个实
体,编辑参数使其变为需要的圆柱体,如右图。
4、然后再载入旋转副,由于旋转副的坐标和圆柱体的旋转副重合,所以不需要在进行坐标变换。
旋转副如右图所示,其中t用于旋转力矩的输入,q用于旋转角度的输出。
5、其他实体的建模,方法和前面介绍的一样。
然后就是建立
一个世界坐标如图,将其连接到底座上,表示底座的
坐标为绝对坐标。
再载入一个重力加速度器,如图,
双击可进行加速度大小和方向的编辑。
由于-Y方向
为向下的方向,所以Y设置为-9.8。
最后再载入一
个求解器,如右图。
建模就全部完成
了。
三、控制结构的介绍。
我用的PID控制器进行控制,详细结构如图。
从旋转副的q输出开始,经过
PS->Simulink数据转
换器,再经过比较器,
与预期的角度进行比
较后输出到PID控制器,
再输出转矩经过转换
器后输入到t中。
图中
q和q3比较后,输出转矩,使q最后等于q3。
这就是控制结构的介绍。
由于有三个旋转副,所以用了三组这种结构分别对三个旋转副进行控制。
由于被抓物体的坐标是确定的,所
以q1,q2,q3的大小是根据被抓物体的坐
标(x,y)来确定的。
如右图所示。
为了
用x,y表示q1,q2,q3,列了方程进行求
解,方程如下:
syms q1 q2 x1 y1
[q1,q2]=solve(0.5*cos(q1)+0.5*cos(q1+q2)==x1, 0.5*sin(q1)+0.5*sin(q1+q2)==y1,q1,q2) 函数模块里面的代码如下:
function [q1,q2,q3] = fcn(q,x,y)
x1=x-0.3*cos(q);
y1=y-0.3*sin(q)-0.25;
q1=2*atan(((x1^2*(-(x1^2 + y1^2)*(x1^2 + y1^2 - 1))^(1/2))/(x1^2 + y1^2) - y1 +
(y1^2*(-(x1^2 + y1^2)*(x1^2 + y1^2 - 1))^(1/2))/(x1^2 + y1^2))/(x1^2 + x1 + y1^2)); q2= 2*atan((-(x1^2 + y1^2)*(x1^2 + y1^2 - 1))^(1/2)/(x1^2 + y1^2));
q3=q-q1-q2;
end。