Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
568ab835
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,发现更多精彩内容 >>
提交
568ab835
编写于
8月 11, 2017
作者:
Z
Zhang Liangliang
提交者:
Jiangtao Hu
8月 11, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Planning: fixed a bug in st_boundary_mapper: should process upper/lower points out of for loop.
上级
2242686b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
28 addition
and
27 deletion
+28
-27
modules/planning/optimizer/dp_st_speed/dp_st_speed_optimizer.cc
...s/planning/optimizer/dp_st_speed/dp_st_speed_optimizer.cc
+0
-1
modules/planning/optimizer/st_graph/st_boundary_mapper.cc
modules/planning/optimizer/st_graph/st_boundary_mapper.cc
+26
-24
modules/planning/optimizer/st_graph/st_graph_boundary.cc
modules/planning/optimizer/st_graph/st_graph_boundary.cc
+2
-2
未找到文件。
modules/planning/optimizer/dp_st_speed/dp_st_speed_optimizer.cc
浏览文件 @
568ab835
...
...
@@ -80,7 +80,6 @@ Status DpStSpeedOptimizer::Process(const PathData& path_data,
AERROR
<<
msg
;
return
Status
(
ErrorCode
::
PLANNING_ERROR
,
msg
);
}
// step 2 perform graph search
SpeedLimit
speed_limit
;
if
(
!
boundary_mapper
.
GetSpeedLimits
(
&
speed_limit
).
ok
())
{
...
...
modules/planning/optimizer/st_graph/st_boundary_mapper.cc
浏览文件 @
568ab835
...
...
@@ -234,8 +234,10 @@ Status StBoundaryMapper::MapObstacleWithoutDecision(
}
const
auto
&
trajectory
=
obstacle
->
Trajectory
();
if
(
trajectory
.
trajectory_point_size
()
==
0
)
{
AWARN
<<
"Obstacle (id = "
<<
obstacle
->
Id
()
<<
") has NO prediction trajectory."
;
std
::
string
msg
=
common
::
util
::
StrCat
(
"Obstacle (id = "
,
obstacle
->
Id
(),
") has NO prediction trajectory."
);
AERROR
<<
msg
;
return
Status
(
ErrorCode
::
PLANNING_ERROR
,
msg
);
}
for
(
int
j
=
0
;
j
<
trajectory
.
trajectory_point_size
();
++
j
)
{
...
...
@@ -275,29 +277,29 @@ Status StBoundaryMapper::MapObstacleWithoutDecision(
adc_path_points
[
high
].
s
()
+
st_boundary_config_
.
point_extension
(),
trajectory_point_time
);
}
if
(
lower_points
.
size
()
>
0
)
{
boundary_points
.
clear
();
const
double
buffer
=
st_boundary_config_
.
follow_buffer
();
boundary_points
.
emplace_back
(
lower_points
.
at
(
0
).
s
()
-
buffer
,
lower_points
.
at
(
0
).
t
());
boundary_points
.
emplace_back
(
lower_points
.
back
().
s
()
-
buffer
,
lower_points
.
back
().
t
());
boundary_points
.
emplace_back
(
upper_points
.
back
().
s
()
+
buffer
+
st_boundary_config_
.
boundary_buffer
(),
upper_points
.
back
().
t
());
boundary_points
.
emplace_back
(
upper_points
.
at
(
0
).
s
()
+
buffer
,
upper_points
.
at
(
0
).
t
());
if
(
lower_points
.
at
(
0
).
t
()
>
lower_points
.
back
().
t
()
||
upper_points
.
at
(
0
).
t
()
>
upper_points
.
back
().
t
())
{
AWARN
<<
"lower/upper points are reversed."
;
}
}
if
(
lower_points
.
size
()
>
0
&&
upper_points
.
size
()
>
0
)
{
boundary_points
.
clear
();
const
double
buffer
=
st_boundary_config_
.
follow_buffer
();
boundary_points
.
emplace_back
(
lower_points
.
at
(
0
).
s
()
-
buffer
,
lower_points
.
at
(
0
).
t
());
boundary_points
.
emplace_back
(
lower_points
.
back
().
s
()
-
buffer
,
lower_points
.
back
().
t
());
boundary_points
.
emplace_back
(
upper_points
.
back
().
s
()
+
buffer
+
st_boundary_config_
.
boundary_buffer
(),
upper_points
.
back
().
t
());
boundary_points
.
emplace_back
(
upper_points
.
at
(
0
).
s
()
+
buffer
,
upper_points
.
at
(
0
).
t
());
if
(
lower_points
.
at
(
0
).
t
()
>
lower_points
.
back
().
t
()
||
upper_points
.
at
(
0
).
t
()
>
upper_points
.
back
().
t
())
{
AWARN
<<
"lower/upper points are reversed."
;
}
const
double
area
=
GetArea
(
boundary_points
);
if
(
Double
::
Compare
(
area
,
0.0
)
>
0
)
{
boundary
->
emplace_back
(
&
path_obstacle
,
boundary_points
);
boundary
->
back
().
set_id
(
obstacle
->
Id
());
skip
=
false
;
}
const
double
area
=
GetArea
(
boundary_points
);
if
(
Double
::
Compare
(
area
,
0.0
)
>
0
)
{
boundary
->
emplace_back
(
&
path_obstacle
,
boundary_points
);
boundary
->
back
().
set_id
(
obstacle
->
Id
());
skip
=
false
;
}
}
return
skip
?
Status
(
ErrorCode
::
PLANNING_SKIP
,
"PLANNING_SKIP"
)
...
...
modules/planning/optimizer/st_graph/st_graph_boundary.cc
浏览文件 @
568ab835
...
...
@@ -118,7 +118,7 @@ bool StGraphBoundary::GetUnblockSRange(const double curr_time, double* s_upper,
Vec2d
p_s_second
;
if
(
!
GetOverlap
(
segment
,
&
p_s_first
,
&
p_s_second
))
{
A
ERROR
<<
"curr_time["
<<
curr_time
A
DEBUG
<<
"curr_time["
<<
curr_time
<<
"] is out of the coverage scope of the boundary."
;
return
false
;
}
...
...
@@ -147,7 +147,7 @@ bool StGraphBoundary::GetBoundarySRange(const double curr_time, double* s_upper,
Vec2d
p_s_first
;
Vec2d
p_s_second
;
if
(
!
GetOverlap
(
segment
,
&
p_s_first
,
&
p_s_second
))
{
A
ERROR
<<
"curr_time["
<<
curr_time
A
DEBUG
<<
"curr_time["
<<
curr_time
<<
"] is out of the coverage scope of the boundary."
;
return
false
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录