首页/文章/ 详情

可以在Windows运行Carla服务器,在虚拟机里运行Carla客户端吗?

1年前浏览1232
大家好,我是李慢慢。
最近因为OpenSIL项目的事情,一直在折腾Carla,想找到一种适合大家用的模式。我们遇到的难点有两个:1、因为大部分人其实都只有一个Windows电脑,但是我们的OpenSIL项目中,被测对象是OpenPilot,这个东西只能运行在Ubuntu系统里(或者乐视手机里)。2、虚拟机里装个Ubuntu,在这里再安装Carla的话,是无法使用Windows系统的显卡资源的。所以,思来想去,想尝试下在Windows里直接运行Carla的服务端,通过网络连接,使得客户端可以运行在虚拟机中,再和openpilot进行信号交互。通过尝试,发现这条路是可行的。下面做个记录:
1、启动windows端的Carla服务器
详细参考以前的文章:
Windows下如何安装Carla,附网盘资源

2、ip查看
这里主要时查看Windows和虚拟机的ip网址,并保证两者之间能互相ping上。
我windows的情况:

我虚拟机的情况:
查清楚自己windows端的ip网址后,方便后续设定客户端时进行远程连接。

3、启动Ubuntu端的Carla客户端
客户端的启动,理论来讲只需要拷贝Windows中Carla目录下的任意一个测试脚本到虚拟机中运行即可。比如这个:D:\Carla\CARLA_0.9.13\PythonAPI\examples\automatic_control.py

虚拟机中的运行方式:

  
python3 automatic_control.py  

运行时会提醒缺一些库,比如pygame、numpy、shapely、networkx等。提示缺什么就下载什么好了。如果嫌弃现在速度慢,可以用下面指定国内清华源的方式加速下载。

  
pip install shapely -i https://pypi.tuna.tsinghua.edu.cn/simple  

只有当提示缺少carla库的时候,需要自己在要运行的python脚本中指定下carla的egg包(因为我这里pip install carla失败,顺便说下,我是python3.8, ubuntu20.04)。具体的配置方法是做如下改变:
改为:
对应的,需要将这个egg包从ubuntu的安装包中找到,放到这里。

如果想一劳永逸,也可以在.bashrc文件中去配置。安装包及配置方式参考一下文末Ubuntu下如何安装Carla的文章链接。

python库的问题解决后,运行示例脚本即可,这里一定要指定服务器端所在的window的ip地址。如:

  
python3 automatic_control.py --host=192.168.2.6  

初始运行可能报错timeout,这个时候只需要把这个时间调久一点就可以,如:

启动后的效果如下:

附:此时,我虚拟机中并未安装nvidia的显卡驱动:

另外,windows中运行服务器,和虚拟机中运行的客户端之间的延时方面, 暂未做研究,有兴趣的可以继续。
本文完。
瑞斯拜。

往期OpenSIL文章:

相关文章,在仿真秀官网搜索:

立项|搭建一个开源的自动驾驶仿真测试平台
OpenSIL-技术路线-写在岁末
Windows下如何安装Carla,附网盘资源
Ubuntu下如何安装Carla,附网盘资源
Docker版Carla的安装与使用

来源:车路慢慢
python理论自动驾驶
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-22
最近编辑:1年前
李慢慢
硕士 自动驾驶仿真工程师一枚
获赞 11粉丝 71文章 122课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈