宜昌老张

乐高NXT机器人之超声波蔽障小车(视频)

0
阅读(3741)

这个乐高机器人作品应该是半原创的,小车机身参考:http://www.nxtprograms.com/

我在这个小车基础上加入一个电机和一个超声波传感器,这个电机带着超声波传感器转动,并检测左60度、中、右60度三个角度位置与障碍物的距离。

如果检测到中央位置(小车正前方)与障碍物距离小于25厘米,则小车停止并后退一小段距离,0.3圈,然后判断这时,小车与左边和右边障碍物的距离大小,如果左边的距离大于右边的距离,则小车左转180度,否则右转180度,再继续摸索前行。

如果检测到右60度位置与障碍物距离小于25厘米,则小车停止,并左转80度,再继续摸索前进。

如果检测到左60度位置与障碍物距离小于25厘米,则小车停止,并右转80度,再继续摸索前进。

那么如果检测到左60度位置和右60度位置与障碍物距离都小于25厘米,那咋办?

我的答案是小车停止并后退一小段距离,0.5圈, 小车停止,并左转80度,再继续摸索前进。

如果程序中没有写上,左60度位置和右60度位置与障碍物距离都小于25厘米,如何处理的话,小车就有可能从障碍物的间隙处转出去,逃离我用盒子围成的包围圈。

我在下面的程序,也进行了详细的注释。

请看视频:

小车的全景图片,小车后面是个万向轮。

小车A电机带动超声波传感器的转向机构图片。

小车腹部图,可以看清A电机与带动小车运行的B、C电机的如何布置。


 再看看程序吧,还蛮大个程序,我把它截图成两个图片,可以点击放大图片。

第一个程序图片的任务:检测左60度、中、右60度三个角度位置与障碍物的距离,并把它们分别赋值给middle、right和left三个变量,程序引用了变量,让程序变得条理清晰。


第二个程序图片的任务是:根据middle、right和left三个变量值,决定小车如何运行,来避开障碍物。

这个乐高NXT超声波蔽障小车的NXT-G程序,注释详细,请下载:

20355572833876.rar