全国大学生智能汽车大赛(一):摄像头识别赛道代码全国大学生智能汽车大赛(二):摄像头识别赛道代码全国大学生智能汽车大赛(三):上下位机通信协议及代码 这些代码是我在大二时参加智能车竞赛时编写的程序,仅供参考。 代码内容涉及二值化、大津法(相关内容可以参考我的另一篇博文)等。 智能汽车基于先进的自动化控制技术以传感器信号检测处理为指引,驱动电机实现特定轨迹的高速稳定行驶。目前智能汽车技术在交通运输、智能驾驶等方面有着广阔的应用前景与发展空间。智能车的方案设计基本相似,整体的稳定性和高速行驶对控制系统的设计要求很高,尤其是面对复杂路况时赛道的识别、转向控制和车速控制是系统
17届全国大学生智能汽车竞赛中国石油大学(华东)智能视觉组--模型训练篇环境配置训练量化超模型目标检测数据增强如果你习惯使用jupyternotebook编写代码,这里也提供了jupyter版本的代码。在目录下的example.ipynb,有所有内容的完整代码。这部分的代码已上传到我的GitHub仓库。模型的精度在比赛中非常关键,毕竟分类错误的罚时是非常狠的。在这里分享下我们的经验:摄像头放置摄像头的高度跟你的镜头有关,也跟你模型输入的尺寸有关。一个简单的标准是,让实际输入的图像的尺寸大于等于模型输入的尺寸。在art上,我们可以打印find_rect得到的矩形的roi值,根据这个矩形的长宽来确
开源汇总写在下面第18届全国大学生智能汽车竞赛四轮车开源讲解_Joshua.X的博客-CSDN博客一、图像的基本参数volatileuint8mt9v03x_finish_flag=0;//一场图像采集完成标志位uint8mt9v03x_image[MT9V03X_H][MT9V03X_W];//采集到的图像数据基本参数有两个,一个是采集标志位,一个是图像数组。1.标志位标志位很好理解,当摄像头采集完一帧图像,标志位会被置一,可以在主循环中不断读取标志位、当标志位是1时,你就可以读取该帧图像,处理完图像再把标志位清零,让他开始下一帧数据的采集。根据习惯不同,也可以先清零标志位,再处理图像;或者
序言: 感谢十八届全国大学生智能汽车竞赛-室外赛的主办方和组委会让我们有了参加这次比赛的机会!当我们在参加5g室外专项赛时,我们发现很多的组又很多的同学都是第一次参加智能车竞赛对于智能车的了解还不是很深,对于代码如何编写需要哪些模块也不是很熟悉,所以我们打算开源本方案,为未来的智能车参赛者提供一丝丝帮助!如果代码方面的问题可以私信我,若能够提供帮助,一定竭尽全力! 后续项目的源码会在github更新,同时我们打算更新GPS和陀螺仪利用惯导技术来完成比赛,尽情期待!项目简介 1.使用c++编程实现整体代码 2.纯竞速赛道可以将实现车体机械结构的最快速度巡线 3.可以
开源汇总写在下面第18届全国大学生智能汽车竞赛四轮车开源讲解_Joshua.X的博客-CSDN博客写在前面环岛可以说是折磨广大车友的老元素了,本人也是深受其害。调车前期在找环岛特征点;中期在优化识别,减少误判;后期在调整参数,调整控制,优化路径。不过很遗憾,最后赛场上我还是在环岛上出现了问题,导致未能完赛。下面我将我所有环岛经验,心得分享给大家,希望给大家带来一些灵感和启发。连续环岛一、环岛特征识别环岛识别需要的点有以下几种。1.角点角点也叫拐点,和前文十字我们使用到的角点是一个东西。判别方法也是一模一样,利用边线误差过大突然过大,我称之为“边线撕裂”。典型图像如下:右下角点参考代码如下:/*
开源汇总写在下面第18届全国大学生智能汽车竞赛四轮车开源讲解_Joshua.X的博客-CSDN博客一、元素识别智能车花费时间最多的就是元素识别这一环节,经过我们前几章摄像头矫正,边线提取,中线计算,速度/方向控制。这几个环节都做好的话,车子是可以在简单的赛道中间进行基本的寻迹。沿着直道,弯道走。但是想要完成比赛要求,需要对元素进行处理,包括但不限于:弯道,直道,十字,环岛,坡道,横断,断路,车库,三叉,T字等。我们从本章开始进行图像元素识别,元素识别主要是依靠特征点的排列组合,以及防止误判。而且元素识别最重要的是思路,我会详细讲解我的图像识别的思路,讲解特征点的提取。代码并不重要,我在下面提供
文章目录前言一、摄像头图像处理1、摄像头图像采集2、图像二值化与大津算法二、左右边界,中线扫描前言参加了第十六,十七和第十八届全国大学生智能车竞赛,对摄像头的学习有部分心得,分享给大家,三届车赛,车赛生涯也算是到了尽头。打算从基础的算法开始,给各位一些个人看法,也是对车赛的一次总结。一、摄像头图像处理闲话:其实摄像头的算法有很多种,弄了两年摄像头,也只是学会了其中很小的一部分,但最终,作用都是大同小异的,也不必太过于追求算法上的完美。只需要达到能稳定提取特征,识别元素其实就够用了。(个人用的是普通大津+二值化+八领域做边界提取)1、摄像头图像采集打开摄像头相关例程,可以发现其实最终摄像头所采集
开源汇总写在下面第18届全国大学生智能汽车竞赛四轮车开源讲解_Joshua.X的博客-CSDN博客一、巡线/找边界当摄像头成功获取一帧图像,并且预处理(二值化)之后,我们最重要的事情就是获取赛道信息,其中最基本的就是赛道编边界信息,左边,右边,中线等基础数据。事先声明,没有那种算法是完美的,只要算法能够得到足够多想要的信息,那么他就是好算法。不同算法之间没有优劣之分,多少国赛选手仍跑着最简单的算法,这并不影响什么。1.(双)最长白列首先介绍我使用的(双)最长白列法。首先获取到一张二值化图像,那么我先从最下面一列,对于每一列向上寻找白点,同时计数,遇到停止黑点就停止。示意图如下:从左往右,从下往
开源汇总写在下面第18届全国大学生智能汽车竞赛四轮车开源讲解_Joshua.X的博客-CSDN博客一、控制方法1.控制对象基本介绍1.1舵机舵机是控制车模方向的重要组成部分,一般放在车头,实物见下图。C车模允许使用的有S3010,U400这两款舵机如果比赛限制车模类型为C车模,那么只能使用S3010(已停产)或者U400舵机进行比赛,控制舵机主要是控制PWM波的脉宽。控制规律如下图。舵机占PWM脉宽与转动角度之间关系关于PWM波这里不再介绍,CSDN上有很多的介绍。S3010,U400这两款舵机是的控制频率为50Hz,想要控制这个舵机,就需要单片机产生50HZ的PWM波,改变占空比,使脉冲宽度
智能汽车控制算法`提示:本博客主要讲解全国大学生“恩智浦”智能汽车竞赛专用本博客主要讲解直立智能汽车上的控制方面的软件代码的实现。文章目录智能汽车控制算法前言1、电感数据处理模块2、PID算法介绍3、小车直立模块4、小车速度模块5、小车方向模块6、总输出7、模糊PID控制算法8、后续计划前言该智能小车主要是一辆电磁直立智能小车,实现了高速、自动巡线操作。该电磁直立智能小车有机械部分、硬件部分以及软件部分组成。我主要负责软件部分,对硬件部分也有一定的了解。硬件部分主要由降压电路、滤波电路、主控电路以及电机驱动电路4个模块组成。软件部分主要由电感数据处理模块、小车直立模块、小车速度模块,小车方向模