fbpx

ROS Messages

Criando mensagens de comunicação

No artigo sobre topics falamos sobre como criar a comunicação Publisher Subscriber em python.
Fizemos isso utilizando uma mensagem padrão do tipo String contida no pacote.

ROS permite que você crie sua própria mensagem no seu próprio tipo e a transmita entre nós.

Todo nome de mensagem é composto por duas partes package_name/message_type.
Em nossa aplicação Talker Listener utilizamos std_msg/String.

Aqui criaremos a mensagem de sensores como exemplo, todo sensor terá um id, um nome, a temperatura e a umidade.

Em seu workspace, no diretório do pacote onde realiza suas aplicações, no nosso caso ros_essentials_cpp, deverá ser criado uma pasta de nome msg, nessa pasta criaremos um arquivo de nome Sensor.msg que deverá ser preenchido com as seguintes linhas:

_____________________

int32 id
string name
float32 temperature
float32 humidity

_____________________

Para que a mensagem possa ser usada é necessário atualizar as dependências em CMakeLists.txt adicionando a linha message_generation no campo seguinte:

########################################

find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
message_generation
)

#######################################

Ainda em CMakeLists.txt adicionar o nome do arquivo criado no campo seguinte:

####################
add_message_files(
FILES
Sensor.msg
)

####################

Agora em package.xml adicionar nos locais adequados (de acordo com a sintaxe) as linhas :

<build_depend>message_generation</build_depend>

e

<exec_depend>message_runtime</exec_depend>

 

Para finalizar é necessário no diretório do workspace realizar um catkin_make.

E agora temos um novo tipo de mensagem que pode ser usado na comunicação entre nós através de topics.

30 de março de 2021

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900

Copyright © Linux Force Security  - Desde 2011.