Advertisement

自动驾驶框架 Apollo 1.0 -源码分析

阅读量:

自动驾驶框架 Apollo 1.0 -源码分析

开篇


最近没有更新文章,是因为我暑假回家了。
当然,也抽空去看了看Apollo的代码。存了几篇文章是因为我想看完后,做一个总结,然后再发布。
所以接下来的几天都会更新关于Apollo的源码分析文章。
可惜我的公众号每天只能发一篇,不然可以连续更新9篇了。


ok,话不多说,开始。


Apollo源码分析之 (安装)。


Apollo的代码看了一段时间了。觉得应该写一点源码分析文章来鞭策自己更加细致的研究Apollo的各个模块框架。
--8月语


【1】安装Apollo-Kernel:

1.

在以下网址

复制代码
 https://github.com/ApolloAuto/apollo-kernel/releases

下载已经官方已经编译好的Apollo Linux Kernel 内核二进制文件。

2.

最开始我是git clone代码下来准备自己从源码编译,但是由于我个人用的是阿里云的学生机,太慢了,所以Ctrl+C后老老实实的执行

复制代码
 wget https://github.com/ApolloAuto/apollo-kernel/releases/download

    
 /1.0.0/linux-4.4.32-apollo-1.0.0.tar.gz

3.

按照README.md一步一步安装。由于G-W-F的存在,上述文件花了好一段时间才下载下来。然后开始执行以下代码

复制代码
 tar zxvf linux-4.4.32-apollo-1.0.0.tar.gz

    
 cd install
    
 sudo ./install_kernel.sh

4.

然后vim test_rt test_rt.c,输入README.md的代码。
编译:gcc -o test_rt test_rt.c -lrt
最后运行没问题的话就表示安装成功。

5.

安装的内核的时候把我的虚拟机搞崩了一次,内核升级导致无法开机导致我重装了虚拟机的系统。
原则上阿里云是不支持内核升级的。所以如果用虚拟机玩Apollo,最好安装之前先用阿里云官方的快照功能备份一下系统,这样即使安装失败不行后,也可以马上恢复系统,不至于像我一样还得重新安装系统。
另外虚拟机的内存需要大于2G,Apollo最低要求2G内存。

【2】安装Apollo

1,下载Apollo源代码: 从github source下载Apollo的源代码:

复制代码
 git clone git@github.com:ApolloAuto/apollo.git

    
 cd apollo

2,参考以下命令设置环境变量 APOLLO_HOME:

复制代码
 echo "export APOLLO_HOME=$(pwd)" >> ~/.bashrc && source ~/.bashrc

3, 在一个新的终端或者已有的终端中输入source ~/.bashrc

【3】 设置Docker支持

1,运行以下命令来安装Docker:

复制代码
 cd $APOLLO_HOME

    
 bash docker/scripts/install_docker.sh

脚本完成后,注销并重新登录系统以启用Docker。

(可选)如果您已经安装了Docker(在安装Apollo内核之前),请在其中添加以下行 /etc/default/docker:

复制代码
 DOCKER_OPTS = "-s overlay"

【4】 自定义你的发布容器

  1. 通过运行以下命令下载并启动Apollo 发布的 Docker映像:
复制代码
 cd $APOLLO_HOME

    
 bash docker/scripts/release_start.sh
  1. 通过运行以下命令登录Apollo 发布的 Docker映像:
复制代码
 bash docker/scripts/release_into.sh

【5】运行Offline Demo

复制代码
 rosbag play docs/demo_guide/demo.bag --loop

如果运行失败:
按照https://github.com/ApolloAuto/apollo的README.md的说明,执行以下命令:

复制代码
 设置Docker环境请运行如下命令

    
 bash docker/scripts/install_docker.sh
    
 # 退出并重新登录,这样可以非sudo运行Docker
    
 docker ps  # 确认Docker可以非sudo运行
    
 bash docker/scripts/dev_start.sh
    
 bash docker/scripts/dev_into.sh
复制代码
 基于源代码搭建Apollo

    
 bash apollo.sh build
复制代码
 启动Apollo

    
 # 启动人际交互界面(HMI)
    
 bash scripts/hmi.sh
复制代码
 访问 HMI

    
 使浏览器打开人机交互界面(HMI), 地址是:http://localhost:8887。 然后点击Dreamview启动HMI。

由于各种各样的原因,不要期望一次性就能安装好。如果有运行失败的提示可以按照官网的指导自己解决。另外,由于涉及到内核升级,所以最好用备份系统来安装。整个过程还是挺复杂而漫长的。

我安装参考的官网指导有:
【1】https://github.com/ApolloAuto/apollo/blob/master/README_cn.md
【2】https://github.com/ApolloAuto/apollo/blob/master/docs/demo_guide/README_cn.md
【3】https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_1_0_quick_start_cn.md
【4】https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_1_0_hardware_system_installation_guide.md
【5】https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_1_0_quick_start_developer.md
【6】https://github.com/ApolloAuto/apollo/blob/master/docs/howto/how_to_build_and_release.md

【6】播放演示rosbag

启动一个终端窗口,进入apollo目录

复制代码
 bash docker/scripts/dev_into.sh # 进入docker环境

    
 rosbag play -l ./docs/demo_guide/demo.bag

如果一切顺利的话,可以得到和官网一样的效果图。这时,Dreamview会播放一辆带着预测轨迹的行驶中的汽车。

安装步骤就是这些了。建议多看官网的指定,多看github上的issue,说不定你遇到的问题别人也遇到过,比如:

复制代码
 command " rosbag " not fonud

注释版源码以后会放到我的github上。

本文首发于微信公众号slamcode。

全部评论 (0)

还没有任何评论哟~