时下大家都在谈论 人工智能,我们就用 Scratch来实现 人工智能中较热门的自动驾驶吧!

一、简单的在公路内移动。

少儿编程Scratch教程-如何用scratch实现自动驾驶_第1张图片

如上图,小车在白色的公路上自动行驶,碰到绿地会旋转方向。

少儿编程Scratch教程-如何用scratch实现自动驾驶_第2张图片

这是全部的程序,是不是比预期中简单太多。

小车每次移动10步,当碰到绿颜色,先后退10步,再左转然后前进;如果依然碰到绿颜色,仍然先后退,接着右转然后前进。如此循环,保障小车始终在白色区域前进。

二、用传感器避障。

少儿编程Scratch教程-如何用scratch实现自动驾驶_第3张图片

如上图,小车在类似的地图上行驶,它是怎么自动驾驶的呢?

少儿编程Scratch教程-如何用scratch实现自动驾驶_第4张图片

小车的程序很简单,它在移到的过程中不断发送广播,同时不停的接收广播来调整方向。

广播是角色间用来传递信息用的。还有两个隐藏的角色,分别位于小车的左前方和右前方,它们同时接收小车发送的广播调整左右眼,分别发送广播给小车。

少儿编程Scratch教程-如何用scratch实现自动驾驶_第5张图片

上图是左侧传感器的程序,右侧传感器程序和它类似。

三、左手规则自动驾驶。

上面两种自动驾驶的方法对地图的要求比较高,稍微复杂或有难度的地图就无法实现了。怎么办呢?当然是换方法了!

少儿编程Scratch教程-如何用scratch实现自动驾驶_第6张图片

如上图是一个蜂巢迷宫,如何让小车从入口自动驾驶到出口呢?

效果如上视频,我们使用左手法则,小车从入口进入后,一直沿着迷宫的左侧行驶,直至走到出口。

那么怎么实现这个功能呢?首先我们判断左边是否有墙。

少儿编程Scratch教程-如何用scratch实现自动驾驶_第7张图片

具体程序如上图,如果左边有墙,我们就沿着墙走,否则就走到墙边。

少儿编程Scratch教程-如何用scratch实现自动驾驶_第8张图片

走到墙边的程序如上图。走到墙边后,沿着墙走就可以了。如果前方有墙怎么办呢?

少儿编程Scratch教程-如何用scratch实现自动驾驶_第9张图片

上图是前方有墙的程序。如果前方有墙,我们就往右旋转。

少儿编程Scratch教程-如何用scratch实现自动驾驶_第10张图片

最后一段是沿着墙走的程序。大家可以尝试自己做个类似的游戏。

四、预设路线。

自动驾驶的时候,会出现多种路线,比如上文的蜂巢迷宫,如何选择最短路线,让自动驾驶的功能更进一步呢?

以上视频效果来自谢声涛老师的《scratch编程,从入门到精通》,感兴趣的朋友可以自行购买学习。

更多方法,期待您的交流!