原创 连续路径识别的实现方法

2008-9-4 21:10 2297 4 4 分类: MCU/ 嵌入式


                 连续路径识别的实现方法



     对于电光组来说,横向的路径检测精度是比较低的。我们有必要想方设法提高其检测精度。现对常用的连续路径识别方法做一说明:



     普通的数字量只有10,当我们用数字量进行检测时,其出现的组合是比较少的。假如有14个传感器,25cm宽的传感阵列。假如最多同时有2个检测到路径,那么可能出现的组合有27种,精度是250/27=9.259mm。这时,我们很容易就能发现转向时的阶梯现象,那个死区是很容易看出来的。这就导致的转向的不灵敏。




在我们把一个传感器的输出当作模拟量。其实传感器的感应区应该是一个圆盘,半径越小,返回的有效值应该越大。这样就可以用返回的有效值的大小来确定道路与
传感器的距离。应该指出,现在的距离是个绝对值,我们没法确定是正的还是负的(一个有效值实际上对应着两个实际距离)。那么,我们就必须借助于别的传感
器。找到次有效值最大的传感器,比较它们的位置关系,这样就可以确定其正负了。为了保险,在运用时通常是找出最大有效和次最大有效,求两个距离,再求平
均。



理论上说,我们有必要测出每个传感器的特性曲线,以便进行有效值与距离的转换。但我用的时候,只是大概测了一下,然后用理想的感触三角模型处理,效果基本可以。



现在我们算一下用这种方法达到的精度。设14个传感器,25cm宽,两两之间的交叉方式如下所示:





我用数字量时对每个传感器进行了编号,以便于线性化处理。编号分别为:-13-11-9-75-3-1135791113。很明显,当两个同时有效时取两个的平均,共27级。精度是9.259mm



当使用模拟量时,理论上是无级的,是平滑的。但为了计算方便,我们把它也分为若干级。简单的做法是这样的,把上面的编号扩大N倍,如10倍。这时,它的级数就是270级,精度为0.9259mm。这个精度是可以达到的。我没有测,因为我的模型就不是精确的,测的数据没有参考价值。但是,通过这样处理得到的效果是很明显的,小车的转向基本上没有了阶梯,是很平滑的。



实际应用时,有必要测一下其特性,以便选取合适的数学模型,使结果更精确,有效。要尽量选取特性好且特性一致的传感器,以便于处理。



编程时要注意尽量避免浮点运算,多用整形,提高处理速度。


PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /3 下一条