基于图像识别的循迹车路径识别算法研究
时间:03-30
来源:互联网
点击:
3 小车循迹算法
由于选用的摄像头的照射宽度比较小,使得算法上很难对赛道进行大面积的分析,因此循迹上,算法应该以适应性强为主。在舵机转向上采用3个变量来控制舵机的值:part_l、part_2、part_3。part_1对应图像的斜率,它是控制转向的主要变量;part_2对应小车相对于黑线的位置,是控制转向的辅助变量,它的目的是为了防止小车偏离引导线;part_3对应于转向的超前校正,它由图像前端的斜率求得。
/*line_data_refined内存储的数据为一帧图像数据处理后的黑线在每一行中的相对位置,“i‘代表采集的第i行,总共有46行。bottom为一帧图像归算后,整个连续段的最后一行;top 为一帧图像归算后,整个连续段的首行*/
3.1 part_l的求取
通过求黑线对于小车的平均相对位置的方法来控制转向,但这种方法具有灵敏度不高、适应性不强、小车侧滑时容易出错等缺点;最终采用了通过最小二乘法求图像的斜率,再由斜率求part_l值的方法。part_1即控制小车转向的主要变量。
如图9所示,通过最小二乘法求斜率,运用公式如下:
3.2 part_2的求取
因为图像的最近端和小车的前轮轴线之间仍有不可忽略的距离,因此摄像头最近一行的数据不能反映小车相对于黑线的距离。这里仍然通过最小二乘法的方法将图像延长到小车前轮轴线上(如图9),这样就可以将最近一行的相对位置distance_photo归算为distance_near。dis- tance_near的值虽然和实际值仍有些误差,但经过实验数据分析,distance_near的误差在影响小车稳定性上程度比较小,比重也很小;它的最大优点就是能够反映小车相对于黑线的实际位置。
在求出distance_near后,就可以进一步求出part_2的值:
part_2=k2xdistance_near (k2为常数)
3.3 part_3的求取
因为舵机的滞后性对小车的性能有很大影响,速度越高,舵机滞后性带来的负面影响就越大,在进入弯道就会出现侧滑出跑道的情况。为了避免这种情况的发生和提高小车运行速度,需要对舵机的联动机构及前轮机械结构进行调整,或者采用编程的方法使小车提前转向。part_3的引入即是第2种方法。part_3作为一个附加的校正值加在舵机上,它的大小与速度有关系,同时又与图像前端的斜率slope_front(图9)有关。关于part_3的计算如下:
其中speed是小车的运行速度。
4 结论
本文以追求稳定性为前提,以提高小车行驶速度为目标,提出了一种抗干扰能力强的图像处理算法和一种通用性强、适应性强的小车循迹算法。
参考文献
1. 卓晴 学做智能车:挑战"飞思卡尔"杯 2007
2. 邵贝贝 单片机嵌入式应用的在线开发方法 2004
作者:天津工业大学 熊慧 魏翼鹰 黄加勇 陈华伟
来源:单片机与嵌入式系统应用 2009 (3)
由于选用的摄像头的照射宽度比较小,使得算法上很难对赛道进行大面积的分析,因此循迹上,算法应该以适应性强为主。在舵机转向上采用3个变量来控制舵机的值:part_l、part_2、part_3。part_1对应图像的斜率,它是控制转向的主要变量;part_2对应小车相对于黑线的位置,是控制转向的辅助变量,它的目的是为了防止小车偏离引导线;part_3对应于转向的超前校正,它由图像前端的斜率求得。
/*line_data_refined内存储的数据为一帧图像数据处理后的黑线在每一行中的相对位置,“i‘代表采集的第i行,总共有46行。bottom为一帧图像归算后,整个连续段的最后一行;top 为一帧图像归算后,整个连续段的首行*/
3.1 part_l的求取
通过求黑线对于小车的平均相对位置的方法来控制转向,但这种方法具有灵敏度不高、适应性不强、小车侧滑时容易出错等缺点;最终采用了通过最小二乘法求图像的斜率,再由斜率求part_l值的方法。part_1即控制小车转向的主要变量。
如图9所示,通过最小二乘法求斜率,运用公式如下:
3.2 part_2的求取
因为图像的最近端和小车的前轮轴线之间仍有不可忽略的距离,因此摄像头最近一行的数据不能反映小车相对于黑线的距离。这里仍然通过最小二乘法的方法将图像延长到小车前轮轴线上(如图9),这样就可以将最近一行的相对位置distance_photo归算为distance_near。dis- tance_near的值虽然和实际值仍有些误差,但经过实验数据分析,distance_near的误差在影响小车稳定性上程度比较小,比重也很小;它的最大优点就是能够反映小车相对于黑线的实际位置。
在求出distance_near后,就可以进一步求出part_2的值:
part_2=k2xdistance_near (k2为常数)
3.3 part_3的求取
因为舵机的滞后性对小车的性能有很大影响,速度越高,舵机滞后性带来的负面影响就越大,在进入弯道就会出现侧滑出跑道的情况。为了避免这种情况的发生和提高小车运行速度,需要对舵机的联动机构及前轮机械结构进行调整,或者采用编程的方法使小车提前转向。part_3的引入即是第2种方法。part_3作为一个附加的校正值加在舵机上,它的大小与速度有关系,同时又与图像前端的斜率slope_front(图9)有关。关于part_3的计算如下:
其中speed是小车的运行速度。
4 结论
本文以追求稳定性为前提,以提高小车行驶速度为目标,提出了一种抗干扰能力强的图像处理算法和一种通用性强、适应性强的小车循迹算法。
参考文献
1. 卓晴 学做智能车:挑战"飞思卡尔"杯 2007
2. 邵贝贝 单片机嵌入式应用的在线开发方法 2004
作者:天津工业大学 熊慧 魏翼鹰 黄加勇 陈华伟
来源:单片机与嵌入式系统应用 2009 (3)
电源模块 CMOS 传感器 Freescale 电压 555 飞思卡尔 单片机 嵌入式 相关文章:
- 一种新的机器人仿生嗅觉系统设计(08-10)
- 一种嵌入式智能寻迹机器人设计(08-18)
- 基于Motorola单片机的机器人追跑控制系统(08-05)
- LPC2106在足球机器人控制中的应用设计(11-01)
- DIY一个家庭灭火机器人,附软硬件的系统解决方案(10-29)
- 基于ARM7的畜牧养殖智能消毒机器人控制系统设计(11-03)
射频专业培训教程推荐
栏目分类