SLAM系统--开启摄像头连接
2023/5/29 1:23:11
本文主要是介绍SLAM系统--开启摄像头连接,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
博客地址: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系统--开启摄像头连接的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)