天天看點

對B-Human代碼的學習總結(Robocup_Nao)

為了尋得更多學習Robocup機器人學習研究者,在此,本人寫出一些關于對SPL雙足組三連冠Bhuman隊伍的代碼的一些總結。

我們的研究學習對象是Nao機器人。希望更多學習Nao機器人或者學習Bhuman代碼的同學能夠一起探讨學習,目前關于專門對Bhuman代碼研究學習的同學尚未聯系到,希望有對Bhuman學習的同學以及對NaoQi學習的同學能夠聯系本人,我們共同取得進步。

緻敬!

以下隻是從檔案結構上對Bhuman的一些總結,更詳細的讨論今後慢慢貼出來或者與我聯系。

對BHUMAN代碼的大概架構的進一步了解。

經過對b-human文檔第三章的閱讀以及對源碼架構的浏覽,了解得bhuman

部分架構,以後會繼續深入了解。
      

 從源碼的分類來看,現主要對Modules、Representations 進行代碼大體總結。Modules檔案夾的内容與Representation檔案夾中的内容能一一對應。比如,Modules包含了BehaviorControl、Configuration、Sensing等,而Representation也包含了這些子產品。

Modules與Representation的主要不同請見下面提到的:

 STREAM宏、以及serialize方法等“流”方法,在Representations中的所有子產品都首先使用此宏進行了定義,以及blackboard也屬于此檔案夾,可見,Representation的真正用途為資訊交流,因為STREAM的作用,是以使得各個子產品可以互相傳遞資訊。

 MODULES宏的真正作用是建立BehaviorControl、Sensing、Modeling等子產品,在這些子產品中,子產品的必要條件(用REQUIRES宏包含)從Representation檔案夾内的各個子產品獲得。即在Modules檔案夾中的各個子產品使用include包含所需要的Representation頭檔案。是以,Representation描述了機器人的各個參數、以及基本實體資訊,甚至各個子產品的描述(但也不完全是,需要下次進行更輸入的分析)。 

關于Nao攝像頭、聲音子產品以及platform在Bhuman工程中的作用

 因為Nao的攝像頭子產品、聲音子產品與DCM是獨立分開的,是以,攝像頭的接口、通路等需要另尋方法。

 在/Src/Platform檔案夾中,我們可以看到,與攝像頭、聲音相關的頭檔案包含于其中。此外,還有一些通信、線程、以及系統調用相關的頭檔案在内。在各個作業系統平台下,也有響應的工具和攝像頭的設定。



 在這各個平台下,我們應該重點放在linux檔案夾中的檔案,這裡面的包含了諸如 主函數、機器人程序清單的建立、共享記憶體塊、調試處理器等最為基礎核心的部分。

 是以,攝像頭、聲音、機器人程式的main函數等基礎架構應當從此檔案夾閱讀尋找。 

繼續閱讀