999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

智能專業(yè)嵌入式系統(tǒng)教學內(nèi)容思考與實踐

2017-11-06 09:45:36付東翔李菲菲傅迎華胡春燕尹鐘劉麗
計算機教育 2017年10期

付東翔 李菲菲 傅迎華 胡春燕 尹鐘 劉麗

摘 要:為了使智能本科專業(yè)的嵌入式系統(tǒng)教學能夠與主流的機器人操作系統(tǒng)ROS緊密結合,適應當前機器人技術發(fā)展的最新應用,突出本專業(yè)嵌入式系統(tǒng)課程的專業(yè)特色,介紹課程的理論教學內(nèi)容選擇、實驗內(nèi)容及安排,說明本課程對后續(xù)本專業(yè)其他課程、課程設計等的支撐作用,強調(diào)對大學生教學實踐比賽的有利推動作用。

關鍵詞:智能科學與技術;嵌入式系統(tǒng);課程設計

0 引 言

智能科學與技術本科專業(yè)培養(yǎng)工作和內(nèi)容是人工智能、機器人、計算機等交叉學科內(nèi)容的教學。專業(yè)內(nèi)容涉及機器人技術、各類智能技術與系統(tǒng)、新一代的人機系統(tǒng)技術等。嵌入式系統(tǒng)是計算機、自動化、電氣等本科專業(yè)的核心專業(yè)課程之一,其內(nèi)容是在微機原理、單片機技術和C語言程序設計等課程基礎上更高層次的專業(yè)知識[1-4]。

當前信息技術的飛速發(fā)展,尤其工業(yè)機器人技術不斷滲透、應用到各個生產(chǎn)和社會生活領域。面對機器人技術的發(fā)展和應用,智能專業(yè)的培養(yǎng)計劃和課程內(nèi)容應該包括和不斷擴大機器人相關領域的知識。目前與嵌入式系統(tǒng)課程有關的機器人領域的主流關鍵技術之一是ROS機器人操作系統(tǒng)[5]。ROS是開源、基于Ubuntu系統(tǒng)的機器人操作系統(tǒng),提供類似操作系統(tǒng)所提供的功能,包含硬件抽象描述、底層驅(qū)動程序管理、共用功能的執(zhí)行、程序間的消息傳遞、程序發(fā)行包管理等[6]?,F(xiàn)在越來越多的機器人廠商嘗試使用ROS,包括占據(jù)最多工業(yè)市場份額的機器人四大家族和各種流行的研究型機器人。

1 教學內(nèi)容

1.1 目標定位

隨著目前機器人技術的不斷發(fā)展和應用,本課程的目標定位:熟悉ARM Cortex-A內(nèi)核處理器的硬件結構和功能,熟悉和掌握ROS機器人操作系統(tǒng)的體系結構、任務間通信機制、功能包設計方法;強化學生在ROS系統(tǒng)下的應用設計能力,為后續(xù)專業(yè)課程教學實踐奠定工作基礎。

1.2 內(nèi)容調(diào)整

原有課程內(nèi)容:①硬件系統(tǒng),STM32的32位的ARM Cortex-M3內(nèi)核的控制器;②嵌入式操作系統(tǒng),?C/OS-II操作系統(tǒng)。

現(xiàn)有課程內(nèi)容:①硬件系統(tǒng),TI的32位的ARM Cortex-A8處理器;②嵌入式操作系統(tǒng),基于Ubuntu的ROS操作系統(tǒng)。

基于以上內(nèi)容,教學理論和實驗內(nèi)容調(diào)整前后對比見表1、表2。

2 理論教學與實驗教學

嵌入式系統(tǒng)教學是在理論基礎上強調(diào)實踐性。理論教學分為兩大部分:①ARM Cortex-A8內(nèi)核處理器硬件結構和功能,硬件設備樹Device Tree機制;②ROS操作系統(tǒng)原理和運行架構;節(jié)點、消息、主題、服務等基本概念;節(jié)點、主題以及消息等相互之間的關系、節(jié)點之間消息傳遞機制。實驗教學是理論教學的實踐,讓學生認識和動手實踐理論的內(nèi)容。

2.1 理論教學內(nèi)容

(1)處理器硬件內(nèi)容:以ARM Cortex-A8內(nèi)核處理器為重點,以TI(德州儀器)公司Sitara Processors系列中的AM3359為對象,對Cortex-A8內(nèi)核處理器的硬件片內(nèi)資源和功能予以介紹;Ubuntu操作系統(tǒng)下的硬件操作和驅(qū)動基于設備樹文件實現(xiàn)。

以設備樹Device Tree機制及其規(guī)范為主要內(nèi)容展開。

①設備樹(Device Tree)基本概念及作用:設備樹是一種描述硬件資源的數(shù)據(jù)結構,作用是將硬件外設與相應的驅(qū)動程序直接進行綁定,系統(tǒng)啟動時加載設備樹文件并配置各種硬件資源,通過bootloader(啟動程序)將硬件資源傳給操作系統(tǒng)內(nèi)核,使得內(nèi)核和硬件資源描述相對獨立,其基本數(shù)據(jù)結構如下:

{ #address-cells = <1>; // 子節(jié)點中reg屬性中address值;

#size-cells = <1>; // 子節(jié)點中reg屬性中size值;

chosen { }; // 描述由系統(tǒng)指定的runtime parameter ;

aliases { }; // 定義別名;

memory { device_type = "memory"; reg = <0 0>; }; // 設備類型,起始地址和大??;

};

②設備樹的組成和使用:設備樹包含DTC(device tree compiler),DTS(device tree source)和DTB(device tree blob)。

DTS文件:是一種ASCII文本對Device Tree的描述,放置在ROS內(nèi)核的/arch/arm/boot/dts目錄下,一個DTS文件對應一個ARM的硬件資源。

DTSI文件:硬件系統(tǒng)中每個子系統(tǒng)都有一個DTS文件。這些文件會有許多共同部分,為減少代碼的冗余,設備樹將這些共同部分保存在DTSI文件中,供不同的DTS使用。

③設備樹中DTS文件的基本語法與舉例:根據(jù)設備樹的基本概念,給出TI的AM3359處理器的ADC外設的DTS文件格式,AM3359的ADC部分有8個通道,其控制器寄存器ADC_TSC_SS, 地址為 0x44E0_D000,部分文件代碼如下:

#address-cells = <1>;

#size-cells = <1>;

tscadc {

compatible = "ti,ti-tscadc";

reg = <0x44e0d000 0x1000>;

interrupt-parent = <&intc>;

interrupts = <16>;

ti,hwmods = "adc_tsc";

status = "okay";endprint

adc {

ti,adc-channels = <0 1 2 3 4 5 6 7>;

};

};

通過上述ADC部分DTS文件舉例說明硬件外設在文件中的描述,對其他GPIO、PWM、定時器等不同系統(tǒng)外設,其DTS文件形式類同。每個DTS文件共同的部分代碼存放于DTSI文件中。通過這種舉例,強調(diào)DT設備樹機制的優(yōu)點:操作系統(tǒng)內(nèi)核中不再充斥著與硬件有關的代碼,操作系統(tǒng)因此瘦身和精簡,操作系統(tǒng)與硬件無關性得到實現(xiàn)。

(2)操作系統(tǒng)主要內(nèi)容:ROS系統(tǒng)框架及其內(nèi)部運行機制, ROS系統(tǒng)下任務之間的通信機制和概念:節(jié)點(node)、消息(message)、主題(topic)、服務(service),它們之間消息訂閱和發(fā)布如圖1所示。

①節(jié)點。節(jié)點就是執(zhí)行運算任務的進程,一個系統(tǒng)是由很多節(jié)點組成的,節(jié)點也被稱之為“軟件模塊”。

② 消息。節(jié)點之間是通過傳送消息進行通訊的。每一個消息都是一個嚴格的數(shù)據(jù)結構,不但支持標準的數(shù)據(jù)類型如整型、浮點型、布爾型等,也支持數(shù)組類型。消息可以包含任意的嵌套結構和數(shù)組,類似于C語言的結構structs。

③主題。消息以一種發(fā)布(publish)/ 訂閱(subscribe)的方式傳遞。一個節(jié)點可以在一個給定的主題中發(fā)布消息,一個節(jié)點對某個主題關注與訂閱特定類型的數(shù)據(jù),可能同時有多個節(jié)點發(fā)布或者訂閱同一個主題的消息。如圖1所示,Master為節(jié)點管理器。

④服務?;谥黝}(topic)的發(fā)布/訂閱模型的廣播通訊方式范圍過大,為簡化節(jié)點間的通信,在ROS中,用一個字符串和一對嚴格規(guī)范的消息定義:一個用于請求,一個用于回應。類似于 web服務器是由URIs定義的,同時帶有完整定義類型的請求和回復文檔,稱為一個服務,如圖1所示。

2.2 實驗教學內(nèi)容

將理論內(nèi)容以實踐形式呈現(xiàn)給學生,嵌入式系統(tǒng)課程實驗中Cortex-A內(nèi)核的MPU(處理器)與原來的MUC(控制器)級硬件系統(tǒng)實驗不同在于:①片內(nèi)外設GPIO、A/D等硬件控制通過DTS設備樹文件配置和驅(qū)動,而Cortex-M內(nèi)核控制器硬件資源相對簡單,硬件功能的配置通過控制庫函數(shù)調(diào)用實現(xiàn);②軟件系統(tǒng):ROS系統(tǒng)的原理和程序框架;功能包開發(fā)步驟;節(jié)點、消息、服務等通信機制與?C/OS-II系統(tǒng)差別很大。

因此,本課程實驗基于上述內(nèi)容展開,分為3部分內(nèi)容。

①ROS系統(tǒng)程序框架與功能包設計實驗:程序框架:在ROS中,所有的軟件都是以ROS包或功能包形式存在的,ROS包是用于實現(xiàn)特定功能的相關文件的集合,包括可執(zhí)行文件和其他支持文件;實驗內(nèi)容:功能包的創(chuàng)建、編輯和編譯運行。該實驗讓學生熟悉ROS功能包的開發(fā)環(huán)境和過程。

②設備樹(Device Tree)文件創(chuàng)建和程序運行實驗:實驗主要包括GPIO、ADC等外設控制的DTS文件、DTSI文件的編寫和編譯;通過上位機終端發(fā)送命令加載DTBO文件??刂芁ED、ADC等外設的工作。通過該實驗使得學生能夠認識和掌握硬件外設的DTS驅(qū)動文件格式和編寫。

③ROS系統(tǒng)下節(jié)點間通信實驗:利用ROS系統(tǒng)下的“海龜仿真運動”程序包(turtlesim)進行任務節(jié)點通信和運行實驗。該實驗通過創(chuàng)建兩個節(jié)點,一個節(jié)點控制“海龜”的運動,另外一個節(jié)點捕捉鍵盤事件,同時發(fā)送命令消息。通過該實驗,讓學生認識和理解ROS節(jié)點之間消息傳遞的通信機制。

3 本課程與其他智能專業(yè)課程、課程設計與本科創(chuàng)新實踐

基于ROS的嵌入式系統(tǒng)教學內(nèi)容為本專業(yè)其他智能專業(yè)課程如自然語言理解、智能檢測技術與系統(tǒng)、自主移動機器人技術、專業(yè)課程設計等奠定了較好的硬件和軟件基礎。

首先,在嵌入式系統(tǒng)內(nèi)容的學習中,學生已經(jīng)能夠熟悉ARM Cortex-A8處理器的硬件功能和結構,以及ROS系統(tǒng)下任務以節(jié)點形式運行、節(jié)點間的通信機制和功能包的開發(fā)。為后續(xù)課程和實踐比賽奠定了一個軟硬件實驗共享平臺:自然語言處理課程上的語言包、自主移動機器人技術的定位算法、智能檢測技術與系統(tǒng)的傳感器硬件檢測與軟件數(shù)據(jù)處理等都能夠在這個平臺上實驗和運行;學生在專業(yè)課程設計中可以設計、集成一個機器人系統(tǒng)功能:以本課程的實驗環(huán)境,實現(xiàn)傳感器檢測、語音處理、自主定位等機器人系統(tǒng)常用的功能。

其次,通過本課程內(nèi)容的學習,為學生申請和完成本校和上海市的大學生創(chuàng)新項目奠定了工作基礎。本專業(yè)學生近年來連續(xù)獲得多項上海市大學生創(chuàng)新項目和我校本科創(chuàng)新項目,如2017年上海市大學生創(chuàng)新項目“基于Ubuntu系統(tǒng)的機器人仿真平臺設計”(SH2017035)等。

最后,為本專業(yè)學生參加各類全國大學生智能大賽奠定了較好的硬件、軟件基礎,如“華為杯全國大學生智能大賽”“華為杯電子設計大賽”等。同時也將為本專業(yè)學生參加此類比賽培育眾多參賽隊員。圖2(a)(b)為硬件實驗設備。

4 結 語

面向應用的智能專業(yè)嵌入式系統(tǒng)教學以ARM Cortex-A8內(nèi)核的處理器為硬件對象,以ROS操作系統(tǒng)為軟件平臺,圍繞著處理器的硬件設備樹結構及其語法格式,ROS系統(tǒng)基于節(jié)點通信的程序運行機制等兩個方面展開內(nèi)容,使得學生能夠理解面向機器人操作系統(tǒng)的硬件組成和功能原理,能夠充分理解、熟悉和掌握ROS機器人操作系統(tǒng)框架和程序運行機制。

課程內(nèi)容安排為本專業(yè)其他相關課程、后續(xù)課程設計、創(chuàng)新實踐和大學生教學實踐比賽奠定一個開發(fā)、實驗共享平臺,ROS系統(tǒng)的開放性能夠讓學生開發(fā)自己的算法包,如自然語言理解、智能信息處理、機器人移動技術等課程的算法可以在這個平臺上調(diào)試和運行驗證,使得嵌入式系統(tǒng)該門課程更好地支撐后續(xù)專業(yè)課程算法實驗,進而為專業(yè)課程設計奠定了硬件、軟件基礎。

在目前機器人技術應用逐漸進入工業(yè)自動化領域和各個生活領域并且已經(jīng)開始取代一些人類重復性工作的大趨勢下,通過對ROS系統(tǒng)的熟悉和掌握,將使得智能科學與技術的專業(yè)學生專業(yè)應用能力更具有針對性和專業(yè)性。

參考文獻:

[1] 孫紅, 蔣念平, 陳瑋, 等. 智能科學與技術專業(yè)理論教學與工程實踐的融合[D]. 上海:上海理工大學, 2012.

[2] 卡莫爾(印度). Embedded Systems: Architecture, Programming and Design[M].賈建斌, 李化, 譯. 北京: 清華大學出版社, 2010.

[3] 張俊, 陳飛, 馮士剛. 大連海事大學“智能科學與技術”本科專業(yè)建設實踐[J]. 計算機教育, 2012(18): 22-27.

[4] 王萬森. 適應智能化應用發(fā)展趨勢, 培養(yǎng)創(chuàng)新型智能科技人才[J]. 計算機教育, 2013(19): 37-39.

[5] 奧凱恩·杰森(美)機器人操作系統(tǒng)淺析[M]. 肖軍浩, 譯. 北京: 國防工業(yè)出版社, 2015.

[6] 恩里克·費爾南德斯(西). ROS機器人程序設計(原書第二版)[M]. 北京: 機械工業(yè)出版社, 2016.

[7] 馬麗梅. Ubuntu Linux操作系統(tǒng)與實驗教程[M]. 北京: 清華大學出版社, 2014.

(編輯:郭田珍)endprint

主站蜘蛛池模板: 久草青青在线视频| 精品视频91| 超清无码一区二区三区| 伊人天堂网| 色欲色欲久久综合网| 精品无码日韩国产不卡av| 九色91在线视频| 成人字幕网视频在线观看| 五月天综合婷婷| 国产成人高清在线精品| 久久久久久国产精品mv| 国产精品lululu在线观看| 一级不卡毛片| 欧美色99| 精品综合久久久久久97超人该| 中文字幕 91| 中文字幕在线观| 欧美全免费aaaaaa特黄在线| 亚洲成人免费在线| 亚洲欧美一区在线| 久久99久久无码毛片一区二区 | 欧洲亚洲一区| 午夜精品国产自在| 亚洲一区二区日韩欧美gif| 欧美在线一二区| 国产96在线 | 青青久视频| 免费视频在线2021入口| 国产精品无码影视久久久久久久| 亚洲二三区| 亚洲美女AV免费一区| 亚洲精品手机在线| 国产95在线 | 国产真实自在自线免费精品| 在线永久免费观看的毛片| 国产网站免费观看| 亚洲天堂2014| 一级不卡毛片| 超碰aⅴ人人做人人爽欧美| 亚洲欧美天堂网| 国产精品污视频| 国产打屁股免费区网站| 欧美三级自拍| 性网站在线观看| 国产成人精彩在线视频50| 一区二区三区四区精品视频| 日韩福利在线观看| 黄色a一级视频| 亚洲天堂免费在线视频| 国产精品99久久久久久董美香| 国产无码高清视频不卡| 色丁丁毛片在线观看| 热99精品视频| 亚洲无码一区在线观看| 国产亚洲精品在天天在线麻豆| 97超碰精品成人国产| 久久黄色小视频| 亚洲精品无码不卡在线播放| 亚洲精品国产自在现线最新| 国产亚洲男人的天堂在线观看| 日韩精品久久无码中文字幕色欲| 国产自在自线午夜精品视频| 国产精品无码久久久久久| 国产成+人+综合+亚洲欧美| 欧美色图久久| 中文精品久久久久国产网址| 色综合中文综合网| 乱码国产乱码精品精在线播放| 国产欧美日韩va另类在线播放| 国产激爽爽爽大片在线观看| 精品视频福利| 性色一区| 欧美区一区二区三| 四虎亚洲国产成人久久精品| 69视频国产| 一级全免费视频播放| 丁香婷婷综合激情| 亚洲欧美一区在线| 欧美综合成人| 国产亚洲精品yxsp| 国产v欧美v日韩v综合精品| 免费视频在线2021入口|