ROS Nodes
These are the ROS Nodes provided by this package.
Most likely, you will use a launch file to run these. You can also run them
by using rosrun
:
rosrun rktl_autonomy <Node name>
game_manager
This node tracks the score of a match played by two teams (orange and blue) and
updates the match status (playing, paused, finished) based on certain conditions.
It subscribes to the Odometry topic of the ball to detect goals and publishes
the match status and score to the match_status topic. The ScoreKeeper node also
provides three services (reset_game
, unpause_game
, pause_game
) that enable
resetting the game, unpausing it, or pausing it, respectively.
Subscribed Topics:
ball/odom
(nav_msgs/Odometry.msg): Odometry of the ball.cars/enable
(std_msgs/Bool.msg): Status of the cars (enabled/disabled).
Published Topics:
match_status
(rktl_msgs/MatchStatus): Publishes the current match status and score.
Services :
reset_game
(std_srvs/Empty.srv): Resets the game and sets the scores to 0.unpause_game
(std_srvs/Empty.srv): Unpauses the game and enables the cars.pause_game
(std_srvs/Empty.srv): Pauses the game and disables the cars.
Parameters:
/field/length
(double
, default:1.0
): The length of the playing field./game_length
(int
, default:90
): The length of the game in seconds.manager_rate
(int
, default:10
): The rate at which the main loop is executed.