标签:文件拷贝 进制 搜索 一点 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:<path-to-carla>/PythonAPI/carla/dist/carla-<carla_version_and_arch>.egg
source ~/carla-ros-bridge/catkin_ws/devel/setup.bash
第一,因为你的<path-to-carla>在Windows系统上,所以需要先设置一个shared directory,这个就是Windows上carla的文件夹,然后在虚拟机上挂载这个文件夹。最后记得在/mnt下看看文件夹是否已经被挂载。
然后当然第一个修改PYTHONPATH的命令需要把<path-to-carla>写成/mnt里的carla文件夹。
第二,carla-<carla_version_and_arch>.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