![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mini巡逻摄像头
文章平均质量分 65
mini巡逻摄像头的底盘是二轮自平衡小车,带大家打开PID算法的大门
三明治开发社区
这个作者很懒,什么都没留下…
展开
-
【内含实物图】一款可独立行走且支持远程对话的微型巡逻摄像头——嵌入式方案
上篇给大家分享了微型巡逻摄像头的整体硬件方案及各单元的工作原理。本篇将重点分享微型巡逻摄像头自平衡功能和移动控制功能的实现。MCU固件开发本demo直接使用涂鸦智能SC012-WD2摄像头,因此摄像头和APP相关固件程序,并不需要开发者进行开发。开发者只需要开发底盘小车平衡运动这方面即可。1.姿态读取在控制平衡之前,开发者需要先获取当前平衡姿态,即先读取MPU6050数据,参考如下void Get_Angle(uint8_t way){ float Accel_Y,Accel_Z,Gyro原创 2021-08-28 18:05:41 · 976 阅读 · 3 评论 -
【内含代码】PID平衡控制在智能巡逻机器人上的应用
姿态平衡控制获取姿态之后,开发者就可以着手控制小车保持平衡了。在直立控制里面加入速度负反馈无法达到速度闭环的目的,而且还会破坏直立控制系统,因此在保证直立控制的优先级条件下,开发者们要把速度控制放在直立控制的前面,也就是速度控制调节的结果仅仅是改变直立控制的目标值。根据经验可知,小车的运行速度和小车的倾角是相关的。比如要提高小车向前行驶的速度,就需要增加小车向前倾斜的角度,倾斜角度加大之后,车轮在直立控制的作用下需要向前运动保持小车平衡,速度增大;如果要降低小车向前行驶的速度,就需要减小小车向前倾斜原创 2021-09-03 18:07:28 · 410 阅读 · 0 评论 -
一阶互补滤波的应用
上一篇给大家介绍了卡尔曼滤波,今天再给大家讲讲一阶互补滤波。一阶互补滤波的程序非常简单,如下void First_order_Filter(float angle_m, float gyro_m){ angle = K1 * angle_m+ (1-K1) * (angle + gyro_m * dt);}使用的时候,我们只需要如下调用函数:First_order_Filter(Accel_Angle,Gyro_X); 其中 Accel_Angle就是原始计算出的角度.原创 2021-09-03 09:36:52 · 1387 阅读 · 0 评论 -
卡尔曼滤波的应用
滤波是数据采集中很重要的环节。上一篇微型巡逻摄像头——硬件搭建中讲到平衡小车中使用MPU6050采集姿态数据,由于物理震动等原因,姿态数据波动较大,难以获取真正的姿态状态,无形中增加了后期平衡算法的难度。因此,我们需要先将MPU6050采集到的数据,进行数字滤波处理。以角度采集为例,这里给大家推荐两种滤波算法,分别是卡尔曼滤波算法和一阶互补滤波算法。首先是加速度和角速度采集,如下Gyro_X=(I2C_ReadOneByte(devAddr,MPU6050_RA_GYRO_XOUT_H)&原创 2021-08-30 18:05:28 · 1739 阅读 · 0 评论 -
【内含实物图】一款可独立行走且支持远程对话的微型巡逻摄像头——硬件方案
整体数据信号交互如下接下来分三个方面进行详细介绍。1.控制单元该部分原理图如下MCU该部分为主控芯片STM32G071RBT6相关电路,主要控制引脚如下 NEST为单片机的复位按键,USER为用户自定义按键,可以通过编程赋予特定的按键功能。 A_SA,A_SB和B_SA,B_SB这两组具备定时器的编码器功能,需接两个轮子的霍尔编码器输出脚。编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量位移或者速度信息。 PWM原创 2021-08-27 18:25:56 · 2446 阅读 · 4 评论