楊家武 劉林 王琢 張鐸
摘? 要: 為了保證移動(dòng)機(jī)器人的機(jī)動(dòng)性和靈活性,提高登臺(tái)越障運(yùn)動(dòng)的能力,設(shè)計(jì)了一種基于Mecanum輪的輪腿式全方位移動(dòng)機(jī)器人。采用M3508直流無刷減速電機(jī)和4個(gè)Mecanum輪相配合的方式,實(shí)現(xiàn)機(jī)器人的全方位運(yùn)動(dòng);通過同步帶傳動(dòng),完成前后輔助腿的伸縮運(yùn)動(dòng),達(dá)到登臺(tái)越障效果;采用STM32F405RGT6單片機(jī)控制中心板驅(qū)動(dòng)底盤驅(qū)動(dòng)電機(jī)和輔助腿伸縮電機(jī),完成指控動(dòng)作;利用串級(jí)PID控制電機(jī),減少穩(wěn)態(tài)誤差,提高系統(tǒng)穩(wěn)定性。結(jié)果表明,基于Mecanum輪的輪腿式全方位移動(dòng)機(jī)器人機(jī)動(dòng)性強(qiáng)、登臺(tái)越障能力相對(duì)于普通移動(dòng)機(jī)器人得到顯著提高。
關(guān)鍵詞: Mecanum輪; 輪腿式全方位移動(dòng)機(jī)器人; STM32; 串級(jí)PID; FreeRTOS; 實(shí)時(shí)嵌入式系統(tǒng)
中圖分類號(hào): TN99?34; TP242? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號(hào): 1004?373X(2020)05?0155?04
Research and design of wheel?legged omni?directional
mobile robot based on Mecanum wheel
YANG Jiawu, LIU Lin, WANG Zhuo, ZHANG Duo
(Northeast Forestry University, Harbin 150040, China)
Abstract: In order to ensure the maneuverability and flexibility of mobile robot and improving the ability of stepping platforms and crossing obstacles, a wheel?legged omni?directional mobile robot based on Mecanum wheel is designed. The M3508 DC brushless gearmotor combined with 4 Mecanum wheels is used to realize the omni?directional mobile of the robot; the front and rear auxiliary legs stretch out and draw back by synchronous belt transmission to step platforms and cross obstacles; the STM32F405RGT6 single chip control center plate drive, chassis drive motor and the motor for auxiliary legs stretching out and drawing back are used to fulfill the directing or controlling action; the cascade PID control motor is used to reduce the steady?state error and improve the system stability. The results show that the wheel?legged omni?directional mobile robot based on the Mecanum wheel is of highly maneuverability and the ability of stepping platforms and crossing obstacles are significantly improved in comparison with the ordinary mobile robot.
Keywords: Mecanum wheel; wheel?legged omni?directional mobile robot; STM32; cascade PID; FreeRTOS; real?time embedded system
0? 引? 言
在移動(dòng)機(jī)器人系列中,具有在平面內(nèi)可以實(shí)現(xiàn)前后移動(dòng)、左右移動(dòng)及繞機(jī)器人中心旋轉(zhuǎn)的特征,則稱為全方位移動(dòng)機(jī)器人。在工作空間狹窄有限,需要移動(dòng)機(jī)器人具有很高機(jī)動(dòng)性的場(chǎng)合,全方位移動(dòng)機(jī)器人具有較強(qiáng)的適用性和實(shí)用性[1?2]。目前應(yīng)用較為廣泛的全方位移動(dòng)方式分為:Mecanum輪式全方位移動(dòng)機(jī)器人、全輪偏轉(zhuǎn)式全方位移動(dòng)機(jī)器人及球輪式全方位移動(dòng)機(jī)器人[3?4]。其中,Mecanum輪式全方位移動(dòng)機(jī)器人因其單輪系只需要一個(gè)驅(qū)動(dòng)電機(jī),而整個(gè)全方位移動(dòng)底盤只需要成對(duì)的單輪系進(jìn)行組合安裝,通過控制每個(gè)輪系的轉(zhuǎn)動(dòng)速度及方向就可以組合出任意方向的移動(dòng)及原地旋轉(zhuǎn),具有整體結(jié)構(gòu)緊湊、安裝方便、控制靈活、反應(yīng)迅速的特點(diǎn)。
Mecanum輪由框架式的輪轂以及多個(gè)被動(dòng)的輥?zhàn)友b配而成,其中,輥?zhàn)优c輪轂軸線成一定角度均布安裝[5]。在運(yùn)動(dòng)過程中,輥?zhàn)邮冀K與地面接觸,這對(duì)最外層的包膠層磨損比較嚴(yán)重,而且多個(gè)均布的輥?zhàn)又g需要一定間隙才能保證單個(gè)輥?zhàn)颖粍?dòng)的流暢性,這些因素限制了Mecanum輪全方位移動(dòng)機(jī)器人的使用場(chǎng)合大多為結(jié)構(gòu)化地形,除了平整的地面,小坡度的斜面、小間隙的溝壑以及一定高度的臺(tái)階其均能通過[6]。但超過半輪徑高度的臺(tái)階型地形,普通的Mecanum輪底盤系統(tǒng)較難進(jìn)行越障通過。本文研制的基于Mecanum輪的輪腿式全方位移動(dòng)機(jī)器人,既能滿足在結(jié)構(gòu)化地形進(jìn)行高機(jī)動(dòng)性的全方位移動(dòng),也能進(jìn)行兩倍輪徑高度內(nèi)的越障運(yùn)動(dòng)。
1? 機(jī)械結(jié)構(gòu)設(shè)計(jì)
1.1? Mecanum輪全方位移動(dòng)底盤設(shè)計(jì)
Mecanum輪最早是由瑞典麥克納姆公司提出的,被動(dòng)輥?zhàn)优c輪轂軸線多以呈45°角安裝,分為左旋輪和右旋輪兩種。在設(shè)計(jì)使用中多以成對(duì)安裝形式出現(xiàn),在此基礎(chǔ)上,想要實(shí)現(xiàn)全方位運(yùn)動(dòng),每個(gè)車輪需要獨(dú)立的驅(qū)動(dòng)來保證相對(duì)獨(dú)立的轉(zhuǎn)速及轉(zhuǎn)向變化[7]。由于本文的研究設(shè)計(jì)針對(duì)于結(jié)構(gòu)化地面,所以在移動(dòng)底盤的設(shè)計(jì)中采用四輪底盤,整個(gè)移動(dòng)底盤及伸縮輔助輪腿所需要的支撐框架均由方形空心鋁方管焊接而成,底盤驅(qū)動(dòng)電機(jī)座、輔助輪腿伸縮電機(jī)座、電源模塊安裝座等,通過在框架上打孔,利用螺栓連接進(jìn)行整體樣機(jī)的安裝。
M3508直流無刷減速電機(jī)是專門為中小型移動(dòng)平臺(tái)和機(jī)器人等量身打造的高性能伺服電機(jī),可搭配C620電調(diào)實(shí)現(xiàn)正弦驅(qū)動(dòng),相比傳統(tǒng)方波驅(qū)動(dòng)具有更高的效率、機(jī)動(dòng)性和穩(wěn)定性。本移動(dòng)底盤選用的減速箱減速比為19[∶]1的M3508作為驅(qū)動(dòng)電機(jī),搭配的Mecanum輪是一款直徑為152.5 mm的45°全向輪,輪轂由鈑金件焊接而成,每個(gè)輪子安裝有16個(gè)橡膠小棍子,中心有6個(gè)直徑為5 mm的安裝孔位均布在直徑為45 mm的圓周上,左右中心厚度為28 mm。
1.2? 輔助輪腿式結(jié)構(gòu)設(shè)計(jì)
Mecanum輪式移動(dòng)底盤在微弱不平的地面運(yùn)動(dòng)時(shí),可通過增加減震結(jié)構(gòu)使各輪與地面保持良好的接觸性[8]。在面對(duì)超過輪半徑的垂直障礙時(shí),全方位移動(dòng)底盤很難完成登臺(tái)運(yùn)動(dòng),而在進(jìn)行較高垂直度的越障運(yùn)動(dòng)時(shí),腿式結(jié)構(gòu)有其明顯的優(yōu)勢(shì)[9]。本文設(shè)計(jì)制作的輪腿式全方位移動(dòng)機(jī)器人,其腿結(jié)構(gòu)以伸縮輔助形式存在,結(jié)構(gòu)示意圖如圖1所示。輔助腿式結(jié)構(gòu)分為前后兩個(gè)部分:其中,前輔助腿安裝有兩個(gè)主動(dòng)橡膠輪,驅(qū)動(dòng)電機(jī)為RM2006,減速箱的減速比為96[∶]1;后輔助腿安裝有兩個(gè)被動(dòng)橡膠輪。前后輔助腿分別安裝在全方位移動(dòng)底盤的前立滑軌和后立滑軌上,在滑軌上的直線運(yùn)動(dòng)分別用兩個(gè)M3508電機(jī)作為動(dòng)力源,采用同步帶傳動(dòng)的方式實(shí)現(xiàn)豎直方向的伸縮運(yùn)動(dòng)。以底盤Mecanum輪圓周輪廓線最低點(diǎn)組成的平面為參考面,在此參考面的法線方向上,前輔助腿的運(yùn)動(dòng)范圍為0~345 mm,后輔助腿的運(yùn)動(dòng)范圍為-280~65 mm,可實(shí)現(xiàn)最高345 mm的登臺(tái)越障運(yùn)動(dòng)。機(jī)器人的樣機(jī)如圖2所示。登臺(tái)越障過程示意圖如圖3所示,下臺(tái)階運(yùn)動(dòng)為其反過程。
2? 電路系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)
2.1? 總體框圖
在設(shè)計(jì)電路時(shí)盡量使其簡(jiǎn)潔,減少元器件的數(shù)量,縮減PCB電路的面積。對(duì)電路進(jìn)行詳細(xì)的分析后,精簡(jiǎn)電路,對(duì)器件進(jìn)行合理的布局排列和走線。電路設(shè)計(jì)思路框圖如圖4所示,控制器采用單片機(jī)STM32F405RGT6,通過中心板向底盤驅(qū)動(dòng)電機(jī)及輔助腿伸縮電機(jī)提供24 V的直流電源和CAN信號(hào),從而達(dá)到控制電機(jī)的目的。
2.2? 硬件電路設(shè)計(jì)
主控板是整個(gè)全方位移動(dòng)機(jī)器人電路部分的核心,主控板集成電源模塊、MCU模塊、CAN通信模塊、串口模塊、遙控器接收模塊等重要模塊,每個(gè)模塊扮演著不可替代的作用。
2.2.1? MCU模塊
單片機(jī)采用STM32F4系列的STM32F405RGT6芯片,基于ARM Cortex?M4的STM32F4系列單片機(jī)采用意法半導(dǎo)體的NVM工藝和ART加速器,在168 MHz的工作頻率下通過閃存執(zhí)行指令時(shí)可實(shí)現(xiàn)210 DMIPS的性能[10]。高達(dá)1 MB內(nèi)存,而且性價(jià)比極高。通過對(duì)STM32F4系列芯片的了解,選用STM32F405RGT6芯片,此芯片含有51個(gè)GOIO口,16個(gè)ADC通道,10個(gè)定時(shí)器等,并且此單片機(jī)的接口類型可以復(fù)用為CAN,I2C,I2S,SPI,USART,豐富的外設(shè)接口足以滿足需求。
2.2.2? 電源模塊
電源模塊對(duì)于一個(gè)控制系統(tǒng)來說極其重要,一個(gè)穩(wěn)定的電路關(guān)系到整個(gè)系統(tǒng)是否能夠正常工作,因此在設(shè)計(jì)控制系統(tǒng)時(shí),選好合適的電源模塊尤為重要。整個(gè)系統(tǒng)采用24 V直流電源TB47供電,而MCU模塊、CAN通信模塊等采用的是3.3 V供電,遙控器接收模塊、串口模塊等采用5 V供電。
采用由TI公司最新推出的一款DC/DC開關(guān)電源TPS5430轉(zhuǎn)換芯片組成其外部電路如圖5所示。TPS5430具有良好的特性,高電流輸出和高轉(zhuǎn)換效率使其具有良好的穩(wěn)壓功能,并且內(nèi)部有過流保護(hù)及熱關(guān)斷功能,這些優(yōu)質(zhì)的特性更好地保護(hù)了TPS5430,從而能夠更穩(wěn)定的輸出電壓,從而為所需要的模塊供電。再采用AMS1117?3.3 V,AMS?1117是一種輸出電壓為3.3 V的正向低壓降穩(wěn)壓器,適用于高效率線性穩(wěn)壓器,其外圍電路十分簡(jiǎn)單。通過它將電壓降為3.3 V,從而為單片機(jī)供電。
2.2.3? CAN通信模塊
輪腿式全方位移動(dòng)機(jī)器人底盤的4個(gè)驅(qū)動(dòng)電機(jī)M3508和2個(gè)輔助腿伸縮電機(jī)M3508,采用兩路CAN總線網(wǎng)絡(luò)進(jìn)行控制,通過遙控器向電機(jī)電調(diào)發(fā)送高八位和低八位字節(jié)從而驅(qū)動(dòng)電機(jī)的轉(zhuǎn)動(dòng),而CAN總線網(wǎng)絡(luò)主要掛在CAN_H和CAN_L上,各個(gè)節(jié)點(diǎn)通過這兩條線實(shí)現(xiàn)信號(hào)的串行差分傳輸。為了避免信號(hào)的反射和干擾,還需要在CAN_H和CAN_L之間接上120 Ω的終端電阻。而為了實(shí)現(xiàn)CAN通信,就要通過CAN收發(fā)器實(shí)現(xiàn)單片機(jī)和電機(jī)電調(diào)之間的CAN通信。采用MAX3051收發(fā)器,電路如圖6所示。
3? 軟件設(shè)計(jì)
3.1? 總程序控制流程
輪腿式全方位移動(dòng)機(jī)器人系統(tǒng)的主程序控制部分程序流程圖如圖7所示,其主要實(shí)現(xiàn)模塊通信、數(shù)據(jù)解析、電機(jī)控制以及狀態(tài)顯示。首先,片內(nèi)資源初始化;啟動(dòng)串口接收任務(wù),監(jiān)聽片內(nèi)串口狀態(tài),并啟動(dòng)DMA自動(dòng)傳輸通過串口傳遞的信息,在串口空閑中斷中打包投遞到串口解析的郵箱;啟動(dòng)串口發(fā)送任務(wù),監(jiān)聽串口發(fā)送郵箱內(nèi)容,當(dāng)有發(fā)送內(nèi)容投遞過來時(shí),調(diào)用DMA自動(dòng)發(fā)送信息到相應(yīng)串口;啟動(dòng)解析模塊,監(jiān)聽串口解析郵箱,當(dāng)有內(nèi)容是進(jìn)行解析并更新相應(yīng)執(zhí)行機(jī)構(gòu)的狀態(tài);啟動(dòng)電機(jī)控制模塊,通過讀取電機(jī)狀態(tài)與目標(biāo)設(shè)定值,調(diào)用PID運(yùn)算函數(shù)完成電機(jī)控制量的計(jì)算,并投遞到相應(yīng)的串口發(fā)送郵箱,等待被發(fā)送任務(wù)發(fā)送;啟動(dòng)顯示模塊,通過讀取當(dāng)前機(jī)器人的狀態(tài),翻譯成相應(yīng)的燈信號(hào),控制LED相應(yīng)的I/O完成顯示;最后啟動(dòng)任務(wù)調(diào)度器,進(jìn)行任務(wù)調(diào)度并運(yùn)行。
3.2? 軟件總體結(jié)構(gòu)
輪腿式全方位移動(dòng)機(jī)器人軟件部分的總體結(jié)構(gòu)主要包含通信模塊、數(shù)據(jù)解析模塊、電機(jī)控制模塊、顯示模塊。
3.2.1? 通信模塊
由于整個(gè)系統(tǒng)執(zhí)行任務(wù)復(fù)雜,執(zhí)行機(jī)構(gòu)多,所以,絕大多數(shù)執(zhí)行機(jī)構(gòu)的驅(qū)動(dòng)并沒有直接集成在主控電路板上,而是單獨(dú)封裝在獨(dú)立的驅(qū)動(dòng)單元上。因此,控制電機(jī)與其他執(zhí)行機(jī)構(gòu)的最終控制方式則是以發(fā)送命令的方式。因此,通信模塊主要負(fù)責(zé)封裝統(tǒng)一的接口,自動(dòng)接收總線上的命令與通過不同的協(xié)議發(fā)送控制命令到不同的總線上。
3.2.2? 數(shù)據(jù)解析模塊
系統(tǒng)含有不同種類的執(zhí)行器,每種執(zhí)行器反饋的協(xié)議各異。為了方便主程序的調(diào)用,數(shù)據(jù)解析模塊則主要負(fù)責(zé)根據(jù)不同執(zhí)行器種類以相應(yīng)的協(xié)議解析執(zhí)行器反饋的數(shù)據(jù),并對(duì)主程序提供統(tǒng)一的接口。
3.2.3? 電機(jī)控制模塊
獨(dú)立單元往往只能進(jìn)行電機(jī)的驅(qū)動(dòng)方式,而沒有運(yùn)算功能。電機(jī)的控制一般大致分為位置控制與速度控制兩類,其控制率采用串級(jí)PID控制[11]。輪腿式全方位移動(dòng)機(jī)器人電機(jī)又分為底盤驅(qū)動(dòng)電機(jī)、輔助腿伸縮電機(jī)、輔助輪驅(qū)動(dòng)電機(jī)等,每種電機(jī)由于型號(hào)不同,執(zhí)行任務(wù)不同,所以控制參數(shù)也不同。電機(jī)控制模塊則是將每個(gè)物理的電機(jī)虛擬化成一個(gè)統(tǒng)一的對(duì)象,每個(gè)對(duì)象獨(dú)享一塊內(nèi)存,保存該電機(jī)的控制參數(shù)與運(yùn)行狀態(tài),并在適當(dāng)?shù)臅r(shí)候進(jìn)行PID控制運(yùn)算生成控制命令輸送給通信模塊,并從數(shù)據(jù)解析模塊獲取電機(jī)當(dāng)前的運(yùn)動(dòng)狀態(tài)。通過封裝成統(tǒng)一的對(duì)象,使得主程序只需要更改每個(gè)對(duì)象的目標(biāo)位置、目標(biāo)速度就能夠使得實(shí)體電機(jī)完成相應(yīng)的動(dòng)作。
3.2.4? 顯示模塊
為了直觀地了解全方位移動(dòng)機(jī)器人當(dāng)前的運(yùn)行狀態(tài),在程序中設(shè)計(jì)了能夠表示機(jī)器人當(dāng)前狀態(tài)與提示問題的LED,在運(yùn)行過程中將會(huì)通過不同閃爍頻率、不同顏色、不同位置的LED狀態(tài)提示當(dāng)前的運(yùn)動(dòng)情況與可能存在的問題。
程序框架采用FreeRTOS實(shí)時(shí)嵌入式系統(tǒng)對(duì)每個(gè)模塊進(jìn)行調(diào)度。簡(jiǎn)化了程序設(shè)計(jì)難度,能夠通過增加任務(wù)的方式完成復(fù)雜控制過程,通過信號(hào)量與郵箱的方式完成各個(gè)模塊的同步與通信,通過優(yōu)先級(jí)設(shè)定與內(nèi)存管理充分調(diào)用單片機(jī)的片內(nèi)資源,在不增加編程復(fù)雜度的條件下盡可能地完成更復(fù)雜的控制方式。
4? 結(jié)? 語
本文著重介紹了基于Mecanum輪的輪腿式全方位移動(dòng)機(jī)器人的設(shè)計(jì)方案,在結(jié)構(gòu)上采用增加輔助伸縮腿式機(jī)構(gòu),實(shí)現(xiàn)最高可達(dá)兩倍輪徑的自主登臺(tái)越障及下臺(tái)運(yùn)動(dòng)。整體框架的搭建采用氬弧焊完成,大幅降低了整個(gè)機(jī)器人的研制成本,本文研制的輪腿式全方位移動(dòng)機(jī)器人為移動(dòng)機(jī)器人的越障提供了一種可行的解決方案。
注:本文通訊作者為王琢。
參考文獻(xiàn)
[1] 賈茜,汪木蘭,劉樹青,等.全方位移動(dòng)機(jī)器人研究綜述[J].制造業(yè)自動(dòng)化,2015,37(7):131?134.
[2] 周衛(wèi)華,張德發(fā).四輪移動(dòng)機(jī)器人平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].電氣自動(dòng)化,2018,40(5):10?12.
[3] 付宜利,李寒,徐賀,等.輪式全方位移動(dòng)機(jī)器人幾種轉(zhuǎn)向方式的研究[J].制造業(yè)自動(dòng)化,2005,27(10):33?37.
[4] 王興松.Mecanum輪全方位移動(dòng)機(jī)器人技術(shù)及其應(yīng)用[J].機(jī)械制造與自動(dòng)化,2014,43(3):1?6.
[5] 仇宇文,溫浩凱,利圣佳,等.基于Mecanum輪的全方位運(yùn)動(dòng)平臺(tái)的構(gòu)建與分析[J].機(jī)械工程與自動(dòng)化,2017(5):25?27.
[6] 王一治,錢晉武,常德功.不平地面上Mecanum輪全方位系統(tǒng)運(yùn)動(dòng)學(xué)通用模型[J].機(jī)械工程學(xué)報(bào),2009,45(9):77?81.
[7] T?TH F, KRAS?ANSK? P, GULAN M, et al. Control systems in omni?directional robotic vehicle with Mecanum wheels [C]// 2013 International Conference on Process Control. Strbske Pleso: IEEE, 2013: 516?521.
[8] 蔣澄燦,芮延年.不平路面全方位移動(dòng)機(jī)器人智能控制技術(shù)的研究[J].中國(guó)科學(xué)(技術(shù)科學(xué)),2017,47(5):463?471.
[9] 朱陽洋,朱新云,鄭園成,等.基于Mecanum輪的全方位越障礙小車設(shè)計(jì)[J].科技經(jīng)濟(jì)導(dǎo)刊,2018,26(24):9?10.
[10] 李祥,崔昊楊,皮凱云,等.基于STM32的變電站巡檢機(jī)器人系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2017,40(17):150?153.
[11] 田琦,張國(guó)良,劉巖.全方位移動(dòng)機(jī)器人模糊PID運(yùn)動(dòng)控制研究[J].現(xiàn)代電子技術(shù),2009,32(5):131?133.