最近由于需求,需要自定义一些topic格式进行数据的处理。基于常见的数据类型:int32 flosat32 bool 等可以定义出需要的消息格式。 如:example.msg
int32 a
float32 b
bool c
则在终端查看消息类型为example.msg定义的example_topic时
rostopic echo /example_topic
有类似如下显示:
a: 1
b: 1.0
c: true
---
a: 1
b: 1.0
c: true
---
a: 1
b: 1.0
c: true
---
a: 1
b: 1.0
c: true
---
但在一些特殊条件下需要消息中的数据为数组形式,以存储更多的数据,则数组形式的自定义消息为(以bool型数据为例): example_bool_array.msg
bool[3] bool_array_data
创建该消息格式的数据对象,并赋值。
package_name::example_bool_array bool_data;
bool_data.bool_array_data[0] = true;
bool_data.bool_array_data[1] = false;
bool_data.bool_array_data[2] = true;
将该消息对象发布出去,并打印发布的example_bool_topic
rostopic echo /example_bool_topic
example_bool_topic: [True, False,True]
---
example_bool_topic: [True, False,True]
---
example_bool_topic: [True, False,True]
在终端显示的数据以数组的形式被包含到中括号”[]”中。