使用Message
Message按照定義解釋就是topic內(nèi)容的數(shù)據(jù)類型, 也稱之為topic的格式標(biāo)準(zhǔn)。
1、結(jié)構(gòu)與類型
基本的msg包括bool、 int8、 int16、 int32、 int64(以及uint)、 float、 float64、 string、 time、
duration、 header、 可變長數(shù)組array[]、 固定長度數(shù)組array[C]。
2、操作命令
3、常見message
常見的message類型, 包括std_msgs, sensor_msgs, nav_msgs,geometry_msgs等?。
使用 msg
創(chuàng)建一個(gè) msg
-
增加Num.msg文件
- 上面是最簡單的例子——在.msg文件中只有一行數(shù)據(jù)。
- 當(dāng)然,你可以仿造上面的形式多增加幾行以得到更為復(fù)雜的消息:
- 接下來,還有關(guān)鍵的一步:我們要確保msg文件被轉(zhuǎn)換成為C++,Python和其他語言的源代碼:
- 查看package.xml, 確保它包含一下兩條語句,沒有被注釋掉,如果被注釋了就取消注釋:
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
或者
<build_export_depend>message_generation</build_export_depend>
<exec_depend>message_runtime</exec_depend>
如果有其他依賴也要添加
-
如果沒有,添加進(jìn)去。
-
注意:在構(gòu)建的時(shí)候,我們只需要"message_generation"。
-
然而,在運(yùn)行的時(shí)候,我們只需要"message_runtime"。
-
在CMakeLists.txt文件中,利用find_packag函數(shù),增加對(duì)message_generation的依賴,這樣就可以生成消息了。
-
你可以直接在COMPONENTS的列表里增加message_generation,就像這樣:
roscpp
rospy
std_msgs
message_generation)
- 找到如下代碼塊:# add_message_files(
# generate_messages(
#?? DEPENDENCIES
#?? std_msgs
# )
- 在catkin_package函數(shù)中去掉#加入message_runtime依賴
- catkin_package(
- ...
- CATKIN_DEPENDS message_runtime
- ... ...)
- 去掉注釋符號(hào)#,用你的.msg文件替代Message*.msg,就像下邊這樣:
去掉注釋符號(hào)#
generate_messages(
?? DEPENDENCIES
?? std_msgs
?)
使用以下命令進(jìn)行編譯:
$ cd ~/catkin_ws/
$ catkin_make
使用 rosmsg驗(yàn)證是否編譯成功
-
以上就是你創(chuàng)建消息的所有步驟。
-
下面通過rosmsg show命令,檢查ROS是否能夠識(shí)消息。
-
使用方法:
- 樣例:
- 你將會(huì)看到:
-
在上邊的樣例中,消息類型包含兩部分: beginner_tutorials
- 消息所在的package Num
- 消息名Num.
-
如果你忘記了消息所在的package,你也可以省略掉package名。
-
輸入:
- 你將會(huì)看到:
轉(zhuǎn)載于:https://www.cnblogs.com/long5683/p/9941611.html
總結(jié)
- 上一篇: 如何办理英国夫妻团聚签证。需要哪些材料。
- 下一篇: 王志成/王之泰《面向对象程序设计(jav