Outdoor mapping with DJI guidance

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

Outdoor mapping with DJI guidance

lajoiepy
This post was updated on .
Hi,
I am currently working on an outdoor mapping solution with the DJI Guidance vision system and I try to use RTAB-Map for this purpose. As it is outdoor mapping, I have access to GPS positionning, but I fail to get accurate maps, do you recommand using visual_odometry? and do you think that the lack of colors could be a problem, since the DJI Guidance provides only grayscale images?
Reply | Threaded
Open this post in threaded view
|

Re: Outdoor mapping with DJI guidance

matlabbe
Administrator
Hi,

grayscale images is not a problem, rtabmap converts color to grayscale for processing anyway. You can try visual odometry, though it may not work reliably if tracked features are very far (>15 meters if stereo cameras have standard baseline around ~11 cm). Note that I just added callbacks for 4 RGBD images for convenience.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Outdoor mapping with DJI guidance

lajoiepy
Thank you very much for the callbacks!

To precise my goal : I want to produce outdoor maps as accurate as possible while flying so the maps can be read afterwards by humans who can't go where the drone goes.
As I told you, I have some accuracy problems and I have some questions:
1- I have some noise in the pointclouds, is there a way to filter them in RTAB-map?
2- There are "holes" in the pointclouds if I walk too fast (quite slowly in fact), is it more likely related to the cameras frame rate (10Hz) or to RTAB-map update rate (?Hz) ?
3- Does outdoor lighting have an effect on the map quality?

Here's what I can currently obtain. Have you an idea on the causes of this inaccuracy?
 


Thanks!
Pierre-Yves
Reply | Threaded
Open this post in threaded view
|

Re: Outdoor mapping with DJI guidance

matlabbe
Administrator
Hi Pierre-Yves,

1- Look at parameters under Preferences->3D rendering. For example, "Noise filtering radius" can be used to filter points that are alone in a fixed radius.
2- By default, a new node is added to map at 1 Hz. You can increase RTAB-Map's detection rate to 2 Hz for example. Are you on ROS? Parameter is called "Rtabmap/DetectionRate".
3- It depends on which kind of camera you are using. For stereo cameras, outdoor lighting maybe not cause problems (unless there is sun glare in the camera).

Do you have a sample database to share? It would be easier to see what is the actual data.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Outdoor mapping with DJI guidance

lajoiepy
Thanks for the fast reply!

Yes I am using ROS and here's a link to the .db : https://drive.google.com/file/d/0B9PKBtV8LhuOQTJlaEE0bGpNLTQ/view?usp=sharing

Pierre-Yves
Reply | Threaded
Open this post in threaded view
|

Re: Outdoor mapping with DJI guidance

matlabbe
Administrator
Looking at the data (with rtabmap-databaseViewer), the depth images are not so dense and it seems to have some noise near the camera. What is the stereo disparity approach used? Images are also small (320x240), we could reduce "GFTT/MinDistance" to 3 and/or "GFTT/QualityLevel" to 0.001 to extract more features. Using "Vis/EstimationType=1" (PnP) would give better results with stereo cameras, but unfortunately it is not implemented for a multi-camera setup (EDIT you could test with only the forward camera to compare).


cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Outdoor mapping with DJI guidance

lajoiepy
I am not sure about my stereo disparity approach, I guess I am using the default one in stereo_image_proc.
Because of a bandwidth issue with the JetsonTX1, I use directly the depth images from the front and right cameras of the DJI Guidance system and I construct the depth images for the left and bottom cameras using stereo_image_proc/disparity and rtabmap_ros/disparity_to_depth.
Here's the launch file that I use: 4cams_mapping.launch
I will try what you suggested!

Thanks!
Pierre-Yves
Reply | Threaded
Open this post in threaded view
|

Re: Outdoor mapping with DJI guidance

matlabbe
Administrator
Hi Pierre-Yves,

If you are using stereo_img_proc to generate disparity image, see this tutorial to get a more dense/accurate (maybe reduce window size as images are small) and less noisy (filter speckles) disparity image: http://wiki.ros.org/stereo_image_proc/Tutorials/ChoosingGoodStereoParameters

You may also want to set "approx_sync" to "false" in rgbd_sync nodelets if left and depth images have the exact timestamp.

cheers,
Mathieu