深圳市鑫匯科股份有限公司 戚 龍
機器人控制系統(tǒng)是機器人的大腦,是決定機器人功能和性能的主要因素。本研究將著重介紹一種基于RC伺服馬達控制系統(tǒng)的步行機器人的開發(fā)過程及應用。
在社會經(jīng)濟、科學技術飛速發(fā)展的當代,機器人已經(jīng)是世界各國大力推動的科研領域,特別是雙足機器人,目前已成為機器人產(chǎn)業(yè)重點關注的焦點之一。身為雙足步行機器人控制核心模塊,控制系統(tǒng)設計的優(yōu)劣程度,直接性的決定著機器人各個方面的性能。雙足步行機器人具備結構復雜、實時性要求高以及關節(jié)眾多的特點,尤其在當代機器人產(chǎn)業(yè)快速發(fā)展的推動歷下,對自適應能力以及擬人化提出了更高的要求,因此就需要加大對控制系統(tǒng)的設計與研發(fā)工作。
本次設計硬件可劃分為三部分,即RC伺服馬達控制板部分、機器人結構部分以及電源供應部分,運行原理為RC馬達控制板作為主控制核心,負責控制電路和降壓電力。機器人結構方面包括RC伺服馬達+結合模塊,其電源供應部分設有穩(wěn)壓器和用于電力供應的鋰電池。圖1為本次設計硬件架構圖:
圖1 系統(tǒng)硬件架構圖
本次系統(tǒng)核心采用STM32F103系列增強微控制器,該控制器為意法半導體公司產(chǎn)出,在內核方面采用Cortex-m3核心、產(chǎn)自于ARM公司,具備低成本,接觸腳數(shù)小的特點,并且執(zhí)行速度好,耗能低,具有先進的和中斷系統(tǒng)響應功能,支持目前市面主流的多種通訊技術。此外,在RC伺服馬達芯片方面,本次設計根據(jù)設計需要,采用STM32F103C系列(SMT32F103C8T6),這款馬達芯片設有4組計時器,I/O腳37個,采用LQF48封裝形式,設有64KFlash。
本次機器人設計硬件部分,通過RC伺服馬達+結合模塊制作而成,該機器人具備高自由度的特點,即決定機器人靈活度的主要因素,所謂自由度,是讓機器人機構具備獨立運動功能,進一步讓機器人更加接近于人類的實際行為,因此本次設計期間,將雙足機器人機構設計為12個自由度,其中機器人的骨架部分為結合模塊,關節(jié)部位為RC伺服馬達。圖2展示為雙足機器人機構示意圖:
圖2 雙足機器人實體機構示意圖
圖3展示為本次設計雙足機器人的控制方式架構圖:
圖3
在機器人運行期間,關節(jié)部位的RC伺服馬達,會接收到RC伺服馬達控制板三組計時器傳輸?shù)腜WM脈波訊號產(chǎn)生轉動工作,與此同時,由STM32F103C8T6系統(tǒng)應答計時器產(chǎn)生中斷,通過計時中斷來進一步實現(xiàn)RC伺服馬達的訊號控制,在控制期間,主要由PWM訊號脈波的寬度來決定馬達運動的角度,只要增加脈波的寬度,就能夠實現(xiàn)對RC伺服馬達速度的控制,例如控制人員需讓RC伺服馬達從0度(寬度0.5ms)發(fā)生旋轉工作,一直旋轉到180度(寬度2.5ms),假設該控制系統(tǒng)以每20ms為一周期增加0.1ms寬度,那么就是讓脈波的款寬度從0.5ms增加到2.5ms,脈波以每20ms增加0.1ms速度開始運動,具體轉動時間的計算表達式如下:
在工作過程中,每周期內增加脈波的寬度越大,則表示RC伺服馬達轉動速度越快。同時,除了調整寬度之外,對馬達速度的控制還可采用調整周期的形式,但是在使用該方法階段必須嚴格符合RC伺服馬達的具體規(guī)格。
在程序運作期間,RC伺服馬達控制板向RC伺服馬達發(fā)出的PWM控制信號由控制器中的計時器提供,機器人在行動期間的速度、動作就均由計時器產(chǎn)生的周期性中斷來實現(xiàn),即在終端程序內,用當前的PWM寬度比較機器人的動作信息,如果動作大于目前的PWM訊號寬度,那么就執(zhí)行PWM寬度加運算,增加寬度,相反如果小于PWM寬度,就執(zhí)行減法運算。具體程序工作流程如上圖4所示,在機器人準備操作期間,首先系統(tǒng)執(zhí)行初始化,將機器人每個軸中的RC伺服馬達角度調整為置中形式,即讓每個軸脈波寬度保持在1.5ms,此刻機器人始終處于站立狀態(tài),隨后,程序載入機器人產(chǎn)生動作的數(shù)據(jù)列陣:如下式:
在式2列陣中,列陣第一維度=2,第二維度=12.第一維度表示機器人運動期間的動作數(shù),第二維度則表示機器人結構中12個RC伺服馬達PWM脈波的寬度,中值大小范圍為500~2500,500表示脈波寬度=0.5s,同理1500表示1.5ms脈波寬度。在機器人發(fā)生動作期間,微控制器中的中斷程序,會自動比計較每個軸RC伺服馬達的脈波寬度,一旦微控制器發(fā)現(xiàn)某一個RC伺服馬達的值,同數(shù)據(jù)列陣內的值無法對應,則立即對該馬達的PWM脈波寬度做加減操作,同時因為周期性中斷程序的存在,因此系統(tǒng)可實現(xiàn)對多個RC伺服馬達進行調整。在RC伺服馬達達到需要角度之后,自動停止運動,維持在當前狀態(tài),等待其他馬達通過運動達到設定角度,直到全部RC伺服馬達都完成設定角度運動之后,才會執(zhí)行下一列動作數(shù)據(jù)列陣。
人在行走過程中的運動,隸屬于一種周期性反復運動,以這種周期性運動模式作為依據(jù)可以對步行軌跡進行合理規(guī)劃,在人走路期間,雙手會自然擺動,同雙腿邁動方向呈反向,進而實身體保證平衡狀態(tài),但是雙足機器人并未設定這種形式的運動模式,故在設計期間為確保機器人行走期間的穩(wěn)定性,要加強分析機器人結構重心分配的問題,在機器人運動期間,當抬起左腳,那么中心則會隨著移動改變,重心調節(jié)出現(xiàn)誤差,雙足機器人行走階段必然跌倒。所以本次設計的雙足機器人,并未采用運算的形式來設計機器人步伐穩(wěn)定性,而是站在伺服馬達動作的角度上開展設計工作。雙足機器人在行進階段,數(shù)據(jù)處于靜態(tài)平衡,因此本次將雙足機器人的行走行為,設計為單腳支撐模式和雙腳支撐模式,在單腳支撐模式下,為保障機器人行走平衡,將重心落在左支撐腳掌內,在雙腳支撐模式下,則將機器人重心落到雙腳上,設計好重心落點,便可保證機器人平穩(wěn)行走。
在機器人行動之前,為了確保機器人站立,首先設定機器人的站立行為,即通過RC伺服馬達控制板向各軸RC伺服馬達傳輸寬度為1.5ms的PWS脈波。此外。因為在安裝機器人階段,難免會出現(xiàn)一定誤差,因此本次設計完成之際,還對機器人進行各個軸誤差的調整工作。表1為12個軸的誤差角度表:
表1 雙足機器人12軸誤差角度表
完成誤差調整后,經(jīng)過測試,本次設計的機器人具備獨立行走、平穩(wěn)行走性能,初步滿足設計要求。
結語:在世界機器人科研產(chǎn)業(yè)中,雙足步行機器人是一項重要的研究分支,相比其他類型機器人,雙足步行機器人有著更高的技術和研究思想要求。本次研究,采用STM32微控制器制作RC伺服馬達控制板,通過控制板來為RC伺服馬達傳輸PWM脈波控制轉動,進一步實現(xiàn)了雙足機器人的行走動作。但是因經(jīng)濟上與時間上的限制,本次的設計精細度還存在諸多不足,為了確保本次設計的機器人各關節(jié)都可以達到更高精度的伺服,后續(xù)還需要開展整體的協(xié)調設計和平穩(wěn)性的調整,以便于取得更加完善的設計效果。