学习8:roslaunch
来源:互联网 发布:数据报告模板 编辑:程序博客网 时间:2024/05/22 09:36
1.rqt_console
1.1 查看输出的信息
运行下面的命令
$ rosrun rqt_console rqt_console
$ rosrun rqt_logger_level rqt_logger_level
分别启动rqt_console和rqt_logger_level。
启动乌龟模拟turtlesim节点,控制乌龟动一动。
会发现rqt_console里给出了一些信息,比如撞到墙了给出warn信息,出生小乌龟给出普通的info信息。
奇怪,wki说的啥,把日志等级修改为WARN是干吗的,为啥我修改为info不行呢?输出的还是WARN信息。
1.2 日志等级
日志等级顺序如下
FatalErrorWarnInfoDebug
不知道这个日志等级顺序是干嘛用的。
2 roslaunch
2.1 介绍
我感觉这个东西和rosrun差不多啊,只不过执行的是包里的launch文件,
用法
$ roslaunch [package] [filename.launch]
和VM虚拟机的热键冲突,去掉VM虚拟的热键后。。和windows的热键冲突,尴尬啊! 然后我就改为ctrl+windows+alt+ UP/DOWN/LEFT/RIGHT了
执行
$ roscd beginner_tutorials
官方wiki给的解决方案是下述代码
$ export ROS_PACKAGE_PATH=~/inidigo_workspace/sandbox:$ROS_PACKAGE_PATH但是不知道和我有啥区别- -#
2.2 创建launch文件
$ mkdir launch$ cd launch这个代码就很简单易懂了。
然后新建一个turtlemimic.launch,用vim编辑为下面内容
1 <launch> 2 3 <group ns="turtlesim1"> 4 <node pkg="turtlesim" name="sim" type="turtlesim_node"/> 5 </group> 6 7 <group ns="turtlesim2"> 8 <node pkg="turtlesim" name="sim" type="turtlesim_node"/> 9 </group> 10 11 <node pkg="turtlesim" name="mimic" type="mimic"> 12 <remap from="input" to="turtlesim1/turtle1"/> 13 <remap from="output" to="turtlesim2/turtle1"/> 14 </node> 15 16 </launch>
调用下面的代码
roslaunch beginner_tutorials turtlemimic.launch就打开了刚才我们写的turtlemimic.launch的内容。
官方wiki的解读我有点不懂啊。
大概我看的是,先给一些命名空间,分成2个。貌似这也是创建节点的过程。。 <node >貌似就是会启动节点。
具体关于roslaunch的,都可以看http://blog.csdn.net/xuehuafeiwu123/article/details/53991226这个博客的介绍
其实这地方我疑惑蛮多的,为啥第三个node pkg需要等于turtlesim类型。。而且input output都是啥……先留着,以后来解决这个问题。
上课想了一下,我们实际上运行了3个node,可以用rosnode list看到又3个node,分别是mimic,/turtlesim1/sim,/turtlesim2/sim.
当运行rostopic pub的终端命令后,会产生第四一个node,形如/rostopic_7550_1496904628793
用rostopic info 查看后会输出
Node [/rostopic_7748_1496905382511]Publications: * /turtlesim1/turtle1/cmd_vel [geometry_msgs/Twist]Subscriptions: NoneServices: * /rostopic_7748_1496905382511/get_loggers * /rostopic_7748_1496905382511/set_logger_levelcontacting node http://ubuntu:41445/ ...Pid: 7748Connections: * topic: /turtlesim1/turtle1/cmd_vel * to: /turtlesim1/sim * direction: outbound * transport: TCPROS
在这里,可以看出,他没有订阅话题,专门向turtlesim1/turtle1/cmd_vel进行 out输出(direction:outbound)
类似的,可以分别查看每个节点对话题的信息之类的情况。
这里我们发现launch文件有个有意思的地方,对于remap的input output,实际上只是remap了命名空间,具体的话题会在命名空间里。
比如turtlesim1,他只对cmd_vel有兴趣,你给了他命名空间,他就会在命名空间里找到cmd_vel来进行相关的订阅或者发布操作。
- 学习8:roslaunch
- ROS学习之 roslaunch
- ROS roslaunch 学习
- ROS roslaunch 学习
- ROSLaunch学习笔记
- ROS学习--(十)roslaunch
- (七)ROS rxconsole和roslaunch学习
- ROS的学习(十)rqt_console和roslaunch
- ROS学习--(八)使用rqt控制台和roslaunch
- ROS学习笔记七:使用rqt_console和roslaunch
- ROS学习第三弹(Services/Parameters rqt_console/rqt_logger_level/roslaunch)
- ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 8 学习ROS的rqt_console和roslaunch命令
- ros源码分析(8)—roslaunch .launch文件中的tag
- 机器人操作系统ROS Indigo 入门学习(9)——理解ROS rqt_console和 roslaunch
- ROS学习手记 - 6 使用ROS中的工具:rqt_console & roslaunch & rosed
- 机器人操作系统ROS Indigo 入门学习(9)——理解ROS rqt_console和 roslaunch
- 机器人操作系统ROS Indigo 入门学习(9)——理解ROS rqt_console和 roslaunch
- ROS进二阶学习笔记(3) - programmatic way to start/stop a roslaunch
- python基础之一——数据类型和内存管理
- 正则表达式个人总结(一):正则表达式语法的深入理解第一部分
- 解决java web项目导入后出现的有关问题 -cannot be read or is not a valid ZIP file
- 很干货的建议
- C++标准库中排序函数sort的用法
- 学习8:roslaunch
- MySQL复制表结构和内容到另一张表中的SQL语句
- Python-pip install
- Cookie简单读写
- android 百度定位 api error code 大全
- Python基础:Python入门
- 欢迎使用CSDN-markdown编辑器
- 后台 持续集成
- 正则表达式个人总结(二):正则表达式语法的深入理解第二部分