QOS of Depthimage_to_laserscan
I am trying to make use of depthimagetolaserscan. However, it subscribes to the image topic with a Reliable Reliability QoS profile while the topic of the image is being published with a Best_Effort profile. So they are not compatible.
~/dev_ws$ ros2 topic info /camera/depth/image_raw --verbose
Type: sensor_msgs/msg/Image
Publisher count: 1
Node name: depth_camera_controller
Node namespace: /
Topic type: sensor_msgs/msg/Image
Endpoint type: PUBLISHER
GID: c0.56.10.01.27.68.be.2d.2a.b1.2c.eb.00.00.4d.03.00.00.00.00.00.00.00.00
QoS profile:
Reliability: BEST_EFFORT
Durability: VOLATILE
Lifespan: 9223372036854775807 nanoseconds
Deadline: 9223372036854775807 nanoseconds
Liveliness: AUTOMATIC
Liveliness lease duration: 9223372036854775807 nanoseconds
Subscription count: 3
Node name: rtabmapviz
Node namespace: /
Topic type: sensor_msgs/msg/Image
Endpoint type: SUBSCRIPTION
GID: 3b.ac.10.01.ba.bd.e9.f3.5d.91.dd.83.00.00.3c.04.00.00.00.00.00.00.00.00
QoS profile:
Reliability: BEST_EFFORT
Durability: VOLATILE
Lifespan: 9223372036854775807 nanoseconds
Deadline: 9223372036854775807 nanoseconds
Liveliness: AUTOMATIC
Liveliness lease duration: 9223372036854775807 nanoseconds
Node name: rtabmap
Node namespace: /
Topic type: sensor_msgs/msg/Image
Endpoint type: SUBSCRIPTION
GID: 3c.d0.10.01.84.b8.c6.33.85.74.5f.b5.00.00.7a.04.00.00.00.00.00.00.00.00
QoS profile:
Reliability: BEST_EFFORT
Durability: VOLATILE
Lifespan: 9223372036854775807 nanoseconds
Deadline: 9223372036854775807 nanoseconds
Liveliness: AUTOMATIC
Liveliness lease duration: 9223372036854775807 nanoseconds
Node name: depthimage_to_laserscan_node
Node namespace: /
Topic type: sensor_msgs/msg/Image
Endpoint type: SUBSCRIPTION
GID: b8.a6.10.01.3b.22.48.a2.df.78.c2.6f.00.00.16.04.00.00.00.00.00.00.00.00
QoS profile:
Reliability: RELIABLE
Durability: VOLATILE
Lifespan: 9223372036854775807 nanoseconds
Deadline: 9223372036854775807 nanoseconds
Liveliness: AUTOMATIC
Liveliness lease duration: 9223372036854775807 nanoseconds
I managed to change the QoS on RTABMAP because it has a parameter to do so, but how can I change it in the depthimagetolaserscan node?
The depthimagetolaserscan has this parameters:
~/dev_ws$ ros2 service call /depthimage_to_laserscan_node/list_parameters rcl_interfaces/srv/ListParameters
requester: making request: rcl_interfaces.srv.ListParameters_Request(prefixes=[], depth=0)
response:
rcl_interfaces.srv.ListParameters_Response(result=rcl_interfaces.msg.ListParametersResult(names=['output_frame', 'qos_overrides./parameter_events.publisher.depth', 'qos_overrides./parameter_events.publisher.durability', 'qos_overrides./parameter_events.publisher.history', 'qos_overrides./parameter_events.publisher.reliability', 'range_max', 'range_min', 'scan_height', 'scan_time', 'use_sim_time'], prefixes=['qos_overrides./parameter_events.publisher']))
I would like to change the QoS either in the depth camera controller or in the depthimagetolaserScan to make it work.
Thank you!
Asked by marpeja on 2022-08-11 05:35:59 UTC
Comments
Please do not use screenshots of text. Instead copy/paste the text and format it with the 101010 button.
Asked by Mike Scheutzow on 2022-08-11 06:36:08 UTC
Changed it
Asked by marpeja on 2022-08-11 08:35:37 UTC
That looks good. Thank you for the update. Unfortunately, I don't have an answer for this question.
Asked by Mike Scheutzow on 2022-08-12 07:22:53 UTC