背景
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文件夾下,並且更改軟鏈接指向的目標爲該文件