弄了几天,终于在windows平台上把OpenCDA运行起来了,记录一下。
(0)OpenCDA基本介绍
支持协同驾驶开发与测试、自动驾驶全栈开发和CARLA-SUMO联合仿真的开源框架OpenCDA主要feature有:
1. 支持CARLA-SUMO联合仿真,CARLA端主管环境渲染、传感器模拟、车辆动力,Sumo端主管交通仿真。
2. 同时支持协同驾驶/单车智能的开发。内置简单易用的V2X模拟,可以灵活模拟各种噪声与信号延迟。
3. OpenCDA自带默认的感知、定位、规划、控制、协同变道与车队行驶的算法,可以说搞懂了OpenCDA就等于搞懂了如何在CARLA里做完整的自动驾驶全栈开发。
4. 自带10+个测试场景,可快速测试你各个模块算法的鲁棒性。在特定地图下自定义场景快捷简单,只需给定一个yaml文件+10行代码即可搞定!
5. 框架高度模块化,可以轻易将任一模块里的算法切换为用户的算法,而不会影响其他的模块运行。
6. 提供默认的评价指标,每次仿真运行后自动评价各模块表现与整车表现。
7. 安装简便,文档记录详细,有完整的开发者手册。
代码链接: https://github.com/ucla-mobility/OpenCDA
论文链接: https://arxiv.org/abs/2107.06260
(一)安装过程
#事先要安装anaconda和git,
#carla0.9.10安装在G:\soft\CARLA_0.9.10目录下,OpenCDA安装在g:\opencda目录下,安装路径可以自己确定。opencda文档里面用的carla版本是0.9.11,这里用的0.9.10版本,亲证也是可以的。
mkdir g:\opencda # 该目录可以自己指定
cd g:\opencda
git clone https://github.com/ucla-mobility/OpenCDA.git
cd OpenCDA
conda env create -f environment.yml
conda activate opencda
pip install -r requirements.txt
#上面的步骤和网站上基本一致,下面的步骤是根据G:\opencda\OpenCDA下面的setup.sh改的
mkdir G:\opencda\OpenCDA\cache
cp G:\soft\CARLA_0.9.10\WindowsNoEditor\PythonAPI\carla\dist\carla-0.9.10-py3.7-win-amd64.egg G:\opencda\OpenCDA\cache
mkdir G:\opencda\OpenCDA\cache\arla-0.9.10-py3.7-win-amd64
unzip G:\opencda\OpenCDA\cache\arla-0.9.10-py3.7-win-amd64.egg -d G:\opencda\OpenCDA\cache\arla-0.9.10-py3.7-win-amd64
#将下面这个文件里面的carla版本改成自己的版本号,例如改成0.9.10
cd G:\opencda\OpenCDA\scripts\setup.py G:\opencda\OpenCDA\cache\arla-0.9.10-py3.7-win-amd64
pip install -e G:\opencda\OpenCDA\cache\carla-0.9.10-py3.7-win-amd64
(二)到这里,下面的例子就可以运行了
先启动carla, 然后执行下面的命令:
python opencda.py -t single_2lanefree_carla
#注意:要在G:\opencda\OpenCDA下执行,conda环境是opencda
(三)如果运行sumo协同仿真例子,还要安装pytorch(具体过程略)。安装完后,
(1)启动carlar
(2) 执行下面的命令切换carla地图
cd G:\soft\CARLA_0.9.10\WindowsNoEditor\PythonAPI\util
python config.py --map Town05
(3)在opencda目录下,
python opencda.py -t single_town05_cosim --apply_ml
#注意,opendcda里面给的例子是town06,G:\opencda\OpenCDA\opencda\assets\Town06\Town06.net.xml需要修改一下,将projParameter的值改为“!”,才能运行。运行过程类似上面的town05(这个坑费了不少时间,对比town05和town06文件发现的解决方法,具体原理不太清楚。)