[ROS]自定义源文件调用

需求:设计头文件与源文件,在可执行文件中包含头文件

流程:

        1.编写头文件

        2.编写源文件

        3.编写可执行文件

        4.编辑配置文件并执行

1.头文件

在功能包下的include/功能包名 目录下新建头文件hello.h

#ifndef _HELLO_H
#define _HELLO_H
 
/*
    声明 namespace
            |--clss
                |--run
*/
 
namespace hello_ns{
 
 
class MyHello{
 
public:
    void run();
    
};
 
    
}
#endif

在VScode中,为了后续包含头文件不抛出异常,请配置.vscode下c_cpp_properties.json的includepath属性

"/home/用户/工作空间/src/功能包/include/**"

2.在功能包中的src目录下新建hello.cpp

#include "ros/ros.h"
#include "plumbing_head_src/hello.h"
namespace hello_ns{
    void MyHello::run(){
        ROS_INFO("源文件中的run函数......");
    }
}

3.在功能包中的src目录下新建use_head.cpp

#include "ros/ros.h"
#include "plumbing_head_src/hello.h"

int main(int argc, char *argv[])
{
    setlocale(LC_ALL,"");
    ros::init(argc,argv,"hello_head_src");

    hello_ns::MyHello myHello;
    myHello.run();

    return 0;
}

4.配置CMakeLists.txt文件

在MATLAB添加ROS自定义消息,需要遵循以下几个步骤: 步骤1: 创建自定义消息的文件夹 首先,在MATLAB工作目录下创建一个文件夹,用于存放自定义消息文件。例如,可以创建一个名为"my_msgs"的文件夹。 步骤2: 创建.msg文件 在"my_msgs"文件创建一个扩展名为.msg的文件,用于定义自定义消息的结构和字段。在该文件,可以定义消息的名称、数据类型以及其他需要的字段。 步骤3: 编译自定义消息 在命令窗口,使用"rosgenmsg"命令来编译自定义消息。例如,输入"rosgenmsg('my_msgs')"来编译"my_msgs"文件自定义消息。 步骤4: 添加生成的消息包 编译完成后,会在当前文件生成一个名为"gen"的文件夹。将该文件夹复制到MATLAB的工作目录下。 步骤5: 添加自定义消息的路径 在MATLAB,使用"rosgenmsg"函数生成的消息包默认是不在ROS消息路径的。因此,需要将其添加到ROS消息路径。可以通过设置ROS_PACKAGE_PATH环境变量来实现。例如,在MATLAB命令窗口输入"setenv('ROS_PACKAGE_PATH', fullfile(pwd, 'gen'))",将gen文件夹添加到ROS消息路径。 步骤6: 加载自定义消息 最后,可以使用"loadlibrary"函数来加载自定义消息。例如,输入"loadlibrary('my_msgs')"来加载"my_msgs"定义的消息。 完成以上步骤后,就可以在MATLAB使用自定义消息了。可以使用"rospublisher"和"rossubscriber"函数发布和订阅自定义消息,或者在MATLAB创建自定义ROS节点来处理自定义消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值