Carla是一個開源的自動駕駛測試框架,類似於Airsim。如果你搜索到了這篇文章,你應該已經大概知道carla是做什么的了。
Carla有pre built binary,Linux和Windows平台的都有,也有官方的build tutorial,我自己嘗試了下在Windows下的編譯。結果第一步就出現了compiler error,因為懶所以我干脆用了他的官方二進制。
https://github.com/carla-simulator/carla/releases
在0.9.5有Windows的二進制下載
解壓后打開root directory的可執行文件,會產生一個類似下圖的可交互界面。
這時候產生的是一個Server,是一個world。你可以用wasd和鼠標控制Ego的視角,到處飛行。
在PythonAPI文件夾下有一個叫example的文件夾,里面有一些python實列文件可以展示設置client和server進行交互。
當然,我們今天說的是要和ROS bridge交互。0.9.5的ROS bridge可以在下邊的鏈接下載
https://github.com/carla-simulator/ros-bridge/releases
下載解壓以后,具體如何編譯和使用都在一下可以找到
https://github.com/carla-simulator/ros-bridge
對我來說因為我想在VM里運行ROS bridge(為什么?因為這是組里的決定。。。),所以比一般的要麻煩一點。
其他的基本無所謂,最關鍵的是這兩步,如果你想在VM里運行ROS bridge
export PYTHONPATH=$PYTHONPATH:<path-to-carla>/PythonAPI/carla/dist/carla-<carla_version_and_arch>.egg
source ~/carla-ros-bridge/catkin_ws/devel/setup.bash
第一,這個<path-to-carla>的變量,是你需要下載一個Linux版的Carla,然后解壓縮以后的root directory。
第二,carla-<carla_version_and_arch>.egg就是Linux虛擬機上這個egg文件的名稱,這個egg文件在carla的文件夾里。
然后你就可以運行ROS bridge了:roslaunch carla_ros_bridge carla_ros_bridge.launch
這里也有一個東西,因為VM和主機不是一個localhost,所以你需要改一下lauch文件里的host,把localhost改成10.0.2.2,這個就是主機在虛擬機網絡里主機的地址。
最后可以用ROS bridge玩一玩carla。可以嵌入攝像頭和Lidar傳感器,還有lane invasion和obstacle傳感器,這兩個應該是融合的。
如果你不需要在VM下運行ROS bridge,這個搭建過程會簡單很多