ROS自定義資料型別

2021-10-07 09:11:25 字數 2114 閱讀 9410

自定義資料報可以在使用資料的功能包內進行建立,也可以單獨建立乙個功能包來專門進行自定義資料型別.

1.建立乙個功能包

進入工作空間catkin_ws/src

catkin_create_pkg test_msgs actionlib std_msgs message_generation actionlib_msgs

cd ../

catkin_make

2.建立自定義資料

bool mode

float64 angle

#請求

int64 a

int32 b

---#應答

int64 sum

#定義目標資訊

uint32 dish_id

---#定義結果資訊

uint16 total

---#定義週期反饋資訊

float32 feed_msg

3.修改cmakelists.txt

cmake_minimum_required(version 2.8.3)

project(test_msgs)

find_package(catkin required components

actionlib

message_generation

std_msgs

actionlib_msgs

)add_action_files(

directory action

files

testaction.action

)add_message_files(

directory msg

files

testmsg.msg

)add_service_files(

directory srv

files

testsrv.srv

)generate_messages(

dependencies

std_msgs

actionlib_msgs

)catkin_package()

4.修改package.xml檔案

<?xml version="1.0"?>

test_msgs

0.0.0

the test_msgs package

penuel

todo

catkin

actionlib

message_generation

std_msgs

actionlib_msgs

actionlib

std_msgs

message_generation

actionlib_msgs

actionlib

std_msgs

message_runtime

actionlib_msgs

5.最後進行編譯 catkin_make

#include "ros/ros.h"

#include "test_msgs/testmsg.h"

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

return 0;

}

cmakelists.txt:

find_package(catkin required components

roscpp

rospy

std_msgs

test_msgs

)

package.xml:

catkin

roscpp

rospy

std_msgs

test_msgs

roscpp

rospy

std_msgs

test_msgs

roscpp

rospy

std_msgs

test_msgs

自定義資料型別

include include using namespace std typedef double weight,tall struct student int main cout for int i 0 i 4 i return 0 貼上正確的輸出 這裡tall和weight都是自己可以輸入的 ...

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

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

自定義資料型別 列舉型別

學習了乙個月c語言,卻從來沒有更新過部落格,沒有總結的學習是不完整的。好了,其實我是走c 方向的,就提前看了c 的有關內容。c 除了和c語言一樣常用的資料型別,他們還有允許使用者自己來設計的一些資料型別,比如列舉型資料,結構型資料和鍊錶。我就簡單的總結下列舉型別。列舉型別允許使用者自己來定義一種資料...