SLAM系统--开启摄像头连接
基于ORB-SLAM3库搭建SLAM系统详见之前的博客
参考链接
效果图
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": 没有那个文件或目录
解决方法,参考以下链接
(3)./build_ros.sh 步骤中报错
解决办法,参考以下链接
SLAM系统--开启摄像头连接的更多相关文章
- CentOS 系统 MySQL 5.7 开启远程连接
CentOS 系统安装好 MySQL 后,默认情况下不支持用户通过非本机连接上数据库服务器,下面是解决方法: 1.在控制台执行 mysql -u root -p 系统提示输入数据库 root 用户的密 ...
- ADB命令指令控制Android系统的WIFI连接开启/关闭状态
Android系统的usb调试已开启,连接电脑(有ADB环境) 1.在cmd中,进入shell指令模式 adb shell 2.进入ROOT指令模式 su 3. 打开WIFI指令 svc wifi e ...
- (转) SLAM系统的研究点介绍 与 Kinect视觉SLAM技术介绍
首页 视界智尚 算法技术 每日技术 来打我呀 注册 SLAM系统的研究点介绍 本文主要谈谈SLAM中的各个研究点,为研究生们(应该是博客的多数读者吧)作一个提纲挈领的摘要.然后,我 ...
- 远程连接mysql,mysql如何开启远程连接
很多时候,mysql只需要开本地连接,也就是本机(服务器本身)连接就可以,默认也是这样,默认也不支持远程连接 但有的时候,我们需要将mysql独立出一台主机或数据库,放到另一台机器的时候,这时,就需要 ...
- Ubuntu开启远程连接
Ubuntu开启远程连接 author:headsen chen 2017-10-13 09:47:38 个人原创,严禁转载,违者追究法律责任: apt-get update apt-get ...
- Linux 系统开启随机端口数量 调优
Linux系统随机端口 默认Linux系统开启的随机端口范围为 32768 ~ 65535.客户端连接服务监听端口需要使用到随机端口连接. Linux系统随机端口调优 1.添加内核配置参数:/etc/ ...
- 虚拟机virtualBox安装linux系统 xshell远程连接linux
虚拟机virtualBox安装linux系统 xshell远程连接linux 虚拟机概念: 通过软件, 使用虚拟化技术虚拟出电脑的硬件环境, 充当真实的电脑使用. 常见的虚拟软件: virtualBo ...
- SQL Server2008 R2开启远程连接总结
============================== SQL Server2008 R2开启远程连接(最全总结) ============================== 安装过程:适用W ...
- Mysql 5.7 开启远程连接
1 在控制台执行 mysql -uroot -p 系统提示输入数据库root用户的密码,输入完成后即进入mysql控制台 2 选择数据库 mysql -uroot -p use mysql; 开启远程 ...
- 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 ...
随机推荐
- 《深入理解高并发编程:JDK核心技术》-冰河新书上市
大家好,我是冰河~~ 废话说多了没用,并发编程技术一直是初级程序员进阶高级工程师的前提条件,也是成为大厂程序员的必备技能,更是突破自身技术瓶颈的必经之路. 2022年6月我出版了"冰河技术丛 ...
- 能快速构建和定制网络拓扑图的WPF开源项目-NodeNetwork
大家好,我是沙漠尽头的狼,今天介绍一个WPF开源项目-NodeNetwork,它可以帮助我们快速构建和定制网络拓扑图. 一.前言 在现代软件开发中,数据可视化和可交互性越来越受到关注.为了实现这一点, ...
- 解放生产力:30+实用AI工具汇总
除了ChatGPT,还有哪些好用AI工具?带着这个问题,也为了解AIGC已经在哪些场景落地,我体验了30多个AI工具并且分享出来,希望对你有帮助. 文字 ChatGPT -- 解决任何问题地址:htt ...
- CSAPP-Shell Lab
提供的工具: parseline:获取参数列表char **argv,返回是否为后台运行命令(true). clearjob:清除job结构. initjobs:初始化jobs链表. maxjid:返 ...
- MySQL8.0 创建用户及授权 - 看这篇就足够了
什么时候会用到 对接外系统时,需要给其余系统开放访问权限 本系统中,分权限管理数据,防止root权限删库跑路 mysql版本 MySql8.0+ 具体步骤 1.命令行进入MySql 使用 mysql ...
- SQL优化---慢SQL优化
于2023.3.17日重写,之前写的还是太八股文太烂了一点逻辑都没有,这次重新写了之后,感觉数据库优化还是很有必要的,之前觉得不必要是我年轻了. 一.如何定位慢SQL语句 1.通过慢查询日志查询已经执 ...
- 使用golang+antlr4构建一个自己的语言解析器(二)
Antlr4文件解析流程 该图展示了一个语言应用程序中的基本流动过程 输入一个字符流,首先经过词法分析,获取各个Token 然后经过语法分析,组成语法分析树 Antlr4语法书写规范 语法关键字和使用 ...
- python调用打印机打印文件,图片,pdf等
引言 python连接打印机进行打印,可能根据需求的不同,使用不同的函数模块. 如果你只是简单的想打印文档,比如office文档,你可以使用ShellExecute方法,对于微软office的文档.p ...
- 【Java Se】JDBC
启停服务 net start mysql net stop mysql 登录 mysql -u -p 访问指定IP的mysql mysql -u root -P 3306 -h localhost - ...
- 【Spring5】JdbcTemplate
JdbcTemplate实现对数据库增删改查 步骤 导入Jar包 mysql-connector-java-8.0.28.jar:mysql数据库连接的相关依赖 spring-tx-5.2.6.REL ...