關於bhuman文件結構

代碼結構

進入Src目錄,主要是Representations和Modules兩個目錄。其中Representations是可調用的部分,通過調用其中的函數,可以編寫角色的策略代碼文件。Modules是實現Representations的部分。即調用Representations是通過執行Modules中的函數而執行相關action。
在這裏插入圖片描述

策略文件

進入Modules下的BehaviorControl下的BehaviorControl目錄。包含Options目錄,以及2個h文件及1個cpp文件。

  1. Options文件夾:包含行爲控制的文件,每一個文件是以圖的結構表示
  2. Options.h : 包含所有Options中的文件的路徑,通過一個c++頭文件將其關聯在一起
  3. BehaviorControl.h: 包含options文件中所調用的函數,關聯調用的Representations中的文件
    在這裏插入圖片描述
    進入options目錄下的GameControl,PlayingState文件中爲比賽開始時的行爲,ReadyState爲比賽中ready狀態時的行爲,一般是機器人入場。Options/Roles中包含各種角色代碼文件。

可調用接口文件

進入Src的Representations,可以看到8個模塊

這裏是引用

在這裏插入圖片描述
其中pdf文檔介紹了其中5個部分。剩餘的3個部分Communication和Configuration以及Infrastructure是文檔中5個的底層。
在這裏插入圖片描述
我們可以配合Modules修改或添加其中的內容,滿足我們的要求。

對於representations中文件結構的解釋

基於對第四章到第八章的pdf大致理解

1. perception感知模塊
基於兩個攝像頭,通過建立座標系來實現對外界感知。其中涉及到防止識別自身身體,顏色管理識別,邊界識別,檢測黑白球(之前爲橙色球),罰分和對障礙物識別以及對手的檢測。
perception
2. modeling建模模塊
對於自我位置定位,對於球定位,對於障礙物定位,通過自身以及隊友的感知數據來建模。同時口哨聲的識別也存在於這裏。
文件
3. behaviorcontrol行爲控制模塊
策略的規劃,包括角色安排等等(注意與motioncontrol區分)
4. proprioception自身感知模塊
如圖所示:
xx
5. motioncontrol動作控制模塊
主要的行爲操作,包括步行踢腿等等
MOTION

關於Modules與Representation的主要不同

一定程度參考飛_飛的博客:

  • Modules文件夾的內容與Representation文件夾中的內容能一一對應。比如,Modules包含了BehaviorControl、Configuration、Sensing等,而Representation也包含了這些模塊。
  • STREAM宏、以及serialize方法等“流”方法,在Representations中的所有模塊都首先使用此宏進行了定義,以及blackboard也屬於此文件夾,可見,Representation的真正用途爲信息交流,因爲STREAM的作用,所以使得各個模塊可以相互傳遞信息。
  • MODULES宏的真正作用是創建BehaviorControl、Sensing、Modeling等模塊,在這些模塊中,模塊的必要條件(用REQUIRES宏包含)從Representation文件夾內的各個模塊獲得。即在Modules文件夾中的各個模塊使用include包含所需要的Representation頭文件。因此,Representation描述了機器人的各個參數、以及基本物理信息,甚至各個模塊的描述(但也不完全是,需要下次進行更輸入的分析)。

另外部署可以參考下面這篇文章:
https://blog.csdn.net/qq_34062822/article/details/80326273
感謝原作者

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章