the introduction of some important files

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白球门识别

(七)Modules/Modeling建模

通过机器人获取的视觉信息决定机器人在球场的位置和与球门的相对位置,足球的职位和速度,障碍物模型,里程计算

(八)Sensing数据采集

用于实施收集机器人传感器数据