robot_state_publisher package from robot_state_publisher repo

robot_state_publisher

Package Summary

Tags No category tags.
Version 3.0.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Allows you to publish the state of a robot (i.e the position of its base and all joints) via the "tf" transform library
Checkout URI https://github.com/ros/robot_state_publisher.git
VCS Type git
VCS Version humble
Last Updated 2024-01-24
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package take the joint angles of a robot as input, and publishes the 3D poses of the robot links to tf2, using a kinematic tree model of the robot.

Additional Links

No additional links.

Maintainers

  • Chris Lalancette
  • Shane Loretz

Authors

  • Karsten Knese

Robot State Publisher

This package contains the Robot State Publisher, a node and a class to publish the state of a robot to tf2. At startup time, Robot State Publisher is supplied with a kinematic tree model (URDF) of the robot. It then subscribes to the joint_states topic (of type sensor_msgs/msg/JointState) to get individual joint states. These joint states are used to update the kinematic tree model, and the resulting 3D poses are then published to tf2.

Robot State Publisher deals with two different “classes” of joint types: fixed and movable. Fixed joints (with the type “fixed”) are published to the transient_local /tf_static topic once on startup (transient_local topics keep a history of what they published, so a later subscription can always get the latest state of the world). Movable joints are published to the regular /tf topic any time the appropriate joint is updated in the joint_states message.

Examples showing how to pass the robot_description parameter using a launch file are available in the ‘launch’ subdirectory.

Published Topics

  • robot_description (std_msgs/msg/String) - The description of the robot URDF as a string. Republishes the value set in the robot_description parameter, which is useful for getting informed of dynamic changes to the URDF. Published using the “transient local” quality of service, so subscribers should also be “transient local”.
  • tf (tf2_msgs/msg/TFMessage) - The transforms corresponding to the movable joints of the robot.
  • tf_static (tf2_msgs/msg/TFMessage) - The transforms corresponding to the static joints of the robot.

Subscribed Topics

  • joint_states (sensor_msgs/msg/JointState) - The joint state updates to the robot poses. The RobotStatePublisher class takes these updates, does transformations (such as mimic joints), and then publishes the results on the tf2 topics.

Parameters

  • robot_description (string) - The original description of the robot in URDF form. This must be set at robot_state_publisher startup time, or the node will fail to start. Updates to this parameter will be reflected in the robot_description topic.
  • publish_frequency (double) - The maximum frequency at which non-static transforms (e.g. joint states) will be published to /tf. Defaults to 20.0 Hz.
  • ignore_timestamp (bool) - Whether to accept all joint states no matter what the timestamp (true), or to only publish joint state updates if they are newer than the last publish_frequency (false). Defaults to false.
  • frame_prefix (string) - An arbitrary prefix to add to the published tf2 frames. Defaults to the empty string.
CHANGELOG

Changelog for package robot_state_publisher

3.0.3 (2024-01-24)

  • Fix reload after a description with a mimic joint (#212) (#214)
  • Contributors: mergify[bot]

3.0.2 (2022-04-05)

  • Depend on orocos_kdl_vendor (#191)
  • Contributors: Jacob Perron

3.0.1 (2022-03-28)

  • export dependencies, to use robot_state_publisher as a component (#193)
  • Contributors: Kenji Brameld

3.0.0 (2022-01-14)

  • Fix include order for cpplint (#186)
  • Change how parameter updates are handled (#180)
  • Install includes to instal/${PROJECT_NAME} (#184)
  • Make the change_fixed_joint test more robust (#183)
  • Add in a test to make sure fixed transforms change on update
  • Small C++ nice-isms in the tests
  • Switch to using target_include_directories for tests
  • Publish new fixed transforms when URDF is updated
  • Make joint_states subscription QoS configurable; default to SensorDataQoS (#179)
  • Remove dependency on urdfdom_headers (#168)
  • Contributors: Anthony Deschamps, Chris Lalancette, Jacob Perron, Russell Joyce, Shane Loretz

2.7.0 (2021-10-18)

  • Fix deprecated subscriber callbacks (#173)
  • Contributors: Abrar Rahman Protyasha

2.6.0 (2021-08-02)

  • Cleanup the documentation in the RobotStatePublisher class. (#172)
  • Always publish fixed frames to /tf_static (#158)
  • corrected publish_frequency default in README (#166)
  • Contributors: Chris Lalancette, Jacob Perron, Nils Schulte

2.5.0 (2021-06-11)

  • Add tf frame_prefix parameter (#159)
  • Contributors: Steve Nogar, Chris Lalancette

2.4.3 (2021-04-19)

  • Stop rejecting unknown parameters. (#161)
  • Contributors: Chris Lalancette

2.4.2 (2021-01-25)

  • clean up license to be standard bsd 3 clause (#130)
  • Update the maintainers. (#151)
  • Contributors: Chris Lalancette, Tully Foote

2.4.1 (2020-09-28)

  • fix types in range loops to avoid copy due to different type (#143)
  • Make sure not to crash on an invalid URDF. (#141)
  • Contributors: Chris Lalancette, Dirk Thomas

2.4.0 (2020-04-30)

  • Replace deprecated launch_ros usage (#137)
  • code style only: wrap after open parenthesis if not in one line (#129)
  • Refactor the ROS 2 code to be more modern (#126)
  • Switch to using TARGET_FILE to find the binary targets on Windows.
  • Fix tests on Windows.
  • Make the error message much nicer on Windows.
  • robot_state_publisher_node -> robot_state_publisher
  • Fix test build on Windows.
  • Get rid of redundant declaration.
  • Guard against negative publish_frequencies.
  • Switch to modern launch_testing ReadyToTest.
  • Add testing to robot_state_publisher.
  • Update some example launch files.
  • Implement the ability to change the parameters on the fly.
  • Fix silly bug while computing the publish interval.
  • Refactor to have a "setup" function during the constructor and later on during the parameter setup.
  • Mark things as explicit and final.
  • Update the documentation.
  • Make robot_state_publisher composable.
  • Contributors: Chris Lalancette, Dirk Thomas, Jacob Perron

2.3.1 (2019-10-23)

  • Switch the license back to BSD. (#121)
  • Contributors: Chris Lalancette

2.3.0 (2019-09-26)

  • Install include directories (#31)
  • Publish URDF string on startup (#24)
  • Contributors: Patrick Beeson, Poh Zhi-Ee, Shane Loretz

2.2.4 (2019-09-06)

  • Remove unused Eigen3 dependency (#27) (#29)
  • Don't export exe as library (#25) (ros2 #28)
  • Contributors: Shane Loretz

2.2.3 (2019-06-12)

  • Use rclcpp::Time for stamping transforms (#20)
  • Contributors: Scott K Logan

2.2.2 (2019-05-08)

  • changes to avoid deprecated API's (#19)
  • Contributors: William Woodall

2.2.1 (2019-04-26)

  • Updated to avoid deprecated API. (#18)
  • Contributors: William Woodall

2.2.0 (2019-04-14)

  • Set urdf content as parameter. (#15)
  • Contributors: Karsten Knese

2.1.0 (2018-06-27)

  • The robot model is now published on the robot_description topic as a std_msgs/String.msg. (#9)
  • Contributors: Brett, Mikael Arguedas

1.13.4 (2017-01-05)

  • Use urdf::*ShredPtr instead of boost::shared_ptr (#60)
  • Error log for empty JointState.position was downgraded to a throttled warning (#64)
  • Contributors: Jochen Sprickerhof, Sébastien BARTHÉLÉMY

1.13.3 (2016-10-20)

  • Added a new parameter "ignore_timestamp" (#65)
  • Fixed joints are not published over tf_static by default (#56)
  • Fixed segfault on undefined robot_description (#61)
  • Fixed cmake eigen3 warning (#62)
  • Contributors: Davide Faconti, Ioan A Sucan, Johannes Meyer, Robert Haschke

1.13.2 (2016-06-10)

  • Add target_link_libraries for joint_state_listener library + install it (#54)
  • Contributors: Kartik Mohta

1.13.1 (2016-05-20)

  • Add back future dating for robot_state_publisher (#49) (#51)
  • Fix subclassing test (#48)
  • Support for subclassing (#45)
    • Add joint_state_listener as a library
  • Contributors: Jackie Kay

1.13.0 (2016-04-12)

  • fix bad rebase
  • Contributors: Jackie Kay, Paul Bovbel

1.12.1 (2016-02-22)

  • Merge pull request #42 from ros/fix_tests_jade Fix tests for Jade
  • Correct failing tests
  • Re-enabling rostests
  • Merge pull request #39 from scpeters/issue_38
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.12.0 (2015-10-21)

  • Merge pull request #37 from clearpathrobotics/static-default Publish fixed joints over tf_static by default
  • Merge pull request #34 from ros/tf2-static-jade Port to tf2 and enable using static broadcaster
  • Merge pull request #32 from shadow-robot/fix_issue#19 Check URDF to distinguish fixed joints from floating joints. Floating joint are ignored by the publisher.
  • Merge pull request #26 from xqms/remove-debug get rid of argv[0] debug output on startup
  • Contributors: David Lu!!, Ioan A Sucan, Jackie Kay, Max Schwarz, Paul Bovbel, Toni Oliver

1.11.1 (2016-02-22)

  • Merge pull request #41 from ros/fix_tests_indigo Re-enable and clean up rostests
  • Correct failing tests
  • Re-enabling rostests
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.11.0 (2015-10-21)

  • Merge pull request #28 from clearpathrobotics/tf2-static

1.10.4 (2014-11-30)

  • Merge pull request #21 from rcodddow/patch-1
  • Fix for joint transforms not being published anymore after a clock reset (e.g. when playing a bagfile and looping)
  • Contributors: Ioan A Sucan, Robert Codd-Downey, Timm Linder

1.10.3 (2014-07-24)

  • add version depend on orocos_kdl >= 1.3.0 Conflicts: package.xml
  • Update KDL SegmentMap interface to optionally use shared pointers The KDL Tree API optionally uses shared pointers on platforms where the STL containers don't support incomplete types.
  • Contributors: Brian Jensen, William Woodall

1.10.0 (2014-03-03)

  • minor style fixes
  • Add support for mimic tag.
  • Contributors: Ioan Sucan, Konrad Banachowicz

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
cartographer_ros
create_description
depthai_bridge
depthai_descriptions
depthai_examples
human_description
leo_description
leo_bringup
leo_gz_bringup
mir_description
mir_driver
mir_gazebo
moveit_resources_prbt_moveit_config
moveit_hybrid_planning
moveit_servo
moveit_ros_trajectory_cache
dual_arm_panda_moveit_config
moveit_resources_fanuc_moveit_config
moveit_resources
moveit_resources_panda_moveit_config
naoqi_driver
open_manipulator_x_bringup
open_manipulator_x_description
open_manipulator_x_description
open_manipulator_x_moveit_config
qb_device_bringup
raspimouse_description
raspimouse_gazebo
turtlebot3_bringup
turtlebot3_fake_node
ur_bringup
ur_robot_driver
urdf_sim_tutorial
sm_panda_moveit2z_cb_inventory
dummy_robot_bringup
pantilt_bot_description
flir_camera_description
gazebo_ros2_control_demos
gz_ros2_control_demos
nav2_system_tests
controller_manager
kortex_description
kinova_gen3_6dof_robotiq_2f_85_moveit_config
kinova_gen3_7dof_robotiq_2f_85_moveit_config
kinova_gen3_lite_moveit_config
robotiq_description
ros_gz_sim_demos
sick_safetyscanners2
topic_based_ros2_control
ur_description
urdf_launch
ros_base
webots_ros2_epuck
webots_ros2_husarion
webots_ros2_tiago
webots_ros2_turtlebot
webots_ros2_universal_robot
irobot_create_common_bringup
turtlebot4_description
bcr_bot
gazebo_set_joint_positions_plugin
qb_softhand_industry_ros2_control
reach_ros
husarion_ugv_controller
husarion_ugv_description
husarion_ugv_gazebo
canopen_tests
synapticon_ros2_control
turtlebot3_manipulation_bringup
turtlebot3_manipulation_description
turtlebot3_manipulation_moveit_config
clearpath_control
clearpath_manipulators_description
clearpath_platform_description
crane_plus_description
crane_plus_gazebo
crane_plus_moveit_config
raspimouse_slam
as2_visualization
andino_description
andino_gz_classic
franka_bringup
franka_fr3_moveit_config
gazebo_planar_move_plugin
kobuki_description
kuka_agilus_support
kuka_cybertech_support
kuka_fortec_support
kuka_iontec_support
kuka_kr_moveit_config
kuka_lbr_iisy_moveit_config
kuka_lbr_iisy_support
kuka_lbr_iiwa_moveit_config
kuka_lbr_iiwa_support
kuka_quantec_support
omni_base_bringup
openarm_bimanual_moveit_config
pal_gripper_simulation
play_motion2
pmb2_bringup
tiago_description

Launch files

  • launch/rsp-launch-urdf-inline.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-xacro-command-subst.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-urdf-file.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robot_state_publisher at Robotics Stack Exchange

robot_state_publisher package from robot_state_publisher repo

robot_state_publisher

Package Summary

Tags No category tags.
Version 3.3.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Allows you to publish the state of a robot (i.e the position of its base and all joints) via the "tf" transform library
Checkout URI https://github.com/ros/robot_state_publisher.git
VCS Type git
VCS Version jazzy
Last Updated 2025-02-18
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package take the joint angles of a robot as input, and publishes the 3D poses of the robot links to tf2, using a kinematic tree model of the robot.

Additional Links

No additional links.

Maintainers

  • Chris Lalancette

Authors

  • Karsten Knese
  • Shane Loretz

Robot State Publisher

This package contains the Robot State Publisher, a node and a class to publish the state of a robot to tf2. At startup time, Robot State Publisher is supplied with a kinematic tree model (URDF) of the robot. It then subscribes to the joint_states topic (of type sensor_msgs/msg/JointState) to get individual joint states. These joint states are used to update the kinematic tree model, and the resulting 3D poses are then published to tf2.

Robot State Publisher deals with two different “classes” of joint types: fixed and movable. Fixed joints (with the type “fixed”) are published to the transient_local /tf_static topic once on startup (transient_local topics keep a history of what they published, so a later subscription can always get the latest state of the world). Movable joints are published to the regular /tf topic any time the appropriate joint is updated in the joint_states message.

Examples showing how to pass the robot_description parameter using a launch file are available in the ‘launch’ subdirectory.

Published Topics

  • robot_description (std_msgs/msg/String) - The description of the robot URDF as a string. Republishes the value set in the robot_description parameter, which is useful for getting informed of dynamic changes to the URDF. Published using the “transient local” quality of service, so subscribers should also be “transient local”.
  • tf (tf2_msgs/msg/TFMessage) - The transforms corresponding to the movable joints of the robot.
  • tf_static (tf2_msgs/msg/TFMessage) - The transforms corresponding to the static joints of the robot.

Subscribed Topics

  • joint_states (sensor_msgs/msg/JointState) - The joint state updates to the robot poses. The RobotStatePublisher class takes these updates, does transformations (such as mimic joints), and then publishes the results on the tf2 topics.

Parameters

  • robot_description (string) - The original description of the robot in URDF form. This must be set at robot_state_publisher startup time, or the node will fail to start. Updates to this parameter will be reflected in the robot_description topic.
  • publish_frequency (double) - The maximum frequency at which non-static transforms (e.g. joint states) will be published to /tf. Defaults to 20.0 Hz.
  • ignore_timestamp (bool) - Whether to accept all joint states no matter what the timestamp (true), or to only publish joint state updates if they are newer than the last publish_frequency (false). Defaults to false.
  • frame_prefix (string) - An arbitrary prefix to add to the published tf2 frames. Defaults to the empty string.
CHANGELOG

Changelog for package robot_state_publisher

3.3.3 (2024-01-24)

  • Fix reload after a description with a mimic joint (#212)
  • Contributors: Guillaume Doisy

3.3.2 (2023-11-06)

  • Remove ament_target_dependencies. (#209)
  • Contributors: Chris Lalancette

3.3.1 (2023-06-07)

  • Improve log messages (#206)
  • Contributors: Nick Lamprianidis

3.3.0 (2023-04-28)

3.2.0 (2023-04-11)

  • Update robot_state_publisher to C++17. (#204)
  • Contributors: Chris Lalancette

3.1.2 (2023-02-13)

  • [rolling] Update maintainers - 2022-11-07 (#203)
  • Contributors: Audrow Nash

3.1.1 (2022-09-13)

  • Mirror rolling to ros2
  • Contributors: Audrow Nash

3.1.0 (2022-05-10)

3.0.2 (2022-04-05)

  • Depend on orocos_kdl_vendor (#191)
  • Contributors: Jacob Perron

3.0.1 (2022-03-28)

  • export dependencies, to use robot_state_publisher as a component (#193)
  • Contributors: Kenji Brameld

3.0.0 (2022-01-14)

  • Fix include order for cpplint (#186)
  • Change how parameter updates are handled (#180)
  • Install includes to instal/${PROJECT_NAME} (#184)
  • Make the change_fixed_joint test more robust (#183)
  • Add in a test to make sure fixed transforms change on update
  • Small C++ nice-isms in the tests
  • Switch to using target_include_directories for tests
  • Publish new fixed transforms when URDF is updated
  • Make joint_states subscription QoS configurable; default to SensorDataQoS (#179)
  • Remove dependency on urdfdom_headers (#168)
  • Contributors: Anthony Deschamps, Chris Lalancette, Jacob Perron, Russell Joyce, Shane Loretz

2.7.0 (2021-10-18)

  • Fix deprecated subscriber callbacks (#173)
  • Contributors: Abrar Rahman Protyasha

2.6.0 (2021-08-02)

  • Cleanup the documentation in the RobotStatePublisher class. (#172)
  • Always publish fixed frames to /tf_static (#158)
  • corrected publish_frequency default in README (#166)
  • Contributors: Chris Lalancette, Jacob Perron, Nils Schulte

2.5.0 (2021-06-11)

  • Add tf frame_prefix parameter (#159)
  • Contributors: Steve Nogar, Chris Lalancette

2.4.3 (2021-04-19)

  • Stop rejecting unknown parameters. (#161)
  • Contributors: Chris Lalancette

2.4.2 (2021-01-25)

  • clean up license to be standard bsd 3 clause (#130)
  • Update the maintainers. (#151)
  • Contributors: Chris Lalancette, Tully Foote

2.4.1 (2020-09-28)

  • fix types in range loops to avoid copy due to different type (#143)
  • Make sure not to crash on an invalid URDF. (#141)
  • Contributors: Chris Lalancette, Dirk Thomas

2.4.0 (2020-04-30)

  • Replace deprecated launch_ros usage (#137)
  • code style only: wrap after open parenthesis if not in one line (#129)
  • Refactor the ROS 2 code to be more modern (#126)
  • Switch to using TARGET_FILE to find the binary targets on Windows.
  • Fix tests on Windows.
  • Make the error message much nicer on Windows.
  • robot_state_publisher_node -> robot_state_publisher
  • Fix test build on Windows.
  • Get rid of redundant declaration.
  • Guard against negative publish_frequencies.
  • Switch to modern launch_testing ReadyToTest.
  • Add testing to robot_state_publisher.
  • Update some example launch files.
  • Implement the ability to change the parameters on the fly.
  • Fix silly bug while computing the publish interval.
  • Refactor to have a "setup" function during the constructor and later on during the parameter setup.
  • Mark things as explicit and final.
  • Update the documentation.
  • Make robot_state_publisher composable.
  • Contributors: Chris Lalancette, Dirk Thomas, Jacob Perron

2.3.1 (2019-10-23)

  • Switch the license back to BSD. (#121)
  • Contributors: Chris Lalancette

2.3.0 (2019-09-26)

  • Install include directories (#31)
  • Publish URDF string on startup (#24)
  • Contributors: Patrick Beeson, Poh Zhi-Ee, Shane Loretz

2.2.4 (2019-09-06)

  • Remove unused Eigen3 dependency (#27) (#29)
  • Don't export exe as library (#25) (ros2 #28)
  • Contributors: Shane Loretz

2.2.3 (2019-06-12)

  • Use rclcpp::Time for stamping transforms (#20)
  • Contributors: Scott K Logan

2.2.2 (2019-05-08)

  • changes to avoid deprecated API's (#19)
  • Contributors: William Woodall

2.2.1 (2019-04-26)

  • Updated to avoid deprecated API. (#18)
  • Contributors: William Woodall

2.2.0 (2019-04-14)

  • Set urdf content as parameter. (#15)
  • Contributors: Karsten Knese

2.1.0 (2018-06-27)

  • The robot model is now published on the robot_description topic as a std_msgs/String.msg. (#9)
  • Contributors: Brett, Mikael Arguedas

1.13.4 (2017-01-05)

  • Use urdf::*ShredPtr instead of boost::shared_ptr (#60)
  • Error log for empty JointState.position was downgraded to a throttled warning (#64)
  • Contributors: Jochen Sprickerhof, Sébastien BARTHÉLÉMY

1.13.3 (2016-10-20)

  • Added a new parameter "ignore_timestamp" (#65)
  • Fixed joints are not published over tf_static by default (#56)
  • Fixed segfault on undefined robot_description (#61)
  • Fixed cmake eigen3 warning (#62)
  • Contributors: Davide Faconti, Ioan A Sucan, Johannes Meyer, Robert Haschke

1.13.2 (2016-06-10)

  • Add target_link_libraries for joint_state_listener library + install it (#54)
  • Contributors: Kartik Mohta

1.13.1 (2016-05-20)

  • Add back future dating for robot_state_publisher (#49) (#51)
  • Fix subclassing test (#48)
  • Support for subclassing (#45)
    • Add joint_state_listener as a library
  • Contributors: Jackie Kay

1.13.0 (2016-04-12)

  • fix bad rebase
  • Contributors: Jackie Kay, Paul Bovbel

1.12.1 (2016-02-22)

  • Merge pull request #42 from ros/fix_tests_jade Fix tests for Jade
  • Correct failing tests
  • Re-enabling rostests
  • Merge pull request #39 from scpeters/issue_38
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.12.0 (2015-10-21)

  • Merge pull request #37 from clearpathrobotics/static-default Publish fixed joints over tf_static by default
  • Merge pull request #34 from ros/tf2-static-jade Port to tf2 and enable using static broadcaster
  • Merge pull request #32 from shadow-robot/fix_issue#19 Check URDF to distinguish fixed joints from floating joints. Floating joint are ignored by the publisher.
  • Merge pull request #26 from xqms/remove-debug get rid of argv[0] debug output on startup
  • Contributors: David Lu!!, Ioan A Sucan, Jackie Kay, Max Schwarz, Paul Bovbel, Toni Oliver

1.11.1 (2016-02-22)

  • Merge pull request #41 from ros/fix_tests_indigo Re-enable and clean up rostests
  • Correct failing tests
  • Re-enabling rostests
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.11.0 (2015-10-21)

  • Merge pull request #28 from clearpathrobotics/tf2-static

1.10.4 (2014-11-30)

  • Merge pull request #21 from rcodddow/patch-1
  • Fix for joint transforms not being published anymore after a clock reset (e.g. when playing a bagfile and looping)
  • Contributors: Ioan A Sucan, Robert Codd-Downey, Timm Linder

1.10.3 (2014-07-24)

  • add version depend on orocos_kdl >= 1.3.0 Conflicts: package.xml
  • Update KDL SegmentMap interface to optionally use shared pointers The KDL Tree API optionally uses shared pointers on platforms where the STL containers don't support incomplete types.
  • Contributors: Brian Jensen, William Woodall

1.10.0 (2014-03-03)

  • minor style fixes
  • Add support for mimic tag.
  • Contributors: Ioan Sucan, Konrad Banachowicz

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
cartographer_ros
depthai_bridge
depthai_descriptions
depthai_examples
leo_description
leo_bringup
leo_gz_bringup
mir_description
mir_driver
mir_gazebo
moveit_resources_prbt_moveit_config
moveit_hybrid_planning
moveit_servo
moveit_ros_trajectory_cache
dual_arm_panda_moveit_config
moveit_resources_fanuc_moveit_config
moveit_resources
moveit_resources_panda_moveit_config
open_manipulator_bringup
open_manipulator_description
open_manipulator_moveit_config
raspimouse_description
raspimouse_gazebo
turtlebot3_bringup
turtlebot3_fake_node
ur_robot_driver
sm_aws_warehouse_navigation
sm_dance_bot
sm_dance_bot_strikes_back
sm_dance_bot_warehouse
sm_dance_bot_warehouse_2
sm_dance_bot_warehouse_3
dummy_robot_bringup
flir_camera_description
gz_ros2_control_demos
nav2_system_tests
controller_manager
kortex_description
kinova_gen3_6dof_robotiq_2f_85_moveit_config
kinova_gen3_7dof_robotiq_2f_85_moveit_config
kinova_gen3_lite_moveit_config
robotiq_description
ros_gz_sim_demos
sick_safetyscanners2
topic_based_ros2_control
ur_description
urdf_launch
ros_base
webots_ros2_epuck
webots_ros2_husarion
webots_ros2_tiago
webots_ros2_turtlebot
webots_ros2_universal_robot
irobot_create_common_bringup
turtlebot4_description
reach_ros
husarion_ugv_controller
husarion_ugv_description
husarion_ugv_gazebo
ffw_moveit_config
nav2_minimal_tb3_sim
nav2_minimal_tb4_description
nav2_minimal_tb4_sim
canopen_tests
synapticon_ros2_control
turtlebot3_manipulation_bringup
turtlebot3_manipulation_description
turtlebot3_manipulation_moveit_config
annin_ar4_driver
annin_ar4_gazebo
clearpath_control
clearpath_manipulators_description
clearpath_platform_description
crane_plus_description
crane_plus_gazebo
crane_plus_moveit_config
raspimouse_slam

Launch files

  • launch/rsp-launch-urdf-inline.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-xacro-command-subst.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-urdf-file.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robot_state_publisher at Robotics Stack Exchange

robot_state_publisher package from robot_state_publisher repo

robot_state_publisher

Package Summary

Tags No category tags.
Version 3.4.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Allows you to publish the state of a robot (i.e the position of its base and all joints) via the "tf" transform library
Checkout URI https://github.com/ros/robot_state_publisher.git
VCS Type git
VCS Version kilted
Last Updated 2024-12-20
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package take the joint angles of a robot as input, and publishes the 3D poses of the robot links to tf2, using a kinematic tree model of the robot.

Additional Links

No additional links.

Maintainers

  • Chris Lalancette

Authors

  • Karsten Knese
  • Shane Loretz

Robot State Publisher

This package contains the Robot State Publisher, a node and a class to publish the state of a robot to tf2. At startup time, Robot State Publisher is supplied with a kinematic tree model (URDF) of the robot. It then subscribes to the joint_states topic (of type sensor_msgs/msg/JointState) to get individual joint states. These joint states are used to update the kinematic tree model, and the resulting 3D poses are then published to tf2.

Robot State Publisher deals with two different “classes” of joint types: fixed and movable. Fixed joints (with the type “fixed”) are published to the transient_local /tf_static topic once on startup (transient_local topics keep a history of what they published, so a later subscription can always get the latest state of the world). Movable joints are published to the regular /tf topic any time the appropriate joint is updated in the joint_states message.

Examples showing how to pass the robot_description parameter using a launch file are available in the ‘launch’ subdirectory.

Published Topics

  • robot_description (std_msgs/msg/String) - The description of the robot URDF as a string. Republishes the value set in the robot_description parameter, which is useful for getting informed of dynamic changes to the URDF. Published using the “transient local” quality of service, so subscribers should also be “transient local”.
  • tf (tf2_msgs/msg/TFMessage) - The transforms corresponding to the movable joints of the robot.
  • tf_static (tf2_msgs/msg/TFMessage) - The transforms corresponding to the static joints of the robot.

Subscribed Topics

  • joint_states (sensor_msgs/msg/JointState) - The joint state updates to the robot poses. The RobotStatePublisher class takes these updates, does transformations (such as mimic joints), and then publishes the results on the tf2 topics.

Parameters

  • robot_description (string) - The original description of the robot in URDF form. This must be set at robot_state_publisher startup time, or the node will fail to start. Updates to this parameter will be reflected in the robot_description topic.
  • publish_frequency (double) - The maximum frequency at which non-static transforms (e.g. joint states) will be published to /tf. Defaults to 20.0 Hz.
  • ignore_timestamp (bool) - Whether to accept all joint states no matter what the timestamp (true), or to only publish joint state updates if they are newer than the last publish_frequency (false). Defaults to false.
  • frame_prefix (string) - An arbitrary prefix to add to the published tf2 frames. Defaults to the empty string.
CHANGELOG

Changelog for package robot_state_publisher

3.4.2 (2024-12-20)

  • Use [emplace()]{.title-ref} with [std::map`s (]{.title-ref}#231 <<https://github.com/ros/robot_state_publisher/issues/231>>`_)
  • Remove CODEOWNERS and mirror-rolling-to-main workflow (#229)
  • Contributors: Alejandro Hernández Cordero, Patrick Roncagliolo

3.4.1 (2024-08-28)

  • update urdf model header (#223)
  • Contributors: Alejandro Hernández Cordero

3.4.0 (2024-04-26)

3.3.3 (2024-01-24)

  • Fix reload after a description with a mimic joint (#212)
  • Contributors: Guillaume Doisy

3.3.2 (2023-11-06)

  • Remove ament_target_dependencies. (#209)
  • Contributors: Chris Lalancette

3.3.1 (2023-06-07)

  • Improve log messages (#206)
  • Contributors: Nick Lamprianidis

3.3.0 (2023-04-28)

3.2.0 (2023-04-11)

  • Update robot_state_publisher to C++17. (#204)
  • Contributors: Chris Lalancette

3.1.2 (2023-02-13)

  • [rolling] Update maintainers - 2022-11-07 (#203)
  • Contributors: Audrow Nash

3.1.1 (2022-09-13)

  • Mirror rolling to ros2
  • Contributors: Audrow Nash

3.1.0 (2022-05-10)

3.0.2 (2022-04-05)

  • Depend on orocos_kdl_vendor (#191)
  • Contributors: Jacob Perron

3.0.1 (2022-03-28)

  • export dependencies, to use robot_state_publisher as a component (#193)
  • Contributors: Kenji Brameld

3.0.0 (2022-01-14)

  • Fix include order for cpplint (#186)
  • Change how parameter updates are handled (#180)
  • Install includes to instal/${PROJECT_NAME} (#184)
  • Make the change_fixed_joint test more robust (#183)
  • Add in a test to make sure fixed transforms change on update
  • Small C++ nice-isms in the tests
  • Switch to using target_include_directories for tests
  • Publish new fixed transforms when URDF is updated
  • Make joint_states subscription QoS configurable; default to SensorDataQoS (#179)
  • Remove dependency on urdfdom_headers (#168)
  • Contributors: Anthony Deschamps, Chris Lalancette, Jacob Perron, Russell Joyce, Shane Loretz

2.7.0 (2021-10-18)

  • Fix deprecated subscriber callbacks (#173)
  • Contributors: Abrar Rahman Protyasha

2.6.0 (2021-08-02)

  • Cleanup the documentation in the RobotStatePublisher class. (#172)
  • Always publish fixed frames to /tf_static (#158)
  • corrected publish_frequency default in README (#166)
  • Contributors: Chris Lalancette, Jacob Perron, Nils Schulte

2.5.0 (2021-06-11)

  • Add tf frame_prefix parameter (#159)
  • Contributors: Steve Nogar, Chris Lalancette

2.4.3 (2021-04-19)

  • Stop rejecting unknown parameters. (#161)
  • Contributors: Chris Lalancette

2.4.2 (2021-01-25)

  • clean up license to be standard bsd 3 clause (#130)
  • Update the maintainers. (#151)
  • Contributors: Chris Lalancette, Tully Foote

2.4.1 (2020-09-28)

  • fix types in range loops to avoid copy due to different type (#143)
  • Make sure not to crash on an invalid URDF. (#141)
  • Contributors: Chris Lalancette, Dirk Thomas

2.4.0 (2020-04-30)

  • Replace deprecated launch_ros usage (#137)
  • code style only: wrap after open parenthesis if not in one line (#129)
  • Refactor the ROS 2 code to be more modern (#126)
  • Switch to using TARGET_FILE to find the binary targets on Windows.
  • Fix tests on Windows.
  • Make the error message much nicer on Windows.
  • robot_state_publisher_node -> robot_state_publisher
  • Fix test build on Windows.
  • Get rid of redundant declaration.
  • Guard against negative publish_frequencies.
  • Switch to modern launch_testing ReadyToTest.
  • Add testing to robot_state_publisher.
  • Update some example launch files.
  • Implement the ability to change the parameters on the fly.
  • Fix silly bug while computing the publish interval.
  • Refactor to have a "setup" function during the constructor and later on during the parameter setup.
  • Mark things as explicit and final.
  • Update the documentation.
  • Make robot_state_publisher composable.
  • Contributors: Chris Lalancette, Dirk Thomas, Jacob Perron

2.3.1 (2019-10-23)

  • Switch the license back to BSD. (#121)
  • Contributors: Chris Lalancette

2.3.0 (2019-09-26)

  • Install include directories (#31)
  • Publish URDF string on startup (#24)
  • Contributors: Patrick Beeson, Poh Zhi-Ee, Shane Loretz

2.2.4 (2019-09-06)

  • Remove unused Eigen3 dependency (#27) (#29)
  • Don't export exe as library (#25) (ros2 #28)
  • Contributors: Shane Loretz

2.2.3 (2019-06-12)

  • Use rclcpp::Time for stamping transforms (#20)
  • Contributors: Scott K Logan

2.2.2 (2019-05-08)

  • changes to avoid deprecated API's (#19)
  • Contributors: William Woodall

2.2.1 (2019-04-26)

  • Updated to avoid deprecated API. (#18)
  • Contributors: William Woodall

2.2.0 (2019-04-14)

  • Set urdf content as parameter. (#15)
  • Contributors: Karsten Knese

2.1.0 (2018-06-27)

  • The robot model is now published on the robot_description topic as a std_msgs/String.msg. (#9)
  • Contributors: Brett, Mikael Arguedas

1.13.4 (2017-01-05)

  • Use urdf::*ShredPtr instead of boost::shared_ptr (#60)
  • Error log for empty JointState.position was downgraded to a throttled warning (#64)
  • Contributors: Jochen Sprickerhof, Sébastien BARTHÉLÉMY

1.13.3 (2016-10-20)

  • Added a new parameter "ignore_timestamp" (#65)
  • Fixed joints are not published over tf_static by default (#56)
  • Fixed segfault on undefined robot_description (#61)
  • Fixed cmake eigen3 warning (#62)
  • Contributors: Davide Faconti, Ioan A Sucan, Johannes Meyer, Robert Haschke

1.13.2 (2016-06-10)

  • Add target_link_libraries for joint_state_listener library + install it (#54)
  • Contributors: Kartik Mohta

1.13.1 (2016-05-20)

  • Add back future dating for robot_state_publisher (#49) (#51)
  • Fix subclassing test (#48)
  • Support for subclassing (#45)
    • Add joint_state_listener as a library
  • Contributors: Jackie Kay

1.13.0 (2016-04-12)

  • fix bad rebase
  • Contributors: Jackie Kay, Paul Bovbel

1.12.1 (2016-02-22)

  • Merge pull request #42 from ros/fix_tests_jade Fix tests for Jade
  • Correct failing tests
  • Re-enabling rostests
  • Merge pull request #39 from scpeters/issue_38
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.12.0 (2015-10-21)

  • Merge pull request #37 from clearpathrobotics/static-default Publish fixed joints over tf_static by default
  • Merge pull request #34 from ros/tf2-static-jade Port to tf2 and enable using static broadcaster
  • Merge pull request #32 from shadow-robot/fix_issue#19 Check URDF to distinguish fixed joints from floating joints. Floating joint are ignored by the publisher.
  • Merge pull request #26 from xqms/remove-debug get rid of argv[0] debug output on startup
  • Contributors: David Lu!!, Ioan A Sucan, Jackie Kay, Max Schwarz, Paul Bovbel, Toni Oliver

1.11.1 (2016-02-22)

  • Merge pull request #41 from ros/fix_tests_indigo Re-enable and clean up rostests
  • Correct failing tests
  • Re-enabling rostests
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.11.0 (2015-10-21)

  • Merge pull request #28 from clearpathrobotics/tf2-static

1.10.4 (2014-11-30)

  • Merge pull request #21 from rcodddow/patch-1
  • Fix for joint transforms not being published anymore after a clock reset (e.g. when playing a bagfile and looping)
  • Contributors: Ioan A Sucan, Robert Codd-Downey, Timm Linder

1.10.3 (2014-07-24)

  • add version depend on orocos_kdl >= 1.3.0 Conflicts: package.xml
  • Update KDL SegmentMap interface to optionally use shared pointers The KDL Tree API optionally uses shared pointers on platforms where the STL containers don't support incomplete types.
  • Contributors: Brian Jensen, William Woodall

1.10.0 (2014-03-03)

  • minor style fixes
  • Add support for mimic tag.
  • Contributors: Ioan Sucan, Konrad Banachowicz

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/rsp-launch-urdf-inline.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-xacro-command-subst.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-urdf-file.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robot_state_publisher at Robotics Stack Exchange

robot_state_publisher package from robot_state_publisher repo

robot_state_publisher

Package Summary

Tags No category tags.
Version 3.5.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Allows you to publish the state of a robot (i.e the position of its base and all joints) via the "tf" transform library
Checkout URI https://github.com/ros/robot_state_publisher.git
VCS Type git
VCS Version rolling
Last Updated 2025-05-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package take the joint angles of a robot as input, and publishes the 3D poses of the robot links to tf2, using a kinematic tree model of the robot.

Additional Links

No additional links.

Maintainers

  • Chris Lalancette

Authors

  • Karsten Knese
  • Shane Loretz

Robot State Publisher

This package contains the Robot State Publisher, a node and a class to publish the state of a robot to tf2. At startup time, Robot State Publisher is supplied with a kinematic tree model (URDF) of the robot. It then subscribes to the joint_states topic (of type sensor_msgs/msg/JointState) to get individual joint states. These joint states are used to update the kinematic tree model, and the resulting 3D poses are then published to tf2.

Robot State Publisher deals with two different “classes” of joint types: fixed and movable. Fixed joints (with the type “fixed”) are published to the transient_local /tf_static topic once on startup (transient_local topics keep a history of what they published, so a later subscription can always get the latest state of the world). Movable joints are published to the regular /tf topic any time the appropriate joint is updated in the joint_states message.

Examples showing how to pass the robot_description parameter using a launch file are available in the ‘launch’ subdirectory.

Published Topics

  • robot_description (std_msgs/msg/String) - The description of the robot URDF as a string. Republishes the value set in the robot_description parameter, which is useful for getting informed of dynamic changes to the URDF. Published using the “transient local” quality of service, so subscribers should also be “transient local”.
  • tf (tf2_msgs/msg/TFMessage) - The transforms corresponding to the movable joints of the robot.
  • tf_static (tf2_msgs/msg/TFMessage) - The transforms corresponding to the static joints of the robot.

Subscribed Topics

  • joint_states (sensor_msgs/msg/JointState) - The joint state updates to the robot poses. The RobotStatePublisher class takes these updates, does transformations (such as mimic joints), and then publishes the results on the tf2 topics.

Parameters

  • robot_description (string) - The original description of the robot in URDF form. This must be set at robot_state_publisher startup time, or the node will fail to start. Updates to this parameter will be reflected in the robot_description topic.
  • publish_frequency (double) - The maximum frequency at which non-static transforms (e.g. joint states) will be published to /tf. Defaults to 20.0 Hz.
  • ignore_timestamp (bool) - Whether to accept all joint states no matter what the timestamp (true), or to only publish joint state updates if they are newer than the last publish_frequency (false). Defaults to false.
  • frame_prefix (string) - An arbitrary prefix to add to the published tf2 frames. Defaults to the empty string.
CHANGELOG

Changelog for package robot_state_publisher

3.5.1 (2025-05-19)

  • Removed deprecated command-line argument (#233)
  • Contributors: Alejandro Hernández Cordero

3.5.0 (2025-04-25)

3.4.2 (2024-12-20)

  • Use [emplace()]{.title-ref} with [std::map`s (]{.title-ref}#231 <<https://github.com/ros/robot_state_publisher/issues/231>>`_)
  • Remove CODEOWNERS and mirror-rolling-to-main workflow (#229)
  • Contributors: Alejandro Hernández Cordero, Patrick Roncagliolo

3.4.1 (2024-08-28)

  • update urdf model header (#223)
  • Contributors: Alejandro Hernández Cordero

3.4.0 (2024-04-26)

3.3.3 (2024-01-24)

  • Fix reload after a description with a mimic joint (#212)
  • Contributors: Guillaume Doisy

3.3.2 (2023-11-06)

  • Remove ament_target_dependencies. (#209)
  • Contributors: Chris Lalancette

3.3.1 (2023-06-07)

  • Improve log messages (#206)
  • Contributors: Nick Lamprianidis

3.3.0 (2023-04-28)

3.2.0 (2023-04-11)

  • Update robot_state_publisher to C++17. (#204)
  • Contributors: Chris Lalancette

3.1.2 (2023-02-13)

  • [rolling] Update maintainers - 2022-11-07 (#203)
  • Contributors: Audrow Nash

3.1.1 (2022-09-13)

  • Mirror rolling to ros2
  • Contributors: Audrow Nash

3.1.0 (2022-05-10)

3.0.2 (2022-04-05)

  • Depend on orocos_kdl_vendor (#191)
  • Contributors: Jacob Perron

3.0.1 (2022-03-28)

  • export dependencies, to use robot_state_publisher as a component (#193)
  • Contributors: Kenji Brameld

3.0.0 (2022-01-14)

  • Fix include order for cpplint (#186)
  • Change how parameter updates are handled (#180)
  • Install includes to instal/${PROJECT_NAME} (#184)
  • Make the change_fixed_joint test more robust (#183)
  • Add in a test to make sure fixed transforms change on update
  • Small C++ nice-isms in the tests
  • Switch to using target_include_directories for tests
  • Publish new fixed transforms when URDF is updated
  • Make joint_states subscription QoS configurable; default to SensorDataQoS (#179)
  • Remove dependency on urdfdom_headers (#168)
  • Contributors: Anthony Deschamps, Chris Lalancette, Jacob Perron, Russell Joyce, Shane Loretz

2.7.0 (2021-10-18)

  • Fix deprecated subscriber callbacks (#173)
  • Contributors: Abrar Rahman Protyasha

2.6.0 (2021-08-02)

  • Cleanup the documentation in the RobotStatePublisher class. (#172)
  • Always publish fixed frames to /tf_static (#158)
  • corrected publish_frequency default in README (#166)
  • Contributors: Chris Lalancette, Jacob Perron, Nils Schulte

2.5.0 (2021-06-11)

  • Add tf frame_prefix parameter (#159)
  • Contributors: Steve Nogar, Chris Lalancette

2.4.3 (2021-04-19)

  • Stop rejecting unknown parameters. (#161)
  • Contributors: Chris Lalancette

2.4.2 (2021-01-25)

  • clean up license to be standard bsd 3 clause (#130)
  • Update the maintainers. (#151)
  • Contributors: Chris Lalancette, Tully Foote

2.4.1 (2020-09-28)

  • fix types in range loops to avoid copy due to different type (#143)
  • Make sure not to crash on an invalid URDF. (#141)
  • Contributors: Chris Lalancette, Dirk Thomas

2.4.0 (2020-04-30)

  • Replace deprecated launch_ros usage (#137)
  • code style only: wrap after open parenthesis if not in one line (#129)
  • Refactor the ROS 2 code to be more modern (#126)
  • Switch to using TARGET_FILE to find the binary targets on Windows.
  • Fix tests on Windows.
  • Make the error message much nicer on Windows.
  • robot_state_publisher_node -> robot_state_publisher
  • Fix test build on Windows.
  • Get rid of redundant declaration.
  • Guard against negative publish_frequencies.
  • Switch to modern launch_testing ReadyToTest.
  • Add testing to robot_state_publisher.
  • Update some example launch files.
  • Implement the ability to change the parameters on the fly.
  • Fix silly bug while computing the publish interval.
  • Refactor to have a "setup" function during the constructor and later on during the parameter setup.
  • Mark things as explicit and final.
  • Update the documentation.
  • Make robot_state_publisher composable.
  • Contributors: Chris Lalancette, Dirk Thomas, Jacob Perron

2.3.1 (2019-10-23)

  • Switch the license back to BSD. (#121)
  • Contributors: Chris Lalancette

2.3.0 (2019-09-26)

  • Install include directories (#31)
  • Publish URDF string on startup (#24)
  • Contributors: Patrick Beeson, Poh Zhi-Ee, Shane Loretz

2.2.4 (2019-09-06)

  • Remove unused Eigen3 dependency (#27) (#29)
  • Don't export exe as library (#25) (ros2 #28)
  • Contributors: Shane Loretz

2.2.3 (2019-06-12)

  • Use rclcpp::Time for stamping transforms (#20)
  • Contributors: Scott K Logan

2.2.2 (2019-05-08)

  • changes to avoid deprecated API's (#19)
  • Contributors: William Woodall

2.2.1 (2019-04-26)

  • Updated to avoid deprecated API. (#18)
  • Contributors: William Woodall

2.2.0 (2019-04-14)

  • Set urdf content as parameter. (#15)
  • Contributors: Karsten Knese

2.1.0 (2018-06-27)

  • The robot model is now published on the robot_description topic as a std_msgs/String.msg. (#9)
  • Contributors: Brett, Mikael Arguedas

1.13.4 (2017-01-05)

  • Use urdf::*ShredPtr instead of boost::shared_ptr (#60)
  • Error log for empty JointState.position was downgraded to a throttled warning (#64)
  • Contributors: Jochen Sprickerhof, Sébastien BARTHÉLÉMY

1.13.3 (2016-10-20)

  • Added a new parameter "ignore_timestamp" (#65)
  • Fixed joints are not published over tf_static by default (#56)
  • Fixed segfault on undefined robot_description (#61)
  • Fixed cmake eigen3 warning (#62)
  • Contributors: Davide Faconti, Ioan A Sucan, Johannes Meyer, Robert Haschke

1.13.2 (2016-06-10)

  • Add target_link_libraries for joint_state_listener library + install it (#54)
  • Contributors: Kartik Mohta

1.13.1 (2016-05-20)

  • Add back future dating for robot_state_publisher (#49) (#51)
  • Fix subclassing test (#48)
  • Support for subclassing (#45)
    • Add joint_state_listener as a library
  • Contributors: Jackie Kay

1.13.0 (2016-04-12)

  • fix bad rebase
  • Contributors: Jackie Kay, Paul Bovbel

1.12.1 (2016-02-22)

  • Merge pull request #42 from ros/fix_tests_jade Fix tests for Jade
  • Correct failing tests
  • Re-enabling rostests
  • Merge pull request #39 from scpeters/issue_38
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.12.0 (2015-10-21)

  • Merge pull request #37 from clearpathrobotics/static-default Publish fixed joints over tf_static by default
  • Merge pull request #34 from ros/tf2-static-jade Port to tf2 and enable using static broadcaster
  • Merge pull request #32 from shadow-robot/fix_issue#19 Check URDF to distinguish fixed joints from floating joints. Floating joint are ignored by the publisher.
  • Merge pull request #26 from xqms/remove-debug get rid of argv[0] debug output on startup
  • Contributors: David Lu!!, Ioan A Sucan, Jackie Kay, Max Schwarz, Paul Bovbel, Toni Oliver

1.11.1 (2016-02-22)

  • Merge pull request #41 from ros/fix_tests_indigo Re-enable and clean up rostests
  • Correct failing tests
  • Re-enabling rostests
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.11.0 (2015-10-21)

  • Merge pull request #28 from clearpathrobotics/tf2-static

1.10.4 (2014-11-30)

  • Merge pull request #21 from rcodddow/patch-1
  • Fix for joint transforms not being published anymore after a clock reset (e.g. when playing a bagfile and looping)
  • Contributors: Ioan A Sucan, Robert Codd-Downey, Timm Linder

1.10.3 (2014-07-24)

  • add version depend on orocos_kdl >= 1.3.0 Conflicts: package.xml
  • Update KDL SegmentMap interface to optionally use shared pointers The KDL Tree API optionally uses shared pointers on platforms where the STL containers don't support incomplete types.
  • Contributors: Brian Jensen, William Woodall

1.10.0 (2014-03-03)

  • minor style fixes
  • Add support for mimic tag.
  • Contributors: Ioan Sucan, Konrad Banachowicz

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/rsp-launch-urdf-inline.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-xacro-command-subst.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-urdf-file.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robot_state_publisher at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 3.4.0
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description 3D-PointMass-EKF for State Estimation coupled with STM-UKF for Side Slip Angle Estimation
Checkout URI https://github.com/tumftm/3dvehicledynamicsstateestimation.git
VCS Type git
VCS Version main
Last Updated 2024-08-28
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags racing autonomous-driving unscented-kalman-filter state-estimation kalman-filter extended-kalman-filter vehicle-dynamics side-slip angle-estimation
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package take the joint angles of a robot as input, and publishes the 3D poses of the robot links to tf2, using a kinematic tree model of the robot.

Additional Links

No additional links.

Maintainers

  • Chris Lalancette

Authors

  • Karsten Knese
  • Shane Loretz

Robot State Publisher

This package contains the Robot State Publisher, a node and a class to publish the state of a robot to tf2. At startup time, Robot State Publisher is supplied with a kinematic tree model (URDF) of the robot. It then subscribes to the joint_states topic (of type sensor_msgs/msg/JointState) to get individual joint states. These joint states are used to update the kinematic tree model, and the resulting 3D poses are then published to tf2.

Robot State Publisher deals with two different “classes” of joint types: fixed and movable. Fixed joints (with the type “fixed”) are published to the transient_local /tf_static topic once on startup (transient_local topics keep a history of what they published, so a later subscription can always get the latest state of the world). Movable joints are published to the regular /tf topic any time the appropriate joint is updated in the joint_states message.

Examples showing how to pass the robot_description parameter using a launch file are available in the ‘launch’ subdirectory.

Published Topics

  • robot_description (std_msgs/msg/String) - The description of the robot URDF as a string. Republishes the value set in the robot_description parameter, which is useful for getting informed of dynamic changes to the URDF. Published using the “transient local” quality of service, so subscribers should also be “transient local”.
  • tf (tf2_msgs/msg/TFMessage) - The transforms corresponding to the movable joints of the robot.
  • tf_static (tf2_msgs/msg/TFMessage) - The transforms corresponding to the static joints of the robot.

Subscribed Topics

  • joint_states (sensor_msgs/msg/JointState) - The joint state updates to the robot poses. The RobotStatePublisher class takes these updates, does transformations (such as mimic joints), and then publishes the results on the tf2 topics.

Parameters

  • robot_description (string) - The original description of the robot in URDF form. This must be set at robot_state_publisher startup time, or the node will fail to start. Updates to this parameter will be reflected in the robot_description topic.
  • publish_frequency (double) - The maximum frequency at which non-static transforms (e.g. joint states) will be published to /tf. Defaults to 20.0 Hz.
  • ignore_timestamp (bool) - Whether to accept all joint states no matter what the timestamp (true), or to only publish joint state updates if they are newer than the last publish_frequency (false). Defaults to false.
  • frame_prefix (string) - An arbitrary prefix to add to the published tf2 frames. Defaults to the empty string.
CHANGELOG

Changelog for package robot_state_publisher

3.4.0 (2024-04-26)

3.3.3 (2024-01-24)

  • Fix reload after a description with a mimic joint (#212)
  • Contributors: Guillaume Doisy

3.3.2 (2023-11-06)

  • Remove ament_target_dependencies. (#209)
  • Contributors: Chris Lalancette

3.3.1 (2023-06-07)

  • Improve log messages (#206)
  • Contributors: Nick Lamprianidis

3.3.0 (2023-04-28)

3.2.0 (2023-04-11)

  • Update robot_state_publisher to C++17. (#204)
  • Contributors: Chris Lalancette

3.1.2 (2023-02-13)

  • [rolling] Update maintainers - 2022-11-07 (#203)
  • Contributors: Audrow Nash

3.1.1 (2022-09-13)

  • Mirror rolling to ros2
  • Contributors: Audrow Nash

3.1.0 (2022-05-10)

3.0.2 (2022-04-05)

  • Depend on orocos_kdl_vendor (#191)
  • Contributors: Jacob Perron

3.0.1 (2022-03-28)

  • export dependencies, to use robot_state_publisher as a component (#193)
  • Contributors: Kenji Brameld

3.0.0 (2022-01-14)

  • Fix include order for cpplint (#186)
  • Change how parameter updates are handled (#180)
  • Install includes to instal/${PROJECT_NAME} (#184)
  • Make the change_fixed_joint test more robust (#183)
  • Add in a test to make sure fixed transforms change on update
  • Small C++ nice-isms in the tests
  • Switch to using target_include_directories for tests
  • Publish new fixed transforms when URDF is updated
  • Make joint_states subscription QoS configurable; default to SensorDataQoS (#179)
  • Remove dependency on urdfdom_headers (#168)
  • Contributors: Anthony Deschamps, Chris Lalancette, Jacob Perron, Russell Joyce, Shane Loretz

2.7.0 (2021-10-18)

  • Fix deprecated subscriber callbacks (#173)
  • Contributors: Abrar Rahman Protyasha

2.6.0 (2021-08-02)

  • Cleanup the documentation in the RobotStatePublisher class. (#172)
  • Always publish fixed frames to /tf_static (#158)
  • corrected publish_frequency default in README (#166)
  • Contributors: Chris Lalancette, Jacob Perron, Nils Schulte

2.5.0 (2021-06-11)

  • Add tf frame_prefix parameter (#159)
  • Contributors: Steve Nogar, Chris Lalancette

2.4.3 (2021-04-19)

  • Stop rejecting unknown parameters. (#161)
  • Contributors: Chris Lalancette

2.4.2 (2021-01-25)

  • clean up license to be standard bsd 3 clause (#130)
  • Update the maintainers. (#151)
  • Contributors: Chris Lalancette, Tully Foote

2.4.1 (2020-09-28)

  • fix types in range loops to avoid copy due to different type (#143)
  • Make sure not to crash on an invalid URDF. (#141)
  • Contributors: Chris Lalancette, Dirk Thomas

2.4.0 (2020-04-30)

  • Replace deprecated launch_ros usage (#137)
  • code style only: wrap after open parenthesis if not in one line (#129)
  • Refactor the ROS 2 code to be more modern (#126)
  • Switch to using TARGET_FILE to find the binary targets on Windows.
  • Fix tests on Windows.
  • Make the error message much nicer on Windows.
  • robot_state_publisher_node -> robot_state_publisher
  • Fix test build on Windows.
  • Get rid of redundant declaration.
  • Guard against negative publish_frequencies.
  • Switch to modern launch_testing ReadyToTest.
  • Add testing to robot_state_publisher.
  • Update some example launch files.
  • Implement the ability to change the parameters on the fly.
  • Fix silly bug while computing the publish interval.
  • Refactor to have a "setup" function during the constructor and later on during the parameter setup.
  • Mark things as explicit and final.
  • Update the documentation.
  • Make robot_state_publisher composable.
  • Contributors: Chris Lalancette, Dirk Thomas, Jacob Perron

2.3.1 (2019-10-23)

  • Switch the license back to BSD. (#121)
  • Contributors: Chris Lalancette

2.3.0 (2019-09-26)

  • Install include directories (#31)
  • Publish URDF string on startup (#24)
  • Contributors: Patrick Beeson, Poh Zhi-Ee, Shane Loretz

2.2.4 (2019-09-06)

  • Remove unused Eigen3 dependency (#27) (#29)
  • Don't export exe as library (#25) (ros2 #28)
  • Contributors: Shane Loretz

2.2.3 (2019-06-12)

  • Use rclcpp::Time for stamping transforms (#20)
  • Contributors: Scott K Logan

2.2.2 (2019-05-08)

  • changes to avoid deprecated API's (#19)
  • Contributors: William Woodall

2.2.1 (2019-04-26)

  • Updated to avoid deprecated API. (#18)
  • Contributors: William Woodall

2.2.0 (2019-04-14)

  • Set urdf content as parameter. (#15)
  • Contributors: Karsten Knese

2.1.0 (2018-06-27)

  • The robot model is now published on the robot_description topic as a std_msgs/String.msg. (#9)
  • Contributors: Brett, Mikael Arguedas

1.13.4 (2017-01-05)

  • Use urdf::*ShredPtr instead of boost::shared_ptr (#60)
  • Error log for empty JointState.position was downgraded to a throttled warning (#64)
  • Contributors: Jochen Sprickerhof, Sébastien BARTHÉLÉMY

1.13.3 (2016-10-20)

  • Added a new parameter "ignore_timestamp" (#65)
  • Fixed joints are not published over tf_static by default (#56)
  • Fixed segfault on undefined robot_description (#61)
  • Fixed cmake eigen3 warning (#62)
  • Contributors: Davide Faconti, Ioan A Sucan, Johannes Meyer, Robert Haschke

1.13.2 (2016-06-10)

  • Add target_link_libraries for joint_state_listener library + install it (#54)
  • Contributors: Kartik Mohta

1.13.1 (2016-05-20)

  • Add back future dating for robot_state_publisher (#49) (#51)
  • Fix subclassing test (#48)
  • Support for subclassing (#45)
    • Add joint_state_listener as a library
  • Contributors: Jackie Kay

1.13.0 (2016-04-12)

  • fix bad rebase
  • Contributors: Jackie Kay, Paul Bovbel

1.12.1 (2016-02-22)

  • Merge pull request #42 from ros/fix_tests_jade Fix tests for Jade
  • Correct failing tests
  • Re-enabling rostests
  • Merge pull request #39 from scpeters/issue_38
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.12.0 (2015-10-21)

  • Merge pull request #37 from clearpathrobotics/static-default Publish fixed joints over tf_static by default
  • Merge pull request #34 from ros/tf2-static-jade Port to tf2 and enable using static broadcaster
  • Merge pull request #32 from shadow-robot/fix_issue#19 Check URDF to distinguish fixed joints from floating joints. Floating joint are ignored by the publisher.
  • Merge pull request #26 from xqms/remove-debug get rid of argv[0] debug output on startup
  • Contributors: David Lu!!, Ioan A Sucan, Jackie Kay, Max Schwarz, Paul Bovbel, Toni Oliver

1.11.1 (2016-02-22)

  • Merge pull request #41 from ros/fix_tests_indigo Re-enable and clean up rostests
  • Correct failing tests
  • Re-enabling rostests
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.11.0 (2015-10-21)

  • Merge pull request #28 from clearpathrobotics/tf2-static

1.10.4 (2014-11-30)

  • Merge pull request #21 from rcodddow/patch-1
  • Fix for joint transforms not being published anymore after a clock reset (e.g. when playing a bagfile and looping)
  • Contributors: Ioan A Sucan, Robert Codd-Downey, Timm Linder

1.10.3 (2014-07-24)

  • add version depend on orocos_kdl >= 1.3.0 Conflicts: package.xml
  • Update KDL SegmentMap interface to optionally use shared pointers The KDL Tree API optionally uses shared pointers on platforms where the STL containers don't support incomplete types.
  • Contributors: Brian Jensen, William Woodall

1.10.0 (2014-03-03)

  • minor style fixes
  • Add support for mimic tag.
  • Contributors: Ioan Sucan, Konrad Banachowicz

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
fetch_moveit_config
fetch_moveit_config
fetch_moveit_config
schunk_svh_driver
turtlebot3_bringup
turtlebot3_bringup
turtlebot3_bringup
turtlebot3_bringup
turtlebot3_bringup
turtlebot3_bringup
turtlebot3_fake_node
turtlebot3_fake_node
turtlebot3_fake_node
turtlebot3_fake_node
turtlebot3_fake_node
canadarm_gazebo
canadarm_moveit_config
curiosity_rover_demo
trick_canadarm_moveit_config
nav2_system_tests
nav2_system_tests
nav2_system_tests
nav2_system_tests
nav2_system_tests
nav2_system_tests
abb_irb1200_5_90_moveit_config
mbot_description
motoman_sda10f_moveit_config
motoman_sda10f_support
tier4_vehicle_launch
tier4_vehicle_launch
tier4_vehicle_launch
tier4_vehicle_launch
tier4_vehicle_launch
tier4_vehicle_launch
akabot_description
akabot_moveit_config
aliengo_gazebo
go2_bringup
scoutbot
ar3_bringup
arduinobot_controller
arduinobot_controller
arduinobot_description
arduinobot_description
ardupilot_gz_bringup
ariac_description
ariac_gazebo
aubo_e3_moveit_config
aubo_e5_moveit_config
aubo_i10_moveit_config
aubo_i10_moveit_config
aubo_i16_moveit_config
aubo_i20_moveit_config
aubo_i3_moveit_config
aubo_i3_moveit_config
aubo_i5_moveit_config
aubo_i5_moveit_config
aubo_i5l_moveit_config
aubo_i5l_moveit_config
aubo_i7_moveit_config
aubo_i7_moveit_config
aubo_is20_moveit_config
aubo_is7_moveit_config
industrial_robot_client
industrial_robot_client
industrial_robot_client
aubo_ros2_jazzy_moveit_config
aubo_gazebo
aubo_moveit_config
aubo_moveit_config
aubo_ros2_driver
aubo_robot_driver
autocar_description
autocar_gazebo
autonav_controller
hagen_gazebo
cartographer_ros
cartographer_ros
cartographer_ros
cartographer_ros
autoware_core_vehicle
vehicle_gazebo_simulation_launcher
sick_ldmrs_description
sick_ldmrs_driver
sick_ldmrs_tools
controller_testing
autoware_auto_launch
autoware_demos
detection_2d_visualizer
localization_system_tests
test_trajectory_following
lexus_rx_450h_description
fetch_gazebo
fetchit_challenge
auv_control_demos
deepracer_description
bitbots_robot_description
wolfgang_moveit_config
carma
cartesian_controller_simulation
cartesian_controllers_universal_robots
turtlebot3_fake
ceres_bringup
robolaunch_cloudy_bringup
jaka_zu7_v2
conveyor_belt
crazyflie_ros2_description
pkg
site_model
cybergear_description
hrwros_gazebo
hrwros_support
hrwros_week2
week4_moveit_config
denso_robot_bringup
denso_robot_descriptions
desplate_common
diablo_simulation
diff_bot_description
cr10_moveit
cr12_moveit
cr16_moveit
cr3_moveit
cr5_moveit
cr7_moveit
dobot_gazebo
dobot_rviz
me6_moveit
sjtu_drone_bringup
sjtu_drone_bringup
sjtu_drone_bringup
onrobot_airpick4_description
onrobot_airpick4_moveit_config
robotiq_3f_gripper_description
robotiq_3f_moveit_config
robotiq_85_description
robotiq_85_description
robotiq_85_moveit_config
robotiq_85_moveit_config
single_suction_description
single_suction_moveit_config
fanuc_moveit_config
panda_moveit_config
panda_moveit_config
panda_moveit_config
ur10_moveit_config
ur10_moveit_config
ur10_moveit_config
ur10_moveit_config
ur10_moveit_config
ur3_moveit_config
ur3_moveit_config
ur3_moveit_config
ur3_moveit_config
ur3_moveit_config
ur5_moveit_config
ur5_moveit_config
ur5_moveit_config
ur5_moveit_config
ur5_moveit_config
ur5_moveit_config
ur_description
ur_description
ur_description
ur_description
ur_description
ur_description
ur_description
ur_description
ur_description
ur_description
run_dynamic_safety
elfin5_ros2_moveit2
elfin_description
ur_simulation_gazebo
flexiv_bringup
flexiv_description
flexiv_moveit_config
numsr_franka_moveit_config
fairino10_v6_moveit2_config
fairino16_v6_moveit2_config
fairino20_v6_moveit2_config
fairino30_v6_moveit2_config
fairino3_v6_moveit2_config
fairino3mt_v6_moveit2_config
fairino5_v6_moveit2_config
furuta_pendulum_description
furuta_pendulum_hardware
furuta_pendulum_ocs2_ros
package_name
gazebo_ackermann_steering_vehicle
gazebo_differential_drive_robot
gcamp_gazebo
giraffe_description
giraffe_moveit_config
double_arm_moveit_config
marm_moveit_config
marm_moveit_config
marm_moveit_config
probot_anno_moveit_config
c800_description
c800_moveit_config
ares_description
racecar_description
pigot_stl_model
laikago_gazebo
yobotics_description
mini_cheetah_urdf
op3_bringup
op3_description
hiwin_description
hiwin_driver
hiwin_ra605_710_moveit_config
hiwin_ra610_1476_moveit_config
hiwin_ra610_1869_moveit_config
robot_description
robot_description
robot_description
robot_description
hoverboard_demo_bringup
hri_fullbody
husarion_ugv_controller
husarion_ugv_description
husarion_ugv_gazebo
indires_navigation
myworkcell_moveit_config
snp_automate_2022
cal_demo_moveit_config
ur5_demo_moveit_config
ur5_collision_avoidance_moveit_config
pick_and_place_application
interbotix_xslocobot_descriptions
interbotix_xslocobot_moveit
irc_ros_moveit_config
diffbot_description
diffbot_description
franka_moveit_config
franka_moveit_config
isaac_diffbot_sim
cortex_control
kachaka_description
kalman_arm_moveit_config
lbr_bringup
lbr_description
ldlidar_node
learm_ros2_description
learm_ros2_moveit_config
lesson_urdf
lesson_urdf
lidarbot_description
gazebo_simulation
limo_car
linorobot2_description
dobot_description
manta_v2_description
manta_v2_gazebo_ros2_control
manta_v2_moveit_config
manta_v2_run_move_group
simulation_rviz
simulation_gazebo
buoy_gazebo
mecanum_bot_description
megarover_samples_ros2
melfa_bringup
melfa_driver
melfa_rh6crh6020_moveit_config
melfa_rh6frh5520_moveit_config
melfa_rv13frl_moveit_config
melfa_rv2fr_moveit_config
melfa_rv4fr_moveit_config
melfa_rv4frl_moveit_config
melfa_rv5as_moveit_config
melfa_rv7frl_moveit_config
melfa_rv80fr_moveit_config
melfa_rv8crl_moveit_config
mg400_bringup
mickrobot_description
mini_pupper_description
kuka_kmr_description
kuka_kmr_iiwa_config
kuka_lbr_arm_config
kuka_lbr_arm_description
rostms_moveit_config
skeleton_description
smartpal5_moveit_config
ma2010_robotiq_moveit_config
ma2010_server
motoman_ma2010_moveit_config
motoman_ma2010_support
moveit_resources_prbt_moveit_config
moveit_hybrid_planning
moveit_servo
moveit_servo
moveit_ros_trajectory_cache
moveit2_tutorials
moveit_resources_panda_moveit_config
multi_robot_arm
franka_bringup
ROBOT.SLDASM
robot_sim
myactuator_rmd_bringup
mybuddy
mecharm
mecharm_pi
myarm_300
myarm_c650
myarm_m750
mycobot_280
mycobot_280_arduino
mycobot_280_moveit2
mycobot_280_moveit2_control
mycobot_280_rdkx5
mycobot_280_riscv
mycobot_280_x3pi
mycobot_280arduino_moveit2
mycobot_280jn
mycobot_280pi
mycobot_280rdkx5_moveit2
mycobot_320
mycobot_320_riscv
mycobot_320pi
mycobot_600
mycobot_630
mypalletizer_260
mypalletizer_260_pi
ultraarm
nanosaur_description
sam_bot_nav2_gz
turtlebot3
sam_bot_description
sam_bot_description
sam_bot_description
nav_u_dependencies
niryo_robot_description
niryo_robot_gazebo
joints_interface
niryo_robot_hardware_interface
niryo_moveit_config_standalone
niryo_moveit_config_w_gripper1
neuronbot2_bringup
neuronbot2_gazebo
nexus_motion_planner
nova_carter_description
ur_e_description
ur_e_description
ur_e_description
ur_robot_driver
ur_robot_driver
ur_robot_driver
ur_robot_driver
gazebo_simulator
ur5_e_robotiq_2f_85_moveit_config
odrive_demo_bringup
unitree_guide
unitree_move_base
go2_description
go2_description
go2_description
go2_description
unitree_controller
unitree_gazebo
omo_r1mini_bringup
openbot_ros
open_mower_next
honeybee_description
honeybee_gazebo
openscout
openvmp_robot
openvmp_robot_don1
osr_gazebo
pendulum_bringup
myarm_ai
minibot_description
piper_camera_moveit_config
piper_description
uuv_thruster_manager
uuv_descriptions
race
left_leg_demo_new
march_control
march_launch
my_package
anymal_c_description
lite3_description
x30_description
a1_description
a1_description
aliengo_description
b2_description
go1_description
go1_description
gz_quadruped_playground
vehicle_urdf
rae_description
rdsim_description
zuuu_description
cart_pole_bringup
rmcs_bringup
rmcs_description
roarm_description
roarm_moveit
roarm_moveit_cmd
myrobot_moveit_config
smart_grasp_moveit_config
ur_gazebo
ur_gazebo
ur_gazebo
ur_gazebo
ur_gazebo
ur_gazebo
myrobot_movit_config
car_demo
lerp_motion_planner
beep_autonomy
custom_robots
my_robot_description
robot_description_moveit_config
gazebo_simulation_scene2
saye_description
interbotix_xsarm_descriptions
interbotix_xsarm_moveit
husky_control
husky_viz
kobuki_description
kobuki_rviz
mecanumbot_bringup
testbot_description
unity_diffbot_sim
motor_controller
ros2_control_demo_example_1
ros2_control_demo_example_10
ros2_control_demo_example_11
ros2_control_demo_example_12
ros2_control_demo_example_13
ros2_control_demo_example_14
ros2_control_demo_example_15
ros2_control_demo_example_16
ros2_control_demo_example_2
ros2_control_demo_example_3
ros2_control_demo_example_4
ros2_control_demo_example_5
ros2_control_demo_example_6
ros2_control_demo_example_7
ros2_control_demo_example_8
ros2_control_demo_example_9
crx10ia_l_moveit_config
crx10ia_moveit_config
crx20ia_l_moveit_config
crx25ia_moveit_config
crx30ia_moveit_config
crx5ia_moveit_config
fanuc_control
metafly_control
fishbot_description
moveit_ur5_interface
robotiq_description
robotiq_description
robotiq_description
ur5_gripper_description
rm_gazebo
rm_63_config
rm_65_config
rm_75_config
rm_eco63_config
rm_eco65_config
rm_gen72_config
rover_gazebo
ros_gz_rover
sim_env
odrive_bringup
rosbot_bringup
rosbot_description
rosbot_xl_controller
controlko_bringup
controlko_description
donatello
raphael
rover_bringup
bumperbot_controller
bumperbot_controller
bumperbot_description
bumperbot_description
ur_robotiq_connector
so_100_arm
spot_driver
stretch_description
test_urdf
amr_description
pointgrey_camera_description
tm12_moveit_config
tm12x_moveit_config
tm14_moveit_config
tm14x_moveit_config
tm5-700_moveit_config
tm5-900_moveit_config
tm5x-700_moveit_config
tm5x-900_moveit_config
tm_move_group
tm_moveit_cpp_demo
global_user
serialport
two_wheeled_robot
ubr1_moveit
ugv_description
ugv_gazebo
pendulum_robot_description
pendulum_control_description
turtlebot_simulation
champ_description
champ_description
go1_gazebo
ur_bringup
ur_bringup
ur_bringup
ur_bringup
mir_description
mir_driver
mir_gazebo
total_moveit_config
ur_modern_driver
ur_modern_driver
ur_robotiq_gazebo
ur_robotiq_moveit_config
ipa_demo_cell_description
ur10_e_moveit_config
ur10_e_moveit_config
ur3_e_moveit_config
ur3_e_moveit_config
ur5_e_moveit_config
ur5_e_moveit_config
ur_e_gazebo
ur_e_gazebo
ur10e_moveit_config
ur16e_moveit_config
ur3e_moveit_config
ur5e_moveit_config
dual_ur5e_gripper_moveit_config
ur5e_gripper_description
ur5e_gripper_control
moveit_config
simple_ur10e_description
simple_ur10e_moveit_config
robotiq_85_bringup
robotiq_85_gazebo
ur_platform_gazebo
ur_platform_moveit_config
uwrt_mars_rover_drivetrain_description
uwrt_mars_rover_drivetrain_hw
usv_description
vispa
mbot_with_arm_moveit_config
webots_spot
wpr_simulation2
mbot_demo
xarm_controller
xarm_description
xarm_gazebo
xarm_moveit_config
xarm_moveit_servo
youfork_description
zed_display_rviz2
quad_urdf

Launch files

  • launch/rsp-launch-urdf-inline.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-xacro-command-subst.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-urdf-file.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robot_state_publisher at Robotics Stack Exchange

robot_state_publisher package from robot_state_publisher repo

robot_state_publisher

Package Summary

Tags No category tags.
Version 1.15.3
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Allows you to publish the state of a robot (i.e the position of its base and all joints) via the "tf" transform library
Checkout URI https://github.com/ros/robot_state_publisher.git
VCS Type git
VCS Version noetic-devel
Last Updated 2025-04-10
Dev Status MAINTAINED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package allows you to publish the state of a robot to

Additional Links

Maintainers

  • Chris Lalancette
  • Ian McMahon
  • Shane Loretz

Authors

  • Ioan Sucan
  • Jackie Kay
  • Wim Meeussen
README
No README found. No README in repository either.
CHANGELOG

Changelog for package robot_state_publisher

1.15.3 (2025-04-10)

  • Drop CXX standards for log4cxx (#190)
  • Added launch parameter for listener queue size. (#222)
  • Upgrade to C++17 for compatibility with Eigen 3.40.90 (#208)
  • Contributors: Jochen Sprickerhof, JoeOnderko, daizhirui

1.15.2 (2021-09-30)

  • Reimplement tf_prefix in Noetic exactly as it was in Melodic (#169)
  • Include joint_states_index.bag in repo (#176)
  • Contributors: Shane Loretz

1.15.1 (2020-04-24)

1.15.0 (2020-04-17)

  • Remove state_publisher and add in a public default constructor (#87)
  • Added support for custom RobotStatePublisher implementations (API/ABI break) (#115)
  • Bump CMake version to avoid CMP0048 (#136)
  • Add missing test depend rosbag (#135)
  • Used orocos keys (#134)
  • Add joint_state_listener to the catkin package LIBRARIES (#112) (#114)
  • Make sure to make sensor_msgs a catkin dependency. (#122)
  • update how compiler flags are added (#104)
  • update install destination in CMakeLists.txt (#103)
  • Remove treefksolver completely from the repository. (#100)
  • changed return code from -1 to 1 since its considered a reserved bash exit code (#98)
  • Fixed problem when building static library version (#92) (#96)
  • Add Ian as a maintainer for robot_state_publisher. (#94)
  • added warning when joint is found in joint message but not in the urdf (#83)
  • added ros_warn if JointStateMessage is older than 30 seconds (#84)
  • Add tcp_no_delay to joint_states subscriber (#80) (#85)
  • Remove dependency on tf and tf_prefix support (#82)
  • make rostest in CMakeLists optional (ros/rosdistro#3010) (#75)
  • Added c++11 target_compile_options (#78)
  • Contributors: Alejandro Hernández Cordero, Chris Lalancette, James Xu, Lukas Bulwahn, Martin Pecka, Shane Loretz, betab0t, jgueldenstein

1.13.5 (2017-04-11)

  • Style cleanup throughout the tree.
  • add Chris and Shane as maintainers (#70)
  • Contributors: Chris Lalancette, William Woodall

1.13.4 (2017-01-05)

  • Use urdf::*ShredPtr instead of boost::shared_ptr (#60)
  • Error log for empty JointState.position was downgraded to a throttled warning (#64)
  • Contributors: Jochen Sprickerhof, Sébastien BARTHÉLÉMY

1.13.3 (2016-10-20)

  • Added a new parameter "ignore_timestamp" (#65)
  • Fixed joints are not published over tf_static by default (#56)
  • Fixed segfault on undefined robot_description (#61)
  • Fixed cmake eigen3 warning (#62)
  • Contributors: Davide Faconti, Ioan A Sucan, Johannes Meyer, Robert Haschke

1.13.2 (2016-06-10)

  • Add target_link_libraries for joint_state_listener library + install it (#54)
  • Contributors: Kartik Mohta

1.13.1 (2016-05-20)

  • Add back future dating for robot_state_publisher (#49) (#51)
  • Fix subclassing test (#48)
  • Support for subclassing (#45)
    • Add joint_state_listener as a library
  • Contributors: Jackie Kay

1.13.0 (2016-04-12)

  • fix bad rebase
  • Contributors: Jackie Kay, Paul Bovbel

1.12.1 (2016-02-22)

  • Merge pull request #42 from ros/fix_tests_jade Fix tests for Jade
  • Correct failing tests
  • Re-enabling rostests
  • Merge pull request #39 from scpeters/issue_38
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.12.0 (2015-10-21)

  • Merge pull request #37 from clearpathrobotics/static-default Publish fixed joints over tf_static by default
  • Merge pull request #34 from ros/tf2-static-jade Port to tf2 and enable using static broadcaster
  • Merge pull request #32 from shadow-robot/fix_issue#19 Check URDF to distinguish fixed joints from floating joints. Floating joint are ignored by the publisher.
  • Merge pull request #26 from xqms/remove-debug get rid of argv[0] debug output on startup
  • Contributors: David Lu!!, Ioan A Sucan, Jackie Kay, Max Schwarz, Paul Bovbel, Toni Oliver

1.11.1 (2016-02-22)

  • Merge pull request #41 from ros/fix_tests_indigo Re-enable and clean up rostests
  • Correct failing tests
  • Re-enabling rostests
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.11.0 (2015-10-21)

  • Merge pull request #28 from clearpathrobotics/tf2-static

1.10.4 (2014-11-30)

  • Merge pull request #21 from rcodddow/patch-1
  • Fix for joint transforms not being published anymore after a clock reset (e.g. when playing a bagfile and looping)
  • Contributors: Ioan A Sucan, Robert Codd-Downey, Timm Linder

1.10.3 (2014-07-24)

  • add version depend on orocos_kdl >= 1.3.0 Conflicts: package.xml
  • Update KDL SegmentMap interface to optionally use shared pointers The KDL Tree API optionally uses shared pointers on platforms where the STL containers don't support incomplete types.
  • Contributors: Brian Jensen, William Woodall

1.10.0 (2014-03-03)

  • minor style fixes
  • Add support for mimic tag.
  • Contributors: Ioan Sucan, Konrad Banachowicz

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
abb_crb15000_support
abb_irb1200_support
abb_irb120_support
abb_irb1600_support
abb_irb2400_support
abb_irb2600_support
abb_irb4400_support
abb_irb4600_support
abb_irb52_support
abb_irb5400_support
abb_irb6600_support
abb_irb6640_support
abb_irb6650s_support
abb_irb6700_support
abb_irb7600_support
abb_irb1200_gazebo
abb_irb120_gazebo
abb_irb1200_5_90_moveit_config
abb_irb1200_7_70_moveit_config
abb_irb120_moveit_config
abb_irb120t_moveit_config
abb_irb1600_6_12_moveit_config
abb_irb2400_moveit_config
abb_irb6640_moveit_config
audibot_gazebo
cob_cartesian_controller
cob_obstacle_distance
cob_twist_controller
cob_grasp_generation
cob_moveit_bringup
cob_bringup
cob_hardware_config
cob_gazebo_worlds
crane_x7_moveit_config
create_description
dbw_fca_description
dbw_mkz_description
dbw_polaris_description
depthai_bridge
depthai_descriptions
depthai_examples
dingo_description
dynamic_robot_state_publisher
ensenso_camera
exotica_examples
fanuc_cr35ia_support
fanuc_cr7ia_support
fanuc_crx10ia_support
fanuc_lrmate200i_support
fanuc_lrmate200ib_support
fanuc_lrmate200ic_support
fanuc_lrmate200id_support
fanuc_m10ia_support
fanuc_m16ib_support
fanuc_m20ia_support
fanuc_m20ib_support
fanuc_m430ia_support
fanuc_m6ib_support
fanuc_m710ic_support
fanuc_m900ia_support
fanuc_m900ib_support
fanuc_r1000ia_support
fanuc_r2000ib_support
fanuc_r2000ic_support
fanuc_cr7ia_moveit_config
fanuc_cr7ial_moveit_config
fanuc_lrmate200i_moveit_config
fanuc_lrmate200ib3l_moveit_config
fanuc_lrmate200ib_moveit_config
fanuc_lrmate200ic5h_moveit_config
fanuc_lrmate200ic5l_moveit_config
fanuc_lrmate200ic_moveit_config
fanuc_lrmate200id7l_moveit_config
fanuc_lrmate200id_moveit_config
fanuc_m10ia_moveit_config
fanuc_m16ib20_moveit_config
fanuc_m20ia10l_moveit_config
fanuc_m20ia_moveit_config
fanuc_m20ib25_moveit_config
fanuc_m430ia2f_moveit_config
fanuc_m430ia2p_moveit_config
fanuc_m6ib6s_moveit_config
fanuc_m6ib_moveit_config
fanuc_r1000ia80f_moveit_config
fetch_bringup
freight_bringup
fetch_moveit_config
franka_control
husky_control
husky_viz
industrial_robot_client
jackal_description
jsk_tilt_laser
pr2eus
pr2eus_openrave
jsk_pcl_ros
jsk_rviz_plugins
khi_duaro_moveit_config
khi_robot_bringup
khi_rs007l_moveit_config
khi_rs007n_moveit_config
khi_rs013n_moveit_config
khi_rs020n_moveit_config
khi_rs025n_moveit_config
khi_rs030n_moveit_config
khi_rs080n_moveit_config
leo_description
leo_viz
leo_bringup
leo_gazebo
robot
mir_description
mir_driver
mir_gazebo
moveit_resources_dual_panda_moveit_config
moveit_resources_fanuc_moveit_config
moveit_resources
moveit_resources_panda_moveit_config
moveit_resources_prbt_moveit_config
multisense_bringup
naoqi_driver
panda_moveit_config
pass_through_controllers
pf_description
prbt_moveit_config
prbt_support
pincher_arm_bringup
pincher_arm_moveit_config
pointgrey_camera_description
pr2_bringup
pr2_gazebo
psen_scan_v2
raspimouse_description
ridgeback_description
robotont_description
effort_controllers
cartesian_trajectory_controller
sciurus17_moveit_config
sick_ldmrs_description
sick_ldmrs_tools
sick_tim
turtlebot3_bringup
turtlebot3_fake
ur10_moveit_config
ur10e_moveit_config
ur12e_moveit_config
ur15_moveit_config
ur16e_moveit_config
ur20_moveit_config
ur30_moveit_config
ur3_moveit_config
ur3e_moveit_config
ur5_moveit_config
ur5e_moveit_config
ur7e_moveit_config
ur_description
ur_gazebo
ur_robot_driver
urdf_sim_tutorial
urdf_tutorial
rwt_moveit
warthog_description
webots_ros
xpp_vis
flir_camera_description
bcr_bot
diffbot_control
diffbot_description
nicla_vision_ros
reach_ros
thunder_line_follower_pmr3100

Recent questions tagged robot_state_publisher at Robotics Stack Exchange

robot_state_publisher package from robot_state_publisher repo

robot_state_publisher

Package Summary

Tags No category tags.
Version 2.5.3
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Allows you to publish the state of a robot (i.e the position of its base and all joints) via the "tf" transform library
Checkout URI https://github.com/ros/robot_state_publisher.git
VCS Type git
VCS Version galactic
Last Updated 2022-02-17
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package allows you to publish the state of a robot to

Additional Links

No additional links.

Maintainers

  • Chris Lalancette
  • Shane Loretz

Authors

  • Karsten Knese

Robot State Publisher

This package contains the Robot State Publisher, a node and a class to publish the state of a robot to tf2. Once the state gets published, it is available to all components in the system that also use tf2. The package takes the joint angles of the robot as input and publishes the 3D poses of the robot links, using a kinematic tree model of the robot.

Examples showing how to pass the robot_description parameter using a launch file are available in the ‘launch’ subdirectory.

Published Topics

  • robot_description (std_msgs/msg/String) - The description of the robot URDF as a string. Republishes the value set in the robot_description parameter, which is useful for getting informed of dynamic changes to the URDF. Published using the “transient local” quality of service, so subscribers should also be “transient local”.
  • tf (tf2_msgs/msg/TFMessage) - The transforms corresponding to the movable joints of the robot.
  • tf_static (tf2_msgs/msg/TFMessage) - The transforms corresponding to the static joints of the robot.

Subscribed Topics

  • joint_states (sensor_msgs/msg/JointState) - The joint state updates to the robot poses. The RobotStatePublisher class takes these updates, does transformations (such as mimic joints), and then publishes the results on the tf2 topics.

Parameters

  • robot_description (string) - The original description of the robot in URDF form. This must be set at robot_state_publisher startup time, or the node will fail to start. Updates to this parameter will be reflected in the robot_description topic.
  • publish_frequency (double) - The frequency at which fixed transforms will be republished to the network. Defaults to 50.0.
  • use_tf_static (bool) - Whether to publish fixed joints on the static broadcaster (/tf_static topic) or on the dynamic one (/tf topic). Defaults to true, so it publishes on the /tf_static topic.
  • ignore_timestamp (bool) - Whether to accept all joint states no matter what the timestamp (true), or to only publish joint state updates if they are newer than the last publish_frequency (false). Defaults to false.
  • frame_prefix (string) - An arbitrary prefix to add to the published tf2 frames. Defaults to the empty string.
CHANGELOG

Changelog for package robot_state_publisher

2.5.3 (2022-02-17)

  • Publish new fixed transforms when URDF is updated (#189)
  • Contributors: Chris Lalancette

2.5.2 (2021-11-30)

  • Prevent robot_state_publisher from publishing on a timer (#175)
  • Contributors: Daisuke Nishimatsu

2.5.1 (2021-08-04)

2.4.4 (2021-08-02)

  • Restore tf frame prefix support for ROS 2 (#159) (#171)
  • Contributors: Chris Lalancette

2.4.3 (2021-04-19)

  • Stop rejecting unknown parameters. (#161)
  • Contributors: Chris Lalancette

2.4.2 (2021-01-25)

  • clean up license to be standard bsd 3 clause (#130)
  • Update the maintainers. (#151)
  • Contributors: Chris Lalancette, Tully Foote

2.4.1 (2020-09-28)

  • fix types in range loops to avoid copy due to different type (#143)
  • Make sure not to crash on an invalid URDF. (#141)
  • Contributors: Chris Lalancette, Dirk Thomas

2.4.0 (2020-04-30)

  • Replace deprecated launch_ros usage (#137)
  • code style only: wrap after open parenthesis if not in one line (#129)
  • Refactor the ROS 2 code to be more modern (#126)
  • Switch to using TARGET_FILE to find the binary targets on Windows.
  • Fix tests on Windows.
  • Make the error message much nicer on Windows.
  • robot_state_publisher_node -> robot_state_publisher
  • Fix test build on Windows.
  • Get rid of redundant declaration.
  • Guard against negative publish_frequencies.
  • Switch to modern launch_testing ReadyToTest.
  • Add testing to robot_state_publisher.
  • Update some example launch files.
  • Implement the ability to change the parameters on the fly.
  • Fix silly bug while computing the publish interval.
  • Refactor to have a "setup" function during the constructor and later on during the parameter setup.
  • Mark things as explicit and final.
  • Update the documentation.
  • Make robot_state_publisher composable.
  • Contributors: Chris Lalancette, Dirk Thomas, Jacob Perron

2.3.1 (2019-10-23)

  • Switch the license back to BSD. (#121)
  • Contributors: Chris Lalancette

2.3.0 (2019-09-26)

  • Install include directories (#31)
  • Publish URDF string on startup (#24)
  • Contributors: Patrick Beeson, Poh Zhi-Ee, Shane Loretz

2.2.4 (2019-09-06)

  • Remove unused Eigen3 dependency (#27) (#29)
  • Don't export exe as library (#25) (ros2 #28)
  • Contributors: Shane Loretz

2.2.3 (2019-06-12)

  • Use rclcpp::Time for stamping transforms (#20)
  • Contributors: Scott K Logan

2.2.2 (2019-05-08)

  • changes to avoid deprecated API's (#19)
  • Contributors: William Woodall

2.2.1 (2019-04-26)

  • Updated to avoid deprecated API. (#18)
  • Contributors: William Woodall

2.2.0 (2019-04-14)

  • Set urdf content as parameter. (#15)
  • Contributors: Karsten Knese

2.1.0 (2018-06-27)

  • The robot model is now published on the robot_description topic as a std_msgs/String.msg. (#9)
  • Contributors: Brett, Mikael Arguedas

1.13.4 (2017-01-05)

  • Use urdf::*ShredPtr instead of boost::shared_ptr (#60)
  • Error log for empty JointState.position was downgraded to a throttled warning (#64)
  • Contributors: Jochen Sprickerhof, Sébastien BARTHÉLÉMY

1.13.3 (2016-10-20)

  • Added a new parameter "ignore_timestamp" (#65)
  • Fixed joints are not published over tf_static by default (#56)
  • Fixed segfault on undefined robot_description (#61)
  • Fixed cmake eigen3 warning (#62)
  • Contributors: Davide Faconti, Ioan A Sucan, Johannes Meyer, Robert Haschke

1.13.2 (2016-06-10)

  • Add target_link_libraries for joint_state_listener library + install it (#54)
  • Contributors: Kartik Mohta

1.13.1 (2016-05-20)

  • Add back future dating for robot_state_publisher (#49) (#51)
  • Fix subclassing test (#48)
  • Support for subclassing (#45)
    • Add joint_state_listener as a library
  • Contributors: Jackie Kay

1.13.0 (2016-04-12)

  • fix bad rebase
  • Contributors: Jackie Kay, Paul Bovbel

1.12.1 (2016-02-22)

  • Merge pull request #42 from ros/fix_tests_jade Fix tests for Jade
  • Correct failing tests
  • Re-enabling rostests
  • Merge pull request #39 from scpeters/issue_38
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.12.0 (2015-10-21)

  • Merge pull request #37 from clearpathrobotics/static-default Publish fixed joints over tf_static by default
  • Merge pull request #34 from ros/tf2-static-jade Port to tf2 and enable using static broadcaster
  • Merge pull request #32 from shadow-robot/fix_issue#19 Check URDF to distinguish fixed joints from floating joints. Floating joint are ignored by the publisher.
  • Merge pull request #26 from xqms/remove-debug get rid of argv[0] debug output on startup
  • Contributors: David Lu!!, Ioan A Sucan, Jackie Kay, Max Schwarz, Paul Bovbel, Toni Oliver

1.11.1 (2016-02-22)

  • Merge pull request #41 from ros/fix_tests_indigo Re-enable and clean up rostests
  • Correct failing tests
  • Re-enabling rostests
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.11.0 (2015-10-21)

  • Merge pull request #28 from clearpathrobotics/tf2-static

1.10.4 (2014-11-30)

  • Merge pull request #21 from rcodddow/patch-1
  • Fix for joint transforms not being published anymore after a clock reset (e.g. when playing a bagfile and looping)
  • Contributors: Ioan A Sucan, Robert Codd-Downey, Timm Linder

1.10.3 (2014-07-24)

  • add version depend on orocos_kdl >= 1.3.0 Conflicts: package.xml
  • Update KDL SegmentMap interface to optionally use shared pointers The KDL Tree API optionally uses shared pointers on platforms where the STL containers don't support incomplete types.
  • Contributors: Brian Jensen, William Woodall

1.10.0 (2014-03-03)

  • minor style fixes
  • Add support for mimic tag.
  • Contributors: Ioan Sucan, Konrad Banachowicz

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/rsp-launch-urdf-inline.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-xacro-command-subst.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-urdf-file.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robot_state_publisher at Robotics Stack Exchange

robot_state_publisher package from robot_state_publisher repo

robot_state_publisher

Package Summary

Tags No category tags.
Version 3.2.1
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description Allows you to publish the state of a robot (i.e the position of its base and all joints) via the "tf" transform library
Checkout URI https://github.com/ros/robot_state_publisher.git
VCS Type git
VCS Version iron
Last Updated 2024-02-07
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package take the joint angles of a robot as input, and publishes the 3D poses of the robot links to tf2, using a kinematic tree model of the robot.

Additional Links

No additional links.

Maintainers

  • Chris Lalancette

Authors

  • Karsten Knese
  • Shane Loretz

Robot State Publisher

This package contains the Robot State Publisher, a node and a class to publish the state of a robot to tf2. At startup time, Robot State Publisher is supplied with a kinematic tree model (URDF) of the robot. It then subscribes to the joint_states topic (of type sensor_msgs/msg/JointState) to get individual joint states. These joint states are used to update the kinematic tree model, and the resulting 3D poses are then published to tf2.

Robot State Publisher deals with two different “classes” of joint types: fixed and movable. Fixed joints (with the type “fixed”) are published to the transient_local /tf_static topic once on startup (transient_local topics keep a history of what they published, so a later subscription can always get the latest state of the world). Movable joints are published to the regular /tf topic any time the appropriate joint is updated in the joint_states message.

Examples showing how to pass the robot_description parameter using a launch file are available in the ‘launch’ subdirectory.

Published Topics

  • robot_description (std_msgs/msg/String) - The description of the robot URDF as a string. Republishes the value set in the robot_description parameter, which is useful for getting informed of dynamic changes to the URDF. Published using the “transient local” quality of service, so subscribers should also be “transient local”.
  • tf (tf2_msgs/msg/TFMessage) - The transforms corresponding to the movable joints of the robot.
  • tf_static (tf2_msgs/msg/TFMessage) - The transforms corresponding to the static joints of the robot.

Subscribed Topics

  • joint_states (sensor_msgs/msg/JointState) - The joint state updates to the robot poses. The RobotStatePublisher class takes these updates, does transformations (such as mimic joints), and then publishes the results on the tf2 topics.

Parameters

  • robot_description (string) - The original description of the robot in URDF form. This must be set at robot_state_publisher startup time, or the node will fail to start. Updates to this parameter will be reflected in the robot_description topic.
  • publish_frequency (double) - The maximum frequency at which non-static transforms (e.g. joint states) will be published to /tf. Defaults to 20.0 Hz.
  • ignore_timestamp (bool) - Whether to accept all joint states no matter what the timestamp (true), or to only publish joint state updates if they are newer than the last publish_frequency (false). Defaults to false.
  • frame_prefix (string) - An arbitrary prefix to add to the published tf2 frames. Defaults to the empty string.
CHANGELOG

Changelog for package robot_state_publisher

3.2.1 (2024-02-07)

  • Fix reload after a description with a mimic joint (#213)
  • Contributors: Guillaume Doisy

3.2.0 (2023-04-11)

  • Update robot_state_publisher to C++17. (#204)
  • Contributors: Chris Lalancette

3.1.2 (2023-02-13)

  • [rolling] Update maintainers - 2022-11-07 (#203)
  • Contributors: Audrow Nash

3.1.1 (2022-09-13)

  • Mirror rolling to ros2
  • Contributors: Audrow Nash

3.1.0 (2022-05-10)

3.0.2 (2022-04-05)

  • Depend on orocos_kdl_vendor (#191)
  • Contributors: Jacob Perron

3.0.1 (2022-03-28)

  • export dependencies, to use robot_state_publisher as a component (#193)
  • Contributors: Kenji Brameld

3.0.0 (2022-01-14)

  • Fix include order for cpplint (#186)
  • Change how parameter updates are handled (#180)
  • Install includes to instal/${PROJECT_NAME} (#184)
  • Make the change_fixed_joint test more robust (#183)
  • Add in a test to make sure fixed transforms change on update
  • Small C++ nice-isms in the tests
  • Switch to using target_include_directories for tests
  • Publish new fixed transforms when URDF is updated
  • Make joint_states subscription QoS configurable; default to SensorDataQoS (#179)
  • Remove dependency on urdfdom_headers (#168)
  • Contributors: Anthony Deschamps, Chris Lalancette, Jacob Perron, Russell Joyce, Shane Loretz

2.7.0 (2021-10-18)

  • Fix deprecated subscriber callbacks (#173)
  • Contributors: Abrar Rahman Protyasha

2.6.0 (2021-08-02)

  • Cleanup the documentation in the RobotStatePublisher class. (#172)
  • Always publish fixed frames to /tf_static (#158)
  • corrected publish_frequency default in README (#166)
  • Contributors: Chris Lalancette, Jacob Perron, Nils Schulte

2.5.0 (2021-06-11)

  • Add tf frame_prefix parameter (#159)
  • Contributors: Steve Nogar, Chris Lalancette

2.4.3 (2021-04-19)

  • Stop rejecting unknown parameters. (#161)
  • Contributors: Chris Lalancette

2.4.2 (2021-01-25)

  • clean up license to be standard bsd 3 clause (#130)
  • Update the maintainers. (#151)
  • Contributors: Chris Lalancette, Tully Foote

2.4.1 (2020-09-28)

  • fix types in range loops to avoid copy due to different type (#143)
  • Make sure not to crash on an invalid URDF. (#141)
  • Contributors: Chris Lalancette, Dirk Thomas

2.4.0 (2020-04-30)

  • Replace deprecated launch_ros usage (#137)
  • code style only: wrap after open parenthesis if not in one line (#129)
  • Refactor the ROS 2 code to be more modern (#126)
  • Switch to using TARGET_FILE to find the binary targets on Windows.
  • Fix tests on Windows.
  • Make the error message much nicer on Windows.
  • robot_state_publisher_node -> robot_state_publisher
  • Fix test build on Windows.
  • Get rid of redundant declaration.
  • Guard against negative publish_frequencies.
  • Switch to modern launch_testing ReadyToTest.
  • Add testing to robot_state_publisher.
  • Update some example launch files.
  • Implement the ability to change the parameters on the fly.
  • Fix silly bug while computing the publish interval.
  • Refactor to have a "setup" function during the constructor and later on during the parameter setup.
  • Mark things as explicit and final.
  • Update the documentation.
  • Make robot_state_publisher composable.
  • Contributors: Chris Lalancette, Dirk Thomas, Jacob Perron

2.3.1 (2019-10-23)

  • Switch the license back to BSD. (#121)
  • Contributors: Chris Lalancette

2.3.0 (2019-09-26)

  • Install include directories (#31)
  • Publish URDF string on startup (#24)
  • Contributors: Patrick Beeson, Poh Zhi-Ee, Shane Loretz

2.2.4 (2019-09-06)

  • Remove unused Eigen3 dependency (#27) (#29)
  • Don't export exe as library (#25) (ros2 #28)
  • Contributors: Shane Loretz

2.2.3 (2019-06-12)

  • Use rclcpp::Time for stamping transforms (#20)
  • Contributors: Scott K Logan

2.2.2 (2019-05-08)

  • changes to avoid deprecated API's (#19)
  • Contributors: William Woodall

2.2.1 (2019-04-26)

  • Updated to avoid deprecated API. (#18)
  • Contributors: William Woodall

2.2.0 (2019-04-14)

  • Set urdf content as parameter. (#15)
  • Contributors: Karsten Knese

2.1.0 (2018-06-27)

  • The robot model is now published on the robot_description topic as a std_msgs/String.msg. (#9)
  • Contributors: Brett, Mikael Arguedas

1.13.4 (2017-01-05)

  • Use urdf::*ShredPtr instead of boost::shared_ptr (#60)
  • Error log for empty JointState.position was downgraded to a throttled warning (#64)
  • Contributors: Jochen Sprickerhof, Sébastien BARTHÉLÉMY

1.13.3 (2016-10-20)

  • Added a new parameter "ignore_timestamp" (#65)
  • Fixed joints are not published over tf_static by default (#56)
  • Fixed segfault on undefined robot_description (#61)
  • Fixed cmake eigen3 warning (#62)
  • Contributors: Davide Faconti, Ioan A Sucan, Johannes Meyer, Robert Haschke

1.13.2 (2016-06-10)

  • Add target_link_libraries for joint_state_listener library + install it (#54)
  • Contributors: Kartik Mohta

1.13.1 (2016-05-20)

  • Add back future dating for robot_state_publisher (#49) (#51)
  • Fix subclassing test (#48)
  • Support for subclassing (#45)
    • Add joint_state_listener as a library
  • Contributors: Jackie Kay

1.13.0 (2016-04-12)

  • fix bad rebase
  • Contributors: Jackie Kay, Paul Bovbel

1.12.1 (2016-02-22)

  • Merge pull request #42 from ros/fix_tests_jade Fix tests for Jade
  • Correct failing tests
  • Re-enabling rostests
  • Merge pull request #39 from scpeters/issue_38
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.12.0 (2015-10-21)

  • Merge pull request #37 from clearpathrobotics/static-default Publish fixed joints over tf_static by default
  • Merge pull request #34 from ros/tf2-static-jade Port to tf2 and enable using static broadcaster
  • Merge pull request #32 from shadow-robot/fix_issue#19 Check URDF to distinguish fixed joints from floating joints. Floating joint are ignored by the publisher.
  • Merge pull request #26 from xqms/remove-debug get rid of argv[0] debug output on startup
  • Contributors: David Lu!!, Ioan A Sucan, Jackie Kay, Max Schwarz, Paul Bovbel, Toni Oliver

1.11.1 (2016-02-22)

  • Merge pull request #41 from ros/fix_tests_indigo Re-enable and clean up rostests
  • Correct failing tests
  • Re-enabling rostests
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.11.0 (2015-10-21)

  • Merge pull request #28 from clearpathrobotics/tf2-static

1.10.4 (2014-11-30)

  • Merge pull request #21 from rcodddow/patch-1
  • Fix for joint transforms not being published anymore after a clock reset (e.g. when playing a bagfile and looping)
  • Contributors: Ioan A Sucan, Robert Codd-Downey, Timm Linder

1.10.3 (2014-07-24)

  • add version depend on orocos_kdl >= 1.3.0 Conflicts: package.xml
  • Update KDL SegmentMap interface to optionally use shared pointers The KDL Tree API optionally uses shared pointers on platforms where the STL containers don't support incomplete types.
  • Contributors: Brian Jensen, William Woodall

1.10.0 (2014-03-03)

  • minor style fixes
  • Add support for mimic tag.
  • Contributors: Ioan Sucan, Konrad Banachowicz

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

  • launch/rsp-launch-urdf-inline.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-xacro-command-subst.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • launch/rsp-launch-urdf-file.xml
    • Copyright (c) 2020 Open Source Robotics Foundation, Inc. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robot_state_publisher at Robotics Stack Exchange

robot_state_publisher package from robot_state_publisher repo

robot_state_publisher

Package Summary

Tags No category tags.
Version 1.14.1
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description Allows you to publish the state of a robot (i.e the position of its base and all joints) via the "tf" transform library
Checkout URI https://github.com/ros/robot_state_publisher.git
VCS Type git
VCS Version melodic-devel
Last Updated 2020-10-05
Dev Status MAINTAINED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package allows you to publish the state of a robot to

Additional Links

Maintainers

  • Chris Lalancette
  • Ian McMahon
  • Shane Loretz

Authors

  • Ioan Sucan
  • Jackie Kay
  • Wim Meeussen
README
No README found. No README in repository either.
CHANGELOG

Changelog for package robot_state_publisher

1.14.1 (2020-04-02)

  • Bump CMake version to avoid CMP0048 warning (#132)
  • Make sure to make sensor_msgs a catkin dependency. (#123)
  • Add joint_state_listener to the catkin package LIBRARIES (#112)
  • Contributors: Alejandro Hernández Cordero, Chris Lalancette, sevangelatos

1.14.0 (2019-08-27)

  • Revert "Remove dependency on tf and tf_prefix support (#82)" (#113)
  • update how compiler flags are added (#104)
  • update install destination in CMakeLists.txt (#103)
  • Remove treefksolver completely from the repository. (#100)
  • changed return code from -1 to 1 since its considered a reserved bash exit code (#98)
  • Fixed problem when building static library version (#92) (#96)
  • Add Ian as a maintainer for robot_state_publisher. (#94)
  • added warning when joint is found in joint message but not in the urdf (#83)
  • added ros_warn if JointStateMessage is older than 30 seconds (#84)
  • Add tcp_no_delay to joint_states subscriber (#80) (#85)
  • Remove dependency on tf and tf_prefix support (#82)
  • make rostest in CMakeLists optional (ros/rosdistro#3010) (#75)
  • Added c++11 target_compile_options (#78)
  • Contributors: Chris Lalancette, James Xu, Lukas Bulwahn, Shane Loretz, betab0t, jgueldenstein

1.13.5 (2017-04-11)

  • Style cleanup throughout the tree.
  • add Chris and Shane as maintainers (#70)
  • Contributors: Chris Lalancette, William Woodall

1.13.4 (2017-01-05)

  • Use urdf::*ShredPtr instead of boost::shared_ptr (#60)
  • Error log for empty JointState.position was downgraded to a throttled warning (#64)
  • Contributors: Jochen Sprickerhof, Sébastien BARTHÉLÉMY

1.13.3 (2016-10-20)

  • Added a new parameter "ignore_timestamp" (#65)
  • Fixed joints are not published over tf_static by default (#56)
  • Fixed segfault on undefined robot_description (#61)
  • Fixed cmake eigen3 warning (#62)
  • Contributors: Davide Faconti, Ioan A Sucan, Johannes Meyer, Robert Haschke

1.13.2 (2016-06-10)

  • Add target_link_libraries for joint_state_listener library + install it (#54)
  • Contributors: Kartik Mohta

1.13.1 (2016-05-20)

  • Add back future dating for robot_state_publisher (#49) (#51)
  • Fix subclassing test (#48)
  • Support for subclassing (#45)
    • Add joint_state_listener as a library
  • Contributors: Jackie Kay

1.13.0 (2016-04-12)

  • fix bad rebase
  • Contributors: Jackie Kay, Paul Bovbel

1.12.1 (2016-02-22)

  • Merge pull request #42 from ros/fix_tests_jade Fix tests for Jade
  • Correct failing tests
  • Re-enabling rostests
  • Merge pull request #39 from scpeters/issue_38
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.12.0 (2015-10-21)

  • Merge pull request #37 from clearpathrobotics/static-default Publish fixed joints over tf_static by default
  • Merge pull request #34 from ros/tf2-static-jade Port to tf2 and enable using static broadcaster
  • Merge pull request #32 from shadow-robot/fix_issue#19 Check URDF to distinguish fixed joints from floating joints. Floating joint are ignored by the publisher.
  • Merge pull request #26 from xqms/remove-debug get rid of argv[0] debug output on startup
  • Contributors: David Lu!!, Ioan A Sucan, Jackie Kay, Max Schwarz, Paul Bovbel, Toni Oliver

1.11.1 (2016-02-22)

  • Merge pull request #41 from ros/fix_tests_indigo Re-enable and clean up rostests
  • Correct failing tests
  • Re-enabling rostests
  • Fix API break in publishFixedTransforms A bool argument was added to RobotStatePublisher::publishFixedTransforms which broke API. I've added a default value of false, to match the default specified in the JointStateListener constructor.
  • Contributors: Jackie Kay, Jonathan Bohren, Steven Peters

1.11.0 (2015-10-21)

  • Merge pull request #28 from clearpathrobotics/tf2-static

1.10.4 (2014-11-30)

  • Merge pull request #21 from rcodddow/patch-1
  • Fix for joint transforms not being published anymore after a clock reset (e.g. when playing a bagfile and looping)
  • Contributors: Ioan A Sucan, Robert Codd-Downey, Timm Linder

1.10.3 (2014-07-24)

  • add version depend on orocos_kdl >= 1.3.0 Conflicts: package.xml
  • Update KDL SegmentMap interface to optionally use shared pointers The KDL Tree API optionally uses shared pointers on platforms where the STL containers don't support incomplete types.
  • Contributors: Brian Jensen, William Woodall

1.10.0 (2014-03-03)

  • minor style fixes
  • Add support for mimic tag.
  • Contributors: Ioan Sucan, Konrad Banachowicz

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Name Deps
abb_irb2400_moveit_config
abb_irb2400_support
abb_irb4400_support
abb_irb5400_support
abb_irb6600_support
abb_irb6640_moveit_config
abb_irb6640_support
ati_force_torque
audibot_gazebo
cartographer_ros
caster_control
cob_cartesian_controller
cob_obstacle_distance
cob_twist_controller
cob_grasp_generation
cob_moveit_bringup
cob_bringup
cob_hardware_config
cob_gazebo_worlds
crane_x7_moveit_config
create_description
dbw_fca_description
dbw_mkz_description
dbw_polaris_description
denso_robot_moveit_config
desistek_saga_description
dingo_description
dynamic_robot_state_publisher
eca_a9_description
ensenso_camera
exotica_examples
fake_joint_driver
fake_joint_launch
fanuc_cr35ia_support
fanuc_cr7ia_moveit_config
fanuc_cr7ia_support
fanuc_cr7ial_moveit_config
fanuc_lrmate200i_moveit_config
fanuc_lrmate200i_support
fanuc_lrmate200ib3l_moveit_config
fanuc_lrmate200ib_moveit_config
fanuc_lrmate200ib_support
fanuc_lrmate200ic5h_moveit_config
fanuc_lrmate200ic5l_moveit_config
fanuc_lrmate200ic_moveit_config
fanuc_lrmate200ic_support
fanuc_m10ia_moveit_config
fanuc_m10ia_support
fanuc_m16ib20_moveit_config
fanuc_m16ib_support
fanuc_m20ia10l_moveit_config
fanuc_m20ia_moveit_config
fanuc_m20ia_support
fanuc_m20ib25_moveit_config
fanuc_m20ib_support
fanuc_m430ia2f_moveit_config
fanuc_m430ia2p_moveit_config
fanuc_m430ia_support
fanuc_m6ib6s_moveit_config
fanuc_m6ib_moveit_config
fanuc_m6ib_support
fanuc_m710ic_support
fanuc_m900ia_support
fanuc_m900ib_support
fanuc_r1000ia80f_moveit_config
fanuc_r1000ia_support
fanuc_lrmate200id7l_moveit_config
fanuc_lrmate200id_moveit_config
fanuc_lrmate200id_support
fanuc_r2000ib_support
fanuc_r2000ic_support
fetch_gazebo
fetchit_challenge
fetch_bringup
freight_bringup
fetch_moveit_config
flir_ptu_driver
flir_ptu_viz
franka_control
fsrobo_r_bringup
fsrobo_r_description
fsrobo_r_moveit_config
gundam_rx78_control
gundam_rx78_description
heron_description
heron_simulator
husky_control
husky_viz
igvc_self_drive_gazebo
igvc_self_drive_gazebo_plugins
industrial_robot_client
jackal_description
jsk_tilt_laser
pr2eus
pr2eus_openrave
jsk_pcl_ros
jsk_rviz_plugins
khi_duaro_moveit_config
khi_robot_bringup
khi_rs007l_moveit_config
khi_rs007n_moveit_config
khi_rs013n_moveit_config
khi_rs020n_moveit_config
khi_rs025n_moveit_config
khi_rs030n_moveit_config
khi_rs080n_moveit_config
kobuki_gazebo
lauv_description
leo_description
leo_viz
leo_bringup
leuze_bringup
leuze_description
robot
tra1_bringup
tra1_description
tra1_moveit_config
mir_description
mir_driver
mir_gazebo
moose_description
moose_gazebo
pr2_moveit_config
moveit_resources_dual_panda_moveit_config
moveit_resources_fanuc_moveit_config
moveit_resources
moveit_resources_panda_moveit_config
moveit_resources_prbt_moveit_config
mrp2_teleop
mrp2_bringup
multisense_bringup
naoqi_driver
open_manipulator_p_description
open_manipulator_with_tb3_description
open_manipulator_with_tb3_tools
open_manipulator_with_tb3_waffle_moveit
open_manipulator_with_tb3_waffle_pi_moveit
panda_moveit_config
pass_through_controllers
pf_description
prbt_moveit_config
prbt_support
pincher_arm_bringup
pincher_arm_moveit_config
play_motion
pointgrey_camera_description
pouco2000_ros_gazebo
pr2_controller_manager
pr2_bringup
pr2_gazebo
psen_scan_v2
raspimouse_description
rexrov2_description
ridgeback_description
robotont_description
effort_controllers
cartesian_trajectory_controller
hrpsys_ros_bridge
nextage_calibration
nextage_moveit_config
sciurus17_moveit_config
seed_r7_bringup
seed_r7_moveit_config
seed_r7_typef_moveit_config
seed_r7_typeg2_arm_moveit_config
seed_r7_typeg_arm_moveit_config
seed_r7_typeg_moveit_config
sick_ldmrs_description
sick_ldmrs_tools
sick_tim
sr_hand
sr_edc_controller_configuration
sr_moveit_hand_config
sr_box_ur10_moveit_config
sr_multi_moveit_config
sr_multi_moveit_test
sr_robot_launch
staubli_rx160_moveit_config
staubli_rx160_support
staubli_rx160_gazebo
staubli_tx2_60_support
staubli_tx2_90_support
staubli_tx60_gazebo
staubli_tx60_support
staubli_tx90_gazebo
staubli_tx90_support
talos_bringup
turtlebot3_fake
uwsim
ur10_moveit_config
ur10e_moveit_config
ur16e_moveit_config
ur3_moveit_config
ur3e_moveit_config
ur5_moveit_config
ur5e_moveit_config
ur_description
ur_gazebo
ur_robot_driver
urdf_sim_tutorial
urdf_tutorial
uuv_thruster_manager
uuv_descriptions
rwt_moveit
warthog_description
webots_ros
xpp_vis
zivid_samples

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robot_state_publisher at Robotics Stack Exchange