获取 ScenarioRunner
本教程介绍如何下载 ScenarioRunner 并运行一个简单的示例来测试它。ScenarioRunner 需要 Carla 才能运行,并且必须与正在使用的 Carla 版本匹配。如果使用的 Carla 是从源代码构建的,请从源代码下载 ScenarioRunner。如果使用的 Carla 是包,请下载对应版本的ScenarioRunner。
安装总结
显示快速启动安装的命令行摘要
# 决定是否使用包或者从源代码构建
# 选项 A) 使用 ScenarioRunner 包
# 1. 安装 CARLA 包:
https://carla.readthedocs.io/en/latest/start_quickstart/
# 2. 下载匹配的 ScenarioRunner 包:
https://github.com/carla-simulator/scenario_runner/releases
# 3. 抽取内容ntent wherever needed.
# Update the release:
# 1. Delete previous CARLA and ScenarioRunner versions.
# 2. Download the latest CARLA release.
# 3. Download the matching ScenarioRunner release.
# Option B) Download ScenarioRunner from source
# 1. Build CARLA from source:
https://carla.readthedocs.io/en/latest/build_linux/
# 2. Clone the ScenarioRunner repository:
git clone https://github.com/carla-simulator/scenario_runner.git
# 3. Install requirements according to the Python version to be used:
# For Python 2.x:
sudo apt remove python-networkx #if installed, remove old version of networkx
pip2 install --user -r requirements.txt
# For Python 3.x:
sudo apt remove python3-networkx #if installed, remove old version of networkx
pip3 install --user -r requirements.txt
# To update ScenarioRunner from source:
# 1. Update CARLA:
https://carla.readthedocs.io/en/latest/build_update/
# 2. Go to the ScenarioRunner repository, master branch
cd ~/scenario_runner
git branch master
# 3. Pull the latest changes from the repository
git pull
A. 下载 ScenarioRunner 发布版
ScenarioRunner 的版本是包含以下内容的软件包: * 与特定 CARLA 版本相关的 ScenarioRunner 版本。 * 用 Python 编写的一些示例场景。
运行 ScenarioRunner 版本的过程非常简单。
1. 下载 CARLA 发布版。 请按照 CARLA 快速入门 中的流程进行操作。 2. 下载匹配的 ScenarioRunner 版本。 此处 列出了所有版本。
重要
两个版本必须匹配。如果 CARLA 版本是 0.9.9,则还可以使用 ScenarioRunner 0.9.9。以下 是 CARLA 和 ScenarioRunner 之间的兼容性的简要列表。
3. 提取内容。 目录并不重要。
更新发布版
打包版本不需要更新。内容是捆绑的,因此与 CARLA 的特定版本相关联。每次有新的 CARLA 版本时,ScenarioRunner 都会有一个匹配的版本。此处列出了所有版本:
要运行最新版本或任何其他版本,请删除以前的版本并安装所需的版本。
B. 从源代码下载 ScenarioRunner
ScenarioRunner 源存储库包含与最新开发版本 CARLA 一起运行的最具实验性的功能。它不需要构建,因为它只包含 ScenarioRunner 模块的 Python 代码。
1. 从源代码构建 CARLA。 按照文档在 Linux 或 Windows 上进行构建。
重要
ScenarioRunner 需要 CARLA 才能运行,因此文档中规定的 CARLA 最低要求也是运行 ScenarioRunner 所必需的。
2. 克隆 ScenarioRunner 存储库。
git clone https://github.com/carla-simulator/scenario_runner.git
3. 根据要使用的Python版本安装需求。 首先进入 ScenarioRunner 主目录
cd ~/scenario_runner/
- 对于 Python 2.x.
sudo apt remove python-networkx #if installed, remove old version of networkx
pip2 install --user -r requirements.txt
- 对于 Python 3.x
sudo apt remove python3-networkx #if installed, remove old version of networkx
pip3 install --user -r requirements.txt
警告
不 支持高于 v0.8 的 py-tree 。
从源代码更新构建
1. 更新 CARLA 构建 按照 文档 更新 CARLA。
2. 转到ScenarioRunner 主目录。 确保位于本地主分支中。
cd ~/scenario_runner
git branch master
3. 从存储库中提取最新更改。
git pull
4. 添加环境变量和Python路径 这些是系统找到CARLA所必需的,并将PythonAPI添加到Python路径中。
- 对于 Linux
# ${CARLA_ROOT} is the CARLA installation directory
# ${SCENARIO_RUNNER} is the ScenarioRunner installation directory
# <VERSION> is the correct string for the Python version being used
# In a build from source, the .egg files may be in: ${CARLA_ROOT}/PythonAPI/dist/ instead of ${CARLA_ROOT}/PythonAPI
export CARLA_ROOT=/path/to/your/carla/installation
export SCENARIO_RUNNER_ROOT=/path/to/your/scenario/runner/installation
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla/dist/carla-<VERSION>.egg
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla
注意
根据注释,使用正确的路径更改命令行。
- 对于 Windows
# %CARLA_ROOT% is the CARLA installation directory
# %SCENARIO_RUNNER% is the ScenarioRunner installation directory
# <VERSION> is the correct string for the Python version being used
# In a build from source, the .egg files may be in: ${CARLA_ROOT}/PythonAPI/dist/ instead of ${CARLA_ROOT}/PythonAPI
set CARLA_ROOT=\path\to\your\carla\installation
set SCENARIO_RUNNER_ROOT=\path\to\your\scenario\runner\installation
set PYTHONPATH=%PYTHONPATH%;%CARLA_ROOT%\PythonAPI\carla\dist\carla-<VERSION>.egg
set PYTHONPATH=%PYTHONPATH%;%CARLA_ROOT%\PythonAPI\carla
注意
根据注释,使用正确的路径更改命令行。
如需永久设置环境变量,请前往 编辑该账户的环境变量 。通过在 Windows 的搜索面板上输入 env 可以快速访问它。
如果需要运行基于 OpenSCENARIO 2.0 格式的场景,请先安装graphviz和antlr:
sudo apt-get install -y openjdk-17-jdk graphviz
curl -O https://www.antlr.org/download/antlr-4.10.1-complete.jar
sudo cp antlr-4.10.1-complete.jar /usr/local/lib/
sudo gedit ~/.bashrc
将环境变量添加到~/.bashrc中:
export CLASSPATH=".:/usr/local/lib/antlr-4.10.1-complete.jar:$CLASSPATH"
alias antlr4='java -jar /usr/local/lib/antlr-4.10.1-complete.jar'
alias grun='java org.antlr.v4.gui.TestRig'
并使更改生效:
source ~/.bashrc
运行测试
运行以下车辆示例。首先,您需要从 CARLA 获取最新的主分支。然后您必须将 CARLA Python API 包含到 Python 路径 中:
重要
如果使用源代码构建,请确保上传它们。下载 master 分支中的最新内容。
1. 运行 CARLA 服务器。
- A) 在从源代码构建中 ,转到 CARLA 目录并在编辑器中启动服务器。
cd ~/carla # Change the path accordingly
make launch
# Press Play in the UE Editor
- B) 在 CARLA 包中 直接运行服务器。
./CarlaUE4.sh
2. 启动示例场景。 打开另一个终端,进入ScenarioRunner下载的目录。为了进行本次测试,将使用以下引导车辆场景(scenario_runner.py
和manual_control.py
要使用对应的发布版本,开发版不一定成果)。
# Inside the ScenarioRunner root directory
python scenario_runner.py --scenario FollowLeadingVehicle_1 --reloadWorld
使用以下命令查看当前场景有哪些:
python scenario_runner.py --list
注意
如果使用 Python 3.x 版本,请运行带有 python3
.
3. 通过手动控制测试场景。 打开一个新终端并运行 manual_control.py
。应该会弹出一个新窗口,街道中央有一辆自我车辆。向前移动,领头车辆就会出现。
# Inside the ScenarioRunner root directory
python manual_control.py
这些场景有大约一分钟的超时时间,以便启动代理。如果出现超时,则应再次启动跟随领先车辆示例。
警告
运行manual_control.py
ScenarioRunner 包/存储库中找到的内容,而不是 CARLA 。
4. 探索其他选择。 使用 标志运行场景运行器--help
来探索其他命令行参数和一些基本描述。例如,为了避免自动(重新)加载 CARLA 世界,请跳过命令行选项--reloadWorld
。
python scenario_runner.py --help
ScenarioRunner 的安装过程至此结束。如果发生任何意外错误或问题,CARLA 论坛向所有人开放。有一个ScenarioRunner类别用于发布有关此模块的问题和疑问。