Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
578fdb1f
A
apollo
项目概览
Pinoxchio
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
578fdb1f
编写于
1月 30, 2019
作者:
K
kechxu
提交者:
Kecheng Xu
2月 14, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Prediction: define a proto specific to frame env and add is_trainable
上级
ef62a2f9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
36 addition
and
7 deletion
+36
-7
modules/prediction/evaluator/evaluator_manager.cc
modules/prediction/evaluator/evaluator_manager.cc
+29
-5
modules/prediction/proto/feature.proto
modules/prediction/proto/feature.proto
+7
-2
未找到文件。
modules/prediction/evaluator/evaluator_manager.cc
浏览文件 @
578fdb1f
...
...
@@ -37,6 +37,26 @@ namespace prediction {
using
apollo
::
common
::
adapter
::
AdapterConfig
;
using
apollo
::
perception
::
PerceptionObstacle
;
namespace
{
bool
IsTrainable
(
const
ObstacleHistory
&
obstacle_history
)
{
if
(
obstacle_history
.
feature_size
()
==
0
)
{
return
false
;
}
const
Feature
&
latest_feature
=
obstacle_history
.
feature
(
0
);
if
(
latest_feature
.
id
()
==
-
1
)
{
return
false
;
}
if
(
latest_feature
.
priority
().
priority
()
==
ObstaclePriority
::
IGNORE
||
latest_feature
.
is_still
()
||
latest_feature
.
type
()
!=
PerceptionObstacle
::
VEHICLE
)
{
return
false
;
}
return
true
;
}
}
// namespace
EvaluatorManager
::
EvaluatorManager
()
{
RegisterEvaluators
();
}
void
EvaluatorManager
::
RegisterEvaluators
()
{
...
...
@@ -213,7 +233,7 @@ void EvaluatorManager::BuildCurrentFrameEnv() {
}
size_t
num_frames
=
std
::
min
(
static_cast
<
size_t
>
(
10
),
obstacle
->
history_size
());
Features
features
;
ObstacleHistory
obstacle_history
;
for
(
size_t
i
=
0
;
i
<
num_frames
;
++
i
)
{
const
Feature
&
obstacle_feature
=
obstacle
->
feature
(
i
);
Feature
feature
;
...
...
@@ -222,19 +242,23 @@ void EvaluatorManager::BuildCurrentFrameEnv() {
feature
.
mutable_position
()
->
CopyFrom
(
obstacle_feature
.
position
());
feature
.
set_theta
(
obstacle_feature
.
velocity_heading
());
if
(
obstacle_feature
.
id
()
!=
-
1
)
{
feature
.
mutable_polygon_point
()
->
CopyFrom
(
obstacle_feature
.
polygon_point
());
feature
.
mutable_polygon_point
()
->
CopyFrom
(
obstacle_feature
.
polygon_point
());
feature
.
set_length
(
obstacle_feature
.
length
());
feature
.
set_width
(
obstacle_feature
.
width
());
}
else
{
feature
.
set_length
(
5.0
);
feature
.
set_width
(
2.1
);
}
features
.
add_feature
()
->
CopyFrom
(
feature
);
obstacle_history
.
add_feature
()
->
CopyFrom
(
feature
);
}
obstacle_history
.
set_is_trainable
(
IsTrainable
(
obstacle_history
));
if
(
obstacle
->
id
()
!=
-
1
)
{
curr_frame_env
.
add_list_obstacle_features
()
->
CopyFrom
(
features
);
curr_frame_env
.
add_obstacles_history
()
->
CopyFrom
(
obstacle_history
);
}
else
{
curr_frame_env
.
mutable_ego_features
()
->
CopyFrom
(
features
);
curr_frame_env
.
mutable_ego_history
()
->
CopyFrom
(
obstacle_history
);
}
}
if
(
FLAGS_prediction_offline_mode
==
4
)
{
...
...
modules/prediction/proto/feature.proto
浏览文件 @
578fdb1f
...
...
@@ -113,8 +113,13 @@ message Features {
repeated
Feature
feature
=
1
;
}
message
ObstacleHistory
{
repeated
Feature
feature
=
1
;
optional
bool
is_trainable
=
2
[
default
=
false
];
}
message
FrameEnv
{
optional
double
timestamp
=
1
;
optional
Features
ego_features
=
2
;
repeated
Features
list_obstacle_features
=
3
;
optional
ObstacleHistory
ego_history
=
2
;
repeated
ObstacleHistory
obstacles_history
=
3
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录