发布时间:2026/7/4 8:00:45
Autopilot-Notes:CARLA仿真平台入门到精通的6个步骤
Autopilot-NotesCARLA仿真平台入门到精通的6个步骤【免费下载链接】Autopilot-Notes自动驾驶笔记以解析各模块知识点、整合行业优秀解决方案进行阐述以帮助自己及有需要的读者包含深度学习、deeplearning、无人驾驶、BEV、Transformer、ADAS、CVPR、特斯拉AI DAY、大模型、chatgpt等内容.项目地址: https://gitcode.com/gh_mirrors/aut/Autopilot-Notes想要掌握自动驾驶仿真技术吗CARLA仿真平台是学习自动驾驶算法的最佳工具 作为开源自动驾驶仿真平台CARLA提供了完整的仿真环境支持从传感器模拟到算法测试的全流程开发。本文将带你从零开始通过6个简单步骤快速掌握CARLA仿真的核心技能。为什么选择CARLA仿真平台CARLACar Learning to Act是由英特尔实验室开发的开源自动驾驶仿真平台已成为学术界和工业界最受欢迎的仿真工具之一。它提供真实的城市环境、多种传感器模拟和灵活的Python API接口是学习自动驾驶技术的绝佳选择。 核心优势完全开源免费无需付费即可使用所有功能真实物理引擎基于Unreal Engine 4提供逼真的物理效果丰富的传感器支持RGB相机、LiDAR、RADAR、GPS、IMU等多种传感器灵活的场景构建可自定义天气、光照、交通流等环境条件强大的Python API便于算法开发和测试 步骤一快速安装与配置Ubuntu系统安装# 安装依赖 sudo apt-get update sudo apt-get install wget software-properties-common # 下载CARLA wget https://carla-releases.s3.us-east-005.backblazeb2.com/Linux/CARLA_Latest-release.tar.gz tar -xzf CARLA_Latest-release.tar.gz cd CARLA_*/ # 启动仿真器 ./CarlaUE4.shDocker安装推荐# 拉取镜像 docker pull carlasim/carla:0.9.15 # 运行容器 docker run -it --gpus all --rm \ -v /tmp/carla:/carla/L \ -p 2000:2000 \ carlasim/carla:0.9.15 \ /bin/bash -c ./CarlaUE4.shWindows系统安装从CARLA官网下载安装包.exe格式解压到指定目录运行CarlaUE4.exe安装完成后CARLA服务器将在localhost:2000端口启动可以通过Python客户端连接。![CARLA传感器配置](https://raw.gitcode.com/gh_mirrors/aut/Autopilot-Notes/raw/6d8c7ca722181eabea754764a461e80da97ea496/ch02_硬件/2.1 传感器/imgs/2.1.2.1.jpg?utm_sourcegitcode_repo_files) 步骤二掌握Python API基础连接CARLA服务器import carla import time # 建立连接 client carla.Client(localhost, 2000) client.set_timeout(10.0) # 获取世界对象 world client.get_world() blueprint_library world.get_blueprint_library() print(f成功连接到地图: {world.get_map().name})创建第一辆自动驾驶车辆# 选择车辆蓝图 vehicle_bp blueprint_library.filter(vehicle.tesla.model3)[0] # 获取生成点 spawn_points world.get_map().get_spawn_points() spawn_point spawn_points[0] # 生成车辆 vehicle world.spawn_actor(vehicle_bp, spawn_point) # 设置自动驾驶模式 vehicle.set_autopilot(True)基础车辆控制# 手动控制车辆 control carla.VehicleControl( throttle0.5, # 油门 0-1 steer0.0, # 转向 -1~1 brake0.0, # 刹车 0-1 hand_brakeFalse, reverseFalse ) vehicle.apply_control(control)![自动驾驶传感器融合](https://raw.gitcode.com/gh_mirrors/aut/Autopilot-Notes/raw/6d8c7ca722181eabea754764a461e80da97ea496/ch02_硬件/2.1 传感器/imgs/2.1.2.2.jpg?utm_sourcegitcode_repo_files) 步骤三配置传感器套件CARLA支持多种传感器模拟这是自动驾驶感知系统的核心。RGB相机配置# 创建RGB相机 camera_bp blueprint_library.find(sensor.camera.rgb) camera_bp.set_attribute(image_size_x, 1920) camera_bp.set_attribute(image_size_y, 1080) camera_bp.set_attribute(fov, 110) # 安装到车辆 camera_transform carla.Transform( carla.Location(x1.5, y0.0, z2.4), # 前视位置 carla.Rotation(pitch-15) # 俯仰角 ) camera world.spawn_actor(camera_bp, camera_transform, attach_tovehicle) # 图像采集回调 def camera_callback(image): image.save_to_disk(foutput/{image.frame}.png) camera.listen(camera_callback)LiDAR激光雷达配置# 创建LiDAR传感器 lidar_bp blueprint_library.find(sensor.lidar.ray_cast) lidar_bp.set_attribute(range, 100) # 探测范围100米 lidar_bp.set_attribute(points_per_second, 100000) # 每秒10万个点 lidar_transform carla.Transform(carla.Location(z2.5)) lidar world.spawn_actor(lidar_bp, lidar_transform, attach_tovehicle) def lidar_callback(data): points data.get_array() print(f采集到点云数量: {len(points)}) lidar.listen(lidar_callback)GNSS定位传感器# 创建GNSS传感器 gnss_bp blueprint_library.find(sensor.other.gnss) gnss world.spawn_actor( gnss_bp, carla.Transform(carla.Location(z1.0)), attach_tovehicle ) def gnss_callback(data): print(f位置: 纬度{data.latitude}, 经度{data.longitude}, 海拔{data.altitude}) gnss.listen(gnss_callback)![激光雷达工作原理](https://raw.gitcode.com/gh_mirrors/aut/Autopilot-Notes/raw/6d8c7ca722181eabea754764a461e80da97ea496/ch02_硬件/2.1 传感器/imgs/2.1.2.3.jpg?utm_sourcegitcode_repo_files)️ 步骤四构建真实交通场景生成交通流import random def spawn_traffic(world, blueprint_library, num_vehicles50): 生成交通车辆 vehicles [] vehicle_bps blueprint_library.filter(vehicle.*) for i in range(num_vehicles): # 随机选择车辆类型 bp random.choice(vehicle_bps) # 随机选择生成点 spawn_point random.choice(world.get_map().get_spawn_points()) try: vehicle world.spawn_actor(bp, spawn_point) vehicle.set_autopilot(True) # 设置自动驾驶 vehicles.append(vehicle) except: continue return vehicles # 生成50辆交通车辆 traffic_vehicles spawn_traffic(world, blueprint_library, 50)添加行人# 生成行人 walker_bp blueprint_library.filter(walker.pedestrian.*) walker_controller_bp blueprint_library.find(controller.ai.walker) spawn_point carla.Transform( carla.Location(x-6, y0, z1.5), carla.Rotation(yaw-90) ) walker world.spawn_actor(walker_bp[0], spawn_point) controller world.spawn_actor(walker_controller_bp, carla.Transform(), attach_towalker) # 控制行人移动 controller.start() controller.go_to_location(carla.Location(x10, y0, z1.5)) controller.set_max_speed(1.4) # 最大速度1.4米/秒动态天气系统# 设置不同天气条件 weather world.get_weather() # 晴天 weather.sun_altitude_angle 90 weather.cloudiness 10 weather.precipitation 0 weather.fog_density 0 world.set_weather(weather) # 雨天 weather.sun_altitude_angle 30 weather.cloudiness 90 weather.precipitation 80 weather.fog_density 20 world.set_weather(weather) # 雾天 weather.sun_altitude_angle 15 weather.cloudiness 70 weather.precipitation 20 weather.fog_density 80 world.set_weather(weather)![毫米波雷达传感器](https://raw.gitcode.com/gh_mirrors/aut/Autopilot-Notes/raw/6d8c7ca722181eabea754764a461e80da97ea496/ch02_硬件/2.1 传感器/imgs/2.1.3.1.jpg?utm_sourcegitcode_repo_files) 步骤五数据采集与处理多传感器同步采集import os # 创建数据保存目录 output_dir /data/carla_dataset os.makedirs(output_dir, exist_okTrue) # 传感器列表 sensors {} # RGB相机数据采集 camera.listen(lambda img: img.save_to_disk(f{output_dir}/camera/{img.frame}.png)) # LiDAR数据采集 lidar.listen(lambda data: data.save_to_disk(f{output_dir}/lidar/{data.frame}.ply)) # IMU数据采集 imu_bp blueprint_library.find(sensor.other.imu) imu world.spawn_actor(imu_bp, carla.Transform(), attach_tovehicle) imu_data [] def imu_callback(data, imu_listimu_data): imu_list.append({ frame: data.frame, accelerometer: [data.accelerometer.x, data.accelerometer.y, data.accelerometer.z], gyroscope: [data.gyroscope.x, data.gyroscope.y, data.gyroscope.z] }) imu.listen(lambda data: imu_callback(data)) # 采集60秒数据 import time vehicle.set_autopilot(True) time.sleep(60) # 保存IMU数据 import json with open(f{output_dir}/imu.json, w) as f: json.dump(imu_data, f, indent2)传感器数据同步# 启用同步模式 settings world.get_settings() settings.fixed_delta_seconds 0.05 # 50ms时间步长 settings.synchronous_mode True world.apply_settings(settings) # 主循环同步采集 for frame in range(1000): # 采集1000帧 world.tick() # 推进仿真时间 # 在这里处理所有传感器数据 # 所有传感器的回调函数会在world.tick()后同步执行 time.sleep(0.05) # 等待50ms![GPS定位系统](https://raw.gitcode.com/gh_mirrors/aut/Autopilot-Notes/raw/6d8c7ca722181eabea754764a461e80da97ea496/ch02_硬件/2.1 传感器/imgs/2.1.5.1.jpg?utm_sourcegitcode_repo_files) 步骤六实战应用与优化端到端自动驾驶测试import pygame import numpy as np # 初始化Pygame显示 pygame.init() display pygame.display.set_mode((1280, 720)) clock pygame.time.Clock() # 图像处理回调 image_array [] def camera_callback(image): array np.frombuffer(image.raw_data, dtypenp.dtype(uint8)) array array.reshape((image.height, image.width, 4)) image_array.append(array[:, :, :3]) camera.listen(camera_callback) # 主显示循环 try: while True: for event in pygame.event.get(): if event.type pygame.QUIT: raise StopIteration if image_array: img image_array.pop(0) img img[:, :, ::-1] # BGR转RGB surface pygame.surfarray.make_surface(img.swapaxes(0, 1)) display.blit(surface, (0, 0)) pygame.display.flip() clock.tick(30) # 30FPS finally: # 清理资源 vehicle.destroy() camera.destroy() pygame.quit()性能优化技巧# 降低画质提高帧率 ./CarlaUE4.sh -quality-levelLow # 无窗口模式运行服务器模式 ./CarlaUE4.sh -carla-server -RenderOffScreen # 使用OpenGL渲染兼容性更好 ./CarlaUE4.sh -opengl常见问题解决连接超时问题client carla.Client(localhost, 2000) client.set_timeout(20.0) # 增加超时时间到20秒地图切换# 切换到不同城镇 world client.load_world(Town02) # Town01-Town12可选资源清理# 正确销毁Actor def cleanup(): for actor in world.get_actors(): if actor.is_alive: actor.destroy() 学习资源与进阶路径项目内相关资源官方文档ch08_工具/8.2 仿真/8.2.1 Carla仿真/readme.md - 完整的CARLA使用指南传感器知识ch02_硬件/2.1 传感器/ - 深入了解各类传感器原理每日前沿ch10_每日前沿/2026-02-24.md - 最新的CARLA仿真技术动态进阶学习建议掌握Python API深入理解carla.Client的所有方法学习传感器融合结合ch01_基础/1.3 滤波/中的滤波算法实践强化学习参考ch01_基础/1.10 强化学习/实现自动驾驶决策参与开源项目在CARLA社区贡献代码和案例 核心要点总结步骤关键技能学习目标1️⃣环境安装掌握CARLA在不同系统的安装方法2️⃣Python API理解客户端连接和基础控制3️⃣传感器配置学会配置多种传感器并采集数据4️⃣场景构建创建复杂的交通环境和天气条件5️⃣数据处理实现多传感器同步采集和存储6️⃣实战应用开发端到端自动驾驶测试系统 快速入门小贴士从简单开始先使用Town01地图熟悉基本操作逐步增加复杂度先实现单传感器再扩展到多传感器融合利用官方示例CARLA自带丰富的Python示例代码加入社区关注CARLA GitHub仓库和论坛获取最新资讯实践出真知多动手编写代码调试和优化通过这6个步骤你已经掌握了CARLA仿真平台的核心技能 无论是学术研究还是工业应用CARLA都能为你提供强大的仿真支持。现在就开始你的自动驾驶仿真之旅吧提示所有代码示例都可以在项目中的ch08_工具/8.2 仿真/8.2.1 Carla仿真/目录找到完整实现。【免费下载链接】Autopilot-Notes自动驾驶笔记以解析各模块知识点、整合行业优秀解决方案进行阐述以帮助自己及有需要的读者包含深度学习、deeplearning、无人驾驶、BEV、Transformer、ADAS、CVPR、特斯拉AI DAY、大模型、chatgpt等内容.项目地址: https://gitcode.com/gh_mirrors/aut/Autopilot-Notes创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

HookLib²完全指南:纯C打造的终极函数拦截库,支持用户态与内核态
2026/7/4 8:00:45

HookLib²完全指南:纯C打造的终极函数拦截库,支持用户态与内核态

HookLib完全指南:纯C打造的终极函数拦截库,支持用户态与内核态 【免费下载链接】HookLib The functions interception library written on pure C and NativeAPI with UserMode and KernelMode support 项目地址: https://gitcode.com/gh_mirrors/ho/H…

阅读更多
Error Lens高级用法:自定义消息模板与样式终极指南
2026/7/4 8:00:45

Error Lens高级用法:自定义消息模板与样式终极指南

Error Lens高级用法:自定义消息模板与样式终极指南 【免费下载链接】vscode-error-lens VSCode extension that enhances display of errors and warnings. 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-error-lens Error Lens是一款强大的VSCode扩展…

阅读更多
Spirit Web Player与GSAP集成教程:打造专业级网页动画效果
2026/7/4 7:00:45

Spirit Web Player与GSAP集成教程:打造专业级网页动画效果

Spirit Web Player与GSAP集成教程:打造专业级网页动画效果 【免费下载链接】spirit 🙌 Play Spirit animations on the web 项目地址: https://gitcode.com/gh_mirrors/spi/spirit Spirit Web Player是一款强大的网页动画播放工具,结合…

阅读更多
E-Hentai-Downloader 插件按钮消失问题分析与解决方案
2026/7/4 9:00:46

E-Hentai-Downloader 插件按钮消失问题分析与解决方案

E-Hentai-Downloader 插件按钮消失问题分析与解决方案 问题现象 在使用 E-Hentai-Downloader 插件时,部分用户可能会遇到下载和设置按钮突然消失的情况。这种现象通常表现为插件虽然显示已安装并启用,但在目标页面上却无法看到应有的功能按钮。 可能原因…

阅读更多
理工科博士生AI工具选型指南:Claude Pro与GPT Plus科研适配度深度对比
2026/7/4 9:00:46

理工科博士生AI工具选型指南:Claude Pro与GPT Plus科研适配度深度对比

1. 这不是选“AI会员”,而是选科研生产力杠杆——理工科博士生的模型决策逻辑你正在写第三章仿真参数优化,Matlab跑完一组结果要47分钟,而隔壁组用PythonPyTorch自动调参脚本,22分钟出5组对比方案;你卡在论文引言里“已…

阅读更多
UniApp相关知识点整理
2026/7/4 9:00:46

UniApp相关知识点整理

一、基础概念 1. UniApp 是什么?和 Vue/小程序有何区别? 答案: UniApp 是基于 Vue.js 的跨平台框架,一套代码可编译到 iOS、Android、H5、小程序等平台。 与 Vue 区别:UniApp 使用 Vue 的语法,但组件和 A…

阅读更多
delphi12 sqlserver 客户-服务简单连接设置
2026/7/4 9:00:46

delphi12 sqlserver 客户-服务简单连接设置

服务端组件:TSQLConnection,TSQLDataSet,TSQLQuery,TDataSetProvider 客户端组件:TSQLConnection,TDSProviderConnection,TClientDataSet,TDataSource 连接 服务端 打开delphi新建程序,File -> New -> Other -> DataSnap -> DataSnap Server -> O…

阅读更多
如何高效使用Mole AI清理工具:终极Mac系统优化指南
2026/7/4 9:00:46

如何高效使用Mole AI清理工具:终极Mac系统优化指南

如何高效使用Mole AI清理工具:终极Mac系统优化指南 【免费下载链接】Mole 🐹 Clean, uninstall, analyze, optimize, and monitor your Mac from the terminal. 项目地址: https://gitcode.com/GitHub_Trending/mole15/Mole Mole是一款专为Mac设计…

阅读更多
CANN PID控制性能指标基准测试
2026/7/4 8:00:45

CANN PID控制性能指标基准测试

PidControlPerformanceMetrics 测试报告 【免费下载链接】mat-chem-sim-pred 面向工业领域,聚焦计算仿真、预测两大核心场景,构建面向流程工业"机理数据"双轮驱动的领域计算层,推动AI for Science在材料化学领域的深度应用。 项目…

阅读更多
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告
2026/7/3 19:49:14

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

阅读更多
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?
2026/7/3 2:39:23

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

阅读更多
Axure RP中文界面终极解决方案:3分钟告别英文困扰
2026/7/4 0:00:44

Axure RP中文界面终极解决方案:3分钟告别英文困扰

Axure RP中文界面终极解决方案:3分钟告别英文困扰 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英…

阅读更多
STM32F745VG与MC6470 IMU的高性能姿态控制系统设计
2026/7/4 0:00:44

STM32F745VG与MC6470 IMU的高性能姿态控制系统设计

1. MC6470与STM32F745VG的黄金组合解析在工业自动化和机器人控制领域,传感器与微控制器的协同工作能力直接决定了系统的响应速度和定位精度。MC6470作为一款6自由度惯性测量单元(6DOF IMU),与STM32F745VG这款基于ARM Cortex-M7内核的高性能微控制器组合&…

阅读更多
本地部署SAM Audio音频语义分割模型完整指南
2026/7/4 0:00:44

本地部署SAM Audio音频语义分割模型完整指南

1. 项目概述:为什么要在本地跑 SAM Audio?这不只是“能用”,而是“必须用”SAM Audio——全称是 Segment Anything Model for Audio,不是 Meta 那个视觉领域的 SAM(Segment Anything Model)的简单移植&…

阅读更多
基于Dify与DeepSeek构建私有知识库问答系统实战指南
2026/7/3 2:40:23

基于Dify与DeepSeek构建私有知识库问答系统实战指南

在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…

阅读更多
FAE放射组学分析工具:医学影像特征探索的完整解决方案
2026/7/4 5:24:16

FAE放射组学分析工具:医学影像特征探索的完整解决方案

FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE 你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…

阅读更多
DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖!
2026/7/3 11:08:19

DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖!

DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖! 【免费下载链接】DesktopNaotu 桌面版脑图 (百度脑图离线版,思维导图) 跨平台支持 Windows/Linux/Mac OS. (A cross-platform multilingual Mind Map Tool) 项目地址:…

阅读更多