彭建盛,付 奎,徐 詠,葉和敏
(河池學院人工智能與制造學院,廣西 河池 546300)
機器人課程是一門高度交叉的前沿學科,同時是人工智能及機器人工程專業的一門專業課[1]。在機器人相關課程的教學中,培養學生動手能力是理論應用于實際的主要途徑[2,3]。目前,在機器人學科中存在偏理論、弱實驗的教學現象。多數實驗教學中,學生可以通過實驗操作形象地理解和掌握所學的理論知識。但是,機器人場地和設備制約著教學需求,并極大影響著實驗教學效果。此外,由于機器人設備體積大,不熟練的操作極可能對環境和操作人員造成一定傷害,因此實物實驗在教學中一直是個難點。為了解決上述實驗教學中存在的問題,可以通過仿真軟件模擬真實機器人進行操作。采用RoboDK 仿真軟件搭建機器人課程虛擬仿真實驗,通過創建品牌機器人或自行創建機器人模型,并編寫控制程序實現機器人運動控制。基于RoboDK 的仿真實驗平臺可以方便學生復刻真實機器人進行模擬,節省了教學中教師所需的大量時間,通過調動學生學習的積極并提高學生創新創造的能力。
隨著現代科技和社會的進步,傳統的機器人實驗教學已經不能滿足教學要求,存在著以下幾方面的問題:
傳統的機器人實驗教學設備購買費用高,讓很多高校無法建立完善的機器人課程教學體系。由于學校自身條件的限制,導致實際的課程教學無法滿足學生學習的需要,這也促使部分教師偏向于理論講解。枯燥的理論學習及理論和實踐的脫節影響學生在機器人課程上的積極性。由于設備普遍偏少,多數情況下學生需要以小組形式進行實際的機器人操作,這嚴重限制了學生學習的效率和完整性。此外,在機器人操作過程中對環境和操作人員可能產生的危害也限制著實際機器人操作的可能性。
在多數普通高校中,師資力量不足呈現常態化。多數高校的理論教學的老師都擔任著實驗教學任務,并需要完成教學之外的科研工作。教學和科研的雙重壓力一直以來都是高校教師的所面臨的難題。此外,多門的教學任務也使得教師在教學中疲于奔命。師資力量的不足使得多數教師無法在日常教學中給予學生精準輔導[4]。由于機器人教學設備的缺乏,學生學習之余需要長時間自學進而解決理論和實踐上的疑惑。這些導致了教師在機器人相關課程的教學中難以開展。
傳統的機器人課程教學中,教師會將機器人所涉及的運動控制相關知識進行逐一講解,例如機器人D-H 參數、變換矩陣、運動學等[5]。機器人課程教學的內容繁雜,傳統教學中學生被動接受“灌輸式”學習,缺乏創新設計和創新實踐兩大能力。長期處于這種教學方式下將減少學生學習的熱情,易使學生陷入迷茫并產生厭學情緒。
針對目前傳統機器人課程教學存在的上述問題,采用RoboDK 軟件設計機器人仿真實驗教學。RoboDK 是一款強大的仿真軟件,其具有的強大功能使得它被廣泛應用于教學和工業。RoboDK 支持各種機器人,包括日本的發那科(FANUC)機器人、德國的庫卡(KUKA)機器人、瑞典的ABB 機器人、日本的安川(YASKAWA)機器人等20 多個品牌。采用RoboDK 進行仿真設計能夠復刻真實的機器人進行機器人操作,解決目前高校機器人課程所面臨的硬件資源不足等問題。采用RoboDK 虛擬仿真軟件,避免了實際機器人操作所面臨的安全性問題。
采用RoboDK 仿真軟件,其支持運動學建模、軌跡規劃、機器人標定和基于Python 的二次開發,學生在進行機器人理論數據計算后可以通過快速搭建仿真機器人進行驗證。RoboDK 支持PC 電腦,學生可以共享相關工程給教師進而快速解決自身所遇到的問題。
在機器人實驗中,不同難度的實驗按階梯式設計,在完成相關實驗的同時掌握課程理論知識。RoboDK 還具有靈活的設計,學生可以根據實際需求自行創建機器人模型,可以進一步制作實際的機器人與RoboDK 進行實時操作。這可以激發學生強烈的學習興趣,將自己所學的知識運用到實際,進而提高對整個機器人課程的理解,并將其用于創新設計。
機器人運動控制是工業自動化和智能化中的重點研究問題之一,其場景可以是抓取、焊接、切割和噴涂等。在實際仿真中,機器人運動控制仿真實例涉及新建工作站、創建程序、程序后處理和生成仿真視頻等步驟,具體仿真實驗開發流程如圖1 所示。

圖1 機器人仿真實驗開發流程
仿真實驗教學首先建立一個仿真的工作站,即相當于建立一個工程。在工作站中可以添加各種機器人和添加各種工件。在此過程中,需要按設計對工件布局,并設置機器人初始狀態和添加機器人末端執行器。在特殊場景下,可以使用自定義機器人結構和工件。
RoboDK 支持Program 和Python 程序。Program 程序按步驟進行添加已有的指令操作控制機器人進行運動,該方式適用于工作場景簡單機器人應用。同樣地,Python 編程也需要設置一些參數,定義工作站中的對象,設置工具和工件坐標系、速度和加速度、工件的初始位置。然后編寫機器人沿軌跡運動目標點以及添加夾爪的動作,在完成程序編寫后運行仿真程序。
在調試部分,需進一步檢測路徑規劃是否具有可達性,通過可達性問題的報告進行程序路徑規劃的修改。路徑的可達并不能保證機器人在移動過程中不發生碰撞。因此,還需要進行最后的機器人碰撞檢測,通過碰撞檢測結果完善最終的路徑規劃。
最終,程序調試成功后可導出離線程序和仿真視頻。此外,有條件還可以將導出的離散程序應用到真實的機器人進一步驗證實際應用效果,根據真實機器人的運行效果進行程序的修正。
仿真實驗教學將所有實驗按照階梯式原則設計,通過階梯式的項目設計逐漸增加難度,利用項目式仿真實驗提升學生自主學習的意識,提高學生創新設計的能力。學生首先從簡單的機器人實驗再逐漸完成復雜的實驗,以圖2 所示的機器人定點抓取工件基礎實驗為例,通過該實驗學生了解如何在RoboDK 復刻實際的機器人模型,掌握機器人課程中所講述的坐標系及相關變換知識、掌握相關的機器人編程語言。

圖2 機器人抓取仿真實例
圖2 展示了機器人簡單抓取仿真實驗,該實驗需要完成對三種不同顏色的工件抓取后放置到盒子中。在對三維空間物體進行抓取實驗中,首先建立工作站并構造抓取場景。在此基礎上,通過添加參考坐標系設置機器人、紙盒以及各個顏色工件的相對位置。隨后創建Program 或Python 程序,通過不斷的調試逐一對藍色、綠色和紅色工件進行抓取,最終將抓取到的工件放入所需要放置的盒子中。
更詳細來說,在抓取過程中首先逐一設置各個工件預抓取位置、抓取點位置、預放置位置和放置位置。一般地,通過鼠標雙擊物體或者機器人獲取位置和姿態,并輸入相關數值改變物體的空間狀態。機器人的操作可以通過RoboDK 可視化操作界面進行調節。機器人抓取點設置完成后,利用機器移動將軌跡連接起來即可。在此過程中,添加夾爪抓取/分離指令即可實現物體的抓取和放置。以圖3 抓取藍色工件為例,其部分不同位置的Program 程序如圖2 所示。為防止機器人實際運動過程中出現與其他物體碰撞,需要開啟碰撞檢測功能,如圖2 所示。類似地,可實現其他工件的抓取。在抓取的實際過程中,引導學生思考后續軌跡規劃及結合視覺的后續應用等。通過由簡入繁的項目式教學,激發學生創新思維,并在此過程鞏固所學的理論知識。

圖3 藍色工件的抓取過程示意圖
采用RoboDK 虛擬仿真平臺具有以下幾個優點:
(1)RoboDK 仿真軟件支持大多數機器人品牌,并支持導出多個品牌機器人程序,滿足日常教學需求。當學生無法接觸到真實機器人時,該仿真軟件能夠提供較為真實的場景進行模擬,這極大改善了高校機器人設備不足的缺點。
(2)基于RoboDK 搭建的仿真平臺提供了靈活的操作,通過提高學生學習的興趣,在課余時間學生可以通過仿真軟件自行研究,將所學的知識運用到復刻的機器人上,提高學生分析問題和解決問題的能力,推動和促進機器人相關的課程的改革。
(3)RoboDK 仿真軟件支持自行創建機器人模型,學生可通過三維建模軟件自行設計機器人或場景搭建仿真平臺進行實驗。此外,RoboDK 軟件支持Python二次開發,能夠快速提供應用場景的解決方案,充分發揮學生主觀能動性,激發學生創新設計能力。
基于RoboDK 的機器人仿真實驗涉及機器人學理論知識、計算機編程和工程應用。該仿真軟件克服了傳統機器人仿真軟件的缺點,并增加了開發設計的靈活度。該仿真軟件提供了多種品牌型號的機器人,能夠真實模擬機器人運動,并且支持手動創建機器人。基于RoboDK 的仿真實驗教學,能夠使得學生享受學習機器人的樂趣并深刻地理解以及掌握機器人理論知識的仿真實際應用。此外,RoboDK 強大的仿真功能使得教師在教學中達到事半功倍。