日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2023/12/9 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【RK3399Pro学习笔记】十五、ROS中launch启动文件的使用方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

  • Launch文件語法
    • <launch><launch><launch>
    • <node><node><node>
    • 參數(shù)設(shè)置
      • <param>/<rosparam><param>/<rosparam><param>/<rosparam>
      • <arg><arg><arg>
    • <remap><remap><remap>
    • <include><include><include>
  • 實驗
    • 創(chuàng)建功能包
    • 例子
      • 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文件實現(xiàn)多節(jié)點的配置和啟動(可自動啟動ROS Master)

Launch文件語法

<launch><launch><launch>

launch文件中的根元素采用<<<launch>>>標簽定義

<node><node><node>

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

pkg:節(jié)點所在的功能包名稱
type:節(jié)點的可執(zhí)行文件名稱
name:節(jié)點運行時的名稱
output, respawn, required, ns, args

參數(shù)設(shè)置

<param>/<rosparam><param>/<rosparam><param>/<rosparam>

設(shè)置ROS系統(tǒng)運行中的參數(shù),存儲在參數(shù)服務(wù)器中。

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

name:參數(shù)名
value:參數(shù)值
加載參數(shù)文件中的多個參數(shù):

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

<arg><arg><arg>

launch文件內(nèi)部的局部變量,僅限于launch文件使用

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

name:參數(shù)名
value:參數(shù)值
調(diào)用:

<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

實驗

創(chuàng)建功能包

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.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/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.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_workspace catkin_make# 新建一個終端 source ~/catkin_workspace/devel/setup.bash roslaunch 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_workspace catkin_make# 新建一個終端 source ~/catkin_workspace/devel/setup.bash roslaunch 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_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

總結(jié)

以上是生活随笔為你收集整理的【RK3399Pro学习笔记】十五、ROS中launch启动文件的使用方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。