一、提出问题
机器人可以代替人类完成很多任务,它可以进行水下作业,可以在医院辅助医生
给患者治病,非常厉害!我们知道人可以通过大脑思考,那么机器人是如何进行思考的呢?它是如何像人一样完成各种工作呢?
二、联想
如图8-1所示,机器人可以像人一样的进行思考,那机器人的大脑究竟是什么呢?
图8-1 机器人和人
技能牌
乐高机器人的大脑:EV3控制器,如图8-2所示。
图8-2 EV3控制器
EV3控制器基于Linux操作系统,300MHz ARM9 处理器,16M闪存,64M 随
机存储器。
EV3控制器是乐高机器人的大脑,换句话说乐高机器人的数据计算,电机
控制,传感器采集都要通过控制器来完成。下面,先介绍一下EV3控制器。
如图8-3所示,控制器正面由显示屏和按键组成,按钮分别为①返回按钮,②确定按钮,③上,④下,⑤左,⑥右6个按钮组成。
图8-3 EV3控制器按键
如图8-4所示,控制器侧面有USB插口和SD卡插口,USB口可以连接USB
无线网卡,但网卡需要匹配控制器的硬件要求。SD卡可以扩展控制器的内存,最大可以扩展到32GB。
如图
图8-4 EV3 侧面
8-5所示,控制器前面
是A,B,C,D四个输出口,输出口可以连接电机或灯。此外,还有控制器的PC程序传输口,通过这个接口可以通过数据线把程序传输给控制器。
图8-5 EV3 前面
如图8-6所示,控制器后面是1,2,3,4四个输入口,输入口用来连接
传感器。传感器采集的数据可以传输给控制器去处理。
图8-6 EV3后面
三、要求:指定距离的机器人小车
小车向前行走50CM,然后停车,并鸣笛。
1. 小车向前行走的距离越准确越好
2. 小车停下后要鸣笛示意
机器人小车要向前行走一段距离,然后停下,这就需要通过乐高机器人的
大脑——EV3控制器来对乐高电机进行控制。下面我们要使用EV3控制器来做一辆机器人小车。
四、构建
小车搭建:
我们来搭建一辆机器人小车,它使用两个电机作为主动轮来控制小车行走,并用一个金属球作为从动的轮子,如图8-7所示。这里解释一下主动轮和从动轮。通过电机传动后,可以主动转动的轮子称为主动轮;被动跟随转动的是从动轮,起到辅助支撑的作用。两个电机通过数据线分别连接到控制器输出口的B和C。
图8-7 机器人小车底部
图8-8 机器人小车侧面
如图8-8所示,机器人搭建完成,前几节课我们都是利用电源控制机器人的动作,都需要依靠人为的操控。这节课我们运用EV3控制器来控制电机的转动。为了达到这个目的,我们需要给机器人编写程序,只有把程序传输给控制器,控制器才可以控制机器人,完成我们规定的任务。
技能牌:EV3编程软件
EV3编程软件是一个图形化的编程语言,它的编程不需要去记忆程序命令
和繁琐的结构,只需要把各种图形化程序模块连接到一起就可以了。这样既形象生动,又简单易学。
打开软件后新建一个文件,如图8-9所示。编写程序时需要把下方的程序
模块拖到白色区域并与前面图片用线进行连接。编好后的程序就像很多图片用线缝起来一样。
图8-9 程序新建文件界面
五、算法与程序:
算法: 为了让小车可以准确的行驶到50CM处,我们可以让小车以相同的速度
前进,并从起点到50CM处进行计时,把时间记录下来。再把这个时间写到程序中,让小车按照这个时间来前进,这样小车就可以前进到终点处停下来。根据这个想法,我们通过以下6个步骤来实现。
程序:
1. 编写程序,让小车一直向前行驶
通过“移动转向”模块,来控制小车向前。在模块右上方选择“B+C”,左下方选择“开启”模式,这时模块下方分别有2个选项,分别是方向和功率,如图8-10所示。
图8-10 移动转向模块
方向:-100到100,数值代表机器人的方向,数值不同机器人转
的方向就会不同,0代表直行。
功率:-100到100,正负代表前进或后退,正方向为电机顺时针
转动,负方向为电机逆时针转动。数值代表功率的大小。
技能牌:循环结构
为了让小车一直向前,在程序里面加入循环结构。循环结构可以使程序语句被循环执行。在需要重复使用代码的时候,循环结构会经常被用到,如图8-11所示。
图8-11 循环结构
2. 计时,把时间记录下来
记录小车行驶50CM距离的时间,把时间输入到程序中,并在“移动转向”模块的左下角选中“开启指定时间”。把记录的时间放到时间选项中,如2.8秒,有了时间,我们就可以去掉循环语句,让小车按照时间去行走,程序如图8-12所示。
图8-12 小车前进2.8秒
3. 发出声响
在小车到达终点后,发出声音。选择声音模块,可以在右上角选择乐高提供的各种声音文件,程序如图8-13所示。
图8-13 到达终点并发出声音
4. 保存
如图8-14所示,保存项目名称为“juli.ev3”,EV3程序所编写的程序文件名是“*.ev3”。
8-14 保存文件
图
5. 下载
1. 长按控制器的“确定”按钮,使控制器开机。
2. 将下载传输线连接到EV3控制器和电脑USB口。
3. 单击“下载”按钮。下载按钮在程序的右下角,如图8-15所示,在最右端EV3字母下方,三个按钮分别是:“下载”,“下载并运行”和“运行已选模块”。 4.
图8-15 程序下载
6. 运行
如图8-16所示,在EV3控制器当中,选择文件夹中的“juli”文件夹,
然后点击确定按钮选择“program”,就可以运行程序来控制机器人了。
六、优化与改进
现在,我们用另
已经知道路程是50CM,胎的直径,我们就可以小车行走的距离。
改进步骤:
图8-16 EV3显示文件夹
一种方法来解决问题。我们那么只要我们知道乐高的轮通过轮胎转动的圈数来控制
1. 乐高轮胎的直径
我们使用的乐高轮胎的直径是43.2mm,这个数值在乐高轮胎上有标明,查看一下就可以知道,如图8-17所示。
图8-17 乐高轮胎
2. 通过直径计算周长
根据公式:L=πd,π是圆周率3.14,d是乐高轮胎的直径,L是轮胎的周长,经过计算L=3.14×43.2=135.6mm。(保留一位小数)
3. 根据周长L和距离S,计算出轮胎需要转动的圈数
圈数=S/L=500/135.6=3.7圈(保留一位小数)
4. 编写程序
由于乐高电机里面配有转速传感器,可以测量电机转动的角度和转速。因此我们可以在“移动转向”模块左下角选择“开启指定圈数”并输入圈数为3.7(1圈=360度)。程序如图8-18所示。下载并运行程序,看一看机器人是否可以走50CM的距离呢?
图8-18 小车前进3.7圈
七、实践与讨论
机器人是如何能够思考问题或做出动作的?
_____________________________________________________________
利用时间和角度两种测量方法控制机器人行走,哪一个更加准确呢?为什么?__________________________________________________________
_______________________________________________________________
八、拓展
机器人走四方形
我们刚才已经走了一条50CM的直线,下面请你让机器人出发后走一个正方形,最后让机器人回到起点。
技能牌:机器人转弯
机器人转弯还是利用“移动转向”模块,为了更加精确,选择“开启指定度数”,方向改为51向右转动,功率50,角度390度,如图8-19所示。
注意:转弯的角度要根据机器人所走的场地和机器人的结构来确定。通常使机器人转到90度的位置,要不断的修改方向值去测试机器人的转动位置。
最终的程序,如图8-20所示。
图8-19 机器人转弯390度
图8-20 程序循环4次
注意循环结构,选择好计数循环的次数。由于要走四边形因此循环次数
取值为4。
通过这个例子我们可以看到机器人的动作是由程序来控制的,机器人本身是不会像人一样进行思考的,但是通过给机器人输入程序后,就可以让机器人像人一样进行思考和动作了。
九、作业
如图8-21所示,如果让机器人小车前进,碰到障碍物后停止(障碍物固定在地
面上,小车不会推动),并发出声响,你应该用时间还是角度去控制机器人电机的转动呢?说说为什么?
图8-21 机器人碰到障碍物停下
第八课 机器人小车搭建图 1. 乐高大电机与十字轴连接 2. 乐高四方形连接器 3. 轴销连接器 4. 乐高四方形连接器固定马达 5. 黄色长梁与圆销连接 6. 黄色长梁固定在马达上 7. 双销直角连接件 8. 双销直角连接件与绿色三孔圆梁连接 9. 连接黑色圆销 10.直角梁 11.直角梁与圆销连接 12.直角梁固定在双销直角连接件上 13.制作对称的两个积木件 14.灰色梁连接两个积木件 15.前面已做好的马达 16.将连接件固定在马达上 17.车体底部 18.四方形连接器固定在背面 19.四个轴销连接件加固 20.双销直角连接器 21.红色直角梁 22.双销直角连接器与红色直角梁连接 23.制作对称的两个 24.乐高金属球和球罩 25.乐高金属球放入到球罩中 26.蓝色长销 27.长销与金属球连接 28.连接前面做好的两个对称的积木件 29.十字轴 30.十字轴插入到球罩中 31.前面做好的小车底部 32.金属球固定在小车后面 33.小车轮胎 34.前面已制做好的小车 35.轮胎固定在马达上 36.EV3控制器 37.安装完轮胎小车的侧面 38.乐高导线插入到电机插口里 39.EV3控制器固定到小车上 40.小车底部 41.小车后部
因篇幅问题不能全部显示,请点此查看更多更全内容