ROS常用命令
打印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
stop here.