ROS學習筆記九 topic寫法

2021-10-08 01:34:18 字數 1416 閱讀 1467

功能描述:兩個node,乙個發布模擬的gps訊息(格式為自定義,包括座標和工作狀態),另乙個接收並處理該資訊(計算到原點的距離)

步驟:1.package

2.msg

3.talker.cpp

4.listener.cpp

5.cmakelist.txt&package.xml

1.package

cd ~ /catkin_ws/src

catkin_create_pkg topic_demo roscpp rospy std_msgs

2.msg

cd topic_demo/

mkdir msg

cd msg

vi gps.msg

gps.msg(包括座標、狀態)

float32 x

float32 y

string state

編譯之後生成對應的標頭檔案 ~/catkin_ws/devel/include/topic_demo/gps.h

3.talker.cpp

//ros標頭檔案

#include

//自定義msg產生的標頭檔案

#include

int main(int argc, char **ar**)

return 0;

}

思路:首先ros::init初始化,然後建立乙個控制代碼,使用nodehandle提供的advertise方法建立乙個publisher,然後使用這個publisher往需要的topic上不停地傳送自定義的message,用while迴圈實現周期性地發布。

4.listener.cpp

//ros標頭檔案

#include

//包含自定義msg產生的標頭檔案

#include

//ros標準msg標頭檔案

#include

//傳入引數是乙個常指標,指向topic_demo::gps的訊息

ROS 筆記 程式包 節點 topic

官方教程 wiki.ros.org cn ros tutorials 在工作空間的src底下,輸入如下命令 catkin create pkg 要建立的包名 依賴包名1 依賴包名2例如 catkin create pkg beginner tutorials std msgs rospy roscp...

ROS學習筆記 自定義資料型別的topic

string name uint8 uint8 age uint8 unknown 0 uint8 male 1 uint8 female 2這裡使用的基礎資料型別與語言無關,編譯會變成各種各樣的語言對應的資料型別 ros真的強 message generation 編譯依賴 message run...

RabbitMq學習筆記(五) Topic

receivetopicone 匹配規則1 宣告交換器和佇列 channel.exchangedeclare exchange name,topic string queuename channel.queuedeclare getqueue 路由關鍵字規則 string routingkeys n...