rgbdslam runs without issues, but octomap does not connect/receive pointcloud (transforms?)
I installed rgbdslam and octomap. Have been trying to run rgbdslam with octomap. Eventual goal is to get the MarkerArray /occupied_cells_vis_array as it should. Some things I've done:
METHOD 1
- Tried to run kinect+rgbdslam.launch and octomap_server.launch.
- Open rviz and nothing is received on the
/octomap_point_cloud_array
,/occupied_cells_vis_array
,/rgbdslam/aggregate_clouds
OR/rgbdslam/batch_clouds
. The only PointCloud2 topics that displays an output are/camera/depth_registered/points
.
METHOD 2
- Tried to run rgbdslam_octomap.launch. Worked as well, but due to the color_octomap_server_node not found under octomap_server package (I believe there are some posts saying that you need the experimental version of octomap and some posts saying that the octomap_server is by default colored) I edited it so that it reads octomap_server_node.
- Runs as well, also gives the same problem as above.
METHOD 3
While invoking the above scenario, I ran the following commands:
Runningroswtf
gives that node subscription is unconnected:
*/rgbdslam:
*/cloud_in
Running rosrun tf view_frames
gives camera_link > /camera_rgb_frame > /camera_rgb_optical_frame
and camera_link > /camera_depth_frame > /camera_depth_optical_frame
. Two branches only.
Runningrostopic_list
The expect topics are listed:
/cloud_in
/octomap_point_cloud_array
/occupied_cells_vis_array
/rgbdslam/batch_clouds
/rgbdslam/aggregate_clouds
/tf
Running rosservice call /rgbdslam/ros_ui send_all
did not change the above results.
I think it is a mapping issue and that the point clouds are not transformed to the correct topics. I am not sure which point cloud problem it is. Please give some pointers as how I can solve this problem.
EDIT 05/28/14 +1h: The issue lies in the transform. /map is not present in my frames.pdf view. Not sure how to solve this problem either.
EDIT 06/04/14: Solved building octomap using rgbdslam data by recording a .bag file, launching octomap_server, and viewing it in RViz. No fix for continuous rgbdslam mapping and trajectory output found yet.
rgbdslam_octomap.launch
<launch>
<env name="ROSCONSOLE_CONFIG_FILE" value="$(find rgbdslam)/log.conf"/>
<!--might only work with the experimental octomap (as of May 11)-->
<include file="$(find openni_launch)/launch/openni.launch"/>
<node pkg="rgbdslam" type="rgbdslam" name="rgbdslam" cwd="node" required="false" output="log" >
<param name="config/topic_image_mono" value="/camera/rgb/image_color"/>
<param name="config/topic_points" value="/camera/rgb/points"/> <!--if empty, poincloud will be reconstructed from image and depth -->
<param name="config/wide_topic" value=""/>;
<param name="config/wide_cloud_topic" value=""/>;
<param name="config/drop_async_frames" value="true"/> <!-- Check association of depth and visual image, reject if not in sync -->
<param name="config/feature_detector_type" value="SIFTGPU"/><!-- If SIFTGPU is enabled in CMakeLists.txt, use SURF here -->
<param name="config/feature_extractor_type" value="SIFTGPU"/><!-- If SIFTGPU is enabled in CMakeLists.txt, use SURF here -->
<param name="config/matcher_type" value="FLANN"/> <!-- FLANN (not avail for ORB features), SIFTGPU (only for SIFTGPU detector) or BRUTEFORCE-->
<param name="config/max_keypoints" value="700"/><!-- Extract no more than this many keypoints (not honored by SIFTGPU)-->
<param name="config/min_keypoints" value="300"/><!-- Extract no less than this many ... -->
<param name="config/nn_distance_ratio" value="0.6"/> <!-- Feature correspondence is valid if distance to nearest neighbour is smaller than this parameter times the distance to the 2nd neighbour ...