Carla 自动驾驶挑战赛 搭建环境

1. 系统设置

1.1 下载CARLA排行榜包

  • 下载打包的CARLA 排行榜版本。

  • 将包解压到一个文件夹中,例如 CARLA。

在以下命令中,更改${CARLA_ROOT}变量以对应于您的 CARLA 根文件夹。

  • 为了使用 CARLA Python API,您需要在您喜欢的环境中安装一些依赖项。作为参考,对于conda,首先创建一个新环境:
conda create -n py37 python=3.7
conda activate py37
cd ${CARLA_ROOT}  # Change ${CARLA_ROOT} for your CARLA root folderpip3 install -r PythonAPI/carla/requirements.txt

CARLA 排行榜版本基于 0.9.14 版本。它还具有即将发布的 0.9.14 版本的一些功能,例如新的大地图功能。因此,在使用API​​时请参考最新的文档。

1.2 获取排行榜和场景跑者

  • 下载排行榜存储库Leaderboard-2.0 分支
git clone -b leaderboard-2.0 --single-branch https://github.com/carla-simulator/leaderboard.git

在以下命令中,更改${LEADERBOARD_ROOT}变量以对应于您的排行榜根文件夹。

  • 安装所需的 Python 依赖项。
 # Change ${LEADERBOARD_ROOT} for your Leaderboard root folder
pip3 install -r requirements.txt
  • 下载 Scenario Runner 存储库排行榜-2.0 分支
git clone -b leaderboard-2.0 --single-branch https://github.com/carla-simulator/scenario_runner.git

在以下命令中,将 更改为${SCENARIO_RUNNER_ROOT}与您的 Scenario_Runner 根文件夹相对应。

  • 使用相同的 Python 环境安装所需的 Python 依赖项。
cd ${SCENARIO_RUNNER_ROOT} # Change ${SCENARIO_RUNNER_ROOT} for your Scenario_Runner root folder
pip3 install -r requirements.txt
1.2.1 基于ROS的代理

首先,下载并安装适当的 ROS 或 ROS2 发行版。 Leaderboard 2.0 支持 ROS Melodic、ROS Noetic 和 ROS2 Foxy。然后,克隆并构建ROS或ROS2的 CARLA ROS 桥存储库。确保leaderboard-2.0在克隆 CARLA ROS Bridge 存储库时指定分支:

git clone --recurse-submodules leaderboard-2.0 --single-branch https://github.com/carla-simulator/ros-bridge

1.3 定义环境变量

我们需要确保不同的模块可以找到彼此。

  • ~/.bashrc使用以下命令打开配置文件:
gedit ~/.bashrc
  • 编辑您的 ~/.bashrc个人资料,添加以下定义。编辑后保存并关闭文件。
export CARLA_ROOT=PATH_TO_CARLA_ROOT  //(carla 排行榜包解压路径)
export SCENARIO_RUNNER_ROOT=PATH_TO_SCENARIO_RUNNER //(SCENARIO 存放路径)
export LEADERBOARD_ROOT=PATH_TO_LEADERBOARD  //(LEADERBOARD 存放路径)
export PYTHONPATH="${CARLA_ROOT}/PythonAPI/carla/":"${SCENARIO_RUNNER_ROOT}":"${LEADERBOARD_ROOT}":"${CARLA_ROOT}/PythonAPI/carla/dist/carla-0.9.13-py3.7-linux-x86_64.egg":${PYTHONPATH}
  • 请记住.bashrc使用以下命令来使这些更改生效:
source ~/.bashrc


2. 创建带有排行榜的自治代理

2.1 排行榜的第一步

排行榜将负责运行您的自主代理,并评估其在多条路线的不同交通情况下的行为。为了更好地理解这个过程,让我们运行一个基本代理。

  • 在一个终端中运行 CARLA 服务器。
cd ${CARLA_ROOT}
./CarlaUE4.sh -quality-level=Epic -world-port=2000 -resx=800 -resy=600
  • 在另一个终端中,导航到${LEADERBOARD_ROOT}.虽然排行榜是使用 python 脚本运行的,但使用的参数数量可能会让使用终端直接执行此操作感到非常不舒服。因此,建议使用bash脚本:
touch test_run.sh
chmod +x test_run.sh
  • 将以下代码粘贴到test_run.sh.这将设置一些用于参数化的环境变量,并运行run_evaluation.sh,它将使用这些变量作为leaderboard_evaluator.py脚本的参数。
# Parameterization settings. These will be explained in 2.2. Now simply copy them to run the test.
export ROUTES=${LEADERBOARD_ROOT}/data/routes_devtest.xml
export REPETITIONS=1
export DEBUG_CHALLENGE=1
export TEAM_AGENT=${LEADERBOARD_ROOT}/leaderboard/autoagents/human_agent.py
export CHECKPOINT_ENDPOINT=${LEADERBOARD_ROOT}/results.json
export CHALLENGE_TRACK_CODENAME=SENSORS./scripts/run_evaluation.sh
  • 运行脚本:
./test_run.sh

这将启动一个pygame窗口,让您可以选择手动控制代理。按照彩色航点指示的路线到达目的地。该脚本加载 Town 12 中的两条路线。

最终文件夹分布如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/764144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQLiteC/C++接口详细介绍sqlite3_stmt类(十一)

返回:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(十) 下一篇: SQLiteC/C接口详细介绍sqlite3_stmt类(十二) 43、sqlite3_reset sqlite3_reset 函数用于重置已经编…

uniapp安装axios

先npm安装 npm i axios然后在项目里面建一个utils文件,再建一个index.js 以下是index.js代码: import axios from axios; const service axios.create({baseURL: //xxxx.xxxxx.com///你的请求接口域名, timeout: 6000, // request timeoutcrossDomai…

【C++】1599. 米老鼠偷糖果

问题:1599. 米老鼠偷糖果 类型:基本运算、整数运算 题目描述: 米老鼠发现了厨房放了 n 颗糖果,它一次可以背走 a 颗,请问米老鼠背了 x 次之后还剩多少颗?(假设 x 次之后一定有糖果剩下&#x…

Redis中的缓存击穿

缓存击穿 缓存击穿问题也叫热点key问题,就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大压力。 🤔现象分析: 当线程1查询缓存时,未命中,于是从数据…

界面控件DevExpress ASP.NET Ribbon组件 - 完美复刻Office 365体验!

无论用户是喜欢传统工具栏菜单外观、样式,还是想在下一个项目中复制Office 365 web UI,DevExpress ASP.NET都提供了所需要的工具,帮助用户打造更好的应用程序界面。 P.S:DevExpress ASP.NET Web Forms Controls拥有针对Web表单&a…

基于python+vue的O2O生鲜食品订购flask-django-nodejs-php

近年来互联网络的迅猛发展和电子终端设备的普及,赋予了各行业充足的发展空间。微信小程序的O2O生鲜食品订购相比于传统信息技术,时效性是它最大的特色,已经在电子娱乐、经济等中发挥着举足轻重的作用。短时间内迅速扩大了线上管理系统的规模。…

计网--网络层个人笔记

网络层的IP分组由路由器转发,而每一个路由器有很多接口,那么从哪一个接口转发便需要转发表。 一、网络层基本功能 二、SDN基本概念 2.1 路由器 数据平面:转发的过程。一个分组如何从一个端口到达另一个端口。 控制平面:路由选择…

JAVA 8 新特性 Lamdba表达式(二)

一、Lamdba的语法 (参数类型1 参数1,参数类型2 参数2,…) -> { 方法体 }; Lambda表达式就是一个匿名函数,不关注方法名,只关注参数和方法体。 Lambda表达式组成三要素:括号(),箭头->,代码…

ES 8.x的多实例集群搭建与角色规划

ES 8 多实例集群搭建与角色规划 ES 8版本与之前版本存在较大改变,第一个区别就是启动时默认开启了安全模式,也就是即便是测试环境也需要用户名密码和https传输层安全证书。此外,集群节点的角色也与之前不同,除了新增角色外在配置…

使用专属浏览器在国内直连GPT教程

Wildcard官方推特发文说他们最近推出了一款专门为访问OpenAI设计的浏览器。 根据官方消息,这是一款专门为访问OpenAI优选网络设计的浏览器,它通过为用户提供专用的家庭网络出口,确保了快速、稳定的连接。 用这个浏览器的最大好处就是直接用浏…

【测试开发学习历程】MySQL增删改操作 + 备份与还原 + 索引、视图、存储过程

前言: SQL内容的连载,到这里就是最后一期啦! 如果有小伙伴要其他内容的话,我会追加内容的。(前提是我有学过,或者能学会) 接下来,我们就要开始python内容的学习了 ~ ~ 目录 1 …

Github 2024-03-22 开源项目日报Top10

根据Github Trendings的统计,今日(2024-03-22统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目3C#项目1Java项目1Rust项目1Go项目1Shell项目1非开发语言项目1TypeScript项目1Colossal-AI:使大型人工智能模型更加实惠和快速训练的…

吴恩达机器学习笔记 二十六 决策树学习过程 独热编码one-hot

决策树的学习过程 1. 所有样本都在根结点 2.计算所有可能的特征的信息增益,选择信息增益最大的那个 3.根据选择的特征分离数据集,创造左右两支子树 4.继续进行分裂直到达到停止标准。停止标准有:一个节点只有一类样本;分裂一…

1Panel应用推荐:DataEase开源数据可视化分析工具

1Panel(github.com/1Panel-dev/1Panel)是一款现代化、开源的Linux服务器运维管理面板,它致力于通过开源的方式,帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用,1Panel特别开通应用商店&am…

Django在日志中使用AdminEmailHandler发送邮件(同步),及celery异步发送日志邮件的实现

目录 一、使用AdminEmailHandler实现发送日志通知邮件 1,配置日志项 2,配置邮件项 3,在视图里使用日志 二、继承AdminEmailHandler使用celery实现异步发送邮件 1,安装配置celery 2,继承AdminEmailHandler类&…

网络安全知识核心之TCP与UDP区别

TCP 面向连接(如打电话要先拨号建立连接)提供可靠的服务;UDP 是无连接的,即发送数据之前不需要建立连接,;UDP 尽最大努力交付,即不保证可靠交付。(由于 UDP 无需建立连接,因此 UDP 不会引入建立…

HTML元素语义化(二)及补充

文章目录 HTML5新增元素 - audio**常见属性**代码展示 audio支持的音频格式input元素的扩展内容新增全局属性data–css属性 –white–spacecss属性–text–overflow HTML5新增元素 - audio HTML 元素用于在文档中嵌入音频内容, 和video的用法非常类似 常见属性 常见属性 值…

ts js vue 验证文件 MD5 值 spark-md5

ts js vue 验证文件 MD5 值 spark-md5 如何在前端中验证要上传的文件的 md5 值 一、安装 spark-md5 插件 需要用到 spark-md5 这个插件 官方 github:https://github.com/satazor/js-spark-md5/tree/master yarn add spark-md5 // 或 npm i spark-md5使用的时候引…

基于python+vue文学名著分享系统的设计与实现flask-django-nodejs-php

随着世界经济信息化、全球化的到来和互联网的飞速发展,推动了各行业的改革。若想达到安全,快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、动态的、交互友好的、高效的文学名著分享系统。当前的信息管理存在工作效率…

有没有适合pr剪辑视频使用的蓝色魔法火焰能量特效素材模板

12个蓝色魔法火焰能量特效VFX元素pr素材模板。 可定制的能量电荷、灰尘等离子体和发光的电火花是游戏电影、电影特效或有影响力的视频内容的理想选择,增添了史诗般的电影质量。无论是神秘的爆炸、闪闪发光的闪电还是旋转的漩涡,每一部动画都是力量的灯塔…