ros安装包依赖
1 rosdep 的安装和使用
rosdep 是ros 自带的一个包,该包主要是解决其他包的安装依赖问题,实现对其他包的一键式安装依赖,能够很好的解决繁琐的包的依赖问题。rosdep 是通过查找功能包下面的 package.xml ,该包下面有两个依赖项:build依赖项和run依赖项。rosdep检查包的依赖项,实现包的依赖项的安装。
rosdep 安装
在ubuntu平台上安装
# ROS Noetic
sudo apt-get install python3-rosdep
# ROS Melodic and earlier
sudo apt-get install python-rosdep
在其他平台上安装
sudo pip install -U rosdep
rosdep使用
使用之前需要初始化和更新
sudo rosdep init
该步骤的目的就是更新文件/etc/ros/rosdep/sources.list.d/)
rosdep update(更新的时候不适用超级权限)
安装包的依赖和检查包的依赖
rosdep check --from-path packagename
rosdep install --from-paths src --ignore-src -r -y
或者
rosdep install --from-path packagename
2 rosdepc的安装和使用
rosdep存在超时和更新失败的情况,主要是由于需要访问很多的外网,导致更新和下载依赖包失败,现在可以使用rosdepc来更新和初始化解决了国内网络访问失败的问题。
1 rosdepc安装
sudo pip install rosdepc
2 使用
sudo rosdepc init
rosdepc update
3 安装依赖
rosdep install --from-paths src --ignore-src -r -y
或者
rosdep install --from-path packagename
树莓派18.04 安装cartographer 及依赖
1 cartographer工具和依赖安装
sudo apt-get update
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-melodic-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev
sudo apt-get install -y python-wstool python-rosdep ninja-build stow
2 创建工作空间并且下载源代码
mkdir catkin_ws
cd catkin_ws
wstool init src
wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src
或者直接github上下载源代码
3 可能需要手动安装ceres
wget ceres-solver.org/ceres-solver-1.13.0.tar.gz
根据自己源码的版本可能需要不同的ceres版本,根据具体的源码版本下载
3.1 解压ceres
tar xvf ceres-solver-1.13.0.tar.gz
3.2 编译
cd ceres-solver-1.13.0
mkdir build
cd build
cmake ..
make
sudo make install
4 安装依赖
使用上述安装依赖的两种方式rosdep 或者rosdepc,国内为了更好的快速安装依赖,建议采用rosdepc的方式:
进入需要安装依赖的工作空间,执行如下:
sudo rosdepc init
rosdepc update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
安装cartographer需要的库:
src/cartographer/scripts/install_abseil.sh
如果不成功可能和系统下面的版本冲突,执行
sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp
然后重新安装
src/cartographer/scripts/install_abseil.sh
5 编译
catkin_make_isolated --install --use-ninja