Skip to content

Commit 11c653c

Browse files
authored
Coordinators (#2370)
1 parent a577bbd commit 11c653c

28 files changed

Lines changed: 579 additions & 352 deletions

.clangd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CompileFlags:
2+
CompilationDatabase: build-release-debug/

launch/soccer.launch.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,5 +227,12 @@ def generate_launch_description():
227227
parameters=[param_config_filepath],
228228
on_exit=Shutdown(),
229229
),
230+
Node(
231+
package="rj_robocup",
232+
executable="kicker_picker_node",
233+
output="screen",
234+
parameters=[param_config_filepath],
235+
on_exit=Shutdown(),
236+
)
230237
]
231238
)

rj_msgs/CMakeLists.txt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,30 +59,33 @@ rosidl_generate_interfaces(
5959
msg/AgentResponse.msg
6060
msg/AgentResponseVariant.msg
6161

62+
# Coordinators
63+
msg/KickerPicker.msg
64+
6265
# Agent Request Messages
63-
request/IncomingBallRequest.msg
64-
request/SeekerRequest.msg
65-
request/ScorerRequest.msg
66-
request/ResetScorerRequest.msg
67-
request/KickerRequest.msg
6866
request/JoinWallRequest.msg
6967
request/TestRequest.msg
7068
request/PassRequest.msg
69+
request/ScorerRequest.msg
7170
request/BallInTransitRequest.msg
71+
request/SeekerRequest.msg
7272
request/PositionRequest.msg
7373
request/LeaveWallRequest.msg
74+
request/ResetScorerRequest.msg
75+
request/IncomingBallRequest.msg
7476

7577
# Agent Response Messages
78+
response/ScorerResponse.msg
7679
response/LeaveWallResponse.msg
77-
response/TestResponse.msg
7880
response/PositionResponse.msg
81+
response/TestResponse.msg
7982
response/PassResponse.msg
80-
response/ScorerResponse.msg
8183
response/Acknowledge.msg
8284
response/JoinWallResponse.msg
8385

8486
# Services
8587
srv/AgentCommunication.srv
88+
srv/KickerPicker.srv
8689
srv/ListJoysticks.srv
8790
srv/PlanHypotheticalPath.srv
8891
srv/QuickCommands.srv

rj_msgs/msg/AgentRequest.msg

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@
33
# 2 -> PositionResponse
44
# 3 -> PassResponse
55
# ACKNOWLEDGE REQUEST DOES NOT (AND SHOULD NOT) EXIST
6-
IncomingBallRequest[<=1] incoming_ball_request
7-
SeekerRequest[<=1] seeker_request
8-
ScorerRequest[<=1] scorer_request
9-
ResetScorerRequest[<=1] reset_scorer_request
10-
KickerRequest[<=1] kicker_request
116
JoinWallRequest[<=1] join_wall_request
127
TestRequest[<=1] test_request
138
PassRequest[<=1] pass_request
9+
ScorerRequest[<=1] scorer_request
1410
BallInTransitRequest[<=1] ball_in_transit_request
11+
SeekerRequest[<=1] seeker_request
1512
PositionRequest[<=1] position_request
16-
LeaveWallRequest[<=1] leave_wall_request
13+
LeaveWallRequest[<=1] leave_wall_request
14+
ResetScorerRequest[<=1] reset_scorer_request
15+
IncomingBallRequest[<=1] incoming_ball_request
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
ScorerResponse[<=1] scorer_response
12
LeaveWallResponse[<=1] leave_wall_response
2-
TestResponse[<=1] test_response
33
PositionResponse[<=1] position_response
4+
TestResponse[<=1] test_response
45
PassResponse[<=1] pass_response
5-
ScorerResponse[<=1] scorer_response
66
Acknowledge[<=1] acknowledge
77
JoinWallResponse[<=1] join_wall_response

rj_msgs/msg/KickerPicker.msg

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# This is a message to pick a kicker robot
2+
uint8 robot_id # ID of the robot chosen to kick the ball

rj_msgs/request/KickerRequest.msg

Lines changed: 0 additions & 7 deletions
This file was deleted.

rj_msgs/srv/KickerPicker.srv

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Request a robot to be added to or removed from the kicker selection group
2+
uint8 robot_id # ID of the robot (0 to kNumShells-1)
3+
bool wants_to_kick # True to add robot to kicker group, false to remove it
4+
---
5+
bool success # Always true

soccer/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ add_executable(manual_control_node)
8787
add_executable(global_param_server_node)
8888
add_executable(agent_action_client_node)
8989
add_executable(straight_line_test_node)
90+
add_executable(kicker_picker_node)
9091

9192
if(BUILD_TESTING)
9293
add_executable(test-soccer)
@@ -191,6 +192,9 @@ set(AGENT_ACTION_CLIENT_NODE_DEPS_LIBRARIES robocup)
191192
set(STRAIGHT_LINE_TEST_NODE_DEPS_SYSTEM_LIBRARIES)
192193
set(STRAIGHT_LINE_TEST_NODE_DEPS_LIBRARIES robocup)
193194

195+
set(KICKER_PICKER_NODE_DEPS_SYSTEM_LIBRARIES)
196+
set(KICKER_PICKER_NODE_DEPS_LIBRARIES robocup)
197+
194198
# ======================================================================
195199
# Include and Linking
196200
# ======================================================================
@@ -257,6 +261,9 @@ target_link_libraries(agent_action_client_node PRIVATE ${AGENT_ACTION_CLIENT_NOD
257261
target_link_libraries(straight_line_test_node PRIVATE ${STRAIGHT_LINE_TEST_NODE_DEPS_SYSTEM_LIBRARIES}
258262
${STRAIGHT_LINE_TEST_NODE_DEPS_LIBRARIES})
259263

264+
# -- kicker_picker_node --
265+
target_link_libraries(kicker_picker_node PUBLIC ${KICKER_PICKER_NODE_DEPS_SYSTEM_LIBRARIES} ${KICKER_PICKER_NODE_DEPS_LIBRARIES})
266+
260267
# ======================================================================
261268
# Testing
262269
# ======================================================================
@@ -302,6 +309,7 @@ install(
302309
global_param_server_node
303310
agent_action_client_node
304311
straight_line_test_node
312+
kicker_picker_node
305313
DESTINATION lib/${CMAKE_PROJECT_NAME})
306314

307315
install(

soccer/src/soccer/CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ set(ROBOCUP_LIB_SRC
9696
strategy/agent/position/zoner.cpp
9797
strategy/agent/position/pivot_test.cpp
9898
strategy/agent/position/solo_offense.cpp
99-
99+
strategy/coordinator/kicker_picker.cpp
100+
strategy/coordinator/kicker_picker_client.cpp
100101
)
101102

102103
set(SOCCER_TEST_SRC
@@ -145,6 +146,8 @@ set(AGENT_ACTION_CLIENT_NODE_SRC strategy/agent/agent_action_client_main.cpp)
145146

146147
set(STRAIGHT_LINE_TEST_NODE_SRC strategy/agent/straight_line_test_main.cpp)
147148

149+
set(KICKER_PICKER_NODE_SRC strategy/coordinator/kicker_picker_main.cpp)
150+
148151
# ======================================================================
149152
# Add sources
150153
# ======================================================================
@@ -191,6 +194,9 @@ target_sources(agent_action_client_node PRIVATE ${AGENT_ACTION_CLIENT_NODE_SRC})
191194
# --- straight_line_test_node ----
192195
target_sources(straight_line_test_node PRIVATE ${STRAIGHT_LINE_TEST_NODE_SRC})
193196

197+
# ---- kicker_picker_node ----
198+
target_sources(kicker_picker_node PRIVATE ${KICKER_PICKER_NODE_SRC})
199+
194200
# Set the directory so AUTOUIC know where to find .ui files
195201
set_target_properties(log_viewer PROPERTIES AUTOUIC_SEARCH_PATHS ${UI_PATH})
196202

0 commit comments

Comments
 (0)