2017年7月5日,百度举行了AI开发者大会,在会上发布了Apollo项目,并进行了演示,该项目在Github上已经能够被访问。出于一个程序员的好奇,昨天试玩了一把,确实不错。

  http://apollo.auto/,这个是阿波罗的首页,感兴趣的可以注册成为开发者。https://github.com/ApolloAuto/apollo这个时候github的地址。装了个ubuntu,然后建一个目录。git clone https://github.com/ApolloAuto/apollo.git 克隆下来以后运行下面几个命令。

bash docker/scripts/install_docker.sh
bash docker/scripts/dev_start.sh
bash docker/scripts/dev_into.sh

  第一个命令是安装docker,注意不要使用sudo,也不建议使用root账号。

  第二个命令是开始部署开发环境,就是一堆的docker pull,这个时候需要等很久,如果你有一个好点的网络环境可能会快很多,我是运行了大半天。

  运行好是下面的界面。

hackcat@hackcat-VirtualBox:~/source/apollo$ bash docker/scripts/dev_start.sh
dev-latest: Pulling from apolloauto/apollo
Digest: sha256:4119d0e023d773a5e47a68f31da41ee26a2173a84ae485bf65d39714736c710b
Status: Image is up to date for apolloauto/apollo:dev-latest
apollo_dev
apollo_dev
[sudo] hackcat 的密码:
/home/hackcat/source/apollo/data/core/core_%e.%p
[WARNING] Failed to find device with pattern "ttyUSB*" ...
[ OK ] Found device: /dev/ttyS31.
[ OK ] Found device: /dev/ttyS30.
[ OK ] Found device: /dev/ttyS29.
[ OK ] Found device: /dev/ttyS28.
[ OK ] Found device: /dev/ttyS27.
[ OK ] Found device: /dev/ttyS26.
[ OK ] Found device: /dev/ttyS25.
[ OK ] Found device: /dev/ttyS24.
[ OK ] Found device: /dev/ttyS23.
[ OK ] Found device: /dev/ttyS22.
[ OK ] Found device: /dev/ttyS21.
[ OK ] Found device: /dev/ttyS20.
[ OK ] Found device: /dev/ttyS19.
[ OK ] Found device: /dev/ttyS18.
[ OK ] Found device: /dev/ttyS17.
[ OK ] Found device: /dev/ttyS16.
[ OK ] Found device: /dev/ttyS15.
[ OK ] Found device: /dev/ttyS14.
[ OK ] Found device: /dev/ttyS13.
[ OK ] Found device: /dev/ttyS12.
[ OK ] Found device: /dev/ttyS11.
[ OK ] Found device: /dev/ttyS10.
[ OK ] Found device: /dev/ttyS9.
[ OK ] Found device: /dev/ttyS8.
[ OK ] Found device: /dev/ttyS7.
[ OK ] Found device: /dev/ttyS6.
[ OK ] Found device: /dev/ttyS5.
[ OK ] Found device: /dev/ttyS4.
[ OK ] Found device: /dev/ttyS3.
[ OK ] Found device: /dev/ttyS2.
[ OK ] Found device: /dev/ttyS1.
[ OK ] Found device: /dev/ttyS0.
[ OK ] Found device: /dev/can0.
[WARNING] Failed to find device with pattern "ram*" ...
[ OK ] Found device: /dev/loop7.
[ OK ] Found device: /dev/loop6.
[ OK ] Found device: /dev/loop5.
[ OK ] Found device: /dev/loop4.
[ OK ] Found device: /dev/loop3.
[ OK ] Found device: /dev/loop2.
[ OK ] Found device: /dev/loop1.
[ OK ] Found device: /dev/loop0.
[ OK ] Found device: /dev/loop-control.
4ffca0c5dc8efb214a3a41a63d395330c12736bd5a43247e78c60e638fa0357a
Adding user `hackcat' ...
Adding new group `hackcat' (1000) ...
Adding new user `hackcat' (1000) with group `hackcat' ...
The home directory `/home/hackcat' already exists. Not copying from `/etc/skel'.

  第三个命令是进入到docker容器中。

  进到容器中了。

hackcat@in_dev_docker:/apollo$ 

  

  至此,整个docker就搞完了,接下来就需要编译阿波罗了。

  进入到容器后,运行以下命令进行编译。

  

bash apollo.sh build

  漫长的等待啊,电脑性能要好点,我是等了一晚上,不知道几点搞好的,因为是虚拟机,分配的CPU内存都不多。至少40G硬盘吧。

  编译好以后就可以在里面运行阿波罗了。

  

bash scripts/hmi.sh

  打开人机交互界面。注意,不编译也能得到下面的结果,但网页打不开,看了下log是缺少各种文件。

  

hackcat@in_dev_docker:/apollo$ bash scripts/hmi.sh
Start roscore...
HMI ros node service running at localhost:
HMI running at http://localhost:8887
hackcat@in_dev_docker:/apollo$

  用谷歌浏览器访问。 http://localhost:8887

  

  打开以后是这样子的。左边的setup做两部操作,第一确定目前软件模块都已正确加载,即Debug列表中的模块,GPS驱动,控制器,总线,定位,Dreamview,数据记录等,第二步是确定GPS模块和CAN总线模块(这些是硬件模块)都已经安装,并能正常通信。然后就可以进行Record了,Record应该就是驾驶员驾驶车辆在封闭道路进行行驶,阿波罗记录数据。开始行驶的时候点击Start,行驶完了点击Stop。下面的Quick Play是执行刚才录制的轨迹,进行自动驾驶。有点像电脑上的屏幕录像脚本。

  硬件相关信息百度也提供了文档,感兴趣的同学可以去购买一些来,据说三天就能打造出一辆自动驾驶汽车来。唯一苦恼的是,车辆需要有专业的总线技术服务公司来帮助我们进行对接,这个像我等屌丝去哪里找??

  https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_1_0_hardware_system_installation_guide.md#prerequisites,这个是硬件安装步骤。

  • The vehicle must be modified for “drive-by-wire” technology by a professional service company. Also, a CAN interface hookup must be provided in the trunk where the IPC will be mounted.

Apollo框架试玩的更多相关文章

  1. Apollo自动驾驶框架试玩

    2017年7月5日,百度举行了AI开发者大会,在会上发布了Apollo项目,并进行了演示,该项目在Github上已经能够被访问.出于一个程序员的好奇,昨天试玩了一把,确实不错. http://apol ...

  2. ESP32 LyraT音频开发板试玩(一):搭建开发环境

    我是卓波,很高兴你来看我的博客. 系列文章: ESP32 LyraT音频开发板试玩(一):搭建开发环境 ESP32 LyraT音频开发板试玩(二):播放音乐 关于ESP32的开发环境搭建,官方有教程, ...

  3. HTML5+JS 《五子飞》游戏实现(七)游戏试玩

    前面第一至第六章我们已经把<五子飞>游戏的基本工作都已经讲得差不多了,这一章主要是把所有的代码分享给大家,然后小伙伴们也可以玩一玩. 至于人机对战的我们放到后面讲进行分析. 试玩地址:ht ...

  4. 一个小玩意 PHP实现微信红包金额拆分试玩

    <meta charset="utf-8"> <?php // 新年红包金额拆分试玩 class CBonus { public $bonus;//红包 publ ...

  5. 1.2G内存试玩RAMOS_XP

    1.2G内存试玩RAMOS_XP1.为了防止做系统时出现意外,用Bootice把C盘MBR修改为Grub4dos,这样子系统如果失败,可以进入PE重做. 2.进入PE格式化C盘,格式化的时候勾选启用N ...

  6. 8个经典的HTML5游戏在线试玩及源码学习

    原文地址:http://www.oschina.net/news/32364/html5-games 游戏,毫无疑问是拿来供大家娱乐玩耍的,这也无可厚非,但是,今天给大家分享的8个HTML5游戏,在好 ...

  7. 发布到FaceBook试玩广告,FaceBook要求要一个Html文件

    Facebook 试玩广告具体要求: 试玩广告参数是创建试玩广告素材时要满足的要求. 试玩素材应为 HTML5 格式. 试玩广告素材不应使用 mraid.js 格式. 包含所有素材的试玩广告的单个 H ...

  8. Vulcan 基于Meteor的APollO框架 , grapesjs 用于可视化生成Html 页面

    Vulcan 基于Meteor的APollO框架 :http://vulcanjs.org/ grapesjs 用于可视化生成Html    http://grapesjs.com/

  9. [试玩] FMXLinux (Firemonkey for Linux) Linux 桌面开发(第三方插件)

    FMXLinux 是一个可以用来开发 Linux 桌面软件的第三方插件,它需要配合 Delphi 10.2 Toyko 官网:http://www.fmxlinux.com/ 使用方法:开启 FMX ...

随机推荐

  1. 【设计模式】之开闭原则(OCP)

    开闭原则是面向对象设计的一个重要原则,其定义如下: 开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭.即软件实体应尽量在不修改原有代码的情况下进 ...

  2. stm32之IIC通信协议

    I2C(IIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备. 它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数 ...

  3. 使用 Hive装载数据的几种方式

    装载数据 1.以LOAD的方式装载数据 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION( ...

  4. div,css命名规范!

    命名规则说明: 1).所有的命名最好都小写 2).属性的值一定要用双引号("")括起来,且一定要有值如class="pcss5",id="pcss5& ...

  5. 3D旋转动画练习 demo

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. C++构造函数(一)

    本篇是介绍C++的构造函数的第一篇(共二篇),属于读书笔记,对C++进行一个系统的复习. 构造函数的概念和作用 全局变量未初始化时为0,局部变量未初始化时的值却是无法预测的.这是因为,全局变量的初始化 ...

  7. Java线程池入门必备

    线程池 一. 线程池的简介 1.什么是线程池?   最早期的工作线程处理任务的模型.一个任务的到来,会伴随着线程的创建,当处理完任务后,线程会被销毁,资源回收.这种一个任务一个线程一系列创建销毁的模式 ...

  8. JavaScript事件与例子(三)

    两个例子,好友选中效果和左侧右侧子菜单 一.好友选中效果 可以通过设置属性的方式判断当前是否被选中,也可以通过获取当前元素的颜色从而得知当前元素状态是否被选中,从而进行操作 1.通过设置属性的方式判断 ...

  9. excel转html 实现在线预览

    首先说一下,本人发布的代码都是经过本人亲测,并且用在实际项目中.如果觉得可以,希望大家点个赞,谢谢大家. 有什么问题,大家评论出来,一起交流.好了,不废话了,下面来说一说这个东西怎么做. 网上也有许多 ...

  10. centos yum 没有可用软件包 nginx。

    新装的centos7中没有nginx的镜像源 因为nginx位于第三方的yum源里面,而不在centos官方yum源里面 解决方案: 安装epel: 去epel官网: http://fedorapro ...