Skip to content

Commit

Permalink
Better consistency naming of headmodes (#653)
Browse files Browse the repository at this point in the history
  • Loading branch information
Flova authored Jan 20, 2025
2 parents 007f923 + bd8f3e3 commit a851e49
Show file tree
Hide file tree
Showing 6 changed files with 261 additions and 251 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
from bitbots_msgs.msg import Audio, HeadMode, RobotControlState

THeadMode: TypeAlias = Literal[ # type: ignore[valid-type]
HeadMode.BALL_MODE,
HeadMode.FIELD_FEATURES,
HeadMode.SEARCH_BALL,
HeadMode.SEARCH_FIELD_FEATURES,
HeadMode.LOOK_FORWARD,
HeadMode.DONT_MOVE,
HeadMode.BALL_MODE_PENALTY,
HeadMode.LOOK_FRONT,
HeadMode.SEARCH_BALL_PENALTY,
HeadMode.SEARCH_FRONT,
]


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,15 @@ class SearchBall(AbstractHeadModeElement):
"""Look for ball"""

def perform(self):
self.blackboard.misc.set_head_duty(HeadMode.BALL_MODE)
self.blackboard.misc.set_head_duty(HeadMode.SEARCH_BALL)
return self.pop()


class LookAtFieldFeatures(AbstractHeadModeElement):
"""Look generally for all features on the field (ball, goals, corners, center point)"""

def perform(self):
self.blackboard.misc.set_head_duty(HeadMode.FIELD_FEATURES)
self.blackboard.misc.set_head_duty(HeadMode.SEARCH_FIELD_FEATURES)
return self.pop()


Expand All @@ -77,13 +77,13 @@ class LookAtBallPenalty(AbstractHeadModeElement):
"""Ball Mode adapted for Penalty Kick"""

def perform(self):
self.blackboard.misc.set_head_duty(HeadMode.BALL_MODE_PENALTY)
self.blackboard.misc.set_head_duty(HeadMode.SEARCH_BALL_PENALTY)
return self.pop()


class LookAtFront(AbstractHeadModeElement):
"""Search in front of the robot"""

def perform(self):
self.blackboard.misc.set_head_duty(HeadMode.LOOK_FRONT)
self.blackboard.misc.set_head_duty(HeadMode.SEARCH_FRONT)
return self.pop()
16 changes: 8 additions & 8 deletions bitbots_misc/bitbots_teleop/scripts/teleop_keyboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,12 +222,12 @@ def loop(self):
self.head_pub.publish(self.head_msg)
elif key == "0":
# Search for Ball and track it if found
self.head_mode_msg.head_mode = HeadMode.BALL_MODE
assert int(key) == HeadMode.BALL_MODE
self.head_mode_msg.head_mode = HeadMode.SEARCH_BALL
assert int(key) == HeadMode.SEARCH_BALL
elif key == "1":
# Look generally for all features on the field (ball, goals, corners, center point)
self.head_mode_msg.head_mode = HeadMode.FIELD_FEATURES
assert int(key) == HeadMode.FIELD_FEATURES
self.head_mode_msg.head_mode = HeadMode.SEARCH_FIELD_FEATURES
assert int(key) == HeadMode.SEARCH_FIELD_FEATURES
elif key == "2":
# Simply look directly forward
self.head_mode_msg.head_mode = HeadMode.LOOK_FORWARD
Expand All @@ -238,12 +238,12 @@ def loop(self):
assert int(key) == HeadMode.DONT_MOVE
elif key == "4":
# Ball Mode adapted for Penalty Kick
self.head_mode_msg.head_mode = HeadMode.BALL_MODE_PENALTY
assert int(key) == HeadMode.BALL_MODE_PENALTY
self.head_mode_msg.head_mode = HeadMode.SEARCH_BALL_PENALTY
assert int(key) == HeadMode.SEARCH_BALL_PENALTY
elif key == "5":
# Do a pattern which only looks in front of the robot
self.head_mode_msg.head_mode = HeadMode.LOOK_FRONT
assert int(key) == HeadMode.LOOK_FRONT
self.head_mode_msg.head_mode = HeadMode.SEARCH_FRONT
assert int(key) == HeadMode.SEARCH_FRONT
elif key == "y":
# kick left forward
pass
Expand Down
Loading

0 comments on commit a851e49

Please sign in to comment.