Re: Troubleshooting mapping with kinect v2, rplidar and jetson tx2

Posted by Ross_L on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Troubleshooting-mapping-with-kinect-v2-rplidar-and-jetson-tx2-tp5517p5552.html

Hi

Using your launch file, there are now significant improvements, thank you!  I reduced the forward and rotation speeds to about 0.15 in the teleop node, and changed the frame to map in rviz. I also realised I had some parameters set within RVIZ' mapcloud section regarding update frequency and voxel size, which I altered to 0, 0 and 0.008 respectively. I also switched back to using SURF detection.

I noticed in your suggested launch file you used the following:

  <arg name="database_path"     default="rtabmap.db"/>
  <arg name="rgb_topic"         default="/kinect2/qhd/image_color_rect"/>
  <arg name="depth_topic"       default="/kinect2/qhd/image_depth_rect"/>
  <arg name="camera_info_topic" default="/kinect2/qhd/camera_info"/> 

rather than the throttled topics, does this have an advantage over the non throttled?

Unfortunately as you will see, I am still seeing a lot of mismatching, though the map is a lot more recognisable.

Would using visual odometry help, if the wheel odom is out? I am not sure how to prevent the launch file using the wheel odom as I assumed you just changed the visual_odometry parameter to true. I do not think I am going to be able to crrect the wheel odom until I have a new motor, as it appears there is a hardware problem with one of the wheel encoders. It always reports 40 clicks per turn more on one of the wheels.

The map also seems to stop updating after a time, I am not sure why as rostopic hz appears to show the clouds still publishing.

Here is my new database:

https://drive.google.com/file/d/1X44Hit6F1J_h2mfQJ0vOMjfA5Wmwmz-B/view?usp=sharing

Excuse the mess in the house, what with all this roboting I've not had time to tidy up!

EDIT: Just to check - I took the launch parameters for the kinect throttled topics from this page: https://wiki.ros.org/rtabmap_ros/Tutorials/RemoteMapping and used the following:

  <!-- Use same nodelet used by Freenect/OpenNI -->
  <group ns="camera">
    <node pkg="nodelet" type="nodelet" name="data_throttle" args="load rtabmap_ros/data_throttle camera_nodelet_manager" output="screen">
      <param name="rate" type="double" value="$(arg rate)"/>
      <param name="decimation" type="int" value="$(arg decimation)"/>
      <param name="approx_sync" type="bool" value="$(arg approx_sync)"/>

      <remap from="rgb/image_in"       to="rgb/image_rect_color"/>
      <remap from="depth/image_in"     to="depth_registered/image_raw"/>
      <remap from="rgb/camera_info_in" to="rgb/camera_info"/>

      <remap from="rgb/image_out"       to="data_throttled_image"/>
      <remap from="depth/image_out"     to="data_throttled_image_depth"/>
      <remap from="rgb/camera_info_out" to="data_throttled_camera_info"/>
    </node>
  </group> 

I realise now that is for the original kinect, should it be different for the kinect 2 with kinect2_bridge?