搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
人工智能uu
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
MySQL 判断查询条件是否包含某字符串的几种方式_mysql包含字符查询
2
分享10个AI搞钱副业,门槛低,普通人也能学的会!易上手!_ai副业
3
vue使用环境安装步骤_node.js 12.13.1安装
4
Ubuntu安装Docker和Docker Compose_ubuntu安装docker和docker-compose
5
大数据:平台搭建(hadoop+spark+zeppelin)(一)_启动hdfs集群,启动spark集群,启动zeppelin服务器图片
6
nuxt打包后文件过大的优化_nuxt optimization
7
利用idea cherry-pick 汇合代码到Git其他分支_your local changes would be overwritten by cherry-
8
人工智能与数据科学的融合:创新商业模式
9
官宣|Apache Flink 1.20 发布公告
10
数据开发/数仓工程师上手指南(一)数仓概念总览_数仓工程师的学习路径
当前位置:
article
> 正文
平衡车之角度环分析及调试
作者:人工智能uu | 2024-08-10 03:11:28
赞
踩
角度环
1.直立环pd:d参数的引入是为了抑制震荡
p,比例参数,它的作用是反应了控制的响应速度,过小的话平衡车表现是pwm明显不够直立不起来,过大的话小车过于震荡,震荡的时候就要加微分参数抑制震荡·
d,微分参数,它的作用是反应了对震荡的抑制。过小的话和没加微分参数只有比例参数一样的现象,过大的话会低频迅速抖动
控制时序:
角度5ms采集一次 直立环和角度环10ms控制一次
下面是程序分析:
/************************************************************************/
直立环
:
int balance(float Angle,float Gyro)
{
float Bias;
int balance;
Bias=Angle-ZHONGZHI; //===求出平衡的角度中值 和机械相关
balance=Bkp*Bias+Gyro*Bkd; //===计算平衡控制的电机PWM PD控制 kp是P系数 kd是D系数
return balance;
}
角度环pid分析
:这里使用的是
位置pid
控制器的PD控制器,这里
微分D乘的参数是角速度是因为
:这里的角速度已经转变为弧度/s单位,当在单位时间内,车子由一个角度猛然的转到另一个角度的时候,角速度先变大后变为0,这里的角速度就可以理解为在这段时间内的此时的角度差值和上次角度差值的差值(因为角度差值除以单位时间就是角速度),这就很符合位置pid的微分乘的参数的要求了。所以这里的微分乘的是角速度(这里的角速度单位已经从°/s转为弧度/s)
角度环是根据平衡角度的变化给出的pwm值
kp:是比例参数 他决定平衡小车响应速度的快还是慢 太小响应速度慢太大会发生低频抖动
kd:是微分参数 对于干扰要进行迅速响应的的要加入微分参数 太小的话没什么作用太大会高频抖动
只有直立环调试比较好的现象是:平衡车可以直立几秒钟然后像一个方向加速
直立环调试指南
:
在调试直立环的时候,我们要把速度环和转向环屏蔽掉,只打开直立环。
(1)先确定平衡车机械平衡位置角度。
(2)确定kp值得极性和大小:
首先我们估计kp的取值范围。我们的PWM设置的是7200代表占空比100%,假如我们设定 kp 值为 720,那么平衡小车在±10°的时候就会满转。根据我们的感性认识,这显然太大了,那我们就可以估计 kp 值在 0~720 之间,首先大概我们给一个值 kp=-200,我们可以观察到,小车往哪边倒,电机会往那边加速让小车到下,就是一个我们不愿看到的正反馈的效果。说明 kp 值的极性反了,接下来我们设定 kp=200,这个时候可以看到平衡小车有直立的趋势,虽然响应太慢,但是,我们可以确定 kp 值极性是正的。具体的数据接下来再仔细调试。
确定 kp 值的大小(令 kd=0,请结合本小节开头的直立控制函数理解)确定参数的原则是:
kp 一直增加,直到出现大幅度的低频抖动。
设定 kp=200,这个时候我们可以看到,小车虽然有平衡的趋势,但是显然响
应太慢了。
设定 kp=350,这个时候我们可以看到,小车虽然有平衡的趋势,而且响应有
所加快,但是响应还是不足以让小车保持平衡。
设定 kp=500,这个时候我们可以看到,小车的响应明显加快,而且来回推动
小车的时候,会有大幅度的低频抖动。说明这个时候 kp 值已经足够大了,需要
增加微分D控制削弱 p 控制,抑制低频抖动(也就是抑制超调)。
(3)确定kd值得极性和大小:
我们得到的 MPU6050 输出的陀螺仪的原始数据,通过观察数据,我们发现最大值不会超过 4 位数(9999),再根据 7200 代表占空比 100%,所以我们估算 kd 值应该在 0~2 之间,我们先设定 kd=-0.5,当我们拿起小车旋转的时候,车轮会反向转动,并没有能够实现
跟随效果
。这说明了 kd的极性反了。接下来,我们设定 kd=0.5,这个时候我们可以看到,当我们旋转小车的时候,车轮会同向以相同的速度跟随转动,这说明我们实现了角速度闭环,至此,我们可以确定 kd 的极性是正的。具体的数据接下来再仔细调试。
确定 kd 值的大小(令 kp=500,请结合本小节开头的直立控制函数理解)
确定参数的原则是:
kd 一直增加,直到出现高频抖动。
设定 kd=0.5,这个时候我们可以看到,低频大幅度频抖动已经基本消除。
设定 kd=1,这个时候我们可以看到,整体性能已经非常棒。
设定 kd=1.7,这个时候我们可以看到,小车开始出现高频剧烈抖动(调试过程
遇到这种情况请马上关闭小车,长时间高频抖动会导致驱动被烧坏的)
至此,我们可以确定得到 kp=500,kd=1.7 是 P、D 参数的最大值。然后我们进行最关键的一步,对每个系数乘以 0.6,取整得到 kp=300,kd=1,这就是最终我们需要的参数,这样做的原因是,我们之前得到的参数是 kp、kd 最大值,理想值是根据我们的工程经验,对每个数据乘以 0.6 得到。这个时候我们可以看到,小车没有任何的抖动,非常平稳,但是依然无法保持长时间的直立,直立很短一段时间后会往一个方向加速倒下。这个等我们下面加上速度环才能得到更好的性能。只有直立环是很难让小车达到很好的直立效果的。至此,直立调试部分就告一段落了。
感谢平衡小车之家在技术上的帮助
如果觉得有用的话 请关注我哦
也可以和我一起交流,或者评论,我会一一回复。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/人工智能uu/article/detail/956556?site
推荐阅读
article
Java
多线程
-
ReentrantReadWriteLock
读写
锁详解_threadlocalh...
1.
读写
锁简介现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同...
赞
踩
article
android
蓝牙
调用_安卓
蓝牙
调用...
ps:
android
调用
蓝牙
进行系列的操作…… 1、检测
蓝牙
开启2、获取已配对列表3、获取范围内
蓝牙
列表4、进行
蓝牙
配...
赞
踩
article
大
模型
丨这样
审
合同
到底行不行?_
大
模型
应用
文本、
合同
等
审
核...
利用
大
模型
审
合同
具有一定的
应用
前景,但仍存在一些技术和成本方面的挑战.在未来的研究中,需要进一步改进和完善该技术,以使其...
赞
踩
article
读书笔记2|
深度
学习
入门——
基于
python
的理论与
实现
_
深度
学习
入门
基于
python
的理论与
实现
...
深度
学习
入门:
基于
Python的理论与
实现
》高清中文版.pdf_
深度
学习
入门
基于
python
的理论与
实现
pdf
深度
学...
赞
踩
article
VGG16
远程
服务器
训练
CIFAR10
_
vgg16
要用
服务器
跑吗...
构建
VGG16
神经网络,远程
服务器
训练
_
vgg16
要用
服务器
跑吗
vgg16
要用
服务器
跑吗 ...
赞
踩
article
Windows11
下清理
Docker
Desktop
与
wsl
的C盘空间占用_
wsl
清理缓存_wind...
本文介绍了如何在
Windows11
中清理
Docker
Desktop
和
wsl
的C盘空间占用,包括删除不必要的镜像、容器、...
赞
踩
article
Python
列表
推导
式_
使用
列表
推导
式实现矩阵转置...
Python
列表
推导
式一.为什么要学习
列表
推导
式 母鸡啊1.
列表
推导
式可以说在
Python
程序开发时应用广泛。2.
列表
推...
赞
踩
article
谷歌云
代理商:
谷歌云
AI
产品
都有哪些,
应用
于哪些
领域
?_
谷歌云
a
i
平台
的
功能是什么?()
a
.
提供
各...
4. 教育娱乐:
谷歌云
AI
技术在教育娱乐
领域
的
应用
包括智能教学
、
虚拟现实
、
游戏开发等。
谷歌云
作为全球领先
的
云计算服务
提供
...
赞
踩
article
windows
wsl2
do
c
ker
-
desktop
迁移C盘数据_
do
c
ker
desktop
...
本文档介绍了如何解决C盘空间不足的问题,重点在于分析发现Do
c
ker数据文件
占用
过多,进而详细阐述了如何停止Do
c
ker...
赞
踩
article
麒麟
服务器
系统
挂载
磁盘_
麒麟
系统
挂载
硬盘...
获取分区的UUID:使用以下命令各分区的UUID。可以编辑/etc/fstab文件并添加相应的条目。重新启动开发板,使用...
赞
踩
article
LLMs
之
memory
:
mem0
(
个性化
的
AI
记忆
层)的简介、安装和使用方法、案例
应用
之详细攻略...
LLMs
之
memory
:
mem0
(
个性化
的
AI
记忆
层)的简介、安装和使用方法、案例
应用
之详细攻略目录
mem0
的简介me...
赞
踩
article
mysql
优化
_
优化
mysql
及 原因...
也是一个网上很多的问题,然后自己总结:用很多博客的说法是,
mysql
优化
从几个方面来考虑一,表级别的
优化
1,为字段选取合...
赞
踩
article
评分超越MJ和
SD
?揭秘
FLUX.1
AI
绘画
模型
,
实例评测
不
容错过(附体验地址)_
flux
版本
说明...
整体使用来说
,
1、出图的手部比较稳定
,
没有那么容易出现坏手、坏脚2、出图速度快
,
基本上30S能完成出图(我用的是云端40...
赞
踩
article
【
干货
】
为什么
都
跑去
用
HTTPS
了
?...
1. HTTP 协议在谈论
HTTPS
协议之前,先来回顾一下 HTTP 协议的概念。1.1 HTTP 协议介绍HTTP 协...
赞
踩
article
MySQL
性能
优化
的
9
种
方式_
mysql
优化
的
几
种
方法...
面试官:你们平时是怎么
优化
mysql
的
?我:。。。看完这篇,面试再也不怕了!_
mysql
优化
的
几
种
方法
mysql
优化
...
赞
踩
article
2024
人工智能
四大
趋势
→_
展望
人工智能
的
未来
前景
。
...
2023年,世人见证了ChatGPT在全球范围
的
大火
。
以生成式
人工智能
为代表
的
新一代
人工智能
问世,改变了
人工智能
(AI)...
赞
踩
article
Android
BLE
蓝牙
踩坑总结_
android
app 进入后台之后
能
扫描
到
蓝牙
但是不
能
链接...
文章目录简介题外话问题集锦一、
扫描
问题1、
扫描
不到设备2、有时候刚开始
扫描
还正常,过段时间
扫描
不到设备?3、为什么有些手...
赞
踩
article
SpringBoot
热
部署
后访问出现404错误_
typescript
spring
boot
本地访...
在application,properties中加入如下:
spring
.devtools.restart.poll-in...
赞
踩
article
2023:
AI
发展
的
5 大
趋势
...
本文中,我们将探讨我所看到
的
AI
的
5 大
趋势
,重点介绍推动这个充满希望
的
领域向前
发展
的
发展
和创新。从 Genera...
赞
踩
article
Python
爬虫实战
:
股票
数据
定向爬虫_
python
爬取
股票
数据
...
股票
信息静态存在于html页面中,非js代码生成,没有Robbts协议限制,打开网页,查看源代码,搜索网页的
股票
价格
数据
...
赞
踩
相关标签
java
多线程
android
语言模型
算法
nlp
python
机器学习
数据挖掘
人工智能
深度学习
开发语言
DeepLearning
CNN
服务器
神经网络
docker
缓存
list
区块链
阿里云
云计算
分布式
架构
windows