当前位置: 首页 > news >正文

stm32 智能小车

项目综述

 

 

立创EDA绘制

轮子和电机安装

电机固定在底盘上,轮子安装在电机的白色轴上。

前轮转向机构:转向杯、小轴承、大轴承、结合器、

三个舵机,1号舵机控制方向,2、3号提供动力

驱动轮

辅助轮

两轮差速 ,原地旋转  调整左右2轮的速度

无线手柄遥控小车

手柄  接收器,转接板方便接收器和开发板连接。

2.4GhZ信号频段,连接稳定性、响应速度、延迟

NRF24L01P芯片

四路循迹

四组红外探头,每组一个红外发射器一个红外接收器。如果探头下方是黑色的路线,黑色会吸收掉探头发出的红外光,所以红外接收器接收不到返回的红外光。

PID控制

现实场景里受到各种外界因素影响。

时刻计算误差,根据这个误差计算出一个符合当前状态的控制量。

需要不断循环计算当前值和目标值的差值。

微分控制器的输出是误差对时间的导数乘以一个微分系数kd。导数在数学上的概念是变化的速率。当误差变化非常迅速时,微分控制器能迅速响应误差的变化,输出一个较大的值,及时调整控制器的输出,防止误差过大。可以想象为汽车的减振器。

通过计算误差的变化速度进行快速调整。对系统中的噪声非常敏感。

位置式pid属于基础的pid算法,但通用性高,在一般的运动控制中非常好用。

 

位置式PID

前一次误差减去当前误差除以一个采样时间间隔。

delta_t合并k_i,delta_t合并k_d

增量式pid

位置式pid每次循环计算出来的是一个直接给到控制器的一个输出值;增量式pid先计算出这一次输出值相较于上一次输出量的一个增量,把这个增量增加到上一次的输出值上面,最后再给到控制器。

位置和增量式pid,在积分项上的差异,增量式pid积分项考虑的只是此刻的误差,位置式pid每次的误差是累加的,如果存在一个误差源,它的误差会不断积累。而增量式pid无需累加。增量式pid适用于防止剧烈变动的情况。计算负担比位置式pid小

串联级pid

电机电流

单级pid位置环输出的pid直接作用在电机上,pid输出值的物理意义就是电机的力的大小(电机电压大小、pwm占空比)。

串联pid中位置环输出的指令直接作为内环速度环的一个输入,此时位置环输出量的物理意义期望的速度

速度环设置的要比位置环快3~5倍。

转向控制

两轮平衡车

小车目标转角为0,也就是控制两个电机不要有速度差异。

积分项消除稳态误差,积分项累计误差,可能导致一些震荡。微分项提供一个更快的响应速度。

参数:2个编码器度数和目标角度

积分限制幅度:积分系数Ki=0.35,Ki*积分大小限制在电机PWM范围内(正负2600),2600 / 0.35 = 7428.5714

亚博智能

 

http://www.dtcms.com/a/291792.html

相关文章:

  • 【多线程篇22】:ConcurrentHashMap的并发安全原理剖析
  • 低成本、高泛化能力的无人机自主飞行!VLM-Nav:基于单目视觉与视觉语言模型的无地图无人机导航
  • C++类和对象(3)
  • 从零搭建 OpenCV 项目(新手向)--第一天初识OpenCV与图像基础
  • MCP:Cline+DeepSeek在VSCode上配置
  • TDengine 计算百分位函数使用手册
  • .net web 中如何优雅地使用 redis?
  • MFC类Qt的自动布局框架
  • 景区负氧离子监测设备:守护清新,赋能旅游
  • 【kubernetes】-2 K8S的资源管理
  • 学习笔记-关于中华心法问答系统的环境配置和源代码理解
  • 基于Vue+ElementUI的借还款利息计算器
  • Java 动态导出 Word 登记表:多人员、分页、动态表格的最佳实践
  • SpringBoot集成PDFBox实现PDF导出(表格导出、分页页码、电子签章与数字签名)
  • RISC-V基金会Datacenter SIG月会圆满举办,探讨RAS、PMU性能分析实践和经验
  • Rust实战:决策树与随机森林实现
  • 【vscode】vscode中python虚拟环境的创建
  • 激光雷达-自动驾驶的“三维感知中枢“
  • IntelliJ IDEA (2024.3.1)优雅导入 Maven 项目的两种方式详解
  • 【Java企业级开发】(六)Java框架技术-Maven和MyBatis
  • Docker容器 介绍
  • Maven 环境配置全攻略:从入门到实战
  • Kafka灰度方案
  • 两个android,一个客户端一个服务器端
  • 【菜狗学聚类】时间序列聚类主要方法—20250722
  • zmaiFy来说软字幕和硬字幕有什么优缺点?
  • 【LINUX】CentOS Stream 9 手动配置网络
  • [hot 100]两数之和-Python3-Hash Table
  • 归一化 vs 标准化:数据预处理终极指南
  • Matplotlib绘制各种图参考