📄 headdecision.h
字号:
/* * Copyright 2002-2005, Mersad Team, Allameh Helli High School (NODET). * * This program is free software, you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. * * This file is created by: Ahmad Boorghany * * Released on Monday 1 August 2005, 10 Mordad 1384 by Mersad RoboCup Team. * For more information please read README file.*/#ifndef __HEAD_DECISION_H#define __HEAD_DECISION_H#include <WorldModel.h>#define TURN_NECK_RESOLUTION 5enum TurnNeckMode { TNM_NONE = 0, TNM_AUTO_PLAY_ON = 1, TNM_LOOK_NORMALLY = 2, TNM_LOOK_CAREFULLY = 3, TNM_LOOK_NORMALLY_TO_BALL = 4, TNM_LOOK_CAREFULLY_TO_BALL = 5, TNM_LOOK_CAREFULLY_TO_OPP_GOALIE = 6};struct HeadDecisionForm{ TurnNeckMode tnMode; void reset();};class Command;class AdvancedAgent;class HeadDecision{protected: float viewPartWeights[VIEW_PARTS_NUM]; unsigned viewPartObjectsNums[VIEW_PARTS_NUM]; Body nextBody; Ball nextBall; Command *turnNeckCommand; Command *changeViewCommand; // Weighting rates float haveBallRate; float havePlayerRate; float objectsNumRate; // Giving vars const AdvancedAgent *owner; const WorldModel *worldModel; void decideForLookCarefullyToBall(); void decideForLookCarefullyToOppGoalie(TurnNeckMode &tnMode); void decideForTurnNeckCommand(float nextViewAngle); void decideForLookNormallyToBall(float nextViewAngle, TurnNeckMode &tnMode); void logVariables(); void updateViewPartObjectsNum(); void setWeightsForLookNormally(); void setWeightsForLookCarefully(); float getViewPartWeight(unsigned viewPartNum);public: HeadDecision(const AdvancedAgent *owner); ~HeadDecision(); void resetInfo(); void decide(const Command *bodyCycleCommand, const HeadDecisionForm &headForm); void updateAfterSee(); void updateAfterSenseBody(); Command *getTurnNeckCommand(); Command *getChangeViewCommand();};#endif // __HEAD_DECISION_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -