黃龍 尹來容 周振華 李旭宇
摘 要:機器人專業人才的培養需要良好的實驗教學條件作為支撐。目前機器人專業實驗課程大多采用成熟的工業機器人為對象,供學生仿真和編程,其接口封閉,教學效果有限。本文對采用機器人仿真軟件進行機器人專業課程教學進行了探討,重點介紹了三種仿真教學軟件以及應用案例,這些軟件都可以移植到實際硬件上,實現機器人的運動控制等功能。
關鍵詞:機器人專業;仿真教學;軟件教學
一、機器人專業課程的教學現狀
隨著國內外新一輪科技革命的深入發展,機器人產業逐漸成為國家戰略性新型技術產業之一。機器人產業離不開機器人專業技術人才的培養。目前有資料顯示,到2020年,我國機器人行業的人才需求將接近800萬,按照目前的人才培養結構和規模,屆時機器人專業技術人才的缺口將達到300萬。正是在這樣的背景,國家提出了新工科建設,把機器人專業建設作為重要的關注點之一。目前已經有逾百所高校獲得教育部批準建設機器人工程的本科專業,其中不僅包括重點本科高校,也包括很多的地方高校。機器人作為復雜的機電產品,是一種極佳的工程人才教學工具,能夠體現機械、控制、信息等多學科的交叉融合,理論與實踐、硬件與軟件的完美結合,同時,也能在教學項目中,培養學生的非技術特質,例如交流協作能力、創新精神等。
然而,建設一個新專業需要一批具有相關知識背景的專任教師、實驗師,以及相關的實踐條件。如何培養知識全面的機器人專業技術人才,如何在現有條件下提升學生的機器人實踐能力,是擺在所有高校面前的實際問題。尤其是地方高校,師資水平和教學條件受限于地方與學校的資金投入,這些問題尤為顯著。
機器人專業課程一般包含工程基礎類課程、專業類課程和實踐類課程。其中,工程基礎類課程要求學生掌握機械、電路、傳感器、視覺、控制、程序設計等眾多方面的基礎知識和實踐能力。而機器人專業課程要求學生掌握機器人技術的全面知識,如機器人系統設計、運動學、動力學、控制理論等,這些課程通常也可作為其他相近專業的高年級本科生的選修課。機器人專業的實踐類課程通常以一類或幾類具體的機器人為對象,供學生進行機器人創新設計、制作、控制等。通常,這些機器人可以參考各類機器人比賽中的本體結構,例如Robocup、Robocon、Robomaster等比賽,有的高校甚至成功舉辦了校級的機器人競賽。這些競賽都是鞏固理論知識,提升實踐能力的重要載體。顯然,無論是實踐條件的建設,還是機器人競賽的舉辦,都需要大量的資金投入。
二、機器人專業課程的軟件教學方法
目前市面上的機器人教材,通常都偏重于對機器人的理論知識的介紹,涉及矩陣和控制理論。這些抽象知識,會消減學生的學習熱情。而以編程仿真技術為主的軟件教學,作為理論教學的補充,不僅可以有效提升學生的學習積極性,也能夠很好培養學生的工程實踐能力[1]。
不同于其他學科,機器人學科的教學、科研與實際應用中,編程仿真技術起到了無可替代的作用。目前,包括基于Simulink的機器人工具箱、機器人操作系統(ROS)、V-REP、OPENRAVE在內的眾多編程仿真環境受到了國內外高校的關注,以作業或項目的方式引入到其課程教學中。下面主要對基于MATLAB/Simulink的機器人工具箱、ROS、V-REP三個編程仿真軟件進行介紹。
(一)基于MATLAB/Simulink的機器人工具箱
MATLAB是邁斯沃克公司開發的大型計算和分析軟件。目前MATLAB已在大學控制類課程教學、各行業科學研究中得到廣泛應用[2-3]。基于MATLAB,澳大利亞的機器人學者Peter Corke開發了完備的機器人工具箱。機器人工具箱可以對構型各異的機器人進行分析與仿真,支持傳統的多關節型機器人、并聯機器人、移動機器人等,其程序庫包含了常見的機器人基本算法,包括空間坐標變換、各種表示之間的切換、運動學與動力學建模以及軌跡規劃仿真。通常,機器人教材會選擇四關節或五關節串聯機器人作為例子來介紹運動學建模,選擇兩關節或三關節串聯機器人作為例子來介紹動力學建模,其主要考慮是縮小篇幅,盡可能讓學生快速熟悉建模的過程。對于實際應用最多的六關節機器人,甚至目前廣受關注的七關節協作型機器人,教材中鮮有涉及,其主要原因是這種類型的機器人的運動學和動力學計算非常復雜。而這些構型復雜的機器人,對于機器人工具箱而言,完全不存在建模難點。通過自帶的運動學、動力學、軌跡規劃的仿真功能,可以使學生直觀地認識機器人的運動特性,對坐標變換、奇異位形、工作空間等概念的掌握也更深刻。機器人工具箱中的函數都是開源的,學生可以直接閱讀這些函數的源代碼,并且眾多注釋能夠幫助學生理解編程思想與機器人算法框架。
Simulink是MATLAB中最重要的仿真模塊,其中包含了數量十分龐大的各行業工具箱。很多科研院所和企業都利用Simulink平臺搭建了教育機器人的控制系統,其控制系統采用了基于模型的設計方法,學生只需要在simulink中建立和物理模型和控制算法模型,通過獨特的編譯器來驅動電機。Simulink中自帶的控制算法,如PID、模型預測控制等,也自帶了一系列運動學和動力學工具,便于學生快速上手。這種設備可以培養學生模型思維和創新意識,非常適合作為機器人專業課程的實踐設備。
(二)ROS
ROS是由美國Willow Garage公司開發的開源機器人操作系統[4-5]。該系統提供了豐富的庫函數和開發工具來輔助機器人研究者開發完整的機器人系統。經過了若干年的發展進化,ROS已經成為了國際上廣受認可和關注的機器人開發平臺,包含了硬件驅動、實時底層、各種機器人類、消息傳遞、可視化仿真工具等功能。一方面,系統內置的程序庫可以很方便地調用,避免了重復開發的繁雜工作;另一方面,系統將消息機制、底層驅動等功能打包,開發者無須深入理解底層驅動和協議,就可以開發自己的控制系統,非常方便快捷。
目前,已有很多研究平臺和教學平臺采用了ROS系統,取得了很好的效果。例如,一些大學足球機器人研究組把ROS應用到Robotcup足球機器人、救援機器人等移動機器人,在此基礎上開發軟件系統,提高程序的模塊化和擴展性,大幅提升了開發效率。其主要的硬件包括工控機、總線耦合器與I/O模塊、電機驅動器與機器人本體。工控機安裝了實時操作系統和ROS系統軟件,可以在機器人實際運動過程,在工控機上顯示仿真環境。對于機器人的仿真教學,ROS包含了功能強大的仿真工具gazebo。該工具支持多種物理引擎,支持自定義插件,內置了多個機器人模型,也支持導入機器人模型。其局限性主要在于保真度有限,對流體、變形體和熱動力學都難以處理。
(三)V-REP
V-REP[6],是一款開源的機器人仿真軟件,有免費的教育版本可供使用。其中包含的物理引擎,能夠依據對象的物理性質來分析實際運動和碰撞。平臺內置了豐富的常見物理模型與場景模型,使用起來直觀易懂。V-REP支持的控制方式包括同步控制、異步控制與遠程控制,并且內置了六種計算模塊,即碰撞檢測模塊、運動學逆解模塊、動力學模塊、幾何約束模塊、路徑規劃模塊以及最小距離計算模塊。而其編程方式與前面的平臺有一定區別,主要支持嵌入式腳本、插件等,編程語言Lua也與學生熟悉的C/C++有一定差異,但是有了C/C++的編程基礎之后,再學習Lua語言較快。V-REP平臺與ROS系統兼容,具有較好的擴展性。
目前,已有科研院所利用V-REP仿真平臺開發了工業機器人教學系統,其主要硬件包括工控機、總線耦合器與I/O模塊、電機驅動器與機器人本體。工控機的操作系統為Linux實時操作系統,系統也安裝了V-REP仿真平臺,可以實現仿真環境與真實環境中機器人的同步運動,給學生以沉浸式體驗。此外,這類教學機器人提供底層的機器人學核心源代碼,例如坐標變換、運動學、動力學符號計算等,學生可以直接在此框架下編寫相關程序,然后通過仿真運行和實際運行進行驗證。在進階環節,學生還可以對機器人進行拖動示教和碰撞檢測的編程。
三、結論
機器人專業的建設是一個系統工程,合格的機器人專業技術人才應當同時具備扎實的理論知識與實踐能力。本文對采用機器人仿真軟件進行機器人專業課程教學進行了探討,介紹了三種仿真教學軟件,結合案例說明了軟件仿真教學與實際應用之間的聯系,可以為機器人專業人才的培養提供參考。在實際教學中,還需要根據學生的實際水平因材施教,合理選擇授課內容,結合軟件工具,給學生提供最合適的教學方式。
參考文獻:
[1]劉相權.MATLAB在機器人虛擬仿真實驗教學中的應用[J].教育教學論壇,2018(15):261-262.
[2]http://www.mathworks.com/products/robotics.html.
[3]P.Corke.A Robotics Toolbox for MATLAB[J].IEEE Robotics and Automation Magazine,1996,3(1):24-32.
[4]張建偉.開源機器人操作系統——ROS[M].北京:科學出版社,2012.
[5]http://gazebosim.org.
[6]http://www.coppeliarobotic.com/helpfile.
作者簡介:黃龍(1988— ),男,漢族,湖南長沙人,博士,講師,研究方向:機構學與機器人。
*通訊作者:尹來容(1984— ),男,漢族,湖南長沙人,博士,副教授,研究方向:機構學與機器人。