How hulks/hulk works
HULK is a RoboCup SPL robot-control system with supporting operator tools. The principal runtime starts a stack of concurrent nodes in hulk_ros_z; those nodes implement perception, state estimation, decision-making, and robot control. The tree identifies these domain stages, but most node internals and their message wiring were not sampled, so the graph shows the documented runtime dispatch rather than assuming a pipeline between siblings. ros-z is included as the repository’s communications layer; its use by individual nodes is not asserted here.
Main entry points: main.rs Runtime Stack · src/lib.rs Motor Commands · src/lib.rs Image Receiver · src/lib.rs Low State Bridge
Components 19
Robot Runtime
- Runtime Stack
crates/hulk_ros_z/src/main.rs
Perception And State
- Image Receiver
crates/nodes/image_receiver/src/lib.rs - Object Detection
crates/nodes/detection/src/lib.rs - Field Mark Association
crates/nodes/field_mark_association/src/lib.rs - Ball Filter
crates/nodes/ball_filter/src/lib.rs - 3D Localization
crates/nodes/localization-3d/src/lib.rs - Odometry
crates/nodes/odometry/src/lib.rs - World State Composer
crates/nodes/world_state_composer/src/lib.rs - Game Controller State
crates/nodes/game_controller_state_filter/src/lib.rs
Decision And Motion
- Behavior Node
crates/nodes/behavior_node/src/lib.rs - Path Planner
crates/path_planner/src/lib.rs - Head Motion
crates/nodes/head_motion/src/lib.rs - Kick Ball Selector
crates/nodes/visual_kick_ball_selector/src/lib.rs
Robot Platform
- Motor Commands
crates/nodes/motor_commands_collector/src/lib.rs - Booster SDK Interface
crates/nodes/booster_sdk_interface/src/lib.rs - Low State Bridge
crates/nodes/low_state_bridge/src/lib.rs
Communications
- ROS-Z Messaging
crates/ros-z/src/lib.rs - Message Types
crates/types/src/controller_input.rs
Other components
- Robot Sensors And Actuators
Connections 18
- Runtime Stack → Image Receiver: starts node
- Runtime Stack → Object Detection: starts node
- Runtime Stack → Field Mark Association: starts node
- Runtime Stack → Ball Filter: starts node
- Runtime Stack → 3D Localization: starts node
- Runtime Stack → Odometry: starts node
- Runtime Stack → World State Composer: starts node
- Runtime Stack → Game Controller State: starts node
- Runtime Stack → Behavior Node: starts node
- Runtime Stack → Path Planner: starts node
- Runtime Stack → Head Motion: starts node
- Runtime Stack → Kick Ball Selector: starts node
- Runtime Stack → Motor Commands: starts node
- Runtime Stack → Booster SDK Interface: starts node
- Runtime Stack → Low State Bridge: starts node
- Robot Sensors And Actuators → Image Receiver: image input
- Robot Sensors And Actuators → Low State Bridge: robot state
- Motor Commands → Robot Sensors And Actuators: motor output