加州大學(xué)伯克利分校采用專(zhuān)用于A(yíng)RM單片機的NI LabV
同學(xué)們從iRobot Create等預先構建好的機械平臺開(kāi)始,專(zhuān)注于課程作業(yè)中的軟件及單片機的相關(guān)內容。此移動(dòng)平臺與iRobot Roomba類(lèi)似,iRobot Roomba是一款配備有車(chē)輪驅動(dòng)器和30多個(gè)傳感器的智能家用吸塵器。但是,它內部的8位處理器對于復雜智能機器人的控制算法而言并不夠用。因此,加州大學(xué)伯克利分校的工程師們將iRobot Create與Luminary Micro Cortex M3 ARM單片機連接起來(lái),通過(guò)通用異步收發(fā)器(UART)串口傳輸指令。這樣就實(shí)現了一個(gè)更耐用、更強大的控制器,創(chuàng )建了更多通用I/O端口,可進(jìn)行高速模數轉換,并且具備使用LabVIEW和ANSI C程序對機器人進(jìn)行編程的能力。
采用帶有ARM單片機的iRobot Create平臺,同學(xué)們使用嵌入式軟件技術(shù)將機器人自主引導到一座小山頂上,并在此過(guò)程中避開(kāi)障礙物。同學(xué)們使用的硬件包括iRobot Create、Luminary Micro ARM Cortex M3、一個(gè)加速度計以及一個(gè)用于診斷和通信的藍牙芯片。最初同學(xué)們使用ANSI C對Luminary進(jìn)行編程,以實(shí)現有限狀態(tài)機、中斷以及在不使用操作系統的情況下與傳感器和執行機構的連接。在使用ANSI C開(kāi)發(fā)出一個(gè)可以工作的控制器之后,同學(xué)們開(kāi)始使用LabVIEW在桌面仿真中對他們的控制器進(jìn)行綜合處理,然后,采用專(zhuān)用于A(yíng)RM單片機的LabVIEW嵌入式模塊,使用一個(gè)數據流、狀態(tài)圖模型與實(shí)時(shí)操作系統一起生成的控制程序對機器人進(jìn)行編程。
在上述過(guò)程中,同學(xué)們都可以學(xué)習到建模、靜態(tài)分析、代碼執行路徑、程序可達性分析及實(shí)時(shí)系統性能約束的重要性。在iRobot Create平臺上實(shí)施實(shí)驗室實(shí)踐項目使得同學(xué)們體會(huì )到了諸多挑戰,如通過(guò)傳感器、執行機構以及專(zhuān)用于A(yíng)RM單片機的LabVIEW嵌入式模塊提供的實(shí)時(shí)操作系統與真實(shí)世界進(jìn)行交流等。
采用專(zhuān)用于A(yíng)RM 單片機的LabVIEW嵌入式模塊帶來(lái)的優(yōu)勢
模型和系統實(shí)施之間的聯(lián)系是加州大學(xué)伯克利分校課程的主旨之一。與傳統的ANSI C比較,采用LabVIEW圖形化程序設計語(yǔ)言可以更容易地對并發(fā)和定時(shí)進(jìn)行分析和推理。通過(guò)將LabVIEW描述與ANSI C實(shí)施進(jìn)行比較,同學(xué)們能夠對嵌入式軟件的原理產(chǎn)生更深的理解。通過(guò)使用LabVIEW,同學(xué)們可以更快地開(kāi)發(fā)復雜的功能,從而使整個(gè)過(guò)程更有滿(mǎn)足感,也更有教育意義。
通過(guò)充分利用LabVIEW嵌入式圖形化系統設計工具,同學(xué)們也對代碼生成這一嵌入式行業(yè)不斷發(fā)展的技術(shù)有了更深的體會(huì )。擁有了在桌面電腦和實(shí)時(shí)嵌入式平臺上執行LabVIEW程序的能力,同學(xué)們就可以在為嵌入式目標生成代碼之前,先對邏輯執行的正確性進(jìn)行驗證。在LabVIEW前面板有一個(gè)實(shí)時(shí)更新的圖形界面,強化了調試環(huán)境,使同學(xué)們可以迅速得到結果。
最終項目
專(zhuān)用于A(yíng)RM單片機的LabVIEW嵌入式模塊提高了效率,同學(xué)們得以在更少的時(shí)間里學(xué)習和理解更多的軟件開(kāi)發(fā)概念。作為課程的最后一個(gè)部分,同學(xué)們需要在10周時(shí)間內開(kāi)發(fā)一個(gè)自選項目。選擇LabVIEW和ARM硬件的同學(xué)們開(kāi)發(fā)出來(lái)了智能懸停直升機、密集跟隨的車(chē)輛隊列以及連接到許多傳感器以實(shí)現路徑尋找和地圖繪制的智能車(chē)輛機器人。由于使用LabVIEW,同學(xué)們得以在各種嵌入式應用中以非??焖俚乃俣韧瓿绍浖脑O計、模擬及部署。
評論