1.概述
ROS執行命令管理ROS節點的運行。最重要的是,roscore被用作節點之間的名稱服務器。執行命令是rosrun和roslaunch。rosrun運行一個節點,當運行多個節點或設置各種選項時使用roslaunch。rosclean是刪除節點執行時記錄的日志的命令。
命令 | 重要度 | 命令釋義 | 詳細說明 |
roscore | ★★★ | ros+core | master(ROS名稱服務) + rosout(日志記錄) + parameter |
rosrun | ★★★ | ros+run | 運行節點 |
roslaunch | ★★★ | ros+launch | 運行多個節點或設置運行選項 |
rosclean | ★★☆ | ros+clean | 檢查或刪除ROS日志文件 |
2.roscore:運行roscore
roscore [選項]
roscore命令會運行主節點,主節點管理節點之間的消息通信中的連接信息。主節點是使用ROS時必須首先被運行的必要元素。ROS 主節點由roscore運行命令來驅動,並作為XMLRPC服務器運行。主節點接收多種信息的注冊,如節點的名稱、話題和服務名稱、消息類型、URI地址和端口號,並在收到節點的請求時將此信息通知給其他節點。此外,會運行rosout,這個命令用於記錄ROS中使用的ROS標准輸出日志,例如DEBUG、INFO、WARN、ERROR和FATAL。它還運行一個管理參數的參數服務器。
當執行roscore時,將用戶設置的ROS_MASTER_URI作為主URI,並且驅動主節點。用戶可以在~/.bashrc設置ROS_MASTER_URI。
從結果可以看出如下信息:日志保存在/root/.ros/log/目錄中;可以使用[Ctrl+c]退出roscore;roslaunch server、ROS_MASTER_URI等信息;/rosdistro和/rosversion的參數服務器;/rosout節點正在運行。
3.rosrun:運行ROS節點
rosrun [功能包名稱] [節點名稱]
rosrun是執行指定的功能包中的一個節點的命令。以下例子運行turtlesim功能包的turtlesim_node節點。請注意,屏幕上出現的烏龜圖標是隨機選擇並運行的。
rosrun turtlesim turtlesim_node
運行turtlesim_node節點的畫面
4. roslaunch:運行多個ROS節點
roslaunch [功能包名稱] [launch文件名]
roslaunch是運行指定功能包中的一個或多個節點或設置執行選項的命令。通過運行openni_launch功能包,可以運行20個以上的節點和10個以上的參數服務器,如camera_nodelet_manager、depth_metric、depth_metric_rect和depth_points。因此,使用launch文件啟動的方式對於運行多個節點非常有用,這是ROS中常用的執行方法。
roslaunch openni_launch openni.launch
請注意,要運行此示例並獲得相同的結果,必須安裝相關功能包ros-indigo-openni-launch。如果未安裝,請使用以下命令進行安裝。
sudo apt-get install ros-indigo-openni-launch
5.rosclean:檢查及刪除ROS日志
rosclean [選項]
該命令檢查或刪除ROS日志文件。在運行roscore時,對所有節點的記錄都會寫入日志文件,隨着時間的推移,需要定期使用rosclean命令刪除這些記錄。以下是檢查日志使用情況的示例。
rosclean check
672K ROS node logs → 意味着ROS日志一共占672KB
當運行roscore時,如果顯示以下警告信息,則意味着日志文件超過1GB,如果用戶覺得會讓系統不堪重負,請使用rosclean命令將其刪除。
WARNING: disk usage in log directory [/xxx/.ros/log] is over 1GB.
以下是刪除ROS日志存儲庫(博主是/root/.ros/log)的所有日志的示例。如果要刪除它,請按y按鈕將其刪除。