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

ROS 無人駕駛創新實驗課程研究與教學實踐

2020-09-29 05:49:46葛亞明胡一博雷喬治陳浩耀
實驗技術與管理 2020年6期
關鍵詞:程序課程學生

葛亞明,胡一博,雷喬治,陳浩耀

(1.哈爾濱工業大學(深圳) 實驗與創新實踐教育中心,廣東 深圳 518055;2.哈爾濱工業大學(深圳) 機電工程與自動化學院,廣東 深圳 518055)

智能網聯汽車是汽車發展的主要方向,無人駕駛技術是智能網聯汽車的重要組成部分,是體現汽車產業核心競爭能力的重要指標[1-5]。本創新實驗課從當前無人駕駛技術研究的熱點、難點中提煉教學內容,讓學生了解無人駕駛技術國內外發展現狀,全面掌握無人駕駛技術的整體技術框架和技術要點,包括攝像頭、激光雷達、陀螺儀等傳感器在無人駕駛技術中的使用方法與數據處理方法,無人駕駛技術中的車輛控制技術和系統決策機制,以及通信、感知、控制、導航等技術的交叉融合[6-10]等。這不僅能讓學生初步掌握無人駕駛技術的相關理論和實現方法,還能提高學生的研究興趣,培養動手能力和創新能力,為學生將來的進一步發展和就業奠定基礎。該課程旨在提升學生對人工智能、機械、檢測、控制等交叉學科知識的綜合運用能力,同時給學生提供一個可以自由創作、自由發揮,且不失趣味的實驗平臺。課程采用團隊合作方式,不同專業、不同年級學生的搭配與合作,不僅能促進各自專業知識的互補式學習,更有可能迸發出意想不到的新思路和新創意。

基于以上課程建設理念,本文從無人駕駛系統的硬件設計、軟件設計、教學實踐效果等方面進行詳細闡述。

1 無人駕駛系統的硬件設計

圖1 為無人駕駛車設計雛形。希望學生理解系統的硬件架構,以及無人駕駛車所使用的主要傳感器。軟件選擇在ROS(robot operating system)下開發,以便能方便地處理各類傳感器數據,能夠輕松地使用不同語言及不同功能的代碼,并快速調用各節點來實現所需的功能。該車不僅能完成無人駕駛技術中的一些主要功能,還能實現室內環境的同步定位與地圖構建(SLAM),以及自主導航等功能。在圖1 的雛形設計基礎上,學生可以自由設計底盤硬件結構,利用各類傳感器實現自己的無人駕駛車設計及控制。

圖1 無人駕駛車設計雛形

無人駕駛系統主要由電腦、STM32、雙目攝像頭、激光雷達、陀螺儀等組成,如圖2 所示。電腦作為上位機總控單元,可以完成系統的導航、避障、通信等功能,并作為顯示及操作機構,完成程序的修改與裝載、導航的顯示、航跡路徑規劃等功能;路由器完成與其他機器人的通信,每臺車都有自己的局域網Wi-Fi,實驗時需要選擇好對應的車;STM32 作為系統的底層控制,完成采集陀螺儀、超聲波、左右輪編碼器等傳感器數據,以及控制電機轉動的功能;陀螺儀用于測量車轉動的角度;超聲波主要用于檢測玻璃等透明障礙物。

圖2 系統硬件架構框圖

2 基于ROS 的軟件系統設計

本實驗使用Linux 16.04 操作系統,ROS 是連接該操作系統和開發者所寫程序的機器人操作系統,它提供類似于操作系統的功能,如硬件抽象、通信架構、軟件分發、包管理等。ROS 下可以同時運行多個節點,每個節點可以單獨設計,ROS 將提供一個框架來管理這些節點,作為他們之間通信的橋梁[11-12]。

軟件系統的構建主要包括STM32 控制無人車移動、車道線識別、紅綠燈識別、交通避障等。此外,還給學生提出了以下拓展研究點:車輛自主導航,車與車之間的控制決策、通信及復雜環境識別等。以命名為dashgo_ws 的ROS 工程為例,系統軟件的主要結構和功能如圖3 所示。

圖3 ROS 工程的主要結構和功能

2.1 STM32 控制與通信

STM32 模塊與電腦是通過串口在規定的通信協議下進行通信的。STM32 模塊將采集的陀螺儀、超聲波、左右輪電機編碼器等傳感器數據傳輸給電腦,并且接收電腦傳輸過來的左右輪電機速度數據,控制電機轉動。在dashgo_ws 工程中,dashgo_driver 包負責與STM32 通信并控制無人車移動,因此需要先啟動dashgo_driver 驅動,然后再啟動鍵盤控制程序,來控制車的移動。通信交互過程如圖4 所示。鍵盤控制節點會向速度主題發布ROS 消息,包括機器人中心的線速度和角速度,驅動節點監聽到/cmd_vel 中有新消息后,將其轉成左右輪電機速度,并下發給STM32,從而控制無人車移動。

圖4 控制無人車移動的通信圖

2.2 車道線識別

使用ZED 攝像頭對交通環境中的車道線進行識別,將圖像原來的RGB 圖像空間轉換為HSV 圖像空間。如果不進行顏色識別,可以采用HSL 通道。然后再將H 通道進行二值化處理,對車道線截面進行分析,統計出各個截面中點的橫坐標,取其中中點數目最多的橫坐標作為車道線位置,進行PID 調節。圖5 為編寫lineonly.cpp 程序的流程。

圖5 對車道線圖像處理過程框圖

2.3 紅綠燈識別

使用深度攝像頭識別紅綠燈。由于紅燈和綠燈的特征差別較小,直接進行紅綠燈識別會存在較大誤差。為了提高紅綠燈識別的效果與效率,將紅綠燈識別分為紅綠燈位置識別和紅綠燈顏色識別兩個部分。

實驗采用AdaBoost算法進行紅綠燈的位置識別[13],共有兩個步驟。第一,初始化訓練數據的權值分布。假設有n 個樣本數據,則初始化所有樣本權值為1/n。第二,訓練所有的弱分類器。在具體訓練過程中,如果某個樣本已經被準確地分類,那么在構造下一個訓練集時,它的權重就被降低;相反,如果某個樣本點沒有被準確地分類,那么它的權重就得到提高,同時得到弱分類器對應的話語權。更新權值后的樣本集被用于訓練下一個分類器,整個訓練過程如此迭代地進行下去。

依據圖片和圖片中紅綠燈的位置截取出紅綠燈,目的是去除圖片中的背景;再將紅綠燈圖片轉換到HSV 空間,并依據一定的范圍進行二值化;然后對包含紅綠區域的紅綠燈的二值圖像進行輪廓提取,并確定輪廓大小,根據輪廓大小及其位置,確定紅綠燈的顏色。為了提高顏色識別準確率,需要確定連續多幀圖像中紅綠燈的顏色,當連續多幀圖像的顏色大于一定閾值則認為是顏色判斷成功,并輸出結果。

將訓練后的樣本文件拷貝到指定目錄下,并在紅綠燈識別代碼trafficlight.cpp 中修改存放樣本的實際路徑,即可測試紅綠燈的識別程序。

2.4 交通避障

激光雷達用于測試周圍環境,判斷相對于車的哪個角度及多遠距離處有障礙物。首先要對激光雷達數據進行處理,選取一個扇形區域,設定最小和最大弧度為-1.05 rad 和1.05 rad,檢測的最小和最大距離為0.1~1.8 m,該設定值可以根據環境在程序中調整。然后訂閱雷達消息,對每一個角度激光的返回距離值進行閾值判斷,當滿足條件的激光數達到一定閾值時,則認定為有障礙物。將檢測到障礙物的結果話題發布到車道識別程序。如果檢測到障礙物,發布讓車速度為零的話題,反之,使車按正常情況行駛。按照以上方法編寫避障程序obscontrol.cpp,待后續調用。

3 教學實踐與問題分析

3.1 教學實踐

基于Ubuntu16.04 系統,并以ROS 機器人操作系統作為上位機,在ROS 下很容易將車道線識別、紅綠燈識別、避障等程序節點調用起來,對車進行控制。學生基于給定的車和DEMO 程序,通過調試來實現運行效果。對于在調試過程中出現的各種問題,要逐一解決。解決問題的過程也是熟悉和掌握系統軟硬件架構的過程。

圖1 的初級版無人駕駛車,是兩輪差速結構底盤,運行速度受到一定限制,靈活性也不高。在此基礎上,學生自行設計了如圖6 的全向輪結構底盤。

該車尺寸為400mm×400mm,雙層結構,下層放置電池、STM32 等,上層為懸掛避震器、固連分流板、電調等,以便最大限度地利用空間。上板上面可搭載攝像頭、激光雷達等傳感器,以實現基于SLAM 的無人駕駛。

圖6 全向輪底盤的無人駕駛車實物圖

在實現車道線識別的基礎上,提出車輛變道和急轉彎控制兩個拓展研究點,讓學生自行研究。車輛變道的實現,是在車輛行駛到一定位置時,識別標志物,并結合定時函數讓車在一段時間內重復這一動作(如賦予一定的角速度),從而使車偏離某一軌道,進入另一軌道,實現變道。在急轉彎(特別是尖角)時,由于霍夫變換求取出的斜率極不穩定,所以減小了攝像頭讀取范圍,減小了遇到尖角時斜率不穩定的時間,同時在進、出急轉彎區域貼兩個紅色標志物,讓車進入急轉彎前識別到第一個標志物時降低速度,走完急轉彎并識別到第二個標志物時恢復速度,提高急轉彎的穩定性。

3.2 實踐考核

在課程實踐中,鼓勵學生提出改進無人駕駛技術的想法,因此在課程考核中,拓展研究點的分值權重最高。能夠在原有設計基礎上,進行一定的創新或者是技術改進,都可獲得加分。考核標準中列出了很多加分點,大大激發了學生的研究熱情。

學生的研究態度、表現、解決問題的能力等也是考核的內容。課程結課時,采取現場實際調試和答辯的方式記錄分值,并與以上各個環節的分值一起作為最終評定成績。

3.3 實踐教學存在問題及改進

在教學實施過程中,學生的自主學習能力出現了一些層次上的分級,主要體現在應用新知識、新方法的快速性和靈活性以及尋找解決問題的途徑上,在動手設計和軟件程序的編寫上也參差不齊。

針對這些問題,首先應建設完善的軟資源,如實驗指導書、相關的參考書等。在指導書中,將學生遇到的疑難問題進行匯總,給出相應的解決方法,并對所涉及的知識點做相應的講解。第二,應開發模塊化、功能化的程序,以功能性實現為主對程序進行注釋,用思維導圖方式引導學生編寫、調試、豐富和完善代碼。第三,在硬件結構設計上,應借鑒已有的機械設計經驗,基于成熟的機械結構加以改善,制作符合本課程要求的機械結構。

4 結語

基于ROS 構建的無人駕駛創新實驗課,是本科教學中的一門新的實踐課程,適于在學習之余有能力進行拓展研究的學生。在課程教學中,教師的作用是構建課程框架,引導學生正確的研究方向,對學生研究中遇到的問題給予解決思路,鼓勵學生使用新的思路、新的技術去實現研究任務。該選課不限制學生專業,鼓勵通過各專業學生的合作,在機械結構設計、程序代碼優化、視覺數據處理、傳感器應用、通信方式等方面提出各種各樣有意義的新穎想法。這樣的學科交叉與互補研究活動,契合了“新工科”“雙一流”高校建設的理念。

猜你喜歡
程序課程學生
數字圖像處理課程混合式教學改革與探索
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
為什么要學習HAA課程?
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
趕不走的學生
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
學生寫話
學生寫的話
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 亚洲成人精品在线| 国产免费黄| 粗大猛烈进出高潮视频无码| 3p叠罗汉国产精品久久| 精品国产网| 久久99热66这里只有精品一| 国产拍在线| 国产a在视频线精品视频下载| 怡红院美国分院一区二区| 2020精品极品国产色在线观看| 国产精品美乳| 中文字幕一区二区人妻电影| 欧美中文字幕一区| 欧美日韩中文国产va另类| 国产精品久久久久鬼色| 欧亚日韩Av| 尤物国产在线| 久久久久免费看成人影片| 国产91精品调教在线播放| 亚洲综合网在线观看| 国产综合另类小说色区色噜噜| 久久久久久尹人网香蕉| 欧美精品亚洲日韩a| 欧美天堂在线| 国产免费羞羞视频| 中文成人在线| 久久99国产精品成人欧美| h视频在线播放| 波多野结衣视频网站| lhav亚洲精品| 国产精品久久久久久搜索| 伊人久久大线影院首页| 在线观看网站国产| a毛片免费看| 玩两个丰满老熟女久久网| 操美女免费网站| 911亚洲精品| 呦系列视频一区二区三区| 国产成人精品优优av| 日韩亚洲高清一区二区| 国产福利小视频在线播放观看| 久久久久人妻一区精品色奶水 | 国产一区二区三区精品久久呦| 久久久久国产精品免费免费不卡| 亚洲最大看欧美片网站地址| 国产一区在线视频观看| 国产在线拍偷自揄观看视频网站| 亚洲综合日韩精品| 在线国产91| 亚洲天堂成人在线观看| 五月婷婷综合网| 波多野结衣无码中文字幕在线观看一区二区| 一级毛片视频免费| 澳门av无码| 99视频在线看| 日韩天堂视频| 欧美一级在线看| 色综合中文字幕| 午夜福利免费视频| jizz国产视频| 国产精品免费露脸视频| 日韩精品资源| 国产丝袜无码精品| 欧美三级视频网站| 2020久久国产综合精品swag| a级毛片在线免费| 久久这里只有精品2| 亚洲中文在线看视频一区| 伊人久久久久久久久久| 久久精品日日躁夜夜躁欧美| 久久国产精品电影| 亚洲成人福利网站| 久久亚洲美女精品国产精品| 亚洲熟女偷拍| 国产91小视频在线观看| 中文字幕av一区二区三区欲色| 精品少妇人妻无码久久| 久久频这里精品99香蕉久网址| 日本国产精品| www.精品国产| 中文字幕资源站| 久草国产在线观看|