从零开始学Apollo自动驾驶:跑起来第一个Demo

围绕着百度开源的Apollo自动驾驶项目展开,重点分析整个项目的框架,核心的计算机视觉感知模块。

  • 下载项目代码

项目主页:https://github.com/ApolloAuto/apollo

git clone https://github.com/ApolloAuto/apollo.git

或者直接Download Zip 然后再解压,这样会快一点。

  • Demo

我们没有实际的硬件,只能跑模拟,
参考下面的手册
https://github.com/ApolloAuto/apollo/tree/master/docs/demo_guide

首先要保证大家的机器上已经成功的安装的docker相关的工具。

具体步骤如下:

  • Start the docker release environment 
bash docker/scripts/dev_start.sh

这一步会首先下载docker 镜像,非常耗费时间,而且还不支持断点续传,timeout中断了,之前的下载就没有了,还得重新下,博主搞了一天才下载成功。估计也跟大家的网速有关。
过程如下:

dev-x86_64-20180830_2013: Pulling from apolloauto/apollo
8284e13a281d: Pulling fs layer 
26e1916a9297: Pulling fs layer 
4102fc66d4ab: Pulling fs layer 
1cf2b01777b2: Waiting 
7f7a2d5e04ed: Waiting 
4485a4546668: Waiting 
f2dedab118af: Waiting 
00b281226c49: Waiting 
bc0c7226b8c9: Pulling fs layer 
420c13db0d6e: Waiting 
611bf0d7fdcd: Pulling fs layer 
e7ede7815bfa: Waiting 
ec6bc81a3ae3: Pulling fs layer 
1b7ca71086fe: Pulling fs layer 
a84b136e0420: Waiting 
9776f2f2c600: Waiting 
1f7d71d6db20: Waiting 
2b7341fa9271: Waiting 
98bb19ed3b9e: Waiting 
678810c01101: Waiting 
046a32619f11: Waiting 
16a4ab4986c3: Waiting 
b66091f7d4e0: Waiting 
6664b38a18b0: Pulling fs layer 
5fb13f702c51: Waiting 
40458a51cf99: Waiting 
13c3bf762416: Waiting 
9c6e6397a99f: Waiting 
dfab65a5e83e: Waiting 
de3dc9874976: Pulling fs layer 
a3eabc0e4e9b: Waiting 
05a645a29c64: Waiting 
a9618d6f75fd: Waiting 
28d5e23561a3: Waiting 
11446b750f54: Pulling fs layer 
a16df225cf4c: Waiting 
c2a2a76c4640: Waiting 
438384cd8f58: Pulling fs layer 
1853decde09b: Waiting 
357f26991e99: Pulling fs layer 
1bbc865bf1bf: Waiting 
1020899a3cd3: Waiting 
d2c4df1eb7df: Waiting 
0861f117c914: Pulling fs layer 
ab803ba43537: Waiting 
32f09862d356: Waiting 
25ada1f7a5d6: Waiting 
0c8804d36113: Waiting 
a5c29467e795: Waiting 
4a60fa819100: Pulling fs layer 
79bb7f3c9506: Waiting 
856674461db7: Waiting 
7bcf048c04b0: Waiting 
d60759c45819: Waiting 
0c3fecf85985: Waiting 
8284e13a281d: Downloading [=======>                                           ]  9.641MB/67.13MB
698b8ad5c1c0: Waiting 
075a67385b8c: Waiting 
8470ee4790d1: Waiting 
c6ea292867aa: Waiting 
5ad590b0dae3: Waiting 
c5fc9aff58c5: Waiting 
5bc88c8d017e: Pulling fs layer 
4091b316cd7d: Waiting 
f36affe90df2: Pulling fs layer 
09aef22d490c: Waiting 
829af1cc2608: Pulling fs layer 
fb0431ed1abe: Waiting 
5c20ca2836e4: Waiting 
7bb1c6c76de7: Waiting 
b4f28c4d6daa: Waiting 
50b700cb32cb: Waiting 
499fece8b42f: Pulling fs layer 
e76c9579e5e1: Waiting 
e229dc37631a: Waiting 
030389befc20: Waiting 
a46505c8fdc1: Waiting 
fcde79242efc: Waiting 
ad1a337fdd17: Waiting 
639ea2ef6100: Waiting 
e0a524a2bd8c: Waiting 
78bfbaeb3cc0: Waiting 
32f179c6f0b0: Waiting 
b504af63cce8: Waiting 
b0c8847b48c0: Waiting 
2e6c8af4b7ca: Pulling fs layer 
2e0af7e1089d: Waiting 
5f47d652f117: Waiting 
bce0151e9ea7: Waiting 
165e31452c4b: Pulling fs layer 
7de1132beb2d: Waiting 
1e4a75d8aa52: Waiting 
5492a8455e49: Pulling fs layer 
40125f250958: Pulling fs layer 
b95e84b65ef1: Waiting 
035583ef139f: Pulling fs layer 
a8b2ff565076: Pulling fs layer 
b294beb81f19: Waiting 
6caa1b2bee2d: Waiting 
4cb527115954: Waiting 
bf4a53a46841: Pulling fs layer 
e25b244b2c11: Waiting

完成之后,会提示下一步如何继续。

  •  Enter the docker release environment
bash docker/scripts/dev_into.sh
  • Build Apollo in the Container:
bash apollo.sh build

    Note: If you do not have a GPU, you can use the following script instead   

bash apollo.sh build_cpu
  •    Bootstrap to start ros call and Monitor module and Dreamview
bash scripts/bootstrap.sh
  • play the rosbag
    sudo python docs/demo_guide/rosbag_helper.py demo_2.0.bag #download rosbag
    rosbag play demo_2.0.bag --loop  #The --loop option enables rosbag to keep playing the bag in a loop playback mode.

博主在启动rosbag时遇到的rosbag命令找不到问题(rosbag: command not found)

解决方法:

source /apollo/bazel-apollo/external/ros/setup.bash
https://github.com/ApolloAuto/apollo/issues/80

正常跑起来之后效果如下:

  • Open Chrome and go to localhost:8888 to access Apollo Dreamview, which opens the screen below

网页上一直提示:Please send car initial position and map data

解决方法:

不使用远程连接,博主刚开始使用另外一台机器上的浏览器打开的demo网页,有问题。直接使用host上的chrome,不建议使用其他浏览器,需要装的插件太多,不方便。

run起来之后,效果如下: 

总体感觉还是很方便的,这都得归功于docker技术的发展啊。

猜你喜欢

转载自blog.csdn.net/szfhy/article/details/82459429