仿真方面研究,希望掌握仿真技术
前言
学习参考文档:
1.小飞自动驾驶系列分享
1. Carla基本架构
Client-Server的交互形式:Carla主要分为Server与Client两个模块,Server端用来建立这个仿真世界,而Client端则是由用户控制,用来调整、变化这个仿真世界。
- Server: Server端负责任何与仿真本身相关的事情:从3D渲染汽车、街道、建筑,传感器模型的构建,到物理计算等等。它就像一个造物主, 将整个世界建造出来,并且根据Client 的外来指令更新这个世界。它本身是基于UnrealEnigne做出的3D渲染(很多游戏都是使用这个强大的引擎做的哦)。
- Client: 如果server构造了整个世界,那么这个世界不同时刻到底该如何运转(比如天气是什么样,有多少辆车在跑,速度是多少)则是由Client端控制的。用户通过书写Python脚本(最新版本C++ 也可以)来向Server端输送指令指导世界的变化,Server根据用户的指令去执行。(可以理解为Client端耍耍嘴皮子下个指令,咱们的造物主亲力亲为去执行这些指令。) 另外,Client端也可以接受Server端的信息,譬如某个照相机拍到的路面图片。
Carla核心模块
- Traffic Manager: 自动驾驶之所以难搞,很核心的一个原因就是现实世界车太多了!试想如果整个世界就你一辆车在大马路上跑,自动驾驶恐怕早实现了。因此,Carla专门构造了Traffic Manager这个模块来模拟类似现实世界负责的交通环境。通过这个模块,用户可以定义N多不同车型、不同行为模式、不同速度的车辆在路上愉快地与你的自动驾驶汽车(Ego-Vehicle)一起玩耍。这个模块后面会详细讲解。
- Sensors: Carla里面有各种各样模拟真实世界的传感器模型,包括相机、激光雷达

本文介绍了Carla仿真平台的基本架构和安装过程。Carla采用Client-Server模式,Server端基于Unreal Engine构建仿真世界,而Client端通过Python脚本控制世界运行。核心模块包括Traffic Manager用于模拟复杂交通环境,Sensors模拟各类传感器,Recorder记录仿真状态,以及ROS bridge实现与ROS交互。在安装部分,讨论了预编译版本和源码编译的选择,推荐使用Python 3.7的虚拟环境安装whl文件。
6176

被折叠的 条评论
为什么被折叠?



