Cartographer与Cartographer_ros完美编译运行

创建工作空间 进入工作空间安装rosdep先决依赖

mkdir -p ~/cartographer_ws/src 
sudo apt install python3-pip python-pip -y

Cartographer与Cartographer_ros完美编译运行_第1张图片
安装配置rosdep

##换源建议换阿里源+中科大ROS源
##安装rosdep 使用小鱼的rosdepc完美安装
pip3 install rosdepc
sudo rosdepc init
rosdepc update

Cartographer与Cartographer_ros完美编译运行_第2张图片
Cartographer与Cartographer_ros完美编译运行_第3张图片
Cartographer与Cartographer_ros完美编译运行_第4张图片
安装编译cartographer的必要依赖

sudo apt install -y python-wstool python-rosdep ninja-build 

Cartographer与Cartographer_ros完美编译运行_第5张图片
从gitee上下载cartographer和cartographer_ros的源码 我这里随便找了两个人的下载了一下

cd ~/cartographer_ws/src 
git clone https://gitee.com/c1h2/cartographer_ros.git
git clone https://gitee.com/Coxhuang/cartographer.git

Cartographer与Cartographer_ros完美编译运行_第6张图片

###进入安装abseil
sudo apt-get install stow -y
cd ~/cartographer_ws/src/cartographer/scripts
./install_abseil.sh

Cartographer与Cartographer_ros完美编译运行_第7张图片

cd ~/cartographer_ws
##这里的话会把依赖都安装上包括lua glog protobuf等
sudo rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
##编译安装cartographer 这里等待10分钟即可安装成功
catkin_make_isolated --install --use-ninja
source install_isolated/setup.bash

Cartographer与Cartographer_ros完美编译运行_第8张图片
Cartographer与Cartographer_ros完美编译运行_第9张图片
Cartographer与Cartographer_ros完美编译运行_第10张图片
Cartographer与Cartographer_ros完美编译运行_第11张图片
到这里就完美安装成功了。

附: (我没遇到过这个问题 如果遇到这个问题解决方法如下)

#在执行 "catkin_make_isolated --install --use-ninja" 时候,报出如下关于libgflags的错误。

/usr/local/lib/libgflags.a: error adding symbols: Bad value 
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
<== Failed to process package 'cartographer_rviz':

#解决
#重新编译libgflags,在编译的时候使用 "export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1" 代替 cmake .. ,具体操作如下:

git clone https://github.com/gflags/gflags
cd ~/gflags
mkdir build
cd build 
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
make -j
sudo make install

#然后重新 "catkin_make_isolated --install --use-ninja",并接着下边的操作完成cartographer的编译与运行。

你可能感兴趣的:(自动驾驶,人工智能,机器学习,导航算法,cartographer)