Using robot_pose_ekf and RGBDslam for path planning with Octomaps
I wanted to use Robot_pose_ekf and RGB-D slam for path planning with Octomaps. I have tried to integrate the robot_pose_ekf with the rgbdslam package. I have added the following to the launch file.
<node pkg="rgbdslam" type="rgbdslam" name="rgbdslam" cwd="node" required="true" output="screen">
<param name="config/fixed_frame_name" value="/map"/>
<param name="config/base_frame_name" value="/odom_combined"/>
<param name="config/fixed_camera" value="false"/>
</node>
<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf">
<param name="output_frame" value="/odom_combined"/>
<param name="freq" value="300.0"/>
<param name="sensor_timeout" value="1.0"/>
<param name="odom_used" value="false"/>
<param name="imu_used" value="true"/>
<param name="vo_used" value="true"/>
<remap from="imu_data" to="Imu" />
</node>
The above launch file gives out the following tf tree
Also the output of the rgbdslam node at the console is
[ WARN] [1360005388.569379127, 1359982581.866228234]: Frame id /odom does not exist! Frames (10): Frame /camera_link exists with parent /base_footprint.
Frame /base_footprint exists with parent /odom_combined.
Frame /camera_rgb_optical_frame exists with parent /camera_rgb_frame.
Frame /camera_rgb_frame exists with parent /camera_link.
Frame /camera_depth_optical_frame exists with parent /camera_depth_frame.
Frame /camera_depth_frame exists with parent /camera_link.
Frame /odom_combined exists with parent /map.
Frame /map exists with parent /odom_combined.
Frame /where_mocap_should_be exists with parent /map.
- No odometry available
How should I correct this problem ?
Further whenever I send the model to the octomap server only then the /tf between /map to /odom_combined is available. How can I make it online so that i dont have to use the service provided by the rgbdslam resulting in a fixed publishing rate of the /tf. ?? This should also be realtime in the sense that it should not slow down as the time passes. Any suggestions on what could be a solution to this particular problem?
--------------Edit--------------
I just checked the configuration of the RGBdslam in the gui where all the params were set. I saw there were 3 frames which we could specify.
Base frame
Fixed frame
Odom frame.
Could I initialize these frames with /base_footprint , /map and /odom_combined respectively to get a consistent tf tree and a good map estimated from the input images..?
I think your problem might be that you have the "odom_combined" frame instead of "odom", which is a result of robot_pose_ekf. Can you change its frame to "odom"?