代理配置

HoloOcean 代理在场景字典中以列表形式声明。每个代理都使用列表中的一个新字典进行定义。

注意

代理数组中的第一个代理是“主代理”。

"agents":[
   {
      "agent_name": "uav0",
      "agent_type": "{agent types}",
      "sensors": [
         "array of sensor objects"
      ],
      "location": [1.0, 2.0, 3.0],
      "rotation": [1.0, 2.0, 3.0],
      "location_randomization": [1, 2, 3],
      "rotation_randomization": [10, 10, 10],
      "control_scheme": "{control scheme type}",
   },
   {
      "agent_name": "uav1",
      ...
   }
]

以下是代理字典中各键的说明:

代理名称

agent_name 是一个字符串,用于指定代理的名称。此名称用于在与环境交互时识别代理。

代理类型

agent_type 是一个字符串,用于指定代理的类型。下表列出了 agent_type 的当前有效参数:

代理类型 agent_type 中的字符串
HoveringAUV HoveringAUV
SurfaceVessel SurfaceVessel
TorpedoAUV TorpedoAUV
CougUV CougUV
BlueROV2 BlueROV2
SphereAgent SphereAgent
TurtleAgent TurtleAgent
FixedWing FixedWing
UAV UAV
哈士奇载具 HuskyVehicle

您可以在 HoloOcean 代理 中的各个代理页面找到每个代理的详细信息。随着更多代理加入 HoloOcean,此列表将会更新。

传感器

sensors 是一个传感器对象数组,这些传感器对象附加到代理上。每个传感器都使用列表中的一个新字典进行定义。有关配置和使用传感器的详细信息,请参阅传感器配置

位置和旋转

这些键定义了代理在世界中的位置和方向,分别以米和度为单位。位置的格式为 [dx, dy, dz],旋转的格式为 [roll, pitch, yaw],绕 XYZ 固定轴旋转,即

注意

  • 位置使用 HoloOcean 世界坐标,而不是虚幻引擎关卡坐标!

  • HoloOcean 坐标系采用右手坐标,单位为米。

  • 有关详细信息,请参阅 HoloOcean 中的单位和坐标

位置随机化

location_randomizationrotation_randomization 是可选参数。如果提供,代理的起始位置和/或旋转角度将根据指定范围内的均匀采样值进行随机变化。每个方向的随机化是独立采样的。

位置随机化值以米为单位,格式为 [dx, dy, dz]。旋转随机化值格式为 [roll, pitch, yaw],绕 XYZ 固定轴旋转(即 )。

控制方案

control_scheme 是一个字符串,用于指定智能体使用的控制方案(以整数表示)。

控制方案决定了发送给代理的命令如何被解释。大多数代理都具有一种控制方案,该方案允许直接命令控制其推进器、鳍片等。其他控制方案则实现了诸如位置 PID 控制器等便捷功能。用户可以使用自定义动力学控制方案来微调飞行器的运动。

有关控制方案的更多详细信息,请参阅控制方案

参考