はじめに
ROS2からpythonでlaunchファイルを記述できるようになりましたが,まだチュートリアル以外の例があまり見つかりません.そこで,今回はROS2のGithub(ros2/launch_ros)からリマップとパラメータの使い方を探しました.
テスト環境
- Ubuntu 18.04
- ROS Eloquent
remapとparameterの記述方法
import launch
import launch_ros.actions
def generate_launch_description():
return launch.LaunchDescription([
launch_ros.actions.Node(
package='demo_parameters_cpp',
node_executable='string_talker',
output='screen',
node_name='string_talker',
remappings=[('string_topic', '/talker')],
parameters=[{'string_param':'changed'}]
)
])
remap
argumentにremappings
を指定し,タプルをリストに連ねていきます.タプルは(remap前のtopic名, remap後のtopic名)
で記述します.
parameter
argumentにparameters
を指定し,辞書をリストの中に置きます.複数のパラメータを指定する場合は[{parameter1:value1, parameter2:value2, ... }]
のように記述します.
yamlファイルで読み込みたい場合は
parameters=['parameter_dir/parameter.yaml']
のように書くとyamlファイルからparameterを設定できます.