【机器人控制】用模糊PID控制四轴机械臂轨迹跟踪运动

  朋友让帮忙做一个轨迹跟踪的仿真,主要是分别用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 ToolboxBlock模块中的正动力学模块:

模块属性:

这里模块属性的刚体树选择上一步中创建的机器人对象rigidBodyTree


2 模糊PID控制器设计

  使用Matlab的自带APPFuzzy Logic Designer,模糊PID网上教程很多,直接创建一个模糊PID控制器即可。


3 搭建仿真模型

整个模型的控制流程为:给定输入 --> PID控制/模糊PID控制 --> 机器人正动力学模型 形成闭环反馈控制


4 仿真分析

关节跟踪效果:

关节跟踪误差:

总结

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

  • 4
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
### 回答1: Matlab模糊控制机械臂运动程序设计方法如下: 首先,我们需要定义模糊控制系统的输入变量和输出变量。输入变量可以包括机械臂的位置、速度和加速度,输出变量可以是机械臂控制信号。根据具体问题,我们可以选择合适的输入变量和输出变量。 接下来,我们需要确定模糊控制器的规则库。规则库定义了输入变量与输出变量之间的关系。规则库中的每条规则都对应着一个具体的输入输出关系,可以使用模糊逻辑运算符(如"与"、"或")进行定义。规则库通常是由经验或专家知识得出的。 然后,我们需要设计模糊推理机制。模糊推理机制的目的是根据输入变量的模糊值和规则库,计算出输出变量的模糊值。常见的模糊推理方法有模糊关联和模糊推理。 接下来,我们需要进行解模糊操作,将输出变量的模糊值转化为实际的控制信号。解模糊操作一般采用模糊输出值的加权平均法或者是面积法。 最后,我们需要编写Matlab程序来实现这些设计。通过编程的方式,将定义好的输入变量、输出变量、规则库、模糊推理机制和解模糊操作进行组合,实现模糊控制机械臂运动程序。 需要注意的是,进行模糊控制设计的过程中,需要结合具体的机械臂系统和控制要求进行调整和优化。通过多次实验和测试,逐步改进和优化模糊控制系统,以实现更好的控制效果。 总结起来,Matlab模糊控制机械臂运动程序设计方法包括定义输入变量和输出变量、确定规则库、设计模糊推理机制、进行解模糊操作,最后通过编写Matlab程序实现。这些步骤需要不断实践和改进,以满足具体控制要求。 ### 回答2: Matlab模糊控制机械臂运动程序设计方法,主要包括以下几个步骤。 首先,需要确定模糊控制器的输入输出变量以及它们的隶属函数。机械臂运动的输入变量可以是位置、速度或加速度等,输出变量可以是机械臂控制指令。根据问题的实际情况,选择适当数量和类型的隶属函数来描述输入输出变量的模糊集。 接下来,需要设计模糊规则库。通过分析问题的特征和经验知识,确定合适的模糊规则。每个模糊规则都是由一个或多个条件和一个结论组成。条件由输入变量的隶属函数和关系连接词来描述,结论则是输出变量的隶属函数。 然后,进行模糊推理。将输入变量的模糊集与模糊规则库进行匹配,得到对应的模糊输出结果。常用的推理方法包括最小最大法、平均法和最大法等。根据具体情况选择适合的推理方法。 最后,进行模糊化和去模糊化操作。由于模糊控制结果是模糊集,需要将其转化为具体的控制指令。可以使用模糊化方法将模糊输出结果转化为具体的模糊集,然后使用去模糊化方法将模糊集转化为具体的数值。常用的去模糊化方法有最大值法、面积法和重心法等。 综上所述,Matlab模糊控制机械臂运动程序设计方法包括确定输入输出变量和隶属函数、设计模糊规则库、进行模糊推理以及进行模糊化和去模糊化操作。根据问题的具体情况,选择适当的模糊控制方法和参数,以实现机械臂运动控制目标。 ### 回答3: Matlab模糊控制机械臂运动程序设计方法如下: 1. 确定模糊控制器的输入和输出:在机械臂运动控制中,输入可以是机械臂的位置、速度或加速度等,输出可以是机械臂关节的角度或末端执行器的位置等。 2. 设计模糊系统的输入和输出变量:根据机械臂运动特性选择模糊系统的输入和输出变量,可以使用模糊集合来表示机械臂的位置或速度,以及机械臂关节角度或末端执行器的位置。 3. 确定模糊集合和关系:根据机械臂运动的特性和要求,确定每个输入和输出变量的模糊集合以及它们之间的关系,可以使用三角形、梯形或高斯函数等表示模糊集合,并通过模糊规则描述变量之间的关系。 4. 设计模糊规则和推理机制:根据机械臂运动控制需求,建立模糊规则库,将输入与输出之间的关系进行建模。可以使用基于规则库的推理机制,如模糊关联矩阵或模糊推理系统等,来实现将输入变量映射到输出变量的过程。 5. 进行模糊逻辑运算和推理:利用Matlab提供的模糊逻辑运算工具箱,进行模糊输入变量和模糊规则的推理运算,得到模糊输出变量。 6. 对模糊输出进行解模糊:将模糊输出转化为具体的输出值,可以使用常见的解模糊方法如最大隶属度法、加权平均法或中心平均法等。 7. 进行反馈控制:将解模糊后的输出值作为机械臂控制信号进行控制,实现机械臂在给定要求下的运动控制。 使用Matlab进行模糊控制器设计可以通过编写代码实现上述步骤,亦可以使用Matlab提供的模糊控制工具箱中的函数和工具进行快速实现。通过调试和优化,可以得到适合机械臂运动控制模糊控制程序设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值