modules/representation
(一)BehaviorControl文件
此文件包含相机控制,led控制,手部控制,头部控制,运动控制
BehaviorControl|2015文件夹
☆ BehaviorControl.h
定义了BehaviorControl模块,通过头文件获取很多参数,这个模块可提供接口数据:
PROVIDES(ActivationGraph)--激活图
PROVIDES(ArmMotionRequest)--手臂动作
PROVIDES(BehaviorLEDRequest)--led控制
PROVIDES(MotionRequest)--运动控制
PROVIDES(BehaviorStatus)--行为状态
PROVIDES(HeadMotionRequest)--头部运动
PROVIDES(SPLStandardBehaviorStatus)--标准平台状态
△ 2015版的BehaviorControl}2015.h
定义了一个命名空间Behavior2015,声明了类behaviorControlData,该类声明了多个成员
并调用他们的默认构造函数实时传递参数修改,以下是他包含的重要成员:
1、BehaviorStatus& theBehaviorStatus;
BehaviorStatus流类给角色赋初值striker.
((Role) RoleType)(Role::striker) role,
Role流类定义了(RoleType)(striker) role,
给出一个draw()函数,该函数在role.cpp有实现,用于调试。
给出枚举RoleType
ENUM(RoleType,
{, undefined,
keeper,
striker,
defender,
supporter,
none,});
2、MotionRequest&theMotionRequest;
MotionRequest流类定义了:
(Motion)(specialAciton)motion,
(SpecialAcitonRequest)specialActionRequest,
(WalkRequest)walkRequest,
(KickRequest)kickRequest,
还定义了motion枚举变量,并定义了printout函数,该函数根据motion情况进行字符串输出,在represtation/motionRequest.cpp有定义
Option文件夹
☆ #include"Options/Soccer.h"
① 默认开始played状态,关闭所有关节
② 随后开始standup状态,站起来,进入playsoccer状态
③ 开始执行HandlePenaltyState(); HeadControl();
胸键变颜色,按三次蹲下,并且进入playdead状态,胸键变色
△ #include"Option/GameControl/HandleGameState.h"
控制游戏状态
☆ #include"Options/GameControl/HandlePenaltyState.h"
控制惩罚状态
△ #include"Options/GameControl/PlayingState.h"
正在运行的决策状态
☆ #include"Options/GameControl/ReadyState.h"
准备状态
△ #include"Options/HeadControl/HeadControl/h
头部状态
以下是执行动作的行为(函数)
☆ #include "Options/Output/Annotation.h"
发送注释信息
△ #include "Options/ Output/ArmMotionRequest/KeyFrameArms.h"
执行手部动作
☆ #include "Options/Output/HeadMotionRequest/SetHeadPanTilt.h"
△ #include "Options/Output/HeadMotionRequest/SetHeadTarget.h"
☆ #include "Options/Output/HeadMotionRequest/SetHeadTargetOnGround.h"
执行头部动作
△ #include "Options/Output/MotionRequest/GetUpEngine.h"
站起来
☆ #include "Options/Output/MotionRequest/InWalkKick.h"
边走边踢
theMotionRequest.walkRequest.mode = WalkRequest::targetMode;
△ #include "Options/Output/MotionRequest/PathToTarget.h"
目标路径执行
☆ #include "Options/Output/MotionRequest/SpecialAction.h"
执行特殊动作
△ #include "Options/Output/MotionRequest/Stand.h"
站起来
☆ #include "Options/Output/MotionRequest/WalkAtSpeed.h"
走路速度
△ #include "Options/Output/MotionRequest/WalkAtSpeedPercentage.h"
走路百分比速度
☆ #include "Options/Output/MotionRequest/WalkToTarget.h"
走路目标模式
△ #include "Options/Output/PlaySound.h"
播放声音
☆ #include "Options/Roles/Striker.h"
前锋决策
Start--- turnToBall
searchForBall
walkToBall 走向球
alignToGoal 机器人与球保持保持一条直线
alignBehindBall 机器人在球后面
kick 踢球
△ #include "Options/Skills/ArmContact.h"
手部动作
ENUM(PushDirection,
{,
N, /**< Arm is being pushed to the front */
S, /**< Arm is being pushed to the back */
W, /**< Arm is being pushed to the left */
E, /**< Arm is being pushed to the right */
NW, /**< Arm is being pushed to the front and the left */
NE, /**< Arm is being pushed to the front and the right */
SW, /**< Arm is being pushed to the back and the left */
SE, /**< Arm is being pushed to the back and the right */
NONE, /**< If no contact is detected */}),
△ #include "Options/Skills/GetUp.h"
倒下站起来
☆ #include "Options/Tools/ButtonPressedAndReleased.h"
胸前按钮
(二)Tool/motion/mofcompile
负责对config/mof下的特殊动作进行解释执行
(三)MotionControl
三大运动控制
walk走路,kick踢球,DynamicMotionPrimitive Kick动态踢球
其他运动控制
ArmKeyFrame 手臂动作运动,getup起立,headmotion头部运动控制
CalibrationStand站立运动,specialAction特殊动作等
(四)Configuration
有关机器人的配置信息
FrictionLearner 摩擦力学习
AutomaticCameraCailbrator 相机自动校准
JointCalibrator 关节校准
CognitionConfigurationDataProvider 提供认知配置数据
MotionConfigurationDataProvider 提供运动配置数据
对应representations/Configuration配置文件
(五)Modules/ifrastructure基础架构
modules中包含各种数据提供者
representation中包含数据信息的定义和处理
(六)Modules/Perception
感知检测球门和球场边界线,捕捉足球的视觉信息
Ballperceptor球的视觉识别
球的位置视觉识别
身体轮廓位置视觉识别
摄像头矩阵,用于创建坐标系图像。坐标系视觉识别
场地边线视觉识别
白线点识别
障碍物识别
点球标记识别
球员识别
潜在线点识别
真实球识别
机器人相机矩阵,用于计算身体轮廓whiteGaolperceptor白球门识别