亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

微處理設(shè)備、在線調(diào)試系統(tǒng)和方法

文檔序號(hào):6493513閱讀:121來源:國知局
微處理設(shè)備、在線調(diào)試系統(tǒng)和方法
【專利摘要】本發(fā)明公開了一種微處理設(shè)備、在線調(diào)試系統(tǒng)和方法,該在線調(diào)試方法包括:該微處理單元通過該輸入接口收到總線上的第一數(shù)據(jù);微處理單元解碼該第一數(shù)據(jù)以獲得該第一數(shù)據(jù)的數(shù)據(jù)類型,并且對該第一數(shù)據(jù)執(zhí)行與該數(shù)據(jù)類型相對應(yīng)的處理,或者:微處理單元通過該輸入接口接收了來自該輸入功能模塊的第一數(shù)據(jù);微處理單元將該第一數(shù)據(jù)編碼后通過該輸出接口發(fā)送至該輸出功能模塊。本發(fā)明解決了基于行為的機(jī)器人調(diào)試?yán)щy的問題,采集基于行為的機(jī)器人系統(tǒng)在運(yùn)行過程中的數(shù)據(jù)信息以及對局部功能模塊進(jìn)行調(diào)試,從而方便得分析問題出現(xiàn)的原因以及方便問題重現(xiàn)。
【專利說明】微處理設(shè)備、在線調(diào)試系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種微處理設(shè)備、在線調(diào)試系統(tǒng)和方法,特別是涉及一種用于對機(jī)器人的行為進(jìn)行在線調(diào)試的微處理設(shè)備、在線調(diào)試系統(tǒng)和方法。
【背景技術(shù)】
[0002]在傳統(tǒng)的機(jī)器人學(xué)中(也就是1986年之前的機(jī)器人學(xué)),機(jī)器人擁有一個(gè)中央“大腦”,這個(gè)大腦構(gòu)建并維護(hù)環(huán)境的“地圖”,然后根據(jù)地圖來制定計(jì)劃。首先,機(jī)器人的傳感器(例如接觸傳感器、光線傳感器和超聲波傳感器)從它的環(huán)境中獲得信息。機(jī)器人的大腦將傳感器收集的所有信息組合起來并更新它的環(huán)境地圖。然后,機(jī)器人決定運(yùn)動(dòng)的路線。它通過傳動(dòng)器和受動(dòng)器執(zhí)行動(dòng)作。簡單地說,傳統(tǒng)的機(jī)器人接收來自傳感器(可能有多個(gè)傳感器)的輸入,組合傳感器信息,更新環(huán)境地圖,根據(jù)它當(dāng)前掌握的環(huán)境視圖制定計(jì)劃,最后執(zhí)行動(dòng)作。
[0003]對于傳統(tǒng)的人工智能,主要的工作集中在“推理”上,在建造機(jī)器人時(shí),采取的是“感覺”一“建模”一“計(jì)劃”一“行動(dòng)”(SenSe->M0del->Plan->ACt)框架。早期的機(jī)器人都被放置在簡單的人工世界中,它們感覺這個(gè)事情,然后思考它,努力的建立關(guān)于這個(gè)世界的二維或三維的模型。接著,機(jī)器人根據(jù)這些模型做出計(jì)劃,并且通過計(jì)劃使得機(jī)器人產(chǎn)生實(shí)現(xiàn)特定目標(biāo)的行為。
[0004]但是,這種方法是有問題的。問題之一是它需要進(jìn)行大量計(jì)算。另外,因?yàn)橥獠凯h(huán)境總是在變化,所以很難讓環(huán)境地圖符合最新情況。一些生物(比如昆蟲)不掌握外部世界的地圖,甚至沒有記憶,但對環(huán)境的適應(yīng)性卻非常好,對這些問題的思考引出了一種新型的機(jī)器人學(xué),稱為基于行為的機(jī)器人學(xué)(behavior-based robotics, BBR)。
[0005]在基于行為的機(jī)器人學(xué)中,行為是實(shí)現(xiàn)功能的基本組件,基于行為的思想符合軟件工程的基本原理,行為具有天生的模塊化特征,易于對機(jī)器人能力的增量擴(kuò)展,機(jī)器人也可以通過擁有更多的行為而變的更加聰明。把系統(tǒng)按行為分解導(dǎo)致了實(shí)時(shí)運(yùn)行的系統(tǒng)要求,同時(shí)也減少了系統(tǒng)實(shí)現(xiàn)對計(jì)算的要求。由于以上的優(yōu)點(diǎn),BBR在當(dāng)今的機(jī)器人實(shí)驗(yàn)室中占主要地位。
[0006]基于行為的機(jī)器人學(xué)中最具有代表的人為布魯克斯(Rodney A.Brooks),他從80年代初期開始以全新的眼光來看待人工智能和機(jī)器人研究。他在研究過程中,發(fā)現(xiàn)傳統(tǒng)的邏輯程序在機(jī)器人的導(dǎo)航方面顯得非常緩慢和笨拙,傳統(tǒng)的機(jī)器人研究先假設(shè)真實(shí)的世界是靜止的,當(dāng)我們把這個(gè)靜止的世界中所有的問題都解決了,再回到動(dòng)態(tài)的世界中研究它。但布魯克斯一開始就假設(shè)世界是動(dòng)態(tài)的,這樣就可避免無止境的運(yùn)算中。他將目標(biāo)集中在制造能夠處理變化多端的日常事物的移動(dòng)式機(jī)器人,并且集中精力在機(jī)器人的行為上。
[0007]但基于行為的體系結(jié)構(gòu)伴隨而來的問題是調(diào)試比較困難,因?yàn)榛谛袨榈捏w系結(jié)構(gòu)強(qiáng)調(diào)的是“場景化”和“具體化”,即調(diào)試應(yīng)該直接在具體環(huán)境中實(shí)現(xiàn),而不主張通過仿真或模擬來實(shí)現(xiàn),在對機(jī)器人的行為進(jìn)行調(diào)試時(shí),由于計(jì)算分散在多個(gè)有限狀態(tài)機(jī)中進(jìn)行,需要調(diào)試的內(nèi)容變成了三部分:1)對每個(gè)有限狀態(tài)機(jī)功能的調(diào)試。2)多個(gè)有限狀態(tài)機(jī)之間通訊消息的調(diào)試。3)多個(gè)有限狀態(tài)機(jī)之間協(xié)調(diào)工作所組成的行為調(diào)試。
[0008]現(xiàn)行的調(diào)試方式因?yàn)橄到y(tǒng)結(jié)構(gòu)的局限,采用比較簡單的試錯(cuò)法和排除法,即在搭建整體系統(tǒng)前,先對每個(gè)單獨(dú)的有限狀態(tài)機(jī)測試輸出,判斷輸出結(jié)果是否滿足設(shè)計(jì)要求,然后再構(gòu)建成一個(gè)獨(dú)立的行為,當(dāng)對行為進(jìn)行調(diào)試時(shí),主要是通過調(diào)整局部參數(shù)來實(shí)現(xiàn)對外界環(huán)境的適應(yīng),當(dāng)發(fā)現(xiàn)錯(cuò)誤時(shí),由于系統(tǒng)特殊的結(jié)構(gòu),通過所有對計(jì)算過程的追溯就變的非常困難,只能通過設(shè)計(jì)人員的經(jīng)驗(yàn)來判斷可能出現(xiàn)問題的地方,然后通過試錯(cuò)法來逐步排除,但當(dāng)新的多個(gè)高層行為疊加后,當(dāng)實(shí)際效果不滿足設(shè)計(jì)目標(biāo)時(shí),對整體系統(tǒng)中出現(xiàn)問題部分的定位尤其的困難?,F(xiàn)有調(diào)試的方法從某種程度上可以看作是一種“藝術(shù)”而非“工程”設(shè)計(jì)范疇。

【發(fā)明內(nèi)容】

[0009]本發(fā)明要解決的技術(shù)問題是為了克服現(xiàn)有技術(shù)中基于行為的機(jī)器人的調(diào)試?yán)щy、尤其是當(dāng)實(shí)際效果不滿足設(shè)計(jì)目標(biāo)時(shí),對整體系統(tǒng)中出現(xiàn)問題部分的定位困難的缺陷,提供一種無需對被調(diào)試系統(tǒng)進(jìn)行修改即可對機(jī)器人的行為進(jìn)行在線采集調(diào)試信息、方便后續(xù)的調(diào)試和錯(cuò)誤追溯的微處理設(shè)備、在線調(diào)試系統(tǒng)和方法。
[0010]本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的:
[0011]一種微處理設(shè)備,該微處理設(shè)備用于機(jī)器人行為的在線調(diào)試,其特點(diǎn)在于,該機(jī)器人包括多個(gè)功能模塊,該微處理設(shè)備包括一微處理單元、多路總線接入的輸入接口、輸出接口、一無線收發(fā)模塊,其中,
[0012]該微處理單元用于通過該輸入接口收到總線上的第一數(shù)據(jù)、解碼該第一數(shù)據(jù)以獲得該第一數(shù)據(jù)的數(shù)據(jù)類型,并且對該第一數(shù)據(jù)執(zhí)行與該數(shù)據(jù)類型相對應(yīng)的處理;
[0013]該無線收發(fā)模塊用于將該第一數(shù)據(jù)發(fā)送至一監(jiān)控器,其中,
[0014]該第一數(shù)據(jù)為該功能模塊之間的通信數(shù)據(jù)。
[0015]該微處理單元可以為具有計(jì)算能力的微處理器,用于進(jìn)行數(shù)據(jù)處理,當(dāng)接收到總線上數(shù)據(jù)信息(即上述的第一數(shù)據(jù))時(shí),可以對信息解碼,根據(jù)信息的數(shù)據(jù)報(bào)頭,判斷數(shù)據(jù)的類型,對不同的消息進(jìn)行不同的處理。
[0016]優(yōu)選地,該微處理單元用于在通過該輸入接口接收了來自一輸入功能模塊的第一數(shù)據(jù)后,將該第一數(shù)據(jù)編碼后通過該輸出接口發(fā)送至一輸出功能模塊,其中,該輸入功能模塊為位于該微處理設(shè)備輸入端的功能模塊,該輸出功能模塊為位于該微處理設(shè)備輸出端的功能模塊。
[0017]除此之外,該微處理單元還具有數(shù)據(jù)緩沖能力,可以對總線上的通訊數(shù)據(jù)(即上述的第一數(shù)據(jù))加以編碼后再發(fā)送,例如當(dāng)總線上的一處理模塊(輸入功能模塊)對另一處理模塊(輸出功能模塊)發(fā)送計(jì)算數(shù)據(jù)信息時(shí),會(huì)先經(jīng)由兩者之間的微處理設(shè)備接收到,微處理設(shè)備不對數(shù)據(jù)進(jìn)行任何處理,直接將接收到的原數(shù)據(jù)經(jīng)過該輸出端口發(fā)送給另一處理模塊,以確保不影響被調(diào)試系統(tǒng)的原功能。
[0018]多路總線接入的輸入接口和輸出接口是指多路常用總線接口的一個(gè)集合,包含RS232,RS485,CAN和Ethernet (異步傳輸標(biāo)準(zhǔn)接口、控制器局域網(wǎng)絡(luò)、以太網(wǎng))等,這樣就可以適應(yīng)不同種類的總線類型。同時(shí)該微處理設(shè)備還提供一個(gè)總線的配置功能,從而可以對調(diào)試總線的類型進(jìn)行設(shè)定,同時(shí)還可以對通訊過程中的參數(shù)進(jìn)行設(shè)置。[0019]優(yōu)選地,該無線收發(fā)模塊還用于接收來自該監(jiān)控器的調(diào)試命令,該調(diào)試命令用于對單個(gè)待測的功能模塊進(jìn)行在線調(diào)試的命令,
[0020]該微處理單元還用于屏蔽位于該待測的功能模塊輸入端的數(shù)據(jù)輸入或者屏蔽位于該待測的功能模塊輸出端的數(shù)據(jù)輸出。
[0021]該微處理設(shè)備可以通過該無線收發(fā)模塊同監(jiān)控器進(jìn)行通訊。微處理設(shè)備雖然擁有局部緩存,但相對于總上的數(shù)據(jù)通訊量來說,能緩存的數(shù)據(jù)信息非常有限,所有為了解決這個(gè)問題,本發(fā)明采用將采集到的數(shù)據(jù),通過無線收發(fā)模塊實(shí)時(shí)的發(fā)送到監(jiān)控器,這樣一方面避免了每個(gè)微處理設(shè)備上都需要配備大數(shù)據(jù)緩存設(shè)備的尷尬,另一方面,也滿足了對整體系統(tǒng)實(shí)時(shí)監(jiān)控的要求,在監(jiān)控器端,可以根據(jù)多個(gè)微處理設(shè)備發(fā)送上來的數(shù)據(jù),實(shí)時(shí)的觀察到整體系統(tǒng)的運(yùn)行情況。
[0022]優(yōu)選地,該微處理單元還用于通過該輸入接口收到總線上的第二數(shù)據(jù),并且屏蔽該第二數(shù)據(jù)向該輸出接口的數(shù)據(jù)輸出,以及在增加了該第二數(shù)據(jù)的發(fā)送者身份信息和發(fā)送時(shí)間信息之后將該第二數(shù)據(jù)編碼;
[0023]該無線收發(fā)模塊用于將編碼后的該第二數(shù)據(jù)發(fā)送至該監(jiān)控器,其中,該第二數(shù)據(jù)為功能模塊的內(nèi)部調(diào)試數(shù)據(jù)。
[0024]采集單個(gè)功能模塊有限狀態(tài)機(jī)內(nèi)容狀態(tài)以及計(jì)算數(shù)據(jù)是指收集每個(gè)有限狀態(tài)機(jī)在計(jì)算過程產(chǎn)生的臨時(shí)數(shù)據(jù)信息已經(jīng)狀態(tài)變化信息。每個(gè)功能模塊雖然實(shí)現(xiàn)功能不同,但本質(zhì)上就是一個(gè)有限狀態(tài)機(jī),從計(jì)算過程上來看,就是根據(jù)輸入信息處理后把計(jì)算結(jié)果輸出的過程,不存在“記憶”(內(nèi)部狀態(tài)信息)。
[0025]單個(gè)功能模塊計(jì)算的結(jié)果會(huì)經(jīng)過輸出接口經(jīng)由總線發(fā)送到下一個(gè)功能模塊,但單個(gè)功能模塊的內(nèi)部計(jì)算過程對外部來說,是不可見的,為了可以監(jiān)視每個(gè)功能模塊內(nèi)部的計(jì)算過程,每個(gè)功能模塊內(nèi)部都會(huì)集成一個(gè)內(nèi)部數(shù)據(jù)發(fā)送功能,并且提供一個(gè)外部接口進(jìn)行開關(guān)控制,當(dāng)內(nèi)部數(shù)據(jù)發(fā)送功能被打開的時(shí)候,內(nèi)部的數(shù)據(jù)將會(huì)通過發(fā)送接口(輸出接口)發(fā)送到總線上,被發(fā)送的數(shù)據(jù)包含兩部分?jǐn)?shù)據(jù):狀態(tài)變換信息和臨時(shí)數(shù)據(jù)信息。狀態(tài)變換信息:每個(gè)功能模塊就是一個(gè)有限狀態(tài)機(jī),每個(gè)有限狀態(tài)機(jī)包含多個(gè)狀態(tài),例如等待狀態(tài)、計(jì)算狀態(tài)、分支狀態(tài)和輸出狀態(tài)等等,當(dāng)接收端口(輸入接口)接收到總線上的計(jì)算請求時(shí),有限狀態(tài)機(jī)的狀態(tài)會(huì)從等待狀態(tài)變化為計(jì)算狀態(tài),當(dāng)計(jì)算完成后,狀態(tài)由計(jì)算狀態(tài)變?yōu)檩敵鰻顟B(tài),當(dāng)數(shù)據(jù)發(fā)送完成后,狀態(tài)又由發(fā)送狀態(tài)變回為等待狀態(tài),在每次狀態(tài)發(fā)生變化時(shí),內(nèi)部數(shù)據(jù)發(fā)送功能會(huì)記錄下狀態(tài)變化信息,加上時(shí)間戳后,再通過總線發(fā)送出去。臨時(shí)數(shù)據(jù)信息:功能模塊在計(jì)算狀態(tài)時(shí),會(huì)產(chǎn)生很多中間過程數(shù)據(jù),這部分?jǐn)?shù)據(jù)對輸出的結(jié)果來說,沒有任何意義,但當(dāng)計(jì)算過程中出現(xiàn)錯(cuò)誤時(shí),這部分?jǐn)?shù)據(jù)對追溯出現(xiàn)錯(cuò)誤的原因卻有很大作用,所以功能模塊在實(shí)現(xiàn)時(shí),都會(huì)實(shí)現(xiàn)一個(gè)臨時(shí)數(shù)據(jù)緩沖區(qū),計(jì)算過程中的產(chǎn)生的數(shù)據(jù)都存放在這個(gè)臨時(shí)數(shù)據(jù)緩沖區(qū),當(dāng)內(nèi)部數(shù)據(jù)發(fā)送功能被起用后,內(nèi)部數(shù)據(jù)發(fā)送功能會(huì)在每次數(shù)據(jù)產(chǎn)生后,將臨時(shí)數(shù)據(jù)緩沖區(qū)的內(nèi)容通過發(fā)送接口發(fā)送到總線上。
[0026]經(jīng)由內(nèi)部數(shù)據(jù)發(fā)送功能發(fā)送到總線上的數(shù)據(jù)都包含特殊報(bào)頭,代表這部分消息只是調(diào)試數(shù)據(jù),距離功能模塊總線發(fā)送端最近的微處理設(shè)備會(huì)接收到這部分信息,微處理設(shè)備會(huì)對消息進(jìn)行解析,當(dāng)發(fā)現(xiàn)消息的報(bào)頭屬于內(nèi)部數(shù)據(jù)發(fā)送功能發(fā)送的信息時(shí),會(huì)將此條消息截?cái)?,不再往后續(xù)連接的功能模塊發(fā)送消息,同時(shí)將接收到的消息加上發(fā)送者的ID(身份信息)和發(fā)送時(shí)間后,進(jìn)行編碼,然后通過無線收發(fā)模塊將信息發(fā)送到監(jiān)控器,監(jiān)控器在接收到信息后進(jìn)行保存并進(jìn)行顯示,方便后續(xù)的調(diào)試和錯(cuò)誤追溯。
[0027]本發(fā)明還提供一種在線調(diào)試系統(tǒng),其特點(diǎn)在于,其包括多個(gè)如上所述的微處理設(shè)備、如上所述的多個(gè)功能模塊和如上所述的監(jiān)控器。
[0028]本發(fā)明還提供一種在線調(diào)試方法,其特點(diǎn)在于,其采用如上所述的在線調(diào)試系統(tǒng)實(shí)現(xiàn),該在線調(diào)試方法包括以下步驟:
[0029]步驟S1、該微處理單元通過該輸入接口收到總線上的第一數(shù)據(jù);
[0030]步驟S2、該微處理單元解碼該第一數(shù)據(jù)以獲得該第一數(shù)據(jù)的數(shù)據(jù)類型,并且對該第一數(shù)據(jù)執(zhí)行與該數(shù)據(jù)類型相對應(yīng)的處理。
[0031]本發(fā)明還提供一種在線調(diào)試方法,其特點(diǎn)在于,其采用如上所述的在線調(diào)試系統(tǒng)實(shí)現(xiàn),該在線調(diào)試方法包括以下步驟:
[0032]步驟Sik、該微處理單元通過該輸入接口接收了來自該輸入功能模塊的第一數(shù)據(jù);
[0033]步驟S2k、該微處理單元將該第一數(shù)據(jù)編碼后通過該輸出接口發(fā)送至該輸出功能模塊。
[0034]優(yōu)選地,步驟S2中或步驟S2k中包括:該無線收發(fā)模塊用于將該第一數(shù)據(jù)發(fā)送至該監(jiān)控器,或者,
[0035]步驟S1中或步驟Sik中包括:該微處理單元通過該輸入接口收到總線上的第二數(shù)據(jù),并且屏蔽該第二數(shù)據(jù)向該輸出接口的數(shù)據(jù)輸出;
[0036]步驟S2中或步驟S2k中包括:該微處理單元在增加了該第二數(shù)據(jù)的發(fā)送者身份信息和發(fā)送時(shí)間信息之后將該第二數(shù)據(jù)編碼,該無線收發(fā)模塊將編碼后的該第二數(shù)據(jù)發(fā)送至該監(jiān)控器。
[0037]本發(fā)明還提供一種在線調(diào)試方法,其特點(diǎn)在于,其采用如上所述的在線調(diào)試系統(tǒng)實(shí)現(xiàn),該在線調(diào)試方法包括以下步驟:
[0038]步驟Sn、該監(jiān)控器的發(fā)送調(diào)試命令至一第一微處理設(shè)備;
[0039]步驟S2t、第一微處理設(shè)備通過該輸出接口將該調(diào)試命令發(fā)送至待測的功能模塊,該第一微處理設(shè)備為位于待測的功能模塊輸入端的微處理設(shè)備;
[0040]步驟S3t、待測的功能模塊得到計(jì)算結(jié)果并將該計(jì)算結(jié)果輸入至第二微處理設(shè)備,該第二微處理設(shè)備為位于待測的功能模塊輸出端的該微處理設(shè)備;
[0041]步驟S4t、該第二微處理設(shè)備將該計(jì)算結(jié)果發(fā)送至該監(jiān)控器。
[0042]采集模塊之間通訊以及數(shù)據(jù)傳遞的方法是指采集功能模塊之間數(shù)據(jù)傳遞的信息。當(dāng)一個(gè)有限狀態(tài)機(jī)(例如稱作輸入功能模塊)計(jì)算完成后,會(huì)將結(jié)果以消息的方式通過總線發(fā)送到下一個(gè)有限狀態(tài)機(jī)(例如稱作輸出功能模塊),為了采集兩個(gè)功能模塊之間傳遞的消息,需要在輸入功能模塊和輸出功能模塊之間增加一個(gè)微處理設(shè)備來米集消息數(shù)據(jù)。輸入功能模塊發(fā)送的消息,在到達(dá)輸出功能模塊之前,會(huì)被微處理設(shè)備先接收到,當(dāng)微處理設(shè)備接收到數(shù)據(jù)后,會(huì)先對消息進(jìn)行解析,根據(jù)消息報(bào)頭判斷消息的類型,如果是模塊間的通訊消息,會(huì)分為兩部分進(jìn)行發(fā)送,第一部分:不對消息進(jìn)行處理,將原消息內(nèi)容通過輸出接口發(fā)送到輸出功能模塊,因?yàn)槲⑻幚碓O(shè)備在判斷消息類型時(shí)的所需要的時(shí)間基本可以忽略不記,所以不會(huì)對原系統(tǒng)造成影響;第二部分:會(huì)對原始消息進(jìn)行編碼,增加部分信息,包含消息的發(fā)送者,接收者,發(fā)送時(shí)間以及消息類型等,然后通過無線收發(fā)模塊將編碼后的信息發(fā)送給監(jiān)控器。通過收集多個(gè)微處理設(shè)備傳送的數(shù)據(jù),便可以還原出整個(gè)系統(tǒng)的通訊消息信息。
[0043]單個(gè)功能模塊或局部功能進(jìn)行在線調(diào)試的方法是指在不對原系統(tǒng)進(jìn)行修改的情況下,可以在運(yùn)行過程中調(diào)試單個(gè)功能模塊或局部功能模塊的方法。單個(gè)模塊或局部功能進(jìn)行在線調(diào)試的方法分為二部分:控制微處理設(shè)備進(jìn)入調(diào)試的方法和對功能模塊進(jìn)行調(diào)試的方法。
[0044]在對單模塊或局部功能進(jìn)行在線調(diào)試之前,需要對微處理設(shè)備發(fā)送命令,通知其進(jìn)入調(diào)試模式。如果是對單個(gè)模塊進(jìn)行調(diào)試,則通過無線收發(fā)模塊對距離待調(diào)試的功能模塊總線輸入端最近的微處理設(shè)備和距離輸出端最近的微處理設(shè)備發(fā)送進(jìn)入調(diào)試的命令。如果是前端的微處理設(shè)備,在進(jìn)行調(diào)試狀態(tài)后,會(huì)屏蔽所有的從總線上接收到的數(shù)據(jù)信息,如果是后端的微處理設(shè)備,在進(jìn)入調(diào)試狀態(tài)后,則會(huì)屏蔽微處理設(shè)備輸出端上所有的數(shù)據(jù)輸出。
[0045]對功能模塊進(jìn)行調(diào)試的命令由監(jiān)控器發(fā)出,調(diào)試命令經(jīng)過前端的微處理設(shè)備,傳送給待調(diào)試的功能模塊,功能模塊計(jì)算出的結(jié)果經(jīng)輸出端發(fā)送到總線上,當(dāng)后端的微處理設(shè)備接收到計(jì)算結(jié)果后,再通過無線收發(fā)模塊將信息返還給監(jiān)控器。這樣在監(jiān)制器端就可以通過無線收發(fā)模塊對功能模塊發(fā)送命令,并且通過無線收發(fā)模塊來取得計(jì)算的數(shù)據(jù)反饋,從而達(dá)到在線調(diào)試的目的。
[0046]替換單個(gè)模塊輸出的在線調(diào)試方法是指將功能模塊的輸出通過微處理設(shè)備替換掉,以達(dá)到調(diào)試后續(xù)模塊功能的目的。在替換單個(gè)模塊輸出前,需先對微處理設(shè)備進(jìn)行設(shè)置成調(diào)試模式,具體方式為通過無線收發(fā)模塊發(fā)送命令給微處理設(shè)備,當(dāng)微處理設(shè)備進(jìn)入調(diào)試狀態(tài)后,則會(huì)屏蔽任何通過輸入接口處由前端的功能模塊發(fā)送的命令,同時(shí)只接收來自監(jiān)控器發(fā)送的調(diào)試數(shù)據(jù),其效果相當(dāng)于位于微處理設(shè)備輸出端的后端功能模塊接收到的命令均來自于監(jiān)控器的虛擬數(shù)據(jù)信息。對于系統(tǒng)中有些特殊的行為,在流程下很難被觸發(fā),為了對這部分的功能進(jìn)行調(diào)試,可以通過替換單個(gè)模塊輸出的方式,來對這部分的功能進(jìn)行調(diào)試。
[0047]在符合本領(lǐng)域常識(shí)的基礎(chǔ)上,上述各優(yōu)選條件,可任意組合,即得本發(fā)明各較佳實(shí)例。
[0048]本發(fā)明的積極進(jìn)步效果在于:
[0049]1、本發(fā)明為了解決基于行為的機(jī)器人的行為調(diào)試?yán)щy的情況,提出了一種微處理設(shè)備、在線調(diào)試系統(tǒng)和方法,通過對有限狀態(tài)機(jī)變化信息和之間通訊信息的采集和記錄,力口上局部模塊的在線調(diào)試功能,解決了基于行為的機(jī)器人調(diào)試?yán)щy的問題。
[0050]2、通過收集多個(gè)微處理設(shè)備傳送的數(shù)據(jù),便可以還原出整個(gè)系統(tǒng)的通訊消息信
肩、O
[0051]3、通過將功能模塊的內(nèi)部數(shù)據(jù)發(fā)送至監(jiān)控器,可以方便后續(xù)的調(diào)試和錯(cuò)誤追溯。
[0052]4、通過替換單個(gè)模塊輸出的方式,來實(shí)現(xiàn)對局部功能的調(diào)試。
【專利附圖】

【附圖說明】
[0053]圖1為本發(fā)明一實(shí)施例的微處理設(shè)備的結(jié)構(gòu)框圖。
[0054]圖2為本發(fā)明一實(shí)施例的在線調(diào)試方法的流程圖。
[0055]圖3為本發(fā)明另一實(shí)施例的在線調(diào)試方法的流程圖。[0056]圖4為本發(fā)明又一實(shí)施例的在線調(diào)試方法的流程圖。
[0057]圖5為本發(fā)明設(shè)置多模塊進(jìn)入調(diào)試的應(yīng)用實(shí)例的示意圖。
[0058]圖6為本發(fā)明模塊間通訊信息采集的應(yīng)用實(shí)例的示意圖。
[0059]圖7為本發(fā)明單個(gè)模塊功能調(diào)試的應(yīng)用實(shí)例的示意圖。
[0060]圖8為本發(fā)明代替單個(gè)模塊輸出的在線調(diào)試的應(yīng)用實(shí)例的示意圖。
[0061]圖9為本發(fā)明包容結(jié)構(gòu)實(shí)現(xiàn)漫游和避讓功能的應(yīng)用實(shí)例的示意圖。
[0062]圖10為本發(fā)明消息采集調(diào)試功能的數(shù)據(jù)處理流程圖。
[0063]圖11為本發(fā)明單個(gè)模塊功能調(diào)試的流程圖。
[0064]圖12為本發(fā)明對調(diào)試模塊的輸入或輸出進(jìn)行屏蔽或修改的流程圖。
【具體實(shí)施方式】
[0065]下面通過實(shí)施例的方式進(jìn)一步說明本發(fā)明,但并不因此將本發(fā)明限制在所述的實(shí)施例范圍之中。
[0066]參考圖1,本發(fā)明所述的微處理設(shè)備700用于機(jī)器人行為的在線調(diào)試,該機(jī)器人包括多個(gè)功能模塊,該微處理設(shè)備700包括一微處理單元710、多路總線接入的輸入接口 720、輸出接口 750、一無線收發(fā)模塊730,其中,
[0067]該微處理單元710用于通過該輸入接口收到總線上的第一數(shù)據(jù)、解碼該第一數(shù)據(jù)以獲得該第一數(shù)據(jù)的數(shù)據(jù)類型,并且對該第一數(shù)據(jù)執(zhí)行與該數(shù)據(jù)類型相對應(yīng)的處理;
[0068]該無線收發(fā)模塊730用于將該第一數(shù)據(jù)發(fā)送至一監(jiān)控器,其中,
[0069]該第一數(shù)據(jù)為該功能模塊之間的通信數(shù)據(jù)。
[0070]其中,該微處理單元710用于在通過該輸入接口接收了來自一輸入功能模塊的第一數(shù)據(jù)后,將該第一數(shù)據(jù)編碼后通過該輸出接口發(fā)送至一輸出功能模塊,其中,該輸入功能模塊為位于該微處理設(shè)備輸入端的功能模塊,該輸出功能模塊為位于該微處理設(shè)備輸出端的功能模塊。
[0071]除此之外,該無線收發(fā)模塊730還用于接收來自該監(jiān)控器的調(diào)試命令,該調(diào)試命令用于對單個(gè)待測的功能模塊進(jìn)行在線調(diào)試的命令,
[0072]該微處理單元710還用于屏蔽位于該待測的功能模塊輸入端的數(shù)據(jù)輸入或者屏蔽位于該待測的功能模塊輸出端的數(shù)據(jù)輸出。
[0073]為了方便后續(xù)調(diào)試和錯(cuò)誤追溯,該微處理單元710還用于通過該輸入接口收到總線上的第二數(shù)據(jù),并且屏蔽該第二數(shù)據(jù)向該輸出接口的數(shù)據(jù)輸出,以及在增加了該第二數(shù)據(jù)的發(fā)送者身份信息和發(fā)送時(shí)間信息之后將該第二數(shù)據(jù)編碼;
[0074]該無線收發(fā)模塊730用于將編碼后的該第二數(shù)據(jù)發(fā)送至該監(jiān)控器,其中,該第二數(shù)據(jù)為功能模塊的內(nèi)部調(diào)試數(shù)據(jù)。
[0075]本發(fā)明還提供一種在線調(diào)試系統(tǒng),其包括多個(gè)如上所述的微處理設(shè)備700、如上所述的多個(gè)功能模塊和如上所述的監(jiān)控器。
[0076]參考圖2-4,介紹本發(fā)明的在線調(diào)試方法。
[0077]參考圖2,該在線調(diào)試方法采用如上所述的在線調(diào)試系統(tǒng)實(shí)現(xiàn),該在線調(diào)試方法包括以下步驟:
[0078]步驟S1、該微處理單元通過該輸入接口收到總線上的第一數(shù)據(jù);[0079]步驟S2、該微處理單元解碼該第一數(shù)據(jù)以獲得該第一數(shù)據(jù)的數(shù)據(jù)類型,并且對該第一數(shù)據(jù)執(zhí)行與該數(shù)據(jù)類型相對應(yīng)的處理。
[0080]參考圖3,該在線調(diào)試方法采用如上所述的在線調(diào)試系統(tǒng)實(shí)現(xiàn),該在線調(diào)試方法包括以下步驟:
[0081]步驟Sik、該微處理單元通過該輸入接口接收了來自該輸入功能模塊的第一數(shù)據(jù);
[0082]步驟S2k、該微處理單元將該第一數(shù)據(jù)編碼后通過該輸出接口發(fā)送至該輸出功能模塊。
[0083]其中,步驟S2中或步驟S2k中包括:該無線收發(fā)模塊用于將該第一數(shù)據(jù)發(fā)送至該監(jiān)控器,或者,
[0084]步驟S1中或步驟Sik中包括:該微處理單元通過該輸入接口收到總線上的第二數(shù)據(jù),并且屏蔽該第二數(shù)據(jù)向該輸出接口的數(shù)據(jù)輸出;
[0085]步驟S2中或步驟S2k中包括:該微處理單元在增加了該第二數(shù)據(jù)的發(fā)送者身份信息和發(fā)送時(shí)間信息之后將該第二數(shù)據(jù)編碼,該無線收發(fā)模塊將編碼后的該第二數(shù)據(jù)發(fā)送至該監(jiān)控器。
[0086]參考圖4,該在線調(diào)試方法采用如上所述的在線調(diào)試系統(tǒng)實(shí)現(xiàn),該在線調(diào)試方法包括以下步驟:
[0087]步驟Sn、該監(jiān)控器的發(fā)送調(diào)試命令至一第一微處理設(shè)備;
[0088]步驟S2t、第一微處理設(shè)備通過該輸出接口將該調(diào)試命令發(fā)送至待測的功能模塊,該第一微處理設(shè)備為位于待測的功能模塊輸入端的微處理設(shè)備;
[0089]步驟S3t、待測的功能模塊得到計(jì)算結(jié)果并將該計(jì)算結(jié)果輸入至第二微處理設(shè)備,該第二微處理設(shè)備為位于待測的功能模塊輸出端的該微處理設(shè)備;
[0090]步驟S4t、該第二微處理設(shè)備將該計(jì)算結(jié)果發(fā)送至該監(jiān)控器。
[0091]下面通過幾個(gè)應(yīng)用實(shí)例,參考圖5-圖12,再次介紹本發(fā)明的在線調(diào)試方法。
[0092]調(diào)試的內(nèi)容包含三個(gè)部分的內(nèi)容:
[0093]I)在線采集系統(tǒng)運(yùn)行過程中的數(shù)據(jù)。同傳統(tǒng)的機(jī)器人學(xué)的計(jì)算模型不同,沒有中央的處理器,計(jì)算分散在多個(gè)有限狀態(tài)機(jī)中進(jìn)行,并且沒有統(tǒng)一的調(diào)度,多個(gè)功能模塊并行的運(yùn)行,并沒有特定的先后執(zhí)行順序,為了達(dá)到調(diào)試的目的,采集系統(tǒng)中各模塊的計(jì)算過程數(shù)據(jù)以及通訊的信息內(nèi)容進(jìn)行分析就顯得格外重要。采集的數(shù)據(jù)信息包含兩部分內(nèi)容,模塊運(yùn)行過程中狀態(tài)變化和模塊直接通訊的數(shù)據(jù)信息。
[0094]2)對單個(gè)模塊或多個(gè)模塊進(jìn)行的功能調(diào)試。每個(gè)功能模塊在本質(zhì)上就是一個(gè)增強(qiáng)的有限狀態(tài)機(jī),響應(yīng)外部輸入的信息,進(jìn)行處理后,將計(jì)算后結(jié)果通過輸出接口傳送到下一個(gè)功能模塊,最簡單的有限狀態(tài)機(jī)的處理過程可以理解為一個(gè)(“等待輸入”——“數(shù)據(jù)處理” 一 “輸出結(jié)果”)的過程。在實(shí)際運(yùn)行過程中,功能模塊可能會(huì)接收到多種數(shù)據(jù),如果通過模擬現(xiàn)實(shí)中的多種環(huán)境來測試模塊的功能,實(shí)現(xiàn)太復(fù)雜且當(dāng)情況比較特殊時(shí)不太現(xiàn)實(shí),單模塊的功能調(diào)試通過輸入模擬的外界輸入測試消息,通過采集功能模塊計(jì)算后的輸出,然后判斷輸出是否滿足要求,來達(dá)到調(diào)試的目的。
[0095]3)對調(diào)式模塊的輸入或輸出進(jìn)行屏蔽或修改,來達(dá)到調(diào)試的目的。機(jī)器人對外界環(huán)境刺激所做的反映來源與多個(gè)行為的疊加,而每個(gè)行為由多個(gè)有限狀態(tài)機(jī)通過特定的方式組合而成,所以整體機(jī)器人動(dòng)作的表現(xiàn)來源于多個(gè)有限狀態(tài)機(jī)輸出的組合,當(dāng)對整體進(jìn)行調(diào)試時(shí),可以通過屏蔽或修改某個(gè)或多個(gè)模塊的輸入或輸出信息,觀察整體系統(tǒng)修改后的表現(xiàn)來達(dá)到調(diào)試的目的。
[0096]本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的,其中包括:用于調(diào)試數(shù)據(jù)采集的微處理設(shè)備700,本發(fā)明的在線調(diào)試方法包括采集單模塊有限狀態(tài)機(jī)內(nèi)容狀態(tài)以及計(jì)算數(shù)據(jù)的方法,采集模塊之間通訊以及數(shù)據(jù)傳遞的方法,對單模塊或局部功能進(jìn)行在線調(diào)試的方法,替換單模塊輸出的在線調(diào)試方法。
[0097]微處理單元710是指的具有計(jì)算能力的微處理器,可以進(jìn)行數(shù)據(jù)處理,當(dāng)接收到總線上數(shù)據(jù)信息時(shí),可以對信息解碼,根據(jù)信息的數(shù)據(jù)報(bào)頭,判斷數(shù)據(jù)的類型,對不同的消息進(jìn)行不同的處理;同時(shí)微處理單元還具有數(shù)據(jù)緩沖能力,可以對總線上的通訊數(shù)據(jù)加以編碼后再發(fā)送,例如當(dāng)總線上功能模塊a810對功能模塊b820發(fā)送計(jì)算數(shù)據(jù)信息時(shí),會(huì)先經(jīng)由微處理設(shè)備800接收到,調(diào)試設(shè)備不對數(shù)據(jù)進(jìn)行任何處理,直接將接收到的原數(shù)據(jù)經(jīng)過總線輸出端口發(fā)送給功能模塊b820,以確保不影響被調(diào)試系統(tǒng)的原功能。
[0098]無線收發(fā)模塊是指微處理設(shè)備可以通過無線收發(fā)同監(jiān)控器進(jìn)行通訊。微處理調(diào)試雖然擁有局部緩存,但相對于總上的數(shù)據(jù)通訊量來說,能緩存的數(shù)據(jù)信息非常有限,所有為了解決這個(gè)問題,本發(fā)明采用將采集到的數(shù)據(jù),通過無線收發(fā)模塊實(shí)時(shí)的發(fā)送到監(jiān)控器,這樣一方面避免了每個(gè)微處理設(shè)備上都需要配備大數(shù)據(jù)緩存設(shè)備的尷尬,另一方面,也滿足了對整體系統(tǒng)實(shí)時(shí)監(jiān)控的要求,在監(jiān)控器端,可以根據(jù)多個(gè)微處理設(shè)備發(fā)送上來的數(shù)據(jù),實(shí)時(shí)的觀察到整體系統(tǒng)的運(yùn)行情況。
[0099]采集單模塊有限狀態(tài)機(jī)內(nèi)容狀態(tài)以及計(jì)算數(shù)據(jù)的方法是指收集每個(gè)有限狀態(tài)機(jī)在計(jì)算過程產(chǎn)生的臨時(shí)數(shù)據(jù)信息已經(jīng)狀態(tài)變化信息。每個(gè)功能模塊雖然實(shí)現(xiàn)功能不同,但本質(zhì)上就是一個(gè)有限狀態(tài)機(jī),從計(jì)算過程上來看,就是根據(jù)輸入信息處理后把計(jì)算結(jié)果輸出的過程,不存在“記憶”(內(nèi)部狀態(tài)信息)。
[0100]單個(gè)功能模塊計(jì)算的結(jié)果會(huì)經(jīng)過輸出接口經(jīng)由總線發(fā)送到下一個(gè)功能模塊,但單模塊的內(nèi)部計(jì)算過程對外部來說,是不可見的,為了可以監(jiān)視模塊內(nèi)部的計(jì)算過程,每個(gè)模塊內(nèi)部都會(huì)集成一個(gè)內(nèi)部數(shù)據(jù)發(fā)送功能,并且提供一個(gè)外部接口進(jìn)行開關(guān)控制,當(dāng)內(nèi)部數(shù)據(jù)發(fā)送功能被打開的時(shí)候,內(nèi)部的數(shù)據(jù)將會(huì)通過發(fā)送接口發(fā)送到總線上,被發(fā)送的數(shù)據(jù)包含兩部分?jǐn)?shù)據(jù):狀態(tài)變換信息和臨時(shí)數(shù)據(jù)信息。狀態(tài)變換信息:每個(gè)模塊就是一個(gè)有限狀態(tài)機(jī),每個(gè)有限狀態(tài)機(jī)包含狀態(tài),例如等待狀態(tài),計(jì)算狀態(tài),分支狀態(tài),輸出狀態(tài)等等,當(dāng)接收端口接收到總線上的計(jì)算請求時(shí),有限狀態(tài)機(jī)的狀態(tài)會(huì)從等待狀態(tài)變化為計(jì)算狀態(tài),當(dāng)計(jì)算完成后,狀態(tài)由計(jì)算狀態(tài)變?yōu)檩敵鰻顟B(tài),當(dāng)數(shù)據(jù)發(fā)送完成后,狀態(tài)又由發(fā)送狀態(tài)變回為等待狀態(tài),在每次狀態(tài)發(fā)生變化時(shí),內(nèi)部數(shù)據(jù)發(fā)送功能會(huì)記錄下狀態(tài)變化信息,加上時(shí)間戳后,再通過總線發(fā)送出去。臨時(shí)數(shù)據(jù)信息:功能模塊在計(jì)算狀態(tài)時(shí),會(huì)產(chǎn)生很多中間過程數(shù)據(jù),這部分?jǐn)?shù)據(jù)對輸出的結(jié)果來說,沒有任何意義,但當(dāng)計(jì)算過程中出現(xiàn)錯(cuò)誤時(shí),這部分?jǐn)?shù)據(jù)對追溯出現(xiàn)錯(cuò)誤的原因卻有很大作用,所以功能模塊在實(shí)現(xiàn)時(shí),都會(huì)實(shí)現(xiàn)一個(gè)臨時(shí)數(shù)據(jù)緩沖區(qū),計(jì)算過程中的產(chǎn)生的數(shù)據(jù)都存放在這個(gè)臨時(shí)數(shù)據(jù)緩沖區(qū),當(dāng)內(nèi)部數(shù)據(jù)發(fā)送功能被起用后,內(nèi)部數(shù)據(jù)發(fā)送功能會(huì)在每次數(shù)據(jù)產(chǎn)生后,將臨時(shí)數(shù)據(jù)緩沖區(qū)的內(nèi)容通過發(fā)送接口發(fā)送到總線上。
[0101]經(jīng)由內(nèi)部數(shù)據(jù)發(fā)送功能發(fā)送到總線上的數(shù)據(jù)都包含特殊報(bào)頭,代表這部分消息只是調(diào)試數(shù)據(jù),距離功能模塊總線發(fā)送端最近的微處理設(shè)備會(huì)接收到這部分信息,微處理設(shè)備會(huì)對消息進(jìn)行解析,當(dāng)發(fā)現(xiàn)消息的報(bào)頭屬于內(nèi)部數(shù)據(jù)發(fā)送功能發(fā)送的信息時(shí),會(huì)將此條消息截?cái)啵辉偻罄m(xù)連接的功能模塊發(fā)送消息,同時(shí)將接收到的消息加上發(fā)送者的ID和發(fā)送時(shí)間后,進(jìn)行編碼,然后通過無線通訊模塊將信息發(fā)送到監(jiān)控器,監(jiān)控器在接收到信息后進(jìn)行保存并進(jìn)行顯示,方便后續(xù)的調(diào)試和錯(cuò)誤追溯。
[0102]采集模塊之間通訊以及數(shù)據(jù)傳遞的方法是指采集功能模塊之間數(shù)據(jù)傳遞的信息。當(dāng)一個(gè)有限狀態(tài)機(jī)910計(jì)算完成后,會(huì)將結(jié)果以消息的方式通過總線發(fā)送到下一個(gè)有限狀態(tài)機(jī)920,為了采集之間傳遞的消息,需要在功能模塊a910和功能模塊b920之間增加一個(gè)微處理設(shè)備900來采集消息數(shù)據(jù)(功能模塊可以看成一個(gè)有限狀態(tài)機(jī),故采用同樣的附圖標(biāo)記)。功能模塊a910發(fā)送的消息,在到達(dá)功能模塊b920之前,會(huì)被微處理設(shè)備900先接收到,當(dāng)微處理設(shè)備接收到數(shù)據(jù)后,會(huì)先對消息進(jìn)行解析,根據(jù)消息報(bào)頭判斷消息的類型,如果是模塊間的通訊消息,會(huì)分為兩部分進(jìn)行發(fā)送,第一部分:不對消息進(jìn)行處理,將原消息內(nèi)容通過發(fā)送端發(fā)送到功能模塊b920,因?yàn)槲⑻幚碓O(shè)備在判斷消息類型時(shí)的所需要的時(shí)間基本可以忽略不記,所以不會(huì)對原系統(tǒng)造成影響;第二部分:會(huì)對原始消息進(jìn)行編碼,增加部分信息,包含消息的發(fā)送者,接收者,發(fā)送時(shí)間以及消息類型等,然后通過無線通訊端口將編碼后的信息發(fā)送給監(jiān)控器940。通過收集多個(gè)微處理設(shè)備傳送的數(shù)據(jù),便可以還原出整個(gè)系統(tǒng)的通訊消息信息。
[0103]單模塊或局部功能進(jìn)行在線調(diào)試的方法是指在不對原系統(tǒng)進(jìn)行修改的情況下,可以在運(yùn)行過程中調(diào)試單個(gè)模塊或局部功能模塊的方法。單模塊或局部功能進(jìn)行在線調(diào)試的方法分為二部分:控制微處理設(shè)備進(jìn)入調(diào)試的方法和對功能模塊進(jìn)行調(diào)試的方法。
[0104]在對單模塊或局部功能進(jìn)行在線調(diào)試之前,需要對微處理設(shè)備發(fā)送命令,通知其進(jìn)入調(diào)試模式。如果是對單模塊進(jìn)行調(diào)試,則通過無線通訊接口對距離待調(diào)試的功能模塊bl030總線輸入端最近的微處理設(shè)備1020和距離輸出端最近的微處理設(shè)備1040發(fā)送進(jìn)入調(diào)試的命令。如果是前端的微處理設(shè)備1020,在進(jìn)行調(diào)試狀態(tài)后,會(huì)屏蔽所有的從總線上接收到的數(shù)據(jù)信息,也就是說功能模塊alOlO發(fā)送給功能模塊bl030的所有數(shù)據(jù)信息將會(huì)被微處理設(shè)備1020截?cái)?。如果是后端的微處理設(shè)備1040,在進(jìn)入調(diào)試狀態(tài)后,則會(huì)屏蔽微處理設(shè)備1040輸出端上所有的數(shù)據(jù)輸出。
[0105]對功能模塊進(jìn)行調(diào)試的命令由監(jiān)控器1070發(fā)出,調(diào)試命令經(jīng)過前端的微處理設(shè)備1020,傳送給調(diào)試的功能模塊bl030,功能模塊bl030計(jì)算出的結(jié)果經(jīng)輸出端發(fā)送到總線上,當(dāng)微處理設(shè)備1040接收到計(jì)算結(jié)果后,再通過無線通訊接口,將信息返還給監(jiān)控器1070。這樣在監(jiān)制器端就可以通過無線接口對功能模塊發(fā)送命令,并且通過無線接口來取得計(jì)算的數(shù)據(jù)反饋,從而達(dá)到在線調(diào)試的目的。
[0106]替換單模塊輸出的在線調(diào)試方法是指將有功能的模塊的輸出通過微處理設(shè)備替換掉,以達(dá)到調(diào)試后續(xù)模塊功能的目的。在替換單模塊輸出前,需先對微處理設(shè)備進(jìn)行設(shè)置成調(diào)試模式,具體方式為通過無線發(fā)送命令給微處理設(shè)備1120,當(dāng)微處理設(shè)備進(jìn)入調(diào)試狀態(tài)后,則會(huì)屏蔽任何輸入端口連接的功能模塊alllO發(fā)送的命令,同時(shí)只接收來自監(jiān)控器發(fā)送無線發(fā)送的調(diào)試數(shù)據(jù),其效果相當(dāng)于功能模塊bll30接收到的命令來自于監(jiān)控器1150的虛擬數(shù)據(jù)信息。對于系統(tǒng)中有些特殊的行為,在流程下很難被觸發(fā),為了對這部分的功能進(jìn)行調(diào)試,可以通過替換單模塊輸出的方式,來對這部分的功能進(jìn)行調(diào)試。
[0107]基于行為的機(jī)器人學(xué)在具體的實(shí)施中有很多種方式,使用最多的方式為包容結(jié)構(gòu)(subsumption architecture)。包容體系結(jié)構(gòu)的
【發(fā)明者】是 Rodney A.Brooks (曾任 MIT AlLab領(lǐng)導(dǎo)),他在1986年的文章“Elephants Don' t Play Chess”中首次提出了包容體系結(jié)構(gòu),包容結(jié)構(gòu)體系也是基于行為的實(shí)現(xiàn)。行為的定義包括觸發(fā)它們的條件(常常是一個(gè)傳感器讀數(shù))和采取的動(dòng)作(常常涉及一個(gè)受動(dòng)器)。一個(gè)行為建立在其他行為之上。當(dāng)兩個(gè)行為發(fā)生沖突時(shí),一個(gè)中央仲裁器(arbitrator)來決定哪個(gè)行為應(yīng)該優(yōu)先。機(jī)器人的總體行為是突然的(emergent),根據(jù)包容的理論,它的效果好于其部分之和。較高層行為包容(subsume)較低層行為。在實(shí)現(xiàn)過程中,Brooks主張并不創(chuàng)建整個(gè)機(jī)器人,只需添加行為并看看會(huì)發(fā)生什么。包容結(jié)構(gòu)的核心是多個(gè)特殊功能的增強(qiáng)有限狀態(tài)機(jī)組合而成的一個(gè)并行計(jì)算結(jié)構(gòu),模塊根據(jù)能力的層次進(jìn)行分層,位于較高層次上的行為可以包容相鄰的低層次的行為輸出,而行為的觸發(fā)來源于外界環(huán)境的刺激,它的處理方法直接來源于外部環(huán)境刺激的響應(yīng),這樣就避免了對內(nèi)部狀態(tài)的使用。這就是“場景化”和“具體化”概念的由來,即智能體不需要依賴于基于符號(hào)的語意響應(yīng),而是通過智能體同環(huán)境之間的交互作用來定義。
[0108]下面以包容結(jié)構(gòu)作為在線調(diào)試方法的對象來進(jìn)行說明具體的實(shí)施方法。見圖9,這是一個(gè)典型的用包容結(jié)構(gòu)實(shí)現(xiàn)避障漫游機(jī)器人的結(jié)構(gòu)圖,其中每個(gè)長方形的都代表一個(gè)功能模塊(相當(dāng)于一個(gè)有限狀態(tài)機(jī)),黑色的線條代表了模塊間通訊所用的總線,圓形代表實(shí)現(xiàn)包容功能的模塊。第一層的行為實(shí)現(xiàn)了避障功能,在圖9中Sonar (聲納)模塊用于采集機(jī)器人外圍安裝的聲納信息,并且形成一個(gè)Map (地圖)數(shù)據(jù),傳給Feelforce (吸引力)和Collide (碰撞)模塊,Collide模塊判斷前方最近的障礙物是否在安裝距離以內(nèi),如果障礙物進(jìn)入了安全距離,Collide模塊則會(huì)發(fā)送一個(gè)Halt (中止)命令給Forward (前進(jìn))模塊,通知機(jī)器人不再往前走。而Feelforce模塊根據(jù)Sonar發(fā)送的Map信息計(jì)算出障礙物對機(jī)器人吸引力,將Force發(fā)送給Runway (跑道)模塊,Runway模塊再根據(jù)吸引力計(jì)算出避開障礙物所需要運(yùn)行的方向后,發(fā)送給Turn (轉(zhuǎn)彎)模塊,通知機(jī)器人轉(zhuǎn)彎。而在更高層的行為中實(shí)現(xiàn)了漫游功能,在圖9中通過Wander (漫游)模塊每隔10秒隨機(jī)產(chǎn)生一個(gè)方向信息,發(fā)送給Avoid (避讓)模塊,而在Avoid模塊中,結(jié)合方向信息和Feelforce生成的障礙物的吸引力后,計(jì)算出一個(gè)新的方向發(fā)送給Turn模塊,從而實(shí)現(xiàn)了避障和漫游功能的結(jié)合。
[0109]為了實(shí)現(xiàn)調(diào)試功能,需要在每個(gè)模塊之間通訊的總線上安裝一個(gè)微處理設(shè)備,例如將原總線從中截?cái)啵欢私尤胛⑻幚碓O(shè)備的總線接入端,另一端接入微處理設(shè)備的總線輸出端。
[0110]微處理設(shè)備在系統(tǒng)初始化時(shí),默認(rèn)不會(huì)對總線上的消息進(jìn)行處理,也不會(huì)將通訊的數(shù)據(jù)通過無線通訊傳送到監(jiān)控器。為了實(shí)現(xiàn)調(diào)試的目的,需要通過監(jiān)控器對指定的微處理設(shè)備發(fā)送命令,通知其進(jìn)入對應(yīng)的調(diào)試狀態(tài)。
[0111]下面先介紹實(shí)現(xiàn)采集單模塊有限狀態(tài)機(jī)內(nèi)容狀態(tài)以及計(jì)算數(shù)據(jù)的方法,首先將功能模塊的狀態(tài)信息發(fā)送開關(guān)打開,然后在監(jiān)控器端通過無線,發(fā)送報(bào)頭為’M”s’的2字節(jié)大小的命令給總線上所有的微處理設(shè)備,微處理設(shè)備即進(jìn)入狀態(tài)和數(shù)據(jù)采集狀態(tài),此時(shí),系統(tǒng)運(yùn)行過程所有的功能模塊在狀態(tài)變化時(shí)的信息以及數(shù)據(jù),都會(huì)通過無線傳回到監(jiān)控器端,這樣通過監(jiān)控器的數(shù)據(jù)收集及狀態(tài)顯示程序就可以看到整體系統(tǒng)的運(yùn)行情況。
[0112]在需要采集系統(tǒng)中功能模塊之間通訊的信息時(shí),通過監(jiān)控器端向所有的微處理設(shè)備發(fā)送報(bào)頭為’M”C’的2字節(jié)大小的命令,微處理設(shè)備即進(jìn)入狀態(tài)和數(shù)據(jù)采集狀態(tài),當(dāng)總線上有數(shù)據(jù)時(shí),微處理設(shè)備會(huì)截取通訊數(shù)據(jù)并進(jìn)行判斷,當(dāng)發(fā)現(xiàn)是功能模塊之間的數(shù)據(jù)通訊,則會(huì)通過輸出端口,將通訊數(shù)據(jù)返回到總線上,保證了不對原系統(tǒng)產(chǎn)生影響,與此同時(shí),對原始消息的副本進(jìn)行編碼,增加消息發(fā)送者、消息接收者、發(fā)送時(shí)間、消息類型等信息,然后通過無線通訊接口將編碼的信息發(fā)送給監(jiān)控器,
[0113]在監(jiān)控器端即可通過收集多個(gè)微處理設(shè)備發(fā)送的通訊信息,還原和跟蹤整個(gè)系統(tǒng)的通訊情況。
[0114]當(dāng)在對單模塊進(jìn)行調(diào)試時(shí),需要兩個(gè)階段:微處理設(shè)備設(shè)置階段和虛擬調(diào)試數(shù)據(jù)發(fā)送接收階段。下面以runaway功能模塊的調(diào)試為例。
[0115]當(dāng)在調(diào)試設(shè)備設(shè)置階段,對距離待調(diào)試的功能模塊總線輸入端最近的微處理設(shè)備和距離輸出端最近的微處理調(diào)試發(fā)送進(jìn)入調(diào)試的命令。如果是前端的微處理設(shè)備,在進(jìn)行調(diào)試狀態(tài)后,會(huì)屏蔽所有的從總線上接收到的數(shù)據(jù)信息,如果是后端的微處理設(shè)備,在進(jìn)入調(diào)試狀態(tài)后,則會(huì)屏蔽微處理設(shè)備輸出端上所有的數(shù)據(jù)輸出,而把接收到的數(shù)據(jù),通過無線通訊接口發(fā)送給監(jiān)控器,這樣監(jiān)控器就能得到計(jì)算結(jié)果的反饋信息。
[0116]當(dāng)在虛擬調(diào)試數(shù)據(jù)發(fā)送接收階段時(shí),功能模塊的輸入端被微處理設(shè)備屏蔽,功能模塊的輸入被替換成監(jiān)控器的調(diào)試數(shù)據(jù)輸入,功能模塊接收到調(diào)試數(shù)據(jù)后會(huì)進(jìn)行計(jì)算,并通過輸出端口把計(jì)算的結(jié)果放在總線上,當(dāng)功能模塊輸出端連接的微處理設(shè)備接收到數(shù)據(jù)信息后,會(huì)屏蔽向后功能模塊的信息傳遞,轉(zhuǎn)而將消息通過無線傳回到監(jiān)控器,這樣可以從監(jiān)視端發(fā)送虛擬的調(diào)試數(shù)據(jù),并且觀察到功能模塊輸出的數(shù)據(jù),從而達(dá)到對單模塊進(jìn)行調(diào)試的目的。
[0117]本發(fā)明為了解決基于行為的機(jī)器人的行為調(diào)試?yán)щy的情況,提出了一種微處理設(shè)備、在線調(diào)試系統(tǒng)和方法,通過對有限狀態(tài)機(jī)變化信息和之間通訊信息的采集和記錄,加上局部模塊的在線調(diào)試功能,解決了基于行為的機(jī)器人調(diào)試?yán)щy的問題。
[0118]雖然以上描述了本發(fā)明的【具體實(shí)施方式】,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說明,本發(fā)明的保護(hù)范圍是由所附權(quán)利要求書限定的。本領(lǐng)域的技術(shù)人員在不背離本發(fā)明的原理和實(shí)質(zhì)的前提下,可以對這些實(shí)施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種微處理設(shè)備,該微處理設(shè)備用于機(jī)器人行為的在線調(diào)試,其特征在于,該機(jī)器人包括多個(gè)功能模塊,該微處理設(shè)備包括一微處理單元、多路總線接入的輸入接口、輸出接口、一無線收發(fā)模塊,其中, 該微處理單元用于通過該輸入接口收到總線上的第一數(shù)據(jù)、解碼該第一數(shù)據(jù)以獲得該第一數(shù)據(jù)的數(shù)據(jù)類型,并且對該第一數(shù)據(jù)執(zhí)行與該數(shù)據(jù)類型相對應(yīng)的處理; 該無線收發(fā)模塊用于將該第一數(shù)據(jù)發(fā)送至一監(jiān)控器,其中, 該第一數(shù)據(jù)為該功能模塊之間的通信數(shù)據(jù)。
2.如權(quán)利要求1所述的微處理設(shè)備,其特征在于,該微處理單元用于在通過該輸入接口接收了來自一輸入功能模塊的第一數(shù)據(jù)后,將該第一數(shù)據(jù)編碼后通過該輸出接口發(fā)送至一輸出功能模塊,其中,該輸入功能模塊為位于該微處理設(shè)備輸入端的功能模塊,該輸出功能模塊為位于該微處理設(shè)備輸出端的功能模塊。
3.如權(quán)利要求1所述的微處理設(shè)備,其特征在于,該無線收發(fā)模塊還用于接收來自該監(jiān)控器的調(diào)試命令,該調(diào)試命令用于對單個(gè)待測的功能模塊進(jìn)行在線調(diào)試的命令, 該微處理單元還用于屏蔽位于該待測的功能模塊輸入端的數(shù)據(jù)輸入或者屏蔽位于該待測的功能模塊輸出端的數(shù)據(jù)輸出。
4.如權(quán)利要求1-3中任意一項(xiàng)所述的微處理設(shè)備,其特征在于,該微處理單元還用于通過該輸入接口收到總線上的第二數(shù)據(jù),并且屏蔽該第二數(shù)據(jù)向該輸出接口的數(shù)據(jù)輸出,以及在增加了該第二數(shù)據(jù)的發(fā)送者身份信息和發(fā)送時(shí)間信息之后將該第二數(shù)據(jù)編碼; 該無線收發(fā)模塊用于將編碼后的該第二數(shù)據(jù)發(fā)送至該監(jiān)控器,其中,該第二數(shù)據(jù)為功能模塊的內(nèi)部調(diào)試數(shù)據(jù)。
5.—種在線調(diào)試系統(tǒng),其特征在于,其包括多個(gè)如權(quán)利要求1-4中任意一項(xiàng)所述的微處理設(shè)備、權(quán)利要求1-4中任意一項(xiàng)中所述的多個(gè)功能模塊和權(quán)利要求1-4中任意一項(xiàng)中所述的監(jiān)控器。
6.一種在線調(diào)試方法,其特征在于,其采用如權(quán)利要求5所述的在線調(diào)試系統(tǒng)實(shí)現(xiàn),該在線調(diào)試方法包括以下步驟: 步驟S1、該微處理單元通過該輸入接口收到總線上的第一數(shù)據(jù); 步驟S2、該微處理單元解碼該第一數(shù)據(jù)以獲得該第一數(shù)據(jù)的數(shù)據(jù)類型,并且對該第一數(shù)據(jù)執(zhí)行與該數(shù)據(jù)類型相對應(yīng)的處理。
7.—種在線調(diào)試方法,其特征在于,其采用如權(quán)利要求5所述的在線調(diào)試系統(tǒng)實(shí)現(xiàn),該在線調(diào)試方法包括以下步驟: 步驟Sik、該微處理單元通過該輸入接口接收了來自該輸入功能模塊的第一數(shù)據(jù); 步驟S2k、該微處理單元將該第一數(shù)據(jù)編碼后通過該輸出接口發(fā)送至該輸出功能模塊。
8.如權(quán)利要求6或7所述的在線調(diào)試方法,其特征在于,步驟S2中或步驟S2k中包括:該無線收發(fā)模塊用于將該第一數(shù)據(jù)發(fā)送至該監(jiān)控器,或者, 步驟S1中或步驟Sik中包括:該微處理單元通過該輸入接口收到總線上的第二數(shù)據(jù),并且屏蔽該第二數(shù)據(jù)向該輸出接口的數(shù)據(jù)輸出; 步驟S2中或步驟S2k中包括:該微處理單元在增加了該第二數(shù)據(jù)的發(fā)送者身份信息和發(fā)送時(shí)間信息之后將該第二數(shù)據(jù)編碼,該無線收發(fā)模塊將編碼后的該第二數(shù)據(jù)發(fā)送至該監(jiān)控器。
9.一種在線調(diào)試方法,其特征在于,其采用如權(quán)利要求5所述的在線調(diào)試系統(tǒng)實(shí)現(xiàn),該在線調(diào)試方法包括以下步驟: 步驟Sit、該監(jiān)控器的發(fā)送調(diào)試命令至一第一微處理設(shè)備; 步驟S2t、第一微處理設(shè)備通過該輸出接口將該調(diào)試命令發(fā)送至待測的功能模塊,該第一微處理設(shè)備為位于待測的功能模塊輸入端的微處理設(shè)備; 步驟S3t、待測的功能模塊得到計(jì)算結(jié)果并將該計(jì)算結(jié)果輸入至第二微處理設(shè)備,該第二微處理設(shè)備為位于待測的功能模塊輸出端的該微處理設(shè)備; 步驟S4t、該第二微處理設(shè)備將該計(jì)算結(jié)果發(fā)送至該監(jiān)控器。
【文檔編號(hào)】G06F11/22GK103902412SQ201210567887
【公開日】2014年7月2日 申請日期:2012年12月24日 優(yōu)先權(quán)日:2012年12月24日
【發(fā)明者】趙明 申請人:上海未來伙伴機(jī)器人有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1