从零开始学习Apollo和autoware自动驾驶路径规划-环境配置
前面,每个人遇到的问题不一样,这里记录了配置步骤和目前遇到的问题,会持续更新报错解决方法。配置时有报错请认真看报错经验。可选的安装步骤可以先跳过。
环境配置步骤(经过测试,18.04和20.04都可以,博主目前系统是18.04)
0.前言
ubuntu18.04用系统自带的python2.7(也可以安装conda,学习其他项目)
ubuntu20.04用conda创建的python3.7
1.更新镜像源
需要双系统,虚拟机没有测试过(群友说虚拟机跑不了carla),如果是刚安装完ubuntu系统,首先要更新镜像源。ubuntu18.04的清华源和ubuntu20.04的清华源是不一样的,这个自行百度即可,比较简单。
2.安装gcc,g++
这里我们以ubuntu20.04的gcc,g++安装为例子:
(1)打开sources.list
sudo gedit /etc/apt/sources.list
(2)增加
deb http://cn.archive.ubuntu.com/ubuntu xenial main
(3)执行
sudo apt-get update
(4)其次,安装gcc 与 g++:
sudo apt-get install gcc-9 g++-9
sudo apt-get install gcc-10 g++-10
ubuntu18.04的gcc,g++没有9和10的版本,安装可以自行百度。
3.安装ros
网上教程太多啦,你们可以根据自己的系统安装对应的ros版本。建议不要用ubuntu16,因为我没试过,用18或者20,也就是melodic和noetic。
如果感觉费劲,群友推荐鱼香ros一键安装。
4.安装osqp求解器(与ubuntu系统版本和ros无关)
git clone https://gitee.com/xiacanming/osqp-0.5.0.git
cd osqp-0.5.0
mkdir build && cd build
cmake ../
make
sudo make install
git clone https://gitee.com/xiacanming/osqp-eigen-0.4.1.git
cd osqp-eigen-0.4.1
mkdir build && cd build
cmake ../
make
sudo make install
#Clean(可选,就是删除下载的安装包)
sudo apt-get clean && rm -rf /var/lib/apt/lists/*
sudo rm -fr osqp
sudo rm -fr osqp-eigen
这里注意osqp版本是0.5.0,有些人的版本太高编译会报错。
5.安装依赖库:ADOL-C(与ubuntu系统版本和ros无关)
先安装Colpack
git clone http://github.com/CSCsw/ColPack.git
cd ColPack/build/automake
autoreconf -vif
mkdir build
cd build
../configure --prefix=/usr/local
make -j
sudo make install
再安装ADOL-c
sudo apt-get install libboost-all-dev
git clone -b releases/2.6.3 http://github.com/coin-or/ADOl-C.git
cd ADOl-C
sudo ./configure prefix=/usr/local
sudo make -j8
sudo make install
安装完检查/usr/local/include有没有adolc相关的头文件,还有/usr/local/lib或者/usr/local/lib64有没有adolc相关的lib文件。
6.安装依赖库:ipopt求解器(与ubuntu系统版本和ros无关)
最近发现ipopt自带的库下载链接失效,所以此包安装麻烦一些,先执行:
sudo apt-get update
sudo apt-get install cppad gfortran
我是用命令行直接安装的:
sudo apt-get install coinor-libipopt-dev
源码安装和其他说明请参考,不建议源码安装,都直接命令行吧:
运行报错可以参考文章第15点的报错!!!
7.安装qpoases求解器(与ubuntu系统版本和ros无关)
群文件夹insatll里面的install_qp_oases.sh
sudo ./install_qp_oases.sh
8.安装其他ros包依赖(与ubuntu系统版本和ros有关)
运行群文件夹insatll里面的install_base.sh
sudo ./install_base.sh
注意,群文件的是写了ros-melodic或noetic,反在要改成自己系统对应的ros版本(ros2也一样),然后再运行。有安装完ros的话,里面的包应该都能找到,找不到先试试sudo apt-get update一下源,先确保ros版本对应上!
9.安装yaml读取(与ubuntu系统版本和ros无关)
这里要注意yaml版本,不能高于0.6.0,否则报错。原来有autoware环境可以先不安装,因为配置autoware环境的时候会安装yaml,如果遇到版本问题,就换。
git clone -b yaml-cpp-0.6.0 https://gitee.com/wuzhouhai/yaml-cpp.git
pushd yaml-cpp
mkdir build && cd build
cmake .. -DBUILD_SHARED_LIBS=ON
make
sudo make install
#Clean(可选,只是删除安装包)
sudo apt-get clean && rm -rf /var/lib/apt/lists/*
sudo rm -fr yaml-cpp
10 安装cmake 3.12 (看情况安装)
前提是编译有cmake版本不匹配的报错,否则不用改版本,裸机安装就安装这个版本保险。
wget https://cmake.org/files/v3.12/cmake-3.12.0.tar.gz --no-check-certificate
tar -xf cmake-3.12.0.tar.gz
cd cmake-3.12.0/
./configure --prefix=/usr/local/cmake
make && sudo make install
sudo ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
如果执行上述命令报“ln: failed to create symbolic link ‘/usr/bin/cmake’: File exists”错误,显示已有软连接(‘/usr/bin/cmake’),则执行如下命令删除软链接(软连接/usr/bin/cmake’仅为示例,请用户以实际情况为准)
sudo rm -rf /usr/bin/cmake
验证版本
cmake --version
11 安装g2o(基础代码版本可跳过,整套才需要)
该安装主要是增加teb规划模块导致的:
先
sudo apt-get install cmake libeigen3-dev libsuitesparse-dev libqglviewer-dev-qt5
如果用的conda,里面如果已经安装了qt,那么就不用安装libqglviewer-dev-qt5,安装了libqglviewer-dev-qt5可以将其卸载。
再
git clone -b 20200410_git https://github.com/RainerKuemmerle/g2o.git
cd g2o
mkdir build
cd build
cmake ..
make
sudo make install
如果编译出现cmake版本的问题,改Cmakelist文件里面的版本就行,比如3.14改为3.12。
如何卸载sudo make install安装的包,以g2o为例,一般安装的头文件在/usr/local/include,lib在/usr/local/lib或者/usr/local/lib64,所以删掉安装的就行。
以卸载g2o为例:
sudo rm -r /usr/local/include/g2o //删除g2o的头文件,位于/usr/local/include/g2o下
sudo rm -r /usr/local/lib/libg2o* //删除g2o的库文件,位于/usr/local/lib下
sudo rm -r /usr/local/bin/g2o* //删除g2o的可执行文件,位于/usr/local/bin下
sudo rm -r /usr/local/lib/cmake/g2o //g2o在cmake中不存在相关文件 别的库可能会存在 记录一下供参考
12.改路径(必做)
快速运行文档里面的运行编译第一点有提。不然会报YAML相关的错误。
13 安装protobuf (必做)
https://blog.csdn.net/weixin_39735688/article/details/124511283
14 carla联合仿真环境配置(基础代码版本可跳过,整套才需要,不跑carla的也可以忽略)
Ubuntu18.04使用carla0.9.11联合仿真搭环境教程
15.安装matplotcpp(可选)
不用代码画图可以不用安装,ubuntu18.04才需要运行,ubuntu20.04系统好像自带了,可以先不用安装。
# 安装python2.7
sudo apt-get install python2.7-dev
# 安装pip2
sudo add-apt-repository universe
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
sudo python2 get-pip.py
# 安装tk
sudo apt-get install python-tk
# 安装matplotlib
sudo pip2.7 install matplotlib
注意
编译的时候,先编译msgs包,整套的话是:
catkin build object_msgs waypoint_msgs carla_msgs
基础代码是:
catkin build object_msgs
然后再整体编译
catkin build