ubuntu20.04 安装 Sophus库 slambook2

ubuntu20.04 安装 Sophus库 slambook2

slambook2 实践部分,需要我们自行安装 sophus 库,但是相关的依赖很多,而且sophus分为模板类和非模板类两种,安装起来还是比较繁琐的。
slambook2中采用d的是模板类安装,fmt 这个包和 sophus 之间也存在不适配的问题,我在安装 sophus 的过程中,花费了不少时间,因此做一个记录,也方便他人查看。

1. 升级 eigen

这里参考教程安装了 eigen3.3.7

2.Sophus 安装

2.1 fmt安装

sophus安装需要依赖 fmt 库,但是该库尚在较快地迭代当中,很容易出现不适配而无法使用的情况。
此处先不要急于克隆 github 上提供的包,否则在下一步编译 sophus库 时会报如下的错误。
在这里插入图片描述
根据报错内容,显示为 fmt 的问题,所以手动下载最新版本的 fmt api,进行编安装译。
如下给出最新版 fmt-8.1.1 ( 2022/02/10 ) 版本的官方下载链接

https://fmt.dev/8.1.1/

这里也可以下载
下载到本地后,右键选择提取到此处:然后进入fmt 文件夹后新建 build 文件夹编译安装即可:

cd fmt-8.1.1
mkdir build
cd build
cmake ..
make
sudo make install
2.2 sophus 安装

建立一个文件夹,右键在终端中打开后:

git clone https://github.com/strasdat/Sophus.git
cd Sophus/

mkdir build
cd build
cmake ..
make
sudo make install

编译安装完成后,在usr/local/include/目录下查看是否已经有 sophus 文件夹
然后切换到 rgbd 目录下,编译 CMakeLists.txt文件
在这里插入图片描述添加 eigen和sophus的依赖

cmake_minimum_required( VERSION 2.8 )
project(rgbd)

##  使用模板类sophus
# set(Sophus_DIR "/usr/local/sophus-template/share/sophus/")
#或 
set(Sophus_INCLUDE_DIRS "/usr/local/sophus-template/include")
##set(Sophus_LIBS )

# 为使用 sophus,需要使用find_package命令找到它
find_package(Sophus REQUIRED)

find_package(Pangolin REQUIRED)
find_package(OpenCV REQUIRED)

include_directories(
	${Sophus_INCLUDE_DIRS}
	${OpenCV-INCLUDE_DIRS}
)
include_directories("/usr/local/include/eigen3")

add_executable(joinMap joinMap.cpp)
target_link_libraries(joinMap ${OpenCV_LIBS})
target_link_libraries(joinMap ${Pangolin_LIBRARIES})
target_link_libraries(joinMap ${Sophus_LIBS} fmt)

接下来对 joinMap进行编译,在 rgbd 下新建 build 文件夹,然后

cd build
cmake ..
make

编译完成后,需要将 pose.txt color 和 depth 放在 build 目录下,
在这里插入图片描述

然后执行./joinMap即可得到运行结果:

转换图像中: 1
转换图像中: 2
转换图像中: 3
转换图像中: 4
转换图像中: 5
点云共有1081843个点.

在这里插入图片描述
文件路径问题,也可以采用绝对路径,从一个盘符开始一步一步找到文件的路径。

Ubuntu 20.04安装Sophus可以按照以下步骤进行操作: 1. 首先,打开终端并进入到你想要安装Sophus的目录。 2. 下载Sophus的源代码。你可以从Sophus的官方网站或者GitHub上获取源代码。 3. 解压下载的源代码文件。 4. 进入解压后的源代码目录,并打开CMakeLists.txt文件。 5. 在CMakeLists.txt文件中添加以下代码:\[1\] ``` set(CMAKE_CXX_FLAGS "-Wno-error=deprecated-declarations -Wno-deprecated-declarations ") ``` 6. 保存并关闭CMakeLists.txt文件。 7. 创建一个build目录,并进入该目录。 8. 在build目录中运行以下命令来生成Makefile: ``` cmake .. ``` 9. 运行以下命令来编译Sophus: ``` make ``` 10. 安装Sophus: ``` sudo make install ``` 11. 安装完成后,你可以在你的项目中使用Sophus了。在你的CMakeLists.txt文件中添加以下代码:\[3\] ``` set(Sophus_INCLUDE_DIRS "/path/to/sophus/install/include") set(Sophus_LIBRARIES "/path/to/sophus/install/lib/libSophus.so") include_directories(${Sophus_INCLUDE_DIRS}) set(THIRD_PARTY_LIBS ${OpenCV_LIBS} ${Sophus_LIBRARIES}) ``` 请将上述代码中的"/path/to/sophus/install"替换为你实际安装Sophus的路径。 这样,你就可以在Ubuntu 20.04上成功安装Sophus了。希望对你有帮助! #### 引用[.reference_title] - *1* *3* [「Ubuntu&ROS」Ubuntu系统下安装李代数Sophus教程](https://blog.csdn.net/qq_21950671/article/details/126564062)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ubuntu20.04 安装 Sophus slambook2](https://blog.csdn.net/m0_43422224/article/details/122852322)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值