🤖

ROS2 Tips: シミュレーション時刻

2023/07/18に公開

概要

方法

下記の2つの方法がある。

  1. 各ノードパラメータに、use_sim_timeを設定する
    • 各ノードごとに設定する必要がある
    • 他のノードには影響されない
  2. グローバルパラメータ use_sim_timeを設定する。
    • 一度設定すれば、全てのノードに反映される

今回は、上記2のグローバルパラメータを用いた方法の具体的な設定方法について以下に記載する。

動作確認環境

  • ROS2 Foxy
  • Ubuntu 20.04

launchファイルの記述方法

launch.pyの場合

import launch
import launch_ros.actions

def generate_launch_description():
    return launch.LaunchDescription([
        launch_ros.actions.SetParameter(name='use_sim_time', value=True),
        # 以下に記載のノードに反映される
    ])

launch.xmlの場合

<launch>
  <set_parameter name="use_sim_time" value="true"/>
  <!-- 以下に記載のノードに反映される -->
</launch>

参考

Discussion