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
57e4b901
Commit
57e4b901
authored
Jun 03, 2023
by
wangdawei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
map dir
parent
99072d30
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
45 deletions
+21
-45
adjust_ppk.cpp
libs/locate_system/adjust_ppk_by_locate/adjust_ppk.cpp
+12
-12
dispatch.cpp
libs/voxel_map/libs/dispatch/dispatch.cpp
+9
-33
No files found.
libs/locate_system/adjust_ppk_by_locate/adjust_ppk.cpp
View file @
57e4b901
...
@@ -553,7 +553,7 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec,
...
@@ -553,7 +553,7 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec,
pcl
::
io
::
loadPCDFile
(
pcdInfo
.
pcdPath
,
pc
);
pcl
::
io
::
loadPCDFile
(
pcdInfo
.
pcdPath
,
pc
);
if
(
pcdInfo
.
taskName
.
size
()){
if
(
pcdInfo
.
taskName
.
size
()){
LocalCartesian
tempProj
(
pcdInfo
.
taskCenter
.
y
(),
LocalCartesian
tempProj
(
pcdInfo
.
taskCenter
.
y
(),
pcdInfo
.
taskCenter
.
z
(),
pcdInfo
.
taskCenter
.
x
(),
pcdInfo
.
taskCenter
.
z
());
pcdInfo
.
taskCenter
.
z
());
vector
<
Vector3d
>
blhVec
;
vector
<
Vector3d
>
blhVec
;
blhVec
.
reserve
(
pc
.
size
());
blhVec
.
reserve
(
pc
.
size
());
...
@@ -574,20 +574,20 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec,
...
@@ -574,20 +574,20 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec,
p
.
z
=
point
.
z
();
p
.
z
=
point
.
z
();
pc
.
push_back
(
p
);
pc
.
push_back
(
p
);
}
}
*
pointcloud
+=
pc
;
}
}
*
pointcloud
+=
pc
;
}
}
LOG
(
INFO
)
<<
"pointcloud->size() to dispatch: "
<<
pointcloud
->
size
();
LOG
(
INFO
)
<<
"pointcloud->size() to dispatch: "
<<
pointcloud
->
size
();
PointCloudExport
downSampledPc
;
//
PointCloudExport downSampledPc;
downSampledPc
.
reserve
(
pointcloud
->
size
()
*
0.06
);
//
downSampledPc.reserve(pointcloud->size() * 0.06);
for
(
size_t
i
=
0
;
i
<
pointcloud
->
size
();
i
++
){
//
for(size_t i = 0; i < pointcloud->size(); i++){
if
(
i
%
20
!=
0
){
//
if(i % 20 != 0){
continue
;
//
continue;
}
//
}
const
auto
&
p
=
pointcloud
->
at
(
i
);
//
const auto& p = pointcloud->at(i);
downSampledPc
.
push_back
(
p
);
//
downSampledPc.push_back(p);
}
//
}
pcl
::
io
::
savePCDFileBinary
(
ieBaseDir_
+
"/downSampledPc.pcd"
,
downSampledPc
);
//
pcl::io::savePCDFileBinary(ieBaseDir_ + "/downSampledPc.pcd", downSampledPc);
boost
::
shared_ptr
<
Dispatch
>
dispatch
(
new
Dispatch
(
pointcloud
));
boost
::
shared_ptr
<
Dispatch
>
dispatch
(
new
Dispatch
(
pointcloud
));
// dispatch.setMeshId(meshId);
// dispatch.setMeshId(meshId);
...
...
libs/voxel_map/libs/dispatch/dispatch.cpp
View file @
57e4b901
...
@@ -44,34 +44,15 @@ boost::shared_ptr<GridLayer> Dispatch::getMeshLayer()
...
@@ -44,34 +44,15 @@ boost::shared_ptr<GridLayer> Dispatch::getMeshLayer()
void
Dispatch
::
configOffset
()
void
Dispatch
::
configOffset
()
{
{
vector
<
Vector3d
>
avgPosiVec
;
double
x
=
0
,
y
=
0
,
z
=
0
;
Vector3d
totalPosi
=
Vector3d
::
Zero
();
for
(
const
auto
&
point
:
pointcloud_
->
points
){
size_t
cnt
=
0
;
x
+=
point
.
x
;
for
(
size_t
i
=
0
;
i
<
pointcloud_
->
size
();
i
++
){
y
+=
point
.
y
;
if
(
i
>
0
&&
i
%
1000000
==
0
){
LOG
(
INFO
)
<<
"totalPosi: "
<<
totalPosi
.
transpose
()
<<
" cnt: "
<<
cnt
;
avgPosiVec
.
push_back
(
totalPosi
/
cnt
);
totalPosi
=
Vector3d
::
Zero
();
cnt
=
0
;
}
const
auto
&
point
=
pointcloud_
->
at
(
i
);
if
(
isnanf
(
point
.
x
)
||
isnanf
(
point
.
y
)){
// LOG_EVERY_N(INFO, 999999) << "nan";
continue
;
}
totalPosi
.
x
()
+=
point
.
x
;
totalPosi
.
y
()
+=
point
.
y
;
// z += point.z;
// z += point.z;
cnt
++
;
}
if
(
cnt
>
0
){
avgPosiVec
.
push_back
(
totalPosi
/
cnt
);
}
}
for
(
const
auto
&
avg
:
avgPosiVec
){
offset_
=
{
x
/
pointcloud_
->
size
(),
offset_
+=
avg
;
y
/
pointcloud_
->
size
(),
}
z
/
pointcloud_
->
size
()};
offset_
=
offset_
/
avgPosiVec
.
size
();
offset_
=
{
lround
(
offset_
.
x
()
/
GridResolutionHigh
)
*
GridResolutionHigh
,
offset_
=
{
lround
(
offset_
.
x
()
/
GridResolutionHigh
)
*
GridResolutionHigh
,
lround
(
offset_
.
y
()
/
GridResolutionHigh
)
*
GridResolutionHigh
,
lround
(
offset_
.
y
()
/
GridResolutionHigh
)
*
GridResolutionHigh
,
0
0
...
@@ -147,13 +128,8 @@ void Dispatch::dispatchPoint(const PointExport &point)
...
@@ -147,13 +128,8 @@ void Dispatch::dispatchPoint(const PointExport &point)
// auto gi = bl[0]->getGridIndexByPoint(p);
// auto gi = bl[0]->getGridIndexByPoint(p);
Vector2i
blockIndex
=
meshLayer_
->
getGridIndexByPoint
(
point
);
Vector2i
blockIndex
=
meshLayer_
->
getGridIndexByPoint
(
point
);
BlockGrid
*
block
;
BlockGrid
*
block
=
reinterpret_cast
<
BlockGrid
*>
(
try
{
meshLayer_
->
getBlock
(
blockIndex
).
get
());
block
=
reinterpret_cast
<
BlockGrid
*>
(
meshLayer_
->
getBlock
(
blockIndex
).
get
());
}
catch
(
exception
e
){
LOG
(
INFO
)
<<
blockIndex
.
transpose
();
}
vector
<
boost
::
shared_ptr
<
GridLayer
>>
blockLayers
=
vector
<
boost
::
shared_ptr
<
GridLayer
>>
blockLayers
=
block
->
getLayers
();
block
->
getLayers
();
for
(
const
auto
&
blockLayer
:
blockLayers
){
for
(
const
auto
&
blockLayer
:
blockLayers
){
...
...
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