小车PID巡线调节
PID巡线调节
1、双巡线P控制
KP可以先从0.2值调起,P比例主要控制小车能够在线上正常巡线,
P比例说明:KP值越小,转弯幅度越大,会直接越过黑线。KP值越大,转弯幅度越小,能正常巡线,但是摆动很平凡。
误差=右巡线-左巡线 两个模拟巡线之间的误差值
p修正值=误差*kp比例常数
左轮速度=速度-p修正值
右轮速度=速度+p修正值
2、双巡线PI控制
在P比例控制的基础上增加积分I控制
i积分说明:I值越大,小车巡线稳定时间越长,回到线上时间越慢。I值越小,小车巡线稳定时间越短,回到线上时间越快。
误差=右巡线-左巡线
所有误差=所有误差+误差
p修正值=误差*kp比例常数
i修正值=所有误差*ki积分常数
PI修正值=p修正值+I修正值
左轮速度=速度-pI修正值
右轮速度=速度+pI修正值
3、双巡线PD控制
在P比例控制的基础上增加微分D控制
D微分说明:D值越大,小车摇摆越频繁,D值越小,小车摇摆越少。
误差=右巡线-左巡线
p修正值=误差*kp比例常数
D修正值=(误差-上一次误差)*KD微分常数
PD修正值=P修正值+D修正值
左轮速度=速度-PD修正值
右轮速度=速度+PD修正值
上一次误差=误差
4、双巡线PID控制
PID调节方法总结:
先调整KP比例常数:从小到大调节,一直到能够巡线为止
再调节KI积分常数:从大到小调节,一直到能够正常巡线为止,调节好的KI不论在任何恶劣环境下只要巡线眼睛在线上都能把小车调整到线上来。
再调节kD微分常数:从小到大调节,让小车在巡线过程中逐渐平滑,减少摆动
推荐初始调节值:kp比例常数:0.2 ki积分常数0.1 KD微分常数:0.1
Kp调节时±0.1 Ki调节时,小数点后加0减0 KD调节时±0.5
误差=右巡线-左巡线
所有误差=所有误差+误差
p修正值=误差*kp比例常数
i修正值=所有误差*ki积分常数
D修正值=(误差-上一次误差)*KD微分常数
PID修正值=p修正值+I修正值+D修正值
左轮速度=速度-PID修正值
右轮速度=速度+PID修正值
上一次误差=误差
4、单巡线PID调节
公式同双巡线一样,唯一的区别是误差值公式的运算,
预期目标值=(白线光值+黑线光值)/2
当前值:实际巡线检测的值
误差=预期目标值-当前值
PID参数调试口诀
参数整定找最佳,从小到大顺序查
先是比例后积分,最后再把微分加
曲线振荡很频繁,比例度盘要放大
曲线漂浮绕大湾,比例度盘往小扳
曲线偏离回复慢,积分时间往下降
曲线波动周期长,积分时间再加长
曲线振荡频率快,先把微分降下来
动差大来波动慢,微分时间应加长
理想曲线两个波,前高后低4比1
一看二调多分析,调节质量不会低
这口诀我看不懂,所以用不来,上面调节法是我看了很多文章视频自己不断调试总结出来的,不一定对,现在我可以凭借感觉调整到最佳状态,但是讲解的话也只能讲成这样了。
小车PID巡线调节的更多相关文章
- 四旋翼飞行器Quadrotor飞控之 PID调节(參考APM程序)
做四轴也有一段时间了.近期一直在做PID方面的工作. 如今四轴基本能够实现室内比較稳定的飞行,操控手感也能够接受.稍后上试飞视频.在此把一些PID方面的经验总结总结和大家分享一下. 首先介绍一下大概的 ...
- PID算法
所谓PID就是比例-积分-微分的英文缩写,但并不是必须同时具备这三种算法,也可以是 PD, PI,甚至只有 P算法控制,下面分别介绍每个参数的含义:首先需要明确一个事实就是,要实现PID算法,必须在硬 ...
- 亚博 Arduino智能小车实验报告
亚博 Arduino智能小车实践报告 一. 程序安装准备 首先安装了Arduino板载USB转串口CH340驱动安装包, 若上述程序安装成功,则可以在我的电脑中找到相应的端口 本机端口号为CO ...
- 亲子编程玩Micro:bit-动力小车“麦昆”
少儿编程之风已经吹进各大城市,编程猫.乐博机器人.童程童美等专业培训机构逐渐进入大家的视野,年龄段已经从K12逐渐降低到幼儿园中班.其实,少儿编程的门槛并不高,它不会让孩子一上手就去接触代码,而是会通 ...
- 电子设计省赛--PID
//2014年4月17日 //2014年6月20日入"未完毕"(未完毕) //2014年6月21日 一開始还以为是多难的算法.事实上就是个渣渣. 当然PID实践中应该会非常难. 另 ...
- 树莓派4B智能小车机器套件——入手组装实验记录
树莓派4B智能小车机器套件--入手组装实验记录 4WD智能小车(4WD SMART ROBOT KIT),支持Arduino.51.STM32.Raspberry Pi等4个版本.本套件采用的是树莓派 ...
- 树莓派-4WD智能小车操作小结
树莓派-4WD智能小车操作小结 树莓派4B-4WD智能小车,双层结构,第一层结构为:小车扩展板(底层)+树莓派主板,通过铜柱隔离固定,小车扩展板相当于计算机的外设扩展板:上面一层为第二层,是三个舵机承 ...
- STM32L476应用开发之七:流量的PID控制
在气体分析仪使用过程中,为了力求分析结果的准确性,一般要求通过的气体流量尽可能的稳定.为了保证流量控制的稳定,我们采用PID调节来控制气路阀门的开度. 1.硬件设计 我们采用的流量计为气体质量流量计, ...
- 经典PID控制及应用体会总结
经典PID控制及应用体会总结 PID控制原理 PID是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制方案: 重点关注相关算法是如何对偏差进行处理的: PID控制器各校正环节 ...
- 【嵌入式】Arduino编程基础到应用全解析
Arduino Author: Andrew.Du 基础 基础语法: setup() loop() pinMode(引脚,模式) pinMode(13,OUTPUT):设置13号引脚为输出 //在使用 ...
随机推荐
- 关于项目中 "不能创建大小为 8190 的行,该大小大于所允许的最大行大小 8060 "的处理
由于产品底层设计的情况,sqlserver 列设置了 可以随用户 创建自动生成 项目特殊,设置的列过多,有三四百列(通常不会过多) 数据无法正常保存,报错"不能创建大小为 8190 的行, ...
- 【Linux】5.2 Shell变量
Shell变量 1. shell变量简介 Linux Shell的变量分为,系统变量和用户自定义变量 系统变量: $HOME. $PWD. $SHELL. $USER等等 显示当前shell中所有变量 ...
- 【Python】介绍以及环境搭建
Python简介 Python介绍 Python是时下最流流.最火爆的编程语言之一,具体原因如下: 简单.易学,适应人群广泛 免费.开源 应用领域广泛 备注:以下知名框架均是Python语言开发. G ...
- ORA-28001:口令已经失效
Oracle用户口令默认的有效期导致的一个异常,留爪. Oralce11G下,创建的用户及口令,也就是用户密码默认会有个180天的过期时间, 如果超过180天用户口令未做修改,则该用户口令失效,也就是 ...
- 通过TTS模型让猴哥给你讲个故事
"假"标题:通过TTS模型让猴哥给你讲个故事 "真"标题:使用Python调用硅基流动TTS模型并播放返回的音频数据过程记录 TTS介绍 TTS(Text-to ...
- 创建bean对象的三种方式
一.使用无参构造方法创建 二.使用静态工厂创建 三.使用实例工厂创建
- php 设置友好时间
public static function formatTime($time){ if (is_int($time)) { $time = intval($time); } elseif ($tim ...
- 5.3K star!硅基生命新纪元,这个开源数字人框架要火!
嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 "只需3分钟视频素材,就能打造专属数字分身!""开源免费商用, ...
- [护网必备]2018年-2024年HVV 6000+个漏洞 POC 合集分享
此份poc 集成了Zabbix.用友.通达.Wordpress.Thinkcmf.Weblogic.Tomcat等 下载链接: 链接: 6000+Poc下载
- 【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection
用VScode常常会碰到以下情况,Could not establish connection. 先介绍一下VScode远程连接和终端SSH连接的区别:终端直接用SSH连接时,只需要开启SSH服务,并 ...