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