octomap_frame in Moveit
Hi,
I am trying to map an area with a 3D Lidar and Husky. I hope to build an Octomap of the area and use Moveit to plan movements of the UR5 to prevent collisions.
I am following the Husky UR5 Demo and Moveit Perception Tutorial.
I have added a Velodyne VLP-16 (velodyne_simulator from DataspeedInc) to the Husky Model in /opt/ros/indigo/share/husky_description/urdf/husky.urdf.xacro.
I notice that the octomap is displayed in rviz. However, when the Husky is moved, I see a duplicate of obstacles in the octomap (i.e. both the previous and current location). I believe I have set the octomap_frame = "odom".
So I tried octomap_server (roslaunch octomap_server octomap_mapping.launch) and displayed it in rviz (occupied_cells_vis_array). I have set frame_id = "odom" as well. This time, the octomap seems to update and the obstacles are fixed in place.
As such, I wonder if Moveit supports this, and if so, have I configured it incorrectly?
Edit: I have done some digging through the source code "occupancy_map_monitor.cpp" and found that the param octomap_frame is not used. It seems that map_frame_ had previously been set (I believe to /base_link). As I get this msg when launching moveit - Listening to '/velodyne_points' using message filter with target frame '/base_link'
Is there a way to make moveit use octomap_frame?
Thanks in advanced.
I am running on the following:
14.04.1-Ubuntu SMP
ROS Indigo
rviz version 1.11.19
Gazebo version 2.2.3
Moveit version 0.7.13-Alpha
This could be an issue of the MoveIt octomap updater plugin: it only deletes voxels if it can raytrace through them to another occupied voxel that is "behind" the closer one (from the perspective of the sensor).
Thanks gvdhoorn.
I looked at pointcloud_octomap_updater.cpp and noticed that when i run
roslaunch husky_ur5_moveit_config husky_ur5_planning_execution.launch sim:=true
i get this msg Listening to '/velodyne_points' using message filter with target frame '/base_link' even if i set "odom"