引用与前言

  1. 官方网页【部分文字来源于此翻译】:https://carla.readthedocs.io/en/0.9.11/
  2. 知乎较为完全的介绍【部分文字来源于此】:https://www.zhihu.com/column/c_1324712096148516864

首先第一篇初入Carla请见:https://blog.csdn.net/qq_39537898/article/details/115921745 第二篇深入Carla时间设置见:https://blog.csdn.net/qq_39537898/article/details/117190371

1. 介绍

定义 What's it?

交通管理器(简称TM),其实感觉叫车辆管理器比较好,就是控制仿真世界里所有的车辆的。根据官方的介绍是:写在CARLA C++底层API里的。主要的功能目标呢就是为了构建像真实世界里的交通情况【我寻思着这也没法说真实就真实呀,比如超车 别车 等 再看看】用户可以设置自己的想要的行为方式,例如set specific learning circumstances [这里的学习环境是指场景设置吧 吧 吧] 每一个车辆管理器可以将其他车辆设置为自动模式,并添加进入自己的管理列表中

结构设计 Structure design

TM呢 是写在client这边的,也就是说如果你要设置在某个python的client中调用就行,这样直接能覆盖掉server那边的自动驾驶方式,因为TM这边是你可以进行设置的 这边的execution flow is divided in stages with independent operations and goals. [这里估计在说内核那边C++的设计了] 主要是这样好对应phase-related functionalities and data structures 以此提高计算的效率。每一个stage都是在不同的线程上运行的,通过我们上次说到的同步管理来进行stage之间的消息同步,注意此处的消息流是单方向的不是双向的

个性化设置 User customization

用户需要设置一些其他参数 以此实现控制自己的traffic flow方式,类似于车辆的行为模式,比如:

  1. 允许一些车辆直接忽略限速要求
  2. 允许一些车辆可以强制切换车道 [超车嘛?]

TM车辆管理的目的呢,也就是使得自己可以设置车辆的行为方式,以进行场景测试 [我默认就场景测试了]


2. Architecture 架构

这一块主要是前面引用参考中官方的英文翻译和知乎里的翻译摘取了 [更为详细的建议查看官方文档 里面有更多的超链],首先是这幅图,配合下面文字可能更清楚点

  1. 获取仿真器里的状态 就是提取仿真器里有哪些车辆 Store and update the current state of the simulation