mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 01:20:25 +08:00
3D projection: adding pose rotation (roll, pitch) before projection
This commit is contained in:
@@ -3315,10 +3315,13 @@ void DatabaseViewer::sliderIterationsValueChanged(int value)
|
||||
ui_->doubleSpinBox_projMaxDepth->value(),
|
||||
ui_->doubleSpinBox_projMinDepth->value(),
|
||||
validIndices.get());
|
||||
if(ui_->doubleSpinBox_gridCellSize->value())
|
||||
{
|
||||
cloud = util3d::voxelize(cloud, validIndices, ui_->doubleSpinBox_gridCellSize->value());
|
||||
}
|
||||
UASSERT(ui_->doubleSpinBox_gridCellSize->value() > 0);
|
||||
cloud = util3d::voxelize(cloud, validIndices, ui_->doubleSpinBox_gridCellSize->value());
|
||||
|
||||
// add pose rotation without yaw
|
||||
float roll, pitch, yaw;
|
||||
graphFiltered.at(ids[i]).getEulerAngles(roll, pitch, yaw);
|
||||
cloud = util3d::transformPointCloud(cloud, Transform(0,0,0, roll, pitch, 0));
|
||||
|
||||
if(cloud->size())
|
||||
{
|
||||
|
||||
@@ -2191,6 +2191,12 @@ void MainWindow::createAndAddCloudToMap(int nodeId, const Transform & pose, int
|
||||
int minClusterSize = 20;
|
||||
cv::Mat ground, obstacles;
|
||||
pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr voxelCloud = util3d::voxelize(cloud, indices, cellSize);
|
||||
|
||||
// add pose rotation without yaw
|
||||
float roll, pitch, yaw;
|
||||
pose.getEulerAngles(roll, pitch, yaw);
|
||||
voxelCloud = util3d::transformPointCloud(voxelCloud, Transform(0,0,0, roll, pitch, 0));
|
||||
|
||||
util3d::occupancy2DFromCloud3D<pcl::PointXYZRGBNormal>(
|
||||
voxelCloud,
|
||||
ground,
|
||||
|
||||
Reference in New Issue
Block a user