跳过主要内容

规划

为了让汽车自己驾驶,我们首先需要规划我们想要走的路。

GPS (全球定位系统)

为此,我们将使用 gps 来跟踪从当前位置到目标位置的路线。

Carla GlobalRoutePlanner 使我们能够从给定地图的两点获取路线。 我们已封装此函数在“operators/carla_gps_op.py”。

以下算子将计算从当前 position 到给定 opendrive 地图的 objective_waypoints 的路线。

  - id: carla_gps_op
operator:
python: ../../carla/carla_gps_op.py
outputs:
- gps_waypoints
inputs:
opendrive: oasis_agent/opendrive
objective_waypoints: oasis_agent/objective_waypoints
position: oasis_agent/position

在全部坐标,航点作为一个 内有 x,y,速度 数据表示的,成员类型为 float32 的数组定义。

规划器

GPS航点不考虑障碍物。 为了避免碰撞,我们可以实现一个可以避开障碍物的运动规划器。

我们将重用一个名为“fot”(Frenet 最优轨迹)的模型作为黑匣子,该模型将起始位置和目标航点以及障碍物列表作为输入,并输出要跟随的最佳航点。

  - id: fot_op
operator:
python: operators/fot_op.py
outputs:
- waypoints
inputs:
position: oasis_agent/position
obstacles: obstacle_location_op/obstacles
gps_waypoints: carla_gps_op/gps_waypoints

要测试两者:

dora up
dora start graphs/oasis/oasis_agent_planning.yaml --attach

更多信息在 fot, 去至 我们的 fot 细节页面