Question about octomap from RTABMAP

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

Question about octomap from RTABMAP

sean819
This post was updated on .
Hi Mathieu,
I follow by these command.
roscore
roslaunch openni2_launch openni2.launch depth_registration:=true
roslaunch rtabmap_ros rgbd_mapping.launch rtabmap_args:="--delete_db_on_start"
rosrun octomap_server octomap_server_node cloud_in:=rtabmap/cloud_map
roslaunch quadrotor_moveit_config demo.launch

 * Set fixed frame to /map
 * Add PointCloud2 display (topic /assembled_clouds)
 * Add octomap_rviz_plugins/OccupancyGrid display (topic /octomap_full)


i have some question about the result

1.When I set fixed framed to map, I can’t move the goal quadrotor. But when I set to odom-combine, I can do it. How can I move the goal quadroter when I set fixed framed to map?
for example

i can move goal quadrotor in above picture



i can't move goal quadrotor in above picture



2.I input octomap to moveit first. And move goal quadrotor when fixed framed is odom-combine. After that, I set fixed framed to map.(this is the only way I can move quadrotor) And do the plan. I found that quadrotor pass through the octomap. Octomap doesn’t have collision. How do I set collision for octomap?
as below,you can see quadrotor ignore octomap



3.I build a map(map1) first.And I reset odometry. It appears new octomap(doesn’t match the map 1) in moveit after reset odometry,same in RTABMAP .RTABMAP has new point cloud(map 2). After RTABMAP find the loopclosure,the map 1 and map 2 combine together in rtabmap. But it still remain the octomap from map 2 in moveit. That means previous map 2’octomap still there and doesn’t combine into map 1’s octomap in moveit.(previous map 2 doesn’t disappear and doesn’t combine into map 1) But it will continue build the original map 1 of octomap in moveit after RTABMAP find the loopclosure like point cloud in rtabmap.

for example

above is map 1



map 2(inside red circle) doesn't combine into map 1 after find loopclosure.map2 stll be there and didn't been build after find loopclosure. It will continue build the correct map (combines map1and2) inside green circle after find loopclosure.Hope you got me.~

and the wierd thing is the octomap still there as below after i clear the catch.


How can I do to take map 1 and previous map 2(map 2 before find loopclosure) together after find the loopclosure and disappear too after clear catch?

Thanks

Reply | Threaded
Open this post in threaded view
|

Re: Question about octomap from RTABMAP

matlabbe
Administrator
Hi,

For the moveit related questions (cannot plan in /map frame and collision not detected with the octomap), it may better to ask on ROS answers. Just verify that TF /map -> /odom is correctly published by rtabmap (~20Hz). If so, I cannot help more on this question.

For the octomap not refreshed, I tried on my side. The behavior of the octomap_server is to accumulate point clouds (probably for efficiency), not refreshing the whole octomap when a new map is received. You need to call service /octomap_server/reset to clear the old map. Because of that, I think it is tricky to use octomap while mapping, we would have to call "/octomap_server/reset" everytime a loop closure is detected (to refresh the whole octomap).

Note that when the octomap re-appears after you uncheck/check the plugin in RVIZ, it is because the topic is latched.

cheers
Tom
Reply | Threaded
Open this post in threaded view
|

Re: Question about octomap from RTABMAP

Tom
In reply to this post by sean819
Hi,
    I want to know how could you install quadrotor_navigation  in the website https://github.com/DaikiMaekawa/quadrotor_navigation/tree/master/quadrotor_moveit_config/launch

I can't find any information in the ROS wiki. How could you use  roslaunch quadrotor_moveit_config demo.launch  ?