安装指南
本指南将帮助您安装和配置 Autonomy 项目所需的所有先决条件软件。
1 系统要求
1.1 支持的操作系统
Linux: Ubuntu 20.04/22.04 LTS (推荐)
架构: x86-64 或 ARM64 (aarch64)
1.2 硬件要求
内存: 至少 8GB RAM (推荐 16GB)
存储: 至少 20GB 可用磁盘空间
CPU: 多核处理器 (推荐 4 核或以上)
2 Docker 安装与配置
Docker 是推荐的运行环境,提供了跨平台支持和一致的开发环境。
2.1. 安装 Docker
如果您的系统尚未安装 Docker,请运行以下命令:
cd autonomy/docker/scripts
sudo ./install_docker.sh
安装完成后,验证 Docker 是否正常工作:
docker --version
2.2 构建 Docker 镜像
run_autonomy.sh 脚本会根据您的计算机平台(x86-64 或 aarch64)自动选择并构建相应的 Docker 镜像。
重要提示: 在运行脚本之前,请设置环境变量 AUTONOMY_ENV 指向宿主机上的 autonomy 项目路径(如果需要在宿主机和容器之间共享代码)。
# 设置环境变量(可选,仅在需要时设置)
# export AUTONOMY_ENV=/path/to/autonomy
# 构建并运行 Docker 容器
cd autonomy/docker
./run_autonomy.sh
脚本会自动:
检测系统架构(x86-64 或 aarch64)
构建相应的 Docker 镜像
启动名为
SpaceHero的容器挂载工作目录到容器中
2.3 进入 Docker 容器
容器启动后,您可以通过以下命令进入容器:
docker exec -it SpaceHero /bin/bash
3 获取源码
3.1克隆仓库
从 Gitee 或 GitHub 克隆 Autonomy 项目的源码:
# 从 Gitee 克隆(国内推荐)
git clone https://gitee.com/openbotbeginner/autonomy.git
git clone https://gitee.com/openbotbeginner/autonomy_ros.git
# 或从 GitHub 克隆
git clone https://github.com/quandy2020/autonomy.git
git clone https://github.com/quandy2020/autonomy_ros.git
3.2 目录结构
克隆完成后,您的目录结构应该如下所示:
autonomy/
├── src/
│ ├── autonomy/ # 核心 Autonomy 框架
│———└── autonomy_ros/ # ROS/ROS2 兼容层
4 编译与安装
Autonomy 项目支持两种编译方式:使用 ROS2 (推荐) 或仅使用 C++ (无 ROS 依赖)。
4.1 使用 ROS2 编译(推荐)
此方式适合需要在 ROS2 环境中运行或与 ROS2 集成的场景。
进入 Docker 容器
docker exec -it SpaceHero /bin/bash
设置 ROS2 环境
source /opt/ros/humble/setup.bash
编译项目
cd /workspace/autonomy
colcon build --symlink-install
编译选项说明:
--symlink-install: 使用符号链接安装,便于开发时修改代码如需仅编译特定包,使用:
colcon build --packages-select <package_name>
运行测试(可选)
colcon test
colcon test-result --verbose
4.2 C++ 编译(无 ROS 依赖)
此方式适合仅使用 Autonomy 核心功能,不依赖 ROS/ROS2 的场景。
进入 Docker 容器
docker exec -it SpaceHero /bin/bash
创建构建目录并编译
cd /workspace/autonomy/src/autonomy
mkdir -p build
cd build
cmake .. -G Ninja
ninja
运行测试(可选)
CTEST_OUTPUT_ON_FAILURE=1 ninja test
编译选项说明:
-G Ninja: 使用 Ninja 构建系统,编译速度更快如需使用 Makefile,可省略
-G Ninja选项
5 Habitat-Sim 安装(可选)
Habitat-Sim 是 Facebook Research 开发的 3D 仿真平台,用于训练和评估具身智能体。如果项目需要使用 Habitat-Sim 功能,请按照以下步骤从源码编译安装。
5.1 前置要求
Python 版本: >= 3.9
编译时间: 约 30-60 分钟(取决于系统性能)
存储空间: 约 2-3 GB(编译后)
5.2 安装步骤
获取源码
git clone --branch stable https://github.com/facebookresearch/habitat-sim.git
cd habitat-sim
安装 Python 依赖
pip3 install -r requirements.txt
配置 Git 安全设置(Docker 环境)
git config --global --add safe.directory '*'
编译安装(Headless 模式,适用于 Docker/服务器环境)
python3 setup.py install --headless --no-update-submodules
编译参数说明:
--headless: 用于无显示器系统(Docker 容器、服务器等)--no-update-submodules: 跳过 Git 子模块更新,避免权限问题
其他编译选项:
--with-cuda: 启用 CUDA 支持--bullet: 启用 Bullet 物理引擎--audio: 启用音频传感器(仅 Linux)
示例(组合使用):
python3 setup.py install --headless --with-cuda --bullet --no-update-submodules
5.3 验证安装
# 检查 Python 模块
python3 -c "import habitat_sim; print('habitat-sim installed successfully')"
# 检查安装版本
pip3 list | grep habitat-sim
5.4 常见问题
问题 1: Git 子模块权限错误
如果遇到 fatal: detected dubious ownership in repository 错误,运行:
git config --global --add safe.directory '*'
问题 2: 编译时间较长
Habitat-Sim 编译需要较长时间,这是正常现象。如果内存不足,可以限制并行编译:
python3 setup.py build_ext --parallel 1 install --headless --no-update-submodules
5.5 参考资源
GitHub 仓库: https://github.com/facebookresearch/habitat-sim
官方编译文档: habitat-sim/BUILD_FROM_SOURCE.md
稳定版本列表: https://github.com/facebookresearch/habitat-sim/releases
6 环境配置
6.1 Docker 容器内环境变量配置
在 Docker 容器中,建议将以下环境变量添加到 ~/.bashrc 文件中:
# 编辑 .bashrc
vim ~/.bashrc
# 添加以下内容
### Autonomy Environment Variables ###
export GLOG_logtostderr=1 # 日志输出到标准错误
export GLOG_alsologtostderr=0 # 不同时写入日志文件
export GLOG_colorlogtostderr=1 # 启用彩色日志输出
export GLOG_minloglevel=0 # 最小日志级别(0=INFO, 1=WARNING, 2=ERROR, 3=FATAL)
export GLOG_log_dir=${HOME}/.autonomy/log # 日志文件目录
# 加载 Autonomy 环境
source /usr/local/setup.bash
# 如果使用 ROS2 编译,还需要加载 ROS2 环境
source /opt/ros/humble/setup.bash
使配置生效:
source ~/.bashrc
5.2 环境变量说明
变量名 |
说明 |
推荐值 |
|---|---|---|
|
是否将日志输出到标准错误 |
|
|
是否同时写入日志文件 |
|
|
是否启用彩色日志 |
|
|
最小日志级别 |
|
|
日志文件保存目录 |
|
7 验证安装
7.1 检查编译产物
编译完成后,检查是否成功生成了可执行文件和库文件:
# ROS2 编译方式
ls -la /workspace/autonomy/install/autonomy/bin/
# C++ 编译方式
ls -la /workspace/autonomy/src/autonomy/build/bin/
7.2 运行测试示例
参考项目中的测试示例验证安装是否正确:
