ros2 runtime_error ai_generated true

[controller_manager] joint_state_broadcaster is not configured

ID: ros2/joint-state-broadcaster-not-configured

Also available as: JSON · Markdown
88%Fix Rate
88%Confidence
3Evidence
2023-01-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
2 active

Root Cause

ros2_control joint_state_broadcaster not loaded or configured. Robot state is not published to /joint_states.

generic

Workarounds

  1. 92% success Configure joint_state_broadcaster in ros2_control YAML parameters
    controller_manager:\n  ros__parameters:\n    joint_state_broadcaster:\n      type: joint_state_broadcaster/JointStateBroadcaster
  2. 90% success Load and activate via launch file with spawner node
    Node(package='controller_manager', executable='spawner', arguments=['joint_state_broadcaster'])
  3. 85% success Verify hardware interface exports the correct joint names
    ros2 control list_hardware_interfaces

Dead Ends

Common approaches that don't work:

  1. Publish joint states manually from your own node 85% fail

    Bypasses ros2_control safety and timing guarantees; joint states may be inconsistent with actual hardware

  2. Load the broadcaster before controller_manager is ready 78% fail

    Controller manager must be fully initialized before loading controllers; race condition

Error Chain

Leads to: