ros怎么启动,启动ros的命令
发动文件:通过可扩展置标语言文件实现多节点的配置和启动(可以自动启动活性氧簇(reactive oxygen species的缩写)主机)
使用步骤选定功能包右击— 添加发动文件夹选定发动文件夹右击— 添加发动文件编辑发动文件内容运行发动文件运行结果:一次性启动了多个节点发动文件语法:启动启动文件中的根元素采用伦奇标签定义
启动节点
节点pkg="包名"类型="可执行文件名"名称="节点名"
pkg:节点所在的功能包名称类型:节点的可执行文件名称名称:节点运行时的名称输出:设置日志的输出目标重生、必需、ns、args参数设置参数和罗斯帕拉姆设置活性氧簇(活性氧物种的缩写)系统运行中的参数,存储在参数服务器中。
lparam name=" output _ frame " value=" Odom "/
名称:参数名价值:参数值加载参数文件中的多个参数:
ROS param file=" params。YAML " command=" load " ns=" params "/
银启动文件内部的局部变量,仅限于发动文件使用
arg name=" arg-name " default=" arg-value "/
名称:参数名价值:参数值调用:
param name=" foo " value= $(arg arg-name)/
node name=" node " pkg=" package " type=" type " args= $(arg arg-name)/
重映射再变换重映射活性氧簇(活性氧物种的缩写)计算图资源的命名
从="/turtlebotcmd_vel "重新映射到=/cmd_vel /
出发地:原命名收件人:映射之后的命名嵌套包括包含其他发动文件,类似C语言中的头文件包含。
包含文件=$(目录名)/other.launch /
文件:包含的其他发动文件路径更多标签参考:http://wiki . ROS . org/ROS launch/XML
使用发动标签启动两个节点。代码实现话题消息的定义:
创建学习_启动工程包
CD ~/柳絮_ ws/srccatkin _ create _ pkg learning _ launch
CD ~/柳絮_ws/src/learning_launch创建发动文件夹
mkdirlaunch
cdlaunch创建简单。启动文件
touchsimple.launch
在简单。启动文件中添加以下代码:
发动
node pkg= learning _ topic type= person _ subscriber name= talker output= screen /
nodepkg= learning _ topic type= person _ publisher name= listener output= screen /
/启动配置完成后,对工程目录进行编译
CD ~/柳絮_ ws柳絮_制作
启动发动文件
指令格式:
roslaunch[工程包名][启动文件名]例如:
roslaunch learning _ launch简单。发动
使用发动标签读取格式文件的配置CD ~/柳絮_ ws/src/learning _ launch/launchtuchturtlesim _ parameter _ config。发动在海龟sim _ parameter _ config。发动文件中添加以下代码:
发动
param name=/turtle _ number value= 2 /
node pkg= turtle sim type= turtle sim _ node name= turtle sim _ node
param name= turtle _ name 1 value= Tom /
param name= turtle _ name 2 value= Jerry /
ROS param file= $(find learning _ launch)/config/param。YAML command= load /
/节点
node pkg= turtle sim type= turtle _ teleop _ key name= turtle _ teleop _ key output= screen /
/启动CD ~/柳絮_ ws/src/learning _ launchmdirconfigcdconfigtouchparam。YAML在param.yaml文件中添加以下代码:
甲:123
乙:"你好"
组:
丙:456
丁:’你好roslaunch learning _ launchturtlesim _ parameter _ config。launchrosparamlist
法国南部(法国南部领地的缩写)坐标系广播与监听,用发动文件配置启动用代码创建法国南部(法国南部领地的缩写)坐标系广播与监听的方法:
CD ~/柳絮_ ws/src/learning _ launch/launchtuchstart _ TF _ demo _ c . launch在start_tf_demo_c启动文件中添加以下代码:
发动
!-海龟仿真器-
node pkg= turtle sim type= turtle sim _ node name= sim /
!-键盘控制-
node pkg= turtle sim type= turtle _ teleop _ key name= teleop output= screen /
!-两只海龟的法国南部(法国南部领地的缩写)广播-
nodepkg= learning _ TF type= turtle _ TF _ broadcaster args=/turtle 1 name= turtle 1 _ TF _ broadcaster /
nodepkg= learning _ TF type= turtle _ TF _ broadcaster args=/turtle 2 name= turtle 2 _ TF _ broadcaster /
!-监听法国南部(法国南部领地的缩写)广播,并且控制套头衫2移动-
node pkg= learning _ TF type= turtle _ TF _ listener name= listener /
/启动启动节点
roslaunch学习_启动开始_ TF _演示_ c .启动
touchstart_tf_demo_py.launch在start_tf_demo_py.launch文件中添加以下代码:
发动
!-海龟仿真器-
node pkg= turtle sim type= turtle sim _ node name= sim /
!-键盘控制-
node pkg= turtle sim type= turtle _ teleop _ key name= teleop output= screen /
!-两只海龟的法国南部(法国南部领地的缩写)广播-
nodename= turtle 1 _ TF _ broadcaster pkg= learning _ TF type= turtle _ TF _ broadcaster。py
param name= turtle type= string value= turtle 1 /
/节点
nodename= turtle 2 _ TF _ broadcaster pkg= learning _ TF type= turtle _ TF _ broadcaster。py
param name= turtle type= string value= turtle 2 /
/节点
!-监听法国南部(法国南部领地的缩写)广播,并且控制套头衫2移动-
node pkg= learning _ TF type= turtle _ TF _ listener。py name= listener /
/启动启动节点
roslaunch学习_启动开始_ TF _ demo _ py。发动可直接在该窗口控制海龟的移动。
使用发动标签给话题名称起个别名CD ~/柳絮_ ws/src/learning _ launch/launch touchturtlesim _ remap。发动在turtlesim_remap.launch文件中添加以下代码:
发动
include file= $(find learning _ launch)/launch/simple。启动/
node pkg= turtle sim type= turtle sim _ node name= turtle sim _ node
从=/turtle 1/cmd _ vel 重新映射到=/cmd _ vel /
/节点
/启动启动节点
roslaunch learning _ launchturtlesim _ remap。启动从=/turtle 1/cmd _ vel 到=/cmd _ vel /的重映射
注:用/cmd_vel替换了/turtle1/cmd_vel,相当于起了个别名。
踩坑
RLException:【start _ turtle。启动]既不是包[hello_world_c]中的启动文件,[hello_world_c]也不是启动文件名
异常的回溯已写入日志文件
解决方法:
错误原因:环境变量设置有问题,重新添加环境变量后再执行罗斯发射
来源~/工作空间名/devel/setup.bash
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。