智能车摄像头组中最重要的就是图像处理了,这里面的图像处理包括很多方面,比如十字如何处理,弯道如何处理,起跑线,障碍等等问题,接下来我要讲的就是障碍处理方法。

首先我们先描述一下障碍的形状,在智能车竞赛中障碍是一个长方形,距离边界有5CM的距离,这样在图像上显示出来时候就是(图1)所显示的样子

在这里面我们可以看到中线有明显的偏移,右边界也有明显的跳变,那么这个跳变我要怎么去提取呢,我第一步用的就是中心线的方差,通过计算方差来判断是否能够进入障碍程序,当中线的方差满足障碍条件后进入障碍处理程序,但是往往一个判断是不够准确的,进入这一个条件后我去判断边界的连续性,就是通过边界的跳变去查找,程序上如何实现呢,最简单的就是这样一句话。

         if(cha1>=2&&abs(cha3-cha1)<=2&&abs(cha2-cha3)<=2)

在这里面cha1,cha2,cha3的定义呢就是

        cha1=right_line[1][i-3]-right_line[1][i];cha2=right_line[1][i-3]-right_line[1][i+1];cha3=right_line[1][i-3]-right_line[1][i+2];

这里的定义就顾名思义了,就是判断连续点之间的差分,进而可以判断是否有跳变。判断完跳变之后呢还是不能达到100%的准确率。接下来在做的判断就是找到中间这个黑色的障碍,通常这个障碍所占的位置比较大,而且在中线与右边界的中间部分向上搜索一定会有黑色的障碍出现,那么这个时候就可以判断出来这个位置是障碍了,这段程序呢也很简单,就判断黑白就可以了。

当障碍处理完成后要怎么做呢,接下来就是控制的问题,在我这里控制就是将从障碍开始以后所有的中线都移向左边,这样就可以控制小车很轻松的避开障碍了。以上说的是障碍在赛道右侧的时候,如果在赛道左侧则同理就能得出。并且起跑线处理方法也类似。如果出现剐蹭现象只需改变一下舵机P值就可以得到很好地改善效果了。具体程序见评论中的链接,因为纯属自己编写的程序所以不是免费下载的。如果有其他需求大家可以联系我继续写一些图像处理方法。小车的效果可以在本人QQ空间中观看,有视频。 联系方式见评论。

智能车摄像头组 障碍处理方法相关推荐

  1. 智能车改舵机中值步骤_飞思卡尔智能车摄像头组新手指南(10)--控制算法进阶篇之舵机3...

    曲率 彭岸辉 从理论上讲,相对于偏差量,曲率是智能车更好的一个控制变量.但由于路径检测单元的局限性,很难计算出非常精确的曲率. 注意:计算曲率的方法如果要提高精度,最好是能够将采到的畸形图像做一下校正 ...

  2. 第X届智能车摄像头组代码全解析------(六)摄像头获取图像

    作者:Sumjess 本次博客内容: 该函数就是简单的获取图像的函数,如果对这部分不了解,可以去山外的历程了解一下,关于摄像头部分的参数,并没有进行参数更改.下面就把重要的参数部分截图下来. 帧数:1 ...

  3. 飞思卡尔智能车摄像头上位机…

    原文地址:飞思卡尔智能车摄像头上位机采集程序 作者:玲声依旧美 基于飞思卡尔XS128单片机 摄像头采集测试程序     OV7620采集程序说明:摄像头数据口接PA0-PA7:行中断接PT0,场中断 ...

  4. 智能车电磁组——岔路

    智能车电磁组--岔路 一.电感排布 二.岔路判定 三.入岔路 三.岔路内寻迹 四.出岔路 一.电感排布 电感排布方案可参考:学做智能车–电磁探究篇 二.岔路判定 岔路的处理很大程度上影响着电磁车的整体 ...

  5. 智能车电磁组——基本控制篇

    智能车电磁组--基本控制篇 前言 滤波 什么是滤波 常见的软件滤波 1. 限幅滤波(又称程序判断滤波法) 2. 算术平均滤波法 PID控制 什么是PID控制 舵机控制 电机控制 目标速度的设置 前言 ...

  6. 智能车摄像头动态打角算法

    智能车摄像头动态打角算法 核心代码 void xiaocao_function() {byte i, j;for (i = 0; i < final_line; i++){for (j = 0; ...

  7. 智能车电磁组——环岛处理

    智能车电磁组--环岛处理 一.电感排布 二.圆环思路 1.入环 (1)预圆环 (2)入环 2.环岛内 3.出环 (1)预出环 (2)出环 三.代码部分 1.入环 2.圆环内寻迹 3.出环 一.电感排布 ...

  8. 十六届智能车全向组硬件开源 | 上海海事大学全向行进组

    简 介: 卓大,不知道你能不能看到我的消息.今年是我做车的第三年了,也是最后一年了.三年里经历了许多,走了很多弯路,心里的感慨也不少.这两天在整理资料的时候顺手在CSDN上写了一篇全向组的硬件开源贴, ...

  9. ai电磁组属于什么组_飞思卡尔智能车电磁组分区算法介绍

    写在之前的话: 1.目前我是一名在校学生,这也是我第一次写博客,不周之处,请多谅解: 2.此算法并非原创,借鉴自山东德州学院第八届白杨队(PS:个人看法,对于一些人把别人的开源东西改头换面一下就说是自 ...

最新文章

  1. Git 常用操作(2)- 创建标签
  2. 使用 LocalReport 对象进行打印
  3. 抬头看路,埋头干活(一)
  4. django rest-framework 1.序列化 一
  5. 针对远程主机认证生成并使用 SSH 密钥
  6. Java oracle查询语句无法赋值给_java.sql.SQLException: 无法转换为内部表示 -〉java 查询oracle数据库返回错误信息...
  7. python学习笔记--迭代器
  8. Suggestion [3,General]: 找不到命令 webpack,但它确实存在于当前位置。默认情况下,Windows PowerShell 不会从当前位置加载命令。如果信任此命令,请改为键
  9. python 控制语句
  10. 电大c 语言程序设计程序,中央电大 C语言程序设计A
  11. 圆柱属于能滚动的物体吗_滚动轴承中摩擦的主要来源,轧机轴承技术(一)
  12. 数据库习题(填空题二)
  13. vibe的matlab实现,Matlab調用VIBE算法
  14. Mac安装Xcode
  15. CryptoJS简单使用
  16. php eregi 返回值含义,Deprecated: Function eregi() is deprecated php5.3开始不支持eregi()函数...
  17. k8s 一套代码部署两个实例
  18. 3D游戏编程与设计作业六
  19. 晶振的各种参数代表什么意思?
  20. 计算机无法屏幕亮度,今天详解win10电脑屏幕亮度无法调节的具体解决手法

热门文章

  1. 百度网盘免费扩容 免费扩容到2048G
  2. 如何将录音转换成文字?这个简单的教程需要了解
  3. python早餐组合
  4. VR全景线上展馆应用场景
  5. 我分析了2万条饿了么、美团红包记录,这些是红包最多的APP(附数据集)
  6. Compaq 6515b 拆机视频
  7. kali linux修改root密码
  8. ESXi 主机失去与 ESXi 和 VMFS5 数据存储的连接
  9. 1061: 【能量项链】
  10. js去除html空格字符,js去掉html标签和去掉字符串文本的所有的空格