《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機器人
參考網站