本文系曾祥潘老师原创文章。写于2011年9月,原文章标题《基于开源硬件的中小学智能机器人实验室建设探索》。发表在《中小学信息技术教育》杂志2012年第1期。杂志编辑将标题改为《步入开源硬件智能机器人教育时代》。 欢迎评论、转载。转载请保留以上信息。
步入开源硬件智能机器人教育时代
曾祥潘
广州市白云区景泰小学
[摘要] 智能机器人实验室的建设是机器人教育进入中小学的重要环节。如何使智能机器人实验室的应用获得可持续发展,机器人设备选型是关键。机器人厂商为了保护生产利益,产品兼容上存在技术屏障,使得不同类型机器人软硬件不能互换使用。为了避免设备生产厂商过多地影响机器人教育的发展,笔者提出采用开源硬件的智能机器人设备建设实验室,希望藉此打破技术壁垒,推进中小学机器人教育的普及。
[关键词] 开源硬件 智能机器人 Arduino
一、智能机器人实验室建设现状
智能机器人的应用十分广泛,无论是工业、农业、军事乃至家庭、教育领域都可见其身影。在中小学机器人教育领域,对应用于教学的机器人性能要求不高,但要有较高的开放性和可扩展性,使用者可根据需要通过增减模块改变机器人功能,便于自主创新。另外在学校里使用的设备,注定要具有较高的性价比。
目前,生产教育用机器人的厂商比较多,国内的或者国外的都有,中小学已建好的智能机器人实验室大多数采用了其中一家或多家厂商的产品。但是,笔者通过文献调查、机器人竞赛、及对周边学校实验室管理员了解使用情况时发现,学校在实验室的建设和使用中,由于各机器人生产厂商从保护知识产权和经济利益角度出发,其机器人产品普遍存在以下一些问题:
1、各厂家产品繁杂,各品牌机器人自成体系互不兼容。为了保护生产利益,加上没有统一的技术标准,实验室在后期建设或者器材更新时大多只能选择同一厂商的产品,学校在器材的选择上受到限制。
2、机器人产品更新换代迅速,旧型号零配件供应不足。不同型号的机器人配件往往不能互换,旧型号机器人在性能上虽然能满足教学需要,但停产后配件难寻,被迫升级全套器材,造成浪费。
3、机器人功能模块类型少,其扩展性受限。各种型号的机器人多数针对竞赛而设计,配备的功能模块较少,其它类型的模块由于兼容性问题无法使用,机器人能实现的功能十分有限。
4、机器人核心技术资料不公开,学生不能充分掌握机器人的各种知识。缺少电路原理图,无法分析零配件功能用途;机器人底层语言函数源代码不公布,不能了解机器人运作原理。
5、缺少技术支援,机器人后期维护难。保修期一过,厂商的技术支持将停止,出现技术问题得不到解决。由于跟竞赛联系紧密,教师们对于技术上的研讨十分保守,教学交流也是难以开展。
6、机器人价格较高,建设经费投入大。较高的建设经费使机器人教育进学校发展缓慢,同时,设备单价昂贵,教师担心设备损坏不敢“放手”让学生动手操作机器人,制约了学生的学习积极性。
二、关于开源硬件
开源硬件是指与开源软件相同方式设计的计算机和电子硬件。开源硬件通常发布有详细的硬件设计资料,如电路图、材料清单和电路板布局数据等。使用者可以通过购买、委托制造或自制等方式获得开源硬件。另外,得益于开源硬件独特的开发和发布方式,制作、使用开源硬件无需担心版权问题。
在智能机器人领域,最常见的开源硬件是Arduion,见图1。
图1 Arduino UNO主控板 |
<!--[if !vml]-->
|
Arduino是意大利的一个教学用开源硬件项目。Arduino包含一个单片机开发板、一个简单易用的软件开发系统(见图2)、一系列丰富的传感器和驱动电路。Arduino的电路板可以自行制作焊接,也可以购买已经组装好的,软体开发系统可以从官方站点 www.arduino.cc 上免费下载使用。
Arduino系统使用C语言进行编程。Arduino的C语言已经进行了简化,降低了复杂性,初学者可以很容易上手,大大降低了入门门槛。笔者在初次接触Arduino,只花了几十分钟就可以编写简单的Arduino程序。如果不想使用字符编程,还可以选择图形化的编程工具,通过添加拖动图标的方式轻松编程。
三、商品机器人与开源机器人
常见的由机器人厂商生产的机器人称为商品机器人,由开源硬件组装而成的机器人称为开源机器人。
开源机器人能否满足中小学机器人教学需求?现在将智能机器人实验室使用较为广泛的两款商品机器人与使用Arduino制作的开源机器人作一比较,见表1。
表1 两款商品机器人与Arduino开源机器人比较
机器人类型 | 国产G品牌教育机器人 | 国外L品牌教育机器人 | Arduino开源机器人 | |
控制器 | 内核 | 32位Cortex-M3内核 | 32位 ARM7内核 | 8位AVR或32位Cortex-M3内核 |
控制接口 | 12路I/0口每个都具备输入输出功能 | 4输入口、3输出口 | 6模拟输入端口、14数字输入输出端口 | |
传感器 | 光敏传感器、磁敏开关、触碰开关、火焰传感器、红外测障传感器、灰度传感器、声音传感器 | 触动传感器 光电传感器、超声波传感器、声音传感器 | 支持数以百计各种类型的传感器 | |
执行器 | 直流电机、减速电机、2种颜色的灯 | 内置角度传感器的伺服电机、灯泡、扬声器 | 支持各种电子装置和器件,电机、光传感器等等 | |
数据传输 | USB | USB、蓝牙、红外 | USB、串口、蓝牙、以太网、XBee无线等 | |
编程平台 | 编程模式 | 标准流程图与C语言双重编程功能 | 图形化编程 | 文本编程或图形化编程 |
支持操作系统 | Windows | Windows、Mac OS X | Windows、Mac OS X、Linux | |
运动平台 | 2WD铝合金小车 | 积木式机械结构 | 各种车体、机械结构均可使用 |
从上述比较可见,开源机器人配置能达到甚至优于商品机器人,完全可以满足中小学机器人教学的需求。开源机器人相对商品机器人具有以下优点:
1、技术规范统一,新旧型号配件通用。Arduino在开发过程中力求新旧版本的通用,无论从物理结构上还是接口电路电气性能,各种新旧型号的控制器和传感器都可以互相搭配使用,这样可以大大节约了硬件资源。
2、功能模块十分丰富,机器人扩展能力非常强,利于学生创新想法的实现。它能够使用上百种功能模块,甚至可以自行开发功能模块,创新应用得到最大的支持。
3、所有技术资料公开、透明。从电路原理图、零件清单到编程平台源代码垂手可得,使用者可深入研究机器人的底层技术。
4、使用者众多,技术交流社区活跃,技术问题可迅速得到解决。Arduino官方论坛注册用户达到五万三千多人,加上其它使用Arduino的交流社区,Arduino用户可能达到近十万人。另外,国内相继涌现了学习使用Arduino的工作坊,如北京Arduino俱乐部、上海“新车间”等。无论从网上或者网下都可以找到Arduino用户进行交流。
5、无技术垄断现象,器材价格透明,利于推广。由于技术资料公开,没有厂商可以垄断Arduino的生产与销售,使得Arduino的性价比极高。
四、建设开源硬件机器人实验室
通过以上对商品机器人和开源机器人的研究分析,可见利用开源硬件建设机器人实验室的优势是十分突出的,据此,笔者提出通过建设开源硬件机器人实验室的构想,籍此扩展机器人实验室建设的途径和渠道,为促进中小学机器人教育发展提供参考。
机器人实验室建设通常包含三方面的内容:计算机、智能机器人、配套设施。笔者依此对开源硬件机器人实验室建设的配置建议可作如下的选取:
1、计算机可因学校实际情况,采用购买新计算机或者使用原计算机室设备的方法解决。Arduino开发环境对计算机硬件需求很低,现在能够正常使用的计算机都能满足需要。如购买新计算机,可以采购手提电脑,便于机器人运行调试。
2、智能机器人数量可根据学生实际人数,按照2-3人一台机器人的数量配备。开源智能机器人零配件的配置可分为基础配置和拓展配置两部分。
(1)采用基础配置的机器人可满足中小学智能机器人的入门教学,完成诸如机器人巡线行走、走迷宫等任务。基础配置的详细零部件见表2
表3 开源智能机器人零配件拓展配置
零部件 | 型号 | 数量 |
传感器 | 颜色传感器 | 1 |
数字指南针 | 1 | |
红外火焰传感器 | 1 | |
温度传感器 | 1 | |
霍尔传感器 | 1 | |
执行器 | 伺服电机 | 1 |
继电器模块 | 1 | |
直流电机 | 1 | |
2自由度机械臂 | 1 |
3、配套设施包含组装机器人的起子、钳子等工具。另外需要铺设机器人运行场地。还可以配备适量的机械加工设备,如手钻、钢锯、电磨等,以满足机器人改装和创新活动的需求。
五、实验室的运作方式
目前,机器人教育在中小学尚属于初期的探索阶段,能够学习的经验很少。如何能更好地发挥实验室的使用效益,笔者认为可以从以下方面着手:
1、拓展使用对象
实验室建成初期可先从机器人兴趣小组入手,培养一部分有兴趣的学生,组成机器人学习团队。教师可利用机器人兴趣小组开展校内的机器人展示、竞赛活动,扩大机器人实验室影响面,吸引更多的学生参与学习。教师在机器人兴趣小组的教学活动中积累经验,形成自己的教学能力。逐步将课外小组松散的教学行为转变成面向全体学生的常规课堂教学。
2、拓宽应用面
得益于开源硬件体系,机器人可使用的传感器种类和使用效果都得到较大提高,教师可利用丰富的硬件资源开拓各种机器人创新应用。同时,Arduino除了在机器人领域的应用外,在其它方面如物理、数学、通用技术等学科也有着广泛的应用。开源机器人实验室完全可以成为多个学科的通用实验室。笔者相信,开源机器人实验室的使用前景十分广阔。
[参考文献]
[1]王英琴.中小学机器人实验室建设的探索与思考. 中小学信息技术教育,2005,(12).