RGBD Outdoor Mapping - Offline Database Processing - Localization

Posted by DavideR on
URL: http://official-rtab-map-forum.206.s1.nabble.com/RGBD-Outdoor-Mapping-Offline-Database-Processing-Localization-tp5258.html

INTRODUCTION

First of all I want to thank to Mathieu for the astonishing contribution you're giving at the community. Your efforts are really impressive!

I would like to write this post in detail, so to help as much people as possible who could be working with a scenario similar to mine.

HARDWARE CONFIGURATION

ROBOT PLATFORM : 2 wheeled differential drive robot
RGBD SENSOR : Stereolabs ZED Mini Camera
LIDAR SENSOR : Quanergy 3D Lidar (360 FOV)
IMU SOURCES : Standalone central unit / ZED Mini embedded IMU
GPS SENSOR

COMPUTING PLATFORM

2 Machines ROS-based network
COMMUNICATION LINK : Local Ethernet Network
RGBD PROCESSING UNIT : NVIDIA JETSON TX1 [ L4T (JETPACK 3.3) / ZED SDK 2.7.1 / ROS Kinetic ]
ROS MASTER : Lenovo Thinkpad Laptop Intel i5-5300U CPU @ 2.30GHz / 8GB DDR3 RAM [Linux Ubuntu 16.04 / ROS Kinetic]

SOFTWARE CONFIGURATION

Jetson TX1 is used for image/depth processing only [ Input : raw image streams - IMU / Output : RGB + Depth Map - Odometry (published topics)]
RTABMAP: Version 0.18.0 [ROS Node Location : Laptop / Standalone Location : Laptop]
ZED SDK : Version 2.7.1 [Installation Location : Jetson TX1]
ZED ROS WRAPPER : [ ROS Node Location : Jetson TX1]
LIDAR DRIVER NODE : [ROS Node Location : Laptop]

PROJECT'S GOAL

A. Record data navigating an urban outdoor enviroment [~1Km start>finish path - Few or absent loop closures] [ 2D Occupancy grid map required for further navigation purposes].
B. Process the database offline to retrieve the most accurate map not subjected to online processing constraints.
C. Use the created map for navigation purposes exploiting appearance based localization and possibly Visual Odometry Fusion.

QUESTIONS

1. RECORDING DATA

Recorded topics : RGB Image stream - Depth Map - Lidar 2D Laser Scan - ZED Camera IMU Odometry - Robot Wheel Odometry - GPS

a.Given an offline map creation, am I still subjected to any quality/performances trade-off? It is possible to store raw data at maximum quality/precision/input rate?

b.My intended pipeline is : Record ROS BAG file at maximum quality [RTABMAP OFF]> Process the bag by means of rtabmap-dataRecorder [OFFLINE] > Process the resulting database by means of rtabmap standalone and configure parameters offline. Is that feasible?

c.Is there any threshold (regarding input rate, quality etc) above which, a raw data quality improvement would results in an useless overkill?


2.PROCESSING THE DATABASE OFFLINE

Given the pipeline feasibility, I'm wondering if I'll be able to fully tune rtabmap parameters offline so to get the best accuracy I'd like to obtain. (Given a good odometry performance).

3.LOCALIZATION MODE

I've aware about the integration of movbase within the rtabmap framework. I am wondering if it is possible to run rtabmap in localization mode during navigation within the created map while having multiple localization sources (e.g. lidar based montecarlo localization - appearance based rtabmap localization).
I'm interested in evaluating the performances of the different localization approaches.


Thank You in advance for your support!!