第8课 高级避障
你有没有想过机器人如何在房间里穿梭而不撞到家具?今天,我们将教我们的火星车做到这一点!我们将结合两种不同类型的传感器,创建一个超智能的避障系统。
传感器如何帮助机器人”看见”
让我们思考一下我们如何使用感官:
红外传感器 的工作原理就像蝙蝠使用回声定位!它们发出不可见的红外光,并监听光线从物体反射回来的信号。如果光线很快返回,说明附近有障碍物。
超声波传感器 利用我们听不到的声波工作。它们发出高频声音,并测量回声返回所需的时间。时间越长,说明物体越远。
当我们将两种传感器结合使用时,我们的火星车能更好地了解周围环境——就像在黑暗的房间里同时使用眼睛和耳朵来导航一样!
学习目标
结合超声波和红外传感器,创建高级避障系统
编程让火星车自动感知并绕开障碍物
构建我们的超智能火星车
还记得我们之前创建的避障程序吗?我们将以此为基础,让它变得更好!
首先,请执行 连接应用到 GalaxyRVR 的步骤。
现在,让我们打开之前从 第6课 红外避障 创建的红外传感器项目作为模板。点击”文件”,找到你保存的红外避障项目。
在修改之前,我们先保存一个副本,以免丢失原始文件。点击”另存为副本”。
给你的新项目起一个酷炫的名字,比如”超智能火星车”或”高级避障”。
现在添加我们的超声波传感器!拖出
当距离 < 15 厘米积木块。这将是我们的”预警系统”,可以从更远的地方检测障碍物。
为防止混淆,我们添加一个
停止该精灵的其他脚本积木块。这确保我们的火星车一次只执行一组指令。
当超声波传感器检测到有物体靠近时,我们希望火星车后退到安全距离。
现在我们需要转向避开障碍物。火星车将转向一秒钟——你可以选择左转或右转!
最后,我们告诉火星车沿新的路径继续前进。
太棒了!现在你的火星车拥有三个传感器像团队一样协同工作:
前部的超声波传感器发现远处的障碍物
左侧红外传感器检测左侧的物体
右侧红外传感器监视右侧
测试你的程序,观察你的火星车如何流畅地绕开障碍物。尝试创建一个障碍赛道,看看你的火星车能否在没有任何碰撞的情况下完成!
挑战:你能修改转向时间或距离,让火星车避障更出色吗?