ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The problem is that I'm currently setting these values by 1) subscribing the topic 2) set the values and publish because I cannot access to a ros driver of this robot and modify the code. However, I personally don't like this method (redundancy & message filtering) and want to try any better way to directly set those values.
well, as messages are exchanged peer-to-peer between nodes, unfortunately there isn't a "better way" afaik.
I can only think of one other way to approach this, and that would be injecting them (ie: your covariances) on the consumer side (ie: the node which subscribes to these messages). If that node is under your control (ie: you can change the source), you could change its subscriber callback to first pre-process the incoming messages.
If it's not under your control, I believe subscribe-process-publish is what you'll need to do,
Note that you don't need to write a "whole new node" for this. topic_tools/transform can do most of the work for you. You just need to provide the correct expression.
2 | No.2 Revision |
The problem is that I'm currently setting these values by 1) subscribing the topic 2) set the values and publish because I cannot access to a ros driver of this robot and modify the code. However, I personally don't like this method (redundancy & message filtering) and want to try any better way to directly set those values.
well, as messages are exchanged peer-to-peer between nodes, unfortunately there isn't a "better way" afaik.
What did you have in mind yourself?
I can only think of one other way to approach this, and that would be injecting them (ie: your covariances) on the consumer side (ie: the node which subscribes to these messages). If that node is under your control (ie: you can change the source), you could change its subscriber callback to first pre-process the incoming messages.
If it's not under your control, I believe subscribe-process-publish is what you'll need to do,
Note that you don't need to write a "whole new node" for this. topic_tools/transform can do most of the work for you. You just need to provide the correct expression.
3 | No.3 Revision |
The problem is that I'm currently setting these values by 1) subscribing the topic 2) set the values and publish because I cannot access to a ros driver of this robot and modify the code. However, I personally don't like this method (redundancy & message filtering) and want to try any better way to directly set those values.
well, as messages are exchanged peer-to-peer between nodes, unfortunately there isn't a "better way" afaik.
What did you have in mind yourself?
I can only think of one other way to approach this, this (if we exclude non-ROS-based approaches), and that would be injecting them (ie: your covariances) on the consumer side (ie: the node which subscribes to these messages). If that node is under your control (ie: you can change the source), you could change its subscriber callback to first pre-process the incoming messages.
If it's not under your control, I believe subscribe-process-publish is what you'll need to do,
Note that you don't need to write a "whole new node" for this. topic_tools/transform can do most of the work for you. You just need to provide the correct expression.