背景
CARLA软件是英特尔公司主导的,基于虚幻4游戏引擎,用于自动驾驶仿真的一款开源仿真软件,该软件可以模拟激光雷达,摄像头等等自动驾驶中常用的传感器的行为以及获取传感器数据,从而加快我们在自动驾驶中对于我们的感知算法、建图算法等等的验证效率。CARLA软件开放了Python编程API,需要我们在自己的python环境中配置egg文件,从而使用CARLA的Python API接口。
开发环境
- Ubuntu 16.04
- CARLA 0.9.9.4 (不限版本,只要去官网下载下来的版本有提供egg包即可)
- Ubuntu 16.04自带的python2.7和Python3.5,如果需要使用其他版本,请自行更新
配置过程
下载CARLA linux版本之后,在根目录下的 ./PythonAPI/carla/dist文件夹下存在两个egg文件,分别对应的是python2和python3的库文件,我们打开~/.bashrc文件,在其中加入PYTHONPATH环境变量使得python指向这两个egg文件
gedit ~/.bashrc
在最后一行加入PYTHONPATH
export PYTHONPATH=指向你自己的egg文件路径:$PYTHONPATH
关闭文件,source命令使bashrc文件生效,接下来就可以在对应的python中导入carla模块了
source ~/.bashrc
踩坑
1.ImportError: libpng16.so.16
出现libpng.16.so.16导入错误的时候,需要输入如下的命令解决,如果系统安装了ROS系统,请仔细看一下该命令是否会删除ROS的一些原有库,如果会的话,请换一种方式下载该库,ROS库的删除会导致ROS的一些功能无法使用,慎重!!!(一看就是踩过坑的哈哈)
sudo apt-get install libpng16-16
2.ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version ‘CXXABI_1.3.11’ not found(required by xxx)
此问题主要是因为gcc的版本没有达到要求,具体的升级步骤可以查看Linux GCC版本升级这篇博客,注意,libstdc++.so.6是一个软链接,所以在我们make install之后,我们需要将/usr/local/lib64文件夹下面的libstdc++.so.6.0.26转移到/usr/lib/x86_64-linux-gnu文件夹下,并且更改软链接指向的目标为该文件