zoukankan      html  css  js  c++  java
  • ROS之自定义服务数据

    在我们编译源码时,会经常遇到以下问题:

    /home/zztsj/catkin_ws/src/AS_6Dof_Arm/as_arm_control/src/check_collision.cpp:11:10: fatal
    error: as_arm_description/CheckCollisionValid.h: 没有那个文件或目录
    #include <as_arm_description/CheckCollisionValid.h>

    找不到我们自定义数据生成头文件,对于这个问题,稍微讲一下心得。我是以服务数据为例。

    1.在当前软件包调用自定义服务数据

    在ROS中的服务数据可以自定义,然后在当前软件包调用,就不需要关注路径了。

    首先创建一个服务类型的数据类型的srv文件:

    AddTwoInts.srv

    int64 a
    int64 b
    ---
    int64 sum

    package.xml文件配置没有什么区别,就是添加依赖就行

    然后打开CMakeLists.txt文件,添加如下配置

    add_service_files(

    FILES

    AddTwoInts.srv

    )

    然后编译成功,就可以调用AddTwoInts.h了

    2.在其他软件包调用自定义服务数据

    在ROS中的服务数据可以自定义,然后在当其他软件包调用,这就需要关注路径了。

    首先创建一个服务类型的数据类型的srv文件:

    AddTwoInts.srv

    int64 a
    int64 b
    ---
    int64 sum

    package.xml文件配置没有什么区别,就是添加依赖就行

    然后打开CMakeLists.txt文件,添加如下配置

    add_service_files(

    FILES

    AddTwoInts.srv

    )

    include_directories(
     ${catkin_INCLUDE_DIRS} /home/zztsj/catkin_ws/devel/include/                   添加你自己的路径       
     )

    然后编译成功,就可以调用AddTwoInts.h了

    大家共勉

  • 相关阅读:
    Java 基础
    Java 数据类型
    Spring 拦截器实现事物
    SSH 配置日记
    Hibernate 知识提高
    Jsp、Servlet
    leetcode 97. Interleaving String
    leetcode 750. Number Of Corner Rectangles
    leetcode 748. Shortest Completing Word
    leetcode 746. Min Cost Climbing Stairs
  • 原文地址:https://www.cnblogs.com/tanshengjiang/p/14014959.html
Copyright © 2011-2022 走看看