APP下载

智能学步机的算法设计与优化

2017-07-16洪樱冯洁瑜卢学荣李忻仪

中国新通信 2017年11期
关键词:优化

洪樱+冯洁瑜+卢学荣+李忻仪

【摘要】 本文针对智能学步机的基本载体——避障小车功能的不足, 对智能学步机进行算法设计及其优化, 以完善学步机功能及实现功能的多样化。

【关键词】 智能学步机 算法设计 优化

引言:作为移动机器人的一种,自动避障小车发展迅猛,其内容涵盖计算机,自动控制,电子,机械等学术领域,且广泛应用于冶金,交通,国防等生活和军事领域,具有良好的民用和军用的发展前景[3]。 根据避障小车迅猛的发展状况,我们也将它应用于民用领域,将其作为我们所要开发的智能学步机的载体。然而,避障小车所拥有的功能是很有限的,仅仅是遇到障碍物就进行躲开。针对这种情况,我们对避障小车的功能进行优化,及进行新的算法设计,在我们本身的算法的基础上,我们还可以进行算法的优化,以完善学步机的功能和实现功能的多样性。

一、智能学步机的基本算法设计

1、直线算法。对于学步机而言,要使其走直线,不需要学步机的避障版块,即超声波测距版块,只需要保持其方向不变,一直向前走即可,此时保持两边的车轮的速度保持一定不改变。2、转弯算法。对于学步机而言,要使其转弯,不需要学步机的避障版块, 即超声波测距版块,只需要使学步机两边轮子的车速不同即可。例如,向右转时使学步机左边的轮子速度大于右边轮子速度,否则左转。这里利用了双轮差速驱动原理[2]。3、走圆算法。事实上,走圆算法是转弯算法的升级版,当保持两边轮子的速度差相同且速度不改变时,即可使其不停地转弯,这个不停转弯的过程将会构成多个圆。这仍然是使用了双圆差速驱动原理,利用两个独立的轮子实现运动, 这个方法虽然简单,但很容易控制。它甚至可以实现半径为 0 的原地转动。然而在实现走圆算法时,必须要使速度较快,否则,学步机没转弯一次将会停顿一次,造成不连续的结果,也就不能成为真正意义上的圆。4、避障算法。对学步机而言,要实现避障算法,我们需要超声波测距模块。我们的智能学步机使用了四个超声波模块,通过超声波传感器网前后左右四个方向将超声波振动信号向外发射出去,遇到障碍物后发生反射,接收器在接收到反射回来的超声波以后,通过转换器将其转换为脉冲信号[1]。该信号通过 STM32 单片机处理以后转化为一个值并与预定值相比较,然后做出后续动作。我们需根据学步车的运动环境给他设定一个参考值,考虑到学步机要带领婴幼儿学步的安全性,该设定值不能过小,否则当婴幼儿运动过于激烈时难以控制自身运动撞击到障碍物而受伤。在设定参考值后,我们即可使用该参考值与超声波测出的距离相比较。实际上,避障的原理为: 当前方的距离值大于预设参考值时, 直线前行;当前方出现障碍物, 且距离值小于预设参考值时, 小调用停车程序将学步机暂停,此时比较左右后三个方向的距离值与预设值,当左右后距离值有至少一个大于预设参考值时,对左右后值进行比较,选择距离值大的方向前进。 当左右距离值均小于预设参考值时,学步机直线后退,直接让婴幼儿抓住。

二、智能学步机的算法优化

1、一种“由下而上”的随机算法。在前面我们已经实现了几个基本的算法,为了减少实时控制已经增加小车运动轨迹的多样性,我们将几个不使用避障模块的算法封装起来,用一个随机函数将其控制,成为一个走随机动作的功能。

2、走圆算法的优化。在生物界中,我们常常可以观察到一些关于蜜蜂的奇特的现象——蜜蜂常常咋空中飛出一个“ 8”字形,由此得到启发,我们是否也可以让学步机像蜜蜂一样跳起“ 8”字舞呢?由数字 8 我们可以联想到两个圆拼接在一起。事实上, 要实现“ 8 字舞”算法,我们必须让学步机学会分别以顺时针和逆时针的方向转动[2]。这是因为构成数字 8 的两个圆实际上式两个不同的圆,它们转动的方向恰好相反。在学会两个方向以后,学步机需要在顺时针转动一段特定的时间后切换到逆时针方向,反之亦然。如此,我们即可在走圆算法的基础上升级为走“ 8 字舞”。

3、避障算法的优化。在前面的避障算法中我们可以发现,超声波测距是无差别的,也就是说,在超声波看来, 人和别的障碍物时无区别的。这就看出了我们的产品仅应用超声波测距的缺陷所在。学步机使得的对象是人,因而它需要将人与其它障碍物区分开来。

为了解决上述问题,我们加入了红外模块。坚持以“人”为本的观点,我们需先使用红外测出人再使用超声波模块测出其它障碍物的距离。再根据红外的形状——呈半圆形,我们使用了一个红外与其它超声波测距相互结合。其中两者相结合的方法为:红外一直开启,当红外检测到有人动物时,就开启超声波进行探测,然后比较四个超声波传感器传回来的距离值,往距离值最短的那个超声波传感器的反方向躲避。

结语:本文探讨和实现了一些基本的智能学步机的算法,并在一定程度上将其升级和优化. 然后可实现的算法和功能还有很多,本文实现和优化的算法很有限,因而对于学步机的算法实现这一模块, 我们仍然继续探讨和研究,学无止境!

参 考 文 献

[1] 王化祥, 张淑英. 传感器原理及应用 [M]. 天津: 天津大学出版社, 2004.

[2] 谢晓石. 机器人走“ 8 字舞”例析 [J]. 实验教学与仪器, 2015(1): 62-63.

[3] 赵津, 朱三超. 基于 Arduino 单片机的智能避障小车设计 [J]. 自动化与仪表, 2013, 28(5): 1-4.

猜你喜欢

优化
基于NETMAX的基站网络优化
优化问题设计
营商环境五方面持续优化
优化英语课堂教学策略的探索
促进学生认识发展 优化初中化学复习
风/光互补发电系统的优化设计
风/光互补发电系统的优化设计
CAE软件操作小百科(30)
活用数学公式 优化数学课堂
基于OptiStruct的麦弗逊悬架下控制臂优化