具有wifi通讯功能的智能小车控制系统研究
2014-08-08王立人朱彦宇黄洁吕颖夏春明
王立人 朱彦宇 黄洁 吕颖 夏春明
摘要:自动寻迹机器人在工业自动化生产中已经得到了广泛应用。本文对以CCD摄像头为主要寻迹传感器的小车的图像識别算法进行了讨论,对使用不同传感器的小车的自动避障功能进行了探讨,对小车与电脑使用WiFi网络搭建通讯进行了简单研究。实现了小车通过摄像头和红外传感器进行自动避障和自主寻迹的功能,并且使用WiFi网络建立了小车与电脑的通讯,通过电脑能够对小车进行远程控制。
关键词:wifi通讯;寻迹;避障;智能小车1前言
智能车(Intelligent Vehicle, IV),也称作无人地面车辆(Unmanned Ground Vehicle, UGV),是一个集环境感知、动态决策与规划、智能控制与执行等多功能于一体的综合系统,相关技术涉及诸多学科,是衡量一个国家科研实力和工业水平的重要标志[1]。
在智能驾驶技术的研究方面,国外起步较早,典型的研究代表如美国卡耐基梅隆大学的NavLab-5[2]与Boss[3]智能车、谷歌公司的Google Driverless Car,意大利帕尔马大学的The ARGO vehicle[4,5]、德国联邦国防军大学的VaMP智能驾驶系统[6]等。吉林大学是我国最早的智能车研究单位之一。王荣本教授带领的智能车课题组从上世纪80年代后期开始智能车自主导航的研究,在环境感知、导航技术等方面有较为深入的研究[8]。 清华大学汽车系“安全与节能”国家重点实验室李克强教授主持研制的THASV智能车侧重于汽车主动安全研究,在视觉导航、主动避障、离线报警等方面取得了较突出的研究成果,目前正在进行智能巡航控制系统、前碰撞预警系统等技术的实用化工作。
作为智能汽车的基础,智能小车在近年也有非常快速的发展。机器人比赛是近几年在国际上迅速开展起来的一项高科技活动,虽然历史不长,但由于集高新技术、娱乐、比赛于一体。所以引起了众多学者的广泛关注和极大的兴趣。飞思卡尔大赛作为众多机器人竞速赛中规模最大的比赛,数年中已经吸引了数百所大学参与。该竞赛以竞速赛为基本竞赛形式,辅以创意赛和技术方案赛等多种形式。竞速赛以统一规范的标准硬软件为技术平台,制作一部能够自主识别道路的模型汽车,按照规定路线行进,并符合预先公布的其他规则,以完成时间最短者为优胜。本文中论述的赛道识别和寻迹部分均以飞思卡尔大赛的规则作为基础,在此条件上进行分析和讨论。
智能小车在军事,航空探测等领域有重要作用。智能小车的设计涉及计算机,电子技术,传感器与检测技术等多个方面。WiFi技术同样是一项运用非常广泛的技术,具有传输速度快,传输距离远,信号稳定等特点。本文使用32位的嵌入式微处理器stm32作为处理核心,CCD数字摄像头作为主要传感器,辅以红外距离传感器,通过路由器搭建局域网,实现小车自主寻迹,自动避障及WiFi通讯的功能。
2自动循迹避障智能车硬件设计
本系统使用stm32f107作为处理核心,使用ov7725摄像头作为主要的寻迹传感器,无线网卡为上海庆科信息技术有限公司开发的EM380C多功能串口转wifi模块,避障传感器为红外距离传感器,与7.4伏电源和电机驱动组成小车硬件结构。使用计算机作为上位机终端,通过wifi与小车连接,完成遥控信号的发送工作。本文使用labview作为上位机的编写软件,IAR作为智能车控制程序的编程软件。
本系统的硬件设计主要包括ccd摄像头传感器的位置安排,红外距离传感器的位置及角度安排及电路的设计。
2.1 摄像头高度及角度设计
摄像头的高度和角度对取景的范围影响很大。摄像头采集到的图像中,与当前行进的道路有关的内容为有效的内容,其他内容一律视为干扰,可能影响到图形计算和小车路径的计算。本文将有效的图片内容定义为有效视野,在设计摄像头位置时,应在保证有效视野在图像中占比尽可能大,并使摄像头尽量看的更远。本文使用飞思卡尔比赛规定的标准直道对摄像头视野进行测试。
2.2 红外距离传感器的位置及角度设计
红外传感器的布置很大程度上影响了避障准确性和避障效率。布置不当可能引起避障不及时或者避障过度。红外传感器的布置应考虑到车辆的遇障方向,处理方式等。本文采用在车辆前段放置3个角度不同的红外传感器的方式,来对障碍物进行识别。两侧的红外传感器分别向外倾斜一个角度,并且将感应距离设置为车宽加上安全距离。
2.3 电路设计
电路设计和pcb绘制主要由AD13完成。通过电路将单片机,网卡模块,电机驱动,传感器等正确地连接在一起,尽量使结构紧凑,并且避免电路干扰。小车使用两个电机驱动模块,分别控制小车两侧的两个轮子的正转和反转。由于使用了没有舵机的方案,转向将依靠两侧车轮的差速来完成。
3智能小车及其上位机软件设计
软件设计分为上位机和下位机两部分,上位机的功能为使用电脑遥控小车,使其完成前进,后退,左转,右转等动作;下位机的功能包括自动寻迹和自动避障两部分。
3.1 上位机设计
上位机由labview编写,界面由网络端口号设置,IP地址设置和控制按键组成。通过上位机的按键,可以实现控制小车前进,后退左转和右转。
上位机通信是由PC机、无线路由器、智能小车网卡三部分共同实现的,基于TCP/IP通信协议。其中PC机是客户端,而智能小车是服务器,无线路由器担任两者的通信媒介,每个模块分别有指定的IP地址,通过wifi相连接。上位机通过PC机的网络端口将数据发送到无线路由器,无线路由器将收到的数据转送到小车网卡的IP地址上,从而实现上位机到小车网卡的单向通信。当操作者需要对小车执行不同的远程操作时,只要通过点击PC端上位机的相应按键,电脑就会通过WiFi网络向小车发送一个特定字符串,小车接收并识别出命令后就会执行相应的运动。
3.2 下位机设计
下位机即小车,由单片机进行控制。控制程序的编写和调试由IAR完成。
3.2.1 寻迹算法
寻迹算法的主要内容是图像处理,即从摄像头所采集到的数字图像信号中提取出路径信息。本文的实验道路为符合飞思卡尔大赛摄像头组和光电组规定的标准道路,由白色KT板制成,道路宽45cm,边界由宽3cm的黑色胶带标识。作为真实道路的简化,该模型即具有道路两侧边界的特征,又简化了边界的识别工作,方便图像算法处理。
图像处理的目的即由道路的边线提取出合适的行驶路径,一般为道路的中央,称之为道路中线。而要得到中线,首先要识别出道路的左边界和右边界。本系统使用ov7725数字摄像头,可将采集到的图像直接转化为由0和1组成的2维数组来表示图像的白和黑,通过二维数组的地址和值,可以直接得到图像平面内某一点的坐标和其黑白值。但仅凭图像色彩无法判断哪些黑点表示道路的左边界,哪些点表示右边界。
因此,在调整摄像头位置时,应考虑到使近端的道路边界尽可能清晰,易于识别。有了这个基础之后,利用边界的连续性,即可有效可靠地搜索到左边界和右边界。具体算法如下:
⑴底部5行逐行从图像中间开始分别向两侧搜索黑点,当发现连续数个黑点时,就认为判断到了相应的边界,将坐标信息储存进相应的数组。
⑵有了底部左右边界的起点后,利用算法遍历与起点相连续的点,寻找其中的黑点并将其坐标存储至相应的数组。
⑶分别得到左侧边界和右侧边界的坐标后,将同一行的两侧边界坐标进行平均以得到中线坐标。
3.2.2 避障算法
本文使用两种方式进行避障,一为不借助其他传感器,由摄像头采集到的图像中,读取障碍物信息,二是使用红外距离传感器。
根据飞思卡尔大赛对障碍物的规定,障碍物一定是黑色的,可以直接从色彩上识别出来。因为道路宽度一定,虽然由于摄像頭角度关系,采集到的二维图像会有一定的变形,但对应行道路宽度所占据的像素点数是一定的,当采集到的道路宽度小于应有的宽度时,单片机就认为遇到了障碍。这种方式传感器简单,无需其他传感器就能进行可靠的判断,避障信息集成在中心线信息中,但是使图像处理更加复杂。
障碍物肯定有一定的高度和体积,通过合适位置的红外传感器能够简单有效地检测到障碍物,并且进行躲避。
3.3 控制方案
本文使用最普通的pid算法对小车的电机的占空比进行控制,使用编码器反馈车速,以实现闭环控制。控制流程如下(以仅有摄像头作为传感器的智能车为例):
由于使用了没有舵机的小车设计,实际输出时,会将同一侧电机方向控制的修正值和速度控制的修正值相加得到总的修正值之后再输出至电机。
3.4 实验结果
从实验结果看,CCD数字摄像头能够有效地进行双色路径及障碍物的识别,红外距离传感器同样能够进行障碍物的识别。具有了wifi通讯功能之后,可以通过直接通过电脑对小车的行进进行控制。通过pid控制,小车能够良好地保持预定的速度,并且能够通过差速平滑地进行转向和避障。结合图像算法和pid控制,小车能够自动在一般的赛道上准确沿道路行驶和避障,并保持一定的速度。
4总结
本文主要研究了通过CCD摄像头采集路径图像的智能小车的图形算法,并且对使用摄像头和红外传感器避障分别进行了分析,同时对电脑和小车之间的WiFi网络的建立进行了研究。通过使用无线路由器搭建WiFi网络,使小车和电脑处于同一局域网中,实现了通过电脑对小车行驶方向进行控制。并且实现了以CCD摄像头作为循迹传感器的智能小车的自动循迹及避障功能,也实现了通过红外进行自动避障的功能。
[参考文献]
[1]徐友春,章永进,王肖,等.智能车的研究现状与发展趋势[C].第六届中国智能交通年会暨第七届国际节能与新能源汽车创新发展论坛论文集.2011:129-134.
[2]R.Bishop.Intelligent vehicle applications worldwide.IEEE Intelligent Systems and Their Applications,2000,15(1):78-81.
[3]D.A.Pomerleau,T.M.Jochem.Rapidly adapting machine vision for automated vehicle steering.IEEE Expert,1996,11(2).
[4]C.Urmson,J.Anhalt,D.Bagnell,et al.Autonomous driving in urban environments:Boss and the urban challenge.Journal of Field Robotics,2008,25(8):425-466.
[5]A.Broggi,M.Bertozzi,A.Fascioli.The 2000 km test of the ARGO vision-based autonomous vehicle.IEEE Intelligent Systems, 1999,55-64.
[6]A.Broggi,M.Bertozzi,A.Fascioli,et al.Automatic vehicle guidance:the experience of the ARGO vehicle.World Scientific. Singapore,1999.
[7]M.Maurer,R.Behringer, F.Thomanek,et al.A compact vision system for road vehicle guidance. Proceedings of the 13th International Conference on Pattern Recognition.Vienna, Austria,1996.
[8]王荣本,张荣辉,金立生.区域交通智能车导航控制技术.农业机械学报,2007,38(7):39-42.
1前言
智能车(Intelligent Vehicle, IV),也称作无人地面车辆(Unmanned Ground Vehicle, UGV),是一个集环境感知、动态决策与规划、智能控制与执行等多功能于一体的综合系统,相关技术涉及诸多学科,是衡量一个国家科研实力和工业水平的重要标志[1]。
在智能驾驶技术的研究方面,国外起步较早,典型的研究代表如美国卡耐基梅隆大学的NavLab-5[2]与Boss[3]智能车、谷歌公司的Google Driverless Car,意大利帕尔马大学的The ARGO vehicle[4,5]、德国联邦国防军大学的VaMP智能驾驶系统[6]等。吉林大学是我国最早的智能车研究单位之一。王荣本教授带领的智能车课题组从上世纪80年代后期开始智能车自主导航的研究,在环境感知、导航技术等方面有较为深入的研究[8]。 清华大学汽车系“安全与节能”国家重点实验室李克强教授主持研制的THASV智能车侧重于汽车主动安全研究,在视觉导航、主动避障、离线报警等方面取得了较突出的研究成果,目前正在进行智能巡航控制系统、前碰撞预警系统等技术的实用化工作。
作为智能汽车的基础,智能小车在近年也有非常快速的发展。机器人比赛是近几年在国际上迅速开展起来的一项高科技活动,虽然历史不长,但由于集高新技术、娱乐、比赛于一体。所以引起了众多学者的广泛关注和极大的兴趣。飞思卡尔大赛作为众多机器人竞速赛中规模最大的比赛,数年中已经吸引了数百所大学参与。该竞赛以竞速赛为基本竞赛形式,辅以创意赛和技术方案赛等多种形式。竞速赛以统一规范的标准硬软件为技术平台,制作一部能够自主识别道路的模型汽车,按照规定路线行进,并符合预先公布的其他规则,以完成时间最短者为优胜。本文中论述的赛道识别和寻迹部分均以飞思卡尔大赛的规则作为基础,在此条件上进行分析和讨论。
智能小车在军事,航空探测等领域有重要作用。智能小车的设计涉及计算机,电子技术,传感器与检测技术等多个方面。WiFi技术同样是一项运用非常广泛的技术,具有传输速度快,传输距离远,信号稳定等特点。本文使用32位的嵌入式微处理器stm32作为处理核心,CCD数字摄像头作为主要传感器,辅以红外距离传感器,通过路由器搭建局域网,实现小车自主寻迹,自动避障及WiFi通讯的功能。
2自动循迹避障智能车硬件设计
本系统使用stm32f107作为处理核心,使用ov7725摄像头作为主要的寻迹传感器,无线网卡为上海庆科信息技术有限公司开发的EM380C多功能串口转wifi模块,避障传感器为红外距离传感器,与7.4伏电源和电机驱动组成小车硬件结构。使用计算机作为上位机终端,通过wifi与小车连接,完成遥控信号的发送工作。本文使用labview作为上位机的编写软件,IAR作为智能车控制程序的编程软件。
本系统的硬件设计主要包括ccd摄像头传感器的位置安排,红外距离传感器的位置及角度安排及电路的设计。
2.1 摄像头高度及角度设计
摄像头的高度和角度对取景的范围影响很大。摄像头采集到的图像中,与当前行进的道路有关的内容为有效的内容,其他内容一律视为干扰,可能影响到图形计算和小车路径的计算。本文将有效的图片内容定义为有效视野,在设计摄像头位置时,应在保证有效视野在图像中占比尽可能大,并使摄像头尽量看的更远。本文使用飞思卡尔比赛规定的标准直道对摄像头视野进行测试。
2.2 红外距离传感器的位置及角度设计
红外传感器的布置很大程度上影响了避障准确性和避障效率。布置不当可能引起避障不及时或者避障过度。红外传感器的布置应考虑到车辆的遇障方向,处理方式等。本文采用在车辆前段放置3个角度不同的红外传感器的方式,来对障碍物进行识别。两侧的红外传感器分别向外倾斜一个角度,并且将感应距离设置为车宽加上安全距离。
2.3 电路设计
电路设计和pcb绘制主要由AD13完成。通过电路将单片机,网卡模块,电机驱动,传感器等正确地连接在一起,尽量使结构紧凑,并且避免电路干扰。小车使用两个电机驱动模块,分别控制小车两侧的两个轮子的正转和反转。由于使用了没有舵机的方案,转向将依靠两侧车轮的差速来完成。
3智能小车及其上位机软件设计
软件设计分为上位机和下位机两部分,上位机的功能为使用电脑遥控小车,使其完成前进,后退,左转,右转等动作;下位机的功能包括自动寻迹和自动避障两部分。
3.1 上位机设计
上位机由labview编写,界面由网络端口号设置,IP地址设置和控制按键组成。通过上位机的按键,可以实现控制小车前进,后退左转和右转。
上位机通信是由PC机、无线路由器、智能小车网卡三部分共同实现的,基于TCP/IP通信协议。其中PC机是客户端,而智能小车是服务器,无线路由器担任两者的通信媒介,每个模块分别有指定的IP地址,通过wifi相连接。上位机通过PC机的网络端口将数据发送到无线路由器,无线路由器将收到的数据转送到小车网卡的IP地址上,从而实现上位机到小车网卡的单向通信。当操作者需要对小车执行不同的远程操作时,只要通过点击PC端上位机的相应按键,电脑就会通过WiFi网络向小车发送一个特定字符串,小车接收并识别出命令后就会执行相应的运动。
3.2 下位机设计
下位机即小车,由单片机进行控制。控制程序的编写和调试由IAR完成。
3.2.1 寻迹算法
寻迹算法的主要内容是图像处理,即从摄像头所采集到的数字图像信号中提取出路径信息。本文的实验道路为符合飞思卡尔大赛摄像头组和光电组规定的标准道路,由白色KT板制成,道路宽45cm,边界由宽3cm的黑色胶带标识。作为真实道路的简化,该模型即具有道路两侧边界的特征,又简化了边界的识别工作,方便图像算法处理。
图像处理的目的即由道路的边线提取出合适的行驶路径,一般为道路的中央,称之为道路中线。而要得到中线,首先要识别出道路的左边界和右边界。本系统使用ov7725数字摄像头,可将采集到的图像直接转化为由0和1组成的2维数组来表示图像的白和黑,通过二维数组的地址和值,可以直接得到图像平面内某一点的坐标和其黑白值。但仅凭图像色彩无法判断哪些黑点表示道路的左边界,哪些点表示右边界。
因此,在调整摄像头位置时,应考虑到使近端的道路边界尽可能清晰,易于识别。有了这个基础之后,利用边界的连续性,即可有效可靠地搜索到左边界和右边界。具体算法如下:
⑴底部5行逐行从图像中间开始分别向两侧搜索黑点,当发现连续数个黑点时,就认为判断到了相应的边界,将坐标信息储存进相应的数组。
⑵有了底部左右边界的起点后,利用算法遍历与起点相连续的点,寻找其中的黑点并将其坐标存储至相应的数组。
⑶分别得到左侧边界和右侧边界的坐标后,将同一行的两侧边界坐标进行平均以得到中线坐标。
3.2.2 避障算法
本文使用两种方式进行避障,一为不借助其他传感器,由摄像头采集到的图像中,读取障碍物信息,二是使用红外距离传感器。
根据飞思卡尔大赛对障碍物的规定,障碍物一定是黑色的,可以直接从色彩上识别出来。因为道路宽度一定,虽然由于摄像头角度关系,采集到的二维图像会有一定的变形,但对应行道路宽度所占据的像素点数是一定的,当采集到的道路宽度小于应有的宽度时,单片机就认为遇到了障碍。这种方式传感器简单,无需其他传感器就能进行可靠的判断,避障信息集成在中心线信息中,但是使图像处理更加复杂。
障碍物肯定有一定的高度和体积,通过合适位置的红外传感器能够简单有效地检测到障碍物,并且进行躲避。
3.3 控制方案
本文使用最普通的pid算法对小车的电机的占空比进行控制,使用编码器反馈车速,以实现闭环控制。控制流程如下(以仅有摄像头作为传感器的智能车为例):
由于使用了没有舵机的小车设计,实际输出时,会将同一侧电机方向控制的修正值和速度控制的修正值相加得到总的修正值之后再输出至电机。
3.4 实验结果
从实验结果看,CCD数字摄像头能够有效地进行双色路径及障碍物的识别,红外距离传感器同样能够进行障碍物的识别。具有了wifi通讯功能之后,可以通过直接通过电脑对小车的行进进行控制。通过pid控制,小车能够良好地保持预定的速度,并且能够通过差速平滑地进行转向和避障。结合图像算法和pid控制,小车能够自动在一般的赛道上准确沿道路行驶和避障,并保持一定的速度。
4总结
本文主要研究了通过CCD摄像头采集路径图像的智能小车的图形算法,并且对使用摄像头和红外传感器避障分别进行了分析,同时对电脑和小车之间的WiFi网络的建立进行了研究。通过使用無线路由器搭建WiFi网络,使小车和电脑处于同一局域网中,实现了通过电脑对小车行驶方向进行控制。并且实现了以CCD摄像头作为循迹传感器的智能小车的自动循迹及避障功能,也实现了通过红外进行自动避障的功能。
[参考文献]
[1]徐友春,章永进,王肖,等.智能车的研究现状与发展趋势[C].第六届中国智能交通年会暨第七届国际节能与新能源汽车创新发展论坛论文集.2011:129-134.
[2]R.Bishop.Intelligent vehicle applications worldwide.IEEE Intelligent Systems and Their Applications,2000,15(1):78-81.
[3]D.A.Pomerleau,T.M.Jochem.Rapidly adapting machine vision for automated vehicle steering.IEEE Expert,1996,11(2).
[4]C.Urmson,J.Anhalt,D.Bagnell,et al.Autonomous driving in urban environments:Boss and the urban challenge.Journal of Field Robotics,2008,25(8):425-466.
[5]A.Broggi,M.Bertozzi,A.Fascioli.The 2000 km test of the ARGO vision-based autonomous vehicle.IEEE Intelligent Systems, 1999,55-64.
[6]A.Broggi,M.Bertozzi,A.Fascioli,et al.Automatic vehicle guidance:the experience of the ARGO vehicle.World Scientific. Singapore,1999.
[7]M.Maurer,R.Behringer, F.Thomanek,et al.A compact vision system for road vehicle guidance. Proceedings of the 13th International Conference on Pattern Recognition.Vienna, Austria,1996.
[8]王荣本,张荣辉,金立生.区域交通智能车导航控制技术.农业机械学报,2007,38(7):39-42.