本發(fā)明涉及機(jī)器人控制技術(shù)領(lǐng)域,特別是一種應(yīng)用于足式攀爬機(jī)器人的移動(dòng)控制系統(tǒng)。
背景技術(shù):
近年來,智能機(jī)器人發(fā)展異常迅猛,典型的包括攀爬機(jī)器人、輪式機(jī)器人和旋翼式無人機(jī),其中輪式機(jī)器人和旋翼式無人機(jī)的控制系統(tǒng)發(fā)展也日趨成熟,目前已經(jīng)廣泛地應(yīng)用于工農(nóng)業(yè)生產(chǎn)過程和居民生活;而相對(duì)地,攀爬機(jī)器人目前則還處在發(fā)展階段。攀爬機(jī)器人從吸附原理主要分為生物粘附式、手爪式、電磁吸附式,從移動(dòng)機(jī)構(gòu)主要分為足式、輪式;其中足式攀爬機(jī)器人主要用于檢測(cè)空間桁架結(jié)構(gòu),比如電力桿塔、鐵橋、腳手架、信號(hào)塔等,其攀爬環(huán)境主要是桿件組成的三維空間桁架。攀爬機(jī)器人隨著自由度的增加,并發(fā)度成倍增長(zhǎng),控制邏輯的復(fù)雜度也成指數(shù)級(jí)增長(zhǎng),這就使得控制系統(tǒng)潛在的相互協(xié)調(diào)、相互制約機(jī)制較多,控制耦合度較高。
一般足式攀爬機(jī)器人需要開發(fā)專用控制系統(tǒng),這些專用控制系統(tǒng)僅能對(duì)相應(yīng)的機(jī)器人進(jìn)行控制,通用性不強(qiáng),功能單一?,F(xiàn)有足式攀爬機(jī)器人移動(dòng)控制系統(tǒng)大多具體存在以下缺點(diǎn):1)移動(dòng)控制系統(tǒng)多為特定的硬件結(jié)構(gòu)設(shè)計(jì),難以根據(jù)硬件的變化自動(dòng)配置;2)移動(dòng)過程中往往接受用戶的微觀移動(dòng)指令,缺少從宏觀的路徑規(guī)劃到微觀的關(guān)節(jié)機(jī)械動(dòng)作控制的集成;3)控制系統(tǒng)不夠完善,缺少安全管理、歷史數(shù)據(jù)的存儲(chǔ)和分析等功能;4)移動(dòng)控制系統(tǒng)的數(shù)據(jù)耦合和控制耦合度較高,模塊化程度低,復(fù)用度低,難以根據(jù)實(shí)際情況進(jìn)行裁剪配置,系統(tǒng)生命周期短。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明需要解決的技術(shù)問題是提供一種應(yīng)用于足式攀爬機(jī)器人的、可配置式移動(dòng)控制系統(tǒng),提高控制系統(tǒng)的通用性。
為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案如下。
一種多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),包括與用戶進(jìn)行交互的用戶視圖層、與攀爬機(jī)器人硬件進(jìn)行交互的硬件相關(guān)層、進(jìn)行路徑規(guī)劃和步態(tài)管理的路徑步態(tài)層、完成數(shù)據(jù)配置組織存儲(chǔ)與分析的數(shù)據(jù)中心層以及調(diào)度各層運(yùn)行的主控層;所述主控層分別與用戶視圖層、路徑步態(tài)層以及硬件相關(guān)層以及數(shù)據(jù)中心層相互通信,數(shù)據(jù)中心層分別與其他各層互聯(lián)。
上述一種多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),所述用戶視圖層包括數(shù)據(jù)顯示模塊和操控模塊;數(shù)據(jù)顯示模塊用于以列表、圖形、仿真攀爬機(jī)器人、視頻形式展示攀爬機(jī)器人攀爬過程中的環(huán)境狀態(tài)和攀爬機(jī)器人本體狀態(tài);操控模塊按照用戶選定的方式控制攀爬機(jī)器人動(dòng)作。
上述一種多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),所述用戶選定控制方式為預(yù)置指令列表、手勢(shì)、XBox360搖桿或者Kinect方式。
上述一種多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),所述主控層包括系統(tǒng)調(diào)度監(jiān)控模塊和移動(dòng)安全模塊,系統(tǒng)調(diào)度模塊負(fù)責(zé)系統(tǒng)運(yùn)行調(diào)度、SLAM、警報(bào)、日志、運(yùn)行時(shí)間監(jiān)控和數(shù)據(jù)訪問頻度監(jiān)控,移動(dòng)安全模塊負(fù)責(zé)用戶身份鑒別、權(quán)限管理和審計(jì)。
上述一種多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),所述數(shù)據(jù)中心層包括元數(shù)據(jù)管理模塊、數(shù)據(jù)管理模塊和數(shù)據(jù)分析模塊,元數(shù)據(jù)管理模塊負(fù)責(zé)統(tǒng)一管理控制系統(tǒng)可變、可配置數(shù)據(jù)的取值,數(shù)據(jù)管理模塊主要負(fù)責(zé)存儲(chǔ)、檢索攀爬機(jī)器人在移動(dòng)過程中的數(shù)據(jù),數(shù)據(jù)分析模塊采用數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)找出攀爬機(jī)器人的運(yùn)動(dòng)特征、指導(dǎo)攀爬機(jī)器人的操控和攀爬運(yùn)行。
上述一種多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),所述數(shù)據(jù)管理模塊包括實(shí)時(shí)數(shù)據(jù)管理子模塊和歷史數(shù)據(jù)管理子模塊,實(shí)時(shí)數(shù)據(jù)管理子模塊管理攀爬機(jī)器人移動(dòng)過程中的實(shí)時(shí)數(shù)據(jù),歷史數(shù)據(jù)管理子模塊負(fù)責(zé)在攀爬機(jī)器人攀爬移動(dòng)結(jié)束后把移動(dòng)過程中的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫或者LDAP服務(wù)器中。
上述一種多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),所述路徑步態(tài)層包括避障模塊、路徑規(guī)劃模塊、關(guān)節(jié)步態(tài)管理模塊;其中,避障模塊指導(dǎo)攀爬機(jī)器人發(fā)現(xiàn)和避開障礙,較大的障礙在選擇行進(jìn)路線時(shí)繞開,較小的障礙通過調(diào)整關(guān)節(jié)機(jī)械動(dòng)作序列避開;路徑規(guī)劃模塊按照逐步求精的原則分為三級(jí)規(guī)劃,從宏觀到微觀依次是全局路徑規(guī)劃、具體的落腳點(diǎn)規(guī)劃和單步路徑規(guī)劃,輸出串行指令序列;關(guān)節(jié)步態(tài)管理模塊用于根據(jù)約束條件轉(zhuǎn)換為關(guān)節(jié)動(dòng)作指令并協(xié)調(diào)各關(guān)節(jié)完成攀爬動(dòng)作。
上述一種多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),所述路徑規(guī)劃模塊包括全局路徑規(guī)劃子模塊、落腳點(diǎn)規(guī)劃子模塊和單步規(guī)劃子模塊;其中,全局路徑規(guī)劃子模塊從全局角度對(duì)攀爬環(huán)境進(jìn)行分析,并從中粗略地篩選出一些關(guān)鍵路線構(gòu)成具有全局指向性的路徑地圖;落腳點(diǎn)規(guī)劃子模塊根據(jù)攀爬機(jī)器人各種步態(tài)的動(dòng)作范圍,以某種評(píng)價(jià)指標(biāo)為依據(jù)將路徑地圖進(jìn)行分割和離散,從而編排成環(huán)環(huán)相扣的落腳點(diǎn)序列;單步規(guī)劃子模塊規(guī)劃攀爬機(jī)構(gòu)在落腳點(diǎn)之間的攀爬運(yùn)動(dòng)。
上述一種多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),所述關(guān)節(jié)步態(tài)管理模塊包括關(guān)節(jié)動(dòng)作序列轉(zhuǎn)換器、關(guān)節(jié)觸發(fā)器、關(guān)節(jié)動(dòng)作過程子模塊、關(guān)節(jié)事務(wù)系統(tǒng)子模塊以及關(guān)節(jié)防護(hù)子模塊;其中,關(guān)節(jié)動(dòng)作序列轉(zhuǎn)換器將路徑規(guī)劃模塊輸出的串行指令序列根據(jù)攀爬動(dòng)作范圍、外部約束等轉(zhuǎn)換為初步的并行關(guān)節(jié)指令序列;關(guān)節(jié)觸發(fā)器負(fù)責(zé)攀爬機(jī)器人多足之間的一個(gè)自動(dòng)協(xié)調(diào)機(jī)制;關(guān)節(jié)動(dòng)作過程子模塊負(fù)責(zé)管理關(guān)節(jié)機(jī)械動(dòng)作的各個(gè)序列,完成一個(gè)個(gè)指令動(dòng)作;關(guān)節(jié)事務(wù)管理子模塊用于保證足式攀爬機(jī)器人移動(dòng)過程中關(guān)節(jié)機(jī)械動(dòng)作序列的事務(wù)特征;關(guān)節(jié)防護(hù)子模塊約束關(guān)節(jié)機(jī)械動(dòng)作。
上述一種多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),所述硬件相關(guān)層包括信息采集接口、傳感器信息融合模塊和執(zhí)行器接口,其中,信息采集接口通過傳感器獲取機(jī)器人本體自身信息和環(huán)境信息,傳感器信息融合模塊主要融合傳感器測(cè)量的數(shù)據(jù),執(zhí)行器接口驅(qū)動(dòng)機(jī)器人執(zhí)行器硬件機(jī)構(gòu)完成預(yù)定動(dòng)作。
由于采用了以上技術(shù)方案,本發(fā)明所取得技術(shù)進(jìn)步如下。
本發(fā)明應(yīng)用于足式攀爬機(jī)器人,不僅可針對(duì)不同機(jī)器人自由配置,通用性強(qiáng);并且其功能較為完備,主要體現(xiàn)在以下幾個(gè)方面。
1)本發(fā)明以數(shù)據(jù)流和控制流為中心,功能完備。不僅具有一般的感知、控制、定位、路徑規(guī)劃與避障等功能,還通過移動(dòng)安全模塊、關(guān)節(jié)步態(tài)管理器模塊、數(shù)據(jù)分析模塊等提供更加精細(xì)、完整的功能,從而保障機(jī)器人安全、高效地運(yùn)行。
2)本發(fā)明通過多層體系結(jié)構(gòu)解耦合,業(yè)務(wù)邏輯清晰。
用戶視圖層、數(shù)據(jù)中心層、主控層、路徑步態(tài)層、硬件相關(guān)層只與相鄰的上下層相關(guān),與其它層是分離的,相對(duì)獨(dú)立。具體地說,用戶視圖層與路徑步態(tài)層、硬件相關(guān)層分離,當(dāng)用戶視圖層(數(shù)據(jù)顯示模塊或者操控模塊)需要更改時(shí),不需要修改路徑步態(tài)層和硬件相關(guān)層。類似地,路徑步態(tài)層與用戶視圖層分離,當(dāng)路徑步態(tài)層需要修改時(shí),不需要修改用戶視圖層;硬件相關(guān)層與數(shù)據(jù)中心層、用戶視圖層分離,當(dāng)與硬件相關(guān)的感知、控制等需要更改時(shí),不需要修改數(shù)據(jù)中心層和用戶視圖層。數(shù)據(jù)中心層的永久數(shù)據(jù)可以根據(jù)數(shù)據(jù)規(guī)模和訪問次數(shù)存儲(chǔ)在RDBMS或者LDAP服務(wù)器中。只要正確實(shí)現(xiàn)了模型和接口訪問機(jī)制,用戶視圖層的數(shù)據(jù)顯示模塊就會(huì)正確顯示機(jī)器人的信息和環(huán)境信息,操控模塊就會(huì)正確控制機(jī)器人。
由于采用五層分離體系,改變其中一層不會(huì)影響其他層,所以根據(jù)這種設(shè)計(jì)思想能構(gòu)建良好的松耦合、業(yè)務(wù)邏輯清晰的足式攀爬機(jī)器人移動(dòng)控制系統(tǒng)。
3)本發(fā)明可復(fù)用度高、維護(hù)成本低、全生命周期成本低。
隨著顯示方式的多樣化需求,控制系統(tǒng)允許使用不同樣式的視圖顯示數(shù)據(jù)中心層的相同數(shù)據(jù),所有視圖能共享機(jī)器人數(shù)據(jù)。比如,用戶可以用數(shù)據(jù)列表的形式顯示機(jī)器人的相關(guān)數(shù)據(jù)、用視頻實(shí)時(shí)播放機(jī)器人采集到的數(shù)據(jù)、根據(jù)采集到的數(shù)據(jù)以圖像形式顯示機(jī)器人的運(yùn)動(dòng)態(tài)勢(shì)和相關(guān)參數(shù)。這時(shí),只需要修改用戶視圖層的數(shù)據(jù)顯示模塊,建立新的“視圖/數(shù)據(jù)”的映射就可滿足相應(yīng)需求,其它模塊得到了復(fù)用。
隨著控制方式的多樣化和簡(jiǎn)單化,系統(tǒng)允許用戶采用不同的控制方式,比如采用預(yù)置指令列表、手勢(shì)、XBox360搖桿、Kinect等方式控制機(jī)器人,所有的控制方式都能操控同樣的數(shù)據(jù)和機(jī)器人。不同的控制方式只需建立對(duì)應(yīng)的“操控/數(shù)據(jù)”映射即可,其它模塊得到了復(fù)用。
隨著硬件元器件的進(jìn)步和變革,控制系統(tǒng)允許更換、添加傳感器部件??刂葡到y(tǒng)只需修改或者增加硬件相關(guān)層的數(shù)據(jù)采集接口和執(zhí)行器接口,建立正確的“硬件相關(guān)層/硬件”映射就可滿足變化要求,其它模塊得到了復(fù)用。
本發(fā)明雖然在開發(fā)過程中因接口的設(shè)計(jì)、開發(fā)、測(cè)試導(dǎo)致成本較高;但后期如有硬件、控制策略、路徑規(guī)劃策略發(fā)生變化,只需針對(duì)相應(yīng)模塊進(jìn)行局部精準(zhǔn)修改即可。這種修改規(guī)模小,測(cè)試容易,維護(hù)流程簡(jiǎn)明,成本低,全生命周期的成本更低。
4)本發(fā)明可以并行開發(fā)、開發(fā)時(shí)間短、部署快。
控制系統(tǒng)采用五層體系結(jié)構(gòu)可讓各類業(yè)務(wù)人員集中精力完成、優(yōu)化所負(fù)責(zé)的部分,操控人員重點(diǎn)關(guān)注用戶視圖層、數(shù)據(jù)管理分析人員重點(diǎn)關(guān)注數(shù)據(jù)中心層、路徑規(guī)劃人員重點(diǎn)關(guān)注路徑步態(tài)層、硬件輔助工程師重點(diǎn)關(guān)注硬件相關(guān)層。在接口穩(wěn)定的前提下,所述系統(tǒng)開發(fā)人員可以并行開發(fā)系統(tǒng),開發(fā)時(shí)間得到相當(dāng)大程度縮減,部署快。
5)本發(fā)明的數(shù)據(jù)格式可配置、數(shù)據(jù)分層存儲(chǔ)。
控制系統(tǒng)需要收集、整理大量的傳感信息數(shù)據(jù)、路徑步態(tài)數(shù)據(jù)和操控?cái)?shù)據(jù),并根據(jù)這些數(shù)據(jù)進(jìn)行計(jì)算、決策。隨著硬件、規(guī)劃方法、控制策略的變化,數(shù)據(jù)的格式往往略有調(diào)整。一般地,控制系統(tǒng)往往因?yàn)閿?shù)據(jù)格式的輕微變化,需要修改系統(tǒng)中數(shù)據(jù)出現(xiàn)的所有地方,數(shù)據(jù)成為魔幻數(shù)字,通常是網(wǎng)狀結(jié)構(gòu)修改,邏輯復(fù)雜,修改難度大。而本發(fā)明通過元數(shù)據(jù)可配置數(shù)據(jù)格式和內(nèi)容,統(tǒng)一管理控制系統(tǒng)中的數(shù)據(jù),當(dāng)數(shù)據(jù)需求有輕微變化時(shí),只需要修改元數(shù)據(jù),其它模塊自動(dòng)更新相關(guān)數(shù)據(jù);這種修改方式邏輯清晰,維護(hù)簡(jiǎn)單。
所述控制系統(tǒng)運(yùn)行時(shí)暫時(shí)只保存實(shí)時(shí)數(shù)據(jù)到內(nèi)存或者文件,有效保證了系統(tǒng)運(yùn)行速度;機(jī)器人自主移動(dòng)一段時(shí)間后,再把運(yùn)行得到的數(shù)據(jù)統(tǒng)一自動(dòng)轉(zhuǎn)儲(chǔ)到數(shù)據(jù)庫中,進(jìn)行數(shù)據(jù)分析。這種數(shù)據(jù)分級(jí)存儲(chǔ)方式對(duì)找出足式機(jī)器人攀爬中的故障、挖掘機(jī)器人攀爬的規(guī)律具有較大的價(jià)值。
6)本發(fā)明的路徑規(guī)劃分層進(jìn)行,逐步調(diào)整完善、細(xì)化求精。這種規(guī)劃方式有利于及時(shí)發(fā)現(xiàn)路徑規(guī)劃中的問題,盡早舍棄不可達(dá)路線,提高規(guī)劃效率;有利于得到可操作性強(qiáng)、精細(xì)、準(zhǔn)確的路線,提高規(guī)劃效果。
附圖說明
圖1為本發(fā)明的整體結(jié)構(gòu)框圖;
圖2為本發(fā)明的元數(shù)據(jù)結(jié)構(gòu)圖;
圖3為本發(fā)明所述全局路徑規(guī)劃子模塊的設(shè)計(jì)圖;
圖4為本發(fā)明所述攀爬點(diǎn)規(guī)劃子模塊的設(shè)計(jì)圖;
圖5為本發(fā)明輕量級(jí)的結(jié)構(gòu)框圖;
圖6為本發(fā)明的數(shù)據(jù)流圖。
具體實(shí)施方式
足式攀爬機(jī)器人移動(dòng)控制系統(tǒng)需要完成機(jī)器人的感知、定位、路徑規(guī)劃、步態(tài)規(guī)劃、避障、控制等,涉及傳感器信息數(shù)據(jù)、地圖數(shù)據(jù)、路徑和步態(tài)數(shù)據(jù)、控制數(shù)據(jù)等,數(shù)據(jù)量大、數(shù)據(jù)流動(dòng)較快,通常以毫秒計(jì);多種數(shù)據(jù)需要融合、傳輸、計(jì)算,數(shù)據(jù)的處理頻度高、數(shù)據(jù)耦合度高;數(shù)據(jù)復(fù)雜度高,控制耦合度高。攀爬機(jī)器人的控制系統(tǒng)都是以數(shù)據(jù)為中心,需要收集、整理大量的傳感信息數(shù)據(jù)、路徑步態(tài)數(shù)據(jù)和操控?cái)?shù)據(jù),并根據(jù)這些數(shù)據(jù)計(jì)算、決策;然而隨著硬件、規(guī)劃方法、控制策略的變化,數(shù)據(jù)的內(nèi)容和格式往往略有調(diào)整,這種調(diào)整通常要求修改系統(tǒng)中這些數(shù)據(jù)出現(xiàn)的所有地方,邏輯復(fù)雜,修改難度大。本發(fā)明固化不變的部分,把變化的部分提取出元數(shù)據(jù),并以配置文件的形式進(jìn)行統(tǒng)一管理;當(dāng)數(shù)據(jù)有輕微變化時(shí),只需要修改元數(shù)據(jù),其它模塊自動(dòng)更新相關(guān)數(shù)據(jù),這種修改方式邏輯清晰,維護(hù)成本低。
下面將結(jié)合附圖對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。
本發(fā)明提供一種多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),采用五層分離體系來降低控制系統(tǒng)的數(shù)據(jù)復(fù)雜度和控制耦合,圍繞數(shù)據(jù)和控制,其結(jié)構(gòu)框圖如圖1所示,包括用戶視圖層、主控層、數(shù)據(jù)中心層、路徑步態(tài)層、硬件相關(guān)層,主控層分別與用戶視圖層、路徑步態(tài)層以及硬件相關(guān)層以及數(shù)據(jù)中心層相互通信,數(shù)據(jù)中心層分別與其他各層互聯(lián)。
用戶視圖層主要負(fù)責(zé)與用戶交互,包括攀爬機(jī)器人數(shù)據(jù)顯示模塊和操控模塊。數(shù)據(jù)顯示模塊可以以列表、圖形、仿真機(jī)器人、視頻等形式展示機(jī)器人攀爬過程中的環(huán)境狀態(tài)和機(jī)器人本體狀態(tài);每種顯示形式對(duì)應(yīng)一個(gè)“視圖/數(shù)據(jù)”映射,所有顯示形式共享相同的基礎(chǔ)數(shù)據(jù);當(dāng)需要增加、調(diào)整顯示形式時(shí),只需要修改對(duì)應(yīng)的“視圖/數(shù)據(jù)”映射。操控模塊允許用戶以預(yù)置指令列表、手勢(shì)、XBox360搖桿、Kinect等方式控制機(jī)器人,每種控制方式對(duì)應(yīng)一個(gè)“操控/數(shù)據(jù)”映射,所有控制形式最后都轉(zhuǎn)換為控制指令;當(dāng)需要增加、調(diào)整操控形式時(shí),只需要修改對(duì)應(yīng)的“操控/數(shù)據(jù)”映射。
主控層是足式攀爬機(jī)器人移動(dòng)控制系統(tǒng)的神經(jīng)中樞,負(fù)責(zé)控制系統(tǒng)的安全管理和各個(gè)模塊的調(diào)度、監(jiān)控,包括系統(tǒng)調(diào)度監(jiān)控模塊和移動(dòng)安全模塊。
系統(tǒng)調(diào)度模塊主要包括系統(tǒng)運(yùn)行調(diào)度、SLAM(即時(shí)定位和地圖構(gòu)建)、警報(bào)、日志、運(yùn)行時(shí)間監(jiān)控、數(shù)據(jù)訪問頻度監(jiān)控等子模塊。系統(tǒng)運(yùn)行調(diào)度子模塊負(fù)責(zé)各個(gè)模塊的啟動(dòng)、停止和邏輯交互,模塊之間數(shù)據(jù)的交互等。警報(bào)子模塊負(fù)責(zé)系統(tǒng)警報(bào)的類型和報(bào)警形式管理。日志子模塊負(fù)責(zé)日志的設(shè)置、存儲(chǔ)和顯示。SLAM子模塊負(fù)責(zé)對(duì)攀爬機(jī)器人和攀爬環(huán)境的定位和地圖構(gòu)建,遵循“遠(yuǎn)粗近細(xì)、逐步細(xì)化、逐步提高”的原則進(jìn)行數(shù)據(jù)的采集和處理。運(yùn)行時(shí)間監(jiān)控子模塊是一個(gè)可以開關(guān)的模塊,主要監(jiān)控核心步驟、算法和模塊的運(yùn)行時(shí)間,以支撐攀爬機(jī)器人移動(dòng)控制系統(tǒng)的快速計(jì)算和及時(shí)響應(yīng)。數(shù)據(jù)訪問頻度監(jiān)控子模塊也是一個(gè)可以開關(guān)的模塊,主要監(jiān)控核心數(shù)據(jù)的訪問頻率,為決策數(shù)據(jù)的存儲(chǔ)位置提供信息支撐。一般地,高訪問頻率的實(shí)時(shí)數(shù)據(jù)存儲(chǔ)在內(nèi)存中,低訪問頻率的實(shí)時(shí)數(shù)據(jù)存儲(chǔ)在文件中;高訪問頻率的歷史數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫和內(nèi)存中,低訪問頻率的歷史數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中。
移動(dòng)安全模塊主要包括用戶身份鑒別、權(quán)限管理、日志和審計(jì)四個(gè)子模塊。用戶身份鑒別子模塊主要負(fù)責(zé)對(duì)登錄、使用攀爬機(jī)器人移動(dòng)控制系統(tǒng)的用戶進(jìn)行身份核查,主要形式是用戶標(biāo)識(shí)和口令。權(quán)限管理子模塊主要負(fù)責(zé)對(duì)攀爬機(jī)器人的用戶數(shù)據(jù)訪問權(quán)、修改權(quán)、機(jī)器人操控權(quán)進(jìn)行審核校驗(yàn)。日志子模塊是可以開啟關(guān)閉的功能模塊,主要負(fù)責(zé)記錄足式攀爬機(jī)器人在移動(dòng)過程中的核心數(shù)據(jù),比如操控?cái)?shù)據(jù)、路徑步態(tài)層輸出的串行指令序列和關(guān)節(jié)機(jī)械動(dòng)作序列、采集的核心感知信息等。審計(jì)子模塊是可以開啟關(guān)閉的功能模塊,當(dāng)足式攀爬機(jī)器人移動(dòng)控制出現(xiàn)故障中,可以通過審計(jì)功能發(fā)現(xiàn)故障產(chǎn)生的原因;也可以校驗(yàn)核心關(guān)節(jié)、關(guān)節(jié)步驟的正確性。
數(shù)據(jù)中心層主要處理控制系統(tǒng)數(shù)據(jù)的組織、存儲(chǔ)和分析。足式攀爬機(jī)器人移動(dòng)過程中需要快速處理大量的數(shù)據(jù),包括傳感器感知的環(huán)境信息、定位系統(tǒng)獲取的三維空間信息等上行數(shù)據(jù)和路徑步態(tài)層規(guī)劃的中間臨時(shí)數(shù)據(jù)和最終結(jié)果數(shù)據(jù)、用戶視圖層的操控信息等下行數(shù)據(jù)。數(shù)據(jù)處理過程包括數(shù)據(jù)的實(shí)時(shí)匯總與臨時(shí)存儲(chǔ)、階段性歷史數(shù)據(jù)永久存儲(chǔ)、數(shù)據(jù)分析。本發(fā)明中,數(shù)據(jù)中心層主要包括元數(shù)據(jù)管理模塊、數(shù)據(jù)管理模塊和數(shù)據(jù)分析模塊。
元數(shù)據(jù)管理模塊負(fù)責(zé)統(tǒng)一管理系統(tǒng)可變、可配置數(shù)據(jù)的取值。一般地,機(jī)器人控制系統(tǒng)往往因?yàn)橛布Y(jié)構(gòu)、采集的數(shù)據(jù)格式輕微變化,需要修改系統(tǒng)中這些數(shù)據(jù)出現(xiàn)的所有地方,由于模塊之間數(shù)據(jù)相互耦合,通常需要網(wǎng)狀結(jié)構(gòu)式修改,邏輯復(fù)雜,難度大。在控制系統(tǒng)搭建時(shí),從可變的硬件結(jié)構(gòu)(機(jī)器人攀爬足的個(gè)數(shù)、關(guān)節(jié)數(shù),傳感器的個(gè)數(shù)和類型)、系統(tǒng)信息(警告、日志)提取出元數(shù)據(jù),元數(shù)據(jù)的賦值集中在數(shù)據(jù)中心層的元數(shù)據(jù)管理模塊中,其他模塊都從元數(shù)據(jù)模塊讀取數(shù)值。當(dāng)有數(shù)據(jù)發(fā)生輕微變化時(shí),只需要修改元數(shù)據(jù)的值,其他模塊取值自動(dòng)更新,這種修改邏輯清晰、管理簡(jiǎn)單、難度低。
元數(shù)據(jù)在存儲(chǔ)時(shí)采用xml文件,本發(fā)明中,元數(shù)據(jù)的結(jié)構(gòu)如圖2所示,具體包括三個(gè)方面:攀爬機(jī)器人、傳感器以及控制系統(tǒng),攀爬機(jī)器人中主要包括攀爬足面數(shù)據(jù)和攀爬足關(guān)節(jié)數(shù)據(jù);傳感器中主要包括傳感器個(gè)數(shù)、類型和采樣參數(shù)數(shù)據(jù),采樣參數(shù)中包含頻率、單位以及數(shù)據(jù)類型;控制系統(tǒng)中主要包括操控類型、數(shù)據(jù)顯示類型、警報(bào)設(shè)置、日志以及開關(guān)設(shè)置,開關(guān)設(shè)置中主要包括歷史數(shù)據(jù)、數(shù)據(jù)分析、運(yùn)行時(shí)間監(jiān)控、數(shù)據(jù)訪問頻度監(jiān)控、移動(dòng)安全模塊、日志、審計(jì)、動(dòng)作過程、事務(wù)管理以及關(guān)節(jié)防護(hù)數(shù)據(jù)。
數(shù)據(jù)管理模塊主要負(fù)責(zé)存儲(chǔ)、檢索攀爬機(jī)器人在移動(dòng)過程中的數(shù)據(jù),包括實(shí)時(shí)數(shù)據(jù)管理子模塊和歷史數(shù)據(jù)管理子模塊。
實(shí)時(shí)數(shù)據(jù)管理子模塊負(fù)責(zé)管理攀爬機(jī)器人移動(dòng)過程中的實(shí)時(shí)數(shù)據(jù)。機(jī)器人在移動(dòng)過程中,需要快速收集、計(jì)算大量實(shí)時(shí)數(shù)據(jù),并發(fā)布關(guān)節(jié)機(jī)械動(dòng)作指令。這些過程時(shí)間緊任務(wù)重,實(shí)時(shí)數(shù)據(jù)來不及存入數(shù)據(jù)庫中,只能暫時(shí)存入內(nèi)存或者文件中。實(shí)時(shí)數(shù)據(jù)模塊就是負(fù)責(zé)高效收集、整理、組織、存儲(chǔ)這些數(shù)據(jù)。
歷史數(shù)據(jù)管理子模塊主要負(fù)責(zé)把前期暫存在內(nèi)存和文件中的數(shù)據(jù)轉(zhuǎn)儲(chǔ)到RDBMS數(shù)據(jù)庫或者LDAP服務(wù)器中。在攀爬活動(dòng)結(jié)束后,數(shù)據(jù)的采集和計(jì)算基本停止,系統(tǒng)有時(shí)間把移動(dòng)過程中的在內(nèi)存或者文件的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫或者LDAP服務(wù)器中,方便后期的檢索和分析。
數(shù)據(jù)分析模塊是在機(jī)器人移動(dòng)控制系統(tǒng)經(jīng)過長(zhǎng)期的數(shù)據(jù)收集、整理和存儲(chǔ)后,可以采用數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)找出機(jī)器人的運(yùn)動(dòng)特征,指導(dǎo)機(jī)器人的操控和攀爬運(yùn)行。具體地說,可以通過切片切塊的方式找出最優(yōu)的決策策略、在各種典型環(huán)境中各個(gè)攀爬足之間的移動(dòng)關(guān)聯(lián)規(guī)則、攀爬機(jī)器人各部件在各種典型環(huán)境中的受力特征等。
路徑步態(tài)層主要在避障模塊的幫助下完成三級(jí)路徑規(guī)劃和關(guān)節(jié)步態(tài)管理,從宏觀到微觀依次是全局路徑規(guī)劃、具體的落腳點(diǎn)規(guī)劃和單步路徑規(guī)劃,輸出的是串行指令序列,足式攀爬機(jī)器人能根據(jù)用戶的指令自主到達(dá)單一目的地或者多個(gè)目的地。本發(fā)明中,路徑步態(tài)層包括避障模塊、路徑規(guī)劃模塊和關(guān)節(jié)步態(tài)管理模塊。
避障模塊指導(dǎo)攀爬機(jī)器人發(fā)現(xiàn)和避開障礙,較大的障礙在選擇行進(jìn)路線時(shí)繞開,較小的障礙通過調(diào)整關(guān)節(jié)機(jī)械動(dòng)作序列避開。障礙通常為靜態(tài)的,避障策略有bug算法、氣泡帶技術(shù)、梯度法等。
路徑規(guī)劃模塊包括全局路徑規(guī)劃子模塊、落腳點(diǎn)規(guī)劃子模塊和單步規(guī)劃子模塊。
全局路徑規(guī)劃子模塊以攀爬環(huán)境和機(jī)器人的攀爬動(dòng)作范圍、攀爬安全性約束等為輸入,從全局角度對(duì)攀爬環(huán)境進(jìn)行分析,并從中粗略地篩選出一些關(guān)鍵路線構(gòu)成具有全局指向性的路徑地圖。全局路徑規(guī)劃分為可達(dá)性計(jì)算、路徑難度評(píng)估、路徑排序三個(gè)步驟,可達(dá)性計(jì)算有包括線段可達(dá)和跨越可達(dá)計(jì)算,路徑難度評(píng)估包括機(jī)器人運(yùn)動(dòng)特性角度評(píng)估和環(huán)境特性角度評(píng)估兩個(gè)方面,路徑排序包括估算時(shí)間優(yōu)先排序、可靠性優(yōu)先排序以及綜合排序三方面;三個(gè)步驟分別與三個(gè)接口對(duì)應(yīng)。本發(fā)明中,采用一個(gè)控制器選擇三個(gè)接口進(jìn)行實(shí)現(xiàn),如圖3所示。
落腳點(diǎn)規(guī)劃子模塊以攀爬機(jī)器人攀爬環(huán)境和全局路徑地圖為輸入,根據(jù)攀爬機(jī)器人各種步態(tài)的動(dòng)作范圍,以某種評(píng)價(jià)指標(biāo)為依據(jù)將路徑地圖進(jìn)行分割和離散,從而編排成環(huán)環(huán)相扣的落腳點(diǎn)序列。在落腳點(diǎn)規(guī)劃中,需要通過合理的落腳點(diǎn)序列避開障礙和精準(zhǔn)到達(dá)關(guān)鍵點(diǎn)穿越桿件,這就需要落腳點(diǎn)規(guī)劃具有適度的前瞻性。落腳點(diǎn)規(guī)劃的目標(biāo)是在保證可達(dá)性的前提下實(shí)現(xiàn)落腳點(diǎn)最少或者能耗最低。
落腳點(diǎn)規(guī)劃時(shí)分為三部分:首先進(jìn)行關(guān)鍵障礙點(diǎn)規(guī)劃,瓶頸優(yōu)先,對(duì)于比較高的障礙物,選擇高度優(yōu)先規(guī)劃;對(duì)于比較寬的障礙物,選擇寬度優(yōu)先規(guī)劃;其次是分段規(guī)劃,每個(gè)關(guān)鍵障礙點(diǎn)把全局路徑分解為若干段,每一段外部約束都不同,每一段路徑進(jìn)行單獨(dú)規(guī)劃,規(guī)劃方式包括單步平均距離規(guī)劃和單步最遠(yuǎn)距離規(guī)劃;最后是落腳點(diǎn)調(diào)優(yōu),包括前向調(diào)優(yōu)、后向調(diào)優(yōu)和關(guān)鍵點(diǎn)調(diào)優(yōu),比如,在規(guī)劃完全程攀爬路徑后,在每個(gè)關(guān)鍵障礙點(diǎn)的前后攀爬點(diǎn)附近存在一些可以前后調(diào)整的情況,即落腳點(diǎn)可以適當(dāng)前移或者后移,以減少一個(gè)落腳點(diǎn),或者落腳更加穩(wěn)健。具體的算法可以按照從起點(diǎn)到終點(diǎn)逐一檢查的前向調(diào)優(yōu)算法,也可以按照從終點(diǎn)到起點(diǎn)倒序檢查的調(diào)優(yōu)算法,當(dāng)然還可以采用在攀爬關(guān)鍵點(diǎn)相鄰三點(diǎn)之內(nèi)的臨域調(diào)優(yōu)算法等。落腳點(diǎn)規(guī)劃模塊的設(shè)計(jì)如圖4所示。
單步規(guī)劃子模塊規(guī)劃攀爬機(jī)構(gòu)在落腳點(diǎn)之間的攀爬運(yùn)動(dòng)。單步規(guī)劃是在落腳點(diǎn)序列規(guī)劃好之后。如果是雙攀爬足,由其特點(diǎn)可知,落腳點(diǎn)序列中每三個(gè)落腳點(diǎn)構(gòu)成一個(gè)步態(tài):中間的為基座落腳點(diǎn),前一個(gè)點(diǎn)是開始攀爬位置,后一個(gè)點(diǎn)是末端攀爬位置。
關(guān)節(jié)步態(tài)管理模塊用于根據(jù)約束條件轉(zhuǎn)換為關(guān)節(jié)動(dòng)作指令并協(xié)調(diào)各關(guān)節(jié)完成攀爬動(dòng)作,包括關(guān)節(jié)動(dòng)作序列轉(zhuǎn)換器、關(guān)節(jié)觸發(fā)器、關(guān)節(jié)動(dòng)作過程子模塊、關(guān)節(jié)事務(wù)系統(tǒng)子模塊以及關(guān)節(jié)防護(hù)子模塊。
關(guān)節(jié)動(dòng)作序列轉(zhuǎn)換器是把層路徑規(guī)劃模塊輸出的串行指令序列根據(jù)攀爬動(dòng)作范圍、外部約束等轉(zhuǎn)換為初步的并行關(guān)節(jié)指令序列。這樣增加了關(guān)節(jié)動(dòng)作的并發(fā)度,節(jié)省了攀爬動(dòng)作完成的時(shí)間,提高了足式攀爬機(jī)器人的移動(dòng)速度
關(guān)節(jié)觸發(fā)器負(fù)責(zé)攀爬機(jī)器人多足之間的一個(gè)自動(dòng)協(xié)調(diào)機(jī)制,保障攀爬機(jī)器人移動(dòng)的健壯性和高效性。比如四足攀爬機(jī)器人在一只足離開落腳點(diǎn)時(shí),需要事先檢查其他三只足是否完全依附桿件,如果沒有則事先自動(dòng)完全依附桿件;比如在攀爬環(huán)境平緩穩(wěn)定寬松時(shí),為加快移動(dòng)速度,四足攀爬機(jī)器人在對(duì)角線的前足移動(dòng)時(shí),觸發(fā)后足也開始同向同步移動(dòng)。
關(guān)節(jié)動(dòng)作過程子模塊負(fù)責(zé)管理關(guān)節(jié)機(jī)械動(dòng)作的各個(gè)序列,完成一個(gè)個(gè)有意義的典型的指令動(dòng)作;通常是根據(jù)足式攀爬機(jī)器人在移動(dòng)過程中典型關(guān)節(jié)機(jī)械動(dòng)作的提煉總結(jié),比如水平直行、向左轉(zhuǎn)、向右轉(zhuǎn)、向上攀爬、向下攀爬等,可以由用戶自行編寫關(guān)節(jié)機(jī)械動(dòng)作序列,也可以在海量關(guān)節(jié)機(jī)械動(dòng)作序列中通過數(shù)據(jù)挖掘技術(shù)得到。
關(guān)節(jié)事務(wù)管理子模塊用于保證足式攀爬機(jī)器人移動(dòng)過程中關(guān)節(jié)機(jī)械動(dòng)作序列的事務(wù)特征。這些關(guān)節(jié)機(jī)械動(dòng)作序列具有原子性(要么都不做,要么都做)、一致性(從一個(gè)所有足都依附的狀態(tài)到另一個(gè)所有足都依附的狀態(tài))、持久性(一旦提交,所有關(guān)節(jié)機(jī)械動(dòng)作都會(huì)發(fā)生)、中間可撤銷性(在未提交之前,所有關(guān)節(jié)機(jī)械動(dòng)作都可以撤銷,退回原來的一致性狀態(tài),用于發(fā)現(xiàn)障礙或者危險(xiǎn)、掉電重啟之后的關(guān)節(jié)復(fù)原)。
關(guān)節(jié)防護(hù)子模塊是指關(guān)節(jié)機(jī)械動(dòng)作應(yīng)該受到關(guān)節(jié)動(dòng)作的約束,不超過運(yùn)動(dòng)極限,減少極端動(dòng)作的頻度,有效保護(hù)關(guān)節(jié)。
硬件相關(guān)層主要負(fù)責(zé)和機(jī)器人硬件交互,包括信息采集接口、傳感器信息融合模塊和執(zhí)行器接口。信息采集接口通過傳感器獲取機(jī)器人本體自身信息和環(huán)境信息,機(jī)器人傳感器主要包括GPS、IMU、加速度計(jì)、角度傳感器、力傳感器、溫度傳感器等。
傳感器信息融合模塊主要采用三維重建技術(shù)、數(shù)據(jù)融合等技術(shù)對(duì)采集到的傳感器的數(shù)據(jù)進(jìn)行整理和融合。
執(zhí)行器接口驅(qū)動(dòng)機(jī)器人執(zhí)行器硬件機(jī)構(gòu)完成預(yù)定動(dòng)作。
本發(fā)明的數(shù)據(jù)流圖如圖6所示,具體為:操控人員輸入操控信息,經(jīng)安全管理和調(diào)度監(jiān)控后生成控制信息,并進(jìn)行數(shù)據(jù)存儲(chǔ)和分析;采集機(jī)器人本體信息,結(jié)合元數(shù)據(jù)文件對(duì)元數(shù)據(jù)進(jìn)行初始化;采集攀爬環(huán)境信息以及各傳感器信息,對(duì)機(jī)器人進(jìn)行定位并制作地形圖;而后根據(jù)上述信息對(duì)機(jī)器人路徑進(jìn)行規(guī)劃,并將規(guī)劃好的串行指令序列進(jìn)行關(guān)節(jié)步態(tài)管理,最后將關(guān)節(jié)機(jī)械動(dòng)作序列發(fā)送給機(jī)器人,機(jī)器人順序執(zhí)行動(dòng)作指令。
本發(fā)明的工作過程如下所述。
第一步,啟動(dòng)控制系統(tǒng),讀取數(shù)據(jù)中心的元數(shù)據(jù),配置足式攀爬機(jī)器人控制系統(tǒng)參數(shù);檢查系統(tǒng)各層是否完整、是否準(zhǔn)備完成;啟動(dòng)移動(dòng)安全模塊檢驗(yàn)用戶身份及權(quán)限。
第二步,啟動(dòng)傳感器設(shè)備,采集傳感器測(cè)量的感知數(shù)據(jù),融合傳感信息并上傳到數(shù)據(jù)中心。
第三步,根據(jù)數(shù)據(jù)顯示模塊的設(shè)置,把數(shù)據(jù)中心的數(shù)據(jù)以正確的形式實(shí)時(shí)反饋到用戶視圖層,顯示機(jī)器人的本體信息和環(huán)境信息。
第四步,控制系統(tǒng)接受用戶視圖層操控模塊的指令,如果是“停止移動(dòng)”指令,則停止,進(jìn)入第五步;如果不是,則進(jìn)入第六步。
第五步,把實(shí)時(shí)數(shù)據(jù)永久存儲(chǔ)到RDBMS或者LDAP中,并進(jìn)行數(shù)據(jù)分析和挖掘,找出攀爬機(jī)器人移動(dòng)的潛在規(guī)律,退出系統(tǒng)。
第六步,根據(jù)操控模塊的要求,解析機(jī)器人移動(dòng)目的地。在系統(tǒng)調(diào)度監(jiān)控模塊、避障模塊幫助下,從宏觀到微觀進(jìn)行多層路徑規(guī)劃,得到串行指令序列;然后通過關(guān)節(jié)步態(tài)管理模塊得到足式攀爬機(jī)器人各關(guān)節(jié)的機(jī)械動(dòng)作序列。
第七步,足式攀爬機(jī)器人各關(guān)節(jié)執(zhí)行器根據(jù)機(jī)械動(dòng)作序列完成機(jī)械動(dòng)作。
本發(fā)明還提供一種輕量級(jí)的多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng),如圖5所示,是保障控制系統(tǒng)運(yùn)行的較低配置。輕量級(jí)多層可配置足式攀爬機(jī)器人移動(dòng)控制系統(tǒng)不再關(guān)注歷史數(shù)據(jù)和系統(tǒng)的安全性、穩(wěn)健性、完整度,關(guān)閉了主控層的移動(dòng)安全模塊、數(shù)據(jù)中心層的數(shù)據(jù)分析模塊,簡(jiǎn)化了主控層的系統(tǒng)調(diào)度監(jiān)控模塊、數(shù)據(jù)中心層的數(shù)據(jù)管理模塊、路徑步態(tài)層的關(guān)節(jié)步態(tài)管理模塊,可應(yīng)用于控制系統(tǒng)計(jì)算和存儲(chǔ)設(shè)備性能欠佳時(shí),或者控制系統(tǒng)運(yùn)行已經(jīng)成熟,需要重點(diǎn)關(guān)注運(yùn)行效率的需求中。