代理模拟器
欢迎使用代理模拟器文档,该页面包含所有内容的索引。运行 入门 示例后可以按自己喜欢的顺序随意阅读(可使用已经部署的 DeepSeek大模型 来辅助开发)。默认为打开 UE 4.26 的 Carla 文档,支持 UE 5.5 的 Carla 文档请查看 链接 。
入门
- 下载 链接 中的
software/carla_0.9.15
中的所有文件并解压; - 运行
WindowsNoEditor
文件夹下的CarlaUE4.exe
启动场景,进入场景后按W
、S
、A
、D
移动场景视角; - 使用
Python37/python.exe
运行脚本 generate_traffic.py 在场景中生成交通流和运行 python manual_control.py 生成一辆键盘控制的车。
注意
如果运行CarlaUE4.exe时候报错:缺少Microsoft Visual C++ Runtime、DirectX Runtime,则需要安装 vs_community__2019.exe (勾选.NET桌面开发
和使用C++的桌面开发
)和 directx_Jun2010_redist.zip (解压后运行DXSETUP.bat
)。当机器性能一般或者调试时,可以降低画质来启动,以获得更流畅的效果:CarlaUE4.exe -quality-level=Low
,甚至使用CarlaUE4.exe -nullrhi
禁用所有渲染(无需 GPU)。如果对文档中的任何问题可以在 本文档的源码仓库 中的 Issues 页面进行提问或者提交 Pull Request 直接修改文档。
简介
介绍 — 对 Carla 的期望
快速启动 — 获取 Carla 版本
第一步 — 开始进行 Carla 操作,介绍最重要的概念
示例 — Carla 经典示例
教程 — Carla 详细教程
基础 — Carla 服务器和客户端进行操作和通信所需的基本概念
第一、 世界和客户端 — 管理和访问模拟
第二、 参与者和蓝图 — 了解参与者以及如何处理它们
第三、地图和导航 — 发现不同的地图以及车辆如何移动
第四、传感器和数据 — 使用传感器检索模拟数据
检索模拟数据 — 使用记录器正确收集数据的分步指南
边界框 — 将 Carla 对象的边界框投影到相机中
代理
车辆
手动控制车辆 — 使用 PyGame 显示相机传感器的输出
车辆代理 — 代理脚本允许单个车辆在地图上漫游或开车到设定的目的地
智能驾驶 — 包含用于自动驾驶相关任务的传统和深度学习算法
车辆实现 — 车辆模型
交通模拟概述 — 可用于使用交通填充场景的不同选项的概述
交通管理器 — 通过将车辆设置为自动驾驶模式来模拟城市交通
交通场景 — 基于 Carla 交通场景定义和执行引擎
交通场景定义 — 遵循使用 Scenic 库定义不同场景的示例
和 SUMO 协同模拟 — 在 Carla 和 SUMO 之间运行协同模拟
行人
行人导航 — 使用骨骼为行人设置动画
控制行人骨架 — 使用骨骼为行人设置动画
行人视觉 — 使用相机进行人眼的模拟
生成行人导航 — 获取行人四处走动所需的信息
行人建模 — 在三维建模软件中对人进行建模
行人物理场模拟 — Chrono OpenSim 解析器
模拟器
概念
OpenDRIVE 独立模式 — 使用任何 OpenDRIVE 文件作为 Carla 地图
记录器 — 在模拟中记录事件并再次播放
实例分割相机 — 使用实例分割相机来区分同一类的对象
渲染选项 — 从质量设置到不渲染或离屏模式
纹理流 — 实时修改地图对象的纹理以添加变化
责任敏感安全 — Carla 客户端库中的责任敏感安全实现
同步和时间步长 — 客户端-服务器通信和模拟时间
多 GPU — 设置 Carla 模拟器以使用多个 GPU 进行处理
Carla 配置 — Carla 参数配置设置
Carla 模拟器键盘输入 — 在模拟器窗口中玩游戏时使用的按键绑定
无显示屏运行 Carla 并选择 GPU — 使用未插在屏幕上的GPU来渲染 Carla 的桌面
开发
编译 Carla — 进行 Carla 编译
Linux 上编译 — 在 Linux 上进行编译
Windows 上编译 — 在 Windows 上进行构建
Carla 更新 — 了解最新内容
构建系统 — 了解构建及其制作方式
Docker 中的 Carla — 使用容器解决方案运行 Carla
在 Docker 中构建虚幻引擎和 Carla — 在 Docker 中构建虚幻引擎和 Carla
文件说明 — 说明源代码中各个模块、文件的作用
常见问题 — 一些最常见的安装问题
调试程序 — 进行C++程序的调试
现实场景
虚幻场景
支持的虚幻场景 - 目前支持的所有虚幻地图
Carla 插件 - 虚幻引擎 Carla 插件的相关介绍
虚幻引擎 — 虚幻引擎相关内容
虚幻引擎常见问题 - 包括学习流程、概念说明、常见问题和回答等
第三方资产 - 虚幻引擎相关的场景和资产
地图孪生
数字孪生工具 — 通过 OpenStreetMap 自动生成 Carla 中的道路和建筑
Carla 中自定义地图的概述 — 添加自定义标准尺寸地图所涉及的过程和选项的概述
内容创作-地图 — 自定义地图的创作
在 RoadRunner 中创建地图 — 如何在 RoadRunner 中生成海关、标准尺寸的地图
在 Carla 包导入地图 如何在 Carla 包中导入地图
在 Carla 源构建中导入地图 — 如何在 Carla 中导入从源构建的地图
导入地图的替代方法 — 导入地图的替代方法
手动准备地图包 — 如何准备地图以供手动导入
自定义地图:分层地图 — 如何在自定义地图中创建子图层
自定义地图:交通灯和标志 — 如何将交通灯和标志添加到您的自定义地图
自定义地图:道路画家 — 如何使用道路画家工具改变道路的外观
自定义地图:天气和景观 — 为您的自定义地图创建天气配置文件并填充景观
使用 OpenStreetMap 生成地图 — 使用 OpenStreetMap 生成用于模拟的地图
自定义地图:程序建筑 — 用建筑物填充您的自定义地图
程序化建筑工具 有助于生成虚拟三维建筑,可以通过简单的界面对其尺寸和装饰风格进行调制,以创建近乎无限的变化
大地图概述 — Carla 中大地图工作原理的说明
在 RoadRunner 中创建大地图 — 如何在 RoadRunner 中创建大地图
导入/打包大地图 — 如何导入大地图
资产孪生
开发 — 创建自定义功能或内容
自定义资产 — Carla 中资产的的开发
添加摩擦触发器 — 定义车轮的动态框触发器
控制车辆物理模型 — 设置车辆物理的运行时的变化
添加新车辆 — 准备要在 Carla 中使用的车辆
内容创作-车辆 — 自定义车辆的创作
添加新道具 — 将其他道具导入 Carla
创建独立包 — 为资产生成和处理独立包
材料定制 — 编辑车辆和建筑材料
如何升级内容 — 向 Carla 添加新内容
创建一个传感器 — 开发一个用于 Carla 的新传感器
创建语义标签 — 为语义分割定义自定义标签
自定义车辆悬架 — 修改车辆的悬架系统
生成详细碰撞 — 为车辆创建详细的对撞
链接 Epic 的汽车材质 — 下载材质并将其链接到我们的车辆,以获得更逼真的车漆。
其他
基准测试
自动驾驶排行榜 - 评估自动驾驶人员在现实交通场景中的驾驶熟练程度
驾驶基准 — 用于评估驾驶控制器(代理)并获取有关其性能的指标
基准性能 — 分析 Carla 在自己的环境中的性能
驾驶基准结构 — 驾驶基准模块的总体结构
测试代理 — 对你的代理进行基准测试
计算的基准性能指标 — 用于根据代理在基准测试期间执行的操作计算结果摘要
贡献指南
贡献方式 — 为 Carla 做出贡献的不同方式
行为准则 — 贡献者的标准权利和义务
编码标准 — 编写正确代码的指南
文档标准 — 编写适当文档的指南
发布版本 — 如何发布 Carla
生态系统
Web 可视化器 — 监听模拟并在网络浏览器中显示场景和一些模拟数据的插件
ROS — 机器人操作系统桥接器的简要概述和完整文档的链接
CarSim 集成 — 关于如何使用 CarSim 车辆动力学引擎运行模拟的教程
RLlib 集成 — 了解如何使用 RLlib 库运行您自己的实验
Chrono 集成 — 使用 Chrono 积分来模拟物理
PTV-Vissim 联合模拟 — 在 Carla 和 PTV-Vissim 之间运行协同模拟
Ansys 实时雷达模型 — 有关 Ansys RTR 网络研讨会的详细信息
NVIDIA Omniverse 的 SimReady - 为模拟而构建的三维内容,简化模拟三维虚拟环境的内容创建管道
罗技 G29 方向盘 — 使用罗技方向盘进行车辆控制和模拟对方向盘的反向控制
地理空间生态系统 — 将 3D 地理空间生态系统引入虚幻引擎
Blender 手册 — 三维建模软件
Carla 相关的第三方链接 — 中文交流社区
待做列表 — 待完成的功能
应用Carla的仓库列表 - 收集引用了Carla的相关库
参考目录
Python API 参考 — Python API 中的类和方法
C++ 参考 — Carla C++ 中的类和方法
资源目录 — Carla 中资源的目录列表
传感器 — 关于传感器及其检索数据的一切
蓝图库 — 提供用于生成参与者的蓝图
记录器二进制文件格式 — 记录器文件格式的详细说明
测量和数据包 - 描述服务器每帧向客户端发送一个包含测量值和收集到图像数据包的详细信息