本發(fā)明涉及機器人開發(fā)系統(tǒng)架構(gòu),具體涉及模塊化平臺的機器人開發(fā)系統(tǒng)架構(gòu)及其主控單元。
背景技術(shù):
:2016年是人工智能元年,谷歌的AlphaGo震驚世界。機器是人工智能技術(shù)的載體,由此,世界各地的研究所或者公司也推出多款機器人,從類人機器人,服務(wù)機器人到軍方的戰(zhàn)備機器人,可以說機器人行正如當(dāng)年的移動互聯(lián)網(wǎng)一樣蓬勃火熱發(fā)展。市面上的機器人多以工業(yè)機器人和服務(wù)機器人為主,這些機器人一般是按照特定的功能定制的,比如焊接機器人,掃地機器人等,要在這些機器人上做進(jìn)一步修改升級就相當(dāng)困難,基本上都要重新設(shè)計。而一般的機器人開發(fā)平臺入門又比較高,而且基本都是大公司壟斷,價格昂貴,一些小的企業(yè)或個人基本上不會考慮。那些小的機器人開發(fā)平臺往往只提供一些開發(fā)板或開發(fā)模組,只適合用來學(xué)習(xí)或做簡易的玩具。目前,急需一種開發(fā)簡便、模塊化程度高的機器人開發(fā)平臺。技術(shù)實現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)存在的以上問題,提供基于模塊化平臺的機器人開發(fā)系統(tǒng)架構(gòu),本發(fā)明邏輯結(jié)構(gòu)巧妙,模塊化程度高,方便人們在此平臺架構(gòu)上進(jìn)行機器人的研究與開發(fā)。為實現(xiàn)上述技術(shù)目的,達(dá)到上述技術(shù)效果,本發(fā)明通過以下技術(shù)方案實現(xiàn):基于模塊化平臺的機器人開發(fā)系統(tǒng)架構(gòu),包括主控單元、傳感單元、動作執(zhí)行單元、交互單元;所述的傳感單元、動作執(zhí)行單元、交互單元由主控單元控制;用戶通過所述的交互單元輸入指令至主控單元,傳感單元感應(yīng)外部信號傳輸至主控單元,主控單元處理并生成控制所述的動作執(zhí)行單元的指令,所述的動作執(zhí)行單元執(zhí)行指令;所述的傳感單元、動作執(zhí)行單元、交互單元與主控單元之間通信采用交互通信,所述的各交互通信的通信協(xié)議保持一致。進(jìn)一步的,所述的交互單元包括PC端交互、移動端交互、動作模擬器交互;所述的PC端交互、移動端交互都與云服務(wù)器連接;所述的交互單元與主控單元的傳輸方式采用無線透傳;所述的移動端交互包括語音交互、智能模塊、動作識別交互、人臉表情識別交互、動作模擬交互。進(jìn)一步的,所述的基于模塊化平臺的機器人開發(fā)系統(tǒng)架構(gòu)還包括特殊動作執(zhí)行單元;所述的特殊動作執(zhí)行單元、傳感單元、動作執(zhí)行單元、交互單元內(nèi)都設(shè)有反饋單元;所述的反饋單元與主控單元連接,為主控單元提供反饋信息?;谀K化平臺的機器人開發(fā)系統(tǒng)主控單元,包括初始化模塊、指令交互模塊、信息交互模塊、動作執(zhí)行模塊;所述的初始化模塊初始化動作執(zhí)行單元參數(shù)與主控單元中系統(tǒng)變量參數(shù);所述的指令交互模塊接收交互單元指令并編譯成動作指令;所述的信息交互模塊采集傳感單元數(shù)據(jù);所述的動作執(zhí)行模塊執(zhí)行所述的動作指令;所述的初始化模塊在主控單元中優(yōu)先級最高。進(jìn)一步的,所述的初始化模塊包含以下步驟:硬件初始化、設(shè)備初始化、系統(tǒng)全局變量初始化、創(chuàng)建模塊任務(wù)。進(jìn)一步的,所述的初始化模塊還包含以下步驟:主電源開啟、輸出版本信息、用戶配置加載、開啟時鐘中斷、開啟系統(tǒng)多任務(wù)切換、預(yù)警警報循環(huán)。進(jìn)一步的,所述的指令交互模塊包含以下步驟:等待指令、中斷檢測、選擇指令類型。進(jìn)一步的,所述的指令交互模塊還包含以下步驟:變量設(shè)定及初始化、指令校驗、發(fā)送反饋消息。進(jìn)一步的,所述的信息交互模塊包含以下步驟:設(shè)置采樣頻率、傳感單元采樣、查詢動作執(zhí)行單元信息。進(jìn)一步的,所述的信息交互模塊還包含以下步驟:任務(wù)內(nèi)變量初始化、濾波、閾值判斷、統(tǒng)計循環(huán)次數(shù)、獲取設(shè)備信號、判斷信息對錯。進(jìn)一步的,所述的動作執(zhí)行模塊包含以下步驟:動作類型判斷、動作狀態(tài)判斷、發(fā)送動作指令、執(zhí)行動作指令。進(jìn)一步的,所述的動作執(zhí)行模塊還包含以下步驟:變量初始化、動作同步判斷、動作超時判斷、動作循環(huán)判斷、更新機器人狀態(tài)、錯誤判斷、刪除動作指令。進(jìn)一步的,基于模塊化平臺的機器人開發(fā)系統(tǒng)主控單元,還包括自由狀態(tài)模塊、調(diào)試測試模塊,所述的自由狀態(tài)模塊為無交互單元操作時機器人控制模塊;所述的調(diào)試測試模塊供調(diào)試維修使用。進(jìn)一步的,所述的自由狀態(tài)模塊包含以下步驟:空閑狀態(tài)判斷、設(shè)定情景模式、情景模式判斷(執(zhí)行情景模式)、自由狀態(tài)模式判斷、生成隨機數(shù)判斷執(zhí)行概率、執(zhí)行隨機動作。進(jìn)一步的,所述的自由狀態(tài)模塊還包含以下步驟:變量初始化、延時設(shè)定、判斷用戶配置、避障判斷(執(zhí)行避障)。本發(fā)明的有益效果是:本發(fā)明提供基于模塊化平臺的機器人開發(fā)系統(tǒng)架構(gòu),包括由主控單元控制的傳感單元、動作執(zhí)行單元、交互單元,所述的主控單元包括初始化模塊、指令交互模塊、信息交互模塊、動作執(zhí)行模塊;所述的初始化模塊初始化動作執(zhí)行單元參數(shù)與主控單元中系統(tǒng)變量參數(shù);所述的指令交互模塊接收交互單元指令并編譯成動作指令;所述的信息交互模塊采集傳感單元數(shù)據(jù);所述的動作執(zhí)行模塊執(zhí)行所述的動作指令。本發(fā)明邏輯結(jié)構(gòu)巧妙,模塊化程度高,采用一致的通信標(biāo)準(zhǔn),統(tǒng)一各傳感單元、動作執(zhí)行單元與主控單元的通信協(xié)議,從而方便人們基于本平臺架構(gòu)對機器人進(jìn)行研究與開發(fā)。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,并可依照說明書的內(nèi)容予以實施,以下以本發(fā)明的較佳實施例并配合附圖詳細(xì)說明如后。本發(fā)明的具體實施方式由以下實施例及其附圖詳細(xì)給出。附圖說明此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:圖1是本發(fā)明的基于模塊化平臺的機器人開發(fā)系統(tǒng)架構(gòu)圖;圖2是本發(fā)明的主控單元組織結(jié)構(gòu)圖;圖3是本發(fā)明的初始化模塊流程示意圖;圖4是本發(fā)明的指令交互模塊流程示意圖;圖5是本發(fā)明的信息交互模塊流程示意圖;圖6是本發(fā)明的動作執(zhí)行模塊流程示意圖;圖7是本發(fā)明的自由狀態(tài)模塊流程示意圖;圖8是本發(fā)明的調(diào)試測試模塊流程示意圖;圖9是本發(fā)明的用戶側(cè)通信數(shù)據(jù)發(fā)送流程示意圖;圖10是本發(fā)明的用戶側(cè)通信數(shù)據(jù)接收流程示意圖;圖11是本發(fā)明的傳感單元通信結(jié)構(gòu)示意圖;圖12是本發(fā)明的動作執(zhí)行單元通信結(jié)構(gòu)示意圖;圖13是本發(fā)明的傳感單元通信流程示意圖;圖14是本發(fā)明的動作執(zhí)行單元通信流程示意圖。具體實施方式下面將參考附圖并結(jié)合實施例,來詳細(xì)說明本發(fā)明。參照圖1-14所示,基于模塊化平臺的機器人開發(fā)系統(tǒng)架構(gòu),如圖1所示,包括主控單元、傳感單元、動作執(zhí)行單元、交互單元、特殊動作執(zhí)行單元,傳感單元、動作執(zhí)行單元、交互單元、特殊動作執(zhí)行單元由主控單元控制;特殊動作執(zhí)行單元包括水下沉浮模塊、水下避障模塊。如圖2所示,主控單元包括初始化模塊、指令交互模塊、信息交互模塊、動作執(zhí)行模塊;初始化模塊初始化動作執(zhí)行單元參數(shù)與主控單元中系統(tǒng)變量參數(shù);指令交互模塊接收交互單元指令并編譯成動作指令;所述的信息交互模塊采集傳感單元數(shù)據(jù);動作執(zhí)行模塊執(zhí)行所述的動作指令;初始化模塊在主控單元中優(yōu)先級最高。優(yōu)選地,傳感單元、動作執(zhí)行單元、交互單元內(nèi)都設(shè)有反饋單元;所述的反饋單元與主控單元連接,為主控單元提供反饋信息。主控單元根據(jù)反饋信息判斷是否執(zhí)行用戶指令、判斷指令是否完成、判斷指令是否完整傳輸,判斷指令是否能順利執(zhí)行、判斷機器人是否需要避障、判斷機器人是否進(jìn)入自由狀態(tài)等。結(jié)合圖3,初始化模塊流程如下:系統(tǒng)初始化,系統(tǒng)中斷未開啟前,進(jìn)行各種硬件的初始化,中斷開啟(1ms),進(jìn)入系統(tǒng)全局變量初始化,讀取主控單元flash內(nèi)的用戶配置信息,檢查錯誤,創(chuàng)建其余模塊任務(wù),之后進(jìn)入死循環(huán),檢查錯誤,如有錯誤,設(shè)置警報閃燈頻率。結(jié)合圖4,指令交互模塊流程如下:該模塊任務(wù)為阻塞型任務(wù),主要接收交互單元的指令(通信命令和數(shù)據(jù))。等待中斷獲取到的消息,如果中斷接收到符合幀頭幀尾,并判斷機器人狀態(tài)及接受長度沒有異常后,發(fā)送指令,動作執(zhí)行單元接收到指令后,首先判斷進(jìn)行CRC校驗,校驗通過后根據(jù)結(jié)構(gòu)解析命令解析出指令類型,執(zhí)行解析后指令,最后返回消息。結(jié)合圖5,信息交互模塊流程如下:任務(wù)內(nèi)變量初始化,延時設(shè)定,形成采樣頻率,傳感單元采樣、濾波,統(tǒng)計循環(huán)次數(shù),閾值判斷,超過閾值,查詢動作執(zhí)行單元信息,獲取設(shè)備信號、判斷信息對錯。信息交互模塊用于高頻率采集機器人各種傳感單元數(shù)據(jù),處理分析,根據(jù)需要做出相應(yīng)動作或更新機器人輸出數(shù)據(jù)包內(nèi)容。傳感單元的類型大致包括電壓電流傳感單元、深度傳感單元、霍爾傳感單元、聲吶傳感單元、距離紅外傳感單元、陀螺儀。優(yōu)選地,動作執(zhí)行單元還包括舵機、水泵、氣泵。加角速度和陀螺儀信號通過IIC接口收集,主要用于平衡和穩(wěn)定性控制;電壓、電流、深度信號通過AD接口收集,用于欠壓報警,過流保護(hù),沉浮控制判斷等;聲吶測距和各動作執(zhí)行單元的角度、速度信息通過總線收集,分別用于避障,與主控單元通訊及各動作執(zhí)行單元執(zhí)行情況的判斷。結(jié)合圖6,動作執(zhí)行模塊流程如下:變量初始化,解析動作指令(動作類型判斷、動作狀態(tài)判斷、發(fā)送動作指令、執(zhí)行動作指令、動作同步判斷、動作超時判斷、動作循環(huán)判斷)判斷是否是實時測試動作,根據(jù)分類,對待解析動作結(jié)構(gòu)體指針賦予不同的指針值。接下來一步步解析動作,根據(jù)動作類型,超時,動作重復(fù)次數(shù),每個動作狀態(tài)的同步位,動作控制模式等,設(shè)定舵機角度,舵機速度等,執(zhí)行完一次動作解析后,將會判斷動作類型,釋放信號量,告訴主控單元可以開始繼續(xù)運行,更新機器人狀態(tài),錯誤判斷并刪除動作指令。優(yōu)選地,如圖1所示,交互單元包括PC端交互、移動端交互、動作模擬器交互;PC端交互、移動端交互都與云服務(wù)器連接;交互單元與主控單元的傳輸方式采用無線透傳。移動端交互包括語音交互、智能模塊、動作識別交互、人臉表情識別交互、動作模擬交互。交互單元通過wifi無線透傳連接主控單元,可以設(shè)定機器人的各個動作執(zhí)行單元的角度、速度等信息,同時可以讀取各個動作執(zhí)行單元和判斷各傳感單元的狀態(tài),通過一定規(guī)律的動作組合經(jīng)過測試編譯后實現(xiàn)各種想要達(dá)到的動作,動作組合會以命令碼的形式保存到主控單元的Flash,同時也可以上傳到云服務(wù)器上共享或者收費出售。機器人要執(zhí)行某種命令時就從主控單元的Flash里讀取出相應(yīng)的指令序列并由硬件系統(tǒng)自動解析成相應(yīng)的命令傳達(dá)到各個動作執(zhí)行單元。信息交互模塊可以實時查詢機器人的各種狀態(tài),出現(xiàn)故障時能及時報警,如果某個動作執(zhí)行單元損壞,直接更換損壞的動作執(zhí)行單元并做一定的參數(shù)設(shè)置就可以繼續(xù)使用,維修簡單方便。整個系統(tǒng)架構(gòu)真正實現(xiàn)模塊化智能設(shè)計,可擴展性非常強。動作模擬器通過無線模塊連接主控單元,可以簡單的控制各動作執(zhí)行單元執(zhí)行各種基礎(chǔ)動作,結(jié)合交互單元可以更快的調(diào)試出你想要的組合動作。如圖2所示,主控單元還包括自由狀態(tài)模塊、調(diào)試測試模塊;自由狀態(tài)模塊為無交互單元操作時機器人控制模塊;調(diào)試測試模塊供調(diào)試維修使用。結(jié)合圖7,自由狀態(tài)模塊流程如下:本模塊用于處理情景模式、避障,生成自由動作命令。首先,優(yōu)先級上,情景模式這種特殊情況優(yōu)先級最高,檢測傳感單元數(shù)據(jù),綜合判斷,符合某一情景模式的話,將直接執(zhí)行該情景模式設(shè)置的動作命令,當(dāng)沒有符合的情景模式時,先去判斷傳感單元值,進(jìn)行避障操作,如果不需要避障,則判斷當(dāng)前機器人狀態(tài),執(zhí)行相應(yīng)的動作,如果為自由狀態(tài),則首先生成在動作指令數(shù)量范圍內(nèi)的隨機數(shù),同時計算隨機數(shù)執(zhí)行概率來決定是否執(zhí)行該動作,到達(dá)出現(xiàn)次數(shù)后,執(zhí)行對應(yīng)隨機數(shù)的命令。結(jié)合圖8,調(diào)試測試模塊采用示波器,通過設(shè)置延時與觀測示波器中輸出來判斷機器人各模塊各單元是否正常。應(yīng)當(dāng)理解,所述單元表示為實際硬件實體,所述模塊表示為軟件邏輯處理。優(yōu)選地,所述的傳感單元、動作執(zhí)行單元、交互單元與主控單元之間通信采用交互通信,所述的各交互通信的通信協(xié)議保持一致。所述的交互通信包括用戶側(cè)通信、傳感單元通信、動作執(zhí)行單元通信,如圖1所示,用戶側(cè)通信用于傳輸交互單元發(fā)出的指令至主控單元,經(jīng)過主控單元處理后通過所述的用戶側(cè)通信將指令反饋信息傳輸回交互單元;傳感單元通信用于傳輸主控單元處理后的指令至傳感單元,傳感單元感應(yīng)后通過所述的傳感單元通信將傳感反饋信息傳輸回主控單元;動作執(zhí)行單元通信用于傳輸主控單元處理后的指令至動作執(zhí)行單元,動作執(zhí)行單元執(zhí)行動作后通過所述的動作執(zhí)行單元通信將執(zhí)行動作反饋信息傳輸回主控單元。優(yōu)選地,用戶側(cè)通信的傳輸方式為無線透傳或wifi傳輸或藍(lán)牙傳輸。用戶側(cè)通信包括數(shù)據(jù)發(fā)送、數(shù)據(jù)接收,用戶側(cè)通信以用戶側(cè)數(shù)據(jù)包傳輸,如表1所示,用戶側(cè)數(shù)據(jù)包格式為幀頭+機器代號+指令類型+數(shù)據(jù)長度+子命令+子命令數(shù)據(jù)+校驗幀+幀尾。表1用戶側(cè)數(shù)據(jù)包格式說明:(1)幀頭,用兩個字節(jié)表示,分別是0xfe、0xef;(2)機器代號,不同的設(shè)備,定義不同的代號來區(qū)分;(3)指令類型,用于表示這個數(shù)據(jù)包所要執(zhí)行的功能,可以自行定義;(4)數(shù)據(jù)長度,除去幀頭,幀尾四個字節(jié)后的數(shù)據(jù)長度;(5)子命令,指令類型下面的子命令類,即二級命令;(6)子數(shù)據(jù),傳輸?shù)挠脩魝?cè)數(shù)據(jù);(7)校驗幀,采用CRC校驗,幀頭后到CRC校驗值前的數(shù)據(jù)經(jīng)CRC計算后的結(jié)果值。(8)幀尾,用兩個字節(jié)表示,分別是0xfd、0xdf。如圖9所示,數(shù)據(jù)發(fā)送根據(jù)交互單元的發(fā)送請求,按照用戶側(cè)數(shù)據(jù)包格式將數(shù)據(jù)組成一串?dāng)?shù)據(jù)包,并把該串?dāng)?shù)據(jù)包通過無線發(fā)送出去,等待應(yīng)答標(biāo)志接收,開啟等待應(yīng)答超時計數(shù)。若超時計數(shù)完成未收到應(yīng)答標(biāo)志或者收到的應(yīng)答標(biāo)志錯誤則重新發(fā)送數(shù)據(jù),若接收應(yīng)答標(biāo)志正確,且未超時,則結(jié)束本次發(fā)送。如圖10所示,數(shù)據(jù)接收端接收到第一個字節(jié)后判斷該字節(jié)是否是0xfe,如果是則繼續(xù)接收第二個字節(jié),判斷第二個字節(jié)是0xef,幀頭正確,開始保存后面收到的有效數(shù)據(jù),并記錄接收的數(shù)據(jù)長度。當(dāng)接收到的數(shù)據(jù)是0xfd,且下一個收到的數(shù)據(jù)是0xdf時,表示收到幀尾,該數(shù)據(jù)包結(jié)束,比較數(shù)據(jù)包里的長度值和接收記錄的長度值是否相等,如果不相等,說明數(shù)據(jù)在發(fā)送過程中有丟失,該數(shù)據(jù)包的數(shù)據(jù)有誤,不能使用。如果兩者長度相等則表明數(shù)據(jù)包長度正確,再通過CRC計算校驗值,把計算的校驗值和數(shù)據(jù)包里的CRC校驗值對比,若相等,說明數(shù)據(jù)正確,若不等,說明數(shù)據(jù)在發(fā)送過程中由于其他原因出錯,該數(shù)據(jù)包不可用,請求重新發(fā)送。若收到的數(shù)據(jù)經(jīng)過檢驗正確則返回正確的應(yīng)答標(biāo)志,反之返回錯誤的應(yīng)答標(biāo)志,請求發(fā)送端重新發(fā)送數(shù)據(jù),確保每一次通信的數(shù)據(jù)都是正確的。表2中為指令類型。表2指令類型值定義0x01用戶側(cè)1(手機pad)發(fā)讀取命令0x02用戶側(cè)2(動作模擬器)發(fā)出讀取命令0x03用戶側(cè)3(Pc配置軟件)發(fā)出讀取命令0x04用戶側(cè)1(手機pad)發(fā)出寫入命令0x05用戶側(cè)2(動作模擬器)發(fā)出寫入命令0x06用戶側(cè)3(PC配置軟件)發(fā)出寫入命令0x07用戶側(cè)1(手機pad)發(fā)出控制命令0x11主控單元向用戶側(cè)1(手機pad)反饋讀命令結(jié)果0x12主控單元向用戶側(cè)2(動作模擬器)反饋讀命令結(jié)果0x13主控單元向用戶側(cè)3(PC配置軟件)反饋讀命令結(jié)果0x14主控單元向用戶側(cè)1(手機pad)反饋寫命令結(jié)果0x15主控單元向用戶側(cè)2(動作模擬器)反饋寫命令結(jié)果0x16主控單元向用戶側(cè)3(PC配置軟件)反饋寫命令結(jié)果0x17主控單元向用戶側(cè)1(手機pad)反饋控制命令結(jié)果10x18主控單元向用戶側(cè)1(手機pad)反饋控制命令結(jié)果20x19主控單元向用戶側(cè)1(手機pad)反饋控制命令結(jié)果3表3中為子命令類型。表3子命令類型值定義0x01機器人狀態(tài)更新0x02靜止0x03自由游動0x11查詢機器人信息0x12查詢動作執(zhí)行單元信息0x13查詢沉浮模塊信息0x14查詢通信錯誤率0x21實時動作執(zhí)行單元控制0x31寫入基本動作組合0x32測試基本動作組合0x33寫入用戶配置數(shù)據(jù)0x34擦除命令flash0x35IAP升級命令0x36用戶配置讀取0x37動作命令讀取0x38設(shè)定動作執(zhí)行單元絕對位置0x39設(shè)定機器人進(jìn)入自由模式0x3A使機器人進(jìn)入空閑狀態(tài)0x41機器人錯誤碼0x41使設(shè)備進(jìn)入燒寫模式0x42使主控單元進(jìn)入燒寫模式優(yōu)選地,傳感單元通信采用總線通信協(xié)議進(jìn)行傳輸。傳感單元中定義一個數(shù)據(jù)結(jié)構(gòu)體struct{data1;data2;data3;data4;data5;data6;data7;data8};數(shù)據(jù)結(jié)構(gòu)體里面有8個字節(jié)的數(shù)據(jù)分別為傳感數(shù)值A(chǔ)+傳感數(shù)值B+故障位+優(yōu)先權(quán)位+指令+預(yù)留位A+傳感預(yù)留位B+傳感預(yù)留位C,在不同的傳感單元中,每個字節(jié)所表示的意義也有所不同:(1)聲吶傳感器:data1字節(jié)表示聲吶測量的距離;data2字節(jié)表示聲吶的電流;data3字節(jié)表示聲吶模塊的故障信息;data4表示聲吶模塊的ID;data5表示命令,data6,data7,data8預(yù)留。(2)視頻傳感器:data1字節(jié)表示圖像的顏色;data2字節(jié)表示圖像的亮度;data3字節(jié)表示視頻模塊的故障信息;data4表示視頻模塊的ID;data5表示命令,data6,data7,data8預(yù)留。(3)超聲波測距傳感器:data1字節(jié)表示實測距離的高8位;data2字節(jié)表示表示實測距離的低8位;data3字節(jié)表示超聲波模塊的故障信息;data4表示超聲波模塊的ID;data5表示命令,data6,data7,data8預(yù)留。(4)紅外測距傳感器:data1字節(jié)表示實測距離的高8位;data2字節(jié)表示表示實測距離的低8位;data3字節(jié)表示紅外模塊的故障信息;data4表示紅外模塊的ID;data5表示命令,data6,data7,data8預(yù)留。(5)溫濕度檢測傳感器:data1字節(jié)表示測量溫度值;data2字節(jié)表示表示測量濕度值;data3字節(jié)表示溫濕度模塊的故障信息;data4表示溫濕度模塊的ID;data5表示命令,data6,data7,data8預(yù)留。優(yōu)選地,動作執(zhí)行單元通信采用總線通信協(xié)議進(jìn)行傳輸。動作執(zhí)行單元中定義一個數(shù)據(jù)結(jié)構(gòu)體struct{data1;data2;data3;data4;data5;data6;data7;data8};數(shù)據(jù)結(jié)構(gòu)體里面有8個字節(jié)的數(shù)據(jù)分別為動作執(zhí)行數(shù)值A(chǔ)+動作執(zhí)行數(shù)值B+動作執(zhí)行數(shù)值C+優(yōu)先權(quán)位+故障位+指令+動作執(zhí)行預(yù)留位A+動作執(zhí)行預(yù)留位B,在不同的動作執(zhí)行單元中,每個字節(jié)所表示的意義也有所不同:(1)舵機執(zhí)行模塊:data1表示舵機的角度;data2表示舵機的速度;data3表示舵機的電流;data4表示舵機模塊的ID;data5表示命令,data6表示舵機的故障信息,data7,data8預(yù)留。(2)伺服電機執(zhí)行模塊:data1表示伺服電機的角度;data2表示伺服電機的速度;data3表示伺服電機的電流;data4表示伺服電機模塊ID;data5表示命令,data6表示伺服電機的故障信息,data7,data8預(yù)留。(3)步進(jìn)電機模塊:data1表示步進(jìn)電機的角度;data2表示步進(jìn)電機的速度;data3表示步進(jìn)電機的電流;data4表示步進(jìn)電機模塊的ID;data5表示命令,data6表示步進(jìn)電機的故障信息,data7,data8預(yù)留。如圖11-14所示,在總線空閑時,所有的動作執(zhí)行單元(傳感單元)都可以發(fā)送數(shù)據(jù),最先訪問的先獲得控制權(quán)。在總線協(xié)議中,所有的消息都以固定的格式發(fā)送??偩€空閑時,所有與總線相連的動作執(zhí)行單元(傳感單元)都可以開始發(fā)送新消息。兩個以上的動作執(zhí)行單元(傳感單元)同時開始發(fā)送消息時,根據(jù)標(biāo)識符ID決定優(yōu)先級。ID并不是表示發(fā)送的目的地址,而是表示訪問總線的消息的優(yōu)先級。兩個以上的單元同時開始發(fā)送消息時,對各消息ID的每個位進(jìn)行逐個仲裁比較。仲裁獲勝(被判定為優(yōu)先級最高)的單元可繼續(xù)發(fā)送消息,仲裁失利的單元則立刻停止發(fā)送而進(jìn)行接收工作。當(dāng)主控單元與動作執(zhí)行單元(傳感單元)同時發(fā)送信息時,主控單元發(fā)送優(yōu)先權(quán)最高,動作執(zhí)行單元(傳感單元)停止發(fā)送,轉(zhuǎn)而進(jìn)入接收主控單元發(fā)送的指令狀態(tài),判斷指令I(lǐng)D是不是本動作執(zhí)行單元(傳感單元)的ID,是則接收指令數(shù)據(jù),否則放棄指令接收。當(dāng)多個動作執(zhí)行單元(傳感單元)同時發(fā)送信息時,對各消息ID的每個位進(jìn)行逐個仲裁比較。仲裁獲勝(被判定為優(yōu)先級最高)的動作執(zhí)行單元(傳感單元)可繼續(xù)發(fā)送反饋信息給主控單元,仲裁失利的動作執(zhí)行單元(傳感單元)則立刻停止發(fā)送而進(jìn)入接收狀態(tài),接收主控單元發(fā)送的指令??偩€可以判斷出錯誤的類型是總線上暫時的數(shù)據(jù)錯誤(如外部噪聲等)還是持續(xù)的數(shù)據(jù)錯誤(如單元內(nèi)部故障、驅(qū)動器故障、斷線等)。由此功能,當(dāng)總線上發(fā)生持續(xù)數(shù)據(jù)錯誤時,可將引起此故障的單元從總線上隔離出去。總線是可同時連接多個單元的總線??蛇B接的單元總數(shù)理論上是沒有限制的。但實際上可連接的單元數(shù)受總線上的時間延遲及電氣負(fù)載的限制。降低通信速度,可連接的單元數(shù)增加;提高通信速度,則可連接的單元數(shù)減少。通信時主動作執(zhí)行單元(傳感單元)按結(jié)構(gòu)體定義的數(shù)據(jù)包,通過總線的通信方式,把數(shù)據(jù)傳輸至總線上,掛載在總線上的從動作執(zhí)行單元(傳感單元)的總線過濾器會自動識別該數(shù)據(jù)幀里包含的ID非主動作執(zhí)行單元(傳感單元),該數(shù)據(jù)包會被過濾掉,不再接收后面的數(shù)據(jù)。如果過濾器識別出該幀數(shù)據(jù)ID是本主動作執(zhí)行單元(傳感單元),則接收整幀數(shù)據(jù),解析數(shù)據(jù)包里的命令功能,從動作執(zhí)行單元(傳感單元)根據(jù)命令碼和數(shù)據(jù)執(zhí)行相應(yīng)的動作,并把反饋信息需要反饋給主控單元。本發(fā)明提供基于模塊化平臺的機器人開發(fā)系統(tǒng)架構(gòu),包括由主控單元控制的傳感單元、動作執(zhí)行單元、交互單元,所述的主控單元包括初始化模塊、指令交互模塊、信息交互模塊、動作執(zhí)行模塊;所述的初始化模塊初始化動作執(zhí)行單元參數(shù)與主控單元中系統(tǒng)變量參數(shù);所述的指令交互模塊接收交互單元指令并編譯成動作指令;所述的信息交互模塊采集傳感單元數(shù)據(jù);所述的動作執(zhí)行模塊執(zhí)行所述的動作指令。本發(fā)明邏輯結(jié)構(gòu)巧妙,模塊化程度高,采用一致的通信標(biāo)準(zhǔn),統(tǒng)一各傳感單元、動作執(zhí)行單元與主控單元的通信協(xié)議,從而方便人們基于本平臺架構(gòu)對機器人進(jìn)行研究與開發(fā)。以上所述,僅為本發(fā)明的較佳實施例而已,并非對本發(fā)明作任何形式上的限制;凡本行業(yè)的普通技術(shù)人員均可按說明書附圖所示和以上所述而順暢地實施本發(fā)明;但是,凡熟悉本專業(yè)的技術(shù)人員在不脫離本發(fā)明技術(shù)方案范圍內(nèi),利用以上所揭示的技術(shù)內(nèi)容而做出的些許更動、修飾與演變的等同變化,均為本發(fā)明的等效實施例;同時,凡依據(jù)本發(fā)明的實質(zhì)技術(shù)對以上實施例所作的任何等同變化的更動、修飾與演變等,均仍屬于本發(fā)明的技術(shù)方案的保護(hù)范圍之內(nèi)。當(dāng)前第1頁1 2 3