ROS2 launch文件demo与parameter设置
项目架构
project_name
│ README.md
│
└───package_1
│ │ CMakeLists.txt
│ │ package.xml
│ │
│ └───include
│ │
│ └───src
│ │
│ └───msg
│ │
│ └───config
│ │
│ └───launch
│ │
│ └───srv
│
└───package_2
│ │
│ └───...
│
└───...
launch文件的整体编排
基于ROS Eloquent环境实现以下功能,在Dashing及之前版本可能存在一定差异,敬请注意。
ROS2 launch文件由XML格式转换为.py,实例代码如下
#file name: example.launch.py
import os
import launch
from ament_index_python.packages import get_package_share_directory
from launch.substitutions import EnvironmentVariable
from launch.substitutions import LaunchConfiguration
from launch import LaunchDescription
from launch_ros.actions import Node
from launch.actions import DeclareLaunchArgument
def generate_launch_description():
para_dir = os.path.join(get_package_share_directory('your_package_name'), 'config', 'your_parameter_file.yaml')
rviz_config_dir = os.path.join(get_package_share_directory('your_package_name'), 'config', 'default.rviz')
return LaunchDescription([
Node(
package='your_package_name',
node_namespace