Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
5a38ced2
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,发现更多精彩内容 >>
提交
5a38ced2
编写于
11月 07, 2019
作者:
K
kechxu
提交者:
Xiangquan Xiao
11月 07, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Prediction: deprecate direct dependencies on pose_container in prioritization
上级
588b91e6
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
23 addition
and
35 deletion
+23
-35
modules/prediction/scenario/prioritization/obstacles_prioritizer.cc
...ediction/scenario/prioritization/obstacles_prioritizer.cc
+23
-35
未找到文件。
modules/prediction/scenario/prioritization/obstacles_prioritizer.cc
浏览文件 @
5a38ced2
...
...
@@ -106,31 +106,24 @@ void ObstaclesPrioritizer::AssignIgnoreLevel() {
return
;
}
auto
pose_container
=
ContainerManager
::
Instance
()
->
GetContainer
<
PoseContainer
>
(
AdapterConfig
::
LOCALIZATION
);
if
(
pose_container
==
nullptr
)
{
AERROR
<<
"Pose container pointer is a null pointer."
;
return
;
}
const
PerceptionObstacle
*
pose_obstacle_ptr
=
pose_container
->
ToPerceptionObstacle
();
if
(
pose_obstacle_ptr
==
nullptr
)
{
AERROR
<<
"Pose obstacle pointer is a null pointer."
;
Obstacle
*
ego_obstacle_ptr
=
obstacles_container
->
GetObstacle
(
FLAGS_ego_vehicle_id
);
if
(
ego_obstacle_ptr
==
nullptr
)
{
AERROR
<<
"Ego obstacle nullptr found"
;
return
;
}
double
pose_theta
=
pose_obstacle_ptr
->
theta
();
double
pose_x
=
pose_obstacle_ptr
->
position
().
x
();
double
pose_y
=
pose_obstacle_ptr
->
position
().
y
();
ADEBUG
<<
"Get pose ("
<<
pose_x
<<
", "
<<
pose_y
<<
", "
<<
pose_theta
const
Feature
&
ego_feature
=
ego_obstacle_ptr
->
latest_feature
();
double
ego_theta
=
ego_feature
.
theta
();
double
ego_x
=
ego_feature
.
position
().
x
();
double
ego_y
=
ego_feature
.
position
().
y
();
ADEBUG
<<
"Get pose ("
<<
ego_x
<<
", "
<<
ego_y
<<
", "
<<
ego_theta
<<
")"
;
// Build rectangular scan_area
Box2d
scan_box
({
pose_x
+
FLAGS_scan_length
/
2.0
*
std
::
cos
(
pose
_theta
),
pose_y
+
FLAGS_scan_length
/
2.0
*
std
::
sin
(
pose
_theta
)},
pose
_theta
,
FLAGS_scan_length
,
FLAGS_scan_width
);
Box2d
scan_box
({
ego_x
+
FLAGS_scan_length
/
2.0
*
std
::
cos
(
ego
_theta
),
ego_y
+
FLAGS_scan_length
/
2.0
*
std
::
sin
(
ego
_theta
)},
ego
_theta
,
FLAGS_scan_length
,
FLAGS_scan_width
);
const
auto
&
obstacle_ids
=
obstacles_container
->
curr_frame_movable_obstacle_ids
();
...
...
@@ -147,8 +140,8 @@ void ObstaclesPrioritizer::AssignIgnoreLevel() {
Feature
*
latest_feature_ptr
=
obstacle_ptr
->
mutable_latest_feature
();
double
obstacle_x
=
latest_feature_ptr
->
position
().
x
();
double
obstacle_y
=
latest_feature_ptr
->
position
().
y
();
Vec2d
ego_to_obstacle_vec
(
obstacle_x
-
pose_x
,
obstacle_y
-
pose
_y
);
Vec2d
ego_vec
=
Vec2d
::
CreateUnitVec2d
(
pose
_theta
);
Vec2d
ego_to_obstacle_vec
(
obstacle_x
-
ego_x
,
obstacle_y
-
ego
_y
);
Vec2d
ego_vec
=
Vec2d
::
CreateUnitVec2d
(
ego
_theta
);
double
s
=
ego_to_obstacle_vec
.
InnerProd
(
ego_vec
);
double
pedestrian_like_nearby_lane_radius
=
...
...
@@ -333,21 +326,16 @@ void ObstaclesPrioritizer::AssignCautionLevelByEgoReferenceLine() {
return
;
}
auto
pose_container
=
ContainerManager
::
Instance
()
->
GetContainer
<
PoseContainer
>
(
AdapterConfig
::
LOCALIZATION
);
if
(
pose_container
==
nullptr
)
{
AERROR
<<
"Pose container pointer is a null pointer."
;
return
;
}
const
PerceptionObstacle
*
pose_obstacle_ptr
=
pose_container
->
ToPerceptionObstacle
();
if
(
pose_obstacle_ptr
==
nullptr
)
{
AERROR
<<
"Pose obstacle pointer is a null pointer."
;
Obstacle
*
ego_obstacle_ptr
=
obstacles_container
->
GetObstacle
(
FLAGS_ego_vehicle_id
);
if
(
ego_obstacle_ptr
==
nullptr
)
{
AERROR
<<
"Ego obstacle nullptr found"
;
return
;
}
double
pose_x
=
pose_obstacle_ptr
->
position
().
x
();
double
pose_y
=
pose_obstacle_ptr
->
position
().
y
();
const
Feature
&
ego_feature
=
ego_obstacle_ptr
->
latest_feature
();
double
ego_x
=
ego_feature
.
position
().
x
();
double
ego_y
=
ego_feature
.
position
().
y
();
double
ego_vehicle_s
=
std
::
numeric_limits
<
double
>::
max
();
double
ego_vehicle_l
=
std
::
numeric_limits
<
double
>::
max
();
double
accumulated_s
=
0.0
;
...
...
@@ -361,7 +349,7 @@ void ObstaclesPrioritizer::AssignCautionLevelByEgoReferenceLine() {
}
double
s
=
0.0
;
double
l
=
0.0
;
if
(
PredictionMap
::
GetProjection
({
pose_x
,
pose
_y
},
lane_info_ptr
,
&
s
,
&
l
))
{
if
(
PredictionMap
::
GetProjection
({
ego_x
,
ego
_y
},
lane_info_ptr
,
&
s
,
&
l
))
{
if
(
std
::
fabs
(
l
)
<
std
::
fabs
(
ego_vehicle_l
))
{
ego_vehicle_s
=
accumulated_s
+
s
;
ego_vehicle_l
=
l
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录