采用小鱼安装的方法,链接
有时间需要将这种在线安装方式改为本地安装,避免资源丢失。
安装指令:
wget http://fishros.com/install -O fishros && . fishros
首先,安装二进制文件方法,然后将所需要的依赖项安装完成后,再下载源码
首先,下载cartographer和cartographer_ros
如何查找与ubuntu发行版本的二进制安装版本相对应的源码版本?
需要到开源镜像中去查看代码版本,比如:清华镜像目录下面的Packages文件,文件中写明了发行版本中代码所对应的源码版本以及对应的依赖关系。
Package: ros-humble-cartographer
Version: 2.0.9003-1jammy.20240315.145239
Architecture: amd64
Depends: libabsl20210324 (>= 0~20210324.2-1), libboost-iostreams1.74.0 (>= 1.74.0), libc6 (>= 2.35), libcairo2 (>= 1.6.0), libceres2 (>= 2.0.0+dfsg1), libgcc-s1 (>= 3.3.1), libgflags2.2 (>= 2.2.2), libgoogle-glog0v5 (>= 0.5.0+really0.4.0), liblua5.2-0 (>= 5.2.4), libpcl-common1.12 (>= 1.12.1+dfsg), libprotobuf23 (>= 3.12.4), libstdc++6 (>= 11), libunwind8, libabsl-dev, libeigen3-dev, libgflags-dev, libgoogle-glog-dev, libpcl-dev, ros-humble-builtin-interfaces, ros-humble-cartographer, ros-humble-cartographer-ros-msgs, ros-humble-geometry-msgs, ros-humble-launch, ros-humble-nav-msgs, ros-humble-pcl-conversions, ros-humble-rclcpp, ros-humble-robot-state-publisher, ros-humble-rosbag2-cpp, ros-humble-rosbag2-storage, ros-humble-sensor-msgs, ros-humble-std-msgs, ros-humble-tf2, ros-humble-tf2-eigen, ros-humble-tf2-msgs, ros-humble-tf2-ros, ros-humble-urdf, ros-humble-visualization-msgs, ros-humble-ros-workspace
Homepage: https://github.com/cartographer-project/cartographer_ros
Package: ros-humble-cartographer-ros
Version: 2.0.9002-1jammy.20240416.000034
Architecture: amd64
····(省略)
这里面的Packages文件就说明了cartographer和cartographer-ros版本分别是2.0.9003和2.0.9002,这样,我们就可以从Github下载相应的源码。
git clone -b ros2 https://github.com/ros2/cartographer.git
git clone -b ros2 https://github.com/ros2/cartographer_ros.git
对于cartographer需要
git checkout tags/ros2/2.0.9003
对于cartographer_ros需要
git checkout tags/2.0.9002
编译代码,会提示ament_cmake错误,需要source ~/.bashrc,然后,编译会提示缺少absl,
仍然通过小鱼一键安装来安装rosdepc来代替系统默认的rosdep,避免资源被墙的问题,然后然后按照以下步骤运行来,Install rosdepc dependencies.
rosdepc update
rosdepc install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO}
会依次安装libabsl-dev,libgflags-dev,libgflags2.2,libgoogle-glog-dev,libgoogle-glog0v5,libunwind-dev,python-babel-localedata,python3-alabster,python3-babel,python3-imagesize,python3-jinja2,python3-sphinx,sphinx-common,libcairo2-dev,libpixman-1-dev,libxcb-render0-dev,libxcb-shm0-dev,libprotobuf23,libprotobuf-compiler等等等等依赖文件
安装完成依赖后,可以编译工作目录carto_ws,可编译通过。
这篇文章有点水啊
是的,仅做一个记录