运行ORB-SLAM2(单目+AR)遇到的问题

2024-03-28 02:30

本文主要是介绍运行ORB-SLAM2(单目+AR)遇到的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 在运行实时单目时(单目相机的实时图像作为输入数据)

需要在systerm.h的文件头加上#include <unistd.h>,,并且在ros_mono.cc,ros_mono_ar.cc(这个在该文件夹的AR文件夹里面)将
ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1,&ImageGrabber::GrabImage,&igb);更改为ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);
然后回到ORB-SLAM2重新授权并且编译chmod +x build_ros.sh ./build_ros.sh。之后要是遇到报错d02573f6fabc46f59dcfdc61ac7f8e2a.png (1992×613)

 则在ROS/ORB-SLAM2下的CMakeLists.txt中添加 -lboost_systeme4b57f98debf4be39bda0a3609d0416d.png (682×195)

 然后再重新授权并且编译。编译完成后就可以开始执行实时单目ORB-SLAM2

打开终端一进入ROS环境:roscore

打开终端二(调用usb_cam)节点:cd catkin_ws/src/usb_cma/src/sub_cam/launch

在ORB-SLAM2文件夹下打开终端三并运行:osrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml

其中参考了这位博主的博客(18条消息) Ubuntu18.04配置orb-slam2+ROS,一次性通过./build_ros.sh_orbslam配置_月的挥手的博客-CSDN博客

2. 利用单目相机实时跑ORB-SLAM2的AR程序时,需要注意以下几点:

        a. 注意ORB-SLAM2下的ROS文件需是编译过的,在ROS/ORB-SLAM2的文件夹应该有build文件,MonoAR、Mono、RGBD和Stereo文件都是依靠编译ROS之后生成的

        b. 在运行MonoAR前要把AR中的ros_monoar.cc中的ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1        更改为ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1

        c.在ORB-SLAM2文件夹下运行

rosrun ORB_SLAM2 MonoAR Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM2/Asus.yaml

其中部分参考了这位博主的博客(18条消息) Ubuntu 16.04 ORB_SLAM2+ROS+usb_cam+AR_HFKuAng的博客-CSDN博客

这篇关于运行ORB-SLAM2(单目+AR)遇到的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/854180

相关文章

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx