本篇文章主要讲述利用MATLAB Simulink中的Simscape Multibody(SimMechanics)模块对三自由度机械臂系统进行仿真。
要求为:机械臂在初始时刻姿态自行确定;经过5s机械臂末端执行器沿直线运动到目标点x=0.5m、y=0.6m、z=1.3m,5s之后,机械臂停留在目标点。
为实现上述要求,相关解决方式及主要模块功能如下:
(1)利用SolidWorks建立机械臂模型,并导出step格式,用File Solid模块导入到MATLAB中,其中,主要杆件的相关结构参数如下:

(2)利用坐标变换(Rigid Transform)模块调整各杆件位置,机械臂初始位置为x=0,y=1.4m,z=0.3m;修改各转动副(Revolute Joint)模块参数,添加信号输入、输出端口,并连接PID模块以实现位置控制。
(3)根据位置方程计算得位置反解函数,利用MATLAB Function模块编写运动学反解程序;利用Fcn模块、Clock时钟模块和Switch模块输入x,y,z与时钟变量u的关系,并实现运动状态的切换。
(4)调试PID参数,以获得更加平稳、更接近直线轨迹的运动。




参考资料
[1] 卜王辉, 陈茂林, 李梦如. MATLAB基础与机械工程应用[M]. 科学出版社, 2015年06月.
[2] 三自由度机械臂连续轨迹控制Simulink仿真[EB/OL]. [2020-06-27]. https://blog.csdn.net/BAR_WORKSHOP/article/details/106980846