基于CAN總線的仿人機(jī)器人力信息檢測(cè)系統(tǒng)
在國家863計(jì)劃支持下,國防科技大學(xué)機(jī)器人實(shí)驗(yàn)室于2003年研制出一臺(tái)新型仿人機(jī)器人;同時(shí)與合肥智能機(jī)械研究所合作,在該機(jī)器人腳掌上安裝了可檢測(cè)地面反力信息的集成五維力/力矩傳感器。本文通過對(duì)仿人機(jī)器人運(yùn)動(dòng)控制系統(tǒng)結(jié)構(gòu)和傳感器電路結(jié)構(gòu)的分析,提出了一種基于CAN總線的力信息檢測(cè)系統(tǒng);通過實(shí)驗(yàn)表明,該力信息檢測(cè)系統(tǒng)能夠滿足力信息采集的基本要求,為其他外部環(huán)境信息的采集建立了一定基礎(chǔ)。
仿人機(jī)器人控制結(jié)構(gòu)分析與外部傳感信息采集結(jié)構(gòu)
將仿人機(jī)器人控制系統(tǒng)的大開環(huán)變成大閉環(huán)對(duì)控制系統(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)場(chǎng)總線方式,如CAN總線,作為外部信息傳輸通道,同時(shí)設(shè)計(jì)其與上位機(jī)的通信接口。理想信息采集結(jié)構(gòu)如圖1所示。
圖1 理想的信息采集網(wǎng)絡(luò)
圖1所示的信息采集結(jié)構(gòu),具有較強(qiáng)的易擴(kuò)展性和較高容錯(cuò)性能。每一個(gè)外部信息傳感器都可以獨(dú)立設(shè)計(jì);在整個(gè)信息采集結(jié)構(gòu)中,每個(gè)模塊都是對(duì)等的,之間可以點(diǎn)對(duì)點(diǎn)通信;上位機(jī)可對(duì)各個(gè)傳感器信息處理模塊的廣播,信息處理模塊的增減不會(huì)對(duì)整個(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ù)字信號(hào)通過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)與傳感器之間的通信及對(duì)力/力矩信息的預(yù)處理,如圖3所示。
圖2 傳感器電路原理
圖3 接口電路基本功能和結(jié)構(gòu)
接口電路的硬件結(jié)構(gòu)與基本設(shè)計(jì)原理
綜合考慮接口電路對(duì)主處理器的要求,如對(duì)力/力矩信息的實(shí)時(shí)處理能力、外設(shè)擴(kuò)展能力等,選用TMS320LF2407作為主處理器,通過對(duì)CAN總線和雙端口RAM的讀寫控制,實(shí)現(xiàn)力信息的讀取、預(yù)處理和上傳。接口電路基本原理如圖4所示。[!--empirenews.page--]
選用TMS320LF2407作為主處理器。它采用實(shí)時(shí)信號(hào)處理體系結(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)生的選通信號(hào)以及讀寫信號(hào),譯碼通過MAX7032,根據(jù)上位機(jī)的空閑地址分配RAM地址;另一個(gè)端口接經(jīng)過電平轉(zhuǎn)換的DSP數(shù)據(jù)線低位地址線、高位地址譯碼產(chǎn)生的選通信號(hào)以及讀寫信號(hào),通過SN74LV08A譯碼,分配的地址為F800~FFFF,通過SN74LV245A完成總線驅(qū)動(dòng)和電平轉(zhuǎn)換。
圖4 接口電路原理圖
圖5 力信息采集與預(yù)處理基本流程
選取PCA82C250T作為驅(qū)動(dòng)CAN控制器和物理總線間的接口,提供對(duì)總線的差動(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)程序中,首先對(duì)DSP進(jìn)行初始化設(shè)置,包括定時(shí)器初始化和CAN模塊初始化以及在IDT7132中設(shè)置平滑數(shù)據(jù)隊(duì)列等;然后向發(fā)送郵箱中寫入0或1,即對(duì)傳感器清零或者請(qǐng)求發(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ù)和重同步方式。對(duì)郵箱的初始化主要是設(shè)置郵箱的標(biāo)識(shí)符;對(duì)發(fā)送的數(shù)據(jù)區(qū)賦初值,需要清零傳感器返回值時(shí),數(shù)據(jù)區(qū)賦值0,需要讀取數(shù)據(jù)時(shí),數(shù)據(jù)區(qū)賦值1。發(fā)送信息首先要使能發(fā)送郵箱,然后設(shè)置發(fā)送請(qǐng)求位,等待發(fā)送中斷標(biāo)志位置位,若為1,則發(fā)送成功,最后清除發(fā)送中斷標(biāo)志位和發(fā)送應(yīng)答位。接受信息時(shí),要對(duì)接收郵箱進(jìn)行初始化,設(shè)置標(biāo)識(shí)符以及與標(biāo)識(shí)符相關(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)了對(duì)力信息的實(shí)時(shí)采集和傳送。所設(shè)計(jì)的系統(tǒng)能夠完成力信息采集和平滑預(yù)處理工作,但還沒有加入對(duì)力信息的數(shù)字濾波設(shè)計(jì)。通過對(duì)所采集的力信息數(shù)據(jù)的特性分析,下一步將在軟件流程中增加數(shù)字濾波部分,使獲取的力信息能夠更加真實(shí)地反映機(jī)器人所受到的地面反力信息,使力信息能夠應(yīng)用于仿人機(jī)器人的大回路控制。