使用zed摄像头跑ORB_SLAM2

2023-05-16

zed-ros-wrapper安装

首先对zed-ros-wrapper安装:具体操作步骤及代码的参考链接:https://github.com/stereolabs/zed-ros-wrapper.git

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/stereolabs/zed-ros-wrapper.git
cd ../
catkin_make
source ./devel/setup.bash

ORB_SLAM2安装

具体安装步骤:https://blog.csdn.net/qq_44787464/article/details/100664977

需修改里面些参数:
我们打开src中的ros_mono.cc,将里面的订阅话题改为zed发布的话题:

 ros::Subscriber sub = nodeHandler.subscribe("/zed/left/image_raw_color", 1, &ImageGrabber::GrabImage,&igb);

我使用的是左摄像头数据,当然你们选择什么都可以。这里我是用的zed,你们可以用电脑自带的摄像头也是ok的,不过你需要将其rgb数据给发布出来。

另外更改在目录/home/xp/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2下Asus.yaml里的信息,这里是摄像头的内参等信息。

摄像头发布的分辨率和帧率可以在zed.launch文件中查看!!

我们可以直接使用zed-SDK里对zed进行标定的参数。标定参数在/usr/local/zed/settings文件夹里。将信息填入Asus.yaml里。

当然,你需要先安装ZED-SDK,如果使用自己的摄像头也需要自己进行标定(zed相机标定有它自己的方式)。
更改程序后需要重新./build_ros.sh编译!

运行ZED单目相机:

roslaunch zed_wrapper zed.launch

rosrun ORB_SLAM2 Mono /home/xp/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/xp/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml 

如果是双目,你需要降低分辨率和帧率进行测试,不然会崩掉的。

roslaunch zed_wrapper zed.launch
rosrun ORB_SLAM2 Stereo /home/xp/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/xp/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/EuRoC.yaml true

参考链接:https://blog.csdn.net/BetterEthan/article/details/81748575

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用zed摄像头跑ORB_SLAM2 的相关文章

随机推荐

  • sku和spu的区别

    spu和sku就是上下级关系 xff0c spu是上级 xff0c sku是下级 假如没有选择任何类型那么他就是一个单独的spu xff0c 但是当它选择了具体的颜色 xff0c 版本 xff0c 购买方式等等 xff0c 那么他就是一个s
  • hexo next 博客,jsdelivr cdn报错无法访问

    一 博客环境 我的hexo版本是5 4 0 xff0c next版本是7 8 0 因 jsdelivr cdn报错导致博客首页无法访问 二 修改next cdn 首先进入hexo博客首页 xff0c F12查看报错的 jsdelivr 地址
  • busuanzi.ibruce.info 有时候报502,怎么解决

    一 现象 https busuanzi ibruce info 访问经常出现502 导致个人博客的访问人数无法正常显示 二 如何解决 用chrome 打开busuanzi ibruce info xff0c 点url链接前的那个锁 然后看到
  • BigDecimal和Double的区别

    Double span class token number 0 3 span span class token number 0 2 span span class token operator 61 span span class to
  • 对科里奥利力的理解

    首先创造一个情景 xff0c 方便理解 假设你站在一个这样的封闭靶场 xff08 全封闭 xff09 上 xff0c 这个靶场在以大小为 的角速度做匀速圆周运动 xff08 速度不大不小 xff0c 你感觉不到 xff0c 而且靶场没风 x
  • typora使用技巧

    1 Typora vue theme的介绍与下载 typora vue theme是参考了Vue文档风格而开发的一个 Typora 自定义主题 点击此处下载 2 如何安装 a 下载本主题中的vue css vue dark css文档和包含
  • 序列化什么意思

    序列化就是一种用来处理对象流的机制 xff0c 将对象转化成字节序列后可以保存在磁盘上 xff0c 或通过网络传输 xff0c 以达到以后恢复成原来的对象
  • mybatis plus 事务回滚总结

    https www cnblogs com c2g5201314 p 13163097 html
  • throw 和 try catch 的区别

    try catch是直接处理 xff0c 处理完成之后程序继续往下执行 xff0c throw则是将异常抛给它的上一级处理 xff0c 程序便不往下执行了
  • throw的异常日志会打印吗

    throw 就是要把异常继续抛出 xff0c 要么由上层方法解决 xff0c 要么会终止程序运行
  • java assert什么意思

    assert 意为断言的意思 xff0c 这个关键字可以判断布尔值的结果是否和预期的一样 xff0c 如果一样就正常执行 xff0c 否则会抛出AssertionError assert 的使用 xff1a span class token
  • throw和throws的区别

    throws xff1a 用来声明一个方法可能产生的所有异常 xff0c 不做任何处理而是将异常往上传 xff0c 谁调用我我就抛给谁 用在方法声明后面 xff0c 跟的是异常类名 可以跟多个异常类名 xff0c 用逗号隔开 表示抛出异常
  • 1024有感

    2022 10 24 1024节日快乐 xff01 好好学习 xff0c 天天向上 x1f600
  • 互联网项目一般几轮测试

    第一轮测试 xff1a 要覆盖所有测试用例 所有功能都要跑一遍 第二轮测试 xff1a 重点功能的测试 还要把第一轮测试发现的问题 xff0c 根据开发修改完成的结果 xff0c 进行验证 最后一轮是回归测试 xff1a 验证所有bug是否
  • IDEA pom文件 ctrl alt l无法格式化

    File gt Manage IDE settings gt Restore Default settings 恢复IDEA默认设置后 xff0c 即可格式化pom文件
  • 科里奥利力简单清晰的推导

    看到一个比较好的科里奥利力推导方法 xff1a 如果你不太理解科里奥利力 xff0c 可以看一下我的这篇文章 xff1a 对科里奥利力的理解 本文参考 xff1a 1 黄永义 科里奥利力简单而清晰的导出 J 广西物理 2015 36 04
  • java实体类命名

    Entity xff1a 与数据库表结构一一对应 xff0c 通过Dao层向上传输数据源对象 Dto xff08 Data Transfer Object xff09 xff1a 数据传输对象 xff0c Service或Manager向外
  • 字节的高低位互换

    蝶式交换法 unsigned char Reverse byte unsigned char data data 61 data lt lt 4 data gt gt 4 data 61 data lt lt 2 amp 0xcc data
  • 没有Build文件夹的情况下(最新的vue-cli3没有)怎么关闭掉ESlink

    这里写目录标题 一般的注释掉Build中的方法最新的vue cli3没有build文件夹怎么办 一般的注释掉Build中的方法 在build文件夹 gt webpack base conf js中注释以下代码 和在IntelliJ IDEA
  • 使用zed摄像头跑ORB_SLAM2

    zed ros wrapper安装 首先对zed ros wrapper安装 xff1a 具体操作步骤及代码的参考链接 xff1a https github com stereolabs zed ros wrapper git mkdir