摘要:智能機器人課程是智能科學與技術這一本科專業(yè)的核心專業(yè)課之一。文章從開展機器人仿真實驗教學的角度出發(fā),探討如何利用仿真實驗來幫助學生加深對智能機器人運動機制、控制系統(tǒng)結構以及對傳感、控制與智能決策方法的理解,提高其創(chuàng)新能力。這在本科生早期快速理解智能機器人基本原理方面,起到卓有成效的推動作用。
關鍵詞:智能機器人;實驗教學;仿真實驗
智能科學技術的學科內(nèi)容可以劃分為智能科學、智能技術、智能工程3個層次[1]。智能機器人是貫穿這3個層次的一種典型智能系統(tǒng),是智能科學與技術專業(yè)學習與設計的重要對象。我校智能科學與技術專業(yè)將智能機器人設為重要的專業(yè)課之一,融合了該專業(yè)教學過程中的多門專業(yè)基礎課的知識。對該課程知識的理解與掌握必須實驗教學的支撐,這是由于機器人本身是一種復雜的機電系統(tǒng),而“智能”則是通過運行于嵌入式控制器或嵌入式處理器上的軟件來實現(xiàn)的,只有在實踐中才能真正掌握智能機器人的基本原理、信息處理以及控制與決策方法。本文將從開展機器人仿真實驗的角度,探索開展智能機器人課程實驗教學的新思路與新方法。
1智能機器人課程簡介
在我校智能科學與技術專業(yè)的本科教學培養(yǎng)方案中,智能機器人是該專業(yè)高年級學生的一門重要專業(yè)課程,設置在第七學期。
智能機器人主要是指以生產(chǎn)、生活中的實際機械設備為載體,以計算機和嵌入式處理器/控制器為信息處理單元,能夠體現(xiàn)一定自主性和智能特征的機器人系統(tǒng)。智能機器人涉及到剛體動力學、反饋控制、傳感器與信號處理、執(zhí)行器與電力電子、計算機接口技術以及智能信息處理和智能控制等多領域知識,是多學科的綜合。機器人的種類眾多,包括機械臂、移動機器人、類人機器人等不同形態(tài)的機器人。由于課程學時有限,面面俱到是不現(xiàn)實的,因此我專業(yè)的智能機器人課程以移動機器人作為重點講授的對象。
課程以Siegwart和Nourbakhsh所著的《Introduction to Autonomous Mobile Robots》一書的中文版[2]為教材,以蔡自興教授的《機器人學基礎》[3]為主要參考書,講授內(nèi)容以自主移動機器人控制系統(tǒng)為框架,包括剛體運動學、傳感器與測量、地圖與定位、執(zhí)行器與運動控制、路徑規(guī)劃與導航。其中,剛體運動學部分主要使學生掌握輪式機器人的具有非完整約束的運動學模型;傳感器與測量、執(zhí)行器與運動控制部分分別使學生了解移動機器人的各種傳感器(里程計、超聲波傳感器、激光測距儀和視覺傳感器)的測量原理和直流電機的PWM閉環(huán)調(diào)速機制;而地圖與定位部分主要使學生掌握傳感器融合的基本原理以及如何解決位姿估計問題;路徑規(guī)劃與導航部分主要使學生掌握局部路徑規(guī)劃(例如,人工勢能場方法)以及全局路徑規(guī)劃(包括軌跡生成與跟蹤控制)兩種不同的導航方式。
課程的最終目的是讓學生理解移動機器人的智能是如何體現(xiàn)的,并且讓學生掌握移動機器人的系統(tǒng)集成技術,使其具備設計定位與導航算法并編程實現(xiàn)的能力。
2仿真實驗教學的必要性
由于智能機器人作為一種復雜的機電系統(tǒng),集成了測量、控制、計算和通信等技術,因而智能機器人課程具有多學科交叉的特征,這對學生的綜合能力提出挑戰(zhàn),為學生真正理解智能機器人的工作原理帶來困難。學生必須通過實驗,親自動手組建移動機器人并為其編程,才能將課堂教學傳授的理論知識融會貫通,并做出一定程度上的創(chuàng)新性工作。即創(chuàng)新教育必須建立在動手實踐的基礎上。
工欲善其事,必先利其器。仿真實驗教學在智能機器人課程實驗教學中是關鍵的一環(huán)。雖然無法替代在真實機器人上的實驗,但卻是必要的。這是因為:智能機器人控制系統(tǒng)的復雜性,決定了直接在真實機器人上設計、實現(xiàn)一個可靠的控制系統(tǒng)軟件不是簡單易行的工作,而仿真實驗能夠為學生學習機器人的控制算法設計節(jié)省時間。
運行一次實驗所需成本較高,而且要擔負硬件隨時可能損壞的風險。仿真實驗能夠減小設計算法初期的軟件不成熟所帶來的硬件損壞的幾率。
移動機器人具有活動空間大的特點,改變實驗場地較困難,而這在實際操作中是比較困難而且耗費精力的事情。通過仿真實驗能夠靈活改變智能機器人的工作空間。
總之,教師可通過仿真實驗教學,形象地向學生展示移動機器人的運動機制、測量與控制原理;學生可通過仿真實驗教學,加深對理論知識的理解。
3智能機器人仿真實驗的工具選擇
好的仿真工具不僅能夠降低實驗成本,而且能大大提高實驗效率,靈活的配置能夠自定義不同的移動機器人和工作場景,既能夠使學生熟悉多種不同的移動機器人的運動學,又能夠將學生的精力主要集中在控制策略的學習和算法實現(xiàn)上。這對于本科階段初次接觸機器人的學生而言,更利于其快速掌握智能機器人的相關知識。
目前,存在多種移動機器人仿真工具,常用的例如:Webots[4]、Microsoft Robotics Studio[5]和Player/ Stage/Gazebo(P/S/G)[6]。前兩者主要運行在Windows這一商業(yè)化的操作系統(tǒng)中,而P/S/G運行于開源的Linux操作系統(tǒng)上。在高校中,仿真實驗教學所用的移動機器人仿真工具應具有源碼開放、靈活易用的特征,因此選擇Player/Stage/Gazebo軟件。
Player/Stage/Gazebo軟件由美國南加州理工大學交互實驗室發(fā)起,后作為開源項目轉至Sourceforge上。其中,Stage是一個2D的多機器人仿真器,提供了超聲、激光等多種傳感器模型;Gazebo是一個3D的多機器人仿真器,能夠仿真大量機器人、傳感器和物體;Player是機器人設備接口,是連接控制器與被控設備(傳感器、執(zhí)行器)的通信中間件。用戶編寫的控制程序可在本地或異地通過Player獲得傳感器數(shù)據(jù)以及發(fā)送驅動機器人運動的控制量。Player既能夠與仿真機器人連接,也能夠與真實機器人連接,具有極大的靈活性。
該軟件不僅在國外很多高校的機器人課程中作為教學用的仿真工具,也是國際上移動機器人研究領域中使用非常廣泛的工具之一。選用該工具,除了可方便學生在個人電腦上完成實驗,更使學生在本科學習階段或以后從事移動機器人研究工作時與國際接軌。
4開展智能機器人仿真實驗教學的方式與內(nèi)容
4.1仿真實驗教學的方式
1) 課堂演示提高學生興趣。
智能機器人所涉及的運動學、濾波與控制方法較為抽象,對于工科院校的學生而言略有難度。如果只是機械的推導公式,很容易打擊學生的自信心。在課堂上,通過仿真實驗的演示,現(xiàn)場向學生展示如何將理論化的公式轉化為程序代碼的形式,進而控制模擬機器人的運動,完成設定的任務。讓單調(diào)的數(shù)學語言形象化,從而讓學生體會到理論的真實含義,提高學習興趣。
2) 仿真實驗即為作業(yè)。
智能機器人課程被定位是一門實用性工程技術類課程,每一項關鍵知識點都要通過以課后作業(yè)的方式讓學生練習。我們突破傳統(tǒng)的計算題式作業(yè)的方式,通過安排課后仿真實驗作業(yè),讓學生親自動手在個人電腦上完成移動機器人的組建、定位與導航算法的設計與編程。留給學生更大的自由度去完成一個類似于項目的作業(yè),從而激發(fā)學生的主觀能動性。
3) 以學生競賽的方式開展實踐課。
在課堂教學結束后,開展綜合性的實踐課,借助仿真工具,設定一個有規(guī)則、有目標的機器人競賽場景。由學生組成團隊,全面利用已學過的機器人組成原理、測量與控制算法,設計移動機器人的控制系統(tǒng),分組競賽。以競賽的機制,鼓勵學生提出創(chuàng)新的想法和思路,并鍛煉其將新想法與新思路付諸實踐的能力,從而提高學生分析問題與解決問題的綜合素質。
4.2仿真實驗教學的內(nèi)容設計
Player/Stage/Gazebo仿真軟件具有很高的靈活性。在機器人仿真器中不僅能夠仿真各種形態(tài)的機器人,而且能夠自由建立機器人的工作環(huán)境(二維的或三維的),也能夠仿真各種傳感器,例如在Stage中能夠仿真超聲波傳感器與激光測距儀,在Gazebo中能夠仿真視覺傳感器。學生借助player中的接口函數(shù),在Linux系統(tǒng)中使用C/C++語言編程,便能夠定制自己的移動機器人控制系統(tǒng),學習、驗證各種智能方法。目前,智能機器人課程的仿真實驗主要包括Player/ Stage/Gazebo的安裝與使用方法、移動機器人的虛擬構建及工作空間設計、智能機器人控制系統(tǒng)基本結構的學習、基于里程計的移動機器人定位、基于超聲波傳感器的環(huán)境測量、VFH導航方法設計、基于人工勢能場的導航方法設計、智能車的走迷宮競賽(開放式的競賽題目)。
5結語
智能機器人課程是一門理論與實踐并重的課程,涉及到多個學科知識的交叉。仿真實驗教學是真實機器人實驗的有益補充,特別適合于本科生在初學機器人基本理論時進行原理性的控制系統(tǒng)設計與算法驗證。它通過多種形式的仿真實驗教學,啟迪學生思想,激發(fā)主動的創(chuàng)新性思維,培養(yǎng)學生具有獨立思考、樂于創(chuàng)新的真素質。智能機器人課程仿真實驗教學的探索,豐富了這一課程的教學手段。在未來,通過對仿真工具的改造,可實現(xiàn)仿真實驗與真實物理實驗的無縫對接。
參考文獻:
[1]盧桂章. 無處不在的智能技術[J]. 計算