Apollo进阶课程㊴丨Apollo安装过程概述

原文链接:进阶课程㊴丨Apollo安装过程概述

Apollo是一个自动驾驶的平台,推荐的参考运行环境为:ThinkPAD X240、CPU:i5 、四核 、内存 8G、 硬盘容量40G以上。

上周阿波君为大家详细介绍了「进阶课程㊳丨Apollo平台的快速入门」。

此课程主要讲解了Apollo的快速入门方法,包括编译、高精地图和实时相对地图、一些调试工具以及新加入的计算单元模块

本周阿波君将继续与大家分享Apollo安装过程概述的相关课程。下面,我们一起进入进阶课程第39期。

目录

1.安装过程

2.使用仿真平台


1.安装过程

如图1所示,安装主要分为三步。安装基础环境,拉取Docker镜像并创建容器,进入容器编译源码。下面介绍具体的安装过程。

                                                                                                图1 Apollo系统的安装过程

首先是安装git,因为Apollo代码是托管在github平台的,所以需要git工具。然后使用git将Apollo源码克隆到本地,如图2所示。

                                                                                                图2 安装git和拉取镜像

下载源码之后,还要安装Docker环境,可以使用Apollo提供的脚本安装也可以根据Docker官网的指南进行安装。安装完Docker之后需要验证。重启系统并进入Apollo项目所在文件夹,然后运行docker ps命令,显示容器数据为0,则表示Docker安装完成。

Docker环境安装好之后,使用官方提供的脚本拉取Apollo Docker镜像文件,运行dev_start.sh–C命令,其中–C选项表示使用中国服务器进行加速。在拉取成功之后,该脚本会基于镜像创建一个容器Container。

                                                                                                图3 Docker环境安装和验证

注意:每次都要执行这个操作,因为CONTAINER需要每次都创建。

接下来是对Apollo的操作,如果没有编译,需要先使用apollo.sh脚本进行编译。它有很多编译选项,默认的是Build和OP。还可以选择面向GPU编译。RS是对RB速腾聚创的激光雷达进行编译,USB Camera是对Camera的编译,这几种编译方式所涉及的类不同,所以使用的编译方式也不尽相同。

编译完成之后,需要对Apollo各个模块进行调试,我们会在每个版本发布的时候给出对应的Rosbag数据包,方便去做验证。比如说Apollo 1.0提供了一个循迹数据包,2.0时发布了一个激光点云的数据包。

我们可以启动bootstrap.sh脚本,对Apollo的bag进行回放,看一下效果。这是一个引导脚本,它做了以下事情,启动进程守护工具Supervisor,假如有进程出现不可预知的异常,这些进程通常会挂掉,经过配置后Supervisor可以保证在进程挂掉后,会将该进程拉进来。然后启动Roscore、voice_dectore和Dreamviewer。

对于Apollo平台,很多的模块都被启动,交由Supervisor进程进行监控,包括Can Bus、 激光雷达、控制模块、GPS、Mobileeye、NG等模块。

在运行完bootstrap.sh脚本之后,在浏览器地址栏输入localhost:8888查看Demo的演示效果。Demo加载bag对应的数据,包括车辆的数据、障碍物数据、绿色障碍物ID、速度、形态车在运行过程中需要查看的不仅仅是仿真出来的场景,还要看一些跟Planner、控制相关的信息。


2.使用仿真平台

仿真平台的使用方式大概分为以下几个步骤,如图4所示。

                                                                                                        图4 Apollo 仿真平台

按照图5所指示的方法可以进入官方仿真平台,前提是有百度的账号。

                                                                                                图5 如何使用仿真平台

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439765.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)

继承、实现、依赖、关联、聚合、组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继…

CS231n(1):图片分类笔记与KNN编程作业

声明:本博客笔记部分为CS231n官网笔记,这里对其进行引用,在此表示感谢。 课程官网地址为:http://vision.stanford.edu/teaching/cs231n/syllabus.html 本次课程对应B站教学视频为: https://www.bilibili.com/video/av5…

【HDU - 6557】Justice(思维,模拟,套路,SETset)

题干: On the table there are n weights. On the body of the i-th weight carved a positive integer kiki , indicating that its weight is 12ki12ki gram. Is it possible to divide the n weights into two groups and make sure that the sum of the weight…

Apollo进阶课程㊵丨Azure仿真平台使用

原文链接:进阶课程㊵丨Azure仿真平台使用 Azure是一种灵活和支持互操作的平台,它可以被用来创建云中运行的应用或者通过基于云的特性来加强现有应用。它开放式的架构给开发者提供了Web应用、互联设备的应用、个人电脑、服务器、或者提供最优在线复杂解决…

java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一

对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式…

动手学无人驾驶(3):基于激光雷达3D多目标追踪

上一篇博客介绍了无人驾驶中的车辆检测算法(YOLO模型),该检测是基于图像进行的2D目标检测。在无人驾驶环境感知传感器中还有另一种重要的传感器:激光雷达。今天就介绍一篇无人驾驶中基于激光雷达目标检测的3D多目标追踪论文&#…

换种方法学操作系统,轻松入门Linux内核

计算机已成为现代人日常工作、学习和生活中必不可少的工具。操作系统是计算机之魂,作为用户使用计算机的接口,它负责调度执行各个用户程序,使计算机完成特定的任务;作为计算机硬件资源的管理者,它负责协调计算机中各类…

Apollo进阶课程㊶丨Apollo实战——本机演示实战

原文链接:进阶课程㊶丨Apollo实战——本机演示实战 Apollo是一个开放的、完整的、安全的平台,将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统。 上周阿波君为大家详细介绍了「进阶课程㊵丨A…

java常见异常类图(分类了Error/RuntimeExecption、check Exception)

Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。Exception:表…

Apollo进阶课程㊷丨Apollo实战——车辆与循迹驾驶能力实战

原文链接:进阶课程㊷丨Apollo实战——车辆与循迹驾驶能力实战 循迹自动驾驶是指让车辆按照录制好的轨迹线进行自动驾驶,其涉及到自动驾驶中最基本的底盘线控能力、定位能力、控制能力,是自动驾驶系统的一个最小子集。 上周阿波君为大家详细介…

【HDU - 5961】传递(图,思维,暴力,枚举点)

题干: 我们称一个有向图G是传递的,当且仅当对任意三个不同的顶点a,,若G中有 一条边从a到b且有一条边从b到c ,则G中同样有一条边从a到c。 我们称图G是一个竞赛图,当且仅当它是一个有向图且它的基图是完全图。换句 话说,将完全图每…

Java--对象内存布局

在HotSpot虚拟机中,对象在内存中的存储布局可以分为3块区域:对象头部、实例数据、对齐填充。 一、对象头部Header的布局 Mark WordClass 指针在32位系统下,上面两部分各占4B; 在64位系统中,Mark Work占4B,class指针在…

Apollo进阶课程㊸丨Apollo实战——障碍物感知和路径规划能力实战

原文链接;进阶课程㊸丨Apollo实战——障碍物感知和路径规划能力实战 环境感知在自动驾驶汽车应用中占据了核心地位。一辆车要实现自动驾驶,障碍物感知是最基础也是最核心的功能。 上周阿波君为大家详细介绍了「进阶课程㊷丨Apollo实战——车辆与循迹驾驶能力实战」…

3.1)深度学习笔记:机器学习策略(1)

目录 1)Why ML Strategy 2)Orthogonalization 3)Single number evaluation metric 4)Satisficing and optimizing metrics 5)训练/开发/测试集划分(Train/dev/test distributions) 6&…

接口和抽象类是否继承了Object

我们先看一下Java的帮助文档对于Object的描述: Class Object is the root of the class hierarchy. Every class has Object as a superclass. All objects, including arrays, implement the methods of this class. Object 类是类层次结构的根类。每个类都使用 …

3.2)深度学习笔记:机器学习策略(2)

目录 1)Carrying out error analysis 2)Cleaning up Incorrectly labeled data 3)Build your first system quickly then iterate 4)Training and testing on different distributios 5)Bias and Variance with m…

4.1)深度卷积网络:卷积神经网络基础

目录 1)Computer vision 2)Edge detection example(理解) 3)More edge detection 4)Padding(重点) 5)Strided convolutions(重点) 6&#x…

4.2)深度卷积网络:实例研究

目录 1)Why look at case studies? 2)Classic networks(理解) 3)ResNets(理解) 4)Why ResNets work?(经典) 5)Networks in Networks and 1…

10种常见的软件架构模式

有没有想过要设计多大的企业规模系统?在主要的软件开发开始之前,我们必须选择一个合适的体系结构,它将为我们提供所需的功能和质量属性。因此,在将它们应用到我们的设计之前,我们应该了解不同的体系结构。 什么是架构模…

4.3)深度卷积网络:目标检测

目录 1)Object localization(重点) 2)Landmark detection 3)Object detection 4)Convolutional implementation of sliding windows 5)Bounding box prediction(重点&#xff0…