Prediction 中的 evaluator 只是对给定的预测轨迹得到它的 probability,而这个预测轨迹是通过 Predictor 得到的吗? 是通过 Predictor 得出障碍物的几个候选轨迹,再由 evaluator 对这些预测轨迹做评估吗?mlp_evaluator 的输入是 OBSTACLE_FEATURE 和 LANE_FEATURE,这个 LANE_FEATURE 是什么?
预测轨迹在ObstaclesContainer中完成,每当有一个PerceptionObstacle加入到ObstaclesContainer,就会对障碍物轨迹进行预测,得到障碍物所在车道的一个LaneGraph,里面的每个LaneSequence就是障碍物可能的运动轨迹,每条轨迹会采样约20个LanePoint简单地对轨迹做离散保存。
Evaluator是对每个可能的运动轨迹做概率预测,OBSTACLE_FEATURE是障碍物本身的属性,LANE_FEATURE则是障碍物和运动轨迹(去比较LanePoint)的相似度属性,至少要保证障碍物与轨迹的距离和方向是相似的不是吗。
Predictor是对障碍物的运动轨迹做过滤,如果主车和障碍物运动轨迹不重叠,那么运动轨迹是可能的;如果重叠,就计算主车和运动轨迹第一个LanePoint的距离,过近说明这条轨迹是不太可能的,毕竟障碍物也是智能体,看到无人车在车道行驶距离自己又很近,直接冲到无人车的车道是不太可能的。最后一步就是构建障碍物到运动轨迹一个点LanePoint的短期运动轨迹供Planning模块做短期路径规划,采样约50个点。
Thank you @YannZyl for answering the question correctly. @chasingw , please let me know if the answer resolves your issue. If so, please kindly close the issue. Thank you for using Apollo.
谢谢回答 @YannZyl @kechxu
Most helpful comment
预测轨迹在ObstaclesContainer中完成,每当有一个PerceptionObstacle加入到ObstaclesContainer,就会对障碍物轨迹进行预测,得到障碍物所在车道的一个LaneGraph,里面的每个LaneSequence就是障碍物可能的运动轨迹,每条轨迹会采样约20个LanePoint简单地对轨迹做离散保存。
Evaluator是对每个可能的运动轨迹做概率预测,OBSTACLE_FEATURE是障碍物本身的属性,LANE_FEATURE则是障碍物和运动轨迹(去比较LanePoint)的相似度属性,至少要保证障碍物与轨迹的距离和方向是相似的不是吗。
Predictor是对障碍物的运动轨迹做过滤,如果主车和障碍物运动轨迹不重叠,那么运动轨迹是可能的;如果重叠,就计算主车和运动轨迹第一个LanePoint的距离,过近说明这条轨迹是不太可能的,毕竟障碍物也是智能体,看到无人车在车道行驶距离自己又很近,直接冲到无人车的车道是不太可能的。最后一步就是构建障碍物到运动轨迹一个点LanePoint的短期运动轨迹供Planning模块做短期路径规划,采样约50个点。