Show EOL distros:
Package Summary
This package contains a set of tools that can be used from a hard realtime thread, without breaking the realtime behavior. The tools currently only provides the realtime publisher, which makes it possible to publish messages to a ROS topic from a realtime thread. We plan to add a basic implementation of a realtime buffer, to make it possible to get data from a (non-realtime) topic callback into tha realtime loop. Once the lockfree buffer is created, the realtime publisher will start using it, which will result in major API changes for the realtime publisher (removal of all lock methods).
- Author: Stuart Glaser <sglaser AT willowgarage DOT com>
- License: BSD
- Repository: pr2-ros-pkg
- Source: hg https://kforge.ros.org/pr2mechanism/hg
Package Summary
This package contains a set of tools that can be used from a hard realtime thread, without breaking the realtime behavior. The tools currently only provides the realtime publisher, which makes it possible to publish messages to a ROS topic from a realtime thread. We plan to add a basic implementation of a realtime buffer, to make it possible to get data from a (non-realtime) topic callback into tha realtime loop. Once the lockfree buffer is created, the realtime publisher will start using it, which will result in major API changes for the realtime publisher (removal of all lock methods).
- Author: Stuart Glaser <sglaser AT willowgarage DOT com>
- License: BSD
- Source: hg https://kforge.ros.org/pr2mechanism/hg (branch: pr2_mechanism-1.5)
Package Summary
This package contains a set of tools that can be used from a hard realtime thread, without breaking the realtime behavior. The tools currently only provides the realtime publisher, which makes it possible to publish messages to a ROS topic from a realtime thread. We plan to add a basic implementation of a realtime buffer, to make it possible to get data from a (non-realtime) topic callback into tha realtime loop. Once the lockfree buffer is created, the realtime publisher will start using it, which will result in major API changes for the realtime publisher (removal of all lock methods).
- Author: Stuart Glaser <sglaser AT willowgarage DOT com>
- License: BSD
- Source: hg https://kforge.ros.org/pr2mechanism/hg (branch: default)
Package Summary
This package contains a set of tools that can be used from a hard realtime thread, without breaking the realtime behavior. The tools currently only provides the realtime publisher, which makes it possible to publish messages to a ROS topic from a realtime thread. We plan to add a basic implementation of a realtime buffer, to make it possible to get data from a (non-realtime) topic callback into tha realtime loop. Once the lockfree buffer is created, the realtime publisher will start using it, which will result in major API changes for the realtime publisher (removal of all lock methods).
- Author: Stuart Glaser <sglaser AT willowgarage DOT com>
- License: BSD
- Source: hg https://kforge.ros.org/pr2mechanism/hg (branch: default)
Package Summary
This package contains a set of tools that can be used from a hard realtime thread, without breaking the realtime behavior. The tools currently only provides the realtime publisher, which makes it possible to publish messages to a ROS topic from a realtime thread. We plan to add a basic implementation of a realtime buffer, to make it possible to get data from a (non-realtime) topic callback into the realtime loop. Once the lockfree buffer is created, the realtime publisher will start using it, which will result in major API changes for the realtime publisher (removal of all lock methods).
- Maintainer status: maintained
- Maintainer: Stuart Glaser <sglaser AT willowgarage DOT com>
- Author: Stuart Glaser <sglaser AT willowgarage DOT com>
- License: BSD
- Source: git https://github.com/ros-controls/realtime_tools.git (branch: hydro-devel)
Package Summary
Contains a set of tools that can be used from a hard realtime thread, without breaking the realtime behavior. The tools currently only provides the realtime publisher, which makes it possible to publish messages to a ROS topic from a realtime thread. We plan to add a basic implementation of a realtime buffer, to make it possible to get data from a (non-realtime) topic callback into the realtime loop. Once the lockfree buffer is created, the realtime publisher will start using it, which will result in major API changes for the realtime publisher (removal of all lock methods).
- Maintainer status: maintained
- Maintainer: Stuart Glaser <sglaser AT willowgarage DOT com>
- Author: Stuart Glaser <sglaser AT willowgarage DOT com>
- License: BSD
- Bug / feature tracker: https://github.com/ros-controls/realtime_tools/issues
- Source: git https://github.com/ros-controls/realtime_tools.git (branch: indigo-devel)
Package Summary
Contains a set of tools that can be used from a hard realtime thread, without breaking the realtime behavior. The tools currently only provides the realtime publisher, which makes it possible to publish messages to a ROS topic from a realtime thread. We plan to add a basic implementation of a realtime buffer, to make it possible to get data from a (non-realtime) topic callback into the realtime loop. Once the lockfree buffer is created, the realtime publisher will start using it, which will result in major API changes for the realtime publisher (removal of all lock methods).
- Maintainer status: maintained
- Maintainer: Stuart Glaser <sglaser AT willowgarage DOT com>
- Author: Stuart Glaser <sglaser AT willowgarage DOT com>
- License: BSD
- Bug / feature tracker: https://github.com/ros-controls/realtime_tools/issues
- Source: git https://github.com/ros-controls/realtime_tools.git (branch: indigo-devel)
Package Summary
Contains a set of tools that can be used from a hard realtime thread, without breaking the realtime behavior. The tools currently only provides the realtime publisher, which makes it possible to publish messages to a ROS topic from a realtime thread. We plan to add a basic implementation of a realtime buffer, to make it possible to get data from a (non-realtime) topic callback into the realtime loop. Once the lockfree buffer is created, the realtime publisher will start using it, which will result in major API changes for the realtime publisher (removal of all lock methods).
- Maintainer status: maintained
- Maintainer: Bence Magyar <bence.magyar.robotics AT gmail DOT com>, Gennaro Raiola <gennaro.raiola AT iit DOT it>
- Author: Stuart Glaser <sglaser AT willowgarage DOT com>
- License: BSD
- Bug / feature tracker: https://github.com/ros-controls/realtime_tools/issues
- Source: git https://github.com/ros-controls/realtime_tools.git (branch: kinetic-devel)
Package Summary
Contains a set of tools that can be used from a hard realtime thread, without breaking the realtime behavior. The tools currently only provides the realtime publisher, which makes it possible to publish messages to a ROS topic from a realtime thread. We plan to add a basic implementation of a realtime buffer, to make it possible to get data from a (non-realtime) topic callback into the realtime loop. Once the lockfree buffer is created, the realtime publisher will start using it, which will result in major API changes for the realtime publisher (removal of all lock methods).
- Maintainer status: maintained
- Maintainer: Bence Magyar <bence.magyar.robotics AT gmail DOT com>, Gennaro Raiola <gennaro.raiola AT iit DOT it>
- Author: Stuart Glaser <sglaser AT willowgarage DOT com>
- License: BSD
- Bug / feature tracker: https://github.com/ros-controls/realtime_tools/issues
- Source: git https://github.com/ros-controls/realtime_tools.git (branch: kinetic-devel)
Package Summary
Contains a set of tools that can be used from a hard realtime thread, without breaking the realtime behavior.
- Maintainer status: maintained
- Maintainer: Bence Magyar <bence.magyar.robotics AT gmail DOT com>, Gennaro Raiola <gennaro.raiola AT iit DOT it>
- Author: Stuart Glaser <sglaser AT willowgarage DOT com>
- License: BSD
- Bug / feature tracker: https://github.com/ros-controls/realtime_tools/issues
- Source: git https://github.com/ros-controls/realtime_tools.git (branch: melodic-devel)
Package Summary
Contains a set of tools that can be used from a hard realtime thread, without breaking the realtime behavior.
- Maintainer status: maintained
- Maintainer: Bence Magyar <bence.magyar.robotics AT gmail DOT com>, Gennaro Raiola <gennaro.raiola AT iit DOT it>
- Author: Stuart Glaser <sglaser AT willowgarage DOT com>
- License: BSD
- Bug / feature tracker: https://github.com/ros-controls/realtime_tools/issues
- Source: git https://github.com/ros-controls/realtime_tools.git (branch: noetic-devel)
Realtime Publisher
The realtime_tools::RealtimePublisher allows users that write C++ realtime controllers to publish messages on a ROS topic from a hard realtime loop. The normal ROS publisher is not realtime safe, and should not be used from within the update loop of a realtime controller. The realtime publisher is a wrapper around the ROS publisher; the wrapper creates an extra non-realtime thread that publishes messages on a ROS topic. The example below shows a typical usage of the realtime publisher in the init() and update() methods of a realtime controller:
1 #include <realtime_tools/realtime_publisher.h>
2
3 bool MyController::init(pr2_mechanism_model::RobotState *robot,
4 ros::NodeHandle &n)
5 {
6 ...
7
8 realtime_pub = new
9 realtime_tools::RealtimePublisher<mgs_type>(n, "topic", 4);
10 return true;
11 }
12
13
14 void MyController::update()
15 {
16 if (realtime_pub->trylock()){
17 realtime_pub->msg_.a_field = "hallo";
18 realtime_pub->msg_.header.stamp = ros::Time::now();
19 realtime_pub->unlockAndPublish();
20 }
21 ...
22 }