1 安装依赖:
1.1 查看ros自带的octomap版本
到文件:/opt/ros/melodic/share/octomap/octomap-config-version.cmake中检查ros自带的版本:(其他ros版本也在对应位置)
我这里是1.9.7版本。到github下载对应版本的octomap:https://github.com/OctoMap/octomap
依次点击三个箭头所指处:Tags,v1.9.7,Code,复制这个链接:https://github.com/OctoMap/octomap.git
创建一个文件夹octomap_ws(名称自拟,需要注意下这里,方便理解下面的文件目录),到文件夹下,打开终端下载: https://github.com/OctoMap/octomap.git
git clone https://github.com/OctoMap/octomap.git
下载完成后,到xx/octomap_ws/octomap/octomap/CHANGELOG.txt查看下载的版本----的确是1.9.7:
1.2 安装依赖库:
sudo apt-get install build-essential cmake doxygen libqt4-dev
sudo apt-get install libqt4-opengl-dev libqglviewer-dev-qt4
2 编译与运行示例:
(1)编译所有文件的方法如下:
下载的所有文件如下:
在当前文件夹打开终端:
mkdir build
cd build
cmake ..
make
或
make -j8
(2)单独编译octomap和octovis
如下图所示,将方框的build文件夹删除,进入箭头所指的文件夹,打开终端,参考(1)
编译即可。
(3)查看demo
cd xxx/octomap_ws/octomap
sudo cp bin/octovis /usr/local/bin/
其中octovis这个可执行文件在:octomap_ws/octomap/bin文件夹下
可视化demo文件
cd xxx/octomap_ws/octomap
octovis octomap/share/data/geb079.bt
部分报错:
(1)编译时make之后,不要使用sudo make install,容易造成库冲突
meng@meng:~/ideas/octomap/octomap$ octovis octomap/share/data/geb079.bt
octovis: error while loading shared libraries: libQGLViewer.so.2: cannot open shared object file: No such file or directory
解决办法:
到build文件夹下,执行sudo make uninstall即可
(2)第一次执行demo时可能会遇到段错误,可能再执行一次demo命令就不会出现了,我也不知道怎么解决的。
我当时就去build文件夹下:执行了sudo make install,出现报错后又执行:sudo make uninstall,然后demo就通了
致谢:
Sylvia_小倩的(参考较多):Octomap源码编译_Sylvia_小倩的博客-CSDN博客
还有高翔大佬的:https://www.cnblogs.com/gaoxiang12/p/5041142.html
octomap官网api:octomap: OctoMap
octomap数据集:OctoMap 3D scan dataset - Arbeitsgruppe: Autonome Intelligente Systeme