CN108664026B - 一种基于光学辨识码的自动行驶智能小车及其控制方法 - Google Patents
一种基于光学辨识码的自动行驶智能小车及其控制方法 Download PDFInfo
- Publication number
- CN108664026B CN108664026B CN201810468124.0A CN201810468124A CN108664026B CN 108664026 B CN108664026 B CN 108664026B CN 201810468124 A CN201810468124 A CN 201810468124A CN 108664026 B CN108664026 B CN 108664026B
- Authority
- CN
- China
- Prior art keywords
- oid
- queue
- module
- trolley
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000003287 optical effect Effects 0.000 title claims abstract description 13
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 claims abstract description 11
- 229910052799 carbon Inorganic materials 0.000 claims abstract description 11
- 238000007781 pre-processing Methods 0.000 claims description 18
- 238000001914 filtration Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 239000013307 optical fiber Substances 0.000 claims description 5
- 238000003708 edge detection Methods 0.000 claims description 4
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- SAZUGELZHZOXHB-UHFFFAOYSA-N acecarbromal Chemical compound CCC(Br)(CC)C(=O)NC(=O)NC(C)=O SAZUGELZHZOXHB-UHFFFAOYSA-N 0.000 claims description 2
- 208000033749 Small cell carcinoma of the bladder Diseases 0.000 description 7
- 201000007710 urinary bladder small cell neuroendocrine carcinoma Diseases 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 235000002566 Capsicum Nutrition 0.000 description 1
- 239000006002 Pepper Substances 0.000 description 1
- 235000016761 Piper aduncum Nutrition 0.000 description 1
- 235000017804 Piper guineense Nutrition 0.000 description 1
- 244000203593 Piper nigrum Species 0.000 description 1
- 235000008184 Piper nigrum Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 239000000049 pigment Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0242—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1452—Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种基于光学辨识码的自动行驶智能小车及其控制方法,包括设置在智能小车上的OID识别模块、核心板、转向模块、驱动模块和供电模块;其中,OID识别模块包含红外线LED光源和CMOS数字图像传感器,CMOS数字图像传感器与红外线LED光源固定在智能小车的底部;核心板与小车底盘固定,核心板上设置有微控制单元,微控制单元与CMOS数字图像传感器连接,并控制控制驱动模块和转向模块;转向模块设置在小车前轮处;驱动模块设置在小车后轮处;供电模块用于为智能小车供电;智能小车行驶在印刷有含碳的OID底码的跑道上。采用可以获取车辆实时位置信息的路径识别方法、提高性能,实现车辆的自动行驶。
Description
技术领域
本发明涉及智能小车的自动行驶方法,特别涉及一种基于光学辨识码的自动行驶智能小车及其控制方法。
背景技术
能够实现自动行驶的智能小车一直是研究热点。这类智能小车通过传感器识别道路信息,控制系统根据获取的信息控制驱动模块和转向模块,使其具有自动行驶的能力。
目前的智能小车大多使用摄像头、红外发射管对路径进行识别。使用摄像头对算法要求较高,小车整体体积较大,而使用红外发射管对跑道检测精度低,空间分辨率也比较低。同时,虽然跑道已知,上述方法却不能判断小车在跑道上的具体位置,不能获取未来一段距离内的路况,因此需要对路径进行实时识别,限定了小车的行驶速度。因此,设计一种通过获取小车实时位置信息实现自动行驶、算法简单、体积小巧的智能小车十分关键。
发明内容
本发明的目的是提供一种基于光学辨识码的自动行驶智能小车及其控制方法,采用可以获取车辆实时位置信息的路径识别方法、提高性能(行驶速度,控制精度)、设计软硬件系统,实现车辆的自动行驶。
为实现上述目的,本发明的技术解决方案是,
一种基于光学辨识码的自动行驶智能小车,包括设置在智能小车上的OID识别模块、核心板、转向模块、驱动模块和供电模块;其中,OID识别模块包含红外线LED光源和CMOS数字图像传感器,CMOS数字图像传感器与红外线LED光源固定在智能小车的底部;核心板与小车底盘固定,核心板上设置有微控制单元,微控制单元与CMOS数字图像传感器连接,并控制控制驱动模块和转向模块;转向模块设置在小车前轮处,用于对小车前轮进行方向控制;驱动模块设置在小车后轮处,用于对小车后轮进行速度控制;供电模块用于为智能小车供电;智能小车行驶在印刷有含碳的OID底码的跑道上。
作为本发明的进一步改进,所述的跑道包括由上至下依次设置的四版彩色印刷层、OID底码印刷层和纸张;四版彩色印刷层是由使用C、M、Y版油墨分别印刷C、M、Y版,用C、M、Y版油墨混合后的油墨印制K版形成;OID底码印刷油墨层是用含碳的油墨印制OID底码形成。
作为本发明的进一步改进,核心板、驱动模块、转向模块及供电模块之间通过排线连接。
作为本发明的进一步改进,微控制单元包括OID图像预处理模块、OID图像识别模块和控制器;
CMOS数字图像传感器,用于对采集的数字图像进行预处理;
OID图像识别模块,用于将预处理后的数字图像与OID底码模板库进行模板匹配,实现对OID底码的识别;
控制器,用于根据识别结果,获取车辆目前在跑道上的位置信息,并根据位置信息控制驱动模块、转向模块,实现智能小车在跑道上的自动行驶。
一种基于光学辨识码的自动行驶智能小车的控制方法,包括以下步骤:
智能小车放置在跑道上,开始行驶;OID识别模块不断扫描印制在跑道上的OID底码,并将图像数据发送到核心板,核心板上的微控制单元对图像数据进行预处理和图像识别,获知智能小车的位置信息,根据程序控制驱动模块和转向模块,智能小车实现自动行驶。
作为本发明的进一步改进,预处理步骤包括以下步骤:
首先,进行灰度操作:对于彩色的OID图像而言,将彩色图像转变为占用空间相对较小的灰度图像;采用加权平均法进行灰度化处理,给R、G、B分量分别增加一个加权系数,然后求和;用到的灰度化公式如下:
Gray=0.229R+0.587G+0.144B
其次,滤波去噪:采用中值滤波的方法消除数字图像中的噪声,将每一个像素点的灰度值设置为该邻域内的所有像素点灰度值的均值,中值滤波公式为:
g(i,j)=med{f(i,j),(i,j)∈S}
f(i,j)为原图中点(i,j)得灰度值,S表示邻域,g(i,j)表示滤波后(i,j)处新的灰度值;
采用一个奇数大小的滑动窗口,对窗口内的灰度值进行排序,并用处于中间位置的像素灰度级来代替窗口中心原来的灰度级;
最后,边缘检测:检查每个像素的领域并对灰度变化率进行量化,产生最大输出值的边缘模板方向表示该点边缘的方向,如果所有方向上的边缘模板接近于零,该点处没有边缘;如果所有方向上的边缘模板输出值近似相等,没有可靠边缘。
作为本发明的进一步改进,图像识别步骤包括以下步骤:
将预处理后的数字图像与OID底码模板库进行模板匹配,实现对OID底码的识别,当发现模板库中的某一OID码与之相匹配时,则判断此OID码被成功识别,根据设定好的程序,核心板控制驱动模块中电机的转速和转向模块中电机转向的角度。
作为本发明的进一步改进,OID识别模块采用双队列结构存储CMOS数字图像传感器采集到的图片,具体为:一个队列用于临时存储采集到的OID码图像,从另一个队列中取出待处理的OID图像进行预处理和识别;当用于临时存储图像的队列满时,OID码图像预处理与识别线程从中取得待处理的图像;当队列中的待处理图像取完时,队列为空,OID数字图像采集线程向此队列中插入采集到的图像。
作为本发明的进一步改进,双队列结构存储具体算法描述如下:
在OID数字图像采集线程中:
(1.1)根据队列指示变量copycount选择队列,值为0选择队列1,值为1选择队列2;向队列中插入采集来的光纤图像,操作指向下一个插入位置的变量:in_index=(in_index+1)%队列长度;
(1.2)判断变量in_index是否为0,不为0执行第(1.1)步,否则先锁住临界区,改变队列指示变量copycount的值:copycount=(copycount+1)%2,释放临界区;
(1.3)释放信号量semaphoreFull,使其值增加1,表示有1个队列的光纤图像等待处理;
在OID码图像预处理与识别线程中:
(2.1)等待信号量semaphoreFull有值,当信号量semaphoreFull有值时,执行第(2.2)步,信号量semaphoreFull的值减1,否则继续等待;
(2.2)锁住临界区;
(2.3)根据队列指示变量的值选择待处理队列,值为0选择队列2,值为1选择队列1;
(2.4)解锁临界区。
本发明的有益效果是:
本发明基于光学辨识码的自动行驶智能小车,包括设置在智能小车上的OID识别模块、核心板、转向模块、驱动模块和供电模块,智能小车行驶在印刷有含碳的OID底码的跑道上。通过OID识别模块不断扫描印制在跑道上的OID底码,并将图像数据发送到核心板,核心板上的微控制单元对图像数据进行预处理和图像识别,获知智能小车的位置信息,根据程序控制驱动模块和转向模块,智能小车实现自动行驶。采用可以获取车辆实时位置信息的路径识别方法、提高性能(行驶速度,控制精度)、设计软硬件系统,实现车辆的自动行驶。
进一步,因为OID编码图形能够隐藏在印刷品下,肉眼难辨,具有保密与视觉干扰低的特性,跑道上可以有更多的图案,附带更多的信息。同时,OID只要使用普通印刷油墨就可以完成,跑道制作成本低廉。
本发明采用识别OID的方式实现智能小车的自动行驶,能够实时的获取智能小车在跑到上的位置信息。同时,由于本发明的智能小车所用的COMS数字图像处理装置位于车辆底部,可以使智能小车的体积更小。
进一步,智能小车OID识别模块采用双缓冲队列技术以减少图像的处理时间,经测试,每帧图像的平均处理时间约为1.8ms。智能小车采用多线程技术,合理分配处理任务,实时识别跑道OID底码,同时能够实时控制驱动模块和转向模块,实现智能小车的自动行驶。
附图说明
图1本发明的安装结构图。
图2本发明的硬件系统框图。
图3SCCB功能框图。
图4OID采集模块示意图。
图5软件流程图。
图6图像采集、识别总体方案。
图7图像预处理、识别流程图。
图8图像处理队列结示意图。
其中:1-OID识别模块,2-核心板,3-转向模块,4-驱动模块,5-供电模块,6-红外线LED光源,7-CMOS数字图像传感器,8-四版彩色印刷层,9-OID底码印刷油墨层,10-纸张。
具体实施方式
下面结合附图对本发明的技术进行详细说明:
本发明基于识别OID实现自动行驶的智能小车的安装结构如图1所示,其硬件系统由OID识别模块1、核心板2、转向模块3、驱动模块4和供电模块5组成。其中,OID识别模块1包含红外线LED光源6和CMOS数字图像传感器7。将CMOS数字图像传感器7与红外线LED光源6固定在智能小车的底部,把系统的其他部分放置于智能小车底盘固定,核心板2设置两个螺丝孔可以和底盘固定。转向模块3放置在智能小车靠前部分,驱动模块4放置在靠后部分,供电模块5放置在核心板2与驱动模块4之间。硬件系统框图如图2所示。
OID识别模块1通过SDIO(Secure Digital Input and Output,安全数字输入输出卡)将数据由最高有效位至最低有效位串行传入核心板。本智能小车采用DSP(数字信号处理器)作为微控制单元。核心板2、驱动模块4、转向模块3,供电模块5之间通过排线连接。
由于DSP的主频高,电源电压和和电压不同,输入输出逻辑复杂,需要在数字电源和模拟电源以及数字地与模拟地之间加电感构成无源滤波电路以满足系统的要求。CPU内核电源上电要先于I/O电源上电,后于I/O电源掉电。
在总线的设计中,本发明主要用到了SCCB,实现对COMS数字图像传感器的初始化与基本操作,包括设置曝光时间、窗口的大小、收集帧频率和其他参数的设置。这些参数的设置与CMOS数字图像传感器各个控制寄存器参数的设置相关,通过CMOS数字图像传感器中的SCCB总线来完成对所有寄存器的设定。SCCB串行总线的IC2结构,使用一个单一的、双向两向结构。系统启动SCCB时,SCCB_E必须是由高到低进行跳转,当SCCB_E信号由低到高进行跳转时,SCCB停止数据传输过程。同时,在开始的前后期间,SCC_E处于低电平的状态不变,在此过程中,SIO_C每当出现正脉冲时,系统的传送工作开始,进行数据的一位传送。在I2C总线上,DSP作为主设备,CMOS数字图像传感器作为从设备,时钟信号由DSP产生,如图3所示。
本发明采用OID(Optical Identification,一种光学辨识码)编码图形是由一依据特定规则的一些点组成的。采用五版印刷的技术制作跑道,除了印制底码的油墨必须含碳外,其余的C、M、Y油墨中不能含碳,并用C+M+Y混合后的油墨印制K版。
通常红外光会过滤掉所有可见光,位于玩具车底部的红外线LED照射跑道后,同样安装在车辆底部的CMOS数字图像传感器只能识别到含碳的OID底码层。核心板将对CMOS数字图像传感器传送的图像处理。首先,对CMOS数字图像传感器获取的图片进行一系列预处理,包括:图像灰度化处理、采用滤波技术剔除噪声等干扰、对图像进行边缘特征提取。接下来将经过预处理的图片与对应的OID底码模板进行匹配,得到对OID编码的识别结果。
这些编码含有相应的信息,根据识别结果,微控制单元可以获取车辆目前在跑道上的位置信息,并根据这些信息控制驱动模块与转向模块,最终实现智能小车在跑道上的自动行驶。
跑道的印制及OID采集模块结构如图4所示。跑道的印制采用五版印刷的技术。五版OID印刷就是在四版彩色印刷层8的基础上再加上一版OID底码印刷层9。因为红外光会过滤掉所有可见光,对含碳颜料有反应。为了使安装在车辆底部的COMS数字图像传感器7借助红外线LED只识别到OID底码,而不受其他印刷图形的干扰,需要对油墨配置进行调整:使用正常C、M、Y版油墨分别印刷C、M、Y版,用C、M、Y版油墨混合后的油墨印制K版得到四版彩色印刷层8,用含碳的油墨印制OID底码形成OID底码印刷油墨层9。本智能小车OID识别模块1使用的CMOS数字图像传感器是一种以CMOS感光器件为主的高分辨率、低功耗图像传感器,可以有效减少硬件系统开销。其内部集成了ADC和存储单元,能直接读出数字信号。存储速度与传输速率都很快,能够满足智能小车较高速行驶的要求。在光学特性上,COMS数字图像传感器7可将视觉干扰系数降至1.5%,工作照度为10000Lux,在室外阳光下同样可以读取到OID编码,读取错误率低于0.1%;在电气特性上,耗电量在工作时仅为4mA,待机时为1.5mA,延长了智能小车的使用时间。
智能小车上电2秒内进入待机模式,在该模式下,OID识别模块1开始工作,使用者需要将智能小车放置在特制的跑道上。随后,OID识别模块1扫描到OID底码,智能小车自动进入自动行驶模式。OID识别模块1不断扫描印制在跑道上的OID底码,并通过SDIO将图像数据发送到核心板2。核心板2对这些数据进行处理,获知智能小车的位置信息,根据设定的程序控制驱动模块4和转向模块3。智能小车即可实现自动行驶,如图5所示。
本系统图像采集、识别方案由图6所示。CMOS数字传感器采集的数字图像需要先进行预处理,如图7所示。首先进行灰度操作。对于彩色的OID图像而言,其每个像素是由三个不同的颜色分量R、G、B组成,会占用大量的存储空间,为了减少图像处理的运算量,提高系统的运算速度,满足智能小车快速行驶的要求,需要将彩色图像转变为占用空间相对较小的灰度图像。灰度化的主要思想是用与R、G、B三个分量相关的一个量来代替各个分量,消除图像像素间的颜色差,使像素之间仅存在亮度上的差异。本发明采用加权平均法进行灰度化处理,即给R、G、B分量分别增加一个加权系数,然后求和。用到的灰度化公式如下:
Gray=0.229R+0.587G+0.144B
由于图像在采集、传输和处理的过程中会因为各种干扰而含有噪声,如高斯噪声、椒盐噪声、颗粒噪声等。噪声恶化了图像的质量,使得图像趋于模糊,严重的甚至会淹没特征,给后续的识别处理带来困难。所以接下来进行滤波去噪。中值滤波不仅对边缘信息保存得比较好,平滑均匀性也较好。所以这里采用中值滤波的方法消除数字图像中的噪声,将每一个像素点的灰度值设置为该邻域内的所有像素点灰度值的均值。周围采样区域的大小直接影响滤波的效果:采样区域过大会增加处理器的运算量;采样区域太小会使得面积稍大的杂点不能有效去除。中值滤波公式为:
g(i,j)=med{f(i,j),(i,j)∈S}
f(i,j)为原图中点(i,j)得灰度值,S表示邻域,g(i,j)表示滤波后(i,j)处新的灰度值。
我们采用一个奇数大小的滑动窗口,对窗口内的灰度值进行排序,并用处于中间位置的像素灰度级来代替窗口中心原来的灰度级。当滑动窗口中存在两类目标时,其排序的中值是多的那一类,以保证图像不模糊。
接下来进行边缘检测。边缘检测算子检查每个像素的领域并对灰度变化率进行量化,产生最大输出值的边缘模板方向表示该点边缘的方向,如果所有方向上的边缘模板接近于零,该点处没有边缘;如果所有方向上的边缘模板输出值近似相等,没有可靠边缘。
将预处理后的数字图像与OID底码模板库进行模板匹配,实现对OID底码的识别。OID底码模板库是根据每个模板中的特征建立的树状结构。里面存储着标准字符的特征表。通过算法将识别的OID底码的特征与模板库中的标准OID码的特征表一一比较,当发现模板库中的某一OID码与之相匹配时,则可判断此OID码被成功识别,根据设定好的程序,核心板控制驱动模块中电机的转速和转向模块中电机转向的角度。
双队列结构存储CMOS数字图像传感器采集到的图片,就是在一个队列中存储采集到的图片,在另一个队列中对图片进行预处理和识别,如图8。一个队列用于临时存储采集到的OID码图像,从另一个队列(如果存满图像)中取出待处理的OID图像。当用于临时存储图像的队列满时,OID码图像预处理与识别线程从中取得待处理的图像;当队列中的待处理图像取完时,队列为空,OID数字图像采集线程向此队列中插入采集到的图像,具体算法描述如下。
在OID数字图像采集线程中:
(1)根据队列指示变量copycount选择队列,值为0选择队列1,值为1选择队列2;向队列中插入采集来的光纤图像,操作指向下一个插入位置的变量:in_index=(in_index+1)%队列长度。
(2)判断变量in_index是否为0,不为0执行第(1)步,否则先锁住临界区,改变队列指示变量copycount的值:copycount=(copycount+1)%2,释放临界区。
(3)释放信号量semaphoreFull,使其值增加1。表示有1个队列的光纤图像等待处理。
在OID码图像预处理与识别线程中:
(1)等待信号量semaphoreFull有值。当信号量semaphoreFull有值时,执行第(2)步,信号量semaphoreFull的值减1,否则继续等待。
(2)锁住临界区。
(3)根据队列指示变量的值选择待处理队列,值为0选择队列2,值为1选择队列1。
(4)解锁临界区。
另外,本发明的上述实施方式为实施例,具有与本发明的权利要求书的技术思想使之相同的方法并发挥相同作用效果的技术方案,均包含在本发明内。
Claims (2)
1.一种基于光学辨识码的自动行驶智能小车的控制方法,其特征在于:所述自动行驶智能小车包括设置在智能小车上的OID识别模块(1)、核心板(2)、转向模块(3)、驱动模块(4)和供电模块(5);其中,OID识别模块(1)包含红外线LED光源(6)和CMOS数字图像传感器(7),CMOS数字图像传感器(7)与红外线LED光源(6)固定在智能小车的底部;核心板(2)与小车底盘固定,核心板(2)上设置有微控制单元,微控制单元与CMOS数字图像传感器(7)连接,并控制控制驱动模块(4)和转向模块(3);转向模块(3)设置在小车前轮处,用于对小车前轮进行方向控制;驱动模块(4)设置在小车后轮处,用于对小车后轮进行速度控制;供电模块(5)用于为智能小车供电;智能小车行驶在印刷有含碳的OID底码的跑道上;
所述的跑道包括由上至下依次设置的四版彩色印刷层(8)、OID底码印刷层(9)和纸张(10);四版彩色印刷层(8)是由使用C、M、Y版油墨分别印刷C、M、Y版,用C、M、Y版油墨混合后的油墨印制K版形成;OID底码印刷油墨层(9)是用含碳的油墨印制OID底码形成;
微控制单元包括OID图像预处理模块、OID图像识别模块和控制器;
CMOS数字图像传感器(7),用于对采集的数字图像进行预处理;
OID图像识别模块,用于将预处理后的数字图像与OID底码模板库进行模板匹配,实现对OID底码的识别;
控制器,用于根据识别结果,获取车辆目前在跑道上的位置信息,并根据位置信息控制驱动模块(4)、转向模块(3),实现智能小车在跑道上的自动行驶;
所述控制方法,包括以下步骤:
智能小车放置在跑道上,开始行驶;OID识别模块(1)不断扫描印制在跑道上的OID底码,并将图像数据发送到核心板(2),核心板(2)上的微控制单元对图像数据进行预处理和图像识别,获知智能小车的位置信息,根据程序控制驱动模块(4)和转向模块(3),智能小车实现自动行驶;
预处理步骤包括以下步骤:
首先,进行灰度操作:对于彩色的OID图像而言,将彩色图像转变为占用空间相对较小的灰度图像;采用加权平均法进行灰度化处理,给R、G、B分量分别增加一个加权系数,然后求和;用到的灰度化公式如下:
其次,滤波去噪:采用中值滤波的方法消除数字图像中的噪声,将每一个像素点的灰度值设置为该像素点邻域内的所有像素点灰度值的均值,中值滤波公式为:
采用一个奇数大小的滑动窗口,对窗口内的灰度值进行排序,并用处于中间位置的像素灰度级来代替窗口中心原来的灰度级;
最后,边缘检测:检查每个像素的领域并对灰度变化率进行量化,产生最大输出值的边缘模板方向表示该点边缘的方向,如果所有方向上的边缘模板接近于零,该点处没有边缘;如果所有方向上的边缘模板输出值近似相等,没有可靠边缘;
图像识别步骤包括以下步骤:
将预处理后的数字图像与OID底码模板库进行模板匹配,实现对OID底码的识别,当发现模板库中的某一OID码与之相匹配时,则判断此OID码被成功识别,根据设定好的程序,核心板(2)控制驱动模块(4)中电机的转速和转向模块(3)中电机转向的角度;
OID识别模块(1)采用双队列结构存储CMOS数字图像传感器(7)采集到的图片,具体为:一个队列用于临时存储采集到的OID码图像,从另一个队列中取出待处理的OID图像进行预处理和识别;当用于临时存储图像的队列满时,OID码图像预处理与识别线程从中取得待处理的图像;当队列中的待处理图像取完时,队列为空,OID数字图像采集线程向此队列中插入采集到的图像;
双队列结构存储具体算法描述如下:
在OID数字图像采集线程中:
(1.1)根据队列指示变量copycount选择队列,值为0选择队列1,值为1选择队列2;向队列中插入采集来的光纤图像,操作指向下一个插入位置的变量:in_index=(in_index+1)%队列长度;
(1.2)判断变量in_index是否为0,不为0执行第(1.1)步,否则先锁住临界区,改变队列指示变量copycount的值:copycount=(copycount+1)%2,释放临界区;
(1.3)释放信号量semaphoreFull,使其值增加1,表示有1个队列的光纤图像等待处理;
在OID码图像预处理与识别线程中:
(2.1)等待信号量semaphoreFull有值,当信号量semaphoreFull有值时,执行第(2.2)步,信号量semaphoreFull的值减1,否则继续等待;
(2.2)锁住临界区;
(2.3)根据队列指示变量的值选择待处理队列,值为0选择队列2,值为1选择队列1;
(2.4)解锁临界区。
2.根据权利要求1所述的基于光学辨识码的自动行驶智能小车的控制方法,其特征在于:核心板(2)、驱动模块(4)、转向模块(3)及供电模块(5)之间通过排线连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810468124.0A CN108664026B (zh) | 2018-05-16 | 2018-05-16 | 一种基于光学辨识码的自动行驶智能小车及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810468124.0A CN108664026B (zh) | 2018-05-16 | 2018-05-16 | 一种基于光学辨识码的自动行驶智能小车及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108664026A CN108664026A (zh) | 2018-10-16 |
CN108664026B true CN108664026B (zh) | 2021-09-07 |
Family
ID=63779783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810468124.0A Active CN108664026B (zh) | 2018-05-16 | 2018-05-16 | 一种基于光学辨识码的自动行驶智能小车及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108664026B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111603782A (zh) * | 2020-06-04 | 2020-09-01 | 张洋 | 无轨玩具汽车的控制方法和装置 |
CN113535357A (zh) * | 2021-07-07 | 2021-10-22 | 厦门墨逦标识科技有限公司 | Eagle视觉应用中保障主线程性能的方法、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104720817A (zh) * | 2015-04-02 | 2015-06-24 | 吴爱好 | 一种身高测量仪 |
CN207264193U (zh) * | 2017-05-12 | 2018-04-20 | 桂林电子科技大学 | 一种基于oid技术的agv运输车引导系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001001284A (ja) * | 1999-06-17 | 2001-01-09 | Nippon Telegr & Teleph Corp <Ntt> | オペレータの視野情報を用いたロボット制御装置 |
CN101813943B (zh) * | 2010-02-08 | 2011-06-29 | 吉林大学 | 智能导航车及其操控方法 |
CN103268714A (zh) * | 2013-04-22 | 2013-08-28 | 安徽工程大学 | 点读视频笔、其点读图书的使用方法及专用图书 |
CN203552647U (zh) * | 2013-08-23 | 2014-04-16 | 深圳市天朗紫微文教科技有限公司 | 旗帜及旗帜套装 |
CN107450544A (zh) * | 2017-08-14 | 2017-12-08 | 深圳市思维树科技有限公司 | 一种基于图案识别的机器人循迹行走系统和方法 |
-
2018
- 2018-05-16 CN CN201810468124.0A patent/CN108664026B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104720817A (zh) * | 2015-04-02 | 2015-06-24 | 吴爱好 | 一种身高测量仪 |
CN207264193U (zh) * | 2017-05-12 | 2018-04-20 | 桂林电子科技大学 | 一种基于oid技术的agv运输车引导系统 |
Non-Patent Citations (1)
Title |
---|
多线程Web图像搜索器的磁盘I/O缓冲方法;李爱国,王月强;《郑州大学学报(理学报)》;20100315;第34页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108664026A (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100682067B1 (ko) | 차량 전조등들이나 또는 타의 차량 장비를 제어하기 위한 영상 처리 시스템 | |
CN108664026B (zh) | 一种基于光学辨识码的自动行驶智能小车及其控制方法 | |
EP2450851B1 (en) | Target detection method and apparatus and image acquisition device | |
CN1501325A (zh) | 伪三维图像生成设备 | |
CN109934108B (zh) | 一种多目标多种类的车辆检测和测距系统及实现方法 | |
DE69841071D1 (de) | Bildverarbeitungsvorrichtung und -verfahren | |
CN103020904A (zh) | 反射消除系统 | |
CN103916610A (zh) | 用于动态后视镜的眩光减少 | |
CN109597337A (zh) | 一种机器视觉智能采集与控制系统 | |
CN108810506A (zh) | 一种基于fpga的透雾增强图像处理方法及系统 | |
Mandal et al. | Real-time automotive night-vision system for drivers to inhibit headlight glare of the oncoming vehicles and enhance road visibility | |
CN109410594A (zh) | 一种车牌识别系统及方法 | |
CN107016343A (zh) | 一种基于贝尔格式图像的红绿灯快速识别方法 | |
CN208386714U (zh) | 基于its-vlc的像素间干扰消除系统 | |
CN113232663B (zh) | 一种应用于高级辅助驾驶的控制系统 | |
CN116406056A (zh) | 基于ia-yolo目标检测的路灯控制方法及装置 | |
CN214450744U (zh) | 一种集成式辅助驾驶装置 | |
CN102082956A (zh) | 一种提高图像传感器灵敏度的方法 | |
CN108805894A (zh) | 图像分析方法及其系统 | |
CN108520286A (zh) | 基于卷积神经和候选区域的红外暗弱光小目标检测系统 | |
CN208027571U (zh) | 一种车辆测速设备 | |
EP3993404A1 (en) | System, information processing device, information processing method, and program | |
CN105598938B (zh) | 供电线路驱鸟系统 | |
CN116311212B (zh) | 基于高速摄像机实现运动状态下的船号识别方法及装置 | |
CN218584107U (zh) | 一种复杂环境的智能无人感知识别装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |