郭智輝,楊亮,3,余志杰
(1.電子科技大學中山學院計算機學院,廣東中山 528402;2.電子科技大學計算機科學與工程學院,四川成都 611731;3.中山大洋電機股份有限公司,廣東 中山 528400)
當前,機器人技術(shù)[1-3]的研發(fā)、制造、應用已經(jīng)成為衡量一個國家科技創(chuàng)新和高端制造業(yè)水平的重要標志。我國在《國家創(chuàng)新驅(qū)動發(fā)展戰(zhàn)略綱要》中將機器人技術(shù)作為戰(zhàn)略發(fā)展任務之一,在《“十四五”機器人產(chǎn)業(yè)發(fā)展規(guī)劃》中進一步突出了以機器人技術(shù)為核心的新一代信息技術(shù)深度融合在智能城市、物聯(lián)網(wǎng)、工業(yè)制造、特種環(huán)境作業(yè)領(lǐng)域的重要地位和核心應用。因此,如何培養(yǎng)具有創(chuàng)新精神和工程能力的高素質(zhì)工程技術(shù)人才,尤其是機器人領(lǐng)域的應用型人才是我國高校人才培養(yǎng)模式改革中亟須探索的課題[4-6]。
機器人涉及計算機、自動化、機械等多門學科[7],具有一定的難度。其中,足式機器人相較于傳統(tǒng)輪式[8-9]、履帶式機器人在運動的靈活性和環(huán)境的適應性下有著顯著優(yōu)勢,能更好地完成特定任務,因而具有重要的理論研究價值和應用前景。足式機器人研發(fā)的難點在于如何將多學科的理論知識與實踐經(jīng)驗有效結(jié)合,具體體現(xiàn)在以下兩個方面:①機器人算法的抽象性。足式機器人算法強調(diào)實際運動規(guī)律,該特性導致算法不易被直觀理解,加大了教學的難度。②實驗的復雜性。受到實驗環(huán)境難以搭建、實驗成本高、空間的動態(tài)性和危險性大等條件的限制,足式機器人實驗沒有大規(guī)模實際開展的可能性。為了解決上述問題,有必要在機器人相關(guān)課程中引入虛擬仿真實驗[10-11]。
因此,文中提出了一種基于虛擬仿真技術(shù)的足式機器人創(chuàng)新實驗平臺設計方案,突破了傳統(tǒng)機器人實驗受限于場地、成本、安全等多方面限制的困境。該平臺采用虛擬機器人+仿真實驗平臺的架構(gòu),具有實驗成本低、高度可定制化的優(yōu)點,能夠完成足式機器人步態(tài)規(guī)劃、步行控制等算法的仿真驗證等任務。
基于虛擬仿真技術(shù)的創(chuàng)新實驗平臺由足式機器人虛擬本體、仿真實驗平臺兩部分組成。仿真實驗平臺主要負責機器人軌跡規(guī)劃、運動控制、數(shù)據(jù)分析等功能;足式機器人為主要執(zhí)行的載體,包含電機、軀干、支架等。平臺總體設計如圖1 所示。

圖1 足式機器人創(chuàng)新實驗平臺總體設計框圖
仿真實驗平臺共設四大模塊,分別為初始化模塊、步態(tài)規(guī)劃模塊、步行控制模塊和性能測試模塊。初始化模塊用于加載機器人模型和調(diào)試基本參數(shù),根據(jù)控制算法由步態(tài)規(guī)劃和步行控制模塊驅(qū)動足式機器人運動,實驗結(jié)果通過性能測試模塊可視化輸出。
針對傳統(tǒng)實驗平臺存在軟件復雜、上手難度高、通用性差等問題,該實驗平臺采用PyBullet 這一輕量級物理引擎作為仿真環(huán)境支撐,設計了一種基于虛擬仿真技術(shù)的足式機器人創(chuàng)新實驗平臺。PyBullet 是一個廣泛用于機器人物理仿真的Python 模塊,提供正向動力學仿真、逆向動力學計算等功能,具有內(nèi)存占用小(僅80 MB)、圖形化界面、通用操作接口、高度可定制化的優(yōu)點,非常適合科學研究和實驗教學中需要個性化定制機器人的應用場景。
仿真實驗平臺采用典型的三層架構(gòu),分別是表示層、控制驅(qū)動層和數(shù)據(jù)層,其軟件架構(gòu)圖如圖2所示。

圖2 軟件架構(gòu)圖
控制驅(qū)動層建立在表示層之下,通過PyBullet 接口及初始化模塊獲取控制指令、機器人模型和基本參數(shù),基于ZMP 預觀控制算法[12]和三次樣條插值算法[13]計算運行軌跡,通過步行控制模塊驅(qū)動足式機器人運動。數(shù)據(jù)層依靠性能測試模塊和PyBullet 提供的機器人仿真模塊完成數(shù)據(jù)可視化輸出,例如Bullet 負責模擬計算機器人物理運動,OpenGL 負責機器人3D 運動場景的展示。
根據(jù)機器人仿真實驗平臺的要求,在SolidWorks中建立了一個3D 型足式機器人。該機器人[14]高121.4 cm,重8.2 kg,擁有13 個自由度,其中踝關(guān)節(jié)2個,膝關(guān)節(jié)1個,髖關(guān)節(jié)3個,最后一個自由度用于軀干的轉(zhuǎn)動。機械結(jié)構(gòu)主要由電機、支架和軀干部分組成。
機器人的舵機等同于機器人的“肌肉”,提供了運動所需的動力,因此整體機械結(jié)構(gòu)圍繞舵機所連接。每一個舵機提供一個自由度。以Y軸正方向為前進方向,設置在髖關(guān)節(jié)的3 個舵機提供3個自由度,分別為俯仰(pitch)、偏航(yaw)和翻滾(roll),對應機器人的抬腳、移動質(zhì)心和轉(zhuǎn)向。膝關(guān)節(jié)的1 個舵機提供俯仰,負責機器人抬腳。踝關(guān)節(jié)的2 個舵機提供俯仰和翻滾,負責機器人下蹲和移動質(zhì)心。軀干的1 個舵機提供翻滾,負責軀干的轉(zhuǎn)動。
在SolidWorks 上對15 個零部件進行設計并導入至裝配體組成完整的機器人,配置質(zhì)量、轉(zhuǎn)動慣量、最大關(guān)節(jié)力矩等參數(shù)后轉(zhuǎn)換為URDF 格式文件導入初始化模塊,其他場景模型的設計與導入方法類似。機器人模型導入PyBullet 平臺的效果圖如圖3所示。

圖3 基于PyBullet平臺的雙足機器人裝配效果圖
為測試機器人自主步行、上樓梯等功能,搭建了長320 cm 的直路以及長320 cm、高130 cm、層高10 cm 的樓梯作為測試環(huán)境。通過設計步態(tài)規(guī)劃和步行控制模塊,能夠完成足式機器人步態(tài)規(guī)劃、步行控制等算法的仿真驗證等任務。
首先對足式機器人步行基本概念進行簡述。足式機器人步行過程可以分解為起步、周期步行和止步三個階段。在步行周期中,足式機器人一只腳著地作為支撐腳,另一只腳擺動前進,擺動腳從離地到落地的過程稱為單腳支撐期,擺動腳落地后機器人進入雙腳支撐期,此時機器人移動質(zhì)心保持平衡,為下一次邁步做準備。左右腳各邁一個步長為一個步行周期。機器人步態(tài)軌跡如圖4 所示。

圖4 機器人步態(tài)軌跡示意圖
以先邁右腳為例,足式機器人下蹲并向左移動質(zhì)心為邁步做準備。進入單腳支撐周期:邁出右腳,同時質(zhì)心向右移動保持平衡(圖4 中①);落地后進入雙腳支撐周期:向右移動質(zhì)心;再次進入單腳支撐周期:邁出左腳,同時質(zhì)心向左移動(圖4 中②)。上述運動步驟構(gòu)成足式機器人的一個步行周期。一個步行周期內(nèi)質(zhì)心、左右腳的運動狀態(tài)如表1 所示。

表1 步行周期中質(zhì)心、左右腳運動狀態(tài)
在步態(tài)規(guī)劃模塊中,機器人起腳點、擺動腿至高點、落腳點構(gòu)成一條曲線,即擺動腿期望軌跡。同時,基于ZMP 預觀控制算法由擺動腿軌跡計算出質(zhì)心軌跡,基于幾何算法計算出膝關(guān)節(jié)軌跡。為了提高機器人運動的連貫性和穩(wěn)定性,規(guī)劃的軌跡曲線應盡可能平滑,故采用三次樣條插值算法優(yōu)化曲線平滑度。系統(tǒng)控制流程如圖5 所示。

圖5 系統(tǒng)控制流程
在步行控制模塊中,根據(jù)單腳支撐周期時間、雙腳支撐周期時間和時間片大小將連續(xù)的期望軌跡分割成多個離散的坐標點,并轉(zhuǎn)換為歐拉角輸入至機器人。
由于機器人晃動等不穩(wěn)定因素的干擾,機器人實際落腳點與期望落腳點存在一定偏差,因此步行周期結(jié)束時,步行控制模塊通過將實際落腳點與期望落腳點的偏移量補償至下一個步行周期的期望落腳點,從而提高仿真的精確度。
在性能測試模塊中,為更好地展示機器人算法的性能,平臺基于Matplotlib 實現(xiàn)性能數(shù)據(jù)的可視化輸出。Matplotlib 是一個Python 繪圖庫,通過Matplotlib開發(fā)者可以用簡短的代碼繪制直方圖、散點圖、折線圖等。平臺同時對實驗數(shù)據(jù)進行存儲,便于實驗員對算法執(zhí)行前后性能數(shù)據(jù)進行比對分析。
仿真實驗平臺對機器人穩(wěn)定性主要判斷依據(jù)為ZMP(Zero-Moment Point)判據(jù)[15-17]。ZMP 的概念由Vukobratovic 和Juricic 于1969 年正式提出,它選取地面上的一個點,地面反力(Ground Reaction Force,GRF)在該點等效力矩的水平分量為零。因此,ZMP落在其穩(wěn)定裕度內(nèi)即保證了機器人運動的穩(wěn)定性。
設機器人驅(qū)動關(guān)節(jié)的數(shù)目為n,則ZMP在x、y方向分量的表達如式(1)所示:
其中,Iix、Iiy分別為連桿i轉(zhuǎn)動慣量的x、y方向分量,、分別為連桿i繞x軸、y軸的角加速度。根據(jù)公式即可通過機器人各連桿位置、加速度和各關(guān)節(jié)的加速度等狀態(tài)參數(shù)求得ZMP。
實踐表明,該平臺在仿真驗證步態(tài)規(guī)劃、步行控制等算法時效果良好,成功測試了粒子群優(yōu)化算法[18]、基于增量學習的控制算法等,其中傳統(tǒng)方法和采用增量學習方法的ZMP 軌跡對比如圖6 所示[19-22]。

圖6 傳統(tǒng)方法和采用增量學習方法的ZMP軌跡對比
機器人是當下最流行的研究課題之一,涉及計算機、自動化、機械等諸多學科,且具有一定的趣味性,是學科中理論與實踐結(jié)合的典范。文中提出基于虛擬仿真技術(shù)的足式機器人創(chuàng)新實驗平臺設計方案,通過設計不同功能模塊,能夠完成對機器人算法的仿真驗證和性能評估,具有實驗成本低、高度可定制化的優(yōu)點。同時,基于該平臺研發(fā)機械設計、軟件開發(fā)等課程,能夠提高學生的綜合實踐能力,培養(yǎng)學生多學科知識交融的開放性思維,有利于智能機器人課程實踐教學開展。測試結(jié)果表明,該方案研制的足式機器人創(chuàng)新實驗平臺激發(fā)了學生的創(chuàng)造力和學習熱情,為學校開展機器人仿真實驗提供有效途徑。