实验设计 | ORB_SALM2写成RoboRTS下的一个功能包

本文详细介绍了如何将ORB_SLAM2源码改造成ROS下的功能包,包括删除多余文件,创建新的节点cpp,修改CMakeLists.txt和package.xml,以及编译过程中的步骤,如编译g2o和DBow2库,最终通过catkin_make进行编译。
摘要由CSDN通过智能技术生成

说明以下所有的操作都是基于,ORB_SALM2的源码。本文的目的是仅在ros下使用orb_slam2,需要在开源代码上做一些修改。
用catkin_make 编译orb_slam
1.库文件
2.可执行文件
3.CMakeList.txt
4.package.xml

改动 | 1 删除多余的文件
|--ORB_SLAM2 
	|_cmake_modules
	|_Examples       //! 删除
	|_include
	|_src
	|_Thirdparty
	|_Vocabulary
	|_build.sh		 //! 删除
	|_build_ros.sh	 //! 删除
	|_CMakeList.txt
	|_package.xml    //! 新增
	|_Dependences.md
	|_LICENSE.txt
	|_License-gpl.txt
	|_README.md   
改动 | 2 在src下新建 orb_slam2_node.cpp

ORB_SLAM2调用的主程序,程序入口。在新建的cpp中添加如下:

#include<iostream>
#include<algorithm>
#include<fstream>
#include<chrono>
#include<ros/ros.h>
#include <cv_bridge/cv_bridge.h>
#include<opencv2/core/core.hpp>
#include"../include/System.h"

using namespace std;

class ImageGrabber
{
   
public:
	ImageGrabber(ORB_SLAM2::System* pSLAM):mpSLAM(pSLAM){
   }
	void GrabImage(const sensor_msgs::ImageConstPtr& msg);
	ORB_SLAM2::System* mpSLAM;
};

int main(int argc, char **argv)
{
   
	ros::init(argc, argv, "Mono");
	ros::start();
	if(argc != 3)
	{
   
		cerr <<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值