盧 青,郭建國
(西北工業(yè)大學航天學院精確制導與控制研究所,西安 710072)
作為高科技的產物,工業(yè)機器人自20 世紀60 年代以來歷經幾十年的發(fā)展,已經在各個領域取得了廣泛應用。工業(yè)機器人是集機械、電子、控制、傳感器、人工智能、計算機等多學科于一體的復雜智能機器[1]。工業(yè)機器人的發(fā)明與廣泛應用大大提高了勞動生產效率、保證了產品質量[2]。為提升工科學生培養(yǎng)水平、支撐學?!半p一流”學科建設[3],開設了《機器人控制與軌跡規(guī)劃實驗課》。依托該課程,《機器人空間避障抓捕路徑規(guī)劃實驗》獲批校研究生培養(yǎng)質量提升項目。
在多年教學工作中,本實驗課程一直采用傳統(tǒng)多項式方法進行機器人軌跡規(guī)劃設計,該方法能夠有效處理軌跡規(guī)劃過程中的位置、速度、角度、加速度等約束[4-5]。在實際工作過程中,工業(yè)機器人常會遇到需要繞過某個障礙物進行操作的情況,傳統(tǒng)多項式方法在解決此類問題時無法取得令人滿意的效果。
上世紀80~90 年代,基于學習產出的教育模式(Outcomes-based Education,OBE)開始在國外出現(xiàn)[6]。該教育模式要求清晰地組織教育系統(tǒng),使之圍繞確保學生獲得在未來生活中獲得實質性地成功經驗[7-8]。參考OBE教育模式,緊扣支撐服務創(chuàng)新驅動發(fā)展、“中國制造2025”[9]等一系列國家戰(zhàn)略,2017 年2 月以來,國家教育部積極推進“新工科”建設,要求院校更加重視培養(yǎng)學生理論聯(lián)系實際和獨立解決問題的能力[10-11]。在這樣的國家戰(zhàn)略和教育發(fā)展背景下,本文緊扣創(chuàng)新驅動發(fā)展戰(zhàn)略,將智能A*算法運用于機器人軌跡規(guī)劃[12],構建“設計—模擬—操作”的教育模式,培養(yǎng)學生對智能算法的理解認識的同時讓學生具備模擬編程能力和實際操作能力,取得了良好的教學效果。
為滿足工業(yè)機器人理論教學與實驗操作開展需求,以SSF2000 工業(yè)機器人系統(tǒng)為基礎構建工業(yè)機器人教學實驗平臺如圖1 所示。平臺主要包括:機器人本體、控制系統(tǒng)以及示教編程系統(tǒng)3 部分。
圖1 機器人實驗平臺
機器人本體是實驗課程的主要研究對象,該機器人擁有6 個自由度,工作原理是通過電動機驅動各軸實現(xiàn)機器人機械臂的運動,通過軌道實現(xiàn)機器人的自由移動。為描述機器人本體運動以及機器人與工件之間的關系,定義了慣性直角坐標系、圓柱坐標系、工具坐標系等。這里軌跡規(guī)劃主要通過慣性直角坐標系來進行描述。如圖2 所示,該坐標系為慣性系不隨機器人運動,其原點為主體機器人本體軸中心初始點,y軸沿導軌方向,z軸垂直向上,x軸、y軸和z軸構成右手坐標系。
圖2 慣性直角坐標系定義
控制系統(tǒng)用于整套系統(tǒng)的總控制,實現(xiàn)緊急情況下的急停、斷電等操作。示教系統(tǒng)配有控制計算機,主要用于程序編寫,能對機器人運動模式進行設定,同時具備多種插補方式,通過程序驅動機器人運動,完成軌跡規(guī)劃的實驗過程。示教系統(tǒng)為獨立顯示器,具備完整編程環(huán)境能夠實現(xiàn)程序編寫、修改、加載等多種操作,如圖3 為示教器程序編寫界面。
圖3 示教器編程界面
整套機器人教學實驗平臺不僅能夠使學生對工業(yè)機器人具備更加直觀的認識,而且能滿足學生探究學習的需求,對“新工科”背景下人才的培養(yǎng)大有益處。
結合“設計—模擬—操作”的教育模式,對現(xiàn)有平臺及教學資源進行合理分配,將同學們分為3 人一組,構建機器人軌跡規(guī)劃實驗課程教學方案,主要包括3部分內容,如圖4 所示。
圖4 實驗教學方案設計
工業(yè)機器人機械臂運動軌跡通常通過參考點的形式給出,在參考點確定的情況下機器人軌跡能通過參考點之間的插補確定。A*算法作為一種智能軌跡搜索方法,在處理與參考點有關的軌跡規(guī)劃問題時優(yōu)勢明顯。課程首先引入A*算法的基本理論,同時通過介紹相關智能算法讓學生對智能搜索算法具備基本概念。
機器人軌跡規(guī)劃中采用A*算法主要是為實現(xiàn)障礙物的躲避。按照由淺及深的教學理念,本教學方案主要考慮機器人在二維平面內的運動,對障礙物進行建模,這里以圓形障礙物為例,其他形狀的障礙物可以采用柵格化的方式進行處理。設圓型障礙物中心的坐標為W(xw,yw),障礙物的半徑為Rw。結合繞過障礙物的任務要求,設置機器人在慣性坐標系下的起始坐標為(x0,y0),目標坐標為(xT,yT)。實驗中設置z坐標為常值,機器人在一個平面內運動。如圖5 所示。
圖5 軌跡規(guī)劃任務描述
針對繞過障礙物的任務要求,給出代價函數(shù):
式中:S為A*算法計算待擴展節(jié)點到目標點的距離;ω1和ω2為權重值;L為啟發(fā)函數(shù)。這里選取為與障礙物中心的距離,S和L均為歸一化以后的值。
基于給出的代價函數(shù)進行A*算法推演計算,計算步驟如圖6 所示,當規(guī)劃點與目標點之間的距離小于預設值時滿足結束條件,停止推演過程。
圖6 A*算法搜索過程
圖6 中,OPEN 表和CLOSE 表為A*算法搜索過程中存放節(jié)點的表格,待擴展節(jié)點引入方式如圖7 所示,圖中A(x,y)為當前節(jié)點,代擴展節(jié)點按照預設坐標變化量Δx,Δy進行加減計算得到。至此完成A*算法的理論推導,希望通過理論推導過程的講解使同學們掌握基本智能搜索算法的計算流程,同時引發(fā)學生進行思考如何完成A*算法編程實現(xiàn)以及如何將算法與機器人軌跡規(guī)劃問題進行結合,為后續(xù)的模擬實驗和實際操作步驟打下基礎。
圖7 待擴展節(jié)點圖示
“模擬”即選取一個物理的或者抽象系統(tǒng)的某些行為特征,用另一系統(tǒng)來表示它們的過程。“仿真”即用另一數(shù)據(jù)處理系統(tǒng),對系統(tǒng)的行為進行模仿或再現(xiàn)。這是國際標準化組織(International Organization for Standardization,ISO)對于模擬仿真的定義。隨著計算機技術的發(fā)展,模擬仿真逐漸成為“新工科”實驗課程開展的重要環(huán)節(jié)[13-14]。
工業(yè)機器人的操作具有一定的危險性,而實驗教學過程中學生的安全十分重要,充分的模擬仿真能達到事半功倍的效果。在模擬仿真的基礎上進行機器人的實際操作不僅可以保證學生在操作前對機器人的主要特性有更加深刻的認識,而且能激發(fā)學生對知識的探求欲望。
本實驗教學模擬仿真過程主要基于C ++軟件進行開展[15-16]。C++為工科科研項目開展過程中的常用軟件,通過模擬仿真過程的教學,使學生掌握C ++軟件編程的基本知識,由于課程時間有限,實驗教學開展過程中,由教師先行搭建C ++軟件程序框架,再由學生在程序框架中進行開發(fā),以提升教學效率。通過模擬仿真教學過程能有效培養(yǎng)學生數(shù)學建模能力、抽象思維能力以及編程能力。模擬仿真不受實驗場地和儀器設備的約束,通過單臺計算機即可實現(xiàn)。
軌跡規(guī)劃理論推演與編程實現(xiàn)的最終目的是控制機器人的運動,實現(xiàn)機器人對障礙物的有效回避,作為“設計—模擬—操作”實驗教學理念的最終環(huán)節(jié),實際操作驗證十分重要。
本環(huán)節(jié)中,本文設計的機器人控制平臺,通過示教系統(tǒng)進行參考點的輸入,操作機器人進行實驗,記錄機器人的運動過程,驗證規(guī)劃航路點的可行性。在實驗過程中實驗人員需要站在機器人可達區(qū)域以外,保證實驗的安全進行。實驗結束后,學生須撰寫實驗總結報告,對實驗過程中觀察到的現(xiàn)象進行記錄與分析。實際操作環(huán)節(jié)的引入能幫助學生鍛煉團結協(xié)作能力、動手操作能力,并能使學生掌握控制系統(tǒng)的基本操作方法,實驗報告的撰寫能夠提升學生分析問題、獨立思考的能力,滿足“新工科”對于人才培養(yǎng)的要求。
《機器人控制與軌跡規(guī)劃實驗課》為研究生選修課程,面向全校研究生開放。實驗課程能幫助學生對工業(yè)機器人具備更加深入的認識,培養(yǎng)學生解決實際問題的能力。實驗課開展過程中將學生4~6 人分為一組,開展虛擬仿真實驗,完成仿真實驗后記錄相關數(shù)據(jù),按分組名單輪流上機操作,實驗中記錄機械臂運動過程,實驗完成后提交實驗報告。結合“設計—模擬—操作”的實驗教學過程,選取其中一組學生的實驗結果對教學系統(tǒng)應用進行說明。
在教師完成理論推導過程講解后給出模擬仿真條件:參考機器人運動尺寸,軌跡規(guī)劃在1 m ×0.5 m 的長方形區(qū)域進行,將高度設置為常值,這里只給出x和y的坐標,障礙物半徑設置0.1 m,障礙物中心設置為(0.5,0.25),權重值都設置為0.5。在平面內規(guī)劃,這里進行3 組實驗給出慣性坐標系中障礙物、起點、終點的x和y坐標見表1。
表1 起點終點坐標信息
學生結合理論推導與仿真條件,基于C ++程序框架開展軌跡規(guī)劃模擬仿真實驗。編程過程中考慮機械臂有一定體積,將仿真中的障礙物半徑設為0.13 m。記錄實驗結果如圖8 所示。根據(jù)模擬實驗結果引發(fā)學生思考,規(guī)劃結果與預想結果是否相同?A*算法的規(guī)劃結果會受到那些因素的影響?改變權重值、啟發(fā)函數(shù)和障礙物位置試試看?通過這些問題的提出加深學生對智能搜索算法的理解。學生可選取模擬仿真中得到的結果較好的參數(shù)開展下一步實際操作實驗。
圖8 A*算法軌跡規(guī)劃
學生以組為單位依次通過示教系統(tǒng)操作機器人運動,驗證規(guī)劃軌跡點的合理性。學生上機之前教師向學生介紹工業(yè)機器人的基本操作流程以及示教系統(tǒng)編程的基本知識并對安全性進行強調。
根據(jù)設置條件,擺放好障礙物,選取模擬仿真中獲取的較優(yōu)軌跡,通過示教系統(tǒng)按照編程要求輸入規(guī)劃參考點的位置,這里選擇直線插補方式操作機器人運動。設置完成后啟動機器人,驗證機器人的避障能力,記錄實驗現(xiàn)場如圖9 所示,這些實驗結果可以驗證本文所提理論規(guī)劃方法的有效性。最后撰寫實驗報告。
圖9 學生通過示教系統(tǒng)操作機器人
本文緊扣“新工科”教學理念,設計了一套完整的實驗教學系統(tǒng),通過實際的教學應用驗證了本文所提“設計—模擬—操作”的教學模式的可行性,能為其他實驗教學活動的開展提供有益借鑒。學生在實驗課學習過程中能掌握智能搜索算法的基本知識、C ++編程以及工業(yè)機器人的工作機理,有效提升自主學習和團隊協(xié)作能力,為未來成為一名合格人才打下堅實基礎。未來的實驗研究工作中實驗教學團隊也會緊跟國家發(fā)展戰(zhàn)略,為人才培養(yǎng)做出更多貢獻。