【Ubuntu-20.04安装cartographer】

方法一、官方推荐的 wstool安装方法,简单易用

1、安装依赖项

sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow

2、拉取源码

mkdir cartographer_ws
cd cartographer_ws
wstool init src

注意,后面的命令都在cartographer_ws目录下执行即可

wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src

3、rosdep更新

国内不好安装rosdep,所以官方给的这两条无法用sudo rosdep init和rosdep update。
请跳转我的文章鱼香ROS安装rosdepc

按照步骤完成后,出现如下图片所示
在这里插入图片描述
也就是说脚本已经帮你安装了rosdepc 以及自动运行了sudo rosdepc init,用户只需再手动运行

rosdepc update

4、修改

打开 ~/cartographer_ws/src/cartographer目录下的package.xml,注释掉第46行。xml语言的注释语法就是图片中所示
在这里插入图片描述

5、补全其他安装包

rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

6、安装abseil

先卸载ros自带的abseil

sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp

再使用脚本安装

src/cartographer/scripts/install_abseil.sh

7、编译

catkin_make_isolated --install --use-ninja

8、添加到系统环境变量

打开主目录下的隐藏文件.bashrc,写入下面命令

source ~/cartographer_ws/install_isolated/setup.bash

方法二、手动安装每个包

1、创建工作空间

mkdir cartographer_ws
cd cartographer_ws

后面的命令均在~/cartographer_ws路径下运行

2、安装Ceres

可以看下自己电脑之前跑其他SLAM算法有没有装过Ceres库,有的话就不用装了。

sudo apt-get install  liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
git clone https://github.com/ceres-solver/ceres-solver.git
cd ceres-solver/
git checkout 0ffb6db49cec52566f53ab66be7a19970ddc562b# 将下载的ceres-solver的版本回退到2.0.0
mkdir build
cd build/
cmake ..
make -j$(nproc)
sudo make install

3、下载cartographer及cartographer_ros

git clone https://github.com/cartographer-project/cartographer.git
git clone https://github.com/cartographer-project/cartographer_ros.git

4、修改

打开 ~/cartographer_ws/src/cartographer目录下的package.xml,注释掉第46行和。
在这里插入图片描述

5、安装abseil

~/cartographer_ws/src/cartographer/scripts/目录下有很多脚本可以自动安装一些库。
在终端的~/cartographer_ws目录下依次运行以下命令

src/cartographer/scripts/install_abseil.sh
src/cartographer/scripts/install_proto3.sh

6、编译

catkin_make_isolated --install --use-ninja

如果报错找不到libceres和protubuf,那就回到第4步打开 ~/cartographer_ws/src/cartographer目录下的package.xml,继续注释对应的行

7、添加到系统环境变量

打开主目录下的隐藏文件.bashrc,写入下面命令

source ~/cartographer_ws/install_isolated/setup.bash
### 解决因可疑活动导致请求被阻止的问题 当账户或IP地址因可疑活动被阻止时,通常是因为GitHub检测到异常行为并采取了安全措施。以下是具体的解决方案: #### 1. 验证身份 如果收到类似 `Hi ***! You've successfully authenticated` 的消息,则表明SSH密钥验证已通过[^3]。然而,如果是其他类型的访问受限问题(如OAuth登录失败),则需要进一步确认。 #### 2. 检查授权回调URL设置 对于OAuth集成GitHub登录的情况,确保在应用配置中正确设置了 **Authorization callback URL** 参数值。此参数允许自定义,并指向GitHub登录成功后的回调地址[^1]。如果该URL不匹配实际部署环境中的路径,可能会触发安全警告。 #### 3. 处理Git克隆权限问题 当执行命令 `git clone git@github.com:` 出现错误提示 `Permission denied (publickey)` 时,这通常是由于未正确配置SSH密钥所致[^2]。可以通过以下方法修复: - 确认本地机器上是否存在有效的SSH密钥文件(位于~/.ssh/目录下)。如果没有,请运行以下命令生成新的SSH密钥对: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` - 将公钥内容复制至GitHub账户的安全设置页面(Settings -> SSH and GPG keys -> New SSH key)。 - 测试连接是否正常: ```bash ssh -T git@github.com ``` #### 4. 更新NPM镜像源 有时依赖包管理工具也可能引发网络层面的误判。例如,在使用Node.js项目时,建议切换国内镜像加速下载速度,从而减少超时风险: ```bash npm config set registry https://registry.npm.taobao.org ``` 注意:部分旧版本库可能已被废弃,需留意官方公告以避免潜在隐患[^4]。 #### 5. 联系支持团队 最后,若上述操作均无法解决问题,可以直接联系GitHub客服说明具体情况。提供受影响邮箱地址(如hi@cursor.com)、时间范围以及具体报错日志有助于加快处理进度。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值