运行cartographer的gRPC demo,附百度文件链接

预先安装的库(主要是catographer和gRPC的基本依赖库)

sudo apt-get install -y \
    cmake \
    g++ \
    git \
    google-mock \
    libboost-all-dev \
    libcairo2-dev \
    libeigen3-dev \
    libgflags-dev \
    libgoogle-glog-dev \
    liblua5.2-dev \
    libsuitesparse-dev \
    python-sphinx

1-protobuf
https://github.com/protocolbuffers/protobuf
protobuf安装方法参考官网

make clean
./configure
make -j4
sudo make installn
sudo ldconfig

2-ceres
https://github.com/ceres-solver/ceres-solver
ceres安装方法参考官网

make build && cd build
make -j4
sudo make install
sudo ldconfig

3-abseil
https://github.com/abseil/abseil-cpp
abseil的安装方法见https://blog.csdn.net/windxf/article/details/103963934

然后要编译的库

1-gRPC(版本1.27.0)
https://github.com/grpc/grpc/tree/v1.27.0
2-async_gprc
https://github.com/cartographer-project/async_grpc
3-cartographer
https://github.com/cartographer-project/cartographer

编译时候的注意事项

1-gRPC

step-1: 建议先cmake 、make 、make install 一波流。
然后你会发现系统没有安装gRPCTargets.cmake,接着step-2和step-3可以解决
注意:如果这一步在make的时候不行,可能是openssl没有安装(安装了也链接不到,错误代码:underfined …BIO),这个时候可以用这句话cmake,指导它找到openssl,然后再make make install ,这里编译比较慢,根据自己电脑的情况make -jn , n是你电脑的物理线程数量

cmake -DgRPC_SSL_PROVIDER=package ..

step-2: 编译静态库

cmake  -DgRPC_INSTALL=ON -DgRPC_ZLIB_PROVIDER=package -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_SSL_PROVIDER=package -DgRPC_ABSL_PROVIDER=package ..

step-3: 编译动态库

cmake  -DgRPC_INSTALL=ON -DBUILD_SHARED_LIBS=ON -DgRPC_ZLIB_PROVIDER=package -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_SSL_PROVIDER=package -DgRPC_ABSL_PROVIDER=package ..

编译完后sudo ldconfig。

参考官方网址,或者https://blog.csdn.net/windxf/article/details/108792753
注意:在ubuntu20.04的版本中发现报找不大到c-ares库,可以手动安装

sudo apt install libc-ares-dev
2-async_gprc

没啥注意事项,因为之前gRPC用的版本不对,走了些弯路,记得用gRPC-1.27.0或稍前的版本。

3-cartographer

记得在CmakeList.txt中把grpc打开,

option(BUILD_GRPC "build Cartographer gRPC support" true) #default is false

如果你安装过cartographer,也没啥注意事项,对了新版本要手动安装abseil,这个要安装静态库和动态库(-DBUILD_SHARED_LIBS=ON)
参考网址https://blog.csdn.net/windxf/article/details/108827649

运行demo

cartographer_ros中记得在CmakeList.txt中把grpc打开

option(BUILD_GRPC "build features that require Cartographer gRPC support" true) #default is false

catkin_make之后运行grpc demo

roslaunch cartographer_ros grpc_demo_backpack_2d.launch bag_filename:=/home/peak/Downloads/ros_bag/carto/cartographer_paper_deutsches_museum.bag

编译环境、百度链接

由于系统版本和库版本的关系,你可能不能很好的运行,我这里把百度链接附上,其中protobuf和abseil可以在grpc的third_party中找到
https://pan.baidu.com/s/1_6ID7ebEGkELV6OHwFX95A 提取码: xrku

我使用的是ubuntu16.04.7 amd版本,cmake版本3.6.0

截图为证

不敢相信居然跑起来了 localhost:11311
运行cartographer的gRPC demo,附百度文件链接_第1张图片运行cartographer的gRPC demo,附百度文件链接_第2张图片

你可能感兴趣的:(2d_slam,百度,自动驾驶,人工智能)