加州大學伯克利分校工程師采用專用于ARM單片機的NI LabVIEW嵌入式模塊,對連接到iRobot Create移動機器人平臺的Cortex-M3單片機編程,使得同學們可開發一個嵌入式系統。
The Challenge:
通過一系列面向機器人開發的實驗室實踐課程與團隊項目,吸引電子工程和計算機科學學院的同學們積極投入嵌入式系統設計。
The Solution:
采用專用于ARM單片機的NI LabVIEW嵌入式模塊,對連接到iRobot Create移動機器人平臺的Cortex-M3單片機編程,使得同學們可開發一個嵌入式系統,與具有實時約束的真實世界進行交流。
"通過使用LabVIEW,同學們可以更快地開發復雜的功能,使整個過程更富有成就感及教育意義。"
加州大學伯克利分校的電子工程和計算機科學學院是全球頂級學院之一。 作為本科生課程的一部分,同學們有機會去研究嵌入式系統和計算物理系統帶來的獨特挑戰。 同學們將學習實時嵌入式系統的并發性和計算的并發模型、傳感器和執行機構建模、軟件分析工具、代碼生成以及控制算法等方面的知識。
要開發一個可靠的嵌入式系統,需要廣泛的專業技能,包括靜態代碼分析、實時運行以及傳感器和執行機構的接口技術。 我們希望同學們能完成一系列的實驗室實習課程,強化一個成功的嵌入式工程師所必須掌握的技能。
機器人硬件平臺
通過課程實驗作業,同學們將體會到如何使用專用于ARM單片機的LabVIEW嵌入式模塊、狀態圖及ANSI C等多種設計工具來控制機器人。機器人需要處理傳感器發送來的真實世界的數據,對它們所處的環境做出快速反應并驅動執行機構產生有意義的物理響應,是嵌入式系統教學的極佳工具。在設計課程材料時,我們也采用了LabVIEW直觀的圖形化設計工具,為同學們提供靈活、開放的程序設計平臺,使同學們可混合使用數據流、ANSI C和狀態圖等程序設計方法。
同學們從iRobot Create等預先構建好的機械平臺開始,專注于課程作業中的軟件及單片機的相關內容。此移動平臺與iRobot Roomba類似,iRobot Roomba是一款配備有車輪驅動器和30多個傳感器的智能家用吸塵器。但是,它內部的8位處理器對于復雜智能機器人的控制算法而言并不夠用。因此,加州大學伯克利分校的工程師們將iRobot Create與Luminary Micro Cortex M3 ARM單片機連接起來,通過通用異步收發器(UART)串口傳輸指令。這樣就實現了一個更耐用、更強大的控制器,創建了更多通用I/O端口,可進行高速模數轉換,并且具備使用LabVIEW和ANSI C程序對機器人進行編程的能力。
采用帶有ARM單片機的iRobot Create平臺,同學們使用嵌入式軟件技術將機器人自主引導到一座小山頂上,并在此過程中避開障礙物。同學們使用的硬件包括iRobot Create、Luminary Micro ARM Cortex M3、一個加速度計以及一個用于診斷和通信的藍牙芯片。最初同學們使用ANSI C對Luminary進行編程,以實現有限狀態機、中斷以及在不使用操作系統的情況下與傳感器和執行機構的連接。在使用ANSI C開發出一個可以工作的控制器之后,同學們開始使用LabVIEW在桌面仿真中對他們的控制器進行綜合處理,然后,采用專用于ARM單片機的LabVIEW嵌入式模塊,使用一個數據流、狀態圖模型與實時操作系統一起生成的控制程序對機器人進行編程。
在上述過程中,同學們都可以學習到建模、靜態分析、代碼執行路徑、程序可達性分析及實時系統性能約束的重要性。在iRobot Create平臺上實施實驗室實踐項目使得同學們體會到了諸多挑戰,如通過傳感器、執行機構以及專用于ARM單片機的LabVIEW嵌入式模塊提供的實時操作系統與真實世界進行交流等。
采用專用于ARM 單片機的LabVIEW嵌入式模塊帶來的優勢
模型和系統實施之間的聯系是加州大學伯克利分校課程的主旨之一。與傳統的ANSI C比較,采用LabVIEW圖形化程序設計語言可以更容易地對并發和定時進行分析和推理。通過將LabVIEW描述與ANSI C實施進行比較,同學們能夠對嵌入式軟件的原理產生更深的理解。通過使用LabVIEW,同學們可以更快地開發復雜的功能,從而使整個過程更有滿足感,也更有教育意義。
通過充分利用LabVIEW嵌入式圖形化系統設計工具,同學們也對代碼生成這一嵌入式行業不斷發展的技術有了更深的體會。擁有了在桌面電腦和實時嵌入式平臺上執行LabVIEW程序的能力,同學們就可以在為嵌入式目標生成代碼之前,先對邏輯執行的正確性進行驗證。在LabVIEW前面板有一個實時更新的圖形界面,強化了調試環境,使同學們可以迅速得到結果。
最終項目
專用于ARM單片機的LabVIEW嵌入式模塊提高了效率,同學們得以在更少的時間里學習和理解更多的軟件開發概念。作為課程的最后一個部分,同學們需要在10周時間內開發一個自選項目。選擇LabVIEW和ARM硬件的同學們開發出來了智能懸停直升機、密集跟隨的車輛隊列以及連接到許多傳感器以實現路徑尋找和地圖繪制的智能車輛機器人。由于使用LabVIEW,同學們得以在各種嵌入式應用中以非常快速的速度完成軟件的設計、模擬及部署。