麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

基于模塊化平臺的機器人開發系統架構及其主控單元的制作方法

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