
# 实体设置（Entities）
#### 车辆和控制器（Vehicle and controller）
通过***车辆名: vehicle*** 的方式来为车辆命名。通过***keep(it.name == 指定车型名称)*** 的方式来指定车辆类型。通过***keep(it.initial_bm == 指定controller名称)***的方式来指定controller类型，目前均只能支持仿真器B内置的车辆和controller类型。生成文件会自动适配车辆信息。
name，initial_bm等车辆属性需要在仿真器的catalog列表中定义，不同仿真器的预定义的catalog内容有所不同，需要在撰写场景文件时确认使用的车型、controller名称在仿真器catalog中已经存在。
![](https://support.huaweicloud.com/usermanual-octopus/public_sys-resources/notice_3.0-zh-cn.png)
- name为必选项，initial_bm非必选项。
- 主车必须命名为Ego，否则仿真器B将无法识别。
 
**例1：主车，指定initial_bm**
```
Ego_name: string = "Audi_A3_2009_black"
Ego_controller: string = "DefaultDriver"
Ego: vehicle with:
    keep(it.name == Ego_name)
    keep(it.initial_bm == Ego_controller)
```
**例2：非主车，不指定initial_bm**
```
cut_in_vehicle: vehicle with:
    keep(it.name == "Audi_A3_2009_red")
```
**例3(仿真器B)：主车，指定initial_bm**
```
cut_in_vehicle: vehicle with:
    keep(it.name == "Saimo")
    keep(it.initial_bm == "默认驾驶员")
```
**例4(仿真器B)：非主车，不指定initial_bm**
```
cut_in_vehicle: vehicle with:
    keep(it.name == "Saimo")
```
#### 行人（Pedestrian）
通过***行人名: person*** 的方式来为行人命名。通过***keep(it.name == 指定行人名称)*** 的方式来指定行人类型。通过***keep(it. model == 指定行人特征)***的方式来指定行人的性别、年龄特征。
**样例**
```
Dude: person with:
    keep(it.name == "Christian")
    keep(it.model == "male_adult")
```
