ROS教程第三步

编写自己的msg

1. 创建.msg文件

我们在ros中,不仅可以使用库中所包含的msg,并且我们还能够自己编写自定义的msg,那么如何去配置这个msg文件,如下所示:

roscd makecar
mkdir msg

首先创建msg文件夹,我们所编写的.msg文件必须得放在这个文件夹下。创建carinfo.msg文件,
文件内容如下所示:

float64 px
float64 py
float64 vx
float64 vy
float64 ux
float64 uy 
float64 v

2. 配置CmakeList.txt文件

CmakeList.txt文件决定了我们的catkin空间是如何编译的,其中的顺序一定不能颠倒,否则编译会出错。
然后我们打开makecar包下的CmakeList.txt文件,如下所示

  cmake_minimum_required(VERSION 2.8.3)   # 代表版本号,一定要高于此号
  project(makecar)

  find_package(catkin REQUIRED COMPONENTS 
      roscpp             # 前面添加的包的,在此处find_package自动添加,也可以手动在此处添加想要的包
      rospy              # REQUIRED代表此包很重要,即catkin
      geometry_msgs 
      message_generation # 定义自己的消息必须的添加的依赖项, 
   )
 
 add_message_files( 
     FILES
   # Message1.msg
   # Message2.msg  
     carinfo.msg        # 自己定义的消息的文件名
  )
 generate_messages(  
  DEPENDENCIES
  #  std_msgs  
  #  Or other packages containing msgs 
   geometry_msgs      # 在自己消息中的依赖项,如果自己定义的消息中没有对其他包的依赖,可以不在此处添加
   )
 catkin_package(
  #  INCLUDE_DIRS include
  #  LIBRARIES formcar
  #  CATKIN_DEPENDS roscpp rospy
  #  DEPENDS system_lib CATKIN_DEPENDS 
  message_runtime  # 在编译过程中的依赖项,必须添加
  geometry_msgs
  )

3. 配置package.xml文件

除了CmakeList.txt文件,我们还得配置package.xml文件,如下所示:

<?xml version="1.0"?>
<package format="2">                                    # 包的名字
 <name>formcar</name> 
 <version>0.0.0</version>                              
 <description>The formcar package</description>         # 包的描述
 <license>TODO</license>
 
 <buildtool_depend>catkin</buildtool_depend>            # 添加的包的依赖,总共有六种依赖,
 <build_depend>roscpp</build_depend> 
 <build_depend>rospy</build_depend> 
 
 <build_export_depend>roscpp</build_export_depend>  
 <build_export_depend>rospy</build_export_depend> 
  
 <exec_depend>roscpp</exec_depend>  
 <exec_depend>rospy</exec_depend>  
 
 <build_depend>message_generation</build_depend>       # 自定义自己的msg消息时,必须添加这两条依赖,否则消息不能生成  
 <exec_depend>message_runtime</exec_depend>  
 
 <build_depend>geometry_msgs</build_depend>            # 如果是后添加的包,则必须在此处添加上后加的包的这些依赖
 <build_export_depend>geometry_msgs</build_export_depend>  
 <exec_depend>geometry_msgs</exec_depend>
 
  <!-- The export tag contains other, unspecified, tags -->  
  <export>    
     <!-- Other tools can request additional information be placed here -->
  </export>
</package>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值