从零开始学习自动驾驶路径规划-环境配置

从零开始学习Apollo和autoware自动驾驶路径规划-环境配置

前面,每个人遇到的问题不一样,这里记录了配置步骤和目前遇到的问题,会持续更新报错解决方法。配置时有报错请认真看报错经验

环境配置步骤(18.04和20.04都可以,有些问题没遇到就好)

1.更新镜像源
首先要更新镜像源吧,比如ubuntu20.04的清华源。百度一堆:ubuntu20.04的清华源.
2.安装gcc,g++
这里,我们要另外添加一个软件源,以安装gcc,g++。我这里讲的是ubuntu20的gcc,g++安装,18的好像没有9和10的版本,记得是7的,不过你们自己安装好这两个编译器就行,自行百度。

sudo gedit /etc/apt/sources.list

增加

deb http://cn.archive.ubuntu.com/ubuntu xenial main

注意这个源是ubuntu20的,18的可能不一样。
执行

sudo apt-get update

其次,安装gcc 与 g++:

sudo apt-get install gcc-9 g++-9
sudo apt-get install gcc-10 g++-10

3.安装ros和python3环境
网上教程太多啦,你们可以根据自己的系统安装对应的ros版本。我的是ubuntu20.04,安装的是ros-noetic。建议不要用ubuntu16,因为我没试过,用18或者20,也就是melodicnoetic

4.安装osqp求解器
运行/src/planning/installers里面的install_osqp.sh

sudo ./install_osqp.sh

5.安装依赖库:ADOL-C
先按方法一(可能有版本不匹配问题)做,如果报错或者运行有问题再卸载重新用方法二
方法一:
先安装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

git clone  -b  releases/2.6.3 http://github.com/coin-or/ADOl-C.git
解压进入文件夹
sudo ./configure prefix=/usr/local
sudo make -j8
sudo make install

方法二:
运行/src/installers里面的install_adolc.sh
打开install_adolc.sh文件,先修改如下图所表标红色的路径为自己电脑下载ADOL-C-2.6.3的绝对路径,比如/home/xx/Auto_driving/src/install/ADOL-C-2.6.3,不然会找不到lib64。在这里插入图片描述 然后执行:

sudo ./install_adolc.sh

6.安装依赖库:ipopt求解器

最近发现ipopt自带的库下载链接失效,所以此包安装麻烦一些
先来两句

sudo apt-get update
sudo apt-get install cppad gfortran

然后参考别人的博客,我是用命令行直接安装的:
Ubuntu20.04 安装 Ipopt + cppAD流程,一键到底没有废话(复制流攻略)
运行报错可以参考文章第15点的报错
7.安装matplotcpp
运行/src/installers里面的install-matplotcpp.sh

sudo ./install-matplotcpp.sh

8.安装其他ros包依赖
运行/src/installers里面的install_base.sh

sudo ./install_base.sh

注意,里面有ros-melodic,是针对ros-melodic版本的,noetic版本要改成ros-noetic。

9.安装Qt5 (可选)
参考:https://blog.csdn.net/Joker__123/article/details/122438138

10.安装qpoases求解器

sudo ./install_qp_oases.sh

11.安装yaml读取(0.6.0版本示例,0.5.2版本也可以,如编译过autoware,需要卸载)

sudo ./install_yaml.sh

12 安装cmake 3.12
前提是有报错:

否则不用改版本,裸机安装就安装这个版本保险。

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

13 carla联合仿真,没有的跳过

Ubuntu18.04使用carla0.9.5联合仿真搭环境报错

报错经验

1

CMake Error at /opt/ros/noetic/share/catkin/cmake/empy.cmake:30 (message):
  Unable to find either executable 'empy' or Python module 'em'...  try
  installing the package 'python3-empy'

注意,因为我安装了conda环境,在base下编译的,所以才可能出现这个问题,解决方法:

pip install empy

2

ImportError: "from catkin_pkg.package import parse_package" failed: No module named 'catkin_pkg'
Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
CMake Error at /opt/ros/noetic/share/catkin/cmake/safe_execute_process.cmake:11 (message):
  execute_process(/usr/local/anaconda3/bin/python3
  "/opt/ros/noetic/share/catkin/cmake/parse_package_xml.py"
  "/opt/ros/noetic/share/catkin/cmake/../package.xml"
  "/home/cg/Automatic_driving/build/catkin_tools_prebuild/catkin/catkin_generated/version/package.cmake")
  returned error code 1

注意,因为我安装了conda环境,在base下编译的,所以才可能出现这个问题,解决方法:

pip install catkin_pkg

catkin build 

3

/usr/bin/ld: /lib/x86_64-linux-gnu/libapr-1.so.0: undefined reference to `uuid_generate@UUID_1.0'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/ui_console.dir/build.make:150/home/cg/Automatic_driving/devel/.private/ui_console/lib/ui_console/ui_console] 错误 1
make[1]: *** [CMakeFiles/Makefile2:166:CMakeFiles/ui_console.dir/all] 错误 2
make: *** [Makefile:141:all] 错误 2

这个错误的原因,还是因为有了conda环境,QT引用的是anaconda里的qt,因为我在ui_console里面用了qt画图,当然,你可以把这个文件夹删除,也可以解决。解决方法:

到anaconda安装文件夹下的anaconda/lib下:

sudo mkdir libuuid_bk
mv libuuid* libuuid_bk/

4

Traceback (most recent call last):
  File "/opt/ros/noetic/lib/joint_state_publisher/joint_state_publisher", line 35, in <module>
    import rospy
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/__init__.py", line 49, in <module>
    from .client import spin, myargv, init_node, \
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/client.py", line 52, in <module>
    import roslib
  File "/opt/ros/noetic/lib/python3/dist-packages/roslib/__init__.py", line 50, in <module>
    from roslib.launcher import load_manifest  # noqa: F401
  File "/opt/ros/noetic/lib/python3/dist-packages/roslib/launcher.py", line 42, in <module>
    import rospkg
ModuleNotFoundError: No module named 'rospkg'

这个错误的原因,还是因为有了conda环境,解决方法:

pip install rospkg

5
找不到链接库,不管是ladolclibqpOASES还是其他l开头或者lib开头的。解决办法:
a.打开**/etc/ld.so.conf**文件:

sudo gedit /etc/ld.so.conf

b.加入动态库文件所在的目录:在include ld.so.conf.d/*.conf下方增加

/usr/local/lib

如果在其他目录就添加其他目录的。
c.保存后,在命令行终端执行:

sudo ldconfig

6

chmod o+x ./xxx.sh

再执行

sudo ./xxx.sh

7
在这里插入图片描述
这是github不好下,重新运行或者梯子。

8
在这里插入图片描述
先单独编译object_msgs包,

catkin build object_msgs

再整体编译
9
在这里插入图片描述
先单独编译derived_object_msgs包

catkin build derived_object_msgs

再整体编译

10
在这里插入图片描述
检查cmake版本,版本要求是3.12

11
在这里插入图片描述
sudo apt-get install ros-noetic-uuid-msgs
或者
sudo apt-get install ros-melodic-uuid-msgs

12
在这里插入图片描述
sudo apt-get install ros-noetic-ackermann-msgs
或者
sudo apt-get install ros-melodic-ackermann-msgs

13
在这里插入图片描述
sudo apt-get install ros-noetic-derived-object-msgs
或者
sudo apt-get install ros-melodic-derived-object-msgs

14
在这里插入图片描述

sudo apt-get install ros-noetic-vision-msgs
或者
sudo apt-get install ros-melodic-vision-msgs

15

修改/usr/include/coin/IpSmartPtr.hpp:
在这里插入图片描述
增加这两行即可,#define HAVE_CSTDDEF 和#undef HAVE_CSTDDEF

16
在这里插入图片描述

sudo apt-get install libasio-dev libtinyxml2-dev

猜你喜欢

转载自blog.csdn.net/weixin_39735688/article/details/131876243