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

2021-03-17 02:25

阅读:543

标签:文件拷贝   进制   搜索   一点   and   dir   lidar   image   pre   

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:/PythonAPI/carla/dist/carla-.egg
source ~/carla-ros-bridge/catkin_ws/devel/setup.bash

第一,因为你的在Windows系统上,所以需要先设置一个shared directory,这个就是Windows上carla的文件夹,然后在虚拟机上挂载这个文件夹。最后记得在/mnt下看看文件夹是否已经被挂载。

然后当然第一个修改PYTHONPATH的命令需要把写成/mnt里的carla文件夹。

第二,carla-.egg 需要被替换成和你VM版本一致的Egg文件。因为主机是Windows,二进制的egg也是for windows, 所以额外下载一个Linux的binary,把里面的egg文件拷贝到windows carla相应的路径里。为什么?因为ROS bridge会和这个egg文件交互,执行ROS bridge python脚本的肯定是VM下的Linux的Python Interpreter,所以如果你的egg是Windows版本会有问题,因为某些脚本会执行egg里边的pyd文件。Linux的python执行pyd?你逗我?

 

然后你就可以运行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,这个搭建过程会简单很多

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

标签:文件拷贝   进制   搜索   一点   and   dir   lidar   image   pre   

原文地址:https://www.cnblogs.com/symbiosis/p/12406510.html


评论


亲,登录后才可以留言!