控制相关命令

命令 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 服务器后发送此命令作为第一个命令。每个客户端必须被分配一个唯一的整数,但在编号方面没有进一步的限制。