极客小将

您现在的位置是:首页 » scratch编程资讯

资讯内容

少儿创意编程(特27)用scratch来做自动驾驶

极客小将2020-12-25-
时下大家都在谈论人工智能,我们就用scratch来实现人工智能中较热门的自动驾驶吧!一、简单的在公路内移动。

时下大家都在谈论人工智能,我们就用scratch来实现人工智能中较热门的自动驾驶吧!一、简单的在公路内移动。

upload/article/images/2020-12-25/5b3bf70bf5a7ff35fef27396dcfaa765.jpg

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

upload/article/images/2020-12-25/d0a1659c28ee40a630ac8e962de543d3.jpg

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

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

二、用传感器避障。

upload/article/images/2020-12-25/9b4b3376e8f40fdecb2a7286c7c948de.jpg

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

upload/article/images/2020-12-25/d4c344cc4f48aa67b0b897a79ee65980.jpg

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

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

upload/article/images/2020-12-25/6c043ffbfd157553c12e9655967456fc.jpg

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

三、左手规则自动驾驶。

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

upload/article/images/2020-12-25/0d55a28a8fb6511d0c6aece778d081ae.jpg

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

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

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

upload/article/images/2020-12-25/e347850d3c5834c37112ecfaa8360833.jpg

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

upload/article/images/2020-12-25/4ee272b723d9b85bf809f4042abb9734.jpg

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

upload/article/images/2020-12-25/09da909a0fe0fe7e9d1b6f5c0f55c4e5.jpg

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

upload/article/images/2020-12-25/551b1fb02b7051e020adce6b66701143.jpg

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

四、预设路线。

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

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

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

upload/article/images/2020-12-25/d6bc53686e2666c75ccfaba8d2394f9c.jpg

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除

网友点评

共有5条评论来说两句吧...

在线客服