# @Author: Yusu Pan <yuthon> # @Date: 2017-07-25T11:06:47+08:00 # @Email: [email protected] # @Project: humanoid # @Filename: AvoidObstacleTest.py # @Last modified by: yuthon # @Last modified time: 2017-07-25T11:06:48+08:00 # @Copyright: ZJUDancer from skills.AvoidObstacle import AvoidObstacle from skills.Attack import Attack from DecisionMaking.BehaviorTree.Branch import sequence, selector, parallel AvoidObstacleTest = selector(AvoidObstacle, Attack)
from DecisionMaking.BehaviorTree.Branch import parallel from DecisionMaking.BehaviorTree.Branch import selector from headskills.LookAround import LookAround from skills.WalkAroundPenalty import WalkAroundPenalty from skills.SeekBall import SeekBall from skills.FindBallAroundOnce import FindBallAroundOnce SeekBall_Fuck = selector(FindBallAroundOnce, parallel(LookAround, WalkAroundPenalty))
from DecisionMaking.BehaviorTree.Branch import selector from headskills.FindBall import FindBall from headskills.LookAround import LookAround from skills.TurnAround import TurnAround SeekBall = selector(FindBall, TurnAround)
from DecisionMaking.BehaviorTree.Branch import sequence, selector from DecisionMaking.BehaviorTree.Task import Action from skills.ApproachBall import ApproachBall from skills.Dribble import Dribble from skills.Kick import Kick from skills.SeekBall import SeekBall from skills.FindBallAroundOnce import FindBallAroundOnce from skills.SeekBall_Fuck import SeekBall_Fuck from skills.GoToGoaliePoint import GoToGoaliePoint from headskills.GoalieScanField import GoalieScanField from headskills.IsBallFarAway import IsBallFarAway GoalieAttack = sequence(FindBallAroundOnce, ApproachBall, selector(Dribble, Kick))
# def got_dest(self, dest): # robot_pos = self.bb.robot_pos # angle = self.bb.field_angle # dangle = abs_angle_diff(dest.z - angle) # # diff_x = dest.x - robot_pos.x # diff_y = dest.y - robot_pos.y # # if not self.bb.enable_kick: # if self.bb.ball_field.y > 0: # if abs(diff_x) < DEST_REGION and -DEST_REGION < diff_y < DEST_REGION / 3 and abs(dangle) < DEST_RE_ANGLE: # return True # else: # return False # else: # if abs(diff_x) < DEST_REGION and -DEST_REGION / 3 < diff_y < DEST_REGION and abs(dangle) < DEST_RE_ANGLE: # return True # else: # return False # elif self.bb.enable_kick: # if abs(diff_x) < 5 and abs(diff_y) < 5 and abs(dangle) < 5: # return True # else: # return False # else: # return False ApproachBall = parallel(selector(_Approach, WalkBehindBall), TrackBall)