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