Ubuntu22.04环境下slam十四讲g20的报错解决

在slam十四讲中ch6ch7涉及g2o的一直出现报错,按照网上的方式还是没能解决,这次整理记录一下,我使用的是Ubuntu22.04;

首先要用3rdparty中的g2o压缩包,之前安装了别的版本的可以卸载重新安装;

ch6/g2o_curve_fitting/main.cpp

    typedef g2o::BlockSolver< g2o::BlockSolverTraits<3,1> > Block;  // 每个误差项优化变量维度为3,误差值维度为1
    Block::LinearSolverType* linearSolver = new g2o::LinearSolverDense<Block::PoseMatrixType>();
    Block* solver_ptr = new Block( linearSolver ); 
    // 梯度下降方法,从GN, LM, DogLeg 中选
    g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( solver_ptr );
    //g2o::OptimizationAlgorithmGaussNewton* solver = new g2o::OptimizationAlgorithmGaussNewton( solver_ptr );
//g2o::OptimizationAlgorithmDogleg* solver = new g2o::OptimizationAlgorithmDogleg( solver_ptr );    
g2o::SparseOptimizer optimizer;     // 图模型
    optimizer.setAlgorithm( solver );   // 设置求解器
optimizer.setVer
### 安装和配置 ORB-SLAM2 的准备工作 为了在 Ubuntu 22.04 上成功安装和配置 ORB-SLAM2,需要先完成一系列前置条件的设置。这包括更新软件包列表并更换国内镜像源以加速下载速度。 #### 更换国内镜像源 由于官方源可能较慢,在新安装的系统中建议替换为阿里云或其他快速稳定的国内镜像源[^1]: ```bash sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i 's/https:\/\/archive\.ubuntu\.com\/ubuntu\//http:\/\/mirrors.aliyun.com\/ubuntu\-security/g' /etc/apt/sources.list ``` 随后执行更新操作来同步最新的软件包信息: ```bash sudo apt update && sudo apt upgrade -y ``` ### 安装必要的依赖项 对于 ORB-SLAM2 来说,有几个重要的依赖库是必不可少的。这些可以通过 APT 包管理器轻松获取。需要注意的是,部分依赖项名称可能会随着版本迭代而有所变化;因此这里提供适用于 Ubuntu 22.04 版本的具体命令[^4]: ```bash sudo apt-get install build-essential cmake git pkg-config \ libopencv-dev libeigen3-dev libsuitesparse-dev qtbase5-dev-tools \ libusb-1.0-0-dev python-is-python3 python3-pip python3-opencv \ ros-noetic-cv-bridge ros-noetic-image-transport-plugins ``` 上述指令不仅包含了编译工具链以及计算机视觉所需的 OpenCV 和 Eigen 库,还加入了 ROS Noetic 中用于图像处理的相关插件支持。 ### 下载与构建 ORB-SLAM2 接下来是从 GitHub 获取最新版 ORB-SLAM2 并按照说明文档中的指导进行本地化部署。考虑到 Qt 工具集的重要性,推荐采用预编译二进制文件的方式简化安装流程[^3]。 #### 安装 Qt 开发套件 (可选) 如果项目涉及图形界面开发,则需额外准备 Qt 环境。可以考虑通过如下方式直接运行安装程序自动完成整个过程(注意调整路径至实际存放位置): ```bash chmod +x ~/Downloads/qt-opensource-linux-x64-*.run sudo ~/Downloads/qt-opensource-linux-x64-*.run ``` #### 编译 ORB-SLAM2 源码 克隆仓库到工作目录后,进入 `Examples` 文件夹内选择感兴趣的应用场景作为入口点开始调试。以下是针对单目相机的例子: ```bash git clone https://github.com/raulmur/ORB_SLAM2.git cd ORB_SLAM2 mkdir build && cd build cmake .. make -j$(nproc) ``` 最后一步利用多核处理器加快编译效率,确保顺利完成所有目标文件链接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值