Behavior Architecture Overview¶
Work in Progress since 2023 :)
The behavior consists of two part: StrategyBehaviorControl and SkillBehaviorControl.
StrategyBehaviorControl handles the assignments of the position roles, the strategy as well as which robot should be the striker, all determined locally based on the information communicated by the other teammates.
Additionally for the striker, the robot which shall play the ball, the high level task is determined, e.g. shoot at the goal, pass to a teammate, clear the ball or dribble.
SkillBehaviorControl handles the execution of this high level task by calling a libary of hierarchal behavior options and the corresponding skill.
Here the physical state of the robot and the game state are handled as well as the execution to walk to points on the field or what to do with the ball as a striker, both including a plan for a potential obstacle avoidance.
In the end three representations are provided: ArmMotionRequest, HeadMotionRequest and MotionRequest, which provide all necessary information for the motion thread to calculate corresponding requests for the motors.
StrategyBehaviorControl¶
AgentStates¶
Position Roles¶
Those are described in Position Roles.