高 麗 彭 熙 劉 明
(1.華中師范大學計算機學院 武漢 430079)(2.湖北省高等學校計算機基礎實驗教學示范中心 武漢 430079)(3.湖北省人工智能與智慧學習重點實驗室 武漢 430079)
近年來,人形機器人已經成為機器人研究的一個熱點。人形機器人的步態控制一直是人形機器人研究的一個難點[1~3]。目前國內外高校的機器人實驗一般結合自己的專業來開設,其中技術能力較弱的學校只開設機器人動作演示、機器人組裝實驗,研究能力較強的學校則開設機器人控制等實驗項目[4~6]。
仿人機器人具有與人類相似的軀干結構與運動能力,能夠在人類的工作環境中替代人類進行工作,將人類從體力勞動、機械重復作業等低級勞動以及高危、高風險行業中解放出來,提高生產力水平和工作效率,提升人類的生活質量,使人類能夠專注于高級智慧活動,促進生產力的合理配置和社會發展[7~9]。
目前人形機器人大多只存在于實驗室里。要想讓機器人走出實驗室,進入人們的日常生活,代替人們完成日常工作。必須要讓機器人適應外界復雜的環境。機器人在行走過程中,如何應對復雜的路面化境就是亟待解決的問題之一。人形機器人的行走步態是機器人研究的一個重要領域。
要想讓機器人完成對復雜路面的適應,最重要的兩項技術就是——機器人姿態控制以及機器人步態規劃。姿態控制包括讓機器人知道自己目前所朝方向,是否需要轉彎,是否傾斜等等,以此為基礎機器人才能做出調整,讓自己身體保持平衡,進而才能邁步行走,如何邁步行走即是步態規劃技術要考慮的問題。
要想使機器人能夠感知自身姿態,就需要兩個部分。一是要有能接受外界信息的硬件設施,另一個就是在收集到外界信息后要結合算法進行解算。
姿態信息收集的傳感器,一般為慣性傳感器。例如三軸加速度傳感器、陀螺儀等等。某個單一的慣性傳感器是很難將機器人的姿態描述清楚的,所以需要多種傳感器配合。本實驗選取JY901 姿態角度傳感器,選取的是集成高精度的陀螺儀、加速度計以及地磁場傳感器,協同工作收集姿態信息,傳遞給控制板進行解算。圖1所示。

圖1 連接示意圖
對于機器人姿態的計算是利用慣性傳感器所傳回的四元數信息,計算歐拉角。其計算原理及公式如下:
四元數是一個簡單的超復數,在三維中的旋轉可以用單位四元數來描述。四元數的定義為Q=a+=q0+q1i+q2j+q3k。MPU6050 一類慣性傳感器,可直接輸出四元數,我們則利用四元數進一步求出歐拉角。
歐拉角是指在一個固連于剛體的坐標系中,由剛體的旋轉分別產生俯仰角、滾動角、航向角組成的一組獨立角參量。
首先,我們需要使用四元數表示的旋轉矩陣,根據公式可知:

已知求只需做一次矩陣逆變換便可求出:


對比兩式可解出

通過四元數計算出歐拉角即可直觀反映出機器人姿態。
硬件收集信息+算法解算,就可以得到機器人的姿態數據,完成機器人姿態的控制。
設計人形機器人的步態,使其能夠在平地上完成所有的行走過程,實現前行、后退、轉彎等動作。本文設計出的機器人腿部共有12 個自由度,每條腿各6個,即踝關節前向和扭轉2個自由度,膝關節前向1個自由度,髖關節有前向、側向旋轉和轉向3個自由度,共有18個自由度[10~12]。自由度的設置如圖2所示。

圖2 機器人CCNU-1自由度配置示意圖
根據機器人的步態設計要點,我們可以規劃出所設計的人形機器人的運動過程和行走步驟。
首先將機器人站立,使其重心垂直于與地面,然后假設先以右腳支撐,邁左腿,這樣可以將機器人的重心轉移到右腿。要實現這一目的,應該拖動軟件中的13號舵機模塊的滾動條(如圖3所示),使機器人的重心右移,其效果如圖4所示。

圖3 編程軟件中的第13號舵機模塊

圖4 機器人重心右移后的效果圖
根據慣性傳感器所傳回的四元數信息,計算出機器當前俯仰角、滾動角、航向角。對角度數值加以判斷,歸納當前姿態情況,并根據不同情況做出不同反應。若已符合目標姿態,停止姿態調整,保持姿態不動;若未符合目標條件,則做出相應調整策略。完成調整后,循環程序,再次收集姿態信息加以判斷[13~15]。程序設計流程圖如圖5所示。

圖5 程序設計流程圖
根據流程圖,機器人動作姿態的變化,由各個舵機的控制來完成。如表1 所示。

表1 人形機器人動作控制
根據姿態解算結果,向機器人舵機控制系統發出相應信號,機器人做出相應動作,調整姿態,即達到連續步態的效果。圖6 所示為機器人連續步態過程的分階段圖解。

圖6 人形機器人的連續步態示意圖
利用慣性傳感器所傳回的四元數信息,計算歐拉角,控制人形機器人的各種姿態。在自己設計機器人模型的基礎上,掌握人形機器人步態設計的基本要領和步態技巧以及工作原理。提高了學生綜合分析能力和解決問題的能力,本文設計的方案和計算方法,經過實驗教學的應用和檢驗,驗證了該方法的有效性、可靠性和穩定性,取得了良好的效果。這一實踐環節大大提高了學生的就業質量,培養了更多的實踐創新人才。