ROS2学习笔记:Launch脚本

Launch可以实现同时启动多节点,这一不需要在终端一个一个窗口进行ros2 run

运行launch文件:

ros2 launch (功能包)(launch文件)

1 编写一个launch文件:

from launch import LaunchDescription
from launch_ros.actions import Node

def generate_launch_description():
	return LaunchDescription([
		Node(
			package = 'learning_topic',
			executable = 'topic_helloworld_pub',
		),
		Node(
			package = 'learning_topic',
			executable = 'topic_helloworld_sub',
		),
	])

1 from launch import LaunchDescription
from launch_ros.actions import Node
引入launch相关库,LaunchDescription描述了需要运行的节点

2 Node(
package = ‘learning_topic’,
executable = ‘topic_helloworld_pub’,
),
在LaunchDescription里声明要调用的节点,这里的调用内容可见(https://blog.csdn.net/Raine_Yang/article/details/125349724?spm=1001.2014.3001.5501)

3 def generate_launch_description():
generate_launch_description为自动生成Launch文件的函数

2 launch文件作为软件启动配置文件
(以rviz2为例)

ros2 run rviz2 rviz2 -d (launch文件完整路径)

import os

from ament_index_python.packages import get_package_share_directory

from launch import LaunchDescription
from launch_ros.actions import Node

def generate_launch_description():
	rviz_config = os.path.join(
		get_package_share_directory('learning_launch'),
		'rviz',
		'turtle_rviz.rviz'
	)

	return LaunchDescription([
		Node(
			package = 'rviz2',
			executable = 'rviz2',
			name = 'rviz2',
			arguments = ['-d', rviz_config]
		)
	]) 

1 rviz_config = os.path.join(
get_package_share_directory(‘learning_launch’),
‘rviz’,
‘turtle_rviz.rviz’
)
在这里标明配置文件路径,类似于使用-d后面的文件完整路径

2 name = ‘rviz2’,
对节点重命名为rviz2。在launch文件里可以覆盖节点在源码里的名称,进行重命名

3 launch文件对节点和话题的重命名

该程序会打开两个turtlesim程序

from launch import LaunchDescription
from launch_ros.actions import Node

def generate_launch_description():
	return LaunchDescription([
		Node(
			package = 'turtlesim'
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值