命令 0x00: 获取版本#
| 参数 | Python 方法 |
|---|---|
| - | getVersion |
响应 0x00: 版本#
| ValueType | 描述 | Python 方法 |
|---|---|---|
| tuple | 返回一个元组,包含 TraCI API 版本号(整数)和一个以人类可读形式标识 TraCI 服务器上运行的 SUMO 版本的字符串。 | getVersion |
服务器通过发送两个项目来响应获取版本命令:
- 一个整数 API 版本号,用于标识 TraCI API 的当前状态
- 保证在以下情况发生时会增加:
- TraCI 消息格式发生变化
- TraCI 命令格式发生变化
- 任何 TraCI 命令的含义发生变化(例如,“0xff: stop”从“立即停止”变为“减速,如果可能则停止”)
- 任何 TraCI 参数或返回值的含义发生变化(例如,“time”参数从秒变为毫秒)
- 任何 TraCI 参数或返回值的类型发生变化(例如,“time”参数从 int 变为 double)
- 命令被移除
- 在以下事件中不会增加:
- 添加新命令
- 添加可选参数
- 添加参数类型
- 添加结果类型
- 对 python(或任何其他)客户端实现的更改,只要不影响发送的字节序列
- API 版本应在引入更改后立即增加,但至少在下一次发布时增加
- 保证在以下情况发生时会增加:
- 一个标识符字符串,以人类可读形式标识 TraCI 服务器上运行的软件版本
- 不保证此字符串的内容
- 对于 SUMO,此字符串的格式为 "SUMO " 后跟版本号,例如 "SUMO v1_6_0" 或 "SUMO v1_6_0+1493-02f4414fa4"
- 有关 SUMO 版本的更多信息,请参阅版本控制。
Note
客户端可以通过查看命令的状态响应来确定当前 TraCI 服务器(即 SUMO)是否支持特定命令。它可能会报告“未实现”。
命令 0x02: 仿真步进#
| 变量 | ValueType | 描述 | Python 方法 |
|---|---|---|---|
| simulationStep (0x02) | double | 执行一个仿真步进。 | simulationStep |
强制 SUMO 执行仿真。如果 TargetTime 为 0(零),SUMO 恰好执行一个时间步进。否则,SUMO 将执行仿真直到达到给定的时间步进。如果给定的时间步进小于或等于当前仿真步进,则 SUMO 不执行任何操作。对于多客户端场景,目前仅支持 TargetTime 0。
响应 0x02: 仿真步进#
此命令的响应是一个订阅响应列表,包含针对最后执行的步进的TraCI/对象变量订阅和/或TraCI/对象上下文订阅:
| integer | <SUBSCRIPTION RESPONSE> | ... | <SUBSCRIPTION RESPONSE> |
| 后续订阅响应的数量 | <RESPONSE#1> | ... | <RESPONSE#n> |
请注意,两种订阅类型的返回值不同,因此解析器应考虑返回命令的 id。
命令 0x7D: 执行移动#
| 参数 | Python 方法 |
|---|---|
| - | executeMove |
仅执行仿真步进的第一部分,直到车辆移动但在生成输出之前。随后调用仿真步进将创建输出。
命令 0x7F: 关闭#
| 参数 | Python 方法 |
|---|---|
| - | close |
告诉 TraCI 关闭与任何客户端的连接,停止仿真并关闭 sumo。
命令 0x01: 加载#
| 选项 | 描述 | Python 方法 |
|---|---|---|
| stringList | 让 sumo 使用给定的命令行选项加载仿真 | load |
告诉 TraCI 使用给定的选项重新加载仿真。
Caution
当使用多个客户端时,加载目前无法工作。
命令 0x03: 设置顺序#
| 参数 | ValueType | 描述 | Python 方法 |
|---|---|---|---|
| client number | int | 指定执行顺序(当使用多个客户端时) | setOrder |
告诉 TraCI 将当前客户端分配到执行顺序中的给定位置。当使用多个客户端时,必须在连接到 TraCI 服务器后发送此命令作为第一个命令。每个客户端必须被分配一个唯一的整数,但在编号方面没有进一步的限制。
