一.工作原理
- 上图为超声波模块转动角度与探测方向的关系,正常情况下,智能小车会沿直线行驶,当遇到前方有障碍物且小于一定距离时(设定距离可根据具体情况调整),智能小车立即停止运行。
- 舵机转动超声波模块探测右方45°和左方135°障碍物距离并返回给Arduino控制板。
- Arduino控制板根据前方、右方、左方障碍物的距离,自动判断一条可以安全前进的路径,避开障碍物后,再继续沿直线行驶。
注意:当舵机转动时,超声波模块无法正确探测障碍物的距离,须等待舵机转动完成且稳定一段时间(约0.5秒)后,才能探测到障碍物的正确距离。
二.行驶路线自动判别
- 超声波避障智能小车正常情况为直线前进,当前方有障碍物时,小车立刻停止,分别探测右方和左方障碍物的距离,通过算法控制选择障碍物距离较远的方向为安全的前进路线。
- 上图为超声波避障智能小车行进路线自动判断方法:
- 图1所示为前方和右方都有距离小于 25cm 的障碍物时,智能小车探测到左方无障碍物,向左转动避开障碍物后,再回正直行。
- 图2所示为前方和左方都有距离小于25cm的障碍物时,智能小车探测到右方无障碍物,向右转动避开障碍物后,再回正直行。
- 图3所示为前方、右方和左方都有距离小于25cm障碍物时,智能小车探测到右方和左方都有障碍物,采取的策略是先后退避开障碍物,再向右转动,最后回正直行。
三. 控制策略:
左方障碍物 | 前方障碍物 | 右方障碍物 | 控制策略 |
---|---|---|---|
无 | 无 | 无 | 前进 |
无 | 小于25cm | 小于25cm | 左转 |
小于25cm | 小于25cm | 无 | 右转 |
小于25cm | 小于25cm | 小于25cm | 先右退,再右转,最后前进 |