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


在ros下實現節點編程,實現一個節點發送消息,另一個節點接收。實現方式有多種,可以直接在命令窗口創建工作空間包以及節點,用catkin_make進行編譯,添加.bash路徑,然后執行rosrun  package  node_name 。這種方式對於一個ROS初學者來說容易出錯,而且很多網上的教程中出現了不同的問題,比如需要修改CMakeLists.txt和package.xml中的內容,相當繁瑣。為了避免不必要的麻煩,初學者可以應用IDE進行節點編程,達到一定的水平后,再用上面的方式去實現。下面就介紹一下roboware 軟件實現helloword的發送和接收。

這個例子是在ROS能正常運行的情況下進行的,所以為了不必要的麻煩,最好先跑跑小烏龜的例子。

1.下載安裝roboware.

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

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

傻瓜式安裝,一直下一步。安裝好以后如下所示:

2.創建工作區

打開軟件后,選擇新建工作區,這里要選擇一個文件夾,這里最后選擇主文件夾。然后在名稱:robot

robot 即為新建的工作空間名稱。建好之后后出現一個src文件夾,和一個CMakeLists.txt文件。

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和發送、接收

可以實現接收了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM