当前位置:首页 >> 智能终端演进 >> 【RK3399Pro学习笔记】十五、ROS中launch启动文件的使用方法,quake4(ros 启动)

【RK3399Pro学习笔记】十五、ROS中launch启动文件的使用方法,quake4(ros 启动)

cpugpu芯片开发光刻机 智能终端演进 1
文件名:【RK3399Pro学习笔记】十五、ROS中launch启动文件的使用方法,quake4 【RK3399Pro学习笔记】十五、ROS中launch启动文件的使用方法

目录Launch文件语法<launch><launch><launch><node><node><node>参数设置<param>/<rosparam><param>/<rosparam><param>/<rosparam><arg><arg><arg><remap><remap><remap><include><include><include>实验创建功能包例子simple.launchturtlesim_parameter_config.launchstart_tf_demo_c++.launchstart_tf_demo_py.launchturtlesim_remap.launch

平台:华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本:Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615


记录自【古月居】古月·ROS入门21讲 | 一学就会的ROS机器人入门教程 —— 古月居GYH P19 19.launch启动文件的使用方法

Launch文件:通过XML文件实现多节点的配置和启动(可自动启动ROS Master)

Launch文件语法 <launch><launch><launch>

launch文件中的根元素采用<<<launch>>>标签定义

<node><node><node> <node pkg="package-name" type="executable-name" name="node-name" />

pkg:节点所在的功能包名称 type:节点的可执行文件名称 name:节点运行时的名称 output, respawn, required, ns, args

参数设置 <param>/<rosparam><param>/<rosparam><param>/<rosparam>

设置ROS系统运行中的参数,存储在参数服务器中。

<param name="output_frame" value="odom" />

name:参数名 value:参数值 加载参数文件中的多个参数:

<rosparam file="params.yaml" command="load" ns= "params" /> <arg><arg><arg>

launch文件内部的局部变量,仅限于launch文件使用

<arg name="arg-name" default="arg-value" />

name:参数名 value:参数值 调用:

<param name="foo" value="$(arg arg-name)" /><node name="node" pkg="package" type="type" args="$(arg arg-name)" /> <remap><remap><remap>

重映射ROS计算图资源的命名。

<remap from="/turtlebot/cmd_vel" to="/cmd_vel" />

from:原命名 to:映射之后的命名

<include><include><include>

包含其他launch文件,类似C语言中的头文件包含。

<include file="$(dirname)/other.launch" />

file:包含的其他launch文件路径

更多标签可参见:http://wiki.ros.org/roslaunch/XML

实验 创建功能包 cd ~/catkin_workspace/srccatkin_create_pkg learning_launch cd learning_launchmkdir launch 例子 simple.launch nano ~/catkin_workspace/src/learning_launch/launch/simple.launch <launch><node pkg="learning_topic" type="person_subscriber" name="talker" output="screen" /><node pkg="learning_topic" type="person_publisher" name="listener" output="screen" /> </launch>

编译并运行

cd ~/catkin_workspacecatkin_make# 新建一个终端source ~/catkin_workspace/devel/setup.bashroslaunch learning_launch simple.launch

turtlesim_parameter_config.launch nano ~/catkin_workspace/src/learning_launch/launch/turtlesim_parameter_config.launch <launch><param name="/turtle_number" value="2"/><node pkg="turtlesim" type="turtlesim_node" name="turtlesim_node"><param name="turtle_name1" value="Tom"/><param name="turtle_name2" value="Jerry"/><rosparam file="$(find learning_launch)/config/param.yaml" command="load"/></node><node pkg="turtlesim" type="turtle_teleop_key" name="turtle_teleop_key" output="screen"/></launch> mkdir ~/catkin_workspace/src/learning_launch/confignano ~/catkin_workspace/src/learning_launch/config/param.yaml A: 123B: "hello"group:C: 456D: "hello"

编译并运行

cd ~/catkin_workspacecatkin_make# 新建一个终端source ~/catkin_workspace/devel/setup.bashroslaunch learning_launch turtlesim_parameter_config.launch

start_tf_demo_c++.launch nano ~/catkin_workspace/src/learning_launch/launch/start_tf_demo_c++.launch <launch><!-- Turtlesim Node--><node pkg="turtlesim" type="turtlesim_node" name="sim"/><node pkg="turtlesim" type="turtle_teleop_key" name="teleop" output="screen"/><node pkg="learning_tf" type="turtle_tf_broadcaster" args="/turtle1" name="turtle1_tf_broadcaster" /><node pkg="learning_tf" type="turtle_tf_broadcaster" args="/turtle2" name="turtle2_tf_broadcaster" /><node pkg="learning_tf" type="turtle_tf_listener" name="listener" /></launch>

编译并运行

cd ~/catkin_workspacecatkin_make# 新建一个终端source ~/catkin_workspace/devel/setup.bashroslaunch learning_launch start_tf_demo_c++.launch

start_tf_demo_py.launch nano ~/catkin_workspace/src/learning_launch/launch/start_tf_demo_py.launch <launch><!-- Turtlesim Node--><node pkg="turtlesim" type="turtlesim_node" name="sim"/><node pkg="turtlesim" type="turtle_teleop_key" name="teleop" output="screen"/><node name="turtle1_tf_broadcaster" pkg="learning_tf" type="turtle_tf_broadcaster.py"><param name="turtle" type="string" value="turtle1" /></node><node name="turtle2_tf_broadcaster" pkg="learning_tf" type="turtle_tf_broadcaster.py"><param name="turtle" type="string" value="turtle2" /> </node><node pkg="learning_tf" type="turtle_tf_listener.py" name="listener" /></launch>

编译并运行

cd ~/catkin_workspacecatkin_make# 新建一个终端source ~/catkin_workspace/devel/setup.bashroslaunch learning_launch start_tf_demo_py.launch

turtlesim_remap.launch nano ~/catkin_workspace/src/learning_launch/launch/turtlesim_remap.launch <launch><include file="$(find learning_launch)/launch/simple.launch" /><node pkg="turtlesim" type="turtlesim_node" name="turtlesim_node"><remap from="/turtle1/cmd_vel" to="/cmd_vel"/></node></launch>

编译并运行

cd ~/catkin_workspacecatkin_make# 新建一个终端source ~/catkin_workspace/devel/setup.bashroslaunch learning_launch turtlesim_remap.launch

# 新建一个终端source ~/catkin_workspace/devel/setup.bashrqt_graph

rostopic list

rostopic pub /cmd_vel geometry_msgs/Twist "linear:x: 1.0y: 0.0z: 0.0angular:x: 0.0y: 0.0z: 0.0"

# 新建一个终端source ~/catkin_workspace/devel/setup.bashrqt_graph

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接