南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 近几年,扫地机器人越来越普及化。它不仅能吸尘 擦地,还能在房间内自动避开家具和墙面等障碍物,完 成地板的清理工作。 为什么它能自动避开障碍物呢?因为它身上装有能侦测 障碍的装置。 模块 模块说明 应用举例 读取对应接口上的触碰传感器的状态,如 果触碰传感器被按下则条件成立,否则条 件不成立。 50
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 近几年,扫地机器人越来越普及化。它不仅能吸尘 擦地,还能在房间内自动避开家具和墙面等障碍物,完 成地板的清理工作。 为什么它能自动避开障碍物呢?因为它身上装有能侦测 障碍的装置。 模块 模块说明 应用举例 读取对应接口上的触碰传感器的状态,如 果触碰传感器被按下则条件成立,否则条 件不成立。 50
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 触碰传感器: 触碰传感器是个可以接收触感的传感器,它 可以识别出触碰按钮被按压或松开两种状态。通 常作为开关的功能使用或者碰撞检测。 触碰按钮 触碰传感器的按钮被按下 时,带动导电触头接通电路,复 位弹簧被压缩;松开按钮时,复 位弹簧将触碰按钮推回原来的位 置。 墙壁 碰撞 后退 前进 原地左转 51
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 1.设计搭建: 选择软件内置小车模型,增加触碰传感器和 积木件,然后通过编程实现小车经过一条黑线时 就增加速度的功能。 小车的左马达和右马达默认分别连接在 M1 和 M2 端口,触碰传感器连接在 P1 端口。 右马达 M2 触碰传感器 左马达 M1 2.编程思路: 程序开始,小车前进,等待直到 小车撞到墙壁。小车后退一段距离, 接着原地左转,继续前进,如此循环。 3.程序编辑: 1.程序开始,马达 M1 和 M2 以速度 80 正转,小车 直行。 2.等待直到触碰传感器被按下(即小车撞到墙 壁),就将马达 M1 和 M2 的速度设置为-80,等 待 1 秒,使小车后退一段距离。 52
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 3.接着马达 M1 以速度 80 反转,M2 以 速度 80 正转,等待 0.5 秒,使小车左 转大约 90 度。 4.最后加入“重复执行”模块,使程 序不断地运行,小车重复“前进碰撞 避障”。 4.程序演示: 53
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 54
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 随着机器人开始进入到工厂、仓库、酒店、商场、 餐厅等环境中应用,我们对机器人的移动能力越来越重 视,以至于“避障”是我们绕不开的话题。 快递机器人不用与障碍物接触就能感应到并自动绕 开。 模块 模块说明 应用举例 条件判断模块。如果六边形框里的条件成 立,就会执行上半包围框里面的程序,否 则执行下半包围框里面的程序。 55
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 墙壁 右转 50cm 前进 1.设计搭建: 右马达 M2 超声波传感器 左马达 M1 选择软件内置小车模型,增加超声波传 感器和积木件,然后通过编程实现小车的超 声避障功能。 小车的左马达和右马达默认分别连接 在 M1 和 M2 端口,超声波传感器连接在 P1 端口。 2.编程思路: 双分支结构与分支结构一样,都属 于条件语句,都能够对条件进行判断。 不同的是,双分支结构可以根据条件做 出两个选择。假如条件成立,就执行指 令 1,;假如条件不成立,就执行指令 2。 56
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 程序开始,判断小车与墙壁的距离是否 小于 50cm。如果小于 50cm,就慢速转 弯,否则快速前进,如此循环。 3.程序编辑: 1.如果超声波传感器检测的距离小于 50cm,就 设置马达 M1 速度为 50,M2 速度为 5,等待 1 秒, 使小车慢速转弯。 2.否则(即距离大于或等于 50cm),就设置马 达 M1 和 M2 的速度为 80,使小车快速前进。 3.加入“重复执行”和“控制器任务”模块, 使程序开始并不断地循环运行。 57
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 4.程序演示: 58
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 电视中常有这样一个场景:当一辆车的前方有车辆 开得比较慢时,可以加速超过前方的车辆,再减慢速度 行驶。 汽车可以跑得很快,也可以跑得很慢。因为它们具 有能变速的功能。 模块 模块说明 应用举例 用于存放经常变化的数值,只能存放一个数 值。 设定变量里面的数值。变量的初始数值为 0。 将变量的值增加 1。 59
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 变量含义: 假如一个盒子中装了一些饼干,你每天吃一 块,饼干的数量就会减少,也就是饼干的数量就 会发生变化。对于这种会“变化的数量”,我们 称之为“变量”,它是一种没有固定值、可以改 变的数。我们也可以将“变量”想象成一个装着 “饼干数量会变化”的盒子。 变量作用: 变量可以用来存放数据,其中的数 据可以改变。但是每次只能存放一个数 据,后存放的数据会把之前存放的数据 覆盖掉。 ②单击“创建变 ③输入变量名,比如“变量” 量” 1 单击 “变 ④单击“确 60
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 前进 速度增加 速度增加 1.设计搭建: 右马达 M2 光电传感器 左马达 M1 选择软件内置小车模型,增加光电传感 器和积木件,然后通过编程实现小车经过黑 线时就增加速度的功能。 小车的左马达和右马达默认分别连接 在 M1 和 M2 端口,光电传感器连接在 P1 端 口。 2.编程思路: 1.程序开始,设定变量【速度】的数值为 30,设定小车前进的速度值等于变量 的数值。 2.如果检测到黑线,就等待直到没有检测到黑线,再将【速度】增加 20。(因 为程序运行速度很快,从检测到黑线到没有检测黑线的时间里,程序已经运 行很多遍了) 61
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 3.程序编辑: 1.新建变量【速度】。 2.程序开始,设定【速度】的数值为 30。 3.马达 M1 和 M2 的速度等于【速度】的数值, 小车直行。 4.如果光电传感器数值小于 2000,则进入如果 ()那么()模块。 5.等待直到光电传感器数字大于 2000,将【速 度】的数值增加 20。 62
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 6.最后加入“重复执行”模块,使程序不断运行。 4.程序演示: 63
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 假如你去机器人餐厅吃饭,可以看到送餐机器人。 它们可以沿着规划好的路线,往返于厨房和餐桌之间, 完成传菜的工作。 模块 模块说明 应用举例 读取光电传感器的检测数值。根据颜色的深 浅,返回 0-4095 的数值。 64
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 发射端 光电传感器是一个让机器人可以区分颜色 接收端 深浅的传感器。根据颜色的深浅,会返回 0-4095 的数值。 检测物体颜色越深(越接近黑色)数值就越 小;反之,检测物体颜色越浅(越接近白色)数 值就越大。 深色的物体会吸收更多的光线,就 像夏天穿黑色衣服会更闷热。 光电传感器工作时,发射端会射出 一道强光,遇到物体时会反射回来被接 收端接收。 前进 右转 右转 前进 65
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 1.设计搭建: 右马达 M2 光电传感器 左马达 M1 选择软件内置小车模型,增加光电传感 器和积木件,然后通过编程实现小车沿线行 走的功能。 小车的左马达和右马达默认分别连接 在 M1 和 M2 端口,光电传感器连接在 P1 端 口。 2.编程思路: 程序开始,如果检测到黑线,小车就 前进;如果没有检测到黑线,就右转,直 到检测到黑线,继续前进,如此循环。 3.获取数值: 1.单击“显示窗口” 2.勾选“传感器” 3.拖动小车,让光电传 感器在黑线上方移动, 66
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 可以得到:光电传感器在黑线的正上方时,数值最小为 0;在白色地面正上 方时,数值最大为 4095。而当数值小于 800 时,光电传感器就 已经在黑线上了,即检测到黑线。 3.程序编辑: 1.如果光电传感器的检测数值小于 800,就设 置马达 M1 和 M2 速度为 50,使小车前进。 2.否则,就设置马达 M1 的速度为 50,M2 的速 度为 10,使小车右转,直到光电传感器的检 测数值小于 800。 3.加入“重复执行”和“控制器任务”模块, 使程序开始并不断地循环运行。 4.程序演示: 67
南京市金陵中学龙湖分校小学部创新教育系列教材 玩转人工智能之虚拟与现实 68