美文网首页ROS
ROS学习笔记(十)- 使用rqt_console 和 rosl

ROS学习笔记(十)- 使用rqt_console 和 rosl

作者: Savior2016 | 来源:发表于2017-03-03 20:16 被阅读233次

    1 准备rqt和turtlesim package

    下载rqt和turtlesim包,有了就不用下载了。
    $ sudo apt-get install ros-<distro>-rqt ros-<distro>-rqt-common-plugins ros-<distro>-turtlesim
    如果不确定有没有安装,重新装一下也没什么影响。<distro>替换成版本号,比如kinetic。

    2 使用rqt_console 和 rqt_logger_level

    rqt_console 连接ROS的日志框架,能够显示来自node的输出。rqt_logger_level 允许我们改变正在运行的node的冗长(DEBUG, WARN, INFO, and ERROR)等级。
    启动小海龟之前,在两个窗口里分别启动 rqt_console 和 rqt_logger_level:
    $ rosrun rqt_console rqt_console
    $ rosrun rqt_logger_level rqt_logger_level
    现在打开小海龟:
    $ rosrun turtlesim turtlesim_node
    可以看到console窗口出现了一些启动信息等。
    把logger level窗口levels选择warn,然后让乌龟撞墙:
    rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'
    可以看到console弹出了很多错误。

    2.1 logger 等级

    从高到低依次是:

    Fatal
    Error
    Warn
    Info
    Debug
    

    现在Ctrl+C关掉当前的小海龟,然后使用roslaunch 把之前的多个小海龟节点打开,还有一个模拟node,让一个小海龟模仿另一个。

    2.2 使用 roslaunch

    用法:
    $ roslaunch [package] [filename.launch]
    首先进入之前的beginner_tutorials :
    $ roscd beginner_tutorials

    如果打不开,就执行下面这个:

    $ cd ~/catkin_ws
    $ source devel/setup.bash
    $ roscd beginner_tutorials
    

    创建一个启动指导:

    $ mkdir launch
    $ cd launch
    

    没必要非要把名字写成这个,甚至没必要建这个指导,他会自动检测。

    2.3 启动文件(launch file)

    现在新建一个启动文件turtlemimic:
    vim 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>
    

    2.4 解析launch文件

    从launch标签开始一个launch文件:
    <launch>
    下一部分写了两个group标签,他们有不同的命名空间:

    <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,并把输入输出重命名到turtlesim1 和turtlesim2 。这个重命名就会使2模仿1.

     <node pkg="turtlesim" name="mimic" type="mimic">
        <remap from="input" to="turtlesim1/turtle1"/>
        <remap from="output" to="turtlesim2/turtle1"/>
      </node>
    

    最后结束launch文件:
    </launch>

    2.5 roslaunching

    执行:
    $ 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]'
    两个小海龟会一起运动,而命令其实只发送给了turtlesim1。
    运行:
    rqt_graph
    这样就能很清楚的看到launch文件做了什么。

    mofang

    这样就使用了rqt_console 和roslaunch,我们可以开始后面的学习了。我们可以关掉所有小乌龟,后面不需要了。

    相关文章

      网友评论

        本文标题:ROS学习笔记(十)- 使用rqt_console 和 rosl

        本文链接:https://www.haomeiwen.com/subject/umcrgttx.html