ORBSLAM2_with_pointcloud_map 编译ros包

编译ROS版本的ORBSLAM2_with_pointcloud_map参考的https://github.com/ZhenghuaHIT/orbslam2_modified_ros#1-download--install-project 

修改了ROS下的CMakeLists。

首先进入到ORB_SLAM2_modified/Examples/ROS/ORB_SLAM2/文件夹下, 顺序执行以下命令

mkdir build
cd build
cmake .. -DROS_BUILD_TYPE=Release
make -j

由于之前编译过ros包并没有报错,当cmake后报如下错误的时候,我是懵逼的状态。为什么会缺少opencv3,之前一直都可以编译成功,所以后来一直把这个明显的错误忽略,走了很多弯路还是不行的时候,终于走回来

Failed to invoke /opt/ros/kinetic/bin/rospack deps-manifests ORB_SLAM2
Error: package 'cv_bridge' depends on non-existent package 'opencv3' and
rosdep claims that it is not a system dependency. Check the ROS_PACKAGE_PATH or try calling 'rosdep update'
sudo apt-get install ros-kinetic-cv-bridge

又面临了新的错误

Err:1 http://packages.ros.org/ros/ubuntu xenial/main arm64 ros-kinetic-opencv3 arm64 3.3.1-5xenial-20180811-012457-0800
  404  Not Found [IP: 64.50.233.100 80]
Err:2 http://packages.ros.org/ros/ubuntu xenial/main arm64 ros-kinetic-cv-bridge arm64 1.12.8-0xenial-20190322-180810-0800
  404  Not Found [IP: 64.50.233.100 80]
E: Failed to fetch http://packages.ros.org/ros/ubuntu/pool/main/r/ros-kinetic-opencv3/ros-kinetic-opencv3_3.3.1-5xenial-20180811-012457-0800_arm64.deb  404  Not Found [IP: 64.50.233.100 80]

E: Failed to fetch http://packages.ros.org/ros/ubuntu/pool/main/r/ros-kinetic-cv-bridge/ros-kinetic-cv-bridge_1.12.8-0xenial-20190322-180810-0800_arm64.deb  404  Not Found [IP: 64.50.233.100 80]

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

于是参考https://blog.csdn.net/feiniao8651/article/details/60332535配置DNS,貌似解决了部分问题,我留意了关于ros包的情况,发现公钥有问题

sudo apt-get update
Err:10 http://packages.ros.org/ros/ubuntu xenial InRelease                    
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654

参考https://chrisjean.com/fix-apt-get-update-the-following-signatures-couldnt-be-verified-because-the-public-key-is-not-available/解决了公钥问题

然后就轻松安装了cv_brage解决了最初的cv_bridge问题,到此,我们已经编译成功了。

-------------------------------------------------------------------------------------------------------------------------------------------------

运行打开不同的终端分别执行

你深度相机的启动文件(如果是launch,可以不用启动roscore, 否则启动提前启动roscore)

然后在将要运行ORBSLAM的窗口 source 一下

source Your_path/ROS/ORB_SLAM2/build/devel/setup.bash

在/ORB_SLAM2_modified/文件夹下运行

rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml

发布depth topic遇到问题ResourceNotFound: rgbd_launch 参考https://www.cnblogs.com/sea-stream/p/10066117.html

sudo apt-get install ros-(kinetic)-rgbd-launch //括号改为相应版本

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值