ROS2入门教程-创建launch文件
ROS2入门教程-创建launch文件
说明:
- 介绍如何创建launch文件
步骤:
- 新建目录
mkdir ~/luanch
新建文件
cd ~/luanch
touch turtlesim_mimic_launch.py内容如下:
from launch import LaunchDescription
from launch_ros.actions import Node
def generate_launch_description():
return LaunchDescription([
Node(
package='turtlesim',
namespace='turtlesim1',
executable='turtlesim_node',
name='sim'
),
Node(
package='turtlesim',
namespace='turtlesim2',
executable='turtlesim_node',
name='sim'
),
Node(
package='turtlesim',
executable='mimic',
name='mimic',
remappings=[
('/input/pose', '/turtlesim1/turtle1/pose'),
('/output/cmd_vel', '/turtlesim2/turtle1/cmd_vel'),
]
)
])
- 运行:
cd ~/luanch
ros2 luanch turtlesim_mimic_launch.py
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [turtlesim_node-1]: process started with pid [11714]
[INFO] [turtlesim_node-2]: process started with pid [11715]
[INFO] [mimic-3]: process started with pid [11716]
- 发布话题
ros2 topic pub -r 1 /turtlesim1/turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: -1.8}}"
- 效果:
- rqt_graph查看节点调用
代码解析
- 导入launch和node包
from launch import LaunchDescription
from launch_ros.actions import Node
- 定义launch描述函数
def generate_launch_description():
return LaunchDescription([
])
- 调用两个节点打开两个turtlesim
Node(
package='turtlesim',
namespace='turtlesim1',
executable='turtlesim_node',
name='sim'
),
Node(
package='turtlesim',
namespace='turtlesim2',
executable='turtlesim_node',
name='sim'
),
- 调用第三个节点,turtlesim2跟随turtlesim1的位置变化而变化
Node(
package='turtlesim',
executable='mimic',
name='mimic',
remappings=[
('/input/pose', '/turtlesim1/turtle1/pose'),
('/output/cmd_vel', '/turtlesim2/turtle1/cmd_vel'),
]
)
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号