對于在室外環境工作的移動機器人通常使用慣導/衛星組合導航方式。慣性導航系統具有完全自主、抗干擾強、隱蔽能力好和輸出參數全面等優點,但它的魯棒性極低,誤差會不斷隨時間累積發散。衛星導航系統具有精度高、定位范圍廣和誤差不隨時間累積等優點,但其自主性差、易受外界遮擋和干擾、接收機數據更新頻率低等缺點。因此工程上常常將兩者互補結合使用,組成衛星/慣性組合導航系統。
本文以低功耗MSP430F149為核心,設計了能夠同時實現衛星導航(GNSS)接收機、慣性測量單元(IMU)、氣壓高度等導航信息的高速采集與高速合路傳輸,并進行初步導航定位信息融合的導航系統,即可為室外移動機器人提供直接的導航服務,也可作為高精度組合導航系統的原始測量信息高速采集系統。系統設計的關鍵是利用單片機有限的接口資源實現了多傳感器信息并行采集,設計了有效的數據同步方法,解決了氣壓傳感器數據手冊疏漏導致的無法接入問題,給出了機器人組合定位的基本方法。系統充分利用了MSP430F149單片機的能力,具有結構簡單、低功耗、對傳感器具有普適性等優點。
本系統由電源、氣壓計接口、IMU接口、GNSS接收機接口、SPI轉UART模塊及MSP430F149構成。系統組成如圖1所示。組合導航系統的功能實現分為IMU數據接收與解析、GNSS數據接收與解析、氣壓計數據接收與解析、組合導航解算以及數據輸出五個部分。IMU數據接收與解析功能用來獲取導航解算中需要的加速度和角速度信息;GNSS數據接收與解析功能用來獲取導航解算中需要的位置和速度信息(松耦合組合)或者 GNSS偽距和偽距率(緊耦合組合);氣壓計數據接收與解析功能用來獲取高度信息;組合導航解算功能為系統核心,用來進行組合導航解算;數據的輸出包括原始數據包的整合輸出和解算結果的輸出。
圖1 系統組成結構圖
本文所使用的慣性器件和GNSS接收機都是RS-232電平的UART接口,具有通用性,用戶可根據成本考慮不同精度的設備。氣壓計選用美國MEAS公司生產的MS5803-02BA,已經固化在電路中。
微控制器接口
整個組合導航定位系統需要三個UART接口和兩個SPI接口。其中兩個UART接口由430單片機自帶的UART資源提供,另外一個UART接口由 GPIO模擬SPI通過MAX3111E芯片轉化得到;兩個SPI接口由GPIO模擬得到。另外需要一個外部中斷引腳捕獲秒脈沖信號(PPS)、一個外部中斷引腳捕獲MAX3111E中斷信號。MSP430F149管腳資源分配如表1所示。
本系統供電需求為3.3V供電,因此采用AMS1117穩壓芯片,接入5V電源即可輸出3.3V穩定電壓,可提供1A電流,滿足系統供電需求。電路設計如圖2所示。
圖2 電源電路
IMU器件及GNSS接收機接口電路
IMU器件及GNSS接收機都采用UART接口方式接入,采用RS232協議。因此可使用430單片機上自帶的兩個UART接口,但是需要進行TTL電平與RS232電平轉換。這里采用常見的MAX3232芯片,電路設計如圖3所示。
圖3 IMU及GNSS接口電路
氣壓計MS5803-02BA接口電路
MS5803-02BA[3]是由MEAS公司生產的數字壓力傳感器,分辨率達10cm。芯片內部包含一個高線性的壓力傳感器和一個內部工廠標定系數的超低功耗24位ΔΣ型ADC。該款芯片有SPI和I2C兩種接口方式,通過芯片的PS引腳配置了選擇不同的接口方式(PS置低時,采用SPI工作模式;PS置高時,采用I2C工作模式)。本文所闡述的定位系統將氣壓計配置為SPI工作模式。MS5803-02BA與微控制器間的接口電路設計如圖4所示。
圖4 MS5803-02BA接口電路
MS5803-02BA的控制命令包括復位命令、溫度ADC命令、氣壓ADC命令、ADC讀取命令、PROM讀取命令。控制命令如表2所示。控制命令通過SDI口移位輸入,響應結果從SDO移位輸出。輸入的電平判定在時鐘信號的上升沿,輸出的電平判定在時鐘信號的下降沿。輸出的氣壓值可以進行溫度補償,需要利用芯片內部PROM中的系數來補償。ADC讀取命令輸入之后,輸出24位ADC結果;PROM讀取命令輸入之后,輸出16位補償系數。
本文基于MSP430F149單片機設計的室外移動機器人組合導航定位系統,通過接口的擴展使得該款定位系統能夠接入IMU、GNSS接收機、氣壓計三路信息,完成初步導航定位服務功能,同時可作為多路數據采集設備,將多路數據整合到一路高速輸出接口,用于進一步的高精度導航解算。該系統根據使用者的需求不同,可接入不同成本和精度的設備,只要滿足RS-232協議即可。筆者將其實際運用,整個系統充分利用該款單片機的資源,結構簡單、功耗低、適用范圍廣,不僅可作為初步導航定位服務的設備,還可作為多路數據采集設備。
評論
查看更多