Apollo 笔记(01)— 下载、编译、安装、启动、运行官方demo

1. 安装前提

1.1 安装 Ubuntu 系统

要求安装 Ubuntu(18.04+)以上版本系统。

1.2 安装 NVIDIA GPU 驱动

NVIDIA GPU Driver版本 > 455, cuda > 11.1

1.3 安装 Docker

Docker 版本要求 19.03+

  1. Update the apt package index and install packages to allow apt to use a repository over HTTPS:
sudo apt-get update
sudo apt-get install ca-certificates 
curl gnupg lsb-release
  1. Add Docker’s official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

  1. Use the following command to set up the stable repository
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  
  1. Install Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. Create the docker group and add your user
sudo groupadd docker
sudo usermod -aG docker $USER
  1. Log out and log back in, then verify
docker run hello-world

1.4 安装 NVIDIA Container Toolkit

  1. Setup the stable repository and the GPG key
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
 
  1. updating the package listing and install
sudo apt-get update
sudo apt-get install -y nvidia-docker2
  1. Restart the Docker daemon to complete the installation
sudo systemctl restart docker
  1. verify
nvidia-docker version

或者

dpkg -l | grep nvidia-docker

2. 安装 Apollo

2.1 下载源码

# Using SSH
git clone git@github.com:ApolloAuto/apollo.git

# Using HTTPS
git clone https://github.com/ApolloAuto/apollo.git

2.2 切换到 master 分支

通过 git branch 查看如果已经是 master 分支则忽略该步骤。

cd apollo
git checkout master

2.3 添加环境变量

为方便起见,你可以设置环境变量 APOLLO_ROOT_DIR,执行下面命令前确保 pwd 已经是 apollo 目录下

echo "export APOLLO_ROOT_DIR=$(pwd)" >> ~/.bashrc  && source ~/.bashrc

2.4 运行 Apollo 开发容器

进入到下载的 apollo 目录下,执行命令:

bash docker/scripts/dev_start.sh

执行成功后会有下面的输出:

[ OK ] Congratulations! You have successfully finished setting up Apollo Dev Environment.
[ OK ] To login into the newly created apollo_dev_michael container, please run the following command:
[ OK ]   bash docker/scripts/dev_into.sh
[ OK ] Enjoy!

2.5 执行命令进入容器

bash docker/scripts/dev_into.sh

2.6 在容器内进行编译

在容器内的 /apollo 目录下执行

./apollo.sh build

进行整体编译,或者

./apollo.sh build_opt

进行部分选项编译,编译成功后输出

(01:10:49) INFO: Elapsed time: 287.913s, Critical Path: 160.75s
(01:10:49) INFO: 25369 processes: 6857 remote cache hit, 17424 internal, 1088 local.
(01:10:49) INFO: Build completed successfully, 25369 total actions
==============================================
[ OK ] Done building apollo. Enjoy!
==============================================

如果编译过程中报错:

x86_64-linux-gnu-gcc-7: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
(00:52:42) INFO: Elapsed time: 1826.018s, Critical Path: 566.76s
(00:52:42) INFO: 17253 processes: 12 remote cache hit, 10163 internal, 7078 local.
(00:52:42) FAILED: Build did NOT complete successfully

可能是内存不够导致,按照下面方法设置交换内存后再重新编译

# 1. 创建分区文件,建立 16G 交换内存
sudo dd if=/dev/zero of=/swapfile bs=1k count=16384000
# 2.生成swap文件系统
sudo mkswap /swapfile
# 3. 激活swap文件
sudo swapon /swapfile


# 打开系统文件
vi /etc/fstab
 
# 添加如下行,让系统重启时能够自动挂载交换分区
/swapfile  swap  swap    defaults 0 0

检查交换内存是否设置成功

$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        2.8G        7.6G         92M        5.1G         12G
Swap:           16G        2.4G         14G

参考:
https://blog.csdn.net/zangba9624/article/details/118678416
https://blog.csdn.net/qq_36558538/article/details/88394318

3. 运行

3.1 编译 GPU 版本

参考:https://github.com/ApolloAuto/apollo/blob/master/docs/howto/how_to_launch_and_run_apollo.md
进入容器内执行命令

./scripts/apollo_clean.sh -a
./apollo.sh build_opt_gpu

编译成功后输出:

(01:36:03) INFO: Elapsed time: 1236.815s, Critical Path: 178.36s
(01:36:03) INFO: 30719 processes: 7275 remote cache hit, 18777 internal, 4667 local.
(01:36:03) INFO: Build completed successfully, 30719 total actions
==============================================
[ OK ] Done building apollo. Enjoy!
==============================================

3.2 运行

运行 ./scripts/bootstrap.sh将在启用监控模块后启动 Dreamview 后台。

# Startup modules monitor and dreamview, the default option is start.
./scripts/bootstrap.sh [start | stop | restart]

输出如下:

$ ./scripts/bootstrap.sh 
nohup: appending output to 'nohup.out'
[ OK ] Launched module monitor.
nohup: appending output to 'nohup.out'
[ OK ] Launched module dreamview.
Dreamview is running at http://localhost:8888

在浏览器中打开 http://localhost:8888,如下。但目前除监视器外没有其他模块在后台运行。

Apollo
选择驾驶模式和地图

run

下载官方自带的 demo,同样是在容器内执行:

cd docs/demo_guide/
python3 record_helper.py demo_3.5.record

加载环境变量

source cyber/setup.bash

否则会报错 cyber_recorder: command not found

然后循环播放 demo(不想循环播放的话去掉 -l 就行):

cyber_recorder play -f docs/demo_guide/demo_3.5.record -l

demo

总结运行的整体步骤:

cd apollo/ 
sudo bash docker/scripts/dev_into.sh  # 进入 apollo 的 docker 容器内
./scripts/bootstrap.sh  # 启动检测模块和dreamview

# 运行 demo  的命令,或者执行其它命令
cyber_recorder play -f docs/demo_guide/demo_3.5.record -l # 循环播放 demo
# 如果报错 cyber_recorder: command not found 执行下面语句
source cyber/setup.bash 
  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以按照以下步骤在GitCodes上下载Apollo 8.0并进行编译: 1. 打开GitCodes网站,点击“+New Project”新建一个项目。 2. 在GitCodes的终端中输入以下命令,克隆Apollo仓库到您的项目中: ``` git clone -b 8.0.0 https://github.com/ApolloAuto/apollo.git ``` 3. 进入Apollo目录,并执行bootstrap.sh脚本: ``` cd apollo bash ./apollo.sh clean bash ./apollo.sh build_cc bash ./apollo.sh build_py bash ./apollo.sh build_gpu ``` 4. 上述步骤完成后,您可以运行以下命令启动Apollo: ``` bash ./apollo.sh start ``` 请注意,此过程可能需要下载大量依赖项,因此可能需要较长时间才能完成。 ### 回答2: 在GitCodes上下载Apollo 8.0并编译的步骤如下: 1. 打开GitCodes网页,搜索Apollo 8.0。找到合适的仓库,并点击进入仓库页面。 2. 在仓库页面上找到"Clone or download"按钮,点击并复制仓库的链接地址。 3. 在本地的工作目录中通过命令行工具(如Git Bash)执行以下命令:git clone [仓库链接地址] 4. 克隆完成后,进入Apollo 8.0的目录:cd apollo-8.0 5. 安装必要的依赖项。根据Apollo官方文档,执行指定命令安装相关依赖项。 6. 配置环境变量。根据Apollo官方文档,设置需要的环境变量。 7. 在终端中执行编译命令,根据Apollo官方文档,输入指定的编译命令。 8. 编译过程可能需要一段时间,请耐心等待编译完成。 9. 编译完成后,在输出目录中可以找到编译生成的可执行文件和相关的二进制文件。 注意事项: - 按照Apollo官方文档提供的步骤进行操作,确保安装编译的正确性。 - 可能因为网络或环境问题导致下载编译过程出错,请根据具体错误信息进行相关处理。 - 在编译过程中,可能还需要进行其他配置和设置,请根据具体情况进行操作。 以上是在GitCodes上下载Apollo 8.0并编译的基本步骤,希望对您有所帮助。如果您有其他问题,请随时提问。 ### 回答3: 在GitCodes上下载Apollo 8.0并编译需要按照以下步骤进行: 1. 首先,在浏览器中打开GitCodes网站并登录到您的帐户。 2. 在GitCodes的首页搜索栏中输入“Apollo 8.0”。点击搜索按钮。 3. 在搜索结果中找到Apollo 8.0的仓库,并点击进入。 4. 在仓库页面中可以找到仓库中的源代码以及相关文档。点击下载按钮来下载代码。 5. 下载代码后,将代码解压到您的本地计算机上的任意目录。 6. 打开终端或命令提示符窗口,导航到您解压代码的目录。 7. 输入命令“cd apollo”进入Apollo的根目录。 8. 下载安装编译所需的依赖项。具体的依赖项以及安装方法可以在源代码中的文档中找到。 9. 依次执行编译命令。通常,编译命令是在根目录下执行的,可以使用类似“./apollo.sh build” 或者 “./apollo.sh build_opt_gpu”之类的命令。 10. 等待编译过程完成。这可能需要一些时间,具体取决于您的计算机性能和代码大小。 11. 编译完成后,您可以在编译输出目录中找到可执行文件和相关的二进制文件。按照文档中的说明进行进一步的操作,如部署、运行等。 请注意,在执行以上步骤之前,请确保您的计算机已经安装了所需的编译工具、依赖项和软件环境。如果您在下载编译过程中遇到问题,请参考文档中的指导或在相关的技术论坛上提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值