Skip to content

Commit

Permalink
rename head modes more clearly
Browse files Browse the repository at this point in the history
  • Loading branch information
val-ba committed Jan 15, 2025
1 parent c88ae76 commit 1579a24
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 24 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
8 changes: 4 additions & 4 deletions bitbots_motion/bitbots_head_mover/src/move_head.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -717,14 +717,14 @@ class HeadMover {
// Check if the head mode changed and if so, update the search pattern
if (prev_head_mode_ != curr_head_mode) {
switch (curr_head_mode) {
case bitbots_msgs::msg::HeadMode::BALL_MODE: // 0
case bitbots_msgs::msg::HeadMode::SEARCH_BALL: // 0
pan_speed_ = params_.search_pattern.pan_speed;
tilt_speed_ = params_.search_pattern.tilt_speed;
pattern_ = generatePattern(params_.search_pattern.scan_lines, params_.search_pattern.pan_max[0],
params_.search_pattern.pan_max[1], params_.search_pattern.tilt_max[0],
params_.search_pattern.tilt_max[1], params_.search_pattern.reduce_last_scanline);
break;
case bitbots_msgs::msg::HeadMode::BALL_MODE_PENALTY: // 11
case bitbots_msgs::msg::HeadMode::SEARCH_BALL_PENALTY: // 11
pan_speed_ = params_.search_pattern_penalty.pan_speed;
tilt_speed_ = params_.search_pattern_penalty.tilt_speed;
pattern_ =
Expand All @@ -733,7 +733,7 @@ class HeadMover {
params_.search_pattern_penalty.tilt_max[1], params_.search_pattern.reduce_last_scanline);
break;

case bitbots_msgs::msg::HeadMode::FIELD_FEATURES: // 3
case bitbots_msgs::msg::HeadMode::SEARCH_FIELD_FEATURES: // 3
pan_speed_ = params_.search_pattern_field_features.pan_speed;
tilt_speed_ = params_.search_pattern_field_features.tilt_speed;
pattern_ = generatePattern(
Expand All @@ -742,7 +742,7 @@ class HeadMover {
params_.search_pattern_field_features.tilt_max[1], params_.search_pattern.reduce_last_scanline);
break;

case bitbots_msgs::msg::HeadMode::LOOK_FRONT: // 13
case bitbots_msgs::msg::HeadMode::SEARCH_FRONT: // 13
pan_speed_ = params_.front_search_pattern.pan_speed;
tilt_speed_ = params_.front_search_pattern.tilt_speed;
pattern_ =
Expand Down
8 changes: 4 additions & 4 deletions bitbots_msgs/msg/HeadMode.msg
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
# The body tells the head by this message what it shall do.

# Search for Ball and track it if found
uint8 BALL_MODE=0
uint8 SEARCH_BALL=0
# Look generally for all features on the field (ball, goals, corners, center point)
uint8 FIELD_FEATURES=1
uint8 SEARCH_FIELD_FEATURES=1
# Simply look directly forward
uint8 LOOK_FORWARD=2
#Don't move the head
uint8 DONT_MOVE=3
# Ball Mode adapted for Penalty Kick
uint8 BALL_MODE_PENALTY = 4
uint8 SEARCH_BALL_PENALTY = 4
# Do a pattern which only looks in front of the robot
uint8 LOOK_FRONT = 5
uint8 SEARCH_FRONT = 5


uint8 head_mode

0 comments on commit 1579a24

Please sign in to comment.