apollo平台(1.5)目前是基于ros框架来实现,外围丰富了各种自己的感知、认知、决策、规划模块。
docker 环境配置
bash docker/scripts/install_docker.sh
install_docker.sh主要完成:
- 升级ubuntu内核;
- apt添加docker list,安装docker-engine;
- 将用户添加到docker组中,可以不用sudo来执行相关docker命令。
# logout and login the computer to make sure to run docker command without sudo
需要logout一下,可以不用sudo来执行相关docker命令。
bash docker/scripts/dev_start.sh
dev_start.sh主要完成:
- docker pull,可以选择在国内的仓库下载镜像IMG;
- 启动nvidia、CAN设备;
- 启动docker 容器;
- 容器中执行脚本,/apollo/scripts/docker_adduser.sh。
/apollo/scripts/docker_adduser.sh
容器中:
- 执行一些组相关的命令;
- /dev/ttyUSB0,/dev/video0设备相关;
- 在容器中解压缩ros indigo;
- 设置ros包相关的权限和组等。
bash docker/scripts/dev_into.sh
- 允许容器访问主机的X server;
- 进入docker交互式shell,-it
编译模块
bash apollo.sh build
主要完成:
- source_apollo_base():source apollo_base.sh
- apollo_check_system_config():检测系统内存必须2G以上
- check_machine_arch():修改WORKSPACE.in中的MACHINE_ARCH为x86_64
- check_esd_files():esd can
- apollo_build_dbg()
阿波罗使用的是Google的Bazel工具,对应的WORKSPACE.in中包含的模块包括,
googletest,gflags,glog,Google Benchmark,google cpplint,eigen,CivetWeb,curlpp,ros,OpenCV,PCL,Caffe,YAML-CPP,IpOpt,Proj.4,tinyxml2,protobuf。
运行apollo
bash scripts/bootstrap.sh
- 启动roscore
- bash scripts/dreamview.sh:启动dreamview进程
run dreamview "$@"
nohup command &
然后通过 http://localhost:8888访问web前端。