您的位置:首页 > 其它

张明明cartographer 方法编译不成功问题

2017-06-15 12:17 531 查看
谷歌自己提供了安装方法,但是安装比较繁琐,我做了一定的修改代码,ros下面的安装非常快捷,只需要catkin_make即可。
放到个人github上,https://github.com/hitcm/


更多细节,可以看看知乎的问题https://www.zhihu.com/question/51348391/answer/125560951?from=profile_answer_card
个人理解错误的地方还请不吝赐教,转载请标明出处,内容如有改动更新,请看原博:http://www.cnblogs.com/hitcm/,如有任何问题,feel free to contact me at robotsming@gmail.com

如下,需要安装3个软件包,ceres solver、和cartographer_ros


0.安装所有依赖项

sudo apt-get install -y google-mock libboost-all-dev libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libprotobuf-dev libsuitesparse-dev libwebp-dev ninja-build protobuf-compiler Python-sphinx ros-indigo-tf2-eigen libatlas-base-dev libsuitesparse-dev
liblapack-dev

1.首先安装ceres solver,选择的版本是1.11,路径随意

git clone https://github.com/hitcm/ceres-solver-1.11.0.git

cd ceres-solver-1.11.0/build

cmake ..

make –j

sudo make install

2.然后安装 cartographer,路径随意

git clone https://github.com/hitcm/cartographer.git

cd cartographer/build

cmake .. -G Ninja

ninja

ninja test

sudo ninja install

3.安装cartographer_ros。

谷歌官方提供的安装方法比较繁琐,我对原来的文件进行了少许的修改,核心代码不变,只是修改了编译文件

**下载到catkin_ws下面的src文件夹下面 

git clone https://github.com/hitcm/cartographer_ros.git 

然后到catkin_ws下面运行catkin_make即可。**

4.数据下载测试

2d数据,大概500M,用迅雷下载

https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag 

3d数据,8G左右,同样用迅雷下载

https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/cartographer_3d_deutsches_museum.bag

然后运行launch文件即可。 

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=HOME/Downloads/cartographerpaperdeutschesmuseum.bagroslaunchcartographerrosdemobackpack3d.launchbagfilename:={HOME}/Downloads/cartographer_3d_deutsches_museum.bag 

如下图,左侧为2d,右侧为3d。 

Good luck!关于代码的原理解析,接下来的文章可能会详细探讨。 

imageimage

最后编译的时候会发生错误:主要原因是依赖没有

CMake Error at /opt/ros/jade/share/catkin/cmake/catkinConfig.cmake:75 (find_package): 

***Could not find a package configuration file provided by “tf2_eigen” with 

any of the following names:*
tf2_eigenConfig.cmake
tf2_eigen-config.cmake


Add the installation prefix of “tf2_eigen” to CMAKE_PREFIX_PATH or set 

“tf2_eigen_DIR” to a directory containing one of the above files. If 

“tf2_eigen” provides a separate development package or SDK, be sure it has 

been installed. 

Call Stack (most recent call first): 

cartographer_ros/cartographer_ros/CMakeLists.txt:49 (find_package)

– Configuring incomplete, errors occurred! 

See also “/home/likai/cartograoher_ws/build/CMakeFiles/CMakeOutput.log”. 

See also “/home/likai/cartograoher_ws/build/CMakeFiles/CMakeError.log”. 

Makefile:292: recipe for target ‘cmake_check_build_system’ failed 

make: * [cmake_check_build_system] Error 1 

Invoking “make cmake_check_build_system” failed

遇到这种问题可采用: 
sudo apt-get install ros-jade-tf2-eigen 
重点内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐