Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
89ea6e43
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,发现更多精彩内容 >>
提交
89ea6e43
编写于
9月 29, 2017
作者:
L
Liangliang Zhang
提交者:
Dong Li
9月 29, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Planning: use piecewise linear method to solve qp problem when spline (#493)
fails. fixed init point printout bug.
上级
68da6727
变更
8
展开全部
隐藏空白更改
内联
并排
Showing
8 changed file
with
865 addition
and
857 deletion
+865
-857
modules/common/vehicle_state/vehicle_state.cc
modules/common/vehicle_state/vehicle_state.cc
+6
-0
modules/planning/common/planning_gflags.cc
modules/planning/common/planning_gflags.cc
+4
-6
modules/planning/conf/planning_config.pb.txt
modules/planning/conf/planning_config.pb.txt
+1
-1
modules/planning/tasks/qp_spline_path/qp_spline_path_generator.cc
...planning/tasks/qp_spline_path/qp_spline_path_generator.cc
+5
-0
modules/planning/tasks/qp_spline_st_speed/qp_piecewise_st_graph.cc
...lanning/tasks/qp_spline_st_speed/qp_piecewise_st_graph.cc
+3
-4
modules/planning/tasks/qp_spline_st_speed/qp_spline_st_graph.cc
...s/planning/tasks/qp_spline_st_speed/qp_spline_st_graph.cc
+3
-4
modules/planning/tasks/qp_spline_st_speed/qp_spline_st_speed_optimizer.cc
.../tasks/qp_spline_st_speed/qp_spline_st_speed_optimizer.cc
+2
-1
modules/planning/testdata/garage_test/result_stop_obstacle_0.pb.txt
...anning/testdata/garage_test/result_stop_obstacle_0.pb.txt
+841
-841
未找到文件。
modules/common/vehicle_state/vehicle_state.cc
浏览文件 @
89ea6e43
...
...
@@ -55,6 +55,12 @@ Status VehicleState::Update(
InitAdcBoundingBox
();
ADEBUG
<<
x_
<<
", "
<<
y_
<<
", "
<<
z_
<<
", "
<<
roll_
<<
", "
<<
pitch_
<<
", "
<<
yaw_
<<
", "
<<
heading_
<<
", "
<<
kappa_
<<
", "
<<
linear_v_
<<
", "
<<
angular_v_
<<
", "
<<
timestamp_
<<
", "
<<
linear_a_y_
<<
", "
<<
pose_
.
ShortDebugString
()
<<
", "
<<
adc_bounding_box_
->
DebugString
();
return
Status
::
OK
();
}
...
...
modules/planning/common/planning_gflags.cc
浏览文件 @
89ea6e43
...
...
@@ -134,18 +134,16 @@ DEFINE_bool(enable_rule_layer, true,
/// common
DEFINE_double
(
stop_max_distance_buffer
,
4.0
,
"distance buffer of passing stop line"
);
DEFINE_double
(
stop_min_speed
,
0.1
,
"min speed for computing stop"
);
DEFINE_double
(
stop_max_deceleration
,
6.0
,
"max deceleration"
);
DEFINE_double
(
stop_min_speed
,
0.1
,
"min speed for computing stop"
);
DEFINE_double
(
stop_max_deceleration
,
6.0
,
"max deceleration"
);
/// traffic light
DEFINE_bool
(
enable_signal_lights
,
false
,
"enable signal_lights"
);
DEFINE_string
(
signal_light_virtual_object_id_prefix
,
"SL_"
,
"prefix for converting signal id to virtual object id"
);
DEFINE_double
(
max_deacceleration_for_yellow_light_stop
,
2.0
,
"treat yellow light as red when deceleration (abstract value"
" in m/s^2) is less than this threshold; otherwise treated"
" as green light"
);
" in m/s^2) is less than this threshold; otherwise treated"
" as green light"
);
/// crosswalk
DEFINE_bool
(
enable_crosswalk
,
false
,
"enable crosswalk"
);
DEFINE_string
(
crosswalk_virtual_object_id_prefix
,
"CW_"
,
...
...
modules/planning/conf/planning_config.pb.txt
浏览文件 @
89ea6e43
...
...
@@ -107,7 +107,7 @@ em_planner_config {
qp_piecewise_config {
number_of_evaluated_graph_t: 40
accel_kernel_weight: 1000.0
jerk_kernel_weight:
50
0.0
jerk_kernel_weight: 0.0
follow_weight: 8.0
stop_weight: 0.2
cruise_weight: 0.1
...
...
modules/planning/tasks/qp_spline_path/qp_spline_path_generator.cc
浏览文件 @
89ea6e43
...
...
@@ -62,6 +62,11 @@ bool QpSplinePathGenerator::Generate(
const
std
::
vector
<
const
PathObstacle
*>&
path_obstacles
,
const
SpeedData
&
speed_data
,
const
common
::
TrajectoryPoint
&
init_point
,
PathData
*
const
path_data
)
{
knots_
.
clear
();
evaluated_s_
.
clear
();
ADEBUG
<<
"Init point: "
<<
init_point
.
DebugString
();
if
(
!
CalculateInitFrenetPoint
(
init_point
,
&
init_frenet_point_
))
{
AERROR
<<
"Fail to map init point: "
<<
init_point
.
ShortDebugString
();
return
false
;
...
...
modules/planning/tasks/qp_spline_st_speed/qp_piecewise_st_graph.cc
浏览文件 @
89ea6e43
...
...
@@ -68,17 +68,16 @@ void QpPiecewiseStGraph::SetDebugLogger(
Status
QpPiecewiseStGraph
::
Search
(
const
StGraphData
&
st_graph_data
,
SpeedData
*
const
speed_data
,
const
std
::
pair
<
double
,
double
>&
accel_bound
)
{
ADEBUG
<<
init_point_
.
DebugString
();
cruise_
.
clear
();
init_point_
=
st_graph_data
.
init_point
();
ADEBUG
<<
"Init point:"
<<
init_point_
.
DebugString
();
// reset piecewise linear generator
generator_
.
reset
(
new
PiecewiseLinearGenerator
(
qp_st_speed_config_
.
qp_piecewise_config
().
number_of_evaluated_graph_t
(),
t_evaluated_resolution_
));
// start to search for best st points
init_point_
=
st_graph_data
.
init_point
();
if
(
!
ApplyConstraint
(
st_graph_data
.
init_point
(),
st_graph_data
.
speed_limit
(),
st_graph_data
.
st_boundaries
(),
accel_bound
)
.
ok
())
{
...
...
modules/planning/tasks/qp_spline_st_speed/qp_spline_st_graph.cc
浏览文件 @
89ea6e43
...
...
@@ -82,13 +82,13 @@ Status QpSplineStGraph::Search(const StGraphData& st_graph_data,
const
std
::
pair
<
double
,
double
>&
accel_bound
)
{
cruise_
.
clear
();
init_point_
=
st_graph_data
.
init_point
();
ADEBUG
<<
"init point:"
<<
init_point_
.
DebugString
();
// reset spline generator
spline_generator_
.
reset
(
new
Spline1dGenerator
(
t_knots_
,
qp_st_speed_config_
.
qp_spline_config
().
spline_order
()));
// start to search for best st points
init_point_
=
st_graph_data
.
init_point
();
if
(
!
ApplyConstraint
(
st_graph_data
.
init_point
(),
st_graph_data
.
speed_limit
(),
st_graph_data
.
st_boundaries
(),
accel_bound
)
.
ok
())
{
...
...
@@ -142,7 +142,6 @@ Status QpSplineStGraph::ApplyConstraint(
AERROR
<<
msg
;
return
Status
(
ErrorCode
::
PLANNING_ERROR
,
msg
);
}
ADEBUG
<<
"init point constraint:"
<<
init_point
.
DebugString
();
if
(
!
constraint
->
AddPointDerivativeConstraint
(
0.0
,
init_point_
.
v
()))
{
const
std
::
string
msg
=
"add st start point velocity constraint failed!"
;
AERROR
<<
msg
;
...
...
modules/planning/tasks/qp_spline_st_speed/qp_spline_st_speed_optimizer.cc
浏览文件 @
89ea6e43
...
...
@@ -121,7 +121,8 @@ Status QpSplineStSpeedOptimizer::Process(const SLBoundary& adc_sl_boundary,
accel_bound
.
first
=
qp_st_speed_config_
.
min_deceleration
();
accel_bound
.
second
=
qp_st_speed_config_
.
max_acceleration
();
ret
=
st_graph
.
Search
(
st_graph_data
,
speed_data
,
accel_bound
);
QpPiecewiseStGraph
piecewise_st_graph
(
qp_st_speed_config_
,
veh_param
);
ret
=
piecewise_st_graph
.
Search
(
st_graph_data
,
speed_data
,
accel_bound
);
if
(
ret
!=
Status
::
OK
())
{
std
::
string
msg
=
common
::
util
::
StrCat
(
...
...
modules/planning/testdata/garage_test/result_stop_obstacle_0.pb.txt
浏览文件 @
89ea6e43
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录