周衛(wèi)華, 張德發(fā)
(臺州職業(yè)技術(shù)學(xué)院,浙江 臺州 318000)
移動機器人已經(jīng)成為機器人領(lǐng)域一個重要的分支,在軍事、危險作業(yè)和服務(wù)業(yè)等行業(yè)發(fā)揮著越來越重要的作用[1-2]。
移動機器人按照運動的機構(gòu)可分為輪式、履帶式和腿式等。其中輪式移動機器人由于其機構(gòu)簡單、運動靈活等優(yōu)點,尤其受到青睞[3-4]。考慮到文中研究的對象是輪式移動機器人,故后續(xù)所稱的移動機器人都是指輪式移動機器人。物體在平面上具有三個自由度,分別為前后運動、左右運動和自轉(zhuǎn)運動,傳統(tǒng)的汽車具有的自由度少于三個,又如文獻(xiàn)[5]中描述的四輪移動車,具有前后運動和自轉(zhuǎn)運動的能力,但是不能橫向移動。全方位移動機器人可以實現(xiàn)前后、左右和旋轉(zhuǎn)三個自由度的運動,運動靈活性高,可以原地旋轉(zhuǎn),在狹小空間運動優(yōu)勢明顯,如物流倉儲行業(yè)、星球探測[6]和服務(wù)機器人等。
全方位移動平臺需要設(shè)計相應(yīng)的控制系統(tǒng),如文獻(xiàn)[7]中采用專用芯片作為主控制器來控制基于Mecanum輪全方位移動機器人,控制簡單,但是很難做進一步的擴展與深入研究。東南大學(xué)的夏國慶[8]用主控芯片DSP2812控制四個電機,每個電機驅(qū)動一個Mecanum輪。這種方法的優(yōu)勢在于節(jié)省成本,但是外圍電路設(shè)計復(fù)雜且穩(wěn)定性較差。
本文設(shè)計的輪式機器人采用工控主板作為主控制器,計算功能強大,而且豐富的接口可以方便擴展,為進一步深入研究提供了良好的硬件平臺。
連續(xù)切換輪的輪轂周圍由十根輥子相互交錯排列,輥子與輪轂是相互垂直,如圖1所示。
圖1 連續(xù)切換輪
圖2 連續(xù)切換輪(直徑10 cm)
連續(xù)切換輪不僅具有軸向滾動的能力,且十根輥子也能繞自身軸旋轉(zhuǎn)。圖2所示為正交連續(xù)切換輪的實際樣機,其中輪轂是主動輪,輥子是被動輪。輥子在外力的作用下繞著自身的軸旋轉(zhuǎn),速度方向與輪轂的速度方向垂直。
圖3 移動機器人布局示意圖
平面運動包含前后運動、左右運動和旋轉(zhuǎn)運動三個自由度,故移動機器人要實現(xiàn)全方位運動,必須要有三個或三個以上的獨立驅(qū)動的輪子。四輪機構(gòu)相對于三輪結(jié)構(gòu),車體穩(wěn)定性好且易于控制,四輪以上則結(jié)構(gòu)冗余,故文中采用四輪的結(jié)構(gòu)[9]。移動機器人樣機四輪對稱放置,采用正交的排布方式,輪1與輪3平行,輪2與輪4平行,組成一個正方形,如圖3所示。
不考慮輪子與地面打滑的情況,可得移動機器人的逆運動學(xué)方程為:
(1)
式中:ω1~ω4分別為四輪的旋轉(zhuǎn)角速度,rad/s;Vx、Vy和ω分別為移動機器人X軸速度、Y軸速度以及繞中心軸的旋轉(zhuǎn)角速度;Vx、Vy,m/s,ω,rad/s;R為運動學(xué)逆矩陣。R表達(dá)式如下所示:
(2)
式中:r為連續(xù)切換輪的半徑,m;l為輪子中心到車體中心的距離,m。
(3)
式(3)可以化簡為:
(4)
式中:R+=(RT·R)-1·RT。計算可得:
(5)
由式(5)可得移動機器人的正運動學(xué)關(guān)系為:
(6)
為了進一步分析連續(xù)切換輪在實際運行中的特性,本文設(shè)計并制作了四輪全方位移動機器人的控制系統(tǒng),從整體上研究連續(xù)切換輪的特性以及全方位機器人的運動性能。每個輪子采用直流無刷電機單獨驅(qū)動的方式。電機軸的轉(zhuǎn)速和位置信息通過光電碼盤反饋給驅(qū)動器。
移動小車采用直流工控主板作為主控制器,型號是ITX-i7415。該工控主板支持Intel i5 CPU,最高2.4 GHz,4 GB DDR的內(nèi)存。同時支持6個RS232接口,以及2個32 bit/33 MHz Mini PCI 插槽,2個32 bit/33 MHz PCI 插槽。
電機的驅(qū)動器采用Copley公司生產(chǎn)的ACJ型無刷直流電機驅(qū)動器,電機驅(qū)動器之間通過CAN網(wǎng)絡(luò)連接起來。CAN (Controller Area Network)是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò),具有實時性高、可靠性好等優(yōu)點,通信速度可以達(dá)到1 Mbit/s。
CAN有兩種數(shù)據(jù)通信方式:SDO和PDO。SDO是一種應(yīng)答式的傳輸方式,可以實現(xiàn)一對一,一對多數(shù)據(jù)訪問,每個消息都需要一個應(yīng)答。相對而言,過程數(shù)據(jù)對象PDO不需要對每個消息生成一個應(yīng)答,主要用來處理傳輸實時性要求較高的數(shù)據(jù)。數(shù)據(jù)的傳輸可以是點對點,也可以是廣播。由于SDO是一種應(yīng)答式的傳送方式,相對于PDO而言,速度會慢一些。但是,PDO的通信方式需要SDO先行設(shè)置。在本系統(tǒng)中,對于需要經(jīng)常交互的數(shù)據(jù),如電機的電流、速度等信息,采用PDO的報文方式,其他數(shù)據(jù)采用SDO的報文方式。
圖4 電控系統(tǒng)框圖
上位機(工控主板)通過擴展CAN卡與各個電機驅(qū)動器組成CANOpen網(wǎng)絡(luò)。在CANOpen網(wǎng)絡(luò)中,上位機作為master,可以實時控制各個電機的運動狀態(tài),各個電機驅(qū)動器作為CANOpen網(wǎng)絡(luò)的Slave。同時,電機的速度、位置和力矩等信息可以通過CANOpen網(wǎng)絡(luò)反饋給上位機。
電控系統(tǒng)的總體框圖如圖4所示。
圖5 上位機軟件類的架構(gòu)
圖6 電機轉(zhuǎn)速控制流程圖
上位機軟件是在Windows平臺下開發(fā)的,采用Visual C++的編程語言。
上位機軟件的整體架構(gòu)如圖5所示,采用具體的類來描述移動小車的各個組成部分。
其中,人機界面類主要負(fù)責(zé)小車的整體運動情況,包括移動小車各個方向的運動等操作。Device類用于描述NMT網(wǎng)絡(luò)中各個CAN的節(jié)點,包含所有可以連接在CAN網(wǎng)絡(luò)中的設(shè)備。由于電機的驅(qū)動器只是一種特殊的CAN設(shè)備,所有在類圖中電機驅(qū)動器類是通過Device類派生出來的。CAN類用于描述CAN數(shù)據(jù)幀的收發(fā)狀況。
單個電機在速度模式控制方式下,上位機(工控主板)通過CANOpen網(wǎng)絡(luò)控制電機的流程如圖6所示。
四輪采用連續(xù)切換輪的移動機器人的實物如圖7所示。移動機器人采用兩節(jié)12 V鉛酸電池串聯(lián)作為電機驅(qū)動器24 V的電源。直流工控主板的電源也是24 V,采用模塊電源單獨供電,與電機功率部分電源隔離開。
圖7 移動機器人照片
根據(jù)運動學(xué)方程式(6),設(shè)置對應(yīng)的電機轉(zhuǎn)速與方向,試驗測試可得移動機器人的整體運動與輪子運動配合的關(guān)系圖,如圖8所示。
圖8 整體運動與輪子運動的配合圖
本文建立了移動機器人的結(jié)構(gòu)及控制系統(tǒng)的設(shè)計,通過分析對比其他控制方法,具有以下優(yōu)勢:
(1)四個輪子采用四個電機獨立驅(qū)動的方式,控制方便,系統(tǒng)穩(wěn)定性好。
(2)工業(yè)控制板與電機驅(qū)動器采用CAN通信的方式,實時性高,信號抗干擾能力強。同時相對于IO直連的方式,連接線少,系統(tǒng)簡潔。
(3)從提高實時性和提高通信速率的角度出發(fā),針對CAN網(wǎng)絡(luò)中不同的數(shù)據(jù)寄存器采用不同的數(shù)據(jù)傳送方式。對于經(jīng)常訪問的寄存器,如電機電流、速度和位置等信息,采用PDO的方式。對于不經(jīng)常訪問的寄存器,如初始化配置參數(shù)等,采用SDO的方式。
(4)現(xiàn)有的移動機器人平臺,可以為后續(xù)的進一步研究提供基礎(chǔ)。