Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
L
localize_for_ppk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangdawei
localize_for_ppk
Commits
ba865a56
Commit
ba865a56
authored
May 27, 2023
by
wangdawei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test
parent
8f3d7a94
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
11 deletions
+17
-11
adjust_ppk_by_locate.zip
libs/locate_system/adjust_ppk_by_locate.zip
+0
-0
adjust_ppk.cpp
libs/locate_system/adjust_ppk_by_locate/adjust_ppk.cpp
+17
-11
No files found.
libs/locate_system/adjust_ppk_by_locate.zip
View file @
ba865a56
No preview for this file type
libs/locate_system/adjust_ppk_by_locate/adjust_ppk.cpp
View file @
ba865a56
...
...
@@ -62,9 +62,7 @@ void AdjustPPK::ReadBag(const string &bagPath)
{
const
rosbag
::
MessageInstance
&
m
=
*
viewIterator
;
// LOG_EVERY_N(INFO, 1) << setprecision(15) << "m.getTime(): " << m.getTime().toSec();
if
(
m
.
getTime
().
toSec
()
<
1683806268.1
){
continue
;
}
if
(
!
m
.
isType
<
pandar_msgs
::
PandarScan
>
()){
continue
;
}
...
...
@@ -72,7 +70,9 @@ void AdjustPPK::ReadBag(const string &bagPath)
if
(
convert_
->
processScan
(
m
.
instantiate
<
pandar_msgs
::
PandarScan
>
(),
cloud
)){
OnReceivedCloud
(
cloud
);
}
exit
(
0
);
// if(m.getTime().toSec() > 1683806268.1){
// exit(0);
// }
}
}
...
...
@@ -330,8 +330,6 @@ bool AdjustPPK::LocateCloud(const CloudInfoForMatch &cloudInfo)
}
static
Isometry3f
mapPose
=
Isometry3f
::
Identity
();
static
uint32_t
cnt
=
0
;
bool
success
=
true
;
GuessPose
guessPose
;
static
std
::
ofstream
ofs
(
ieBaseDir_
+
"/CloudPredictPose.txt"
,
ios
::
app
);
if
(
0
==
cnt
){
mapPose
=
cloudInfo
.
filterPoseInfo
.
filterPose
.
cast
<
float
>
();
...
...
@@ -343,25 +341,33 @@ bool AdjustPPK::LocateCloud(const CloudInfoForMatch &cloudInfo)
Vector3f
rpy
=
RotationQuaternionToEulerVector
(
q
);
LOG
(
INFO
)
<<
"guessPose: "
<<
mapPose
.
translation
().
transpose
()
<<
" rpy: "
<<
rpy
.
transpose
();
pcl
::
io
::
savePCDFileBinary
(
ieBaseDir_
+
"/baseCloud/"
+
to_string
(
cloudInfo
.
timestamp
)
+
".pcd"
,
*
cloudInfo
.
frame
);
GnssPoint
finalGnssPose
;
GuessPose
guessPose
;
guessPose
.
map_point
=
mapPose
.
cast
<
double
>
();
auto
increaseRpy
=
RotationQuaternionToEulerVector
(
Quaterniond
(
cloudInfo
.
filterPoseInfo
.
increasePose
.
linear
()));
guessPose
.
movement
=
cloudInfo
.
filterPoseInfo
.
increasePose
.
translation
().
norm
();
guessPose
.
rotation
=
fabs
(
increaseRpy
.
z
());
guessPose
.
use_gnss
=
false
;
guessPose
.
precision_type
=
MATCH_PRECISION_FULL
;
pcl
::
io
::
savePCDFileBinary
(
ieBaseDir_
+
"/baseCloud/"
+
to_string
(
cloudInfo
.
timestamp
)
+
".pcd"
,
*
cloudInfo
.
frame
);
GnssPoint
finalGnssPose
;
if
(
!
currMatcher_
->
IsMapLoaded
(
mapPose
.
translation
().
cast
<
double
>
())){
currMatcher_
->
loadArea
(
mapPose
.
translation
().
cast
<
double
>
());
}
success
=
currMatcher_
->
MatchPointCloud
(
cloudInfo
.
frame
,
guessPose
,
finalGnssPose
,
mapPose
);
guessPose
.
precision_type
=
MATCH_PRECISION_FAST
;
float
score
=
currMatcher_
->
MatchPointCloud
(
cloudInfo
.
frame
,
guessPose
,
finalGnssPose
,
mapPose
);
if
(
score
<
0.45
){
return
false
;
}
guessPose
.
map_point
=
mapPose
.
cast
<
double
>
();
guessPose
.
precision_type
=
MATCH_PRECISION_FULL
;
currMatcher_
->
MatchPointCloud
(
cloudInfo
.
frame
,
guessPose
,
finalGnssPose
,
mapPose
);
ofs
<<
setprecision
(
16
)
<<
cloudInfo
.
timestamp
<<
", "
<<
mapPose
.
translation
().
x
()
<<
", "
<<
mapPose
.
translation
().
y
()
<<
", "
<<
mapPose
.
translation
().
z
()
<<
endl
;
exit
(
0
);
}
cnt
++
;
return
success
;
return
true
;
}
void
AdjustPPK
::
LoadMap
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment