确实,有时候由于网络原因或者服务器问题,国内访问某些 GitHub 链接可能会遇到困难。你提到的 https://github.com.cnpmjs.org/ceres-solver/ceres-solver.git 是一个镜像站点,可能因为维护或其他原因暂时不可用。

解决方案 1. 直接从官方 GitHub 克隆

你可以尝试直接从官方 GitHub 仓库克隆 ceres-solver:

git clone https://github.com/ceres-solver/ceres-solver.git 2. 使用国内镜像

如果你在中国大陆,可以尝试使用其他国内镜像站点,例如:

清华大学镜像

git clone https://mirrors.tuna.tsinghua.edu.cn/git/ceres-solver/ceres-solver.git

中国科学技术大学镜像

git clone https://mirrors.ustc.edu.cn/git/ceres-solver/ceres-solver.git 3. 使用代理

如果上述方法仍然无法访问,你可以考虑使用代理(如 SSH 代理、HTTP 代理等)来克隆仓库。例如,使用 git 的 HTTP 代理:

git config --global http.proxy http://your_proxy_server:port git clone https://github.com/ceres-solver/ceres-solver.git git config --global --unset http.proxy 4. 下载压缩包

如果以上方法都不可行,你可以手动下载 ceres-solver 的压缩包,解压后放到合适的位置。你可以从 GitHub 仓库的 Releases 页面下载最新版本的压缩包:

访问 Ceres Solver Releases 页面。 下载最新版本的 .tar.gz 或 .zip 文件。 解压文件并放到你的工作目录中。 wget https://github.com/ceres-solver/ceres-solver/archive/refs/tags/2.0.0.tar.gz tar -xzvf 2.0.0.tar.gz cd ceres-solver-2.0.0 安装 Cartographer

假设你已经成功克隆或下载了 ceres-solver,接下来可以继续安装 Cartographer。以下是安装步骤:

安装依赖

sudo apt-get update sudo apt-get install -y \ cmake \ git \ google-mock \ libatlas-base-dev \ libbz2-dev \ libcurl4-openssl-dev \ libeigen3-dev \ libgoogle-glog-dev \ libgtest-dev \ libprotobuf-dev \ protobuf-compiler \ python3-pip \ python3-numpy \ python3-wstool

安装 Ceres Solver

cd ~/catkin_ws/src git clone https://github.com/ceres-solver/ceres-solver.git cd ceres-solver mkdir build cd build cmake .. make -j4 sudo make install

安装 Cartographer

cd ~/catkin_ws/src git clone https://github.com/cartographer-project/cartographer.git git clone https://github.com/cartographer-project/cartographer_ros.git cd cartographer_ros git submodule update --init --recursive sudo apt-get install -y python3-catkin-tools python3-rosdep rosdep update rosdep install --from-paths . --ignore-src --rosdistro=${ROS_DISTRO} -y cd ~/catkin_ws catkin build source devel/setup.bash

测试 Cartographer

roslaunch cartographer_ros backpack_2d.launch

希望这些步骤能帮助你成功安装和测试 Cartographer。如果有任何问题,请随时告诉我!