栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

ROS中如何自定义头文件并调用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ROS中如何自定义头文件并调用

环境:Ubuntu18.04,ROSmelodic

目录
      • 1.创建功能包
      • 2.新建头文件
      • 3.创建可执行文件


1.创建功能包

打开vscode,在工作空间src目录下右键单击create catkin package,命名功能包,这里命名为self_definition,回车,继续添加依赖项,roscpp rospy std_msgs,再次回车则一个新的功能包创建完成(首次使用vscode看这里->如何在ROS中使用VScode创建功能包并编写cpp文件)

2.新建头文件

鼠标放置在在功能包self_definition中include的self_definition目录下右键创建头文件self.h
首先声明头文件,然后在里面声明namespce、class和函数

#ifndef _SELF_H
#define _SELF_H
namespace self_ns{

class self_cl {

public:
    void zidingyi();
};

}
#endif

3.创建可执行文件

先要包含头文件,在c_cpp_properties.json下添加头文件路径,在头文件位置右键复制路径即可,但是一般include后面加两个星号,/include/**,这样可以包含功能包下的所有头文件,不用每次新建头文件都添加路径

根据头文件的声明在可执行文件中使用,在终端打印出“自定义头文件的使用…”
在主函数中调用,首先setlocale放置中文乱码,再初始化节点,最后调用前面的函数。

#include "ros/ros.h"
#include "self_definition/self.h"

namespace self_ns {

void self_cl::zidingyi(){
    ROS_INFO("自定义头文件的使用....");
}

}

int main(int argc, char *argv[])
{
    setlocale(LC_ALL,"");//设置中文防止乱码
    ros::init(argc,argv,"head_info");//节点初始化
    //函数调用
    self_ns::self_cl print_info;
    print_info.zidingyi();
    return 0;
}


修改CMakeLists.txt文件中的add_executable、add_dependencies、target_link_libraries,这几个部分改成自己创建的可执行文件名,这里是self

继续把119行include的注释去掉

按Ctrl+shift+B进行编译

编译后打开新终端,设置环境变量,rosrun执行,成功运行


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971221.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号