Ros noetic opencv4.2.0 cv_bridge 冲突 适配Opencv3.2.0完成自己的USB_Camera 跑通 Orb_slam2

前言:

      本文附上使用自己的USB_Cam 跑通Orb_Slam2 算法的过程,以及解决cv_bridge冲突的方案

      Orb_Slam2 需要opencv3.2.0 的cv版本 但是ubantu20.04 noetic 自带了 opencv4.2.0 这就是最难受的事情,为此苦苦寻求合理的办法能把Orb_Slam2 能在我的环境里能运行起来,细心观察到,之前的Orb_Slam2 版本可以脱离Ros运行但是一旦进入Ros build就会产生冲突为此,最明显的就是waring的警告,同时编译也可以通过。经过一波三折波澜起伏,终于解决了此问题,最后实验得到opencv4.2.0 与opencv 3.2.0 可以共存只要Cmake配置正确。

      在ubuntu20.04 ROS noetic 下同样是编译通过,运行节点出现段错误,但是出现段错误的点不在 cv::FileStorage 读取 yaml 文件处。因为 melodic 版本的 cv_bridge 功能包中所用 opencv 版本

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要订阅usb_cam并使用orb_slam_2_ros,你需要在ROS中使用以下命令:"rosrun orb_slam_2_ros orb_slam_2_ros __name:=<orb_slam_2> __params:=<path to orb_slam_2_ros.yaml> __image:=/usb_cam/image_raw __camera_info:=/usb_cam/camera_info". ### 回答2: 要使用orb_slam_2_ros订阅usb_cam,您可以按照以下步骤进行操作: 1. 首先,确保已经安装了rosorb_slam_2_ros软件包。您可以使用以下命令进行安装: ``` sudo apt-get install ros-<your_ros_version>-usb-cam sudo apt-get install ros-<your_ros_version>-rtabmap-ros ``` 请将`<your_ros_version>`替换为您正在使用的ROS版本。 2. 创建一个新的ROS工作空间并进行初始化: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace ``` 3. 克隆orb_slam_2_ros软件包到src目录下: ``` git clone https://github.com/appliedAI-Initiative/orb_slam_2_ros.git ``` 4. 回到catkin_ws并进行构建: ``` cd ~/catkin_ws catkin_make ``` 5. 设置摄像头参数。打开`~/catkin_ws/src/orb_slam_2_ros/launch/usb_cam_v2_2.launch`文件,并根据您的USB相机配置修改`video_device`,`image_width`和`image_height`等参数。 6. 启动usb_cam节点: ``` roslaunch orb_slam_2_ros usb_cam_v2_2.launch ``` 7. 启动ORB-SLAM2节点: ``` roslaunch orb_slam_2_ros orb_slam2_ros.launch ``` 现在,您应该能够订阅usb_cam并使用ORB-SLAM2进行定位和建图。要查看ORB-SLAM2的输出,您可以使用rviz或image_view等工具。 ### 回答3: 使用ORB_SLAM2_ROS订阅USB_CAM的方法如下: 首先,确保按照ORB_SLAM2_ROS的安装说明正确安装了ROSORB_SLAM2。 1. 在终端中,打开新的工作区并创建一个新的工作空间: ``` mkdir -p orb_cam_ws/src cd orb_cam_ws/src ``` 2. 将ORB_SLAM2_ROS软件包克隆到工作空间的src文件夹中: ``` git clone https://github.com/raulmur/ORB_SLAM2.git ``` 3. 编译ORB_SLAM2_ROS软件包: ``` cd .. catkin_make ``` 4. 打开orb_slam2_ros.launch文件: ``` roscd orb_slam2_ros/launch gedit orb_slam2_ros.launch ``` 5. 在文件中添加以下行: ``` <arg name="camera_topic" default="/usb_cam/image_raw"/> <arg name="camera_info_topic" default="/usb_cam/camera_info"/> ``` 6. 保存并关闭文件。 7. 运行ORB_SLAM2_ROS节点: ``` roslaunch orb_slam2_ros orb_slam2_ros.launch ``` 现在,ORB_SLAM2_ROS节点将订阅名为/usb_cam/image_raw的图像主题和/usb_cam/camera_info的摄像机信息主题。您可以在ORB_SLAM2_ROS节点发布的话题中查看三维重构的结果。 请注意,在运行ORB_SLAM2_ROS之前,您需要先启动USB_CAM节点以发布相机图像和相机信息主题。可以使用以下命令启动USB_CAM节点: ``` roslaunch usb_cam usb_cam-test.launch ``` 这样就可以成功订阅USB_CAM并使用ORB_SLAM2_ROS进行视觉定位和三维重建。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忒懂先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值