提交 b7042b9c 编写于 作者: K kechxu 提交者: Kecheng Xu

Prediction: Only use speed to determine a static obstacle in navigation mode

上级 b9d92b48
......@@ -175,7 +175,11 @@ void Obstacle::Insert(const PerceptionObstacle& perception_obstacle,
InsertFeatureToHistory(feature);
// Set obstacle motion status
SetMotionStatus();
if (FLAGS_use_navigation_mode) {
SetMotionStatusBySpeed();
} else {
SetMotionStatus();
}
// Trim historical features
Trim();
......@@ -977,6 +981,29 @@ void Obstacle::SetMotionStatus() {
}
}
void Obstacle::SetMotionStatusBySpeed() {
int history_size = static_cast<int>(feature_history_.size());
if (history_size < 2) {
ADEBUG << "Obstacle [" << id_ << "] has no history and "
<< "is considered moving.";
if (history_size > 0) {
feature_history_.front().set_is_still(false);
}
return;
}
double speed_threshold = FLAGS_still_obstacle_speed_threshold;
double speed = feature_history_.front().speed();
if (FLAGS_use_navigation_mode) {
if (speed < speed_threshold) {
feature_history_.front().set_is_still(true);
} else {
feature_history_.front().set_is_still(false);
}
}
}
void Obstacle::InsertFeatureToHistory(const Feature& feature) {
feature_history_.emplace_front(feature);
ADEBUG << "Obstacle [" << id_ << "] inserted a frame into the history.";
......
......@@ -226,6 +226,8 @@ class Obstacle {
void SetMotionStatus();
void SetMotionStatusBySpeed();
void InsertFeatureToHistory(const Feature& feature);
void Trim();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册