彭建盛,付 奎,徐 詠,葉和敏
(河池學(xué)院人工智能與制造學(xué)院,廣西 河池 546300)
機(jī)器人課程是一門(mén)高度交叉的前沿學(xué)科,同時(shí)是人工智能及機(jī)器人工程專(zhuān)業(yè)的一門(mén)專(zhuān)業(yè)課[1]。在機(jī)器人相關(guān)課程的教學(xué)中,培養(yǎng)學(xué)生動(dòng)手能力是理論應(yīng)用于實(shí)際的主要途徑[2,3]。目前,在機(jī)器人學(xué)科中存在偏理論、弱實(shí)驗(yàn)的教學(xué)現(xiàn)象。多數(shù)實(shí)驗(yàn)教學(xué)中,學(xué)生可以通過(guò)實(shí)驗(yàn)操作形象地理解和掌握所學(xué)的理論知識(shí)。但是,機(jī)器人場(chǎng)地和設(shè)備制約著教學(xué)需求,并極大影響著實(shí)驗(yàn)教學(xué)效果。此外,由于機(jī)器人設(shè)備體積大,不熟練的操作極可能對(duì)環(huán)境和操作人員造成一定傷害,因此實(shí)物實(shí)驗(yàn)在教學(xué)中一直是個(gè)難點(diǎn)。為了解決上述實(shí)驗(yàn)教學(xué)中存在的問(wèn)題,可以通過(guò)仿真軟件模擬真實(shí)機(jī)器人進(jìn)行操作。采用RoboDK 仿真軟件搭建機(jī)器人課程虛擬仿真實(shí)驗(yàn),通過(guò)創(chuàng)建品牌機(jī)器人或自行創(chuàng)建機(jī)器人模型,并編寫(xiě)控制程序?qū)崿F(xiàn)機(jī)器人運(yùn)動(dòng)控制?;赗oboDK 的仿真實(shí)驗(yàn)平臺(tái)可以方便學(xué)生復(fù)刻真實(shí)機(jī)器人進(jìn)行模擬,節(jié)省了教學(xué)中教師所需的大量時(shí)間,通過(guò)調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極并提高學(xué)生創(chuàng)新創(chuàng)造的能力。
隨著現(xiàn)代科技和社會(huì)的進(jìn)步,傳統(tǒng)的機(jī)器人實(shí)驗(yàn)教學(xué)已經(jīng)不能滿(mǎn)足教學(xué)要求,存在著以下幾方面的問(wèn)題:
傳統(tǒng)的機(jī)器人實(shí)驗(yàn)教學(xué)設(shè)備購(gòu)買(mǎi)費(fèi)用高,讓很多高校無(wú)法建立完善的機(jī)器人課程教學(xué)體系。由于學(xué)校自身?xiàng)l件的限制,導(dǎo)致實(shí)際的課程教學(xué)無(wú)法滿(mǎn)足學(xué)生學(xué)習(xí)的需要,這也促使部分教師偏向于理論講解??菰锏睦碚搶W(xué)習(xí)及理論和實(shí)踐的脫節(jié)影響學(xué)生在機(jī)器人課程上的積極性。由于設(shè)備普遍偏少,多數(shù)情況下學(xué)生需要以小組形式進(jìn)行實(shí)際的機(jī)器人操作,這嚴(yán)重限制了學(xué)生學(xué)習(xí)的效率和完整性。此外,在機(jī)器人操作過(guò)程中對(duì)環(huán)境和操作人員可能產(chǎn)生的危害也限制著實(shí)際機(jī)器人操作的可能性。
在多數(shù)普通高校中,師資力量不足呈現(xiàn)常態(tài)化。多數(shù)高校的理論教學(xué)的老師都擔(dān)任著實(shí)驗(yàn)教學(xué)任務(wù),并需要完成教學(xué)之外的科研工作。教學(xué)和科研的雙重壓力一直以來(lái)都是高校教師的所面臨的難題。此外,多門(mén)的教學(xué)任務(wù)也使得教師在教學(xué)中疲于奔命。師資力量的不足使得多數(shù)教師無(wú)法在日常教學(xué)中給予學(xué)生精準(zhǔn)輔導(dǎo)[4]。由于機(jī)器人教學(xué)設(shè)備的缺乏,學(xué)生學(xué)習(xí)之余需要長(zhǎng)時(shí)間自學(xué)進(jìn)而解決理論和實(shí)踐上的疑惑。這些導(dǎo)致了教師在機(jī)器人相關(guān)課程的教學(xué)中難以開(kāi)展。
傳統(tǒng)的機(jī)器人課程教學(xué)中,教師會(huì)將機(jī)器人所涉及的運(yùn)動(dòng)控制相關(guān)知識(shí)進(jìn)行逐一講解,例如機(jī)器人D-H 參數(shù)、變換矩陣、運(yùn)動(dòng)學(xué)等[5]。機(jī)器人課程教學(xué)的內(nèi)容繁雜,傳統(tǒng)教學(xué)中學(xué)生被動(dòng)接受“灌輸式”學(xué)習(xí),缺乏創(chuàng)新設(shè)計(jì)和創(chuàng)新實(shí)踐兩大能力。長(zhǎng)期處于這種教學(xué)方式下將減少學(xué)生學(xué)習(xí)的熱情,易使學(xué)生陷入迷茫并產(chǎn)生厭學(xué)情緒。
針對(duì)目前傳統(tǒng)機(jī)器人課程教學(xué)存在的上述問(wèn)題,采用RoboDK 軟件設(shè)計(jì)機(jī)器人仿真實(shí)驗(yàn)教學(xué)。RoboDK 是一款強(qiáng)大的仿真軟件,其具有的強(qiáng)大功能使得它被廣泛應(yīng)用于教學(xué)和工業(yè)。RoboDK 支持各種機(jī)器人,包括日本的發(fā)那科(FANUC)機(jī)器人、德國(guó)的庫(kù)卡(KUKA)機(jī)器人、瑞典的ABB 機(jī)器人、日本的安川(YASKAWA)機(jī)器人等20 多個(gè)品牌。采用RoboDK 進(jìn)行仿真設(shè)計(jì)能夠復(fù)刻真實(shí)的機(jī)器人進(jìn)行機(jī)器人操作,解決目前高校機(jī)器人課程所面臨的硬件資源不足等問(wèn)題。采用RoboDK 虛擬仿真軟件,避免了實(shí)際機(jī)器人操作所面臨的安全性問(wèn)題。
采用RoboDK 仿真軟件,其支持運(yùn)動(dòng)學(xué)建模、軌跡規(guī)劃、機(jī)器人標(biāo)定和基于Python 的二次開(kāi)發(fā),學(xué)生在進(jìn)行機(jī)器人理論數(shù)據(jù)計(jì)算后可以通過(guò)快速搭建仿真機(jī)器人進(jìn)行驗(yàn)證。RoboDK 支持PC 電腦,學(xué)生可以共享相關(guān)工程給教師進(jìn)而快速解決自身所遇到的問(wèn)題。
在機(jī)器人實(shí)驗(yàn)中,不同難度的實(shí)驗(yàn)按階梯式設(shè)計(jì),在完成相關(guān)實(shí)驗(yàn)的同時(shí)掌握課程理論知識(shí)。RoboDK 還具有靈活的設(shè)計(jì),學(xué)生可以根據(jù)實(shí)際需求自行創(chuàng)建機(jī)器人模型,可以進(jìn)一步制作實(shí)際的機(jī)器人與RoboDK 進(jìn)行實(shí)時(shí)操作。這可以激發(fā)學(xué)生強(qiáng)烈的學(xué)習(xí)興趣,將自己所學(xué)的知識(shí)運(yùn)用到實(shí)際,進(jìn)而提高對(duì)整個(gè)機(jī)器人課程的理解,并將其用于創(chuàng)新設(shè)計(jì)。
機(jī)器人運(yùn)動(dòng)控制是工業(yè)自動(dòng)化和智能化中的重點(diǎn)研究問(wèn)題之一,其場(chǎng)景可以是抓取、焊接、切割和噴涂等。在實(shí)際仿真中,機(jī)器人運(yùn)動(dòng)控制仿真實(shí)例涉及新建工作站、創(chuàng)建程序、程序后處理和生成仿真視頻等步驟,具體仿真實(shí)驗(yàn)開(kāi)發(fā)流程如圖1 所示。
圖1 機(jī)器人仿真實(shí)驗(yàn)開(kāi)發(fā)流程
仿真實(shí)驗(yàn)教學(xué)首先建立一個(gè)仿真的工作站,即相當(dāng)于建立一個(gè)工程。在工作站中可以添加各種機(jī)器人和添加各種工件。在此過(guò)程中,需要按設(shè)計(jì)對(duì)工件布局,并設(shè)置機(jī)器人初始狀態(tài)和添加機(jī)器人末端執(zhí)行器。在特殊場(chǎng)景下,可以使用自定義機(jī)器人結(jié)構(gòu)和工件。
RoboDK 支持Program 和Python 程序。Program 程序按步驟進(jìn)行添加已有的指令操作控制機(jī)器人進(jìn)行運(yùn)動(dòng),該方式適用于工作場(chǎng)景簡(jiǎn)單機(jī)器人應(yīng)用。同樣地,Python 編程也需要設(shè)置一些參數(shù),定義工作站中的對(duì)象,設(shè)置工具和工件坐標(biāo)系、速度和加速度、工件的初始位置。然后編寫(xiě)機(jī)器人沿軌跡運(yùn)動(dòng)目標(biāo)點(diǎn)以及添加夾爪的動(dòng)作,在完成程序編寫(xiě)后運(yùn)行仿真程序。
在調(diào)試部分,需進(jìn)一步檢測(cè)路徑規(guī)劃是否具有可達(dá)性,通過(guò)可達(dá)性問(wèn)題的報(bào)告進(jìn)行程序路徑規(guī)劃的修改。路徑的可達(dá)并不能保證機(jī)器人在移動(dòng)過(guò)程中不發(fā)生碰撞。因此,還需要進(jìn)行最后的機(jī)器人碰撞檢測(cè),通過(guò)碰撞檢測(cè)結(jié)果完善最終的路徑規(guī)劃。
最終,程序調(diào)試成功后可導(dǎo)出離線(xiàn)程序和仿真視頻。此外,有條件還可以將導(dǎo)出的離散程序應(yīng)用到真實(shí)的機(jī)器人進(jìn)一步驗(yàn)證實(shí)際應(yīng)用效果,根據(jù)真實(shí)機(jī)器人的運(yùn)行效果進(jìn)行程序的修正。
仿真實(shí)驗(yàn)教學(xué)將所有實(shí)驗(yàn)按照階梯式原則設(shè)計(jì),通過(guò)階梯式的項(xiàng)目設(shè)計(jì)逐漸增加難度,利用項(xiàng)目式仿真實(shí)驗(yàn)提升學(xué)生自主學(xué)習(xí)的意識(shí),提高學(xué)生創(chuàng)新設(shè)計(jì)的能力。學(xué)生首先從簡(jiǎn)單的機(jī)器人實(shí)驗(yàn)再逐漸完成復(fù)雜的實(shí)驗(yàn),以圖2 所示的機(jī)器人定點(diǎn)抓取工件基礎(chǔ)實(shí)驗(yàn)為例,通過(guò)該實(shí)驗(yàn)學(xué)生了解如何在RoboDK 復(fù)刻實(shí)際的機(jī)器人模型,掌握機(jī)器人課程中所講述的坐標(biāo)系及相關(guān)變換知識(shí)、掌握相關(guān)的機(jī)器人編程語(yǔ)言。
圖2 機(jī)器人抓取仿真實(shí)例
圖2 展示了機(jī)器人簡(jiǎn)單抓取仿真實(shí)驗(yàn),該實(shí)驗(yàn)需要完成對(duì)三種不同顏色的工件抓取后放置到盒子中。在對(duì)三維空間物體進(jìn)行抓取實(shí)驗(yàn)中,首先建立工作站并構(gòu)造抓取場(chǎng)景。在此基礎(chǔ)上,通過(guò)添加參考坐標(biāo)系設(shè)置機(jī)器人、紙盒以及各個(gè)顏色工件的相對(duì)位置。隨后創(chuàng)建Program 或Python 程序,通過(guò)不斷的調(diào)試逐一對(duì)藍(lán)色、綠色和紅色工件進(jìn)行抓取,最終將抓取到的工件放入所需要放置的盒子中。
更詳細(xì)來(lái)說(shuō),在抓取過(guò)程中首先逐一設(shè)置各個(gè)工件預(yù)抓取位置、抓取點(diǎn)位置、預(yù)放置位置和放置位置。一般地,通過(guò)鼠標(biāo)雙擊物體或者機(jī)器人獲取位置和姿態(tài),并輸入相關(guān)數(shù)值改變物體的空間狀態(tài)。機(jī)器人的操作可以通過(guò)RoboDK 可視化操作界面進(jìn)行調(diào)節(jié)。機(jī)器人抓取點(diǎn)設(shè)置完成后,利用機(jī)器移動(dòng)將軌跡連接起來(lái)即可。在此過(guò)程中,添加夾爪抓取/分離指令即可實(shí)現(xiàn)物體的抓取和放置。以圖3 抓取藍(lán)色工件為例,其部分不同位置的Program 程序如圖2 所示。為防止機(jī)器人實(shí)際運(yùn)動(dòng)過(guò)程中出現(xiàn)與其他物體碰撞,需要開(kāi)啟碰撞檢測(cè)功能,如圖2 所示。類(lèi)似地,可實(shí)現(xiàn)其他工件的抓取。在抓取的實(shí)際過(guò)程中,引導(dǎo)學(xué)生思考后續(xù)軌跡規(guī)劃及結(jié)合視覺(jué)的后續(xù)應(yīng)用等。通過(guò)由簡(jiǎn)入繁的項(xiàng)目式教學(xué),激發(fā)學(xué)生創(chuàng)新思維,并在此過(guò)程鞏固所學(xué)的理論知識(shí)。
圖3 藍(lán)色工件的抓取過(guò)程示意圖
采用RoboDK 虛擬仿真平臺(tái)具有以下幾個(gè)優(yōu)點(diǎn):
(1)RoboDK 仿真軟件支持大多數(shù)機(jī)器人品牌,并支持導(dǎo)出多個(gè)品牌機(jī)器人程序,滿(mǎn)足日常教學(xué)需求。當(dāng)學(xué)生無(wú)法接觸到真實(shí)機(jī)器人時(shí),該仿真軟件能夠提供較為真實(shí)的場(chǎng)景進(jìn)行模擬,這極大改善了高校機(jī)器人設(shè)備不足的缺點(diǎn)。
(2)基于RoboDK 搭建的仿真平臺(tái)提供了靈活的操作,通過(guò)提高學(xué)生學(xué)習(xí)的興趣,在課余時(shí)間學(xué)生可以通過(guò)仿真軟件自行研究,將所學(xué)的知識(shí)運(yùn)用到復(fù)刻的機(jī)器人上,提高學(xué)生分析問(wèn)題和解決問(wèn)題的能力,推動(dòng)和促進(jìn)機(jī)器人相關(guān)的課程的改革。
(3)RoboDK 仿真軟件支持自行創(chuàng)建機(jī)器人模型,學(xué)生可通過(guò)三維建模軟件自行設(shè)計(jì)機(jī)器人或場(chǎng)景搭建仿真平臺(tái)進(jìn)行實(shí)驗(yàn)。此外,RoboDK 軟件支持Python二次開(kāi)發(fā),能夠快速提供應(yīng)用場(chǎng)景的解決方案,充分發(fā)揮學(xué)生主觀能動(dòng)性,激發(fā)學(xué)生創(chuàng)新設(shè)計(jì)能力。
基于RoboDK 的機(jī)器人仿真實(shí)驗(yàn)涉及機(jī)器人學(xué)理論知識(shí)、計(jì)算機(jī)編程和工程應(yīng)用。該仿真軟件克服了傳統(tǒng)機(jī)器人仿真軟件的缺點(diǎn),并增加了開(kāi)發(fā)設(shè)計(jì)的靈活度。該仿真軟件提供了多種品牌型號(hào)的機(jī)器人,能夠真實(shí)模擬機(jī)器人運(yùn)動(dòng),并且支持手動(dòng)創(chuàng)建機(jī)器人?;赗oboDK 的仿真實(shí)驗(yàn)教學(xué),能夠使得學(xué)生享受學(xué)習(xí)機(jī)器人的樂(lè)趣并深刻地理解以及掌握機(jī)器人理論知識(shí)的仿真實(shí)際應(yīng)用。此外,RoboDK 強(qiáng)大的仿真功能使得教師在教學(xué)中達(dá)到事半功倍。