ros 建立自己的msg

2021-09-25 13:16:52 字數 921 閱讀 3299

在使用ros訂閱話題訊息的時候,有些時候為了能夠進行資料型別的轉換或者想實現訊息的傳輸問題時,需要用到自己定義的.msg訊息型別。

建立乙個msg檔案,再建立乙個.msg檔案:

mkdir msg

vi test.msg

如下定義:

float32 data

uint16 size

header header

int16 port

緊接著修改cmakelist和package.xml。

cmakelist如下:

cmake_minimum_required(version 2.8.3)

project(jack_msgs)

find_package(catkin required components

std_msgs

message_generation

)add_message_files(files test.msg)

generate_messages(dependencies std_msgs)

catkin_package(catkin_depends message_runtime)

include_directories($)

package.xml如下:

catkin

message_generation

message_runtime

回到工作空間編譯,這時就生成了自己的msg了,就可以通過msg.*的形式進行傳輸資料了。

編譯通過可以通過以下命令檢視:

rosmsg show test
這時終端顯示的結果應該和test.msg一致。

理解ROS 建立並使用自己的msg和srv

在包的src同一級建立msg和srv資料夾,並在裡面建立自己的訊息和服務。如 my msg.msg header header string child frame id geometry msgs posewithcovariance pose geometry msgs twistwithcov...

ROS 定製自己的訊息型別msg

在實際應用中,我們可能想發布自己的訊息型別,就像眾所周知的twist型別或者航向資訊odometry一樣,那麼到底如何定製自己想要的訊息型別?本文樓主以自己除錯過程中監控機械人左右輪速度來進行演示。文章內容包括 訊息的定製和使用,以及使用rqt plot來繪製曲線,建議大家先閱讀官網教程,一些細節事...

原始碼 自己寫的Msg

返回提示資訊類 public class msg if sql.indexof where 1 if sql.indexof group by 1 if sql.indexof order by 1 return sql public msg public static void confirm s...