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:
matlabbe
2024-04-14 19:06:04 -07:00
committed by GitHub
parent 6a6913c939
commit 700704bec9
131 changed files with 10585 additions and 7476 deletions
+6 -6
View File
@@ -29,7 +29,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <rtabmap/core/Odometry.h>
#include "rtabmap/core/Rtabmap.h"
#include "rtabmap/core/CameraStereo.h"
#include "rtabmap/core/CameraThread.h"
#include "rtabmap/core/Graph.h"
#include "rtabmap/core/OdometryInfo.h"
#include "rtabmap/core/OdometryEvent.h"
@@ -43,6 +42,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "rtabmap/utilite/UProcessInfo.h"
#include "rtabmap/core/IMUFilter.h"
#include <pcl/common/common.h>
#include <rtabmap/core/SensorCaptureThread.h>
#include <yaml-cpp/yaml.h>
#include <stdio.h>
#include <signal.h>
@@ -280,7 +280,7 @@ int main(int argc, char * argv[])
// We use CameraThread only to use postUpdate() method
Transform baseToImu(0,0,1,0, 0,-1,0,0, 1,0,0,0);
CameraThread cameraThread(new
SensorCaptureThread cameraThread(new
CameraStereoImages(
pathLeftImages,
pathRightImages,
@@ -387,9 +387,9 @@ int main(int argc, char * argv[])
UTimer totalTime;
UTimer timer;
CameraInfo cameraInfo;
SensorCaptureInfo cameraInfo;
UDEBUG("");
SensorData data = cameraThread.camera()->takeImage(&cameraInfo);
SensorData data = cameraThread.camera()->takeData(&cameraInfo);
UDEBUG("");
int iteration = 0;
double start = data.stamp();
@@ -559,9 +559,9 @@ int main(int argc, char * argv[])
fflush(stdout);
}
cameraInfo = CameraInfo();
cameraInfo = SensorCaptureInfo();
timer.restart();
data = cameraThread.camera()->takeImage(&cameraInfo);
data = cameraThread.camera()->takeData(&cameraInfo);
}
delete odom;
printf("Total time=%fs\n", totalTime.ticks());