0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ROS2 QoSファイルとは

Last updated at Posted at 2024-10-01

動機

Ubuntu22.04でROS2 Humbleの勉強中に
「TypeError: Node.create_publisher() missing 1 required positional argument: 'qos_profile'
」と言われ,解決に手間取ったから.

QoSファイルとは

QoSプロファイルの実践と課題
上記で言われている通り,ROS2は通信品質を制御するためのオプション(QoSポリシー)を持っているらしい.
そのためpublishとsubscribeの時はqosプロファイルが必要となる.qosプロファイルはdepth等を指定する.(以下の例なら10)
depthはすぐに通信できなかった時、キューに溜めておける数だそう.多いほど通信が安定する?

self.pub = self.create_publisher(String, "chatter",10)
self.create_subscription(String, "chatter", self.callback,10)

QoSファイルの種類

ROS2における独自QoSプロファイルの設定方法の「ROS2で用意されているQoSプロファイル一覧」を参考にする.
使い方の例(Laser_scan)

from rclpy.qos import qos_profile_sensor_data
...

self.subscription = node.create_subscription(
            LaserScan,
            'scan',
            self.subscription_callback,
            qos_profile=qos_profile_sensor_data)
self.subscription  # prevent unused variable warning
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?