news 2026/5/8 0:28:55

基于电液负载敏感的工程底盘行驶模糊PID控制【附代码】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于电液负载敏感的工程底盘行驶模糊PID控制【附代码】

博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。
✅ 如需沟通交流,扫描文章底部二维码。


(1)电液负载敏感先导控制系统的硬件设计与参数匹配:

针对履带式工程机械底盘,设计了一款单泵驱动双马达的电液负载敏感先导控制系统。系统核心元件包括永磁同步电机、变量柱塞泵、电磁比例减压阀、主控换向阀、电磁比例压力补偿阀以及摆线马达。双马达回路采用并联供油方式,通过压力补偿阀保证两马达入口压差恒定,从而实现负载无关的流量分配。根据底盘直行时速18km/h和转向时内外侧轮速差等指标,计算了马达最大转矩需求为450Nm,并据此选择了排量为80cc/rev的马达和额定压力28MPa的泵。电磁比例减压阀的控制电流设定在200mA到800mA范围对应先导压力0-3MPa,死区电流为180mA,增益系数经实测为0.006MPa/mA。整个系统的AMESim仿真模型经过部件标定后,与实测数据在稳态点误差小于3%。

(2)模糊PID控制器设计与联合仿真:

针对底盘直行时左右马达转速同步与转向时的轨迹跟踪问题,分别设计了模糊PID控制器。模糊PID的输入为转速误差和误差变化率,输出为PID三个参数的增量。隶属度函数采用三角形分布,每个输入划分为七个模糊子集(NB,NM,NS,ZO,PS,PM,PB)。模糊规则库基于69条经验规则,比如当误差大且误差变化率为正大时,大幅度增加比例系数并减小积分系数。在Simulink中搭建了模糊PID控制模块并将其与AMESim液压模型联合仿真。直行工况下分别测试并行式、主从式和交叉耦合式三种同步控制结构。交叉耦合式将左右马达的误差差值也纳入控制回路,使得同步误差峰值从并行式的45rpm降低到12rpm。加入模糊PID后超调量从传统PID的23%降至8%,负载突变时转速最低点提高了17%。

(3)四种控制算法的对比与最优策略确定:

对比了PID、模糊PID、BP神经网络PID以及麻雀搜索算法优化的PID共四种控制器。BP神经网络采用3-6-3结构,在线调整PID参数;麻雀搜索算法以ITAE指标为目标函数在参数空间寻找最优组合。仿真结果显示在直行阶跃响应中,模糊PID的上升时间0.32s,调节时间0.54s,均优于BP-PID(0.38s/0.71s)。在转向工况下,模糊PID在小半径转向时的路径跟踪偏差平均为0.18m,而BP-PID为0.26m。最终选择模糊PID作为主控制器,并为其增加了负载前馈补偿模块,在负载从0突加至满负载时转速波动小于5%,验证了该策略在工程底盘行驶控制中的优越性。

import numpy as np import skfuzzy as fuzz from skfuzzy import control as ctrl import matplotlib.pyplot as plt # 模糊PID控制器定义 error = ctrl.Antecedent(np.arange(-100, 101, 1), 'error') error_dot = ctrl.Antecedent(np.arange(-200, 201, 1), 'error_dot') kp_out = ctrl.Consequent(np.arange(0, 10.1, 0.1), 'kp') ki_out = ctrl.Consequent(np.arange(0, 1.01, 0.01), 'ki') kd_out = ctrl.Consequent(np.arange(0, 2.01, 0.01), 'kd') error['NB'] = fuzz.trimf(error.universe, [-100,-100,-50]) error['ZO'] = fuzz.trimf(error.universe, [-10,0,10]) error['PB'] = fuzz.trimf(error.universe, [50,100,100]) error_dot.automf(3) kp_out.automf(3); ki_out.automf(3); kd_out.automf(3) rule1 = ctrl.Rule(error['NB'] & error_dot['NB'], kp_out['NB'], ki_out['ZO'], kd_out['PS']) rule2 = ctrl.Rule(error['ZO'] & error_dot['ZO'], kp_out['ZO'], ki_out['ZO'], kd_out['ZO']) rule3 = ctrl.Rule(error['PB'] & error_dot['PB'], kp_out['PB'], ki_out['NB'], kd_out['NB']) pid_ctrl = ctrl.ControlSystem([rule1,rule2,rule3]) fuzzy_pid = ctrl.ControlSystemSimulation(pid_ctrl) def compute_pid_gains(e, ed): fuzzy_pid.input['error'] = e fuzzy_pid.input['error_dot'] = ed fuzzy_pid.compute() return fuzzy_pid.output['kp'], fuzzy_pid.output['ki'], fuzzy_pid.output['kd'] # 联合仿真中的调用示例 class HydraulicPlant: def step(self, u): return np.random.randn() # 简化模型 plant = HydraulicPlant() pid_state = {'integral':0.0, 'prev_error':0.0} for t in range(1000): ref = 1000.0 if t<500 else 500.0 meas = plant.step(pid_state.get('u',0)) e = ref - meas; ed = e - pid_state['prev_error'] kp,ki,kd = compute_pid_gains(e, ed) pid_state['integral'] += e * 0.01 u = kp*e + ki*pid_state['integral'] + kd*ed u = np.clip(u, -10, 10) pid_state['u']=u; pid_state['prev_error']=e


如有问题,可以直接沟通

👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 0:28:53

ctfileGet:城通网盘直连地址解析工具完全指南

ctfileGet&#xff1a;城通网盘直连地址解析工具完全指南 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘繁琐的下载流程而烦恼吗&#xff1f;ctfileGet 是一款专为解决城通网盘下载痛点…

作者头像 李华
网站建设 2026/5/8 0:28:51

3步快速定位Windows热键冲突:Hotkey Detective专业解决方案

3步快速定位Windows热键冲突&#xff1a;Hotkey Detective专业解决方案 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 当你…

作者头像 李华
网站建设 2026/5/8 0:27:52

从零到一:Cherry MX键帽3D模型库如何重新定义机械键盘个性化设计

从零到一&#xff1a;Cherry MX键帽3D模型库如何重新定义机械键盘个性化设计 【免费下载链接】cherry-mx-keycaps 3D models of Chery MX keycaps 项目地址: https://gitcode.com/gh_mirrors/ch/cherry-mx-keycaps 你是否曾梦想拥有一套完全按照自己喜好定制的机械键盘键…

作者头像 李华
网站建设 2026/5/8 0:22:21

WeChatMsg:微信聊天记录本地备份与数据分析技术解决方案

WeChatMsg&#xff1a;微信聊天记录本地备份与数据分析技术解决方案 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeC…

作者头像 李华
网站建设 2026/5/8 0:19:57

EasyAIConfig:AI编程工具配置管理利器,告别繁琐命令行

1. 项目概述&#xff1a;一个为AI编程工具而生的配置中心如果你和我一样&#xff0c;日常重度依赖 Codex、Claude Code 这类 AI 编程助手&#xff0c;那你一定也经历过配置的“阵痛期”。每次换新机器、重装系统&#xff0c;或者只是想试试新的模型提供商&#xff08;Provider&…

作者头像 李华