ROS常用命令
打开终端
$ ctrl+alt+t
打开多个终端(多屏显示)
$ ctrl+shift+t
终端清屏
$ ctrl+l
打印ros环境变量
$ echo $ROS_PACKAGE_PATH
确认环境变量已经设置正确
export | grep ROS
环境变量设置文件 sudo gedit ./.bashrc
包含:
source /opt/ros/indigo/setup.bash
source ~/catkin_ws/devel/setup.bash
查看软件包列表和定位软件包
rospack list , rospack find package-name
输出当前运行的topic列表:
rostopic list
查看节点、终止节点
rosnode info node-name
rosnode kill node-name
查看节点构成的计算图rqt_graph
查看在一个话题上发布的数据rostopic echo [topic]
(用–分割两个相邻的消息)
查看topic的类型、发布者、订阅者
rostopic info topic-name
测量发布频率
rostopic hz topic-name
(每秒发布的消息数量)
rostopic bw topic-name
(每秒发布信息所占的字节量)
用命令行发布消息
rostopic pub -r rate-in-hz topic-name message-type message-content
rostopic pub -r 1 /turtle1/cmd_vel geometry_msgs/Twist '[2,0,0]''[0,0,0]'
查看消息类型rosmsg show message-type-name
查看参数列表
rosparam list
查询参数
rosparam get parameter_name
设置参数
rosparam set parameter_name parameter_value (rosservice call/clear之后起作用)
创建和加载参数文件
rosparam dump/load filename namespace
在启动文件中设置参数
<param name="param-name" value="param-value" /> (可在node标签中设置私有化参数)
从文件中读取参数
<rosparam command="load" file="$(find package-name)/param-file" />
列出所有服务
rosservice list
查看某一特定节点提供的服务 rosnode info node-name
查找提供特定服务的节点 rosservice node service-name
查看服务的数据类型
rosservice info service-name
查看服务类型的详情
rossrv show service-data-type-name(--之前是请求项,之后是响应项)
从命令行调用服务
rosservice call service-name request-content
录制包文件
rosbag record -O filename.bag topic-names
回放包文件(参数:-d选项让重放延时一定时间;-r就是rate可以加快速度播放;-s让它从某个时间点开始;-u持续时间)
rosbag play filename.bag
rosbag play -r 2 -s 120 -u 60 <bagfile_name>
#以两倍的速度发布记录的消息,120s后开始播放,持续60s。
检查文件包
rosbag info filename.bag
查看image:
rosrun image_view image_view image:=/cam0/image_raw
查看rostopic中的图像大小:
rostopic echo /camera/rgb/image_raw/width -n1
rostopic echo /camera/rgb/image_raw/height -n1
提取bag文件中的数据并保存为csv格式(也可以为txt,但是格式比较混乱)
对于非图片数据,大部分情况下都可用csv文件存储。将file_name.bag文件中topic_name话题的消息转换到Txt_name.csv文件中:
rostopic echo -b file_name.bag -p /topic_name > Txt_name.csv