ROS 用 roboware實現節點信息發送和接收

在ros下實現節點編程,實現一個節點發送消息,另外一個節點接收。實現方式有多種,能夠直接在命令窗口建立工做空間包以及節點,用catkin_make進行編譯,添加.bash路徑,而後執行rosrun  package  node_name 。這種方式對於一個ROS初學者來講容易出錯,並且不少網上的教程中出現了不一樣的問題,好比須要修改CMakeLists.txt和package.xml中的內容,至關繁瑣。爲了不沒必要要的麻煩,初學者能夠應用IDE進行節點編程,達到必定的水平後,再用上面的方式去實現。下面就介紹一下roboware 軟件實現helloword的發送和接收。node

這個例子是在ROS能正常運行的狀況下進行的,因此爲了避免必要的麻煩,最好先跑跑小烏龜的例子。編程

1.下載安裝roboware.bash

去官網下載地址:http://www.roboware.me/#/home code

選擇Studio v1.2.64bit deb  下載 。若是是32位機選擇v.2.0 32bit deb版本。xml

傻瓜式安裝,一直下一步。安裝好之後以下所示:blog

2.建立工做區教程

打開軟件後,選擇新建工做區,這裏要選擇一個文件夾,這裏最後選擇主文件夾。而後在名稱:robotit

robot 即爲新建的工做空間名稱。建好以後後出現一個src文件夾,和一個CMakeLists.txt文件。io

3.新建ROS包編譯

右鍵src文件夾選擇「新建ROS包」在名稱欄:test

建好以後會出現一個test文件夾,下有一個SRC文件夾。

4.新建ROS節點

右鍵test文件夾,選擇新建C++ROS節點。在名稱:test

建好以後文件內有兩個.cpp文件,一個是test_pub.cpp ,用於發送helloworld 信息,稱爲發送者。 另外一個是test_sub.cpp用於接收信息,稱爲訂閱者。

5.點擊左上角的錘子編譯文件,ROS節點界面會出現test節點。看到100%說明編譯成功。

以上就完成了整個工程的編譯,這部份內容通常不會出現什麼問題,接下來就要執行了,問題就來了。

6.打開ROS master

roscore

7.rosrun執行節點

rosrun test test_pub

分析其緣由多是由於在安裝ROS時已經建立了工做空間,新建的工做空間和以前的不一樣,因此須要將新建的工做空間的路徑添加到bashrc文件中。

因而執行下面的步驟:新開一個終端輸入下面的命令打開文件bashrc

gedit .bashrc

在新建工做空間的devel 文件下找到setup.bash文件,查看其路徑將其路徑添加到bashrc文件的末尾,具體以下:

而後關閉全部終端,從新打開終端執行

roscore

再打開一個終端:

rosrun test test_pub

出現:

這裏實現了發送

8.執行接收節點

rosrun test test_sub

出現same name的問題。

這是咱們在建立節點時沒有修改cpp文件中初始化文件名致使的。

將名稱改成test_pub和test_sub

保存,從新編譯。而後將因此終端所有關閉,從新執行打開master和發送、接收

能夠實現接收了。

相關文章
相關標籤/搜索