目标识别与跟踪系统

 1.资源分配

串口通讯

 PA.9  USART1_TX

PA.10   USART1_RX

OLED显示

PB8,PB.9

状态指示灯

PC.13

按键

PA0光标向下

PA1光标向上

C15确认

C14返回上一级菜单

舵机PWM

PA2左右舵机

PA3上下舵机

剩余引脚

PA4,5,6,7,8,11,12,15

PB0,1,3,4,5,6,7,12,13,14,15

2.硬件部分

12v锂电池转3.3和5v给控制部分和舵机系统供电

比赛还是需要用性能好的Openmv,在使用过程中,OpenmvH7plus比OpenmvH7识别效果好得多!!!!

3.控制部分

3.1菜单显示部分

使用按钮来操控各个任务的执行

3.2舵机控制方式

PID控制:存在的问题就是响应过快,速度过快,无法控制舵机的转向速度,并且在发挥部分就无法使用,因此PID控制是不可行的。但是如果在PID控制中加上延时会不会好很多呢?会好一点,但是不是主要的,延时只会去减缓舵机的控制效率而不会减缓舵机的速度,

PID,P是影响响应速度的主要参数,当误差大时由于P的作用会在起步是迅速靠近目标位置,当接近目标时误差减小,系统的移动也就变得缓慢,

I积分系数主要用于消除稳态误差,积分系数小会延长系统到达目标位置的时间,当靠近目标时误差小P对系统的影响已经小于积分带来的作用,此时主要依靠积分来调节。

注意的问题

1.pid的运算过程数值全都为有符号类型

2.PID计算完成后,数值整合需要考虑极性问题。中值是加上PID输出,还是减,是要考虑到硬件结构的,比如增舵机顺时针转动,减舵机逆时针转。

3.2通讯部分

openmv和stm32之间采用串口通讯,由于需要发送不同的数据,我们对接收buffer进行提取,由于每次接收到的数据形式不同,比如命令,坐标,这些数据类型每次发送的数据个数是不同的,我们就需要分类再获取。

3.3识别部分

铅笔框是无法识别到的,因此我们换换个思路,让激光先打在铅笔框的四个顶点,这样让就能记录下铅笔框的坐标位置,摄像头识别也就有了感兴趣域范围,在识别矩形框的时候发现识别矩形框并不是很稳定,因此我们采用了边长判别滤波。

4.视觉部分

基础部分:

1,2先用摄像头采样铅笔框坐标,采样完成后就可以执行1,2问

3,4先用采集到的铅笔框作为感兴趣域,避免了摄像头识别到外界矩形

在使用斜边与框的结合过滤掉识别错误的矩形

最后发送红外激光给控制

发挥部分

1.要求两秒追踪成功

5.问题分析与解决

6.1需要解决的问题

菜单显示:这个很简单,就是利用按键来实现显示,清屏就OK。

Openmv与STM32通讯:由于OpenMV要给32发送各种数据,因此我们需要讲解收到的数据Buffer进行处理,处理方式基于我们的通讯协议

如何采样铅笔框:利用激光打在铅笔框的四个角利用摄像头对这四个点进行采样。

6遗留问题

OpenMV脱机显示:lcd屏幕花屏的问题,已解决,在淘宝买个屏幕自己回来焊接。嘎嘎爽,立创有开源。

7.题目要求

8.总结

一切的不合理都是有原因的,有原因必有源头,顺着现象找原因解决问题才能成长起来!

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 11:32:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 11:32:01       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 11:32:01       58 阅读
  4. Python语言-面向对象

    2024-07-12 11:32:01       69 阅读

热门阅读

  1. Pip: Python的包管理器

    2024-07-12 11:32:01       26 阅读
  2. spring 中的路径匹配

    2024-07-12 11:32:01       15 阅读
  3. 【linux服务器ssl证书过期替换】

    2024-07-12 11:32:01       16 阅读
  4. python使用python-docx库处理图片白框问题

    2024-07-12 11:32:01       21 阅读
  5. 力扣刷题35.搜索查找位置

    2024-07-12 11:32:01       17 阅读
  6. C#面 :请列举官方常用的中间件?

    2024-07-12 11:32:01       22 阅读
  7. AI学习指南机器学习篇-K均值聚类模型训练与预测

    2024-07-12 11:32:01       23 阅读
  8. git stash

    git stash

    2024-07-12 11:32:01      21 阅读
  9. 【React Hooks原理 - useEffect、useLayoutEffect】

    2024-07-12 11:32:01       21 阅读
  10. 软设之观察者模式

    2024-07-12 11:32:01       22 阅读
  11. 交易积累-Cloudflare

    2024-07-12 11:32:01       21 阅读
  12. 使用Zipkin与Spring Cloud Sleuth进行分布式跟踪

    2024-07-12 11:32:01       28 阅读