dynamic_robot_state_publisher repository

Repository Summary

Checkout URI https://github.com/peci1/dynamic_robot_state_publisher.git
VCS Type git
VCS Version master
Last Updated 2019-03-17
Dev Status DEVELOPED
Released RELEASED

Packages

Name Version
dynamic_robot_state_publisher 1.1.1

README

dynamic_robot_state_publisher

Improved ROS robot_state_publisher which can update the robot model via dynamic_reconfigure.

Nodes

dynamic_robot_state_publisher

Use this node as a replacement for robot_state_publisher/robot_state_publisher.

It behaves the same way, except it also spawns a dynamic reconfigure server in the node's namespace. This server can receive updates of the robot model, to which it reacts by reloading the robot model.

Rationale

This package was created as one of the workarounds to issue Reload robot model (e.g. during calibration).

If you read that issue, you learn that this problem is quite complex and this package is a solution just to a subclass of the problems. E.g. 3rd party packages do not expect the robot_description parameter to change, and so you have to somehow tell them to do so (e.g. by restarting their nodes).

One of the things that this package does and is probably aginst good practices is it tries to delete static transforms that disappeared after model reload. This deletion is implemented by reconnecting the frames to virtual frame DynamicRobotStatePublisher::DELETED_STATIC_TFS_FRAME. This effectively breaks the assumption that a static TF is valid all the time. These static TFs are not. You have to count with that in the rest of your codebase.

Alternatives

Repository Summary

Checkout URI https://github.com/peci1/dynamic_robot_state_publisher.git
VCS Type git
VCS Version master
Last Updated 2019-03-17
Dev Status DEVELOPED
Released RELEASED

Packages

Name Version
dynamic_robot_state_publisher 1.1.1

README

dynamic_robot_state_publisher

Improved ROS robot_state_publisher which can update the robot model via dynamic_reconfigure.

Nodes

dynamic_robot_state_publisher

Use this node as a replacement for robot_state_publisher/robot_state_publisher.

It behaves the same way, except it also spawns a dynamic reconfigure server in the node's namespace. This server can receive updates of the robot model, to which it reacts by reloading the robot model.

Rationale

This package was created as one of the workarounds to issue Reload robot model (e.g. during calibration).

If you read that issue, you learn that this problem is quite complex and this package is a solution just to a subclass of the problems. E.g. 3rd party packages do not expect the robot_description parameter to change, and so you have to somehow tell them to do so (e.g. by restarting their nodes).

One of the things that this package does and is probably aginst good practices is it tries to delete static transforms that disappeared after model reload. This deletion is implemented by reconnecting the frames to virtual frame DynamicRobotStatePublisher::DELETED_STATIC_TFS_FRAME. This effectively breaks the assumption that a static TF is valid all the time. These static TFs are not. You have to count with that in the rest of your codebase.

Alternatives

Repository Summary

Checkout URI https://github.com/peci1/dynamic_robot_state_publisher.git
VCS Type git
VCS Version master
Last Updated 2019-03-17
Dev Status DEVELOPED
Released RELEASED

Packages

Name Version
dynamic_robot_state_publisher 1.1.1

README

dynamic_robot_state_publisher

Improved ROS robot_state_publisher which can update the robot model via dynamic_reconfigure.

Nodes

dynamic_robot_state_publisher

Use this node as a replacement for robot_state_publisher/robot_state_publisher.

It behaves the same way, except it also spawns a dynamic reconfigure server in the node's namespace. This server can receive updates of the robot model, to which it reacts by reloading the robot model.

Rationale

This package was created as one of the workarounds to issue Reload robot model (e.g. during calibration).

If you read that issue, you learn that this problem is quite complex and this package is a solution just to a subclass of the problems. E.g. 3rd party packages do not expect the robot_description parameter to change, and so you have to somehow tell them to do so (e.g. by restarting their nodes).

One of the things that this package does and is probably aginst good practices is it tries to delete static transforms that disappeared after model reload. This deletion is implemented by reconnecting the frames to virtual frame DynamicRobotStatePublisher::DELETED_STATIC_TFS_FRAME. This effectively breaks the assumption that a static TF is valid all the time. These static TFs are not. You have to count with that in the rest of your codebase.

Alternatives