Problem with the resolution of RTABMAP

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem with the resolution of RTABMAP

nceqf
Hi,
I have some questions about reducing the resolution of RTABMAP.
I am doing a project that using rtabmap on odroid xu4.
But RTABMAP is too heavy for XU4 with defult resolution.
So I try the two method to set the camera resolution to 360*240 or 160*120.

(1)Setting decimation

Usage:
$ roslaunch openni2_launch openni2.launch depth_registration:=true
$ roslaunch rtabmap_ros rtabmap.launch
$ roslaunch rtabmap_ros rgbd_mapping.launch rtabmap_args:="--delete_db_on_start --Vis/MaxFeatures 500 --Mem/ImagePreDecimation 2 --Mem/ImagePostDecimation 2 --Kp/DetectorStrategy 6 --OdomF2M/MaxSize 1000 --Odom/ImageDecimation 2" rtabmapviz:=false

But when I set the decimation to 4, RTABMAP didn't work and many warn messages appeared with red and yellow screen.

(2)Setting reconfigure

Usage:
$ roslaunch openni2_launch openni2.launch depth_registration:=true
$ rosrun rqt_reconfigure rqt_reconfigure
$ roslaunch rtabmap_ros rtabmap.launch

I set the ir_mode, color_mode and depth_mode frome VGA_30HZ to QVGA_30HZ in reconfigure.


My questions are following:
(1)Is there any step wrong when I do the first method?
(2)Is the second method right to reduce the resolution of RTABMAP?
(3)Can I do the both method at the same time?(I have tried this but RTABMAP didn't wrok,still with red and yellow screen)

I appreciate any suggestions or comments.
Thank you very much.
Reply | Threaded
Open this post in threaded view
|

Re: Problem with the resolution of RTABMAP

matlabbe
Administrator
Hi,

In your first example, you don't have to start rtabmap.launch if you are using rgbd_mapping.launch. When reducing the resolution, you may decrease GFTT thesholds (in particular GFTT/MinDistance) to get more extracted features:
$ roslaunch rtabmap_ros rgbd_mapping.launch rtabmap_args:="[...]  --GFTT/MinDistance 1 --GFTT/QualityLevel 0.0001"
 
Note that with lower quality, the matches are less good too. Be aware that if you start rtabmapviz, it may use a lot of computation power too.

See other GFTT parameters with:
$ rosrun rtabmap_ros rtabmap --params | grep GFTT
Param: GFTT/BlockSize = "3"                                []
Param: GFTT/K = "0.04"                                     []
Param: GFTT/MinDistance = "5"                              []
Param: GFTT/QualityLevel = "0.001"                         []
Param: GFTT/UseHarrisDetector = "false"                    []

Using both rtabmap and openni2 parameters is possible. Yellow screens mean very low odometry quality (in particular very low features extracted) and red screens mean registration cannot be computed (not enough matches).

cheers