Re: How does localization mode work?

Posted by zzzzzhw on
URL: http://official-rtab-map-forum.206.s1.nabble.com/How-does-localization-mode-work-tp5288p5321.html

Thx a lot!

Now, i am facing with another problem.

Using two kinect v2, I have build a map. I want to use this map do localization.

I checked here you refered;
http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping#Localization_mode

and changed something in my launch file:

<launch>

   
     
   
 
  <arg name="localization"            default="false"/>
 
   
   <arg name="rviz"       default="true" />
   <arg name="rtabmapviz" default="true" /> 

 
  <node pkg="tf" type="static_transform_publisher" name="camera_base_to_camera1_tf"
      args="0.0 0.0 0.0  -1.5707963267948966 0 -1.5707963267948966 /camera1_base_link /camera1_link 100" />
  <node pkg="tf" type="static_transform_publisher" name="camera_base_to_camera2_tf"
      args="0.0 0.0 0.0  -1.5707963267948966 0.0 -1.5707963267948966 /camera2_base_link /camera2_link 100" />
 


 

     <node pkg="tf" type="static_transform_publisher" name="base_to_camera1_tf"
      args="0.0 0.0 0.0 0.0 -0.17 0.0 /base_link /camera1_base_link 100" />
  <node pkg="tf" type="static_transform_publisher" name="base_to_camera2_tf"
      args="-0.1375 -0.233 0  -1.570796327 -0.4 -0.04  /base_link /camera2_base_link 100" />

   
   
   
    <node pkg="nodelet" type="nodelet" name="nodelet_manager" args="manager"/>
    <node pkg="nodelet" type="nodelet" name="rgbd_sync" args="load rtabmap_ros/rgbd_sync nodelet_manager">
      <remap from="rgb/image"       to="/camera1/qhd/image_color_rect"/>
      <remap from="depth/image"     to="/camera1/qhd/image_depth_rect"/>
      <remap from="rgb/camera_info" to="/camera1/qhd/camera_info"/>
      <remap from="rgbd_image"      to="/camera1/rgbd_image"/>
     
    </node>


    <node pkg="nodelet" type="nodelet" name="rgbd_sync2" args="load rtabmap_ros/rgbd_sync nodelet_manager">
   
   
      <remap from="rgb/image"       to="/camera2/qhd/image_color_rect"/>
      <remap from="depth/image"     to="/camera2/qhd/image_depth_rect"/>
      <remap from="rgb/camera_info" to="/camera2/qhd/camera_info"/>
      <remap from="rgbd_image"      to="/camera2/rgbd_image"/>
     
    </node>

       
  <group ns="rtabmap">
 
   
    <node pkg="rtabmap_ros" type="rgbd_odometry" name="rgbd_odometry" output="screen">
   
     
      <remap from="rgbd_image0"       to="/camera1/rgbd_image"/>
      <remap from="rgbd_image1"       to="/camera2/rgbd_image"/>
       
         
         
         
           
           

           
           
           
    </node>
 
   

    <node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="screen">
   
     
     
 
     
     
     
     
      <remap from="rgbd_image0"       to="/camera1/rgbd_image"/>
      <remap from="rgbd_image1"       to="/camera2/rgbd_image"/>
     

     
       
 
 
         
         
         
    </node>
 
 
   
    <node if="$(arg rtabmapviz)" pkg="rtabmap_ros" type="rtabmapviz" name="rtabmapviz" args="-d $(find rtabmap_ros)/launch/config/rgbd_gui.ini" output="screen">
   
     
     
     
     
     
     


      <remap from="rgbd_image0"       to="/camera1/rgbd_image"/>
      <remap from="rgbd_image1"       to="/camera2/rgbd_image"/>
    </node>
 
  </group>

  <node if="$(arg rviz)" pkg="rviz" type="rviz" name="rviz" args="-d $(find rtabmap_ros)/launch/config/rgbd.rviz"/>

</launch>


Then,I want to do Edit->"Download map" to download the map from the rtabmap node, but some errors occur:

/rtabmap/rtabmapviz subscribed to (approx sync):
   /rtabmap/odom,
   /camera1/rgbd_image,
   /camera2/rgbd_image,
   /rtabmap/odom_info
[ INFO] [1545574934.549221003]: rtabmapviz started.
[ INFO] [1545574939.090858246]: visual_odometry: paused!
[ERROR] [1545574939.092854262]: Can't call "pause" service
[ERROR] [1545574941.783595237]: Can't call "resume" service
[ INFO] [1545574941.785371218]: visual_odometry: resumed!
[ WARN] [1545574951.344341305]: Can't call "get_map_data" service
[ERROR] (2018-12-23 22:22:31.345) MainWindow.cpp:3754::processRtabmapEvent3DMap() Map received with code error 1!
[ INFO] [1545574951.357153149]: visual_odometry: paused!
[ERROR] [1545574951.357875625]: Can't call "pause" service

How can i solve this problem?