- 機器人SLAM導航:核心技術與實戰
- 張虎
- 937字
- 2022-01-04 17:29:15
1.4 ROS調試工具
雖然ROS系統很復雜,但其附帶了大量工具用于ROS開發調試。這些調試工具大致分為命令行工具和可視化工具兩種,掌握這些工具能夠大大提高開發效率。
1.4.1 命令行工具
ROS提供了命令行工具,能在shell終端直接輸入命令并使用,其類似于Linux命令。這里對經常用到的命令進行介紹,比如運行、信息顯示、catkin操作和功能包操作。想了解更多ROS命令,可以參考官方wiki教程[1]。
運行相關的命令主要有roscore、rosrun和roslaunch。其中roscore是啟動主節點的命令,rosrun是啟動單個節點的命令,roslaunch是同時啟動多個節點的命令。
信息顯示相關的命令主要有rosnode、rostopic、rosservice、rosparam、rosmsg、rossrv和rosbag。rosnode是與節點相關的命令,rostopic是與話題相關的命令,rosservice是與服務相關的命令,rosparam是與參數相關的命令,rosmsg是與消息類型相關的命令,rossrv是與服務類型相關的命令,rosbag是與數據包相關的命令。
catkin操作相關的命令主要有catkin_init_workspace、catkin_create_pkg和catkin_make。catkin_init_workspace是初始化catkin工作空間的命令,catkin_create_pkg是創建功能包的命令,catkin_make是編譯功能包的命令。
功能包操作相關的命令主要有rospack、rosinstall和rosdep。rospack是查詢功能包信息的命令,rosinstall是安裝功能包更新的命令,rosdep是功能包依賴的命令。
1.4.2 可視化工具
除了上面提到的命令行工具,這里的可視化工具是對調試工作很好的補充。下面介紹rviz和rqt兩個開發過程中頻繁使用的可視化工具。
rviz是ROS自帶的三維可視化工具,可以讓用戶通過圖形界面非常方便地開發、調試ROS。比如可視化顯示激光雷達、深度相機、超聲波等傳感器的數據,機器人的三維幾何模型,路徑規劃實時軌跡與發送導航目標點等。啟動rviz的方法很簡單,命令如下。
#在終端先啟動roscore roscore #在另一個終端啟動rviz rviz
除了上面的rviz可視化工具,ROS中還支持用戶自己開發的可視化工具rqt。rqt是基于Qt開發的,因此rqt用戶可以自由添加和編寫插件來實現自己的功能。啟動rqt主界面的方法很簡單,命令如下。
#在終端先啟動roscore roscore #在另一個終端啟動rqt rqt
rqt包含的插件非常豐富,一些很常用的rqt插件包括rqt_graph、rqt_tf_tree、rqt_plot、rqt_reconfigure、rqt_image_view和rqt_bag。rqt_graph用于顯示ROS網絡中節點連接關系圖,rqt_tf_tree用于顯示ROS網絡中tf關系樹狀圖,rqt_plot用于為ROS中的消息數據繪制曲線圖,rqt_reconfigure用于在圖形界面中配置ROS參數,rqt_image_view用于顯示ROS中的圖像數據,rqt_bag用于顯示rosbag文件中的數據結構。除了從rqt主界面啟動rqt的各種插件,還可以在命令行中直接啟動某個rqt插件。以rqt_graph插件為例,啟動方法如下。
#在終端先啟動roscore roscore #在另一個終端啟動rqt_graph插件 rqt_graph