Robot Skill Hub by Superfast Robotics

ros2_controllers joint-state broadcaster implementation

Official C++ ros2_control plugin that claims no command interfaces, reads configured DOUBLE state interfaces and publishes JointState plus optional DynamicJointState ROS messages. Interface mapping, URDF filtering and incomplete readings have explicit source-defined behavior; runtime and hardware behavior remain untested.

ros2-joint-state-broadcaster | Record version: source-f0326808b19a0c89835e068b2974c92ff77c99610735c0c97d9056ef62fa26b4

Record JSON | Markdown | Pinned upstream source

Access

Read the immutable source/header, complete license and package/CMake/plugin registration, then review the upstream parameter definitions and configured controller-manager host before integration. This source-only reference supplies no build, install or execution adapter.

For one verified inert file, use the installed CLI's inspect response fetch_source_args and append --project DIR --json. Source-file retrieval creates no environment and does not install or run the source.

Hub preparation adapter: false. Follow the upstream setup and invocation contract.

Source and license

Repository
https://github.com/ros-controls/ros2_controllers
Revision
8ce934536c6404750fb8aafc0b62b7d365049143
Path
joint_state_broadcaster/src/joint_state_broadcaster.cpp
Source SHA256
f0326808b19a0c89835e068b2974c92ff77c99610735c0c97d9056ef62fa26b4
Source bytes
15833
Original authors
ros2_control development team, Jordan Palacios, Karsten Knese
License
Apache-2.0
License scope
Selected C++ source: Copyright 2021 ros2_control development team, Apache License 2.0. Package authors Jordan Palacios and Karsten Knese are preserved separately from the reviewed header notice (Copyright 2017 Open Source Robotics Foundation, Inc.). The complete pinned root Apache 2.0 license and matching package declaration were read. Preserve applicable copyright, license, modification and notice obligations. Review covers these selected texts, not all dependencies, generated code, binaries, hardware drivers or deployment.
License SHA256
not independently verified
Hub commit
fe152d92257e3c0c770f08f16823ce6613f4d364

Artifact

{
  "kind": "code",
  "format": "cpp"
}

Requirements

{
  "python": null,
  "packages": [
    "Complete pinned joint_state_broadcaster package, generated parameter header/YAML and a C++17 toolchain",
    "ament_cmake",
    "ros2_control_cmake",
    "backward_ros",
    "builtin_interfaces",
    "control_msgs",
    "controller_interface",
    "generate_parameter_library",
    "pluginlib",
    "rclcpp_lifecycle",
    "rclcpp",
    "realtime_tools",
    "sensor_msgs",
    "urdf",
    "hardware_interface",
    "std_msgs"
  ],
  "hardware": [],
  "system": [
    "Configured ros2_control controller manager/lifecycle host and DOUBLE joint state interfaces",
    "Matching joint/interface selections, topic namespace, frame and mapping parameters; robot description for optional URDF-based filtering"
  ],
  "notes": "command_interface_configuration returns NONE; the plugin reads loaned state interfaces and publishes ROS messages. Empty joints or interfaces selects all available state interfaces; otherwise the configured cross-product is requested. Non-DOUBLE interfaces are ignored. The selected source supports custom interface mapping, optional URDF filtering/order and configured extra joints initialized to zero. update attempts get_optional(0) once per DOUBLE interface and retains prior values on failed reads; never-read values can remain NaN. JointState carries position/velocity/effort; DynamicJointState is conditional. Unprefixed or ~/ topic names depend on use_local_topics. Complete source/header/package/CMake/plugin XML were read; parameter YAML/generated header and dependency implementations were not. Parameter defaults, timing, publication success, data freshness and physical compatibility were not tested. CMake >=3.16, C++17 and package 4.43.0 are declarations, not tested environment combinations. Optional BUILD_TESTING has additional declared dependencies."
}

Invocation

{
  "entrypoint": "pluginlib joint_state_broadcaster/JointStateBroadcaster (controller_interface::ControllerInterface)",
  "notes": "joint_state_plugin.xml registers type joint_state_broadcaster::JointStateBroadcaster, base controller_interface::ControllerInterface and shared library joint_state_broadcaster. This selected source exports that same pair with PLUGINLIB_EXPORT_CLASS; CMake builds that shared library and exports the XML. A configured controller manager invokes its lifecycle and update callbacks. This is not a standalone executable or Hub adapter. Loading it can expose hardware state through joint_states and optional dynamic_joint_states ROS topics; this source requests no command interface. Fetching the reference neither loads the plugin nor executes it."
}

Explicit compatibility

[]

Missing environment fields remain unknown. Discovery labels do not establish robot compatibility.

Evidence

Level: source_reviewed; runtime verification: not_run.

Complete selected C++ source, required class header, package XML, CMake and plugin XML read as inert text. Five new anonymous pinned raw GETs, all HTTP 200; every body matches the existing complete 768-entry official Git tree by path, byte count and Git blob SHA-1, with SHA-256 preserved. Existing canonical repository/commit/tree evidence and complete root Apache 2.0 license were rechecked offline and reused without refetch. No compilation, installation, plugin load, ROS/simulator/robot execution, compatibility measurement or automatic plugin-importer validation was performed.

Source review and contributor reports do not establish task completion. Preserve upstream attribution and licenses.