自定義資料報可以在使用資料的功能包內進行建立,也可以單獨建立乙個功能包來專門進行自定義資料型別.
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語言一樣常用的資料型別,他們還有允許使用者自己來設計的一些資料型別,比如列舉型資料,結構型資料和鍊錶。我就簡單的總結下列舉型別。列舉型別允許使用者自己來定義一種資料...