mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-12 22:40:19 +08:00
LiDAR capture support in standalone library (#1264)
* Working rtabmap_lidar-mapping example (live and pcap) * finalizing merge, added some deprecated * fixed build * Working deskewing for Lidar + Camera/IMU (no camera pose correction yet) and Lidar + Odom Sensor in main UI. * backward compatibility * fixed some not used variable warnings, fixed qt build for lidar mapping example * Refactored CameraMobile, added AREngine background support, fixed LidarVPL16 build error with PCL 1.8 * ARCoreJava: buffer last depth image in case its stamp i higher than pose stamp. CameraMobile: added pose buffer. SensorCaptureThread: to get pose, odomSensor should be explicitly set, but can be same as lidar or camera inputs. * Working external lidar on iOS * util3d::commonFiltering()/adjustNormalsToViewPoint() added organized cloud support. MainWindow: updated odomSensor setup * fixed winsock include order * reverted camera tool * disable imu filtering when odom sensor is used * Updated package version * fixed windows build * fixing more windows build erros
This commit is contained in:
@@ -35,7 +35,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#include <rtabmap/core/global_map/CloudMap.h>
|
||||
#include <rtabmap/core/Graph.h>
|
||||
#include <rtabmap/core/Memory.h>
|
||||
#include <rtabmap/core/CameraThread.h>
|
||||
#include <rtabmap/core/SensorCaptureThread.h>
|
||||
#include <rtabmap/core/Odometry.h>
|
||||
#include <rtabmap/core/OdometryInfo.h>
|
||||
#include <rtabmap/utilite/UFile.h>
|
||||
@@ -816,9 +816,9 @@ int main(int argc, char * argv[])
|
||||
printf("Reprocessing data of \"%s\"...\n", inputDatabasePath.c_str());
|
||||
std::map<std::string, float> globalMapStats;
|
||||
int processed = 0;
|
||||
CameraInfo info;
|
||||
SensorData data = dbReader->takeImage(&info);
|
||||
CameraThread camThread(dbReader, parameters); // take ownership of dbReader
|
||||
SensorCaptureInfo info;
|
||||
SensorData data = dbReader->takeData(&info);
|
||||
SensorCaptureThread camThread(dbReader, parameters); // take ownership of dbReader
|
||||
camThread.setScanParameters(scanFromDepth, scanDecimation, scanRangeMin, scanRangeMax, scanVoxelSize, scanNormalK, scanNormalRadius);
|
||||
if(scanFromDepth)
|
||||
{
|
||||
@@ -849,11 +849,11 @@ int main(int argc, char * argv[])
|
||||
while(skippedFrames-- > 0)
|
||||
{
|
||||
++processed;
|
||||
data = dbReader->takeImage();
|
||||
data = dbReader->takeData();
|
||||
}
|
||||
}
|
||||
|
||||
data = dbReader->takeImage(&info);
|
||||
data = dbReader->takeData(&info);
|
||||
if(scanFromDepth)
|
||||
{
|
||||
data.setLaserScan(LaserScan());
|
||||
@@ -1099,7 +1099,7 @@ int main(int argc, char * argv[])
|
||||
while(skippedFrames-- > 0)
|
||||
{
|
||||
processed++;
|
||||
data = dbReader->takeImage(&info);
|
||||
data = dbReader->takeData(&info);
|
||||
if(!odometryIgnored && !info.odomCovariance.empty() && info.odomCovariance.at<double>(0,0)>=9999)
|
||||
{
|
||||
printf("High variance detected, triggering a new map...\n");
|
||||
@@ -1113,7 +1113,7 @@ int main(int argc, char * argv[])
|
||||
}
|
||||
}
|
||||
|
||||
data = dbReader->takeImage(&info);
|
||||
data = dbReader->takeData(&info);
|
||||
if(scanFromDepth)
|
||||
{
|
||||
data.setLaserScan(LaserScan());
|
||||
|
||||
Reference in New Issue
Block a user