QOS of Depthimage_to_laserscan

asked 2022-08-11 05:35:59 -0500

marpeja gravatar image

updated 2022-08-11 08:35:23 -0500

I am trying to make use of depthimage_to_laserscan. 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 depthimage_to_laserscan node?

The depthimage_to_laserscan 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 depthimage_to_laserScan to make it work.

Thank you!

edit retag flag offensive close merge delete

Comments

Please do not use screenshots of text. Instead copy/paste the text and format it with the 101010 button.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-08-11 06:36:08 -0500 )edit

Changed it

marpeja gravatar image marpeja  ( 2022-08-11 08:35:37 -0500 )edit

That looks good. Thank you for the update. Unfortunately, I don't have an answer for this question.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-08-12 07:22:53 -0500 )edit