3D mapping and 3D navigation

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

3D mapping and 3D navigation

sean819
Hi Mathieu,
I am the beginner with ROS and I am learning much more about ROS.
I want to build a quadcopter which and do 3D mapping like this only with RGB-D camera.

And do 3D navigation indoor.
I have a quadcopter which flying controller is pixhawk. And onboard system odroid XU4.


I have two ideas now.
1.Use RGB-D camera and use openni to do 3D mapping. And then use openni to convert to octomap for 3D navigation.

2.Use RGB-D camera and use RTAB-MAP to do 3D mapping. And then use RTAB-map to convert to octomap for 3D navigation.

The problem is I am not sure this method is feasible or not.

About RGB-D camera.I am not sure which one is better,Asus Xtion pro, Kinect or structure sensor.
I prefer Xtion pro,because it is lighter. Cons of Kinect is heavy,and cons structure sensor is it doesn't have RGB camera inside.But i am not sure RTAB*MAP support Xtion pro or not.

And algorithm of 3D navigation.I have two method now.3D navigation  or quadrotor_navigation.
I can't find more information about quadrotor_navigation in ROS wiki.
Do you have any recommend to do 3D navigation?

Sorry about asking stupid question if i did. I think i need directions on how to do and how to proceed of this project.

Sincerely,
       Sean
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

senia
Another major con of Kinect is that it require ACDC power.
RtabMap supports Xtion pro(live).
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

sean819
Thank you senia
now i decide to use xtion pro as RGB-D camera.
but still not get a clearly direction yet.
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

g.bartoli
Additionally, you cannot use Structure Sensor alone, because it only provides depth information without RGB, which is needed by the visual odometry and loop closure procedures in RTAB-Map.
For getting an idea on how RTAB-Map could work for your project, maybe you can start trying the standalone version with a hand-held RGB-D sensor to manually map your 3D environment and relocalize inside it.

- Guido
~Guido
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

sean819
Thank you Guido
I decide to use Xtion pro live to do 3D mapping and texture.
Now remain a problem is how to make 3D navigation with RTAB-MAP and Xtion pro live.
I am finding some methods now.
Maybe you can give me some suggestions?

Best regards
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

matlabbe
Administrator
This post was updated on .
Hi Sean,

I've only did 2D navigation for now (with move_base), so I don't know which are the best packages for 3D navigation. I was thinking about moveit but it seems not yet supported for 3D navigation :P

For your first post:
sean819 wrote
I have two idea.
1.Use RGB-D camera and use openni to do 3D mapping. And then use openni to convert to octomap for 3D navigation.

2.Use RGB-D camera and use RTAB-MAP to do 3D mapping. And then use RTAB-map to convert to octomap for 3D navigation.
Not sure about the first approach as the robot will just accumulate the point clouds without actually correct the map on loop closures, for which the second approach is able to. You can use the output of rtabmap's /cloud_map topic and plug it into an octomap_server to get the octomap (similar to this post). Simple example:
# Start Xtion Pro Live:
$ roslaunch openni2_launch openni2.launch depth_registration:=true

# Start Rtabmap:
$ roslaunch rtabmap_ros rgbd_mapping.launch rtabmap_args:="--delete_db_on_start" rviz:=true rtabmapviz:=false

# Start octomap_server listening to generated cloud_map message from rtabmap node:
$ rosrun octomap_server octomap_server_node cloud_in:=/rtabmap/cloud_map

# In RVIZ, you can visualize the octomap using the related rviz plugin (ros-indigo-rviz-plugins)
 To limit the size of the map (and so the computation time to generate the octomap), see the "cloud_map" related parameters under rtabmap node (e.g., cloud_decimation, cloud_max_depth, cloud_voxel_size...). The octomap can be also created on-demand with the "octomap_full" or "octomap_bin" rtabmap's services.

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

Re: 3D mapping and 3D navigation

sean819
This post was updated on .
Appreciate Mathieu,

According to this website.It seems Moveit doesn't support 3D navigation.

I am finding other 3D navigation approach.
Thank you for your help.
 
By the way,it seems it's hard to buy Xtion pro live now.I need to find other RGB-D camera now.Do you have any recommand?lighter is better.

Sincerely,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

sean819
In reply to this post by matlabbe
Hi again
I got a new idea.I want to use RTAB-MAP to Do 3D SLAM.And MOVEIT OMPL Interface with quadcopter controller to do 3D navigation.Maybe this is available.How do you think?
BTW,is move_Base can use on the quadcopter?
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

matlabbe
Administrator
Hi,

I don't know if MOVEIT+OMPL can be used easily with a quadcopter. For move_base, it works in 2D, so yes it would be possible to "fake" a 2D occupancy grid map for only 2D trajectories (x,y,theta). It will not plan trajectories in 3D (x,y,z,roll,pitch,yaw).

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

Re: 3D mapping and 3D navigation

matlabbe
Administrator
The video https://www.youtube.com/watch?v=VlBQLbmc03g shows an example of MOVEIT+OMPL in a simulated environment.

The first problem I see with this approach is if the odometry of the robot is drifting (which it is more likely in real world) or the environment changes, the robot may not reach the "real" target position. RTAB-Map re-optimize the map on loop closures/relocalization, it may be required to re-plan after such events (the octomap will change over time).
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

Jimmy Notron
In reply to this post by sean819
what is your method for 3d navigation on quadrotor?
way to go! ;)
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

sean819

I use moveit's OMPL to implement 3D navigation for my quadrotor.

Because your question is not rtabmap relatives question.So i wanted to send a mail for you.But not success.
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

Jimmy Notron
thank you dear
way to go! ;)
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

mjedmonds
In reply to this post by sean819
I too would be interested in your setup; 3D mapping + localization + 3D navigation is fundamental and only going become more commonplace (meaning people using rtabmap will be interested in this info in the future).

It's worth pointing out this 3d_navigation package, which was released for ros diamondback but might still work: http://wiki.ros.org/3d_navigation
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

Notou
Hi everyone,

Did you manage to implement some 3d navigation since last summer?

I would be very interested if you did :)

Thank you
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

sean819
Hi,sorry for the late reply. We successfully implement 3D navigation on testing. But we haven't flyed success yet.
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

Notou
Hi,

Could you tell me how you implemented it?

You haven't flied it successfully, but is it because it stubbornly doesn't want to work or because you haven't had time to test it?

I'll try it in simulation before real test flights.

Thanks
ibd
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

ibd
I am also interested.

- What robot simulator did you use?
- What robot controller did you use?
- What 3D navigation package did you use? Move_base does not seem to have good 3D support.
- How did you create 3D voxel maps of free safe space? I guess one needs to implement octomap 3D inflation, similar to move_base's "inflation layer".

Best
ibd
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

sean819
In reply to this post by Notou
Hi
i use rtabmapto and moveit do SLAM.I wrote my controller to control the robot.
I didn't have enough time to test that at that time.

Sean
Reply | Threaded
Open this post in threaded view
|

Re: 3D mapping and 3D navigation

sean819
In reply to this post by ibd
Hi
I use gazebo as simulator.
Controller was written by myself.
I use moveit as 3D navigation package.
I use RTANMAP to create point cloud map.And turn point cloud map to octomap for moveit.

Sean
12