1. 为什么选择Sophus库?
在机器人学和计算机视觉领域,李群和李代数是描述刚体运动的数学工具。Sophus库正是为高效处理这些数学概念而生的C++库,它实现了SO(2)、SE(2)、SO(3)、SE(3)等常见李群操作。相比直接使用Eigen库进行矩阵运算,Sophus提供了更符合几何意义的接口。
我选择a621ff这个特定commit版本,是因为它在Ubuntu 20.04的默认gcc 9.3环境下编译通过率最高,且修复了早期版本中的几个关键bug。这个版本在姿态插值、扰动模型等核心功能上表现稳定,适合大多数项目需求。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与依赖安装
2.1 系统基础环境检查
首先确认你的Ubuntu 20.04系统已更新到最新状态:
bash复制sudo apt update && sudo apt upgrade -y
检查gcc和g++版本(需≥7.5):
bash复制gcc --version
g++ --version
如果版本不符,可通过以下命令安装gcc-9:
bash复制sudo apt install gcc-9 g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
2.2 必需依赖项安装
Sophus的核心依赖是Eigen3(≥3.3版本):
bash复制sudo apt install libeigen3-dev
验证Eigen安装位置(通常为/usr/include/eigen3):
bash复制pkg-config --modversion eigen3
建议额外安装的调试工具:
bash复制sudo apt install cmake git build-essential gdb
3. 源码获取与编译安装
3.1 克隆特定版本仓库
创建专用工作目录并克隆源码:
bash复制mkdir -p ~/sophus_ws && cd ~/sophus_ws
git
