Apollo自动驾驶框架试玩

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

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

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

 

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

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

  运行好是下面的界面。docker

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容器中。ubuntu

  进到容器中了。浏览器

hackcat@in_dev_docker:/apollo$ 

  

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

  进入到容器后,运行如下命令进行编译。网络

  

bash apollo.sh build

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

  编译好之后就能够在里面运行阿波罗了。

  

bash scripts/hmi.sh

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

  

hackcat@in_dev_docker:/apollo$ bash scripts/hmi.sh
Start roscore...
HMI ros node service running at localhost:8887
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.
相关文章
相关标签/搜索