README

game_controller_spl

This file is ai generated. Do not edit this file directly. Instead, edit the package files and run the update-readme command to update this file.

Description

GameController-Robot communication in RoboCup SPL

This package provides ROS 2 nodes for communicating with the RoboCup Standard Platform League (SPL) GameController. It handles bidirectional UDP communication, receiving game state data from the GameController and sending robot status information back. The package supports multiple versions of the RoboCup Game Control Data (RCGCD) protocol.

Nodes

game_controller_spl

A ROS 2 node that runs on the robot to communicate with the SPL GameController. This node handles bidirectional communication using UDP sockets, receiving game state data from the GameController and sending robot status information back.

Publishers:

  • gc/data (game_controller_spl_interfaces/msg/RCGCD{14,15,16}) - Publishes game controller data received via UDP (message type depends on rcgcd_version parameter)

Subscribers:

  • gc/return_data (game_controller_spl_interfaces/msg/RCGCRD4) - Receives robot status data to send back to GameController

Parameters:

  • return_port (int, default: 3939) - Port for returning data to GameController

  • rcgcd_version (int, required) - RoboCup Game Control Data version (14, 15, or 16)

  • rcgcrd_version (int, required) - RoboCup Game Control Return Data version (currently only 4 is supported)

Example Usage:

# Run with RCGCD version 16 and RCGCRD version 4
ros2 run game_controller_spl game_controller_spl --ros-args -p rcgcd_version:=16 -p rcgcrd_version:=4

# Run with custom return port
ros2 run game_controller_spl game_controller_spl --ros-args -p rcgcd_version:=15 -p rcgcrd_version:=4 -p return_port:=3940

Maintainer

License

Apache License 2.0

Documentation

See doc/Nodes/game_controller_spl.md for detailed node documentation.