ROS的学习(十)rqt_console和roslaunch
打开一个新的终端在里面输入:
sudo apt-get install ros-hydro-rqt ros-hydro-rqt-common-plugins ros-hydro-turtlesim
安装使用rqt_console所需要的插件,如果你不知道之前是否安装,没关系,把这个命令运行一下就行了,它不会对你之前的系统有任何的伤害。在终端中运行rqt_console:
rosrun rqt_console rqt_console
再新打开一个终端运行:
rosrun rqt_logger_level rqt_logger_level
在运行这两条命令的时候,你会看到弹出了两个窗口,在一个新的终端中输入:
rosrun turtlesim turtlesim_node
运行一只乌龟节点,就可以看到在rqt_console中有信息输出。我们点击一下logger_level窗口中的refresh按钮,就可以看到在最左边的框中出现了turtlesim,选中turtlesim,选中右边的warn,运行下面指令:
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 0.0]'
就可以看到console窗口中不断的输出警告信息,如过我们将logger_level窗口中的级别修改为fatal,就会发现信息的输出停止。如果再将它选为warn,信息就会继续输出。
在ros中将信息分为五个等级,从高到低如下:
Fatal
Error
Warn
Info
Debug
fatal有最高的优先级,而debug的优先级最低。如果你选择的优先级是debug,那么就会接收所有的消息,如果你选择的是warn,就会接收warn及高于它的优先级的信息。
roslaunch命令从launch文件中启动一个节点,它的使用方法如下:
roslaunch [package] [filename.launch]
首先切换到beginner_tutorials文件下:
roscd beginner_tutorials
创建launch文件夹,切换到该文件夹下:
mkdir launchcd launch
输入
gedit turtlemimic.launch
将下面的内容复制到文件中:
<launch><group ns="turtlesim1"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group><group ns="turtlesim2"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group><node pkg="turtlesim" name="mimic" type="mimic"><remap from="input" to="turtlesim1/turtle1"/><remap from="output" to="turtlesim2/turtle1"/></node></launch>
保存退出就可以了。
现在使用如下命令载入:
roslaunch beginner_tutorials turtlemimic.launch
就可以看到新打开一只乌龟节点。
在一个新打开的终端中输入:
rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'
就可以看到两只乌龟都在运动。下面来解释一下原因:<lanuch>标签用来识别这是一个launch文件,
<group ns="turtlesim1"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group><group ns="turtlesim2"><node pkg="turtlesim" name="sim" type="turtlesim_node"/></group>
上面这些内容表示我们启动了两只乌龟,
<node pkg="turtlesim" name="mimic" type="mimic"><remap from="input" to="turtlesim1/turtle1"/><remap from="output" to="turtlesim2/turtle1"/></node>
上面的这些被荣使turtlesim2模仿turtlesim1。所以虽然我们只向turtlesim1发布了话题,turtlesim2也做出了反应。
ROS的学习(十)rqt_console和roslaunch相关推荐
- ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)
ROS中的基本对象和概念学习笔记(ROS入门学习笔记一) ROS中创建工作区和包(ROS入门学习笔记二) ROS功能包中CMakeLists.txt的说明(ROS入门学习笔记三) 1.roslaunc ...
- ROS学习笔记七:使用rqt_console和roslaunch
ROS学习笔记七:使用rqt_console和roslaunch 本节主要介绍在调试时使用的rqt_console和rqt_logger_level,以及一次性打开多个节点的工具roslaunch. ...
- ROS学习十、无人机通信模块mavros(1)常用的mavros消息类型
ROS学习十.无人机通信模块mavros(1)常用的mavros消息类型 前言 数传 全局位置 IMU惯导 本地位置 飞控命令 设置飞行位点.速度.加速度 系统状态 系统时间 其它 前言 mavros ...
- 使用 rqt_console 和 roslaunch
Description: 本教程介绍如何使用 rqt_console 和 rqt_logger_level 进行调试,以及如何使用 roslaunch 同时运行多个节点.早期版本中的 rqt 工具并 ...
- 12.ROS编程学习:ROS常用指令
目录 rosnode 1.rosnode list--list active nodes 2.rosnode ping--test connectivity to node 3.rosnode inf ...
- 2017年深度学习十大趋势预测
2017年深度学习十大趋势预测 本文作者曾经多次预测了技术发展的趋势,最近的一次预测是"2011年软件发展的趋势与预测".10项预言中,准确地命中了6项,比如JavaScript ...
- 强化学习(十九) AlphaGo Zero强化学习原理
在强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)中,我们讨论了MCTS的原理和在棋类中的基本应用.这里我们在前一节MCTS的基础上,讨论下DeepMind的AlphaGo Zero强化学 ...
- 强化学习(十六) 深度确定性策略梯度(DDPG)
在强化学习(十五) A3C中,我们讨论了使用多线程的方法来解决Actor-Critic难收敛的问题,今天我们不使用多线程,而是使用和DDQN类似的方法:即经验回放和双网络的方法来改进Actor-Cri ...
- 强化学习(十五) A3C
在强化学习(十四) Actor-Critic中,我们讨论了Actor-Critic的算法流程,但是由于普通的Actor-Critic算法难以收敛,需要一些其他的优化.而Asynchronous Adv ...
- NLP:LSTM之父眼中的深度学习十年简史《The 2010s: Our Decade of Deep Learning / Outlook on the 2020s》的参考文献
NLP:LSTM之父眼中的深度学习十年简史<The 2010s: Our Decade of Deep Learning / Outlook on the 2020s>的参考文献 目录 T ...
最新文章
- 管理员必备的Linux系统监控工具
- SQL SERVER服务停止和启动命令行
- 【Nginx-20180108】Nginx的搭建文件服务器问题一则
- 12_02_Linux软件管理之二rpm
- c语言编写队列元素逆置,数据结构与算法实验—利用栈逆置队列元素.doc
- java 日期数组_Java数组
- xml矢量图:svg的viewBox和vml的coordsize决定的虚坐标系简说
- ubuntu server 16.04 开启root密码登录
- Android UI事件传递就是这么个事儿
- svn up (svn update) 状态缩写含义
- ssci源刊里有开源期刊吗_ssci源刊里有开源期刊吗_啥是核心期刊?啥是北核啥是南核?啥是国家级?啥又是省级?都给你整明白......
- quick-cocos2dx3.5 mac模拟器改进
- Appium元素定位操作app
- 【接口技术】实验二:基本I/O实验
- 书论51 朱文长《续书断》
- matlab中的a逆怎么使用方法,在MATLAB中,求矩阵A逆矩阵可用命令( )。
- 激励函数简介 Tensorflow最简单的三层神经网络及matplotlib可视化 附激励函数常见类型
- 全平台系统提权辅助工具 PEASS-ng
- exec函数族的基本用法
- 【Moasure魔尺】优秀景观设计师们悄悄在用的测量设备
热门文章
- [转载] Python OpenCV 基础教程
- [转载] python numpy np.exp()函数
- 1614700501
- Leetcode796.Rotate String旋转字符串
- Qt C++ QSerialPortInfo的测试
- P3032 [USACO11NOV]二进制数独Binary Sudoku
- 25-[jQuery]-ajax
- java中的==和equals的区别
- hdu 2553 N皇后问题
- ASP 中常见的错误 80004005 信息