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,这个搭建过程会简单很多
来源:oschina
链接:https://my.oschina.net/u/4259287/blog/4460248