Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
1c3a798f
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,发现更多精彩内容 >>
提交
1c3a798f
编写于
9月 17, 2018
作者:
L
Liangliang Zhang
提交者:
Jiaming Tao
9月 17, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Planning: fixed a threading bug in reference line provider.
上级
49fbd459
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
20 addition
and
7 deletion
+20
-7
modules/integration_test/integration_test_base.cc
modules/integration_test/integration_test_base.cc
+1
-1
modules/integration_test/integration_test_base.h
modules/integration_test/integration_test_base.h
+1
-0
modules/planning/reference_line/reference_line_provider.cc
modules/planning/reference_line/reference_line_provider.cc
+10
-5
modules/planning/reference_line/reference_line_provider.h
modules/planning/reference_line/reference_line_provider.h
+5
-0
modules/planning/std_planning.cc
modules/planning/std_planning.cc
+3
-1
未找到文件。
modules/integration_test/integration_test_base.cc
浏览文件 @
1c3a798f
...
...
@@ -147,7 +147,7 @@ void IntegrationTestBase::SetUp() {
Clock
::
SetMode
(
Clock
::
CYBERTRON
);
apollo
::
cybertron
::
Init
(
node_name
);
CHECK
(
FeedTestData
())
<<
"Failed to feed test data"
;
//
planning_.reset(new PlanningComponent());
planning_
.
reset
(
new
PlanningComponent
());
}
void
IntegrationTestBase
::
UpdateData
()
{
...
...
modules/integration_test/integration_test_base.h
浏览文件 @
1c3a798f
...
...
@@ -17,6 +17,7 @@
#include <map>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "gtest/gtest.h"
...
...
modules/planning/reference_line/reference_line_provider.cc
浏览文件 @
1c3a798f
...
...
@@ -26,8 +26,6 @@
#include <limits>
#include <utility>
#include "cybertron/cybertron.h"
#include "modules/common/configs/vehicle_config_helper.h"
#include "modules/common/time/time.h"
#include "modules/common/util/file.h"
...
...
@@ -108,13 +106,20 @@ bool ReferenceLineProvider::Start() {
}
if
(
FLAGS_enable_reference_line_provider_thread
)
{
auto
task
=
apollo
::
cybertron
::
CreateTask
(
"async_reference_line_provider"
,
[
this
]()
{
this
->
GenerateThread
();
});
task_
=
std
::
make_shared
<
apollo
::
cybertron
::
Task
<
int
>>
(
"async_reference_line_provider"
,
[
this
](
const
std
::
shared_ptr
<
int
>
&
)
{
this
->
GenerateThread
();
});
task_future_
=
task_
->
Execute
(
std
::
make_shared
<
int
>
());
}
return
true
;
}
void
ReferenceLineProvider
::
Stop
()
{
is_stop_
=
true
;
}
void
ReferenceLineProvider
::
Stop
()
{
is_stop_
=
true
;
if
(
FLAGS_enable_reference_line_provider_thread
)
{
task_future_
.
get
();
}
}
void
ReferenceLineProvider
::
UpdateReferenceLine
(
const
std
::
list
<
ReferenceLine
>
&
reference_lines
,
...
...
modules/planning/reference_line/reference_line_provider.h
浏览文件 @
1c3a798f
...
...
@@ -34,6 +34,8 @@
#include <unordered_set>
#include <vector>
#include "cybertron/cybertron.h"
#include "modules/common/vehicle_state/proto/vehicle_state.pb.h"
#include "modules/map/relative_map/proto/navigation.pb.h"
#include "modules/planning/proto/planning_config.pb.h"
...
...
@@ -176,6 +178,9 @@ class ReferenceLineProvider {
std
::
queue
<
std
::
list
<
ReferenceLine
>>
reference_line_history_
;
std
::
queue
<
std
::
list
<
hdmap
::
RouteSegments
>>
route_segments_history_
;
std
::
shared_ptr
<
cybertron
::
Task
<
int
>>
task_
;
std
::
future
<
void
>
task_future_
;
};
}
// namespace planning
...
...
modules/planning/std_planning.cc
浏览文件 @
1c3a798f
...
...
@@ -80,7 +80,9 @@ bool IsDifferentRouting(const RoutingResponse& first,
}
// namespace
StdPlanning
::~
StdPlanning
()
{
reference_line_provider_
->
Stop
();
if
(
reference_line_provider_
)
{
reference_line_provider_
->
Stop
();
}
last_publishable_trajectory_
.
reset
(
nullptr
);
frame_
.
reset
(
nullptr
);
planner_
.
reset
(
nullptr
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录