ROS和MATLAB通訊的乙個測試

2021-08-10 18:30:02 字數 1348 閱讀 3713

測試環境:ubuntu版本:14.04,ros版本:indigo,matlab版本:r2015b;

要求:ros主機和matlab從機要在同乙個區域網下。

windows下的ip位址檢視方法:開啟cmd命令窗,輸入ipconfig;

ubuntu下的ip位址檢視方法:開啟乙個新的終端,輸入ifconfig。

結果分別如上圖所示。

在確認兩台電腦處於同乙個區域網後,即可開始我們的測試。

1.在ros端開啟乙個終端,執行roscore;(先在matlab上初始化會使主機為matlab)

2.在matlab命令窗上執行如下命令,連線到ros網路並建立結點

setenv('ros_master_uri','')

rosinit

結果如下:

3.連線成功後,在matlab下用如下命令建立話題:

chatpub = rospublisher('/talker', 'std_msgs/string');

msg = rosmessage(chatpub);

以上初始化指定了話題名和訊息的型別;

4.接下來在訊息中放入資料,並通過連線到ros網路的結點話題傳送訊息:

latchpub = rospublisher('/talker', 'islatching', true);

msg.

data

='hello, this is matlab';

send(chatpub,msg);

後兩條命令可以重新寫入內容,將會在持續向ros發布訊息;

5.matlab執行完以上命令後,在ros下可使用echo命令檢視訊息內容:

rostopic echo /talker
使用rosnode list可以看到matlab的結點,rostopic list可以看到建立的/talker話題,rosrun rqt_graph rqt_graph可以檢視結點間的關係圖。

同樣的ros也可以向matlab傳送訊息實現相互的聊天功能,而matlab則可以利用上述方式實現ros下海龜的運動控制,或者控制實體機械人的運動。

建立乙個ROS節點

mkdir p catkin ws srccd catkin ws src現在使用catkin create pkg命令來建立乙個名為 beginner tutorials 的新程式包,這個程式包依賴於std msgs roscpp和rospy catkin create pkg beginner ...

建立乙個ROS包

先前筆者不知道catkin到底是個什麼東東,後來終於在官方 上找到了答案,原來catkin是ros的乙個官方的編譯構建系統,是原本的ros的編譯構建系統rosbuild的後繼者。catkin的 有點複雜,我們可以慢慢的講一下其中的淵源。ros 於willow garage這個公司,他們希望借助開源的...

04 編譯乙個ROS包

1 記得事先source你的環境配置 setup 檔案,在ubuntu中的操作指令如下 source opt ros groovy setup.bash 也可以在 bashrc配置檔案進行配置 2 catkin make 是乙個命令列工具,它簡化了catkin的標準工作流程。你可以認為catkin ...