1.安装octomap
1)从git clone https://github.com/OctoMap/octomap下载octomap
2)安装步骤
①编译:
cd octomap
mkdir build
cd build
cmake..
make
上述操作会产生octomap、octovis和dynamicEDT3D三个需要安装的文件夹
在编译过程中可能会提示usr/x86_64-Linux-gnu/libGL.so缺失(导致octovis无法正常编译)的情况,下述操作:
symlink: sudo ln -s /usr/lib/libGL.so.1/usr/lib/x86_64-linux-gnu/libGL.so
如果提示文件已存在,则继续操作sudo rm /usr/lib/x86_64-linux-gnu/libGL.so删除原有的链接
②安装
sudo make install
该操作是sudo权限,安装路径在/usr/local/include和/usr/local/share(该路径下产生的冗余文件可以不管)下,但是这两个路径不是我们所需要的,因此需要进行剪切或者复制操作,将/usr/local/include下的文件移到/usr/include下
如复制octomap操作(同理操作octovis和dynamicEDT3D)
sudo cp –a /usr/local/include/octomap /usr/include
2.安装genmsg octomap_msgs的依赖项,虽然ros已经存在相关文件,但是不重新安装还是会导致编译出错
1)从https://github.com/ros/genmsg下载genmsg
2)安装步骤
①编译:
cd genmsg
mkdir build
cd build
cmake ..
make
②安装:sudo make install
3.安装octomap_msgs
1)从https://github.com/OctoMap/octomap_msgs/tree/indigo-devel下载octomap_msgs
2)安装步骤
①编译:
cd octomap_msgs
mkdir build
cd build
cmake ..
make
②安装:sudo make install
该操作是sudo权限,安装路径在/usr/local/include和/usr/local/share(该路径下产生的文件必须管,而且打开文件可以看到这两个文件虽然同名但是内容是不一样的,因此不是冗余文件)下,但是这两个路径不是我们所需要的,因此需要进行剪切或者复制操作,将之分别移到/opt/ros/indigo/include和/opt/ros/indigo/share路径下
如复制octomap_msgs操作
sudo cp –a /usr/local/include/octomap_msgs/usr/local/include
4.安装octomap_ros
1)从https://github.com/OctoMap/octomap_rosl下载octomap_ros
2)安装步骤
①编译:
cd octomap_ros
mkdir build
cd build
cmake ..
make
②安装:sudomake install
该操作是sudo权限,安装路径在/usr/local/include和/usr/local/share(该路径下产生的文件必须管,而且打开文件可以看到这两个文件虽然同名但是内容不一样的,因此不是冗余文件)下,但是这两个路径不是我们所需要的,因此需要进行剪切或者复制操作,将之分别移到/opt/ros/indigo/include和/opt/ros/indigo/share路径下
如复制octomap_ros操作
sudo cp –a /usr/local/include/octomap_ros/usr/local/include
说明
1.上述都是外部编译,因此cmake后面的两个点..不可省;
2.按照octomap-ros(http://www.ros.org/wiki/octomap)下的教程说的安装octomap方法实际上不能安装octomap,但是通过上述三个步骤安装好octomap、octomap_ros和octomap_msgs之后,却必须按照该教程所
3.限于本文菜鸟水平,以上方法或许不是最好的方法。