Kinetic ROS编译ORB-SLAM

编译流程:

https://blog.youkuaiyun.com/Fishmemory/article/details/53288140

遇到问题参照:

http://lingtong.de/2018/10/25/Install-ORB-SLAM/
https://blog.youkuaiyun.com/qq_29572513/article/details/88742652

注:ORB-SLAM2和ORB-SLAM所用的Eigen版本不同

### 集成 ORB-SLAM3 和 ROS 在 KDevelop 中 #### 安装依赖项 为了在 KDevelop 中集成 ORB-SLAM3 和 ROS 开发环境,需先确保已安装必要的软件包。这包括但不限于: - **ROS Kinetic 或更高版本**:遵循官方指南完成 ROS 的安装[^1]。 - **ORB-SLAM3 及其依赖库**:按照 GitHub 上的说明克隆并编译 ORB-SLAM3 项目。 ```bash git clone https://github.com/UvisoLab/ORB_SLAM3.git cd ORB_SLAM3 mkdir build cd build cmake .. make -j$(nproc) sudo make install ``` 对于 Ceres Solver 等外部依赖,则可以采用如下方式单独构建[^3]: ```bash git clone https://github.com/ceres-solver/ceres-solver.git mkdir ceres-bin cd ceres-bin cmake ../ceres-solver make -j$(nproc) sudo make install ``` #### 设置 KDevelop 工程结构 创建一个新的 KDevelop 项目来管理 ORB-SLAM3 和 ROS 资源。具体操作如下: 1. 打开 KDevelop 并新建一个 CMake 类型的工作区; 2. 将 `catkin_ws` 文件夹作为根目录导入到 IDE 中; 3. 添加子模块指向 ORB-SLAM3 源码路径; 通过上述设置,可以在同一个工作区内同时编辑和调试来自不同仓库中的文件。 #### 修改 Topic 订阅者名称 如果遇到话题名不匹配的情况(例如 `/camera/image_raw`),可以根据实际情况调整订阅的话题名称。以单目视觉 SLAM 实验为例,在 `ORB_SLAM3/Examples/ROS/ORB_SLAM3/src/ros_mono.cc` 文件内修改相应部分即可解决此问题[^4]。 ```cpp // 原始代码片段 image_transport::ImageTransport it(nh_); sub_ = it.subscribe("/camera/image_raw", 1, &RosMono::GrabImage,this); // 更改后的代码片段 sub_ = it.subscribe("/camera/rgb/image_color", 1, &RosMono::GrabImage,this); ``` #### 构建与测试 利用 Catkin Tools 来简化整个过程: ```bash source devel/setup.bash catkin build roslaunch orb_slam3_ros mono_kitti.launch vocab_path:=<path_to_vocab_file> ``` 以上命令会启动节点并将图像数据流传递给 ORB-SLAM3 处理器进行实时定位映射计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值