ROS2 launch文件(Python)

实验目的:

        编写三个launch文件;

        第一个实现启动两个乌龟模拟器节点;

        第二个实现启动发布者节点和订阅者节点;

        第三个实现启动前两个launch文件。

1、C++工作空间的launch文件

        本文C++工作空间基于前文所创建的工作空间:

                ROS2 话题通信——自定义消息类型(C++)-优快云博客

                ROS2 服务通信——自定义服务接口(C++)-优快云博客

                ROS2 动作通信——自定义动作接口(C++)-优快云博客

        在该工作空间下src目录中创建launch_pkg功能包

ros2 pkg create launch_pkg --build-type ament_cmake --dependencies rclcpp

        编辑CMakeLists.txt文件,添加以下内容

install(DIRECTORY launch DESTINATION share/${PROJECT_NAME})

        在launch_pkg功能包目录中创建一个luanch文件夹,存放三个launch文件,分别新建三个launch文件_launch.py、node_launch.py、include_launch.py(这三个luanch文件名后缀最好以_launch.py结尾)

        在_launch.py中实现启动两个乌龟模拟器节点

from launch import LaunchDescription
from launch_ros.actions import Node

#封装终端指令相关类
#from launch.actions import ExecuteProcess
#from launch.substitutions import FindExecutable

#参数声明与获取
#from launch.actions import DeclareLaunchArgument
#from launch.substitutions import LaunchConfiguration

#文件包含相关
#from launch.actions import IncludeLaunchDescription
#from launch.launch_description_sources import PythonLaunchDescriptionSource

#分组相关
#from launch_ros.actions import PushRosNamespace
#from launch.actions import GroupAction"

#事件相关
#from launch.event_handlers import OnProcessStart, OnProcessExit
#from launch.actions import ExecuteProcess, RegisterEventHandler,LogInfo

#获取功能包下share目录路径
#from ament_index_python.packages import get_package_share_directory

def generate_launch_description():

    turtle1 = Node(package="turtlesim", executable="turtlesim_node", name="t1")
    turtle2 = Node(package="turtlesim", executable="turtlesim_node", name="t2")
    return LaunchDescription([turtle1, turtle2])

        在node_launch.py中实现启动发布者节点和订阅者节点


'''
Node里面的参数:

executable: 可执行程序
package: 被执行程序所属的功能包
name: 节点名称
namespace: 设置命名空间
exec_name: 设置程序标签
parameters: 设置参数
remappings: 实现话题重映射
arguments: 为节点传参
ros_arguments: 为节点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值