摘要:本文介绍如何使用超声波传感器和舵机实现小车的自动避障功能
智能小车之所以冠以“智能”的标签,就是因为它不应该是一个只能朝前行走的小车,而是要能够自主“决策”该怎么走,可以按照事先既定的规则,自主的行走。而实现自主行走的前提是要能“感知”周边的世界,根据周边世界的变化,做出下一步的行走决策。
从今天开始,就来借助超声波传感器实现一个可以自动躲避障碍物的智能小车。在前面的文章中已经介绍了超声波传感器,这个传感器的作用是可以测量前边障碍物与传感器之间的距离,本节正式利用了这个功能。但是,仅有这个功能还是不够的,还需要利用之前学习的舵机来控制超声波传感器的方向,这样就可以判断出周边各个方向障碍物的距离了。
使用超声波传感器来识别障碍物的距离,只是实现避障小车的一种方法。这种方法也有着其自身的缺点,就是当小车的超声波传感器与障碍物的反射面的夹角小于45度的时候,测量距离的功能就不那么灵敏了,这就导致小车会出现判断错误的情况。同样的,如果障碍物的反射面过小,也会导致无法获得足够的反射声波而无法得到正确的障碍物距离。这两点在布置测量环境和调试小车的过程中要特别的注意。
针对以上的缺陷,除了在程序上进行一些响应的容错处理外,后边也会增加一些其他的传感器来辅助避障功能的实现,例如常用的红外传感器、激光测距传感器等。
下面就来总结一下智能避障小车的基本原理。首先,利用安装在车头的超声波传感器测量前方障碍物的距离,如果距离大于停止距离,那么就驱动小车向前行走,在行走的同时,不断的测量前方障碍物的距离,一旦与前方障碍物的距离小于停车距离,那么立刻停止小车的运动,然后再测量左右两侧障碍物的距离,然后转向距离远的一侧继续行走,并重复之前的测量前方障碍物的动作,直至距离前方障碍物的距离小于了停止距离……周而复始,小车就可以按照这个简单的原则实现自动避障行驶了。
下面先来看一下这个自动避障小车所需要的材料:
材料 |
说明 |