《LabVIEW与机器人科技创新活动》被誉为未来创新者工具的图形化编程软件labview,作为工程师和科学家创建测试、测量和控制应用程序的开发环境,已在世界顶尖工程院校的教学中得到广泛应用。labview中学版是该工业级软件的中学生版本。本书以labview中学版的最新版本labview 2010为对象,结合高中通用技术课程,将乐高机器人(nxt和tetrix)作为硬件载体,通过大量的实例,深入地介绍了labview软件的编程和应用。本书最后还介绍了新推出的便携式数据采集设备ni mydaq的工程创新应用。
本书可作为中学生和大学生机器人科技创新活动以及各种机器人竞赛的学习用书,也可作为学校教师开设相关课程的教学资料。
国家中长期教育改革和发展规划纲要(2010-2020年)》把提高科技素质,培养创新人才放在了重要的位置,这对指导社会各界做好青少年科技创新工作具有重要的意义。笔者所在的北京市第十二中学是一个重视科技创新教育的学校,机器人课程在这里得到了学生们的积极响应,从初中到高中都有许多学生参与。笔者在多年的教学实践过程中,一直致力于寻找能充分结合理论,并将理论灵活运用于实践,能充分调动和发挥学生科技创新意识的教学工具和载体,并希望将其应用于教学。2010年,笔者终于发现了被誉为未来创新者工具的LabVIEW.
LabVIEW是实验室虚拟仪器工程工作台 (Laboratory Virtual Instrument Engineering Workbench)的简称,是美国国家仪器(National Instruments, NI)公司推出的创新软件产品。与传统文本程序语言不同,LabVIEW是图形化的编程语言,打开LabVIEW,看到的不是一行行的文本,而是由一条条彩色线段连接起来的、各式各样的小图形块。LabVIEW是工程师和科学家创建测试、测量和控制应用程序的优秀开发环境,也被广泛应用于像美国麻省理工学院、美国加州伯克利大学、英国剑桥大学、印度理工学院坎普尔分院和中国清华大学等世界顶尖工程院校的教 LabVIEW和乐高机器人可以说有着不解之缘。ROBOLAB以及LEGO NXT MINDSTORMS Education NXT Programming软件都是基于LabVIEW开发的,其中有关LEGO NXT MINDSTORMS Education NXT Programming软件的使用方法,在笔者之前编写的《机器人结构与程序设计》一书中有详细的叙述。
软件图形化的界面直观、易学,学生可以通过简单拖放软件上不同的模块来控制NXT机器人。2010年推出的LabVIEW中学版是该工业级软件的中学生版本,专为中学课堂的使用进行了优化,可以帮助教师和学生将科学、技术、工程和数学(STEM)等概念通过一个个动手项目带到生活中。学生可以学习、使用与工程师、科学家们相同的软件平台,可视化地对机器人进行控制和编程。
LabVIEW中学版有助于学生开发更复杂的机器人活动,从而培养他们对工程领域的兴趣和实际的创新能力。除此之外,软件还支持学生参加FIRST系列等国内外机器人竞赛活动。除了大家熟悉的FLL比赛外,FTC比赛也于2011年首次登陆中国。
值得一提的是,LabVIEW的可持续学习性可以帮助学生在不同阶段使用不同版本的LabVIEW软件配合相应的硬件载体,完成属于自己的创新。这种学习的连续性可以有助于培养他们珍贵的职业技能,即学生可以在大学毕业后继续将LabVIEW平台应用于工业领域。
本书结合高中通用技术课程,将乐高机器人(NXT和TETRIX)作为硬件载体,通过大量的实例深入地介绍了LabVIEW软件的编程和应用。书中最后一章还介绍了NI公司2011年新推出的便携式数据采集设备NI myDAQ。它专为学生量身定制,通过即插即用的USB接口与LabVIEW无缝连接,帮助学生测量、分析和显示真实世界的各种信号,是学生工程实践创新的理想平台。
LabVIEW与机器人科技创新活动 本书共分八章,可作为计划开设该课程的课堂教学材料,也可作为学生课外科技创新活动和各种竞赛的学习辅导用书。
本书由郑剑春和李甫成主编,参加编写的人员有吴兆斌、李梦军、王广彦、张祖平、薄希田、程罡、陈醉、郝连振、季文杰、李慧、李庆余、丁萍、丁猛、连舒心、刘雯、刘志煌、明子成、申磊、石福中、杨静、王淑秀、王颖、徐翔燕、谢传东、叶茂平、杨肖霞、于啸、袁建国、张荣庆、张学敏、张婵娟、钟国梁、赵忠勇。
在本书的编写过程中,参阅了大量的国内外相关资料和网络资源,对有关的作者一并表示衷心的谢意。衷心感谢封面设计者成斌。最后衷心感谢美国国家仪器公司的大力支持。
由于本书所涉及的内容在国内尚属首次编写,限于水平,错误和不妥之处在所难免,敬请业界同仁和广大读者批评指正。联系方式:郑剑春,634580305@qq.com;李甫成,livefortune@gmail.com.
第一章 虚拟仪器与labview
第一节 虚拟仪器
一、什么是labview
二、labview中学版与labview for lego mindstorms
三、labview for lego mindstorms 2010安装
第二节 labview的编程环境
一、labview for lego mindstorms 2010启动界面
二、自定义启动界面
三、labview应用程序的构成
四、labview的操作模板
第三节 vi程序的建立
第四节 程序调试
一、语法或逻辑错误
二、设置执行程序高亮
三、单步执行与断点
四、探针
第二章 labview的数据分类与运算
第一节 数据类型
一、字符串型控件(string)
二、数值型控件(numeric)
三、布尔型控件(boolean)
四、枚举型控件(enum)
五、时间型控件(timestamp)
六、局部变量和全局变量(localvariable & global variable)
第二节 数据运算(numeric)
一、关系运算(comparison)
二、逻辑运算(boolean)
三、表达式节 点(expression node)
第三章 程序的结构
第一节 顺序结构(sequence structure)
第二节 循环结构(1loop)
一、while循环
二、for循环
三、移位寄存器(shift register)
四、多个移位寄存器的建立
第三节 分支结构
一、布尔类型的条件选择分支结构
二、其他数据类型的多分支结构
三、公式节 点(formulanode)
第四节 子vi(subvl)
第四章 数组、表格和簇
第一节 数组(array)
一、创建数组
二、数组之间的算术运算
三、函数的多态性(polymorphism)概念
四、建立多维数组
第二节 表格(table)
第三节 簇(cluster)
一、建立簇
二、簇的序(order)
三、簇与子vi传递数据
第五章 图形显示与存储测量数据
第一节 图形显示
一、graph控件
二、xygraph控件
三、chart控件
第二节 存储测量数据
一、i/o功能函数
二、几种主要文件存储类型
第六章 labview 2010控制nxt机器人
第一节 乐高nxt机器人程序
一、pc与nxt机器人的连接方式
二、程序直接运行模式与下载运行模式
三、下载程序与更新控件
第二节 机器人运动
第三节 nxt机器人传感器
一、传感器的种类
二、传感器在框图程序中的调用
第四节 屏幕显示与声音
一、显示文字
二、显示传感器测量值
三、显示图形和运算结果
四、声音
第五节 等待
第六节 通信与文件存储
一、nxt机器人通信
二、从计算机上直接读取传感器的检测数据
三、nxt机器人文件存储
第七章 tetrix机器人
第一节 ftc比赛中对机器人的控制方式
第二节 与tetrix机器犬有关的程序
第八章 nimyoaq简介
第一节 数据采集概述
第二节 nimydaq入门
一、nimydaq的安装与设置
二、nimydaq的信号连接
第三节 结合sfp仪器的使用
一、sfp仪器简介
二、第一次测量
第四节 结合labview的使用
一、nimydaq的编程
二、使用ni-daqmx编程
三、从黑板到面包板
四、从理论到实践
附录a labview for lego mindstorms技术文档
附录b 搭建一个乐高机器人小车
附录c 制作一个tetrix机器人
参考网站