)
description:本教程主要介紹 ros 圖(graph)概念 並討論roscore、rosnode和 rosrun 命令列工具的使用。
1.先決條件
在本教程中我們將使用到乙個輕量級的模擬器,請使用以下命令來安裝:
root@zxwubuntu-aspire-v3-572g:~# sudo apt-get install ros--ros-tutorials用你使用的ros發行版本名稱(例如electric、fuerte、groovy、hydro等)替換掉''。
2.圖概念概述
3.節點
乙個節點其實只不過是ros程式包中的乙個可執行檔案。ros節點可以使用ros客戶庫與其他節點
通訊。節點可以發布或接收乙個話題。節點也可以提供或使用某種服務。
4.客戶端庫
ros客戶端庫允許使用不同程式語言編寫的節點之間互相通訊:
5.roscore
roscore 是你在執行所有ros程式前首先要執行的命令。
root@zxwubuntu-aspire-v3-572g:~# roscore然後你會看到類似下面的輸出資訊::
如果 roscore 執行後無法正常初始化,很有可能是存在網路配置問題。參見 :
如果 roscore 不能初始化並提示缺少許可權,這可能是因為~/.ros資料夾
歸屬於root使用者(只有root使用者才能訪問),修改該資料夾的使用者歸屬關係:
root@zxwubuntu-aspire-v3-572g:~# sudo chown -r ~/.ros6.使用rosnode開啟乙個
新的終端, 可以執行 rosnode list
root@zxwubuntu-aspire-v3-572g:~# sudo rosnode list這表示當前只有乙個節點在執行: rosout。因為這個節點用於收集和記錄節點調
試輸出資訊,所以它總是在執行的。
rosnode info 命令返回的是關於乙個特定節點的資訊。
root@zxwubuntu-aspire-v3-572g:~# rosnode info /rosout這給了我們更多的一些有關於rosout的資訊, 例如,事實上由它發布/rosout_agg.
現在,讓我們看看更多的節點。為此,我們將使用rosrun 彈出另乙個節點。
7.使用 rosrun
rosrun 允許你使用包名直接執行乙個包內的節點(而不需要知道這個包的路徑)。
用法:
$ rosrun [package_name] [node_name]現在我們可以執行turtlesim包中的 turtlesim_node。
然後, 在乙個新的終端:
root@zxwubuntu-aspire-v3-572g:~# rosrun turtlesim turtlesim_node你會看到 turtlesim 視窗:
注意:這裡的 turtle 可能和你的 turtlesim 視窗不同。別擔心,這裡有許多版本的turtle ,而你的是乙個驚喜!
在乙個新的終端:
root@zxwubuntu-aspire-v3-572g:~# rosnode list你會看見類似於:
ros的乙個強大特性就是你可以通過命令列重新配置名稱。
關閉 turtlesim 視窗停止執行節點 (或者回到rosrun turtlesim終端並使用`ctrl
root@zxwubuntu-aspire-v3-572g:~# rosrun turtlesim turtlesim_node __name:=my_turtle現在,我們退回使用 rosnode list:
注意: 如果你仍看到 /turtlesim在列表中,這可能意味著你在終端中使用ctrl-c停
止節點而不是關閉視窗,或者你沒有$ros_hostname環境變數,這在
中有定義。你可以嘗試清除rosnode
列表,通過:
root@zxwubuntu-aspire-v3-572g:~# rosnode cleanup我們可以看到新的/my_turtle 節點。使用另外乙個 rosnode 指令, ping,:
8.回顧
本節所涉及的內容:
到這裡,您已經了解了ros節點是如何工作的。
5 理解ROS節點
描述 這個教程介紹了ros圖表概念,討論了roscore,rosnode和rosrun命令列工具的使教程等級 初學者 下乙個教程 理解ros主題 內容 1.預先條件 2.圖表概念的快速瀏覽 3.節點 4.客戶庫 5.roscore 6.使用roscore 7.使用rosrun 8.複習 對於這份教程...
ROS5 理解ROS節點
這篇教程會介紹ros圖概念和並討論roscore rosnode和rosrun命令的使用。1.預備條件 這裡會使用輕量級的模擬器,先安裝 sudo apt get install ros ros tutorials 1將替換成你的ros版本名稱。2.圖概念的快速概覽 節點 nodes 節點是乙個利用...
5 理解ros服務
ros服務 service 是節點間交流的另外一種方式,服務類似於web中的服務端與客戶端的概念,節點類似乙個客戶端,可以發出乙個請求 request 然後接受乙個響應 response 此命令的用法如下 rosservice list print information about active ...