自动驾驶仿真CARLA学习之路(一)

一、carla介绍

   carla是开源的自动驾驶模拟器。它是从头开始构建的,作为一个模块化和灵活的API,以解决自动驾驶问题所涉及的一系列任务。CARLA的主要目标之一是帮助自动驾驶研发民主化,作为一种用户可以轻松访问和定制的工具。为此,模拟器必须满足一般驾驶问题中不同用例的要求(例如学习驾驶策略、训练感知算法等)。CARLA基于虚幻引擎来运行模拟,并使用OpenDRIVE标准(今天的1.4)来定义道路和城市环境。对模拟的控制是通过 Python 和 C++ 中处理的 API 授予的,该 API 随着项目的不断增长而不断增长。

   carla 模拟器的主要是基于client-server架构。服务器类似于造物主,可以模拟本身相关的额一切,传感器渲染、物理计算、世界状态以及Actor的更新等等。客户端由控制场景中Actor逻辑和设置世界条件的客户端模块的总和组成。这是通过利用 CARLA API(Python 或 C++)来实现的,CARLA API 是在服务器和客户端之间进行调解的层,不断发展以提供新功能。

carla的基本结构:

  1. Traffic manager:一个内置系统,除了用于学习的车辆外,还可以控制车辆。它充当CARLA提供的指挥,以逼真的行为重现城市般的环境。
  2. Sensors:车辆依靠它们来分发周围环境的信息。在CARLA中,它们是附加车辆的特定类型的参与者,可以检索和存储他们接收的数据以简化流程。目前,该项目支持不同类型的这些,从相机到雷达,激光雷达等等
  3. Recorder:此功能用于为世界上每个参与者逐步重演模拟。它允许访问世界任何地方的时间线中的任何时刻,使其成为一个很棒的跟踪工具。
  4. ROS bridge and Autoware implementation:为通用化的问题,CARLA项目将模拟器与其他学习环境集成在一起。
  5. Open assets:CARLA 为城市环境提供了不同的地图,可以控制天气状况,并提供了一个蓝图库,其中包含要使用的各种参与者。但是,可以自定义这些元素,并且可以按照简单的准则生成新元素。
  6. Scenario runner:为了简化车辆的学习过程,CARLA 提供了一系列描述不同情况的路线进行迭代。这些也为CARLA挑战奠定了基础,每个人都可以测试他们的解决方案并进入排行榜。

二、carla入门实战(快速入门,无重新构建carla编译过程)

   

1、环境配置

  下载安装carla的打包版本,软件包包括carla服务器以及客户端两个部分,专门为windows和linux构建。

     配置要求:6GB GPU,32GB CPU。磁盘空间20GB,windows的python版本python3.7,linux支持python2.7以及python3.7。pip更新到最新版本。

Windows:

pip3 -v
pip3 install --upgrade pip
pip install --user pygame numpy

linux:

pip install --user pygame numpy &&
pip3 install --user pygame numpy

   两个TCP端口和良好的互联网连接。默认为2000和2001。注意防火墙以及科学上网代理。

2、carla安装(windows版本)

carla库可以下载不同的版本的carlacarla/Docs/download.md at master · carla-simulator/carla (github.com)icon-default.png?t=N658https://github.com/carla-simulator/carla/blob/master/Docs/download.md

下载carla(0.9.14)安装

   Release 0.9.14 · carla-simulator/carla (github.com)icon-default.png?t=N658https://github.com/carla-simulator/carla/releases/tag/0.9.14/

 

 在这里插入图片描述

cd PythonAPI\examples

python3 -m pip install -r requirements.txt # Support for Python2 is provided in the CARLA release packages

python3 generate_traffic.py  

 或者用Vs Code打开D:\CARLA_0.9.14\WindowsNoEditor\PythonAPI\examples文件夹,运行几个.py示例可以看看效果。

 

 在这里插入图片描述

 

### 配置和启动 Carla 模拟器中的自动驾驶模式 #### 加载 Carla 及初始化环境 为了开始配置和运行自动驾驶模式,在本地计算机上需先通过提供的启动脚本来加载 Carla 以及所选的地图或场景[^1]。此过程可以自定义模拟的画面尺寸和其他参数,比如设定较小的时间步长以获得更精确的控制效果。 #### 设置服务器模式以便客户端连接 Carla 支持在服务器模式下工作,这意呸着可以从 Python 客户端或其他编程接口向 Carla 发送指令来操控车辆或是获取仿真状态的数据。当处于这种模式时,开发者能够编写专门的应用程序逻辑并与正在运行的模拟交互。 #### 实现基本的自动驾驶行为 要使车辆具备基础级别的自主行驶能力,可以通过修改默认控制器或将预构建的行为模型集成进来完成。下面是个简单的例子展示怎样让辆车按照预定路径前进: ```python import carla def setup_autopilot(world): blueprint_library = world.get_blueprint_library() vehicle_bp = blueprint_library.find('vehicle.tesla.model3') spawn_point = random.choice(world.get_map().get_spawn_points()) vehicle = world.spawn_actor(vehicle_bp, spawn_point) # Enable autopilot mode on the spawned vehicle. vehicle.set_autopilot(True) ``` 这段代码片段展示了如何创建个新的 Tesla Model 3 类型的车辆实例,并将其放置在个随机生成的位置;随后激活该对象自带的基础级自动导航功能[^2]。 #### 使用高级特性增强性能 对于更加复杂的任务需求,则可能涉及到利用 Carla 提供的些更为先进的组件和服务,例如传感器套件、交通信号灯识别模块等。这些都可以进步提升仿真的真实性和可靠性,从而更好地服务于研究目的或者产品原型设计阶段的工作流程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值