关键词:
Apollo移植
环境
- 平台 ubuntu16.04
- Apollo_kernel 1.0
安装步骤步骤
步骤一:安装ubuntu(官方建议使用Ubuntu 14.04.3)
启动软件更新程序
终端中执行下面的命令(新机需要更换Ubuntu的下载源,详细步骤见https://www.cnblogs.com/DXGG-Bond/p/12200597.html)
sudo apt-get update sudo apt-get upgrade
键入以下命令以安装Linux 4.4内核
sudo apt-get install linux-generic-lts-xenial
步骤二:安装Apollo内核
从github上的发行版部分下载发行包
https://github.com/ApolloAuto/apollo-kernel/releases
安装内核在下载发行包之后
tar zxvf linux-4.4.32-apollo-1.0.0.tar.gz cd install sudo bash install_kernel.sh
通过
reboot
命令重新启动系统确认是否正常启动Apollo内核
终端中输入uname -r 查看是否为上一步中安装的Apollo内核
uname -r
如果不是我们想要的内核,可能因为系统内有多个内核,需要修改启动内核的顺序。
运行如下命令,查看内核的启动顺序:
grep 'menuentry' /boot/grub/grub.cfg
其中红框的部分是大项(0,1),底下的是其中的item(0-11),我们想要启动的是:Linux 4.4.32-apollo-2-RT‘ --class,对应1->6
修改/etc/default/grub中的系统内核启动顺序:
- 将GRUB_DEFAULT=0修改为:"1>6" 如下图:
运行如下命令更新启动顺序:
sudo update-grub
重启之后运行:uname -r,此时将是我们期望的启动顺序。效果如下
lhx@ubuntu:~$ uname -r 4.4.32-apollo-1-RT
注:以下步骤参考文档:https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_software_installation_guide.md
步骤三:从github源代码下载Apollo源代码,并检查正确的分支:
ubuntu终端中执行以下代码:
git clone https://github.com/ApolloAuto/apollo.git cd apollo git checkout [release_branch_name]
步骤四:
APOLLO_HOME
通过以下命令设置环境变量:ubuntu终端中执行以下代码:
echo "export APOLLO_HOME=$(pwd)" >> ~/.bashrc && source ~/.bashrc source ~/.bashrc
步骤五:安装Docker环境
Docker容器是为Apollo建立构建环境的最简单方法。
(详细Docker教程https://docs.docker.com/、官方安装指南https://docs.docker.com/install/linux/docker-ce/ubuntu/)
具体是安装步骤如下图:
操作系统要求如下(本人用Ubuntu16.04也能成功安装)
- Disco 19.04
- Cosmic 18.10
- Bionic 18.04 (LTS)
- Xenial 16.04 (LTS)
若系统安装过docker需要卸载旧版本,可使用以下命令
$ sudo apt-get remove docker docker-engine docker.io containerd runc
安装软件包以允许
apt
通过HTTPS使用存储库:$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
添加Docker的官方GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
验证是否成功添加官方密钥
$ sudo apt-key fingerprint 0EBFCD88
成功添加官方密钥终端将输出如下信息
pub rsa4096 2017-02-22 [SCEA] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [ unknown] Docker Release (CE deb) <docker@docker.com> sub rsa4096 2017-02-22 [S]
使用以下命令来设置稳定的存储库
对于 amd64 架构的计算机,执行以下代码
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
如果你是树莓派或其它ARM架构计算机,请运行:
echo "deb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
更新apt包索引
sudo apt-get update
安装最新版本的Docker Engine-Community和containerd
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
验证是否成功安装Docker Engine-Community
sudo docker run hello-world
成功安装将在终端中打印如下信息
Hello from Docker! This message shows that your installation appears to be working correctly.
注:以下步骤参考文档链接:https://docs.docker.com/install/linux/linux-postinstall/
步骤六:以非root用户身份管理Docker
创建
docker
组。$ sudo groupadd docker
将您的用户添加到该
docker
组。$ sudo usermod -aG docker $USER
重启docker后台服务
sudo service docker restart
切换当前用户到新group
newgrp - docker
确认docker可以非sudo运行
docker p
步骤七
(可选)如果已经安装了Docker(在安装Apollo内核之前),则在以下行添加
/etc/default/docker
:
DOCKER_OPTS = "-s overlay"
步骤八:按照官方文档安装最新的nvidia-container-toolkit 。
(此步本人电脑无对应的硬件GPU,无法进行安装)
建立阿波罗
注一下步骤均属于没有硬件下的一种模拟情况
参考:建立Apollo
启动容器
我们提供了一个名为dev-latest的构建映像。容器会将您当地的阿波罗仓库安装到/ apollo。
bash docker/scripts/dev_start.sh
此步骤在家的电脑上一直在下载超时。解决方式参考:解决 Docker pull 出现的 error pulling image configuration:
解决错误信息:Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
注一下为个人的百度云地址中粘贴地址
1. 安装/升级Docker客户端
推荐安装1.10.0以上版本的Docker客户端,参考文档 docker-ce
2. 配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
"registry-mirrors": ["https://27yrtv95.mirror.aliyuncs.com"]
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
进入容器
bash docker/scripts/dev_into.sh
构建模块
bash apollo.sh build
Note:
如果没有GPU,则可以使用以下脚本代替
bash apollo.sh build_cpu
Note:
如果您的计算机运行缓慢,则可以输入以下命令来限制CPU。
bash apollo.sh build --local_resources 2048,1.0,1.0
如何启动和运行阿波罗
参考:如何启动和运行阿波罗
在继续之前,请先检查并确保您在开发docker容器中。现在,您将需要从源代码构建。如果要运行整个系统,请确保具有nVidia GPU并已安装Linux nVidia驱动程序。即使您缺少Linux nVidia驱动程序,您仍然可以继续执行接下来的几个步骤,因为该系统将运行,但是将使用基于CUDA的感知和其他模块。
# To get a list of build commands
./apollo.sh
# To make sure you start clean
./apollo.sh clean
# This will build the full system and requires that you have an nVidia GPU with nVidia drivers loaded
bash apollo.sh build
如果您没有nVidia GPU,则系统将运行,但是将使用基于CUDA的感知和其他模块。您必须指定dbg
调试模式或opt
优化代码
./apollo.sh build_no_perception dbg
如果您对Dreamview前端进行了修改,则必须./apollo.sh build_fe
在运行完整版本之前运行。
如果计算机速度很慢,则可以输入以下命令来限制CPU。
bash apollo.sh build --local_resources 2048,1.0,1.0
运行阿波罗
请按照以下步骤启动Apollo。请注意,在运行系统之前,必须先构建系统。请注意,bootstrap.sh实际上会成功,但是如果您跳过构建步骤,则不会显示用户界面。
Start Apollo
运行Apollo将启动ROS核心,然后启动一个称为Dreamview的Web用户界面,这由引导脚本处理,因此,应在docker容器中运行:
# start module monitor
bash scripts/bootstrap.sh
访问Dreamview
通过打开您喜欢的浏览器(例如Chrome)访问Dreamview,请访问http:// localhost:8888,您应该看到此屏幕。实际系统中没有任何运行。
apollo问题(代码片段)
1.安装问题:一不小心安装了NVIDIA,导致bashdocker/scripts/dev_start.sh无法启动:[ERROR]Failedtostartdockercontainer"apollo_dev"basedonimage:apolloauto/apollo:dev-x86_64-20180906_2002。Error:CouldnotloadUVMkernelmodule.Isnv 查看详情
apollo部署(代码片段)
https://github.com/ctripcorp/apollo/wiki/Quick-Start简介Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性... 查看详情
apollo代码的编译演示(代码片段)
Apollo代码的编译演示官方的文档--运行线下演示如果你没有车辆及车载硬件,Apollo还提供了一个计算机模拟环境,可用于演示和代码调试。线下演示需要设置docker的release环境,请参照how_to_build_and_release文档中的Installdocker章节。Ap... 查看详情
万字详解apollo,整理全网apollo笔记学习(代码片段)
0参考资料0.1Apollo各模块系列笔记记录模块参考文章Cyberapollo介绍之cyber设计(五)-知乎(zhihu.com)apollo介绍之Cyber框架(十)-知乎(zhihu.com)apollo介绍之Cyber框架(十一)-知乎(zhihu.com)apollo介绍之Cyber定时器(十二)-知乎(zhihu.com)apollo介绍之CyberCom... 查看详情
万字讲解apollo,全网apollo资料整理和学习(代码片段)
0参考资料0.1Apollo各模块系列笔记记录模块参考文章Cyberapollo介绍之cyber设计(五)-知乎(zhihu.com)apollo介绍之Cyber框架(十)-知乎(zhihu.com)apollo介绍之Cyber框架(十一)-知乎(zhihu.com)apollo介绍之Cyber定时器(十二)-知乎(zhihu.com)apollo介绍之CyberCom... 查看详情
万字讲解apollo,全网apollo资料整理和学习(代码片段)
0参考资料0.1Apollo各模块系列笔记记录模块参考文章Cyberapollo介绍之cyber设计(五)-知乎(zhihu.com)apollo介绍之Cyber框架(十)-知乎(zhihu.com)apollo介绍之Cyber框架(十一)-知乎(zhihu.com)apollo介绍之Cyber定时器(十二)-知乎(zhihu.com)apollo介绍之CyberCom... 查看详情
midwayexpresskoa配置apollo配置中心(代码片段)
安装依赖npminode-apollo在bootstrap.js配置//携程apollo配置中心配置constapollo_config=configServerUrl:'',//apollo配置地址appId:'mw',clusterName:'default',namespaceName:'application',;// 查看详情
k8s部署apollo配置中心(代码片段)
方便线上k8s部署pod的时候自动从apollo获取最新的配置架构图流程图部署数据库1.1四台mysql部署mkdir-p/data/apollo/mysql-apollo-prd/data/apollo/mysql-apollo-test/data/apollo/mysql-apollo-dev/data/apollo/mysql-apollo-portal//nfs服务端创建文件夹kubect 查看详情
springboot集成apollo配置中心(代码片段)
一:简介Apollo(https://github.com/ctripcorp/apollo)是携程开源的配置中心服务。二:Apoll快速安装本机快速部署Apollo:https://www.apolloconfig.com/#/zh/deployment/quick-start。部署成功后可以通过http://localhost:8070User/Password:apollo/admin来访配 查看详情
apollo部署,配置详细解析(代码片段)
APOLLO配置中心使用的Apollo版本和部署:每个环境独立部署apollo-adminservice-1.5.1,apollo-configservice-1.5.1访问数据库ApolloConfigDBPortal只需要部署一个就行因为Portal需要管理多个环境,因此需要在Portal下的配置文件apollo-env.prope... 查看详情
apollo部署,配置详细解析(代码片段)
APOLLO配置中心使用的Apollo版本和部署:每个环境独立部署apollo-adminservice-1.5.1,apollo-configservice-1.5.1访问数据库ApolloConfigDBPortal只需要部署一个就行因为Portal需要管理多个环境,因此需要在Portal下的配置文件apollo-env.prope... 查看详情
apollo使用命令(代码片段)
确保在docker容器中先进入apollo目录下启动dockerbashdocker/scripts/dev_start.sh开始dockerbashdocker/scripts/dev_into.sh在docker中编译apollo源码bashapollo.shbuild_cpu启动DreamView./scripts/bootstrap.sh[start|stop|restart]打开浏览器& 查看详情
apollo原理(代码片段)
https://github.com/ctripcorp/apollo/wiki/Apollo%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E8%AE%BE%E8%AE%A1 提交就是提交给客户端刷新最新值到缓存 上图简要描述了Apollo客户端的实现原理:客户端和服务端保持了一个长连接,从而能第一时间获... 查看详情
apollo——安装(代码片段)
1.安装原版ubuntu14.04http://www.ubuntu.org.cn/download/alternative-downloads2.安装对应ubuntu14.04的indigo版ROShttp://wiki.ros.org/indigo/Installation/Ubuntu3.安装ApolloKernelhttps://github.com/ApolloAuto/apollo-k 查看详情
apollo配置中心(代码片段)
Apollo简介: Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用的不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场... 查看详情
apollo配置中心源码分析(代码片段)
Apollo配置中心源码分析 Apollo是携程开源的一款分布式配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景... 查看详情
#apollo环境搭建集成springboot(代码片段)
环境搭建下载QuickStart安装包从Github下载:checkout或下载apollo-build-scripts项目手动打包QuickStart安装包修改apollo-configservice,apollo-adminservice和apollo-portal的pom.xml,注释掉spring-boot-maven-plugin和maven-assembly 查看详情
midway-apollo(代码片段)
注意npmimidway-apollo目前1.0.17github源码版本较高,npm的还不能使用HotValue,GetValue装饰器@HotValue(‘className:三年二班’)privateclassName:string;@GetValue(‘age’)privateage:string;安装midway-apollo配置config.default 查看详情