前言......................................................................................................................................- 2 - 第1章预备知识......................................................................................................................- 3 -
1.1 虚拟机器人的结构与功能........................................................................................- 3 -
1.1.1...................................................................................................................身体结构
1.1.
2...................................................................................................................感觉器官
1.1.3...................................................................................................................编程语言
1.2 VJC1.5仿真版能做什么...........................................................................................- 7 -
1.2.1...................................................................................................为机器人编写程序
1.2.2...................................................................................................................创建环境
1.2.3...................................................................................................................仿真运行
1.3 光盘的安装与启动....................................................................................................- 8 -
1.3.1...........................................................................................................................安装
1.3.
2...........................................................................................................................启动
1.4 如何使用“帮助”电子文档....................................................................................- 9 - 第2章初试身手....................................................................................................................- 12 -
2.1 歌曲..........................................................................................................................- 13 -
2.2 边唱边跳..................................................................................................................- 15 -
2.3 走正方形..................................................................................................................- 16 -
2.4 走六边形..................................................................................................................- 16 -
2.5 走五角星..................................................................................................................- 17 -
2.6 走圆形......................................................................................................................- 20 -
2.7 奥运五环..................................................................................................................- 21 -
2.8 进门比赛..................................................................................................................- 21 -
2.9 一笔画......................................................................................................................- 23 -
2.10 求和..........................................................................................................................- 23 -
2.11 四则混合运算..........................................................................................................- 25 -
2.12 整型数与浮点数......................................................................................................- 25 -
2.13 霓虹灯......................................................................................................................- 25 -
2.14 汽车..........................................................................................................................- 27 -
2.15 迎宾机器人..............................................................................................................- 27 -
2.16 回廊..........................................................................................................................- 27 -
2.17 动态字符..................................................................................................................- 28 -
2.18 波浪..........................................................................................................................- 28 -
2.19 落地扇......................................................................................................................- 29 -
2.20 等比求和..................................................................................................................- 30 - 第3章稳步前进....................................................................................................................- 31 -
3.1 打招呼......................................................................................................................- 32 -
3.2 叫人起床..................................................................................................................- 38 -
3.3 彩色地毯..................................................................................................................- 41 -
3.4 百米赛跑..................................................................................................................- 41 -
3.5 计算走过的距离......................................................................................................- 42 -
上海广茂达伙伴机器人有限公司? 版权所有
WEB:https://www.wendangku.net/doc/9813024937.html, E_mail:serve@https://www.wendangku.net/doc/9813024937.html, - 3 - - 4 - - 5 -
- 7 - - 7 - - 7 -
- 8 - - 8 -
3.6 秒表..........................................................................................................................- 45 -
3.7 风扇定时..................................................................................................................- 45 -
3.8 找房门......................................................................................................................- 47 -
3.9 醉汉..........................................................................................................................- 51 -
3.10 自由行走..................................................................................................................- 52 -
3.11 趋光的飞蛾..............................................................................................................- 53 -
3.12 鼹鼠..........................................................................................................................- 54 -
3.13 沿线走......................................................................................................................- 56 -
3.14 越障跑......................................................................................................................- 59 -
3.15 太阳能电池..............................................................................................................- 59 -
3.16 电子琴......................................................................................................................- 60 -
3.17 穿越隧道..................................................................................................................- 60 -
3.18 舞台..........................................................................................................................- 61 -
3.19 哈雷彗星..................................................................................................................- 61 - 第4章挑战自我....................................................................................................................- 62 -
4.1 填字游戏..................................................................................................................- 63 -
4.2 台球..........................................................................................................................- 65 -
4.3 寻宝..........................................................................................................................- 68 -
4.4 篝火晚会..................................................................................................................- 69 -
4.5 弹球游戏..................................................................................................................- 72 -
4.6 随机走......................................................................................................................- 73 -
4.7 沿墙走......................................................................................................................- 74 -
4.8 点歌台......................................................................................................................- 76 -
4.9 回音壁......................................................................................................................- 76 -
4.10 查找最大值..............................................................................................................- 77 -
4.11 排序..........................................................................................................................- 78 -
4.12 最大公约数..............................................................................................................- 78 -
4.13 跳房子游戏..............................................................................................................- 82 -
4.14 找地雷......................................................................................................................- 83 - 第5章我能赢........................................................................................................................- 84 -
5.1 走迷宫......................................................................................................................- 85 -
5.2 游北京......................................................................................................................- 86 -
5.3 长跑比赛..................................................................................................................- 87 -
5.4 救援..........................................................................................................................- 88 -
5.5 灭火比赛..................................................................................................................- 89 - 附录......................................................................................................................................- 92 - 附录A. 子程序..........................................................................................................- 92 - 附录B. 如何设置机器人型号......................................................................................- 96 - 附录C. 不同型号的虚拟机器人碰撞传感器差异......................................................- 97 - 附录D. 真实的能力风暴机器人功能一览表..............................................................- 97 -
上海广茂达伙伴机器人有限公司? 版权所有
前言
本书介绍了机器人的初步知识,包括机器人的身体结构、感觉系统和思维方式。与一般教科书不同
的是:所有这些知识是在一系列的机器人项目中逐步展开的。读者在做机器人项目的过程中,将自主建
构机器人的知识体系。建构机器人知识体系的过程是新颖有趣的,给人的印象也会是深刻的。
本书还详细讲解了VJC编程语言。VJC编程语言又称为机器人C语言,是一种易学易用的编程语言。读完该书,再去学标准的C语言程序设计,就易如反掌了。
近年来,建构主义的教育理念得到了广泛的认可。大家知道,要在学习知识的过程中应用建构主义
的方法,是很需要一番努力的,因为用于建构的素材和情境并非总是那么唾手可得的。本书介绍的智能
机器人,由于它的技术先进性、学科综合性、自主体验性、趣味性和不断更新性,可以称得上是实现建构主义教育理念的一个优秀平台。通过做项目来建构机器人的知识体系,可以抛开繁琐的理论书籍,在
学中用,又在用中学,一切都将显得那么轻松和自然。
本书的读者可以是大中小学的青少年,也可以是任何年龄的机器人爱好者。中小学的科技老师也可
以用它做教材。
上海广茂达伙伴机器人有限公司? 版权所有
预备知识
在本章中,我们对能力风暴智能机器人作一个简单介绍,让读者初步了解机器人的结构、传感器和编程语言。本章还讲述了光盘的安装使用方法,并给出了VJC1.5 仿真版软件中“帮助”电子文档的详细目录。在读完本章内容之后,相信读者就能方便地使用VJC1.5仿真版了。
虚拟机器人的结构与功能
身体结构
在VJC1.5中,有五种型号的机器人:AS-M、AS-MII、AS-UII、AS-InfoX和AS-InfoM。图1-1是虚拟机器人的外形。虚拟机器人的身体结构跟真实的能力风暴智能机器人是相似的。本书中的范例采用的机器人型号均为AS-MⅡ。设置机器人型号的方法参见附录B。
上海广茂达伙伴机器人有限公司? 版权所有
AS-MII
(AS-M /AS-UII)
AS-InfoM
图1-1虚拟机器人外形
AS-InfoX
感觉器官
能力风暴智能机器人的感觉功能,是由机器人的传感器实现的。能力风暴机器人身上安装的传感器有以下几种:
1. 红外传感器
红外传感器由红外发射器和红外接收器两部分组成。一旦程序中发出“红外测障”的指令,红外发射器就开始发射红外线。红外线遇到障碍物会反射回来,被红外接收器接收,从而机器人就能判断出障碍物所在的方位。虚拟机器人能够检测左、右、前三个方向的障碍物,跟真实的能力风暴智能机器人基本相同。发射红外线的虚拟机器人如图1-2所示。
上海广茂达伙伴机器人有限公司? 版权所有
图1-2机器人发射红外线示意图
2. 光敏传感器
光敏传感器能够检测光线的强度,检测到的值为0~255之间的整数。光线越亮,检测到的数值越小;光线越暗,检测到的数值越大。此项功能跟真实的能力风暴智能机器人是一样的
3. 碰撞传感器
虚拟机器人的碰撞传感器能够检测左、右、前、后四个方向的碰撞,型号为AS-InfoX的机器人只能检测前、左、右三个方向的碰撞。如前所述,虚拟机器人共分五种,它们的的区别主要就体现在碰撞检
测功能上。所以读者在打开程序时,无论是例程,还是自己编写保存的程序,如果涉及到“碰撞检测”,必须先设置相应的机器人型号(参见附录B),然后再打开程序、仿真运行。例如:打开例程“自由行
走(M).flw”时,由于名称后面带有M,故须先将机器人型号设置为AS-M,然后再打开程序文件、仿真运行。打开例程“自由行走(Info).flw”时,最好先将机器人型号设置为AS-InfoM,然后再打开程序文件、仿真运行。
在碰撞检测功能方面,虚拟机器人跟真实的能力风暴智能机器人有较大差别(参见附录C、D)。
4. 声音传感器
声音传感器能够检测声强大小,检测到的值为0~255之间的整数。数值越小,声音越低;数值越大,声音越响。此项功能跟真实的能力风暴智能机器人是一样的。
5. 地面灰度传感器
地面灰度传感器能够检测地面的灰度,检测到的值为0~255之间的整数。地面颜色越深,灰度值越大;地面颜色越浅,灰度值越小。此项功能跟真实的能力风暴智能机器人基本相同。
编程语言
能力风暴智能机器人的编程语言是VJC1.5,由机器人C语言(简称JC)和流程图编程语言两部分
组成。读者使用仿真版的时候,可以用流程图编程。在用流程图编程的同时,VJC1.5自动生成JC代码,便于读者观察、解释或修改程序,参见图1-3。在图1-3中,左边是流程图,右边是JC代码。在流程
图编辑界面中,点击工具栏上的“JC代码”快捷按钮,即可看到当前程序的JC代码。
上海广茂达伙伴机器人有限公司? 版权所有
图1-3机器人走正方形的VJC程序
上海广茂达伙伴机器人有限公司? 版权所有
VJC1.5仿真版能做什么
为机器人编写程序
在VJC1.5仿真版中,可以用流程图编写机器人程序,同时自动生成JC代码。但不能直接用JC代码为机器人编写程序。
在仿真版中编写的程序对真实的能力风暴机器人也是适用的。
创建环境
可以自由创建环境,是VJC1.5仿真版的一个突出优点,这往往是使用真实的机器人时所做不到的。在VJC1.5仿真版中,读者可以利用光源、声源、障碍物和彩色图带创建各种环境,如房间、迷宫、排雷场地等。下面的图1-4就是用仿真版创建的一个环境――“篝火晚会场地”,场地左下方是虚拟机器人。
图1-4篝火晚会场地
仿真运行
仿真运行就是进入仿真环境,让虚拟机器人按照程序指令进行运动。编好程序、创建环境之后,就可以仿真运行了。因此,在仿真版中,读者能够直观地看到机器人运行的效果。
上海广茂达伙伴机器人有限公司? 版权所有
光盘的安装与启动
安装
可通过如下方式安装“VJC1.5仿真版”软件,两种方式任选一种。
1.放入“VJC1.5仿真版”软件安装光盘,Windows将自动启动“VJC1.5仿真版”
安装向导。
2.打开“我的电脑/光盘”,双击安装光盘中的Setup.exe程序,即可启动安装向导。
安装时,读者可根据安装向导的提示一步步操作。安装成功后,图形化交互式C语言开发库以及范
例会自动安装到指定目录(缺省路径时,安装在“C:\Program File\VJC1.5仿真版”文件夹中)。
启动
启动“VJC1.5仿真版”软件的方式有如下两种:
1.双击Windows桌面上的“VJC1.5仿真版”图标,进入流程图编辑界面。
2.点击Windows菜单“开始/程序/VJC1.5仿真版/VJC1.5仿真版”,进入流程图编辑界面。
进入流程图编辑界面之后,即可为机器人编写程序。编好程序,可以仿真运行。仿真运行的方法有
以下两种:
a) 在菜单栏中选择“工具(T)”下的子菜单“仿真当前程序”。
b) 在工具栏中点击“仿真”快捷按钮,如图1-5所示。
仿真
图1-5流程图编辑界面
如何使用“帮助”电子文档
“VJC1.5仿真版”的帮助电子文档详细介绍了流程图编程和创建环境的方法,是读者学用仿真版的
好帮手。进入流程图编辑界面后,选择“帮助”菜单下的“帮助主题”,即可打开此电子文档。
下面的图1-6是“帮助”电子文档的详细目录,读者可以与电子文档对照使用。
图形化编程指南
仿真工具简介
上海广茂达伙伴机器人有限公司? 版权所有
图1-6“帮助”电子文档的目录
上海广茂达伙伴机器人有限公司? 版权所有
初试身手
本章及以后各章的内容是以机器人项目的形式编排的,既便于初学者入门,也便于已有基础的读者参考。因为智能机器人是一个综合性的知识载体,涉及到机械、电子、软件、仿生学等众多学科,如果要详细介绍,恐非本书的篇幅所能容纳,而且也不适于初学者阅读,所以我们采用了机器人项目的形式供大家学习。
读书固能学到知识,走路做事也能心有所得。以智能机器人为伙伴,做做机器人项目,既轻松有趣,又能逐渐揭开机器人的奥秘,在不知不觉中进入智能机器人的科学殿堂。这正是我们撰写本书的期望所在。
机器人,顾名思义,就是象人的机器。本章主要介绍了机器人的执行器,即机器人的喇叭、显示屏、运动系统,相当于人的口、语言、腿脚。读者只要边看边做,很快就能熟悉机器人了。
上海广茂达伙伴机器人有限公司? 版权所有
歌曲
u 项目内容:找一段乐谱,用流程图编一首歌曲,然后仿真运行。 相关模块:发音,或者调用子程序。 难度等级:●●○○○ 程序设计
“歌曲”程序涉及模块较少,只要按照乐谱设置“发音”模块,然后将各模块依次连接起来即可。 通过这个项目的学习,可掌握模块的参数设置方法,以及流程图编程方法。下面是编程的步骤:
a) 在流程图编辑界面中,点击“执行器模块库”中的“发音”模块,将其拖到流程图生成区,连 接在主程序的下面(图
2-1)。
b) 图2-1 发音模块
在“发音”模块上右击鼠标,打开参数设置对话框(图
2-2),在其中选择音频和时间。例如:
图
2-2
中选择的音频为1,时间为四分之一音符。
在编程时,您也可以选择“自定义”,直接输入音频值和时间值。
如果选择了“休止符”,则机器人将不发音。休止的时间可以选择四分之一音符等,也可以选择“自 定义”,然后输入时间值。
图2-2 “发音”模块的参数设置对话框
上海广茂达伙伴机器人有限公司 ? 版权所有
c) 编辑完成的歌曲如图 2-3 所示。
u 仿真运行
图2-3 歌曲程序示意图
d) 流程图编好后,点击工具栏中的“仿真”快捷按钮(图
2-4),进入仿真环境主界面(图
2-5)。
仿真
图2-4 工具栏
图2-5 仿真环境主界面
e) 在仿真环境主界面中,点击“运行”键,可以得到一个虚拟机器人。将虚拟机器人放到中间的 运行区,它就会自动执行程序。在本例中,机器人则将演奏所编的歌曲。 u 调用子程序
调用子程序的方法参见附录 A 。
上海广茂达伙伴机器人有限公司 ? 版权所有
边唱边跳
项目内容:用流程图编程,使得机器人能够一边唱歌,一边跳舞。
相关模块:直行、转向、发音。
难度等级:●●●○○
项目解析:本项目可以通过调用系统子程序“边唱边跳”来完成(图2-6),调用子程序方法可参见附录A。
图2-6边唱边跳
不过,我们建议读者最好还是用“直行”、“转向”、“发音”等模块编一个自己风格的“边唱边跳”程序,然后仿真运行。
设置“直行”、“转向”模块的参数,只要在模块上右击鼠标,打开参数设置对话框,输入速度和时间就可以了。
仿真运行时,选择“显示轨迹”,可以更清楚地看到机器人跳舞的姿态。
上海广茂达伙伴机器人有限公司? 版权所有
走正方形
项目内容:为机器人编程,使之能走一个正方形。走的时候显示轨迹。
相关模块:直行、转向。 难度等级:●○○○○
图2-7
走正方形
项目解析:编写“走正方形”程序可参照图
1-1
编写,项目的难点在于要反复调整“转向模块”中
转向时间和速度,以便机器人正好转
90°。“直行”、“转向”模块的参数设置方法可参考“帮助”电子
文档――“执行器模块”。
走六边形
项目内容:为机器人编程,使之能走一个六边形。走的时候显示轨迹。要求使用“多次循环”模块。 相关模块:转向、直行、多次循环。 难度等级:●●○○○
项目解析:所有的程序都能用“顺序结构”、“选择结构”以及“循环结构”来表示。本项目中的“循 环结构”是程序设计中重要的结构,故须认真掌握。“多次循环”模块在“控制模块库”中。将“多次循 环”模块拖到流程图生成区后,在模块上右击鼠标,打开参数设置对话框,即可输入循环次数。另外要 注意的是,使用多次循环模块的时候,须将待循环的内容放在循环体内部。
上海广茂达伙伴机器人有限公司 ? 版权所有
走五角星
项目内容:为机器人编程,使之能走出一个五角星的形状。走的时候显示轨迹。要求使用“条件循 环”模块。
u 图2-8 五角星
相关模块:直行、转向、条件循环、计算。 难度等级:●●●○○
程序设计
通过该项目的学习可熟悉 VJC1.5 仿真版中引用变量、变量百宝箱的概念以及“条件循环”和“计 算”模块的使用。“条件循环”模块在“控制模块库”中。
从图
2-8
可以看到,要画出一个五角星,需重复五次“前进、右转”的动作,右转的角度为
144 。
五角星的大小由前进的距离所决定。
在本例中,要求使用“条件循环”模块,我们可以将其中的条件表达式设置为
整型变量一
< 5
在程序中,让整型变量一从 0 开始变化,每循环一次,就令整型变量一增加 1。当整型变量一等于 0、1、2、3、4 时,条件表达式都能满足;当整型变量一等于 5 时,条件表达式不再满足。于是循环将 进行
5 次,然后就跳出循环,程序结束。参见图 2-9。
上海广茂达伙伴机器人有限公司 ? 版权所有
u 参数设置
最初的“计算”模块:计算表达式为
图2-9 五角星例程
整型变量一
=
“前进”模块:速度
80,时间
2.0 秒。可自行调整。
“右转”模块:相对速度
100,时间
0.4
秒。可自行调整。
“条件循环”模块:条件表达式为
整型变量一
< 5
循环体中的“计算”模块:计算表达式为
整型变量一
=
整型变量一
+
1
第二个“计算”模块参数设置的方法如下面
a)-d)所述:
a) 在“计算”模块上右击鼠标,打开参数设置对话框(图
2-10);
图2-10 计算模块的参数设置对话框
上海广茂达伙伴机器人有限公司 ? 版权所有
b) 在图 2-10 中,选择右上角的“引用变量”,这时会出现变量百宝箱(图 2-11)。
c) d) 图2-11 变量百宝箱
在变量百宝箱中点击一下“整型变量一”
,在整型变量一右边就会出现一把小钥匙,表明整型变 量一被选中了。点击“确认”。
写出完整的计算表达式“整型变量一
=
整型变量一
+ 1”,如图 2-12
所示。
u 仿真运行
图2-12 计算表达式
程序编好后,就可以仿真运行了。点击工具栏中的“仿真”快捷按钮,进入仿真环境主界面,选择 “显示轨迹”,然后点击“运行”键,得到一个虚拟机器人,将虚拟机器人放在运行区,就能看到机器人 走出的轨迹。
计算机执行程序的过程如下:首先将“整型变量一”赋值为 0,然后进入条件循环。每循环一次, 机器人前进一段距离,并右转一个角度,画出五角星的一条边,同时整型变量一增加 1。故整型变量一 从
0 依次变为 1、2、3、4。当整型变量一等于 5
的时候,条件表达式不再满足,条件循环中止,程序就
结束了。
上海广茂达伙伴机器人有限公司 ? 版权所有