模仿人的形態(tài)和行為而設(shè)計(jì)制造的機(jī)器人就是仿人機(jī)器人,一般分別或同時(shí)具有仿人的四肢和頭部。中國科技大學(xué)陳小平教授介紹,機(jī)器人一般根據(jù)不同應(yīng)用需求被設(shè)計(jì)成不同形狀,如運(yùn)用于工業(yè)的機(jī)械臂、輪椅機(jī)器人、步行機(jī)器人等。而仿人機(jī)器人研究集機(jī)械,電子,計(jì)算機(jī),材料,傳感器,控制技術(shù)等多門科學(xué)于一體,代表著一個(gè)國家的高科技發(fā)展水平。從機(jī)器人技術(shù)和人工智能的研究現(xiàn)狀來看,要完全實(shí)現(xiàn)高智能,高靈活性的仿人機(jī)器人還有很長的路要走,而且,人類對自身也沒有徹底地了解,這些都限制了仿人機(jī)器人的發(fā)展。
一、基于ARM9的嵌入式仿人機(jī)器人傳感器系統(tǒng)設(shè)計(jì)
傳感器技術(shù)是仿人機(jī)器人研究的關(guān)鍵技術(shù)之一。仿人機(jī)器人之所以能在已知或未知的環(huán)境中完成一定的作業(yè)功能,是因?yàn)樗軌蛲ㄟ^傳感器感知外部環(huán)境信息和自身狀態(tài),獲得反饋信息,實(shí)現(xiàn)系統(tǒng)的閉環(huán)控制。目前在仿人機(jī)器人中應(yīng)用的傳感器種類繁多,例如視覺傳感器、電子羅盤、加速度計(jì)和超聲波傳感器等都是仿人機(jī)器人中常用的傳感器。
DF-1機(jī)器人是我院自主研制的一款仿人機(jī)器人。本文首先對DF-1機(jī)器人總系統(tǒng)進(jìn)行了介紹,然后根據(jù)DF-1機(jī)器人需要實(shí)現(xiàn)的功能,設(shè)計(jì)DF-1機(jī)器人的傳感器系統(tǒng),然后實(shí)現(xiàn)傳感器系統(tǒng)的具體工作電路,利用ARM9實(shí)現(xiàn)了傳感器系統(tǒng)信息的采集,最后對傳感器系統(tǒng)的效果進(jìn)行了試驗(yàn)驗(yàn)證。
1.DF-1仿人機(jī)器人簡介
DF-1機(jī)器人模仿人體外形結(jié)構(gòu),利用舵機(jī)結(jié)構(gòu)實(shí)現(xiàn)人類關(guān)節(jié)的功能,如圖1所示。DF-1身長45cm,共設(shè)有17個(gè)自由度,具體分配為:踝關(guān)節(jié)2×2=4個(gè)自由度,膝關(guān)節(jié)2×1=2個(gè)自由度,胯關(guān)節(jié)2×2=4個(gè)自由度,肩關(guān)節(jié)2×2=4個(gè)自由度,肘關(guān)節(jié)2×1=2個(gè)自由度,頭部1個(gè)自由度。DF-1機(jī)器人內(nèi)部采用ARM9微處理器,主要用來完成信息的融合、決策和規(guī)劃等任務(wù)。DF-1機(jī)器人已經(jīng)能夠?qū)崿F(xiàn)的功能有步行、做俯臥撐、上樓梯、打太極拳,這些功能的實(shí)現(xiàn)是建立在:DF-1機(jī)器人具有良好機(jī)械結(jié)構(gòu)基礎(chǔ)上的,通過人工調(diào)試,設(shè)定具體程序完成的。為提高機(jī)器人動(dòng)作的穩(wěn)定性,實(shí)現(xiàn)DF-1機(jī)器人的智能控制,需要對機(jī)器人配置傳感器系統(tǒng),使機(jī)器人能夠感知自身狀態(tài)和外界環(huán)境。
2 傳感器系統(tǒng)設(shè)計(jì)
DF-1機(jī)器人的胸腔部位安裝了三個(gè)超聲傳感器,分別用來測量機(jī)器人正前、左前和右前方向的障礙物。在該傳感器系統(tǒng)中,采用了ARM9微處理器作為信息的采集、數(shù)據(jù)預(yù)處理和通信單元。由于超聲波傳感器存在多次反射問題,在超聲波相對應(yīng)的位置安裝了三個(gè)紅外測距傳感器用來解決這一問題。傳感器系統(tǒng)獲取的信息采用定長字節(jié)格式通過RS232接口傳送給上位機(jī)。傳感器系統(tǒng)的基本結(jié)構(gòu)如圖1所示。
2.1加速度計(jì)傳感器
判定機(jī)器人姿態(tài)的傳感器有陀螺儀和加速度計(jì)等傳感器,由于陀螺成本較高,而DF-1機(jī)器人在運(yùn)動(dòng)變化上較為緩慢,故本文采用了成本較低的加速度計(jì)來感知機(jī)器人的姿態(tài)。加速度計(jì)是物體運(yùn)動(dòng)測試中的重要元件,它的輸出與物體的加速度成比例。傳感器系統(tǒng)所采用加速度計(jì)的具體型號為AD公司生產(chǎn)的雙軸加速度計(jì)ADXL202。ADXL202具有兩種輸出,一種是從XFILT和YFILT引腳輸出模擬信號;另一種是直接從XOUT和YOUT引腳輸出經(jīng)調(diào)制后的DCM信號。在具體使用中,選用了加速度計(jì)的DCM信號輸出,這樣就可省去使用模擬信號需要引入的A/D轉(zhuǎn)換環(huán)節(jié),簡化了電路設(shè)計(jì)難度。
2.2超聲傳感器
用來測距的傳感器主要有紅外傳感器、超聲波傳感器、激光測距儀等,為了能在測量距離的同時(shí)判斷出物體的大致形狀,應(yīng)設(shè)計(jì)成多傳感器測距系統(tǒng)。考慮到機(jī)器人的安裝空間以及成本問題,主要選用了超聲波傳感器進(jìn)行距離的測量。
超聲波傳感器主要用來完成機(jī)器人到周圍障礙距離信息的測量,超聲波在測距過程中存在多次反射問題,即超聲波遇到障礙物體時(shí),沒有沿著原路返回發(fā)射接收點(diǎn),而是經(jīng)過多次反射后才返回發(fā)射接收點(diǎn),這樣測量到的距離信息不再真實(shí),情況嚴(yán)重時(shí)會(huì)“丟失”目標(biāo)。本文選用DEVANTECH公司生產(chǎn)的SFR05。SFR05的體積小,信號穩(wěn)定,便于在機(jī)器人中安裝,而且SFR05的測量距離為1cm~4m,在最小測量距離上可認(rèn)為該傳感器不存在盲區(qū)。
2.3 紅外傳感器
為了彌補(bǔ)超聲傳感器在測距中多次反射的問題,在超聲波相對應(yīng)的位置安裝了三個(gè)紅外測距傳感器。當(dāng)超聲波傳感器測量的距離遠(yuǎn)遠(yuǎn)大于同方向上紅外傳感器測量的距離時(shí),可以據(jù)此推斷出超聲波已經(jīng)進(jìn)行了多次反射,并用紅外傳感器測量的距離信息來取代超聲波傳感器的信息。本文使用的紅外傳感器為SHARP公司生產(chǎn)的GP2D12,可測距離為10~80cm。GP2D12加上電源就可工作,輸出電壓為0.3~2.8V。GP2D12傳感器在測量距離時(shí)受外界光強(qiáng)度、物體外表反射率及物體顏色的影響較小。
3.軟件實(shí)現(xiàn)
傳感器系統(tǒng)數(shù)據(jù)采集與處理單元采用ARM9微處理器,主要完成以下功能:實(shí)現(xiàn)對加速度計(jì)的控制和加速度的測量,并根據(jù)加速度值,計(jì)算機(jī)器人的傾角;實(shí)現(xiàn)對超聲波傳感器的控制,完成距離信息的計(jì)算;實(shí)現(xiàn)對紅外傳感器的控制,完成距離信息的獲?。粚Λ@得的傾角、超聲波測距和紅外測距數(shù)據(jù),按照規(guī)定的通信協(xié)議發(fā)送給上位機(jī),程序主流程如圖3所示。
程序首先要初始化,主要包括系統(tǒng)時(shí)鐘的選擇、管腳的分配、中斷優(yōu)先級、定時(shí)器時(shí)鐘和工作方式的選定等。在ARM9內(nèi)部資源中,具有PCA定時(shí)器單元和A/D單元,這些方便了對本傳感器系統(tǒng)的數(shù)據(jù)采集。防止超聲波傳感器之間發(fā)生串?dāng)_,對超聲波傳感器采用輪流測量的方式。由于超聲波傳感器的工作周期為50ms,當(dāng)工作時(shí)間少于50ms時(shí),超聲波傳感器會(huì)誤認(rèn)為下次測量發(fā)送超聲波產(chǎn)生的干擾為本次的回波,造成距離測量上的失真,而紅外傳感器建立電壓的時(shí)間只需要5ms,所以在編程上,利用定時(shí)器0產(chǎn)生50ms延遲,依次對3對超聲波傳感器和紅外傳感器進(jìn)行數(shù)據(jù)采集。由于加速度傳感器和紅外、超聲傳感器之間是獨(dú)立的,而且數(shù)量只有一個(gè),它的采集過程只依賴于PCA捕捉模塊捕捉到的時(shí)刻,所以加速度計(jì)信息的采集和預(yù)處理工作可貫穿于150ms以內(nèi)。在完成對傳感器系統(tǒng)的信息采集和預(yù)處理后,還要將獲取的數(shù)據(jù)發(fā)送給上位機(jī),為上位機(jī)的決策提供必要的數(shù)據(jù)。
4.實(shí)驗(yàn)驗(yàn)證
4.1加表實(shí)驗(yàn)
由于當(dāng)機(jī)器人傾斜的時(shí)候,重力加速度會(huì)在加速度兩軸上產(chǎn)生分量,這時(shí)加速度值為Ax=gsinα和Ay=gsinβ。在加速度計(jì)水平放置的時(shí)候,Ax=gsinα,由于條件的限制,很難使加速度計(jì)達(dá)到絕對水平。在α=0附近,sinα變化幅度大,這樣會(huì)影響標(biāo)定效果,而在a=π/2附近,sinα變化幅度較小。為了得到較好的加速度計(jì)標(biāo)定效果,采用了豎直標(biāo)定的方法,即將PCB電路板用細(xì)線懸掛起來,分別得到g和-g時(shí)的值,通過計(jì)算就可得到加速度在0g時(shí)的值。由于ADXL202的輸出含有高斯白噪聲,應(yīng)用直接采來的數(shù)據(jù)會(huì)有較大的誤差,因而需要對采集來的數(shù)據(jù)進(jìn)行處理后再加以應(yīng)用。
通過平均值濾波可降低噪聲的影響,假設(shè)Xi為直接采集來的數(shù)據(jù),Yi為平均值濾波后的數(shù)據(jù),Yi=(∑xi)/n,由概率論知識可知,EYi=EXi,DYi=DXi/n。從中可看出平均值濾波的效果與平均點(diǎn)數(shù)n有關(guān),n越大,濾波效果越好。考慮到機(jī)器人的運(yùn)動(dòng)情況,可取n=15,即噪聲的方差變?yōu)樵瓉淼?/15。圖4是DF-1機(jī)器人在運(yùn)動(dòng)過程中獲取的傾斜角度值。其中L1表示了機(jī)器人的俯仰角度,L2表示了機(jī)器人的橫滾角度。
由于DF-1仿人機(jī)器人體型較小,運(yùn)動(dòng)較為緩慢,在障礙距離測量上,能夠?qū)Ω?m以內(nèi)的障礙就可滿足應(yīng)用要求。在2m以內(nèi)不同距離上放置平面障礙,利用超聲波和紅外傳感器測量這些距離信息,測得的距離與實(shí)際距離如表1所示。
從表中可以看出,超聲波測量距離的誤差在2%以內(nèi),紅外傳感器測量距離的誤差在4%以內(nèi),可以滿足DF-1仿人機(jī)器人的應(yīng)用要求。
本文針對DF-1機(jī)器人要實(shí)現(xiàn)的功能,基于ARM9微處理器設(shè)計(jì)了傳感器系統(tǒng)。試驗(yàn)結(jié)果證明,本傳感器系統(tǒng)基本可以滿足機(jī)器人的功能需求,具有一定的應(yīng)用價(jià)值。具備傳感器系統(tǒng)的DF-1機(jī)器人對外界環(huán)境和自身狀態(tài)有了一定的感知能力,為上位機(jī)進(jìn)行動(dòng)作決策提供可靠的依據(jù),提高了機(jī)器人的智能性。
二、 基于CAN總線的仿人機(jī)器人力信息檢測系統(tǒng)
隨著信息檢測技術(shù)和控制技術(shù)的發(fā)展,仿人機(jī)器人運(yùn)動(dòng)控制已經(jīng)從傳統(tǒng)的離線規(guī)劃方法研究轉(zhuǎn)向基于環(huán)境信息的實(shí)時(shí)控制研究,仿人機(jī)器人的實(shí)時(shí)姿態(tài)調(diào)整與實(shí)時(shí)步態(tài)生成方法也成為運(yùn)動(dòng)控制的研究重點(diǎn)。對于步行機(jī)器人而言,其腳掌所受到的地面反力信息是最重要的外部環(huán)境信息之一,它尤其能夠反映仿人機(jī)器人的姿態(tài)信息,在仿人機(jī)器人的實(shí)時(shí)姿態(tài)調(diào)整中具有重要作用。早在1989年,日本早稻田大學(xué)就在他們研制的兩足步行機(jī)器人WL-12RⅢ中應(yīng)用了六維力/力矩傳感器,該傳感器安裝在機(jī)器人的小腿上,機(jī)器人可根據(jù)反饋力信息在不平整地面上進(jìn)行穩(wěn)定行走;日本HONDA公司的仿人機(jī)器人P2,P3以及ASIMO均安裝了集成六維力/力矩傳感器,利用傳感器信息檢測地面反力信息。
在國家863計(jì)劃支持下,國防科技大學(xué)機(jī)器人實(shí)驗(yàn)室于2003年研制出一臺新型仿人機(jī)器人;同時(shí)與合肥智能機(jī)械研究所合作,在該機(jī)器人腳掌上安裝了可檢測地面反力信息的集成五維力/力矩傳感器。本文通過對仿人機(jī)器人運(yùn)動(dòng)控制系統(tǒng)結(jié)構(gòu)和傳感器電路結(jié)構(gòu)的分析,提出了一種基于CAN總線的力信息檢測系統(tǒng);通過實(shí)驗(yàn)表明,該力信息檢測系統(tǒng)能夠滿足力信息采集的基本要求,為其他外部環(huán)境信息的采集建立了一定基礎(chǔ)。
仿人機(jī)器人控制結(jié)構(gòu)分析與外部傳感信息采集結(jié)構(gòu)
將仿人機(jī)器人控制系統(tǒng)的大開環(huán)變成大閉環(huán)對控制系統(tǒng)的上位計(jì)算機(jī)處理能力、上下位機(jī)與傳感器信息之間的傳輸通道結(jié)構(gòu)以及傳感器信息采集與處理提出了挑戰(zhàn)。它要求上位計(jì)算機(jī)具備實(shí)時(shí)多任務(wù)處理能力,控制系統(tǒng)具有便于擴(kuò)展的多傳感器信息采集與處理通道。增加外部信息傳感器是控制結(jié)構(gòu)改進(jìn)的最基本條件。
增加外部信息傳感器,首先要在現(xiàn)有控制系統(tǒng)硬件結(jié)構(gòu)的基礎(chǔ)上,擴(kuò)展外部信息采集與處理模塊,形成開放的分層信息采集與處理結(jié)構(gòu)。結(jié)構(gòu)的底層節(jié)點(diǎn)由多個(gè)傳感器信息采集和預(yù)處理模塊(包括解耦和濾波等)構(gòu)成,得到的處理信息通過合適的物理通道傳送到?jīng)Q策層計(jì)算機(jī),形成一個(gè)從環(huán)境信息到機(jī)器人動(dòng)作序列產(chǎn)生的過程。
選擇實(shí)時(shí)性強(qiáng)且易于擴(kuò)展的物理通道,可以增強(qiáng)控制系統(tǒng)的外部傳感擴(kuò)展能力。在仿人機(jī)器人運(yùn)動(dòng)控制系統(tǒng)中,上下位機(jī)之間通過PC/104總線和RS232串行總線交換信息。當(dāng)系統(tǒng)需要擴(kuò)展外部傳感器時(shí),由于PC/104總線的有限驅(qū)動(dòng)能力,通過PC/104總線只能擴(kuò)展相當(dāng)有限的外部信息傳感器且擴(kuò)展不便(涉及到地址的重新分配等問題);RS232串行總線不能滿足高速實(shí)時(shí)信息傳輸與處理要求,因此考慮采用現(xiàn)場總線方式,如CAN總線,作為外部信息傳輸通道,同時(shí)設(shè)計(jì)其與上位機(jī)的通信接口。理想信息采集結(jié)構(gòu)如圖1所示。
圖1所示的信息采集結(jié)構(gòu),具有較強(qiáng)的易擴(kuò)展性和較高容錯(cuò)性能。每一個(gè)外部信息傳感器都可以獨(dú)立設(shè)計(jì);在整個(gè)信息采集結(jié)構(gòu)中,每個(gè)模塊都是對等的,之間可以點(diǎn)對點(diǎn)通信;上位機(jī)可對各個(gè)傳感器信息處理模塊的廣播,信息處理模塊的增減不會(huì)對整個(gè)信息傳輸通道產(chǎn)生影響,有利于傳感器及其處理模塊的擴(kuò)展和維護(hù)。另外,從底層通信協(xié)議角度而言,這種采集結(jié)構(gòu)亦具有較高容錯(cuò)性能。
力矩傳感器的電路結(jié)構(gòu)及工作原理
五維力/力矩傳感器的電路結(jié)構(gòu)如圖2所示。傳感器基本采集處理原理:當(dāng)傳感器受到外力或外力矩作用時(shí),彈性體產(chǎn)生形變,導(dǎo)致全橋橋路中的應(yīng)變片阻值發(fā)生改變,改變橋路輸出電壓;橋路輸出電壓通過前置濾波與放大進(jìn)入SoC,通過A/D變換得到的數(shù)字信號通過CAN總線或
RS232傳輸?shù)缴衔粰C(jī)。
力/力矩傳感器與控制系統(tǒng)的電路接口設(shè)計(jì)方法
接口電路的基本功能
仿人機(jī)器人底層控制器與上位機(jī)接口采用PC/104總線方式,力/力矩傳感器信息傳輸采用CAN總線結(jié)構(gòu),因此需設(shè)計(jì)CAN總線與PC/104總線之間的接口,實(shí)現(xiàn)已有控制系統(tǒng)與傳感器之間的通信及對力/力矩信息的預(yù)處理,如圖3所示。
接口電路的硬件結(jié)構(gòu)與基本設(shè)計(jì)原理
綜合考慮接口電路對主處理器的要求,如對力/力矩信息的實(shí)時(shí)處理能力、外設(shè)擴(kuò)展能力等,選用TMS320LF2407作為主處理器,通過對CAN總線和雙端口RAM的讀寫控制,實(shí)現(xiàn)力信息的讀取、預(yù)處理和上傳。接口電路基本原理如圖4所示。
選用TMS320LF2407作為主處理器。它采用實(shí)時(shí)信號處理體系結(jié)構(gòu),可達(dá)到30×106條指令/s的執(zhí)行速度,供電電壓為3.3V,功耗低,片內(nèi)外設(shè)中集成有控制器局域網(wǎng)絡(luò)(CAN)2.0B模塊和SCI模塊。
傳輸數(shù)據(jù)主要包括兩個(gè)力/力矩傳感器的五維力信息和經(jīng)過預(yù)處理得到的數(shù)據(jù),因此雙端口RAM選用IDT7132(2K×8bit)。一個(gè)端口接PC/104總線的數(shù)據(jù)線、低位地址線、高位地址譯碼產(chǎn)生的選通信號以及讀寫信號,譯碼通過MAX7032,根據(jù)上位機(jī)的空閑地址分配RAM地址;另一個(gè)端口接經(jīng)過電平轉(zhuǎn)換的DSP數(shù)據(jù)線低位地址線、高位地址譯碼產(chǎn)生的選通信號以及讀寫信號,通過SN74LV08A譯碼,分配的地址為F800~FFFF,通過SN74LV245A完成總線驅(qū)動(dòng)和電平轉(zhuǎn)換。
選取PCA82C250T作為驅(qū)動(dòng)CAN控制器和物理總線間的接口,提供對總線的差動(dòng)發(fā)送和接收功能。同時(shí)利用DSP的SCI模塊擴(kuò)展了一路RS232串口,選用3.3V供電的RS232驅(qū)動(dòng)器MAX3320作為串口驅(qū)動(dòng)器,與PC機(jī)進(jìn)行通信。
接口電路的軟件流程
接口電路驅(qū)動(dòng)程序中,首先對DSP進(jìn)行初始化設(shè)置,包括定時(shí)器初始化和CAN模塊初始化以及在IDT7132中設(shè)置平滑數(shù)據(jù)隊(duì)列等;然后向發(fā)送郵箱中寫入0或1,即對傳感器清零或者請求發(fā)送數(shù)據(jù);接收到數(shù)據(jù)之后,將數(shù)據(jù)從接收郵箱中讀入平滑數(shù)據(jù)隊(duì)列中,進(jìn)行平滑數(shù)據(jù)處理,供上位機(jī)查詢和讀取。
在DSP的初始化設(shè)置中,首先通過設(shè)置MCR寄存器來配置CAN引腳;初始化位定時(shí)器主要是設(shè)置寄存器BCR1和BCR2,決定CAN控制器的通信波特率、同步跳轉(zhuǎn)寬度、采樣次數(shù)和重同步方式。對郵箱的初始化主要是設(shè)置郵箱的標(biāo)識符;對發(fā)送的數(shù)據(jù)區(qū)賦初值,需要清零傳感器返回值時(shí),數(shù)據(jù)區(qū)賦值0,需要讀取數(shù)據(jù)時(shí),數(shù)據(jù)區(qū)賦值1。發(fā)送信息首先要使能發(fā)送郵箱,然后設(shè)置發(fā)送請求位,等待發(fā)送中斷標(biāo)志位置位,若為1,則發(fā)送成功,最后清除發(fā)送中斷標(biāo)志位和發(fā)送應(yīng)答位。接受信息時(shí),要對接收郵箱進(jìn)行初始化,設(shè)置標(biāo)識符以及與標(biāo)識符相關(guān)的局部屏蔽寄存器(LAM);然后等待接收中斷標(biāo)志位MIFn置位,若MIFn=1則接收成功,最后清除接收中斷標(biāo)志位和接收信息懸掛位。接收數(shù)據(jù)后,根據(jù)傳感器解耦矩陣完成數(shù)據(jù)解耦及平滑濾波。
根據(jù)文中提出的設(shè)計(jì)方法,已設(shè)計(jì)相應(yīng)的電路,實(shí)現(xiàn)了對力信息的實(shí)時(shí)采集和傳送。所設(shè)計(jì)的系統(tǒng)能夠完成力信息采集和平滑預(yù)處理工作,但還沒有加入對力信息的數(shù)字濾波設(shè)計(jì)。通過對所采集的力信息數(shù)據(jù)的特性分析,下一步將在軟件流程中增加數(shù)字濾波部分,使獲取的力信息能夠更加真實(shí)地反映機(jī)器人所受到的地面反力信息,使力信息能夠應(yīng)用于仿人機(jī)器人的大回路控制。
三、基于CAN總線和雙傳感器仿人機(jī)器人運(yùn)動(dòng)控制系統(tǒng)研究
機(jī)器人研究是自動(dòng)化領(lǐng)域最復(fù)雜。最具挑戰(zhàn)性的課題,它集機(jī)械。電子。計(jì)算機(jī)。材料。傳感器??刂萍夹g(shù)等多門學(xué)科于一體,是多學(xué)科高技術(shù)成果的集中體現(xiàn)。而仿人步行機(jī)器人技術(shù)的研究更是處于機(jī)器人課題研究的前沿,它在一定程度上代表了一個(gè)國家的高科技發(fā)展水平。運(yùn)動(dòng)控制系統(tǒng)是機(jī)器人控制技術(shù)的核心,也是機(jī)器人研究領(lǐng)域的關(guān)鍵技術(shù)之一,在機(jī)器人控制中具有舉足輕重的地位,因此,各研究機(jī)構(gòu)都把對機(jī)器人運(yùn)動(dòng)控制系統(tǒng)的研究作為首要任務(wù)。
動(dòng)作協(xié)調(diào)。具有一定智能。能實(shí)現(xiàn)無線實(shí)時(shí)行走已經(jīng)成為當(dāng)今機(jī)器人發(fā)展的主題。隨著以電子計(jì)算機(jī)和數(shù)字電子技術(shù)為代表的現(xiàn)代高技術(shù)的不斷發(fā)展,特別是以DSP為代表的高速數(shù)字信號處理器和大規(guī)??删幊踢壿嬈骷?以CPLD和FPGA為代表)的廣泛應(yīng)用,機(jī)器人運(yùn)動(dòng)控制系統(tǒng)也從以前單一的結(jié)構(gòu)和簡單的功能向著結(jié)構(gòu)化。標(biāo)準(zhǔn)化。模塊化和高度集成化的方向發(fā)展,采用開放式體系結(jié)構(gòu)已經(jīng)成為該技術(shù)發(fā)展的一種必然趨勢。本文作者正是順應(yīng)這一趨勢,設(shè)計(jì)出一種多功能分布式仿人機(jī)器人運(yùn)動(dòng)控制系統(tǒng)。
控制對象與要求
我們以國防科技大學(xué)機(jī)電工程與自動(dòng)化學(xué)院機(jī)器人教研室最新研制的新一代仿人步行機(jī)器人為研究對象(其外形如圖1所示)。該機(jī)器人高約1.55m,重約65kg,使用電池供電,無需外接電源和控制信號線,可以實(shí)現(xiàn)無纜行走,還可以完成人的腿部。手部和頭部的一些基本動(dòng)作,已經(jīng)初步具備了人類的外形特征。這臺新型仿人機(jī)器人一共具有36個(gè)自由度(如圖2所示),其中上肢12個(gè),下肢12個(gè),頭部2個(gè),手部10個(gè);下肢各個(gè)關(guān)節(jié)有位置傳感器,足部有多維力/力矩傳感器;具有視覺傳感。語音控制系統(tǒng)以及無線遙控模塊;整個(gè)控制系統(tǒng)。電源集成在機(jī)器人本體上。為了使之真正具有“仿人”的特點(diǎn),控制系統(tǒng)必須能夠完成包括運(yùn)動(dòng)控制與規(guī)劃。視覺感知處理。語音識別和其它環(huán)境感知在內(nèi)的多種功能。其中,運(yùn)動(dòng)控制是整個(gè)控制系統(tǒng)的關(guān)鍵,它必須能夠滿足以下要求:
(1)系統(tǒng)集成度高。體積孝重量輕。功率大。效率高和機(jī)載化。
(2)各個(gè)模塊之間的連接簡潔,便于安裝和維護(hù)。
(3)控制器應(yīng)具有良好的動(dòng)態(tài)響應(yīng)和跟隨特性,穩(wěn)態(tài)誤差和靜態(tài)誤差校
(4)系統(tǒng)集成在機(jī)器人本體上,電磁干擾較強(qiáng),必須具有較強(qiáng)的抗干擾能力。
(5)各部分的數(shù)據(jù)交換必須實(shí)時(shí)有效和準(zhǔn)確可靠。
動(dòng)控制系統(tǒng)設(shè)計(jì)
一種基于CAN現(xiàn)場總線的新型控制結(jié)構(gòu)。整個(gè)控制系統(tǒng)采用集中管理分散控制的方式,按照控制系統(tǒng)的結(jié)構(gòu)和功能劃分為三層:組織層。協(xié)調(diào)層。執(zhí)行層。其中,組織層由機(jī)器人本體外的一臺工作站組成,主要負(fù)責(zé)實(shí)現(xiàn)人機(jī)交互。無線通訊。語音。視覺以及宏指令生成等功能,屬于智能控制范疇,本文不做深入探討;協(xié)調(diào)層和執(zhí)行層都集成在機(jī)器人本體上,完成具體的控制任務(wù),屬于物理控制范疇,是我們通常意義上的控制系統(tǒng),其具體結(jié)構(gòu)如圖3所示。1.主控計(jì)算機(jī)模塊主控計(jì)算機(jī)要求體積孝運(yùn)算速度快,通常采用小板工業(yè)控制計(jì)算機(jī),同時(shí)配備液晶顯示器和自制專用功能鍵盤,主要完成在線運(yùn)動(dòng)規(guī)劃。動(dòng)作級運(yùn)動(dòng)控制。語音交互控制。視覺導(dǎo)引控制以及人機(jī)交互等功能。它接受本地傳感器的信息,根據(jù)一定的控制算法和任務(wù)要求,實(shí)時(shí)生成關(guān)節(jié)軸系的任務(wù)規(guī)劃數(shù)據(jù)并通過數(shù)據(jù)傳輸總線送至各底層運(yùn)動(dòng)控制器。
通信模塊
主控計(jì)算機(jī)和各控制器之間采用CAN總線進(jìn)行通信。CAN(ControllerAreaNetwork)總線是應(yīng)用最為廣泛的一種現(xiàn)場總線,也是目前為止唯一有國際標(biāo)準(zhǔn)的現(xiàn)場總線。相對于一般通信總線,它的數(shù)據(jù)通信具有突出的可靠性。實(shí)時(shí)性和靈活性。其特點(diǎn)主要有:
(1)CAN總線為多主方式,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻向其它節(jié)點(diǎn)發(fā)送數(shù)據(jù)。
(2)CAN總線上的節(jié)點(diǎn)可以通過標(biāo)識符分成不同的優(yōu)先級,滿足不同的實(shí)時(shí)要求。
(3)CAN總線采用非破壞的總線仲裁技術(shù),低優(yōu)先級節(jié)點(diǎn)不影響高優(yōu)先級節(jié)點(diǎn)的發(fā)送。
(4)CAN總線節(jié)點(diǎn)在40m內(nèi)通信速率最高可達(dá)1MBPS。
(5)CAN總線上的節(jié)點(diǎn)數(shù)在標(biāo)準(zhǔn)幀格式下可達(dá)到110個(gè),擴(kuò)展幀格式下幾乎不受限制。
(6)報(bào)文采用短幀格式,傳輸時(shí)間短,出錯(cuò)率極低。
(7)CAN總線通信介質(zhì)可選用雙絞線,其結(jié)構(gòu)靈活,連接方便。
CAN總線的以上特點(diǎn)使之十分適用于機(jī)器人控制,鑒于此,本文選用CAN總線作為機(jī)器人控制系統(tǒng)的通信工具。具體連接方式為:主控計(jì)算機(jī)通過CAN總線接口卡連接到總線上,各運(yùn)動(dòng)控制器也都通過總線收發(fā)器掛接到總線上,而且可以根據(jù)實(shí)際情況增減數(shù)目。由于CAN總線只用兩根線進(jìn)行通信,大大降低了系統(tǒng)連線的復(fù)雜程度,同時(shí)增強(qiáng)了系統(tǒng)的可靠性能。
執(zhí)行層模塊
執(zhí)行層處于整個(gè)控制系統(tǒng)的最底層,由不同類型的控制器組成,主要用來控制各運(yùn)動(dòng)關(guān)節(jié)軸系的具體執(zhí)行過程。由于各運(yùn)動(dòng)關(guān)節(jié)電機(jī)的型號不同。承載的重量不同,對控制精度的要求也不同,我們分別為之設(shè)計(jì)了不同的運(yùn)動(dòng)控制器。
?、匍_環(huán)DSP運(yùn)動(dòng)控制器
頭部和上肢負(fù)載重量較輕,因此采用開環(huán)DSP運(yùn)動(dòng)控制器來對頭部和上肢各關(guān)節(jié)進(jìn)行控制。這些控制器不需要采樣和反饋,直接接收主控計(jì)算機(jī)發(fā)來的控制命令,然后生成相應(yīng)的執(zhí)行命令發(fā)給各關(guān)節(jié)軸系,使之轉(zhuǎn)到相應(yīng)角度。
?、陂_環(huán)MCU運(yùn)動(dòng)控制器
手部各個(gè)關(guān)節(jié)體積和質(zhì)量都很小,故采用開環(huán)MCU運(yùn)動(dòng)控制器來進(jìn)行控制。這些控制器采用MCS-51單片機(jī)作為處理器,可以直接嵌入到手掌內(nèi),它們接收主控計(jì)算機(jī)的控制命令,利用其IO引腳產(chǎn)生需要的多路脈沖控制信號,控制手部各關(guān)節(jié)的運(yùn)動(dòng)。
?、坶]環(huán)DSP運(yùn)動(dòng)控制器
腿部所有軸系均由直流減速驅(qū)動(dòng)型電機(jī)構(gòu)成,帶零位檢測。碼盤和電位計(jì)反饋以及多維力/力矩傳感器,結(jié)構(gòu)復(fù)雜??刂齐y度大。精度要求也高,故采用閉環(huán)DSP運(yùn)動(dòng)控制器。這部分是整個(gè)控制系統(tǒng)的關(guān)鍵,也是我們研究的重點(diǎn)。
(4)控制系統(tǒng)流程
整個(gè)控制系統(tǒng)的具體流程為:系統(tǒng)開始運(yùn)行并完成初始化工作;主控計(jì)算機(jī)根據(jù)規(guī)劃和計(jì)算向底層控制器發(fā)送控制命令,底層控制器接收到命令后,結(jié)合各傳感器反饋的信息,通過一定的控制算法生成相應(yīng)的執(zhí)行命令并發(fā)送給各關(guān)節(jié)執(zhí)行軸系,同時(shí)把底層軸系的運(yùn)行情況上傳給主控計(jì)算機(jī),主控計(jì)算機(jī)根據(jù)新的情況再產(chǎn)生新的命令發(fā)送給各控制器,如此反復(fù)。這事實(shí)上是兩個(gè)閉環(huán)反饋過程,底層控制器通過傳感器與各關(guān)節(jié)軸系之間進(jìn)行小循環(huán)反饋,主控計(jì)算機(jī)通過各控制器與各關(guān)節(jié)軸系之間進(jìn)行大回路反饋,這樣可以使機(jī)器人具有更多的“智能”,更好的進(jìn)行離線實(shí)時(shí)控制。
主控計(jì)算機(jī)每秒鐘向底層控制器發(fā)送200組數(shù)據(jù),底層控制器向主控計(jì)算機(jī)反饋同樣數(shù)目的數(shù)據(jù),而CAN總線的最大通信速率可以達(dá)到幾千幀/秒,完全可以滿足控制的要求。
控制器詳細(xì)設(shè)計(jì)
控制下肢的閉環(huán)DSP控制器是整個(gè)控制系統(tǒng)的核心部分,承擔(dān)著整個(gè)機(jī)器人的負(fù)載重量,輸出功率大,對控制的精度要求也高,因此它的性能直接關(guān)系到機(jī)器人運(yùn)動(dòng)的實(shí)現(xiàn)。我們專門為之設(shè)計(jì)了基于雙位置傳感器的閉環(huán)DSP控制器,其結(jié)構(gòu)如圖4所示。
DSP主處理器選用的是TI公司的TMS320LF2407A芯片,它是TI家族C2000系列中的高檔產(chǎn)品,非常適用于工業(yè)控制。它的兩個(gè)事件管理器功能尤為強(qiáng)大,完全是為電機(jī)控制設(shè)計(jì)的,可利用多個(gè)PWM脈沖通道直接產(chǎn)生需要的PWM脈沖控制信號;其CAN總線模塊可以直接與主控計(jì)算機(jī)進(jìn)行通信而不需要增加CAN總線控制器;外部看門狗可以對控制器電壓進(jìn)行監(jiān)控;外部存儲(chǔ)器中存放著控制算法所需的必要參數(shù)。
控制器的雙位置傳感器由電壓輸出傳感器和光電碼盤傳感器組成。其中,電壓傳感器把軸系的位置信息轉(zhuǎn)換成電壓信號,經(jīng)過放大電路放大,再經(jīng)過專門的A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號送入DSP主處理器。不用TMS320LF2407A自帶的A/D轉(zhuǎn)換器而使用專門的A/D轉(zhuǎn)換芯片,這是為了提高轉(zhuǎn)換的精度,因?yàn)門MS320LF2407A的A/D轉(zhuǎn)換器所能接受的最高轉(zhuǎn)換電壓只有3.3V,而經(jīng)過功率放大后的電壓遠(yuǎn)遠(yuǎn)超出了此范圍,所以使用了專門的A/D轉(zhuǎn)換芯片。這部分電路雖然增加了控制器的復(fù)雜程度,卻可以大大提高轉(zhuǎn)換精度,所以是十分值得的。碼盤傳感器把軸系的位置信息轉(zhuǎn)換成脈沖信號,經(jīng)過光電隔離器件隔離后送入專用脈沖計(jì)數(shù)器,計(jì)數(shù)后的信息送入DSP主處理器。脈沖計(jì)數(shù)器選用當(dāng)今流行的CPLD器件,其強(qiáng)大的功能對提高控制器的性能有很大的幫助,同時(shí)還可以作為譯碼電路為主處理器提供譯碼功能。
主處理器通過對接收到的傳感器信號進(jìn)行分析和計(jì)算之后產(chǎn)生相應(yīng)的PWM脈沖控制信號,經(jīng)過光電隔離和功率放大后送給底層軸系控制軸系的運(yùn)行。使用雙傳感器可以大大提高反饋的精度,兩路信號可以同時(shí)考慮,也可以一路為主,另外一路提供補(bǔ)充和參考。
主處理器通過CAN總線與主控計(jì)算機(jī)進(jìn)行通信,接收主控計(jì)算機(jī)的命令并把底層信息反饋給主控計(jì)算機(jī),實(shí)現(xiàn)更高一級的反饋控制。主處理器通過CAN總線收發(fā)器連接到總線上,為提高精度,中間需要進(jìn)行光電隔離。
該控制器直接安裝在仿人機(jī)器人的體內(nèi),每個(gè)控制器可以同時(shí)控制6個(gè)關(guān)節(jié)軸系,整個(gè)下肢只需要兩個(gè)控制器就可以實(shí)現(xiàn)其運(yùn)動(dòng)控制。
結(jié)論
我們在充分吸收當(dāng)今相關(guān)學(xué)科高技術(shù)成果的基礎(chǔ)上,設(shè)計(jì)出一套速度快。穩(wěn)定性強(qiáng)。集成度高。結(jié)構(gòu)靈活。使用方便的仿人機(jī)器人運(yùn)動(dòng)控制系統(tǒng)。整個(gè)運(yùn)動(dòng)控制系統(tǒng)可直接嵌入到機(jī)器人本體內(nèi),以便在實(shí)際運(yùn)行中圓滿地完成規(guī)定的控制任務(wù)。同時(shí),該控制系統(tǒng)還有很強(qiáng)的擴(kuò)展功能,可以方便地移植到其它類似的控制機(jī)構(gòu)中去,是一種多功能通用型控制系統(tǒng),具有廣闊的應(yīng)用前景。(來源:電子發(fā)燒友)
四、仿人型機(jī)器人控制系統(tǒng)設(shè)計(jì)的幾個(gè)問題
1.引言
仿人型機(jī)器人由于具有類人的基本外形,在實(shí)際的生活中,能夠代替人完成很多工作,因此對仿人型機(jī)器人的研究具有實(shí)用價(jià)值,各國都在投入巨大的人力物力進(jìn)行研發(fā)[1]。仿人型機(jī)器人具有多自由度的機(jī)械結(jié)構(gòu)要求,因此需要對機(jī)器人的各個(gè)關(guān)節(jié)通過電機(jī)來完成轉(zhuǎn)動(dòng)動(dòng)作。這對于電機(jī)驅(qū)動(dòng)控制提出了很高的性能要求。本文提出了一種基于STM32單片機(jī)的仿人型機(jī)器人控制系統(tǒng)方案,可以同時(shí)對機(jī)器人關(guān)節(jié)所需的16路舵機(jī)進(jìn)行驅(qū)動(dòng)控制。
2.硬件解決方案
本控制系統(tǒng)的硬件部分共分為5個(gè)模塊,其硬件系統(tǒng)模塊圖如圖1所示。
主控制器采用STM32F103xB增強(qiáng)型系列單片機(jī),該系列單片機(jī)使用了高性能的ARMCortexTM-M332位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲(chǔ)器(128K字節(jié)的閃存和20K字節(jié)的SRAM),增強(qiáng)型I/O端口[2]。這些性能使得STM32F103系列微控制器非常適合應(yīng)用于小型仿人型機(jī)器人的控制系統(tǒng)。由于仿人型機(jī)器人的體型限定,因此我們在設(shè)計(jì)舵機(jī)控制板時(shí)采用了STM32F103系列的小型貼片封裝型號STM32F103CBT6。以得到體積較小的舵機(jī)控制電路板,如圖2所示。
為了實(shí)現(xiàn)對多自由度復(fù)雜結(jié)構(gòu)的仿人型機(jī)器人進(jìn)行動(dòng)作控制,需要較多控制路數(shù)的舵機(jī)控制板。由于舵機(jī)的角度控制是采用PWM波形輸出,當(dāng)單片機(jī)IO口的輸出脈沖寬度變化時(shí),舵機(jī)舵盤角度發(fā)生改變,如圖3所示[3],因此在舵機(jī)控制板電路設(shè)計(jì)中,充分利用了STM32單片機(jī)的IO口數(shù)量多且具有PWM輸出的技術(shù)優(yōu)勢[4]。共設(shè)計(jì)了16路舵機(jī)控制口,可以保證16個(gè)機(jī)器人關(guān)節(jié)同時(shí)動(dòng)作。舵機(jī)驅(qū)動(dòng)IO接口分布在PCB板的兩側(cè),便于插拔。
在舵機(jī)的控制中,有一個(gè)容易出現(xiàn)的問題就是舵機(jī)抖舵問題。這種問題一般發(fā)生在采用普通電池做為機(jī)器人系統(tǒng)的主電源的情況下,如采用多節(jié)AA型鎳鎘或鎳氫電池串聯(lián)組成機(jī)器人供電主電源。原因是這些電池由于容量和放電能力的局限,無法在其額定電壓下提供長時(shí)間穩(wěn)定持續(xù)的大電流。在仿人型機(jī)器人的多路舵機(jī)同時(shí)工作時(shí),采用普通電源輸出的電壓會(huì)迅速降低,從而導(dǎo)致舵機(jī)的供電不足,最終出現(xiàn)舵盤異常抖動(dòng),造成機(jī)器人在執(zhí)行動(dòng)作時(shí)的抖舵現(xiàn)象。
因此我們設(shè)計(jì)的仿人型機(jī)器人控制電路中采用了型號為格氏25C放電倍率,容量為2200mAh,額定電壓為11.1V的鋰聚合物航模電池作為主電源。分為5V控制信號電源和6V舵機(jī)驅(qū)動(dòng)電源,如圖4所示。為了保證多路舵機(jī)同時(shí)工作時(shí)所需要的大電流,利用鋰聚合物電池具有很強(qiáng)的持續(xù)放電能力,選用了型號為120W12A大功率降壓模塊[5],將機(jī)器人的供電電源穩(wěn)壓在+6V,放電電流峰值為12A,如圖5所示。利用光電耦合器隔離單片機(jī)IO口控制信號和舵機(jī)驅(qū)動(dòng)信號,提高控制信號的抗干擾能力。舵機(jī)的IO口電路設(shè)計(jì)原理圖如圖6所示。這樣解決了多路舵機(jī)由于同時(shí)工作時(shí),電源電源被拉低引起的舵盤異常抖動(dòng)問題。
舵機(jī)控制板在初始上電時(shí),所有IO口會(huì)同時(shí)通入無序的PWM信號,造成瞬間出現(xiàn)巨大的電流消耗。經(jīng)實(shí)驗(yàn)測得舵機(jī)控制板上電時(shí),單個(gè)IO口的峰值電流可以達(dá)到1.5A以上。因此在16個(gè)舵機(jī)同時(shí)初始上電通入PWM信號時(shí),其總電流將達(dá)到24A以上,這就大大超出了大容量直流降壓模塊的極限供電電流,導(dǎo)致電源電路進(jìn)入過流保護(hù),整個(gè)舵機(jī)控制電路將無法進(jìn)入正常的工作狀態(tài)。為了解決這個(gè)問題,我們在STM32單片機(jī)上電初始化時(shí),首先只讓IO口1和2輸出PWM信號,然后同時(shí)再讓IO口3和4輸出初始化PWM信號,以此順序最后讓IO口15和16輸出PWM信號。這樣就保證IO口初始化時(shí),最多只有兩路PWM信號同時(shí)通入。在機(jī)器人正常動(dòng)作時(shí),同時(shí)動(dòng)作的舵機(jī)數(shù)量不超過6個(gè),即6個(gè)IO同時(shí)輸出的峰值電流為9A,低于大功率降壓模塊的最大輸出電流12A,因此整個(gè)電路在工作期間的極限電流均小于12A。最終達(dá)到了舵機(jī)控制板穩(wěn)定工作的硬件要求。
3.軟件部分的設(shè)計(jì)
仿人型機(jī)器人控制系統(tǒng)的軟件分為兩種模式:調(diào)試模式和正常模式。
調(diào)試模式:機(jī)器人上電默認(rèn)靜止,以響應(yīng)上位機(jī)信號為主。在該模式下,上位機(jī)通過RS232串口對機(jī)器人進(jìn)行在線控制,可以對單個(gè)舵機(jī)的角度進(jìn)行精確調(diào)整,編排好的流程動(dòng)作單次執(zhí)行,流程動(dòng)作的全部執(zhí)行等,并顯示當(dāng)前機(jī)器人對代碼解析值。調(diào)試模式的工作界面如圖7所示。
正常模式:機(jī)器人上電即開始執(zhí)行調(diào)試完畢的全套程序動(dòng)作。
為了實(shí)行軟件控制,采用了多任務(wù)模塊的定時(shí)輪換機(jī)制[6]。共建立了3個(gè)模塊任務(wù):任務(wù)0用來解析送入該任務(wù)的軟件代碼值到PWM輸出的轉(zhuǎn)換。任務(wù)1用來調(diào)用每套動(dòng)作編碼,連續(xù)的將得到的軟件值發(fā)送給任務(wù)0。任務(wù)2為串口處理任務(wù),通過分析串口發(fā)來的數(shù)據(jù)進(jìn)行模式的轉(zhuǎn)換和響應(yīng)。其程序流程圖如圖8所示。
4.系統(tǒng)調(diào)試效果
設(shè)計(jì)該仿人型機(jī)器人的走步步態(tài)時(shí),主要考慮了機(jī)器人的自重為2.53Kg,身高為42cm,因此機(jī)器人的腳和手臂的舵機(jī)輸出幅度不能太大,否則會(huì)導(dǎo)致機(jī)器人走步時(shí)的重心偏移太大,造成機(jī)器人翻倒。因此在設(shè)計(jì)機(jī)器人的腳掌時(shí),適當(dāng)增大了與地面的接觸面積,腳掌的尺寸為8.5×15cm,同時(shí)加快了腳步移動(dòng)的頻率,并在腳部增加了額外的配重,以增強(qiáng)機(jī)器人在走步過程中的穩(wěn)定性,其走步的步態(tài)如圖9所示。該型機(jī)器人的走步步態(tài)協(xié)調(diào)一致,在2012年中國機(jī)器人大賽仿人競速比賽項(xiàng)目中獲得二等獎(jiǎng)。
5.結(jié)束語
文中基于STM32微控制器的仿人型機(jī)器人控制系統(tǒng),能夠靈活地控制16路大扭力舵機(jī),通過大功率降壓電源模塊,可以得到16路舵機(jī)同時(shí)動(dòng)作時(shí)所需要的直流電壓,實(shí)現(xiàn)了仿人型機(jī)器人的走步動(dòng)作,可作為高校學(xué)生進(jìn)行機(jī)器人技術(shù)創(chuàng)新時(shí)的參考。
(審核編輯: 滄海一土)
分享