在 ROS 2 的 Launch 文件中,LaunchConfiguration
用于在运行时动态获取参数值。如果你想输出 namespace
所代表的具体字符串,可以使用 DeclareLaunchArgument
来声明该参数,并在 Launch 文件中使用 LogInfo
来输出它。
以下是一个简单的示例,展示如何声明一个 namespace
参数并输出其值:
from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument, LogInfo
from launch.substitutions import LaunchConfigurationdef generate_launch_description():return LaunchDescription([# 声明 launch 参数 namespaceDeclareLaunchArgument('namespace', default_value='default_namespace', description='Namespace for the node'),# 输出 namespace 的值LogInfo(condition=None, # 可选条件msg='Namespace is: ' + LaunchConfiguration('namespace')),])
解释:
- DeclareLaunchArgument:声明一个名为
namespace
的 Launch 参数,默认值为'default_namespace'
。 - LogInfo:使用
LogInfo
动作输出namespace
的值。LaunchConfiguration('namespace')
会在运行时被替换为具体的字符串值。
注意:
在实际使用中,确保你在命令行中传入或使用默认值来测试。如果你在运行 Launch 文件时指定了 namespace
,Log 输出将会显示传入的具体值。例如:
ros2 launch your_package your_launch_file.launch.py namespace:=my_namespace
这样,控制台上将输出 Namespace is: my_namespace
。