朋友让帮忙做一个轨迹跟踪的仿真,主要是分别用PID控制和模糊PID控制四轴机械臂运动,PID控制器就不用说了,重点在于模糊PID控制器的设计以及四轴机械臂动力学模型的建立。
0 引言
本次使用matlab版本为2019b,如果使用之前的版本可能会出现相关函数找不到的报错。另外本次仿真为数值模型仿真,下面仅阐述用模糊PID控制四轴机械臂动力学的模型建立过程。
1 四轴机械臂动力学模型建立
1.1 创建树结构的机器人刚体对象模型
使用Matlab的工具箱Robotics System Toolbox
的一系列function
函数rigidBodyTree、rigidBody、addBody
创建机器人刚体树,给好各关节的DH参数,质量,质心和惯性矩阵,即可创建n关节的机器人模型rigidBodyTree。

1.2 建立对应机器人动力学模型
动力学模块选用Matlab的工具箱Robotics System Toolbox
的Block
模块中的正动力学模块:

模块属性:

这里模块属性的刚体树选择上一步中创建的机器人对象rigidBodyTree。
2 模糊PID控制器设计
使用Matlab的自带APPFuzzy Logic Designer
,模糊PID网上教程很多,直接创建一个模糊PID控制器即可。

3 搭建仿真模型

整个模型的控制流程为:给定输入 --> PID控制/模糊PID控制 --> 机器人正动力学模型 形成闭环反馈控制
4 仿真分析
关节跟踪效果:
关节跟踪误差:

总结
通过模糊PID控制器控制机器人已经完成,总体来说效果还不错,通过调参能达到更好的效果。另外可以多看看matlab官方帮助文档。