当前位置: 首页 > news >正文

Carla安装教程

1.前言

对于从事自动驾驶的小伙伴而言,或多或少应该都接触过一些的仿真软件,今天要给大家介绍的这款仿真软件应该算的上是业界非常有名的一款仿真软件——carla。

目前carla的学习教程也还是蛮多的,但是写的都不是很全,在配置的时候还是会遇到许多的坑。并且,目前的教程基本上都是Python版的。但是,搞自动驾驶的人基本上用的都是C++,这对我这种对Python不是特别熟的人有点不太友好。而且吧,我们项目中用的中间件不是ros,carla暖心提供的ros_bridge就没有办法用了。所以没办法,我只能自己一步一步的去看它的C++版了。

简单来说,carla其实提供了两个版本。一个是为了给大家提供方便的安装版,也就是precompiled版本,这个版本安装比较方便,即插即用,适合在校学生做科研和一些通用的算法验证。另外一个是source build的版本,这个版本给开发者提供了更多的想象空间,基本上底层的很多东西你都是可以去进行修改的。而如果你要用C++去进行开发的话,那么你就得需要安装source build的版本。这里的话我会对两个版本的安装方法以及遇到的一些问题都进行一些介绍。

2.carla安装

2.1 安装需求

  1. 系统:ubuntu,我用的是ubuntu20.04,最好是18.04或者是20.04。如果你用的是虚拟机,请放弃安装。carla是有提供Windows版的,但是不好意思我不会Windows下的开发。
  2. 硬件配置:
    1. 硬盘:如果你只打算安装precompiled版本或者source build的简装版的话,30G就够了,如果安装终极版,请腾出至少200G的硬盘空间;
    2. 显卡:至少6G吧,carla用到的虚拟引擎是UE4,这玩意是做游戏的,所以显卡要求有点高;

2.2 precompiled版本安装

2.2.1 下载

这个版本主要使用的是Python开发,底层的很多东西你是看不到的。但是所有的接口,都是可以直接从官方文档里面查到的,而且网上也有很多大神针对这个版本做了很多的开发,官方还提供的ros_bridge,使用起来还是蛮方便的。安装也很方便,首先大家直接访问下面链接,直接去下载相应的版本:

https://github.com/carla-simulator/carla/releases​github.com/carla-simulator/carla/releases

如果是初学者,我建议下载0.9.11的版本,因为Github上很多案例都是基于该版本开发的,当然了,你也可以多下几个版本,到时候把环境切换一下就都可以使用。当你下载完成并解压过后,其实carla就已经安装完毕了。这时候你可以尝试着运行:

# 进入carla的安装目录
cd path/to/carla/root  
./CarlaUE4.sh -prefernvidia  # 默认大家是安装了显卡驱动的哈,否则运行不了这一步

这时候你就能看到下面的界面:

 

 

format,png

其实到这一步,我们的carla就已经安装完成了,但是如果你想要真正运行它和使用PythonAPI/examples里面所提供的案例的话,那就还需要进行下面的设置。

2.2.2 环境配置

首先打开一个终端

pip3 install carla
cd ~
gedit .bsahrc

然后将下面内容复制到文件的最后面

export CARLA_ROOT= path/to/carla/root #这里请改成自己的安装路径,不要教条主义
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla/dist/carla-0.9.11-py3.7-linux-x86_64.egg
export PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}/PythonAPI/carla

然后打开终端输入:

cd ~
source .bashrc

到这一步,carla的环境就配置好了。如果你需要用其他的版本,就在export修改对应的版本号就可以了。

2.2.3 Python库安装

配置好环境以后,大家一定想体验一下案例了吧,但是还不行哦。carla官方提供的案例在PythonAPI/examples里面。大家先进入这个文件夹中,你们应该就能看到一个文件叫:requirements.txt。这是运行carla的案例时需要用到的一些Python库文件,大家可以打开这个文件,对照着文件里面的库和相应的版本进行安装。也可以运行下面代码:

python3 -m pip install -r requirements.txt

这玩意安装的话可能会有些慢,没有什么好的办法,要么用众所周知的办法。要么就耐心的等,如果中断了就多试几次,总能成功的。

2.2.3 小trick

  1. clang 8

如果是ubuntu20.04的小伙伴,可能会遇到一个和我同样的问题,就是calng 8 报错。这个大家自己安装一下就可以了。

sudo apt-get update
sudo apt-get install clang-8

如果安装失败:

sudo apt-get install aptitude

如果还是报错,那你就把问题拿到百度去自行搜索一下,反正我是可以了。

2. install libomp5

如果直接运行的话,可能还会出现:CARLA/CARLA_0.9.11/CarlaUE4/Binaries/Linux/CarlaUE4-Linux-Shipping: error while loading shared libraries: libomp.so.5: cannot open shared object file: No such file or directory:

sudo apt-get install libomp5

安装过程中可能还会有一些其他的小问题,由于大家的系统版本和环境不一样我也没有办法一一列举,所以这里列出了我所遇到的一些小问题。如果有其他问题直接上网搜就行了,这个版本的carla安装的问题还是很好解决的。

2.2.4 运行demo

到这里如果你没有被卡主的话,那么恭喜你,可以运行carla的小案例了。首先进入carla的安装目录:

# 打开终端1
cd path/to/carla/root  
./CarlaUE4.sh -prefernvidia  # 打开虚拟引擎# 打开终端2
cd PythonAPI/examples
python3 generate_traffic.py # examples下面的案例你都可以打开试试

到这里,大家就使用carla的precompiled版本了

更多内容敬请关注公众号【经纬数智】

 

相关文章:

Carla安装教程

1.前言 对于从事自动驾驶的小伙伴而言,或多或少应该都接触过一些的仿真软件,今天要给大家介绍的这款仿真软件应该算的上是业界非常有名的一款仿真软件——carla。 目前carla的学习教程也还是蛮多的,但是写的都不是很全,在配置的…...

【PYG】处理Cora数据集分类任务使用的几个函数log_softmax,nll_loss和argmax

文章目录 log_softmax解释作用示例解释输出 nll_loss解释具体操作示例代码解释 nll_losslog_softmaxcross_entropy解释代码示例解释 argmax()解释作用示例代码解释示例输出 log_softmax F.log_softmax(x, dim1) 是 PyTorch 中的一个函数,用于对输入张量 x 应用 log…...

Labview绘制柱状图

废话不多说,直接上图 我喜欢用NXG风格,这里我个人选的是xy图。 点击箭头指的地方 选择直方图 插值选择第一个 直方图类型我选的是第二个效果如图。 程序部分如图。 最后吐槽一句,现在看CSDN好多文章都要收费了,哪怕一些简单的入…...

使用Python实现一个简单的密码管理器

文章目录 一、项目概述二、实现步骤2.1 安装必要的库2.2 设计密码数据结构2.3 实现密码加密和解密2.4 实现主要功能2.4.1 添加新密码2.4.2 显示所有密码2.4.3 查找特定密码2.4.4 更新密码2.4.5 删除密码 2.5 实现用户界面 三、代码示例3.1 加密和解密示例3.2 用户界面示例 在现…...

【云原生】服务网格(Istio)如何简化微服务通信

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、微服务架构的兴起 2、Istio:服务网格的佼…...

spring boot 整合 sentinel

注意版本问题 我这是jdk11 、spring boot 2.7.15 、 alibaba-sentinel 2.1.2.RELEASE <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.15</version><…...

蜜雪冰城小程序逆向

app和小程序算法一样 小程序是wasm...

pbootcms提交留言成功后跳转到指定的网址

pbootcms在线留言表单提交成功后&#xff0c;如何跳转到指定的网址&#xff0c;默认提交留言后留在原来的页面&#xff0c;如果提交后需要跳转到指定网址&#xff0c;我们需要对文件进行修改。首先我们打开/core-/function/helper.php文件找到第162行左右代码&#xff1a; ech…...

16、matlab求导、求偏导、求定积分、不定积分、数值积分和数值二重积分

0&#xff09;前言 在MATLAB中&#xff0c;对函数进行不同形式的求导、求积分操作是非常常见的需求&#xff0c;在工程、科学等领域中经常会用到。以下是关于求导、求积分以及数值积分的简介&#xff1a; 求导&#xff1a;在MATLAB中可以使用diff函数对函数进行求导操作。diff…...

MySQL 9.0创新版发布!功能又进化了!

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…...

后端系统的安全性

后端系统的安全性 后端系统的安全性是任何Web应用或服务的核心组成部分&#xff0c;它涉及保护数据、用户隐私以及系统免受恶意攻击。以下是后端安全的一些关键点&#xff1a; 认证和授权&#xff1a;确保只有经过身份验证的用户才能访问特定资源。这通常包括使用用户名/密码…...

.net 百度翻译接口核心类

百度翻译api &#xff1a;http://developer.baidu.com/wiki/index.php?title帮助文档首页/百度翻译/翻译AP 核心翻译类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json; using System.Net; using System.I…...

安卓应用开发学习:通过腾讯地图SDK实现定位功能

一、引言 这几天有些忙&#xff0c;耽误了写日志&#xff0c;但我的学习始终没有落下&#xff0c;有空我就会研究《 Android App 开发进阶与项目实战》一书中定位导航方面的内容。在我的手机上先后实现了“获取经纬度及地理位置描述信息”和“获取导航卫星信息”功能后&#x…...

iptable精讲

SNAT策略 SNAT策略的典型应用环境 局域网主机共享单个公网IP地址接入Internet SNAT策略的原理 源地址转换&#xff0c;Source Network Address Translantion 修改数据包的源地址 部署SNAT策略 1.准备二台最小化虚拟机修改主机名 主机名&#xff1a;gw 主机名&#xff1…...

2024 年如何构建 AI 软件

人工智能 (AI) 是当今 IT 行业最热门的话题&#xff0c;受到大型科技公司、大型企业和投资者的青睐。如果有人不参与 AI&#xff0c;他们就出局了。虽然“AI 泡沫”一词尚未公开使用&#xff0c;但街上的每个人都可能听说过 AI 将取代我们的工作&#xff08;可能不会&#xff0…...

Python实战,桌面小游戏,剪刀石头布

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程: Python项目开发实战_桌面小游戏-剪刀石头布_编程案例解析实例详解课程教程.pdf 创建一个基于Python的桌面小游戏“剪刀石头布”是一个很好的编程实践…...

Hadoop权威指南-读书笔记-01-初识Hadoop

Hadoop权威指南-读书笔记 记录一下读这本书的时候觉得有意思或者重要的点~ 第一章—初识Hadoop Tips&#xff1a; 这个引例很有哲理嘻嘻&#x1f604;&#xff0c;道出了分布式的灵魂。 1.1 数据&#xff01;数据&#xff01; 这一小节主要介绍了进入大数据时代&#xff0c;面…...

HttpServletResponse设置headers返回,发现headers中缺少“Content-Length“和“Content-Type“两个参数。

业务中需要将用httpUtils请求返回的headers全部返回&#xff0c;塞到HttpServletResponse中&#xff0c;代码如下&#xff1a; HttpServletResponse response;// 返回headers Arrays.stream(httpResponse.getHeaders()).forEach(header -> response.setHeader(header.getNa…...

GraphPad Prism生物医学数据分析软件下载安装 GraphPad Prism轻松绘制各种图表

Prism软件作为一款功能强大的生物医学数据分析与可视化工具&#xff0c;其绘图功能尤为突出。该软件不仅支持绘制基础的图表类型&#xff0c;如直观明了的柱状图、展示数据分布的散点图&#xff0c;以及描绘变化趋势的曲线图&#xff0c;更能应对复杂的数据呈现需求&#xff0c…...

7/1 uart

uart4.c #include "uart4.h"//UART4_RX > PB2 //UART4_TX > PG11char rebuf[51] {0}; //rcc/gpio/uart4初始化 void hal_uart4_init() {/********RCC章节初始化*******///1.使能GPIOB组控制器 MP_AHB4ENSETR[1] 1RCC->MP_AHB4ENSETR | (0x1 << 1)…...

Arduino按钮新玩法:一个按键实现开关机、模式切换,附完整项目代码

Arduino单键交互系统设计&#xff1a;从状态机到低功耗实战 当你的便携式环境监测仪只有一个物理按键&#xff0c;却需要实现开关机、模式切换、参数校准等复杂功能时&#xff0c;如何设计优雅的交互逻辑&#xff1f;本文将带你从基础按钮检测出发&#xff0c;逐步构建一个基于…...

ESP32S3上电重启问题终极排查指南:从电源纹波到SPI电阻的实战经验

ESP32S3上电重启问题终极排查指南&#xff1a;从电源纹波到SPI电阻的实战经验 当ESP32S3开发板在批量生产中出现上电重启问题时&#xff0c;硬件工程师往往会面临一场与时间赛跑的挑战。最近在调试某款智能家居网关时&#xff0c;我们遇到了典型的RTC_SW_SYS_RST错误&#xff…...

OpenClaw调试技巧:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF任务失败排查手册

OpenClaw调试技巧&#xff1a;Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF任务失败排查手册 1. 问题定位的基本框架 当OpenClaw任务执行失败时&#xff0c;我通常会按照"环境-模型-日志"三层结构进行排查。上周在调试一个自动化周报生成任务时&#xff0…...

Wan2.2-I2V-A14B前端面试题实践:用AI视频生成功能丰富个人项目经验

Wan2.2-I2V-A14B前端面试题实践&#xff1a;用AI视频生成功能丰富个人项目经验 1. 为什么前端开发者需要关注AI视频生成 最近两年&#xff0c;前端技术栈的边界正在快速扩展。传统意义上的切图写页面已经不能满足企业对前端工程师的期望&#xff0c;越来越多的团队希望开发者…...

CCF-GESP C++三级备考避坑指南:从2023年12月真题看数组、字符串的5个易错点

CCF-GESP C三级备考避坑指南&#xff1a;从2023年12月真题看数组、字符串的5个易错点 对于准备参加CCF-GESP C三级考试的学生来说&#xff0c;掌握数组和字符串的使用是基础中的基础。然而&#xff0c;正是这些看似简单的知识点&#xff0c;往往成为考试中的"隐形杀手&quo…...

告别手动切图:用快马ai生成脚本,自动化ps设计稿导出与标注

作为一名长期与PS打交道的设计师&#xff0c;我深知重复性切图标注的痛苦。每次设计稿调整后&#xff0c;手动导出图层、记录样式、测量间距的过程不仅枯燥&#xff0c;还容易出错。最近尝试用InsCode(快马)平台的AI辅助生成自动化脚本&#xff0c;意外发现效率提升显著。以下是…...

驱动开发的常用工具

2.3.3 驱动开发的常用工具 嵌入式驱动开发涉及硬件调试、软件调试、代码编译等多个环节,掌握合适的工具可以大幅提升开发效率。本节将系统介绍驱动开发中常用的四大类工具:交叉编译工具链、调试工具、开发板与仿真器、文档与源码工具,并结合RK3588平台给出具体的使用方法。…...

深入解析D触发器与分频器:时序逻辑的核心构建块

1. D触发器&#xff1a;数字世界的记忆单元 第一次接触D触发器时&#xff0c;我把它想象成一个会"记住"当前状态的小盒子。这个看似简单的元件&#xff0c;却是构建复杂数字系统的基石。D触发器全称Data触发器&#xff0c;属于边沿触发器件&#xff0c;这意味着它只…...

CYBER-VISION零号协议Transformer原理与应用实战

CYBER-VISION零号协议Transformer原理与应用实战 如果你对AI大模型背后的“发动机”感到好奇&#xff0c;想知道为什么现在的模型能理解上下文、生成连贯的文本&#xff0c;甚至看懂图片&#xff0c;那么“Transformer”就是你绕不开的核心。它不像过去那些依赖顺序处理的模型…...

蓝桥杯备赛避坑指南:从校赛落选到国三逆袭的实战经验分享

蓝桥杯备赛避坑指南&#xff1a;从校赛落选到国三逆袭的实战经验分享 第一次参加蓝桥杯校赛时&#xff0c;我连最简单的编程题都没能完整写出。看着屏幕上仅完成的两道签到题和一堆未通过的测试用例&#xff0c;那种挫败感到现在都记忆犹新。但正是这次失败&#xff0c;让我后来…...