Carla for Windows以及和虚拟机里ROS Bridge的交互

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,这个搭建过程会简单很多

posted on 2020-03-04 03:41  Symbiosis  阅读(2644)  评论(1编辑  收藏  举报

导航