确实,有时候由于网络原因或者服务器问题,国内访问某些 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。如果有任何问题,请随时告诉我!