目标识别与跟踪系统

 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.总结

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

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值