大数跨境
0
0

【Gravity】Mind+掌控板进阶教程-项目十五 无人漫游车

【Gravity】Mind+掌控板进阶教程-项目十五 无人漫游车 蘑菇云创造
2019-11-07
1
导读:一起来做一台酷酷的无人漫游车吧~

点击上方“蘑菇云创造”可以关注我们哦


无人漫游车


2011年11月,总造价高达25亿美元的好奇号火星车发射升空。在砾石遍布的火星表面,带着探索火星生命元素的使命,好奇号无人漫游车每天都在缓慢移动着、寻找着。


在这个项目中,我们也将制作一台无人漫游车,并让它能够自行躲避障碍。


一般的避障小车会将超声波固定在车头检测障碍,当有障碍物的时候,就自动转左或转右,其实就是让小车一直向前“看”。在这个项目中,为了让小车更加“智能”,将会让小车向四周“看”,检测周围的障碍物,根据结果“智能”选择路线。


如何实现呢?一起来头脑风暴一下吧!


头脑风暴



问题清单

1、无人漫游车首先是一辆小车,参照“相扑机器人”,如何组装一辆车?

2、超声波传感器可以帮助小车“看见”障碍物,那么如何让它往四周“看”呢?借助什么硬件?

3、想一想,往四周“看”的超声波是不是有点像一个雷达?尝试将它简化为一个雷达,帮助小车判断周围路况,比如当小车前进方向的四周都被阻碍时,引导小车调头,原路返回!

4、雷达(详细介绍见核心知识点)可以通过360或180度扫描,反馈周围障碍物的距离方位,并使用图形显示出来。刚好掌控板上有一块显示屏,能否在掌控板上做这样一个雷达网图呢?     



5、如何确定障碍物的方位呢?能否借助舵机带动超声波看见四周?考虑到这里的舵机是0-180度转动,所以可以采用180度的雷达网图。

6、如何画出雷达网图?如何实时画出障碍物的位置?这可能需要一点数学知识喔!

7、如何“智能”选择路线?


核心知识点



雷达

雷达,是英文Radar的音译,源于radio detection and ranging的缩写,意思为"无线电探测和测距",即用无线电的方法发现目标并测定它们的空间位置。因此,雷达也被称为“无线电定位”。

 


有的雷达可以360度转动,用于定位附近的障碍物的距离和方位,并将数据传回电脑,通过雷达扫描图来实时显示。图中绿色圆点即为检测到的障碍物。


三角函数(结合初中数学)

在初中数学中讲过,三角函数是将直角三角形的内角和它的两个边长的比值相关联,若已知斜边长R和其中一个内角的角度A,则两条直角边长可用三角函数表示,如下图。



掌控板屏幕的坐标系

在Mind+中,掌控板屏幕上建立的坐标系如下左图。前面讲过,使用超声波可以确定障碍物的距离。那么如何确定方位呢?

其实方位就是舵机转动的角度。舵机0-180度转动,在坐标系中可以表示为下图。



确定障碍物的坐标

舵机转动的角度结合超声波探测的距离,即可在坐标系中定位障碍物的位置。比如在角度A时,超声波测得障碍物距离为R,通过一定数学运算即可获得该障碍在坐标系中的位置。

参照下图,在雷达网图中,圆心的位置(x0,y0)是确定的,如果知道舵机角度A距离R,那么由三角函数的知识,即可求得障碍物位置坐标(x1,y1)的值。


超声波探测距离R舵机角度A实时变化,根据上面的数学关系,障碍物位置坐标(x1,y1)也会实时变化。

通过上面这个方法,可以在屏幕上画出简易的雷达网图,还可以实时画出超声波检测的障碍物的位置。一起来看看如何实现吧!


规划方案



功能分解

这个项目将制作一台无人漫游车,使用舵机带动超声波进行转动,模拟雷达功能,在屏幕上实时显示雷达扫描图,并根据扫描结果,“智能”选择没有障碍的路线。

在项目实现的过程中主要有两个难点:

1、如何实现雷达扫描图?

2、如何“智能”行走?

先来解决问题2:如何“智能”行走?这里的“智能”其实是指小车行走的逻辑,在应对不同的路况时,做出合适的判断。那么行走的逻辑是什么呢?


为了简化分析,我们将小车的前进方向按照左、中、右划分为3个区间。如果采用优先转右的思路行走逻辑如流程图。



根据流程图可以看到,小车在行驶过程中,路线选择的优先级是区间2→区间1→区间3,分析如下:

■ 扫描过后,当前方无障碍,小车直行;

■ 当前方有障碍,先判断右侧,无障碍,小车转右后直行;

■ 当前方和右侧都有障碍,再判断左侧,无障碍,小车转左后直行;

■ 当左、中、右都有障碍,说明小车前方道路不通,小车调头后直行;

■ 小车启动后检测前方是否有障碍,无障碍则一直行走,有障碍则停止运动,再重新扫描。


* 优先转右是指当前方有障碍,优先判断右侧。大家也可以采用优先转左,只需要将判断的优先级改为区间2→区间3→区间1。


再来解决问题1:如何实现雷达扫描图?超声波传感器的探测距离为5cm-300cm,但是实际不用探测那么远,假设车身长15cm,超声波探测的范围在60cm也就够用了。将60cm均匀分为3段,在屏幕上画出3个半圆,依次代表探测距离为0-20cm、20-40cm、40-60cm。再画几根线区分0-180度的扫描区间,即可完成雷达网格。




如何显示扫描的障碍呢?考虑到掌控板屏幕小、分辨率低、且只有黑白色,所以这里采用画线的方式显示障碍。如下图,无白线的区域表示没有障碍,有白线的表示有障碍,线的长短代表障碍距离的远近,线越短,说明距离越近!

 


这样如果扫描时,前方完全没有障碍,屏幕中将没有一点动态效果,为了显示扫描的过程,在雷达网图的最外侧弧线上,通过画点或画圆的方式,实时显示舵机的方位。


这样每次扫描时,可以根据外侧弧线的白点确定舵机方位,根据白线的长短判断障碍的距离。


解决了上面两个难题,一起来看看如何完整实现吧!首先,一步一步分解功能。


构造外观

   

问题记录

在后面项目实现过程中,可能会遇到各种各样的困难,尝试在下表中记录你遇到的问题和解决办法,便于以后出现类似问题时能更好的面对。


功能实现


功能1:画雷达网格

程序及实现效果如下:


功能2:实现雷达扫描效果

舵机带动超声波0-180转动,检测障碍。在屏幕上显示雷达扫描图。

连线图:

* 注意在Mind+中加载舵机和超声波。


在功能一程序基础上,程序修改如下:


运行结果:将超声波固定在舵机上(可将胶带或胶枪固定),超声波随着舵机来回转动,在5-60cm范围内,如果有障碍,屏幕上将画出白线。


功能3:“智能”规划路线

使用两个电机搭建一辆车。

连线图:


在功能分解部分,已经分析过小车行走的逻辑。也留下了一个问题:如何判断区间1、2、3是否有障碍呢?


从下面这张图可以看出,当掌控板屏幕面向小车行驶前方时,区间1对应舵机0-60度,区间2对应舵机60-120度,区间3对应舵机120-180度。



因为在上面程序中设定舵机每次转动6度,所以一个区间中,舵机会转动10次,即超声波进行10次检测。为了让障碍判断的更加准确,可以让舵机进行一次来回扫描。当在一个区间中,超声波来回超过10次检测到有障碍,可以大致确定这个方位一定是有障碍的。


将这种思路带到编程中,可以设定3个变量,分别累计3个区间超声波检测的情况,当超声波检测到一次障碍,变量加一,来回扫描一遍后,当这个变量大于10,则认为这个区间是有障碍的。


结合小车优先转左的行走逻辑,“智能”选择路线程序如下:


* 注意在Mind+中加载扩展板。


运行结果:上电后,舵机带动超声波0-180度扫描后,再180-0度扫描,同时在屏幕上显示雷达图。扫描一个来回后,小车“智能”行走,可以自行躲避障碍。


构造外观



评价与反思


与人分享快乐,能产生更多快乐,尝试与身边的朋友一起分享你的无人漫游车。你还可以在DF创客社区中分享作品,听听更多人的建议!

社区网址:www.dfrobot.com.cn


自我反思

梳理自己设计项目的思维逻辑、项目在执行层面的问题和经验等等,可以帮助我们形成学习的闭环,加深在项目进行的过程中对知识点和内容的理解,找到可以改进和提高的地方。



———————  正文完    ———————



 


教育的目的是为了培养学生协作能力、沟通能力、批判思维以及创造力,其中最核心的是创造力,蘑菇云创客教育作为国内为数不多的一站式创客教育服务供应商旨在培养孩子的创造力。

为让学生们在课堂上学习到的知识更好地连接现实世界,蘑菇云将指导学校规划、建立、运营自己的创客空间。并根据学生年龄段的不同,在设计与布局上进行了区分

小学创客空间注重趣味性,

强调互动场景;

初中创客空间注重实用性,

强调学习场景;

高中创客空间注重技术性,

强调应用场景;

 

在内容上, 蘑菇云和国内一线创客名师联手,编纂了一系列适合国内创客教育的教材。并拥有一套完整的创客教育课程体系,包括课程内容及教具,课程培训,技术答疑。同样根据学生年龄段的不同,在课程分类与设计上也会有所区别。

小学通过游戏化和体验化的方式来开展,要以“玩中学”为主。

初中引导学生在实际动手过程中进行探究式学习,促进“做中学”。

高中基于问题和设计的学习,需要教师为学生创设相关的真实情境,使高中生在“思中学”。



推荐阅读:

【Gravity】Mind+掌控板进阶教程-项目十四 相扑机器人

【Gravity】Mind+掌控板进阶教程-项目十三 风帆车

【Gravity】Mind+掌控板进阶教程-项目十二 魔力工厂

【Gravity】Mind+掌控板进阶教程-项目十一 糖果分拣

【Gravity】Mind+掌控板进阶教程-项目十 答案之书

【Gravity】Mind+掌控板进阶教程-项目九 纸杯魔法

【Gravity】Mind+掌控板进阶教程-项目八 智慧家庭

【Gravity】Mind+掌控板进阶教程-项目七 植物监测仪

【Gravity】Mind+掌控板进阶教程-项目六 宠物投食机

【Gravity】Mind+掌控板进阶教程-项目五(下)AI助力垃圾分类

【Gravity】Mind+掌控板进阶教程-项目五(上)感应垃圾桶

【Gravity】Mind+掌控板进阶教程-项目四 游戏王

【Gravity】Mind+掌控板进阶教程-项目三 坦克大战

【Gravity】Mind+掌控板进阶教程-项目二 火线冲击

【Gravity】Mind+掌控板进阶教程-项目一 投篮机

【Gravity】Mind+掌控板进阶教程-简介

第七届全国中小学STEAM教育大会精彩回顾

【获奖名单】第34届全国青少年科技创新大赛DF创意之星专项奖

第二十届全国中小学电脑制作活动精彩回顾!



点击阅读原文,了解更多!



我知道你在看



【声明】内容源于网络
0
0
蘑菇云创造
蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
内容 969
粉丝 0
蘑菇云创造 蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
总阅读1.4k
粉丝0
内容969