关于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
感谢原作者

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值