本文介绍通过增量式PID控制器实现通过对自动驾驶车辆的EPS进行扭矩响应控制从而实现对期望方向盘转角的控制。

控制器采用增量式PID

对连续PID控制以一定离散化方法离散后就可以得到数字PID控制,离散的本质是采样,假设采样为周期采样,采样周期为T,离散自变量为n,则离散PID控制可以表示为:

上式也表示出了位置式PID控制算法。
根据位置式PID控制公式,写出n-1时刻的控制量:


此处,我们仅使用PI控制即可。
可以看到,增量式PID与位置PID是相似的,参数的表达方式略有不同,在正定过程中要注意相关公式的计算,Ki 和 Kd 的参数中有两个参数,其中T为采样周期,确定后就是常数,另外还有参数积分常数Ti 和 微分常数Td, 这两个数值的取值可以通过调节进行整定,当然也可以根据下文的推荐在一定范围内进行尝试。

我们总结一下增量式PID的特点:
增量式PID控制主要是通过求出增量,将原先的积分环节的累积作用进行了替换,避免积分环节占用大量计算性能和存储空间。
增量式PID控制的主要优点为:
①算式中不需要累加。控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果;
②计算机每次只输出控制增量,即对应执行机构位置的变化量,故机器发生故障时影响范围小、不会严重影响生产过程;
③手动—自动切换时冲击小。当控制从手动向自动切换时,可以作到无扰动切换 。
由于增量式需要对控制量进行记忆,所以对于不带记忆装置的系统,只能使用位置式PID控制方式进行控制。

下面介绍几个基本PID参数调节的常识:

PID控制器参数的工程整定,各种调节系统中P.I.D参数经验数据以下可参照:

温度T: P=20-60%,T=180-600s,D=3-180s
压力P: P=30-70%,T=24-180s,
液位L: P=20-80%,T=60-300s,
流量L: P=40-100%,T=6-60s。

方法二: 1.PID调试一般原则 a.在输出不振荡时,增大比例增益P。

b.在输出不振荡时,减小积分时间常数Ti

c.在输出不振荡时,增大微分时间常数Td。

2.一般步骤
a.确定比例增益P 确定比例增益P 时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0(具体见PID的参数设定说明),使PID为纯比例调节。输入设定为系统允许的最大值的60%-70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。比例增益P调试完成。

b.确定积分时间常数Ti 比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。

c.确定积分时间常数Td 积分时间常数Td一般不用设定,为0即可。若要设定,与确定 P和Ti的方法相同,取不振荡时的30%。 d.系统空载、带载联调,再对PID参数进行微调,直至满足要求

值得注意的是即使是增量式PID,同样遵循工程PID参数整定方法:如著名的Z-N整定法,C_C整定法等

本方法通过simulink进行模型搭建并代码生成,并在实车上进行测试:
simulink模块如下:

限速模块,用于控制方向偏转角速度,当然模型中还包括很多保护模块,限速模块只是其中之一。


PID模块,用于实现通过扭矩对角度进行控制

细节部分如下:


开头部分如图:

由于是车辆发动机控制,本质上是流量控制,因此仅使用PI控制即可。
接下来还有累加模块和多个限速保护模块:


使用多个限速模块的原因是:
由于车辆是使用EPS扭矩控制方向盘转速,因此扭矩的变化一定要限制上下限保证EPS不会发生大的扭矩响应导致车辆不安全,另外限速模块也限制了扭矩变化,表现上就是车辆的方向盘转角的变化率也被限制,保证了方向盘转角不会突变,这也是安全的考虑。

相关模型的其他细节,不在此赘述,可以直接通过连接下载:
https://download.csdn.net/download/gophae/11729471
如有疑问可评论

自动驾驶车辆转向控制(通过扭矩控制实现方向盘转角控制)相关推荐

  1. 自动驾驶车辆转向控制(通过支持转角控制的EPS实现角速度控制)

    通常情况下,线控EPS可以支持转角控制,或者扭矩控制.现在,本文以支持转角控制的线控EPS为例,解释如何通过仅支持EPS转角控制的执行器实现转角速度控制. 方法很简单,首先我们要实现的角速度控制不超过 ...

  2. 自动驾驶车辆控制测评标准

    自动驾驶中,车辆控制是基础,以什么指标来测评就显的很关键,以下是Apollo 车辆控制评测分析指标,可以在此基础上做裁剪,来满足自己自动驾驶车辆控制的需求. 序号 参数 名称 说明 平均控制性能相关参 ...

  3. 自动驾驶车辆运动控制过程中,对PID控制参数的优化和整定。 传统PID控制算法

    自动驾驶车辆运动控制过程中,对PID控制参数的优化和整定. 传统PID控制算法,由于参数固定,在道路曲率较大和车速变化情况下难以满足控制需求,采用RL强化学习算法(DDPG算法,Actor-Criti ...

  4. 综述:城市道路自动驾驶车辆规划与控制技术

    作者 | 深蓝学院  编辑 | 深蓝AI 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[规划控制]技术交流群 后台回复[规划控制综述 ...

  5. 解惑 | 关于自动驾驶车辆的一些问答(长文警告)

    解惑 | 关于自动驾驶车辆的一些问答 01李骏院士:为什么说智能汽车科技创新是国家工程 02我国智能汽车"卡脖子"技术有哪些? 03汽车电子:拥抱软件或落后 04软件定义汽车时代( ...

  6. 国内自动驾驶车辆传感器方案哪家强?

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 后台回复[多模态综述]获取论文! 后台回复[ECCV2022]获取ECCV2022所有自动驾驶方向论文! 后台 ...

  7. 城市道路自动驾驶车辆运动规划和控制技术综述(1)

    城市道路自动驾驶车辆运动规划和控制技术综述 本文为翻译<A survey of motion planning and control techniques for self-driving U ...

  8. 用发型、妆容和面部形态解释人脸识别准确性的性别差异;在CARLA实施的基于交叉口情况覆盖的自动驾驶车辆验证和确认框架;迈向医学同行影响的Shapley价值图框架;确定运动想象脑机接口中各种用户状态和特

    中文标题:用发型.妆容和面部形态解释人脸识别准确性的性别差异 英文标题:Gendered Differences in Face Recognition Accuracy Explained by H ...

  9. 千寻位置 开发demo_专攻高精定位解决方案,「千寻位置」要解决自动驾驶车辆“我在哪儿”的问题...

    对于自动驾驶车辆来说,在解决"去哪儿"和"怎么去"问题之前,首先要知道的是"我在哪儿".而判断"我在哪儿",就需要高精度 ...

最新文章

  1. Cactus在jexus上安装
  2. 思维导图系列之Redis知识梳理
  3. 1.5万转12Gbps 东芝发布全新企业硬盘AL14SX
  4. [转]6个开源数据科学项目
  5. linux操作命令 mongo_MongoDB常用操作命令整理
  6. linux cpu load命令,Linux性能检测常用的10个基本命令
  7. 如何快速理解模糊PID算法 ---(一)
  8. python中最大值函数,python中如何获取最大值函数
  9. 市场调研-全球与中国汽车零部件涂层市场现状及未来发展趋势
  10. Docker-禁用userland代理
  11. YunEngine SDK已经开始发放了!!!
  12. SRM 597div2 1K
  13. 要么励志故事:要么孤独,要么庸俗
  14. redis之setnx、setex、setrange、mset
  15. 模糊理论相关学习(2)——模糊神经网络
  16. 深度图怎么看行情走势
  17. MapReduce工作原理详解(学习笔记)
  18. 解决ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
  19. 2020年3月7日的我
  20. 经验积淀大级沟通修行

热门文章

  1. python 引用库的点.号_给大家分享一些实用的Python库
  2. CentOS7.4搭建FTP服务器(vsftp)
  3. java调python报错Cannot create PyString with non-byte value
  4. hibernateTemplate update 修改指定字段
  5. linux vi脚本,linux下vi(vim)的新的用法总结
  6. hbase scan超时设置_HBase学习之路 (六)过滤器
  7. 重庆中职计算机试题及答案,重庆市计算机专业高职复习题参考答案
  8. w7计算机不显示移动硬盘,win7系统不显示移动硬盘怎么回事_win7移动硬盘在电脑上显示不出来如何处理-win7之家...
  9. LoadRunner场景设置里的各参数解释
  10. 九度OJ1111题-单词替换