记录下。。。看这个目录的关系。
pwd
1 | BHumanCodeRelease-coderelease2017/Src/Modules/BehaviorControl/BehaviorControl/ |
tree
1 | . |
BehaviorControl.h
基于 c 语言的状态机行为控制模块的声明。
从源码中可以看到,引入了 Representations 中的一些模块的头文件。
BehaviorControl.cpp
基于 c 语言的状态机行为控制模块的实现。
Options.h
所有属于当前行为的 option 文件都必须包含在这个文件中。
在 Options 文件夹中写的东西需要在此头文件中包含。
Options
tree
1 | . |
Soccer.h
root option,在机器人真正开始游戏之前控制行为。
主函数?所有的操作从这里开始执行。
第一次按下胸口按钮:站起来。
第二次:惩罚状态。
第三次:非惩罚状态,开始踢球。
连续按 3 次,机器人关闭所有关节,蹲下。
DemoOptions
提供了两个 Demo,调用 Striker() 踢球。
tree
1 | . |
GameControl
tree
1 | . |
HandleGameState.h
触发不同游戏状态的选项。
该选项还会调用跌倒后的getup行为,这在大多数游戏状态中都是需要的。
从 Soccer.h 进入这里后,执行对应的 state。
HandlePenaltyState.h
处理惩罚状态(以及离开惩罚状态后要执行的操作)。
此选项比主游戏状态处理高一级,因为在大多数游戏状态中可能会出现惩罚。
默认情况下,机器人不受惩罚,并根据当前比赛状态踢足球。要想手动惩罚机器人,必须按下和松开胸前的按钮。
PlayingState.h
在这里调用了 Demo()。
ReadyState.h
机器人准备就绪的状态,头 lookforward,并且站立。
HeadControl
头部控制。
tree
1 | . |
HeadControl.h
由 option HeadControl 执行的 head 控制模式。
默认只有 none、off、lookforward 三种头部状态。
LookForward.h
头部 lookforward,调用 SetHeadPanTilt 模块。
Output
1 | . |
Activity.h
通过这个开设置机器人的当前状态。
传入一个参数,调用 BehaviorStatus 模块。
Annotation.h
通过这个来注释,需要一个 string 类型的参数。
PlaySound.h
如果在前一个循环中未调用此选项,则播放声音。
播放音频,传入一个 string 类型的参数(音频名)。
HeadMotionRequest
SetHeadPanTilt.h
用这个模块来控制机器人的头部。
MotionRequest
1 | . |
GetUpEngine.h
一个简单的站起来的引擎。
InWalkKick.h
边走边踢。
SpecialAction.h
Sets all members of the MotionRequest representation for executing a SpecialAction.
Stand.h
Sets all members of the MotionRequest representation for simple standing.
WalkAtAbsoluteSpeed.h
Sets all members of the MotionRequest representation for executing an absoluteSpeedMode-WalkRequest.
Walking speeds, in mm/s and radian/s.
e.g. Pose2f(0.f, 50.f, 0.f) lets move the robot forward at 50 mm/s
Pose2f(0.f, 50.f, 50.f) lets move the robot diagonal
Pose2f(0.2f, 100.f, 0.f) lets move the robot in a circle
传入一个参数(const Pose2f&) speed
。
WalkAtRelativeSpeed.h
Sets all members of the MotionRequest representation for executing a relativeSpeedMode-WalkRequest.
@param speed Walking speeds, in the range [-1.f .. 1.f].
e.g. Pose2f(0.f, 1.f, 0.f) lets move the robot forward at full speed
Pose2f(0.f, 0.5f, 0.5f) lets move the robot diagonal at half of the possible speed
Pose2f(0.5f, 1.f, 0.f) lets move the robot in a circle
WalkToTarget.h
走向目标。
传入两个参数,一个速度,一个目标的位置。(const Pose2f&) speed, (const Pose2f&) target
Roles
放角色文件的地方。
Striker.h
默认的前锋 Demo。
Skills
机器人的一些技能,比如站起来。
GetUp.h
调用 GetUpEngine() 模块。
Tools
工具~~~。
ButtonPressedAndReleased.h
按钮按下和释放。
该选项观察某个按钮的状态,如果按下并释放该按钮,则报告成功。
如果指定超时,如果状态更改耗时太长,也可以中止该 option。
OK,到这里这块就完啦。