提交 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, ...@@ -175,7 +175,11 @@ void Obstacle::Insert(const PerceptionObstacle& perception_obstacle,
InsertFeatureToHistory(feature); InsertFeatureToHistory(feature);
// Set obstacle motion status // Set obstacle motion status
SetMotionStatus(); if (FLAGS_use_navigation_mode) {
SetMotionStatusBySpeed();
} else {
SetMotionStatus();
}
// Trim historical features // Trim historical features
Trim(); Trim();
...@@ -977,6 +981,29 @@ void Obstacle::SetMotionStatus() { ...@@ -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) { void Obstacle::InsertFeatureToHistory(const Feature& feature) {
feature_history_.emplace_front(feature); feature_history_.emplace_front(feature);
ADEBUG << "Obstacle [" << id_ << "] inserted a frame into the history."; ADEBUG << "Obstacle [" << id_ << "] inserted a frame into the history.";
......
...@@ -226,6 +226,8 @@ class Obstacle { ...@@ -226,6 +226,8 @@ class Obstacle {
void SetMotionStatus(); void SetMotionStatus();
void SetMotionStatusBySpeed();
void InsertFeatureToHistory(const Feature& feature); void InsertFeatureToHistory(const Feature& feature);
void Trim(); void Trim();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册