Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
6b1c4357
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,发现更多精彩内容 >>
提交
6b1c4357
编写于
8月 01, 2017
作者:
J
jiangyifei
提交者:
Dong Li
8月 02, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
updated plot planning with data protection
上级
4126a4a2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
23 addition
and
9 deletion
+23
-9
modules/tools/mapshow/plot_planning.py
modules/tools/mapshow/plot_planning.py
+23
-9
未找到文件。
modules/tools/mapshow/plot_planning.py
浏览文件 @
6b1c4357
...
...
@@ -19,13 +19,14 @@
import
os
import
rospy
import
argparse
import
threading
import
matplotlib.pyplot
as
plt
import
matplotlib.animation
as
animation
from
map
import
Map
from
localization
import
Localization
from
modules.planning.proto
import
planning_pb2
from
modules.localization.proto
import
localization_pb2
import
copy
PATH_DATA_X
=
{}
PATH_DATA_Y
=
{}
...
...
@@ -41,10 +42,15 @@ vehicle_position_line = None
vehicle_polygon_line
=
None
localization_pb_buff
=
None
PATH_DATA_LOCK
=
threading
.
Lock
()
SPEED_DATA_LOCK
=
threading
.
Lock
()
LOCALIZATION_DATA_LOCK
=
threading
.
Lock
()
def
localization_callback
(
localization_pb
):
global
localization_pb_buff
LOCALIZATION_DATA_LOCK
.
acquire
()
localization_pb_buff
=
localization_pb
LOCALIZATION_DATA_LOCK
.
release
()
def
planning_callback
(
planning_pb
):
...
...
@@ -60,8 +66,10 @@ def planning_callback(planning_pb):
for
path_point
in
path_debug
.
path_point
:
path_data_x
[
name
].
append
(
path_point
.
x
)
path_data_y
[
name
].
append
(
path_point
.
y
)
PATH_DATA_X
=
copy
.
deepcopy
(
path_data_x
)
PATH_DATA_Y
=
copy
.
deepcopy
(
path_data_y
)
PATH_DATA_LOCK
.
acquire
()
PATH_DATA_X
=
path_data_x
PATH_DATA_Y
=
path_data_y
PATH_DATA_LOCK
.
release
()
# speed
speed_data_time
=
{}
...
...
@@ -79,9 +87,10 @@ def planning_callback(planning_pb):
for
traj_point
in
planning_pb
.
trajectory_point
:
speed_data_time
[
name
].
append
(
traj_point
.
relative_time
)
speed_data_val
[
name
].
append
(
traj_point
.
v
)
SPEED_DATA_LOCK
.
acquire
()
SPEED_DATA_TIME
=
speed_data_time
SPEED_DATA_VAL
=
speed_data_val
SPEED_DATA_LOCK
.
release
()
def
add_listener
():
rospy
.
init_node
(
'plot_planning'
,
anonymous
=
True
)
...
...
@@ -117,6 +126,7 @@ def update_init():
def
update_speed
():
cnt
=
0
SPEED_DATA_LOCK
.
acquire
()
for
name
in
SPEED_DATA_TIME
.
keys
():
if
cnt
>=
len
(
speed_line_pool
):
print
"Number of lines is more than 4! "
...
...
@@ -129,10 +139,11 @@ def update_speed():
line
.
set_ydata
(
SPEED_DATA_VAL
[
name
])
line
.
set_label
(
name
)
cnt
+=
1
SPEED_DATA_LOCK
.
release
()
def
update_path
():
cnt
=
0
PATH_DATA_LOCK
.
acquire
()
for
name
in
PATH_DATA_X
.
keys
():
if
cnt
>=
len
(
path_line_pool
):
print
"Number of lines is more than 4! "
...
...
@@ -145,15 +156,16 @@ def update_path():
line
.
set_ydata
(
PATH_DATA_Y
[
name
])
line
.
set_label
(
name
)
cnt
+=
1
PATH_DATA_LOCK
.
release
()
def
update_localization
():
LOCALIZATION_DATA_LOCK
.
acquire
()
if
localization_pb_buff
is
not
None
:
vehicle_position_line
.
set_visible
(
True
)
vehicle_polygon_line
.
set_visible
(
True
)
Localization
(
localization_pb_buff
)
\
.
replot_vehicle
(
vehicle_position_line
,
vehicle_polygon_line
)
LOCALIZATION_DATA_LOCK
.
release
()
def
init_line_pool
(
central_x
,
central_y
):
global
vehicle_position_line
,
vehicle_polygon_line
,
s_speed_line
...
...
@@ -178,10 +190,12 @@ if __name__ == '__main__':
default_map_path
+=
"/../../map/data/base_map.txt"
parser
=
argparse
.
ArgumentParser
(
description
=
"plot_planning is a tool to display planning trajs on a map."
,
description
=
"plot_planning is a tool to display "
"planning trajs on a map."
,
prog
=
"plot_planning.py"
)
parser
.
add_argument
(
"-m"
,
"--map"
,
action
=
"store"
,
type
=
str
,
required
=
False
,
default
=
default_map_path
,
"-m"
,
"--map"
,
action
=
"store"
,
type
=
str
,
required
=
False
,
default
=
default_map_path
,
help
=
"Specify the map file in txt or binary format"
)
args
=
parser
.
parse_args
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录