# easy apollo
链接:GitHub - yangmingustb/easy_apollo
这个仓库yangming开发, 早期的软件版本依赖apollo 7.0, 完全使用cmake 编译,不再依赖docker.
开发这个仓库,期望可以一键安装和部署apollo,更容易使用
# 主要更新
- 编译规则使用cmake;
- 程序运行不再依赖docker,而是可以直接在ubuntu 18/20运行;
- 适配c++17;
- 增加快速碰撞检测系统,gjk/epa/bvh,由张玉博士、我在2019-2020年开发,可以参考(https://arxiv.org/abs/2011.09117), 可以将系统耗时2秒降低为20毫秒;
- 增加2d的交互界面,用来实时调试系统状态;
- 增加仿真底盘,用来测试决策规划控制;
- 增加path decision调试工具;
- 增加speed decision调试工具;
- 增加record解析脚本;
- 增加log文件解析脚本;
- 通过cyber rt c++/python版本,实时订阅cyber 消息,并且完成解析,可以实时分析问题或者单步调试问题;
- hmi可以自主添加障碍物,并且可以控制障碍物的运动状态;
- hmi可以自主控制红绿灯,并且可以发布红绿灯;
- 增加路由点的配置文件,自动化读取;
- 跟车不使用单一的跟车距离,引入了st point of interest,来生成可变的可行驶区域;
- 限速优化,限速构成的边界考虑到车辆速度,不然速度优化经常无解;
- 修复routing lane change的bug;
如果你想不依赖docker,不依赖bazel,而是直接在linux上运行,依赖cmake编译,那么可以尝试我这个版本。并且,这个版本主要是为规划控制开发,并且新增加了一些自己的工具,不管是仿真测试算法,还是实车测试,都是不错的。
# 软件依赖
基本库:
1. ubuntu 18.04/20.04 (不要尝试2204,各种编译不了的问题)
1. eigen 3.3.7 (可以使用脚本安装)
1. google test 1.10.0
1. glog 0.50 (apt install)
1. benchmark 1.6.0
1. c++ 17
1. cmake
2. g++-9.4.0,ubuntu 1804默认是7.5.0,一定要使用9.4.0,不然很多库无法编译,除非在其他版本的gcc下面重新编译所有库
3. gcc-9.4.0;
5. git
6. canlib,v5.43.47
7. python,3.6, ubuntu 20.04是3.8,ubuntu 18.04是3.6,
1. opengl
apollo 7.0依赖的库:
1. protobuf (3.14,需要cmake 编译安装)
1. gflags,2.2
1. tinyxml2
1. boost (1.65), apt install
1. osqp(下载gitee的库source code安装),apollo 8.0 默认使用osqp 0.5.0版本
1. ipopt,3.11.9,need to apt install
1. adolc,2.6.3(apt install)
1. proj 5.0在third party中;本来想安装到third party中,名字是proj.so.13,编译可以通过,但是一运行就报错。
目前apt install 到/usr/,但是open cv4.2基于proj.so.15,所以,只需要安装opencv即可。
3. openmp,ubuntu2204自带这个库
4. opencv 4.2,
使用4.2会存在和proj4的链接冲突。源码安装4.2.0,opencv依赖gdal,gdal依赖proj4,所以,只需要安装opencv即可。
1. torch,1.10.0测试,在ubuntu2004上可以编译,可以加载模型,可以使用静态库链接torch,simulator可以正常运行。
1. ad_rss_lib,1.1.0
1. protobuf,3.14
1. fastrtps,1.5.0
1. fast cdr,1.0.7
1. abseil, 20200225.2
1. json,3.8.0
1. civetweb
1. poco,1.9.0
1. pcl
1. yaml-cpp
1. ncurses
1. tf2,0.5.16
# 环境配置
* 到github下载源码
* 安装其他库
cd install_scripts
bash install_dependence.sh
* 编译
mkdir build
<!-- 在easy_apollo 目录下,运行脚本文件 -->
./x86_compile.sh
* 运行
cd build
./launch_simulator.sh