siemens x
測試測量

NI Compact RIO在家居監(jiān)控機器人中的應(yīng)用

2025China.cn   2011年05月01日

        "本方案的背景是國家863多機器人系統(tǒng)控制項目的一個主角,家居監(jiān)控機器人,它的設(shè)計概念主要是面向未來老年家庭,負責(zé)通過網(wǎng)絡(luò)監(jiān)控家居環(huán)境中的各種家電,具有語音和人臉識別等人機交互功能,具有雙機械臂完成一些取物、遞送等任務(wù),并且可以作為智能輪椅載人移動。在2010世博會滬上生態(tài)家案例館中展出。"

申純太, 上海電氣集團股份有限公司中央研究院

 

圖-1  主控制器Compact RIO的安裝位置


挑戰(zhàn):
        需要CompactRIO同時控制多個設(shè)備運動。2根5自由度機械臂運動,頭部1自由度旋轉(zhuǎn)運動,雙主動輪底盤運動控制。CompactRIO內(nèi)要部署機械臂運動控制算法,LIDAR數(shù)據(jù)采集和導(dǎo)航避障算法,基于編碼器和光雷達數(shù)據(jù)以及FPGA的移動位置控制算法等。

 

解決方案:
        將機器人的功能進行劃分為兩部分。將雙5自由度機械臂運動,頭部1自由度的旋轉(zhuǎn)運動,雙主動輪底盤的運動,光雷達數(shù)據(jù)采集處理和編碼器數(shù)據(jù)采集,自主導(dǎo)航,輪椅模式切換判斷,機器人體表LED狀態(tài)情感或信息顯示,電池電源管理等基本行為和設(shè)備層控制歸為一部分,由“小腦”控制;將家庭智能家居網(wǎng)絡(luò)交互,其他智能機器人監(jiān)控,語音識別對話和人臉識別的人機交互功能等歸為一部分,由“大腦”控制。

        選用NI CompactRIO作為機器人的“小腦”。NI CompactRIO是美國NI公司的工業(yè)級嵌入式控制器,集成以太網(wǎng)接口和RS232串行接口,具有體積小,高可靠性,高性能,低功耗等優(yōu)點。

        將各種設(shè)備的控制算法例如機械臂運動控制,頭部運動控制,導(dǎo)航算法,基于以太網(wǎng)的光雷達數(shù)據(jù)采集,與大腦通訊等程序部署在RT中;將數(shù)字信號采集,例如限位開關(guān)和緊急停止邏輯還有編碼器數(shù)據(jù)采集和處理,地盤運動伺服控制等算法部署在FPGA中。

        選用工業(yè)嵌入式觸摸平板電腦IPC作為機器人的“大腦”。部署WinCE,具有人機界面功能以及觸摸屏交互功能,部署控制人臉識別模塊以及語音識別算法,智能家居監(jiān)控管理算法等。

 

用FSM來封裝每個設(shè)備對象:

        Finite-state machine (FSM)稱為有限狀態(tài)機廣泛用于數(shù)字電路和計算機程序。我們使用了兩種狀態(tài)機來封裝設(shè)備。String Based Queued State Machine基于字符串隊列狀態(tài)機和普通基于枚舉的狀態(tài)機。使用狀態(tài)機作為一種機制來處理單個設(shè)備的狀態(tài)轉(zhuǎn)換,或者說,用狀態(tài)機這種行為模型來用于單個設(shè)備的事件處理。

圖 2 LIDAR 狀態(tài)機

        例如光雷達的狀態(tài)機框圖,它具有4個狀態(tài),Idle,Start,Running,Stop。在Running狀態(tài)中,程序不斷向光雷達發(fā)送指令讀取數(shù)據(jù),然后由一個Shared Variable來傳出數(shù)據(jù)。使用一個來封裝這個狀態(tài)機。

圖 3 Remote Control Reaction 狀態(tài)機

        圖3是一個遠程控制指令解析狀態(tài)機,它使用String Based Queued State Machine來實現(xiàn)。這樣的好處是,可以使用隊列來組織動作,較為靈活地實現(xiàn)各種不同組合以及復(fù)雜度。

        每一個設(shè)備的狀態(tài)機都用一個獨立的vi來封裝,并且單獨進行測試,這樣也有利于工程化。

 

 

[DividePage:NextPage]

多狀態(tài)機的協(xié)作:

        單個狀態(tài)機只能完成部分功能,我們需要把所有設(shè)備狀態(tài)機集成起來,按照一定的通訊機制拼裝成一個完整的機器人。

        由于所有的設(shè)備狀態(tài)機都由一個VI來封裝,只需要把他們拖入一個主vi中,就能調(diào)用他們。如圖所示:

圖 4  狀態(tài)機集成

        狀態(tài)機之間是通過Shared Variable來實現(xiàn)接受外部指令輸入以及自身狀態(tài)輸出的。同樣,這些Shared Variable都用一個VI進行封裝以便進行管理。

        這樣,一個狀態(tài)機便可視為一個子系統(tǒng)。既然是系統(tǒng),自然有系統(tǒng)的輸入和輸出,通過get,set等方法的vi,外部系統(tǒng)便可對這些子系統(tǒng)進行操作或者交互。如圖所示,底盤狀態(tài)機使用方法獲取外部命令。

圖 5

 

        使用方法讓外部系統(tǒng)傳輸命令給地盤狀態(tài)機。

圖6 :

        底盤使用發(fā)送底盤狀態(tài)機狀態(tài)信息。如圖所示:

圖 7

        使用方法獲取地盤狀態(tài)機信息。

圖 8

導(dǎo)航算法:

 

圖 9家居監(jiān)控機器人定位導(dǎo)航軟件控制框圖

總體設(shè)計

        針對移動機器人家居環(huán)境下的定位問題,提出了一種結(jié)合平直線段匹配、角匹配和里程計的組合定位方法。該系統(tǒng)采用了Labview開發(fā)平臺和CompactRIO控制器,得到了很好的實時性效果。機器人首先通過二維激光測距儀通過TCP/IP得到環(huán)境點信息,然后通過迭代適應(yīng)點(IEPF)算法得到環(huán)境線段及最小二乘法得到線段參數(shù)。在基于線段基礎(chǔ)上,得到局部的平直線段和角特征,再與已知平直線段和角特征做匹配,通過平直線段和角匹配算法實時更新機器人位置和姿態(tài)。分析里程計定位、平直線段匹配定位和角匹配定位的誤差,分配不同的權(quán)重得到優(yōu)化的組合定位算法。

 

 

[DividePage:NextPage]

軟件控制框圖

        基于以上的設(shè)計,定位導(dǎo)航的軟件控制模塊設(shè)計如圖7所示。中心模塊為定位導(dǎo)航模塊,該模塊讀取起點、目標(biāo)點、運動模式數(shù)據(jù)及編碼器數(shù)據(jù),同時讀取激光測距儀數(shù)據(jù)提取角、平直線段特征和已知特征做匹配,其匹配算法輸出機器人位姿 。對于給定的目標(biāo)位姿,該模塊將計算出驅(qū)動指令(Forward Speed、Delta angle、Turnspd Right、Turnspd Left對應(yīng)前進速度、方向轉(zhuǎn)角、左轉(zhuǎn)、右轉(zhuǎn))和狀態(tài)信息如(bPos, bAngle)來判斷機器人是否到達目標(biāo)位置和姿態(tài)。

圖 10家居監(jiān)控機器人定位導(dǎo)航的輸入輸出信息部分

 

        圖10為定位導(dǎo)航模塊部分的輸入輸出部分,上半部分的輸入信息中的已知角特征和全局線段為為已知地圖信息,下半部分的部分輸出信息包括直線段提取示意圖,路徑任務(wù)數(shù)組信息圖,實時顯示的機器人當(dāng)前位置信息、速度信息等。

 

線段特征提取

        為得到環(huán)境的幾何線段信息,需要對激光測距儀的點集進行分割,其分割算法可分為下列步驟:坐標(biāo)變換、區(qū)域分割、IEPF線段提取和最小二乘法計算線段參數(shù)。其中區(qū)域分割:從初始點i=0開始檢測兩相鄰點 的距離,如距離值小于閾值D,則認(rèn)為屬于同一區(qū)域點集,否則開始一個新的區(qū)域。該過程遍歷所有點集。如果某區(qū)域點數(shù)目小于4個,則認(rèn)為噪聲區(qū)域,舍棄這些噪聲點。

圖 11  IEPF線段提取

        IEPF提取線段:對于上述得到區(qū)域可能含有多條線段,IEPF線段提取算法是一種有效的線段提取方法。如圖11所示, Pm點到線段PsPe的距離大于閾值T,該方法把點集

分為

        IEPF為迭代算法,對于  重復(fù)上述的算法知道 小于閾值 。該算法也有分割過細的時候,如圖9右半部中間兩條線段可通過檢查線段參數(shù)的辦法,對于斜率傾角誤差小于一定閾值的線段加以合并處理。線段參數(shù)可通過最小二乘法計算求得。

        如圖12所示為通過Labview實現(xiàn)的IEPF算法的區(qū)域分割算法,其中子VI 為IEPF算法分割出的子區(qū)域。

圖 12 包含IEPF算法的區(qū)域分割算法

        具體組合定位算法可參考作者的另一篇發(fā)表在IEEE ICIA2010題為《A Corner and Straight line Matching Localization Method for Family Indoor Monitor Mobile Robot》的論文。

 

原型機照片:

圖 13家居監(jiān)控機器人在世博滬上生態(tài)家

總結(jié):

        使用CompactRIO作為機器人主控制器配有集成的FPGA的支持,具有性能優(yōu)越,體積小,安全可靠,低功耗等特點,并且,數(shù)據(jù)采集能力和通訊能力強大,非常適合移動機器人的原型開發(fā)。

        可以基于LabVIEW來開發(fā)機器人程序,相比字符代碼程序,圖形G語言程序可以用圖形來閱讀,有利于理解和調(diào)試,再者LabVIEW仍舊可以運用很多軟件工程方法,使得它具有自己獨特的優(yōu)勢。

作者:
申 純太 - 上海電氣集團股份有限公司中央研究院
譚 福生 - 上海電氣集團股份有限公司中央研究院
楊 軍 - 上海電氣集團股份有限公司中央研究院
Yang Jun -

Shen Chuntai - Shanghai Electric Group Co., Ltd. Central Academe
Tan Fusheng - Shanghai Electric Group Co., Ltd. Central Academe

(原創(chuàng))

標(biāo)簽:NI 控制器 監(jiān)控 機器人 我要反饋 
2024世界人工智能大會專題
即刻點擊并下載ABB資料,好禮贏不停~
優(yōu)傲機器人下載中心
西克
2024全景工博會
專題報道