Package Summary

Tags No category tags.
Version 0.1.11
License BSD
Build type CATKIN

Repository Summary

Checkout URI
VCS Type git
VCS Version master
Last Updated 2024-05-08
CI status Continuous Integration : 0 / 0
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A template for ROS packages.

Additional Links

No additional links.


  • Qiayuan Liao


  • Qiayuan Liao



The robot_state_controller uses the URDF specified by the parameter robot_description and the joint positions from the hardware_interface::JointStateInterface to calculate the forward kinematics of the robot and publish the results via tf, and reads and manages the external incoming tf.

keywords: ROS, urdf, transformation, joint


The source code is released under a BSD 3-Clause license.

Author: DynamicX
Affiliation: DynamicX
Maintainer: DynamicX

The robot_state_controller package has been tested under ROS Melodic and Noetic on respectively 18.04 and 20.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

Hardware interface type

  • JointStateInterface Used to get the positions of different joints.
  • RobotStateInterface Used to obtain and maintain the transformation relationship of each link of the entire robot.


Installation from Packages

To install all packages from this repository as Debian packages use

sudo apt-get install ros-noetic-robot-state-controller

or better use rosdep:

sudo rosdep install --from-paths src


  • roscpp
  • rm_common
  • controller_interface
  • tf2_kdl
  • kdl_parser
  • realtime_tools


Subscribed Topics

  • tf (tf2_msgs/TFMessage)

Obtain and manage maintenance real-time transformation information.

  • tf_static(tf2_msgs/TFMessage)

Obtain and manage maintenance static transformation information.


  • publish_rate (double)

Publish frequency of state publisher, default: 50Hz.

  • use_tf_static (bool)

Set whether to use the /tf_static latched static transform broadcaster.Default: true.

  • ignore_timestamp (bool)

If true, ignore the publish_frequency and the timestamp of joint_states and publish a tf for each of the received joint_states. Default: false.

  • buffer_duration (double)

The time to keep a history of transforms.

  • robot_description (string)

The urdf xml robot description.

Complete description

  type: robot_state_controller/RobotStateController
  publish_rate: 100

Bugs & Feature Requests

Please report bugs and request features using the Issue Tracker.


Changelog for package robot_state_controller

0.1.11 (2023-06-20)

  • Merge branch \'master\' into dev/balance
  • Merge pull request #120 from ye-luo-xi-tui/master 0.1.10
  • Merge branch \'rm-controls:master\' into gpio_calibration_controller
  • Contributors: 1moule, ye-luo-xi-tui, yuchen

0.1.10 (2023-03-25)

  • Merge pull request #106 from ye-luo-xi-tui/master 0.1.9
  • Contributors: ye-luo-xi-tui

0.1.9 (2023-02-21)

  • Merge branch \'master\' into balance_standard
  • Merge pull request #97 from ye-luo-xi-tui/master 0.1.8
  • Contributors: ye-luo-xi-tui, yezi

0.1.8 (2022-11-24)

  • Merge pull request #86 from NaHCO3bc/Readme Fix the dependence part bug.
  • Fix the dependence part bug.
  • Merge pull request #85 from ye-luo-xi-tui/master 0.1.7
  • Contributors: NaHCO3bc, ye-luo-xi-tui

0.1.7 (2022-09-10)

  • Merge remote-tracking branch \'origin/master\'
  • Contributors: qiayuan

0.1.6 (2022-06-16)

  • Merge remote-tracking branch \'origin/master\'
  • Contributors: qiayuan

0.1.5 (2022-06-10)

  • Merge remote-tracking branch \'origin/master\'
  • 0.1.4
  • Merge branch \'master\' into gimbal_track
  • Merge pull request #46 from ye-luo-xi-tui/master Deprecated imu_filter_controller
  • Contributors: QiayuanLiao, YuuinIH, qiayuan, yezi

0.1.3 (2022-03-28)

  • Merge branch \'master\' into forward_feed
  • Merge branch \'master\' into standard3
  • Merge remote-tracking branch \'origin/master\'
  • Contributors: qiayuan, ye-luo-xi-tui, yezi

0.1.2 (2022-01-08)

  • Merge branch \'master\' of
  • Merge branch \'master\' into chassis/balance_imu_interface
  • Clear tf buffer when simulation reset
  • Merge branch \'gimbal/opti_or_simplify\' into chassis/balance_imu_interface
  • Add the config of robot_state_controller, load only one controller on launch instead of spawn controllers
  • Merge branch \'master\' into chassis/fix_filter
  • Merge remote-tracking branch \'origin/master\'
  • Fix tf_transform cleared before publish
  • Check the timestamp when receiving the tf transforms outside the rm_hw/rm_gazebo
  • Real time safe for robot_state_controller
  • Merge branch \'namespace\' # Conflicts: # rm_chassis_controllers/
  • Merge pull request #15 from ye-luo-xi-tui/namespace Change name of namespace:from hardware_interface to rm_control
  • Change name of namespace:from hardware_interface to rm_control.
  • Remove
  • Use "pragma once" in robot_state_controller headers instead of include guards.
  • Fix \"robot_state_controller: CMakeLists.txt: error: unconfigured build_depend on \'pluginlib\'\"
  • Format robot_state_controller using clang-format
  • Contributors: BruceLannn, MuZhou233, QiayuanLiao, YuuinIH, chenzheng, qiayuan, yezi

0.1.1 (2021-08-12)

  • Set all version to the same
  • Add license to robot_state_controller source files
  • Merge remote-tracking branch \'alias_memory/metapackage\'
  • Move all files to robot_state_controller/robot_state_controller, prepare for merge
  • Contributors: qiayuan

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages


No message files found.


No service files found

Recent questions tagged robot_state_controller at Robotics Stack Exchange