python ros自定义msg

新建ros工程的话,会自动生成package.xml和CmakeLists.txt文件,在这两个文件里有对自定义msg的预留语句;

如果不是新建工程,需要手动添加这些;

在功能包package下新建msg文件夹,存放自定义msg,新建msg文件VehicleCoordinate.msg:

Header header
nav_msgs/Odometry odometry
float32[] euler_angle
float32 velocity

在package.xml中添加:

  std_msgs
  std_msgs
  nav_msgs
  nav_msgs
  message_generation
  message_runtime

在CmakeLists.txt中添加:

find_package(catkin REQUIRED genmsg std_msgs  # essential dependency  
     nav_msgs message_generation
)


add_message_files(DIRECTORY msg FILES 
    VehicleCoordinate.msg
)


generate_messages(DEPENDENCIES std_msgs  nav_msgs)
catkin_package(CATKIN_DEPENDS std_msgs  nav_msgs message_runtime)

执行catkin_make开始编译,编译通过后,在程序中引用自定义msg时需要注意,

from tracking.msg import VehicleCoordinate    # 其中tracking是自定义msg所在的package名

引入不正确会提示no module named ***

你可能感兴趣的:(ROS学习,ros)