美文网首页ROS_Tutorials
ROS 常用命令字典

ROS 常用命令字典

作者: marine0131 | 来源:发表于2017-05-18 20:07 被阅读135次

    转载 http://www.cnblogs.com/liu-fa/p/5761448.html并在其基础上进行添加

    基础

    启动 ROS
    $ roscore

    创建工作环境

    $ mkdir -p ~/catkin_ws/src
    $ cd ~/catkin_ws/src
    $ catkin_init_workspace
    

    编译 ROS 程序

    $ cd ~/catkin_ws$ catkin_make
    

    添加程序包到全局路径

    $ echo "source catkin_ws/devel/setup.bash" >> ~/.bashrc$ source ~/.bashrc
    

    Package 相关操作

    创建 Package 并编译

    $ cd ~/catkin_ws/src
    $ catkin_create_pkg <package_name>  [depend1] [depend2] [depend3] 
    $ cd ~/catkin_ws
    $ catkin_make
    

    查找 Package

    $ rospack find [package name]
    

    查看 Package 依赖

    $ rospack depends <package_name>
    $ rospack depends1 <package_name>
    

    Node 相关操作

    查看所有正在运行的 Node

    $ rosnode list
    

    查看某节点信息

    $ rosnode info [node_name]
    

    运行 Node

    $ rosrun [package_name] [node_name] [__name:=new_name]
    

    Topic 相关操作

    查看 rostopic 所有操作

    $ rostopic -h
    

    查看所有 Topic 列表

    $ rostopic list
    

    图形化显示所有topic连接关系和发布的消息

    $ rosrun rqt_graph rqt_graph
    

    如果要看每个节点的发布频率,在启动节点之前进行以下设置

    $ rosparam set enable_statistics true
    

    图形化显示topic随时间的变化关系

    $ rosrun rqt_plot rqt_plot
    

    查看某个 Topic 信息

    $ rostopic echo [topic]
    

    查看 Topic 消息格式

    $ rostopic type [topic]
    $ rosmsg show [msg_type]
    

    向topic发布消息

    $ rostopic pub [-1] <topic> <msg_type> [-r 1] -- [args] [args]
    $ rostopic pub -1 encoder std_msg/Empty #向encoder topic 发布了一个空消息,消息只发布一次[-1]
    

    查看topic发布的消息

    rostopic echo /cmd_vel
    

    保存所有的消息到文件

    rostopic echo -p /cmd_vel > ~/location/filename 
    

    查看topic发布消息的频率

    rostopic hz /cmd_vel
    

    Service 相关操作

    查看所以service操作
    $ rosservice -h

    查看 service 列表
    $ rosservice list

    调用 service
    $ rosservice call [service] [args]

    查看 service 格式并显示数据
    $ rosservice type [service] | rossrv show

    设置service parameter

    $ rosparam set [parame_name] [args] + rosservice call clear

    获得parameter
    $ rosparam get [parame_name]

    加载parameter
    $ rosparam load [file_name] [namespace]

    删除parameter
    $ rosparam delete

    Bag 相关操作

    录制所有topic变化
    $ rosbag record -a

    记录某些topic
    $ rosbag record -O subset <topic1> <topic2>

    查看bag信息
    $ rosbag info <bagfile_name>

    回放
    $ rosbag play (-r 2) <bagfile_name>

    终端rosrun时设置topic和message别名

    用命令行rosrun 来启动节点时,查看rosnode list会发现,node名字之后跟了一串的数字,本身没有什么问题,但是当我们想要通过程序来kill某个节点的时候就无法通过正常的名字来kill它了,于是我们需要设置名字

    rosrun map_server map_server  /home/abc/maps/map.yaml __name:=map_server
    

    message的别名也可以自主设置

    rosrun map_server map_server  /home/abc/maps/map.yaml map:=map1 map_metadata:=map_metadata1
    

    相关文章

      网友评论

        本文标题:ROS 常用命令字典

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