【RK3399Pro学习笔记】十五、ROS中launch启动文件的使用方法
生活随笔
收集整理的這篇文章主要介紹了
【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.launch
- turtlesim_parameter_config.launch
- start_tf_demo_c++.launch
- start_tf_demo_py.launch
- turtlesim_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:參數值
加載參數文件中的多個參數:
<arg><arg><arg>
launch文件內部的局部變量,僅限于launch文件使用
<arg name="arg-name" default="arg-value" />name:參數名
value:參數值
調用:
<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/src catkin_create_pkg learning_launch cd learning_launch mkdir 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_workspace catkin_make# 新建一個終端 source ~/catkin_workspace/devel/setup.bash roslaunch learning_launch simple.launchturtlesim_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/config nano ~/catkin_workspace/src/learning_launch/config/param.yaml A: 123 B: "hello"group:C: 456D: "hello"編譯并運行
cd ~/catkin_workspace catkin_make# 新建一個終端 source ~/catkin_workspace/devel/setup.bash roslaunch learning_launch turtlesim_parameter_config.launchstart_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_workspace catkin_make# 新建一個終端 source ~/catkin_workspace/devel/setup.bash roslaunch learning_launch start_tf_demo_c++.launchstart_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_workspace catkin_make# 新建一個終端 source ~/catkin_workspace/devel/setup.bash roslaunch learning_launch start_tf_demo_py.launchturtlesim_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_workspace catkin_make# 新建一個終端 source ~/catkin_workspace/devel/setup.bash roslaunch learning_launch turtlesim_remap.launch # 新建一個終端 source ~/catkin_workspace/devel/setup.bash rqt_graph rostopic list rostopic pub /cmd_vel geometry_msgs/Twist "linear:x: 1.0y: 0.0z: 0.0 angular:x: 0.0y: 0.0z: 0.0" # 新建一個終端 source ~/catkin_workspace/devel/setup.bash rqt_graph總結
以上是生活随笔為你收集整理的【RK3399Pro学习笔记】十五、ROS中launch启动文件的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Auto.js 读写txt文件
- 下一篇: PHP命令注入***