Comments (4)
I've renamed the issue from runtime
to startup time
.
Re-configuring QoS profiles at runtime is much harder, and not what the original issue was aiming for (the three linked workarounds are for startup qos configuration).
The idea is to have a way to externally configure the QoS settings when reusing a node someone else has written.
For different use cases, different QoS profiles may be desired.
This also matches what DDS allows.
from design.
This issue has been mentioned on ROS Discourse. There might be relevant details there:
from design.
This is possibly something that can be done via a set of well-known parameters. Maybe have the node base implementation check for those parameters when it creates publishers and subscribers, and use the QoS values from them if they exist?
I strongly agree with this comment about whether nodes should allow overriding or not. The node author is responsible for defining the allowable range of behaviour of their node, and that includes what range of QoS values it can support. They need to be able to prevent certain values being set. This is also something that the parameters mechanism could be leveraged to support, with its ability to reject certain parameter values.
Although a dedicated API that hides how it is being done could be useful.
from design.
A design doc was added in #300.
And subsequently implemented in ros2/rclcpp#1408 and ros2/rclpy#635
from design.
Related Issues (20)
- Middleware alternatives to DDS HOT 4
- fix login by using new GitHub methods HOT 1
- Changes between ROS 1 and ROS 2 design doc is out of date HOT 1
- Add support for fully qualified names in message defnitions
- Add support for preemption in actions HOT 39
- Update XML schema definition for launch files HOT 2
- Add [ros2 node kill <node_name>] and [ros2 node kill --all] (similar to [rosnode kill] from ros1) HOT 23
- Article numbering is not clear HOT 3
- Topic name constraints discrepancy HOT 9
- Documentation linter HOT 5
- zero-copy: shared memory using external mapped buffer HOT 3
- is intra-process communication meta-message transfered via DDS? HOT 4
- Logging Design Document
- Update Launch XML Schema HOT 3
- can we add a "date written" to the design docs? HOT 2
- Map char[N] to str in Python
- Why must field names of messages and services be lowercase? HOT 4
- how you configured opentcs nena ros2 adapter to your agv? HOT 1
- where is the discauss of register callback and run callback? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from design.