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了

    大家共勉

  • 相关阅读:
    springboot之mybatis别名的设置
    webstorm
    万字长文把 VSCode 打造成 C++ 开发利器
    残差residual VS 误差 error
    参数与非参数的机器学习算法
    阿里云产品梳理
    aws产品整理
    Azure产品整理
    OpenStack产品摘要
    头条、美团、滴滴、阿里、腾讯、百度、华为、京东职级体系及对应薪酬
  • 原文地址:https://www.cnblogs.com/tanshengjiang/p/14014959.html
Copyright © 2011-2022 走看看