紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
ubuntu 24.04 版本无法安装cartographer
-
ubuntu 24.04 版本无法安装cartographer,新人求助
-
在Ubuntu 24.04版本上安装Cartographer可能会遇到一些挑战,主要是因为Cartographer的依赖库和版本兼容性问题。以下是一个详细的安装步骤和可能遇到的问题及解决方案,帮助你成功安装Cartographer。
一、安装ROS Noetic
首先,确保你的Ubuntu 24.04系统上安装了ROS Noetic。你可以通过以下步骤安装ROS Noetic:
-
设置软件源:
- 打开
/etc/apt/sources.list
文件,添加ROS Noetic的软件源。推荐使用清华大学的ROS镜像源,以提高下载速度。 - 你可以通过运行
sudo nano /etc/apt/sources.list
来编辑文件,并添加相应的行。
- 打开
-
设置密钥:
- 运行
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
来添加ROS的GPG密钥。
- 运行
-
安装ROS Noetic:
- 更新你的包索引:
sudo apt-get update
。 - 安装ROS Noetic桌面完整版:
sudo apt-get install ros-noetic-desktop-full
。
- 更新你的包索引:
-
初始化rosdep:
- 运行
sudo rosdep init
和rosdep update
来初始化rosdep。
- 运行
-
设置环境变量:
- 将
source /opt/ros/noetic/setup.bash
添加到你的~/.bashrc
文件中,并运行source ~/.bashrc
来更新你的环境变量。
- 将
二、安装Cartographer依赖
Cartographer依赖于多个库,包括Ceres Solver、Protobuf等。你可以通过以下步骤安装这些依赖:
-
安装Python工具和Ninja:
- 运行
sudo apt-get install -y python3-wstool python3-rosdep ninja-build
来安装必要的Python工具和Ninja构建系统。
- 运行
-
创建工作空间:
- 在你的主目录下创建一个新的工作空间,例如
mkdir -p ~/catkin_ws/src
。 - 初始化工作空间:
cd ~/catkin_ws/
和wstool init src
。
- 在你的主目录下创建一个新的工作空间,例如
-
下载Cartographer和Cartographer ROS:
- 使用wstool或git直接克隆Cartographer和Cartographer ROS的仓库到你的工作空间中。
- 例如,使用wstool:
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
,然后wstool update -t src
。
-
安装Ceres Solver:
- Ceres Solver是Cartographer的一个关键依赖。你可以从源代码编译它,或者寻找已经编译好的包。
- 如果从源代码编译,请确保按照Ceres Solver的官方文档进行安装。
-
安装Protobuf:
- Protobuf也是Cartographer的必需依赖。你可以通过
sudo apt-get install libprotobuf-dev protobuf-compiler
来安装。 - 注意:确保安装的Protobuf版本与Cartographer兼容。
- Protobuf也是Cartographer的必需依赖。你可以通过
三、编译Cartographer
-
在你的工作空间中运行Catkin:
- 使用
catkin_make_isolated --install --use-ninja
来编译Cartographer。这将在一个隔离的环境中编译Cartographer,以避免与其他ROS包的冲突。
- 使用
-
设置环境变量:
- 编译完成后,运行
source install_isolated/setup.bash
来设置环境变量,以便能够运行Cartographer。
- 编译完成后,运行
四、测试和验证
-
下载测试数据集:
- 下载Cartographer的测试数据集,例如
backpack_2d
数据集。
- 下载Cartographer的测试数据集,例如
-
运行Cartographer:
- 使用
roslaunch cartographer_ros demo_backpack_2d.launch bag_filenames:=你的数据包路径
来运行Cartographer,并查看是否能成功建图。
- 使用
五、可能遇到的问题及解决方案
-
版本冲突:
- 如果遇到版本冲突,尝试更新或降级相关的依赖库。
- 使用
apt-cache madison
命令来查找可用的版本。
-
编译错误:
- 仔细阅读编译错误消息,找到问题的根源。
- 如果是由于缺少依赖库或头文件,请确保已正确安装所有依赖。
-
权限问题:
- 确保你有足够的权限来安装和编译软件包。
- 使用
sudo
命令(如果需要)来
以上为生成回答,仅供参考~
-
-
-
@小鱼 安装后进行catkin_make_isolated --install --use-ninja这一步发现cartographer_ws中缺少文件
build-isolated、devel-isolated、install-isolated三个文件导致无法进行下一步catkin_make_isolated --install --use-ninja。这应该怎么解决?