博客地址:https://www.cnblogs.com/zylyehuo/

基于ORB-SLAM3库搭建SLAM系统详见之前的博客

基于ORB-SLAM3库搭建SLAM系统 - zylyehuo - 博客园 (cnblogs.com)

参考链接

ORB-SLAM3 v1.0 编译问题解决

/usr/bin/env: "python\r": 没有那个文件或目录

效果图

STEP1:将 Examples_old 中的 ROS 文件夹复制到 /home/yehuo/SLAM/ORB_SLAM3-master/Examples/

打开终端输入指令: vim ~/.bashrc 打开用户根目录下的.bashrc文件

添加ROS功能包路径 export

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/yehuo/SLAM/ORB_SLAM3-master/Examples/ROS

此处路径需要根据每个人放置功能包的位置进行调整,不能直接复制

STEP2:授权+编译

chmod +x build_ros.sh ##修改Build_ros.sh权限

./build_ros.sh ##安装 orb_slam 中的 ros模块

STEP3:创建 camera.py 文件

#!/usr/bin/env python
#!coding-utf -8 import rospy
from sensor_msgs.msg import Image
import cv2
from cv_bridge import CvBridge
import sys def webcamImagePub(): rospy.init_node('cam_pub',anonymous=True)
img_pub = rospy.Publisher('camera/image_raw',Image,queue_size=2)
rate = rospy.Rate(20) cap = cv2.VideoCapture(0)
scaling_factor = 0.3
bridge = CvBridge() if not cap.isOpened():
sys.stdout.write("zzz")
return -1 count = 0 while not rospy.is_shutdown():
ret,frame = cap.read()
if ret:
count = count + 1
else:
rospy.loginfo("xxx")
if count == 2:
count = 0
msg = bridge.cv2_to_imgmsg(frame)
img_pub.publish(msg)
print("yyy")
rate.sleep()
if __name__ == '__main__':
try:
webcamImagePub()
except rospy.ROSInterruptException:
pass

将camera.py放入 /Examples/ROS/ORB_SLAM3/scripts/ 文件夹下,(scripts文件夹需要自己创建)

打开终端执行 chmod+x camera.py 赋予可执行权限

STEP4:配置连接电脑摄像头

(1)在windows中使用 win + R 快捷键开启运行搜索界面

(2)输入services.msc,在服务中找到 VMware USB Arbitration Service,使其处于 ‘正在运行’ 状态

(3)在VMware虚拟机->设置选项下,调整USB控制器为兼容USB3.1状态

(4)连接电脑摄像头

STEP5:运行测试

【1】运行 camera.py 文件

打开终端

执行 roscore

打开新的终端

执行 rosrun ORB_SLAM3 camera.py

【2】启动例程

在以下路径下打开终端

在终端输入以下指令 === 注意修改路径

rosrun ORB_SLAM3 Mono /home/yehuo/SLAM/ORB_SLAM3-master/Vocabulary/ORBvoc.txt /home/yehuo/SLAM/ORB_SLAM3-master/Examples/Monocular/TUM1.yaml

问题汇总

(1)fatal error:sophus/se3.hpp

(2)/usr/bin/env: "python\r": 没有那个文件或目录

解决方法,参考以下链接

/usr/bin/env: "python\r": 没有那个文件或目录

(3)./build_ros.sh 步骤中报错

解决办法,参考以下链接

ORB-SLAM3 v1.0 编译问题解决

SLAM系统--开启摄像头连接的更多相关文章

  1. CentOS 系统 MySQL 5.7 开启远程连接

    CentOS 系统安装好 MySQL 后,默认情况下不支持用户通过非本机连接上数据库服务器,下面是解决方法: 1.在控制台执行 mysql -u root -p 系统提示输入数据库 root 用户的密 ...

  2. ADB命令指令控制Android系统的WIFI连接开启/关闭状态

    Android系统的usb调试已开启,连接电脑(有ADB环境) 1.在cmd中,进入shell指令模式 adb shell 2.进入ROOT指令模式 su 3. 打开WIFI指令 svc wifi e ...

  3. (转) SLAM系统的研究点介绍 与 Kinect视觉SLAM技术介绍

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     SLAM系统的研究点介绍 本文主要谈谈SLAM中的各个研究点,为研究生们(应该是博客的多数读者吧)作一个提纲挈领的摘要.然后,我 ...

  4. 远程连接mysql,mysql如何开启远程连接

    很多时候,mysql只需要开本地连接,也就是本机(服务器本身)连接就可以,默认也是这样,默认也不支持远程连接 但有的时候,我们需要将mysql独立出一台主机或数据库,放到另一台机器的时候,这时,就需要 ...

  5. Ubuntu开启远程连接

    Ubuntu开启远程连接 author:headsen chen   2017-10-13   09:47:38 个人原创,严禁转载,违者追究法律责任: apt-get update apt-get ...

  6. Linux 系统开启随机端口数量 调优

    Linux系统随机端口 默认Linux系统开启的随机端口范围为 32768 ~ 65535.客户端连接服务监听端口需要使用到随机端口连接. Linux系统随机端口调优 1.添加内核配置参数:/etc/ ...

  7. 虚拟机virtualBox安装linux系统 xshell远程连接linux

    虚拟机virtualBox安装linux系统 xshell远程连接linux 虚拟机概念: 通过软件, 使用虚拟化技术虚拟出电脑的硬件环境, 充当真实的电脑使用. 常见的虚拟软件: virtualBo ...

  8. SQL Server2008 R2开启远程连接总结

    ============================== SQL Server2008 R2开启远程连接(最全总结) ============================== 安装过程:适用W ...

  9. Mysql 5.7 开启远程连接

    1 在控制台执行 mysql -uroot -p 系统提示输入数据库root用户的密码,输入完成后即进入mysql控制台 2 选择数据库 mysql -uroot -p use mysql; 开启远程 ...

  10. yum 安装 Mysql error ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 开启远程连接 修改登入密码 忘记root密码 配置防火墙规则 随手mark

    yum 安装 MYsql:        yum install mysql mysql-server mysql-devel -y 1.1 登入报错: ERROR 1045 (28000): Acc ...

随机推荐

  1. 解决margin合并问题

    一.什么是外边距合并 外边距合并(叠加)是一个相当简单的概念.但是,在实践中对网页进行布局时,它会造成许多混淆. 所谓的外边距合并就是,当两个垂直外边距相遇时,它们将形成一个外边距.合并的外边距的高度 ...

  2. CSharp linq 的本质

    linq 的本质是扩展方法和委托的结合 链式 linq 和 方法级linq List<int> list = new List<int>() { 3,9,32,7 }; // ...

  3. 剑指 offer 第 4 天

    第 4 天 查找算法(简单) 剑指 Offer 03. 数组中重复的数字 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但 ...

  4. 利用Karlibr生成April标定板图像

    1 关键的命令 rosrun kalibr kalibr_create_target_pdf --type apriltag --nx 6 --ny 6 --tsize 0.02 --tspace 0 ...

  5. ASP.NET CORE开发 (三)

    1. 在使用singleton时出现 Cannot resolve scoped service 'AlgoTag.Models.AlgoContext' from root provider. ht ...

  6. pnpm 之降本增效

    作者:京东科技 于振京 受众简介 前端研发工程师 还在为npm i安装大量依赖等待时间较长,npm扁平化node_modules依赖版本冲突在苦恼吗,不用苦恼pnpm为你保驾护航 主要影响:安装依赖包 ...

  7. 全网最详细中英文ChatGPT-GPT-4示例文档-智能聊天机器人从0到1快速入门——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)

    目录 Introduce 简介 setting 设置 Prompt 提示 Sample response 回复样本 API request 接口请求 python接口请求示例 node.js接口请求示 ...

  8. socket搭建web服务端

    import socket from threading import Thread import time def html(conn): time_tag = str(time.time()) p ...

  9. yiiADU

    <span style="font-size:14px;">一. //1.该方法是根据一个条件查询一个集合 $admin=Admin::model()->find ...

  10. VUE3企业级项目基础框架搭建流程(1)

    开发环境和技术栈 操作系统 windows11 开发工具 vscode.phpstudy(小皮):nginx1.15.11, mysql5.7.26, php7.4,Navicat for MySQL ...