Error when trying to run Rtabmap version ROS

classic Classic list List threaded Threaded
24 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Error when trying to run Rtabmap version ROS

Leonardo Angelo
Error when trying to run Rtabmap version ROS, to run the launch:

 roslaunch rtabmap_ros rgbd_mapping.launch

 we have the following error following image.


ERROR:

1- process[base_to_camera_tf-1]: started with pid [6599]
process[rtabmap/visual_odometry-2]: started with pid [6600]
/opt/ros/hydro/lib/rtabmap_ros/rgbd_odometry: error while loading shared libraries: librtabmap_core.so: cannot open shared object file: No such file or directory



Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

Leonardo Angelo
This post was updated on .
Now another error :

/opt/ros/hydro/lib/rtabmap_ros/rtabmapviz: symbol lookup error: /opt/ros/hydro/lib/librtabmap_ros.so: undefined symbol: _ZTVN7rtabmap6util3d17CompressionThreadE
[rtabmapviz-2] process has died [pid 17098, exit code 127, cmd /opt/ros/hydro/lib/rtabmap_ros/rtabmapviz -d /opt/ros/hydro/share/rtabmap_ros/launch/config/rgbd_gui.ini rgb/image:=data_throttled_image depth/image:=data_throttled_image_depth rgb/camera_info:=data_throttled_camera_info scan:=/jn0/base_scan odom:=/az3/base_controller/odom __name:=rtabmapviz __log:=/home/turtlebot/.ros/log/dc0528a0-b14f-11e4-aa93-54271e8ca6d9/rtabmapviz-2.log].
log file: /home/turtlebot/.ros/log/dc0528a0-b14f-11e4-aa93-54271e8ca6d9/rtabmapviz-2*.log
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

matlabbe
Administrator
Is this version from Git? or from ROS Hydro/Indigo binary distribution?

If it is from Git, make sure to update the rtabmap standalone library too when updating the rtabmap_ros package. See Update to new version section on rtabmap_ros Git page.
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

Leonardo Angelo
This post was updated on .
Thank you, above these errors have been resolved, and when squeegee launchs the following:

1- roslaunch openni_launch openni.launch depth_registration: = true

and

2- roslaunch rtabmap_ros rgbd_mapping.launch

Rtabmap the wheel normally in ROS version, and behind the images and correct the odometer Turtlebot, however when running the following commands have the black image screens and nothing happens however also not errors occur but have warnnings:


1- roslaunch rtabmap_ros demo_robot_mapping.launch
2- $ rosbag play --clock demo_mapping.bag

WARN:

[ WARN] [1423601190.967684112, 1368730016.716461446]: TF_OLD_DATA ignoring data from the past for frame base_footprint at time 1.36873e+09 according to authority /play_1423601177228091482
Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained
[ WARN] [1423601190.988259636, 1368730016.716461446]: Lookup would require extrapolation into the past.  Requested time 1368730016.593640750 but the earliest data is at time 1423601180.995516424, when looking up transform from frame [base_laser_link] to frame [base_footprint]


or

2- roslaunch rtabmap_ros demo_robot_mapping.launch rviz: = true rtabmapviz: = false
3- $ rosbag play --clock demo_mapping.bag


The Rtabmap opens normally not put no picture.

kind regards
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

matlabbe
Administrator
The robot demo has some TF warnings at the beginning, but the map begins to be updated about 2 seconds after the rosbag is started.

Here the terminal output that you would have when all is okay:
~$ roslaunch rtabmap_ros demo_robot_mapping.launch rviz:=true rtabmapviz:=true
~$ rosbag play --clock demo_mapping.bag


SUMMARY
========

PARAMETERS
 * /points_xyzrgb/depth/image_transport
 * /points_xyzrgb/queue_size
 * /points_xyzrgb/rgb/image_transport
 * /points_xyzrgb/voxel_size
 * /rosdistro
 * /rosversion
 * /rtabmap/rtabmap/LccBow/InlierDistance
 * /rtabmap/rtabmap/LccBow/MaxDepth
 * /rtabmap/rtabmap/LccIcp/Type
 * /rtabmap/rtabmap/RGBD/LocalLoopDetectionSpace
 * /rtabmap/rtabmap/RGBD/LocalLoopDetectionTime
 * /rtabmap/rtabmap/RGBD/OptimizeFromGraphEnd
 * /rtabmap/rtabmap/RGBD/PoseScanMatching
 * /rtabmap/rtabmap/depth/image_transport
 * /rtabmap/rtabmap/frame_id
 * /rtabmap/rtabmap/rgb/image_transport
 * /rtabmap/rtabmap/subscribe_depth
 * /rtabmap/rtabmap/subscribe_laserScan
 * /rtabmap/rtabmap/wait_for_transform
 * /rtabmap/rtabmapviz/depth/image_transport
 * /rtabmap/rtabmapviz/frame_id
 * /rtabmap/rtabmapviz/rgb/image_transport
 * /rtabmap/rtabmapviz/subscribe_depth
 * /rtabmap/rtabmapviz/subscribe_laserScan
 * /rtabmap/rtabmapviz/wait_for_transform
 * /use_sim_time

NODES
  /rtabmap/
    rtabmap (rtabmap_ros/rtabmap)
    rtabmapviz (rtabmap_ros/rtabmapviz)
  /
    points_xyzrgb (nodelet/nodelet)
    rviz (rviz/rviz)

auto-starting new master
process[master]: started with pid [7066]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 1fb7c5ac-b23c-11e4-b708-c42c030ca39d
process[rosout-1]: started with pid [7079]
started core service [/rosout]
process[rtabmap/rtabmap-2]: started with pid [7093]
[ INFO] [1423693204.389619190]: Starting node...
[ INFO] [1423693204.416343189]: rtabmap: frame_id = base_footprint
[ INFO] [1423693204.416458828]: rtabmap: map_frame_id = map
[ INFO] [1423693204.416503714]: rtabmap: queue_size = 10
[ INFO] [1423693204.416556890]: rtabmap: tf_delay = 0.050000
process[rtabmap/rtabmapviz-3]: started with pid [7174]
[ INFO] [1423693204.520981276]: Setting RTAB-Map parameter "LccBow/InlierDistance"="0.1"
[ INFO] [1423693204.536834937]: Setting RTAB-Map parameter "LccBow/MaxDepth"="0.0"
[ INFO] [1423693204.544805422]: Setting RTAB-Map parameter "LccIcp/Type"="2"
[ INFO] [1423693204.730406761]: Setting RTAB-Map parameter "RGBD/LocalLoopDetectionSpace"="true"
[ INFO] [1423693204.732758833]: Setting RTAB-Map parameter "RGBD/LocalLoopDetectionTime"="false"
[ INFO] [1423693204.741678079]: Setting RTAB-Map parameter "RGBD/OptimizeFromGraphEnd"="false"
[ INFO] [1423693204.742888188]: Setting RTAB-Map parameter "RGBD/PoseScanMatching"="true"
[ INFO] [1423693204.796300847]: Starting node...
process[rviz-4]: started with pid [7780]
[ INFO] [1423693204.938134174]: rtabmapviz: Using configuration from "/home/mathieu/catkin_ws/src/rtabmap_ros/launch/config/rgbd_gui.ini"
[ INFO] [1423693205.035364975]: rviz version 1.10.18
[ INFO] [1423693205.035605599]: compiled against OGRE version 1.7.4 (Cthugha)
[ INFO] [1423693205.055279832]: RTAB-Map rate detection = 1.000000 Hz
[ INFO] [1423693205.055765545]: rtabmap: Deleted database "/home/mathieu/.ros/rtabmap.db" (--delete_db_on_start is set).
[ INFO] [1423693205.055808413]: rtabmap: Using database from "/home/mathieu/.ros/rtabmap.db".
process[points_xyzrgb-5]: started with pid [7972]
[ INFO] [1423693205.906828784]: Reading parameters from the ROS server...
[ INFO] [1423693206.037116867]: Registering Depth+LaserScan callback...
[ INFO] [1423693206.041187248]: rtabmap started...
[ INFO] [1423693206.083981066]: Parameters read = 160
[ INFO] [1423693206.084054883]: Parameters successfully read.
[ INFO] [1423693206.203484915]: Stereo is NOT SUPPORTED
[ INFO] [1423693206.204054653]: OpenGl version: 3.3 (GLSL 3.3).
[ INFO] [1423693206.614110394]: Registering Depth+LaserScan callback...
[ INFO] [1423693206.617096499]: rtabmapviz started.
[ WARN] [1423693209.182179169, 1368730003.599447640]: Lookup would require extrapolation into the past.  Requested time 1368730003.421742750 but the earliest data is at time 1368730003.905609120, when looking up transform from frame [base_laser_link] to frame [base_footprint]
[ WARN] [1423693209.286916918, 1368730003.700114500]: Lookup would require extrapolation into the past.  Requested time 1368730003.521858750 but the earliest data is at time 1368730003.905609120, when looking up transform from frame [base_laser_link] to frame [base_footprint]
[ WARN] [1423693209.380553388, 1368730003.790721729]: Lookup would require extrapolation into the past.  Requested time 1368730003.596578750 but the earliest data is at time 1368730003.905609120, when looking up transform from frame [base_laser_link] to frame [base_footprint]
[ WARN] [1423693209.544798230, 1368730003.963490470]: Lookup would require extrapolation into the past.  Requested time 1368730003.721525750 but the earliest data is at time 1368730003.905609120, when looking up transform from frame [base_laser_link] to frame [base_footprint]
[ WARN] [1423693209.572062305, 1368730003.983649832]: Lookup would require extrapolation into the past.  Requested time 1368730003.871489750 but the earliest data is at time 1368730003.905609120, when looking up transform from frame [base_laser_link] to frame [base_footprint]
[ WARN] [1423693210.164091833, 1368730004.582778418]: Could not get transform from base_footprint to base_laser_link after 1 second!
[ WARN] [1423693211.176205244, 1368730005.592633767]: Could not get transform from base_footprint to base_laser_link after 1 second!
[ WARN] [1423693211.238846917, 1368730005.653262976]: Use depth image with "unsigned short" type to avoid conversion. This message is only printed once...
[ INFO] [1423693211.506321189, 1368730005.824959342]: rtabmap: Update rate=1.000000s, Limit=0.000000s, RTAB-Map=0.265444s, Publish=0.003623s (1 local nodes)
[ INFO] [1423693215.768482657, 1368730006.908974108]: rtabmap: Update rate=1.000000s, Limit=0.000000s, RTAB-Map=0.268008s, Publish=0.003576s (2 local nodes)
...
The last INFO messages (last two lines) shown at 1 Hz are sent when rtabmap is actually mapping.
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

sophye_turtllebot
In reply to this post by matlabbe
hello
I'm working with turtlebot and kinect, ros , i want to run the rtabmap, but i had a problem
when running :
roslaunch openni_launch openni.launch depth_registration:=true
roslaunch rtabmap_ros rgbd_mapping.launch
i had a black image screens and nothing happens ,i had as information:

SUMMARY
========

PARAMETERS
 * /rosdistro
 * /rosversion
 * /rtabmap/map_assembler/occupancy_grid
 * /rtabmap/rtabmap/Kp/MaxDepth
 * /rtabmap/rtabmap/LccBow/InlierDistance
 * /rtabmap/rtabmap/LccBow/MinInliers
 * /rtabmap/rtabmap/LccIcp/Type
 * /rtabmap/rtabmap/LccIcp2/CorrespondenceRatio
 * /rtabmap/rtabmap/Mem/RehearsalSimilarity
 * /rtabmap/rtabmap/RGBD/AngularUpdate
 * /rtabmap/rtabmap/RGBD/LinearUpdate
 * /rtabmap/rtabmap/RGBD/OptimizeFromGraphEnd
 * /rtabmap/rtabmap/Rtabmap/TimeThr
 * /rtabmap/rtabmap/queue_size
 * /rtabmap/rtabmap/subscribe_depth
 * /rtabmap/rtabmap/subscribe_laserScan
 * /rtabmap/rtabmapviz/subscribe_depth
 * /rtabmap/rtabmapviz/subscribe_odom_info
 * /rtabmap/visual_odometry/Odom/FeatureType
 * /rtabmap/visual_odometry/Odom/FillInfoData
 * /rtabmap/visual_odometry/Odom/InlierDistance
 * /rtabmap/visual_odometry/Odom/MaxDepth
 * /rtabmap/visual_odometry/Odom/MinInliers
 * /rtabmap/visual_odometry/Odom/Strategy
 * /rtabmap/visual_odometry/OdomBow/LocalHistorySize
 * /rtabmap/visual_odometry/OdomBow/NNType

NODES
  /rtabmap/
    map_assembler (rtabmap_ros/map_assembler)
    rtabmap (rtabmap_ros/rtabmap)
    rtabmapviz (rtabmap_ros/rtabmapviz)
    visual_odometry (rtabmap_ros/rgbd_odometry)
  /
    base_to_camera_tf (tf/static_transform_publisher)

auto-starting new master
process[master]: started with pid [6425]
ROS_MASTER_URI=http://192.168.0.13:11311

setting /run_id to 0575e14a-ea51-11e4-b595-dc85de594080
process[rosout-1]: started with pid [6438]
started core service [/rosout]
process[base_to_camera_tf-2]: started with pid [6450]
process[rtabmap/visual_odometry-3]: started with pid [6461]
process[rtabmap/rtabmap-4]: started with pid [6462]
process[rtabmap/rtabmapviz-5]: started with pid [6463]
process[rtabmap/map_assembler-6]: started with pid [6464]
[ INFO] [1429859445.859011890]: Starting node...
[ INFO] [1429859445.950498358]: rtabmap: frame_id = base_link
[ INFO] [1429859445.950710898]: rtabmap: map_frame_id = map
[ INFO] [1429859445.950820503]: rtabmap: queue_size = 10
[ INFO] [1429859445.950924425]: rtabmap: tf_delay = 0.050000
[ INFO] [1429859446.168663474]: Setting odometry parameter "Odom/FeatureType"="6"
[ INFO] [1429859446.173728352]: Setting odometry parameter "Odom/FillInfoData"="true"
[ INFO] [1429859446.190645549]: Setting odometry parameter "Odom/InlierDistance"="0.02"
[ INFO] [1429859446.212187381]: Setting odometry parameter "Odom/MaxDepth"="4.0"
[ INFO] [1429859446.252875043]: Setting odometry parameter "Odom/MinInliers"="20"
[ INFO] [1429859446.356079221]: Setting odometry parameter "Odom/Strategy"="0"
[ INFO] [1429859446.358338902]: Setting odometry parameter "OdomBow/LocalHistorySize"="1000"
[ INFO] [1429859446.361362585]: Setting RTAB-Map parameter "Kp/MaxDepth"="4.0"
[ INFO] [1429859446.370965278]: Setting odometry parameter "OdomBow/NNType"="3"
[ INFO] [1429859446.477725923]: Setting RTAB-Map parameter "LccBow/InlierDistance"="0.02"
[ INFO] [1429859446.500329493]: Setting RTAB-Map parameter "LccBow/MinInliers"="10"
[ INFO] [1429859446.525279212]: Setting RTAB-Map parameter "LccIcp/Type"="2"
[ INFO] [1429859446.527611554]: Setting RTAB-Map parameter "LccIcp2/CorrespondenceRatio"="0.5"
[ INFO] [1429859446.854792281]: Setting RTAB-Map parameter "Mem/RehearsalSimilarity"="0.45"
[ INFO] [1429859447.028037578]: Starting node...
[ INFO] [1429859447.035649660]: Using OdometryBOW
[ INFO] [1429859447.181925569]: Setting RTAB-Map parameter "RGBD/AngularUpdate"="0.01"
[ INFO] [1429859447.208563223]: Setting RTAB-Map parameter "RGBD/LinearUpdate"="0.01"
[ INFO] [1429859447.273653670]: Setting RTAB-Map parameter "RGBD/OptimizeFromGraphEnd"="false"
[ INFO] [1429859447.375095622]: Setting RTAB-Map parameter "Rtabmap/TimeThr"="700"
[ INFO] [1429859447.641763817]: rtabmapviz: Using configuration from "/home/turtlebot/catkin_ws/src/rtabmap_ros/launch/config/rgbd_gui.ini"
[ INFO] [1429859447.838616731]: RTAB-Map rate detection = 1.000000 Hz
[ INFO] [1429859447.838782699]: rtabmap: Deleted database "/home/turtlebot/.ros/rtabmap.db" (--delete_db_on_start is set).
[ INFO] [1429859447.838834040]: rtabmap: Using database from "/home/turtlebot/.ros/rtabmap.db".
[ INFO] [1429859450.194992029]: Reading parameters from the ROS server...
[ INFO] [1429859450.427185769]: Parameters read = 170
[ INFO] [1429859450.427253472]: Parameters successfully read.
[ INFO] [1429859451.242307085]: Registering Depth callback + OdomInfo...
[ INFO] [1429859451.273783486]: rtabmapviz started.
[ INFO] [1429859451.861290622]: Registering Depth+LaserScan callback...
[ INFO] [1429859451.877171589]: rtabmap started...


please any help!
Thanks in advance
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

matlabbe
Administrator
Hi,

The problem is that some topics are not published (maybe some topic remap needed). However, on turtlebot, I recommend a setup like "Kinect+Odometry+Fake 2D laser from Kinect". Use the odometry from turtlebot instead of the one from rgbd_odometry.  I think the fake laser scans are generated by turtlebot by default on bringup. Make sure to remap the topics in the launch file of the link above to ones on turtlebot. For vizualization, use RVIZ with the rtabmap plugins.

cheers
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

sophye_turtllebot
This post was updated on .
Thanks for your response,
I changer topics and finally RTABMAP worked fine but i had this warnings:

[ INFO] [1430122938.038079517]: Odom: quality=0, std dev=0.000000m, update
time=0.282166s
[pcl::IterativeClosestPoint::computeTransformation] Not enough
correspondences found. Relax your threshold parameters.
[ WARN] (2015-04-27 10:22:18.425) Rtabmap.cpp:967::process() Scan matching
rejected: Cannot compute transform (converged=false var=-1.000000
corrRatio=0.000000/0.500000)
[ WARN] (2015-04-27 10:22:18.432) Rtabmap.cpp:1510::process() Rejected loop
closure 5 -> 21: Not enough inliers (after RANSAC) 0/3 between 5 and 21
[ INFO] [1430122938.480224562]: rtabmap: Update rate=1.000000s,
Limit=0.700000s, RTAB-Map=1.815116s, Publish=0.000530s (18 local nodes)
[ WARN] (2015-04-27 10:22:18.480) MainWindow.cpp:961::processStats()
Processing time (1,802294s) is over detection rate (1,000000s), real-time
problem!
[ WARN] (2015-04-27 10:22:19.612) Rtabmap.cpp:1510::process() Rejected loop
closure 6 -> 22: Cannot compute transform (converged=true var=0.002878
corrRatio=0.181818/0.500000)


ANy help please

Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

matlabbe
Administrator
Hi,

The warnings in Rtabmap.cpp are normal, they are here for information that a loop closure is detected but a geometrical transformation cannot be computed to close the loop.

The Odom message tells that the rgbd_odometry node is running and is lost, but you don't need it on turtlebot if you use the odometry from the robot.

Well, this one is a problem:
[ INFO] [1430122938.480224562]: rtabmap: Update rate=1.000000s, Limit=0.700000s, RTAB-Map=1.815116s, Publish=0.000530s (18 local nodes)
[ WARN] (2015-04-27 10:22:18.480) MainWindow.cpp:961::processStats() Processing time (1,802294s) is over detection rate (1,000000s), real-time problem!

1.8 seconds for processing is quite high since the Time threshold seems to be set (Limit=0.7 second). Normally, the processing time should not be as much over 0.7 second (even always under the Update rate of 1 second). Is this happens very often? Can you copy/paste the launch file you are using?

Cheers
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

sophye_turtllebot
This post was updated on .
Thank you for this informations,

yes this problem always happens
I use this launch file of rgbd_mapping:


<launch>
  <arg name="rviz" default="true" />
  <arg name="rtabmapviz" default="true" />


   <arg name="strategy" default="0" />
   <arg name="feature" default="6" />
   <arg name="nn" default="3" />
   <arg name="max_depth" default="4.0" />
   <arg name="min_inliers" default="20" />
   <arg name="inlier_distance" default="0.02" />
   <arg name="local_map" default="1000" />
   <arg name="odom_info_data" default="true" />

 
  <node pkg="tf" type="static_transform_publisher" name="base_to_camera_tf"
    args="0.0 0.0 0.0 0.0 0.0 0.0 /base_link /camera_link 100" />

  <group ns="rtabmap">



    <node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="screen"
args="--delete_db_on_start">

     
     
     
      <remap from="rgb/image" to="/camera/rgb/image_rect_color"/>
      <remap from="depth/image" to="/camera/depth_registered/image_raw"/>
      <remap from="rgb/camera_info"
to="/camera/depth_registered/camera_info"/>
      <remap from="scan" to="/scan"/>
      <remap from="odom" to="/odom"/>

       
         
         
               
         
         
         
         
         
         
         
         
       
    </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="rgb/image" to="/camera/rgb/image_rect_color"/>
      <remap from="depth/image" to="/camera/depth_registered/image_raw"/>
      <remap from="rgb/camera_info"
to="/camera/depth_registered/camera_info"/>
      <remap from="scan" to="/scan"/>
      <remap from="odom" to="/odom"/>

     

    </node>
  </group>


 
  <node if="$(arg rviz)" pkg="rviz" type="rviz" name="rviz" args="-d $(find
rtabmap_ros)/launch/config/rgbd.rviz"/>
 
  <node if="$(arg rviz)" pkg="nodelet" type="nodelet"
name="standalone_nodelet"  args="manager" output="screen"/>
  <node if="$(arg rviz)" pkg="nodelet" type="nodelet" name="data_odom_sync"
args="load rtabmap_ros/data_odom_sync standalone_nodelet">
    <remap from="rgb/image_in"       to="/camera/rgb/image_rect_color"/>
    <remap from="depth/image_in"
to="/camera/depth_registered/image_raw"/>
    <remap from="rgb/camera_info_in"
to="/camera/depth_registered/camera_info"/>
    <remap from="odom_in"             to="/odom"/>

    <remap from="rgb/image_out"       to="/camera/rgb/image_rect_color"/>
    <remap from="depth/image_out"
to="/camera/depth_registered/image_raw"/>
    <remap from="rgb/camera_info_out"
to="/camera/depth_registered/camera_info"/>
    <remap from="odom_out"            to="/odom"/>
  </node>
  <node if="$(arg rviz)" pkg="nodelet" type="nodelet" name="points_xyzrgb"
args="load rtabmap_ros/point_cloud_xyzrgb standalone_nodelet">
    <remap from="rgb/image"       to="/camera/rgb/image_rect_color"/>
    <remap from="depth/image"     to="/camera/depth_registered/image_raw"/>
    <remap from="rgb/camera_info"
to="/camera/depth_registered/camera_info"/>
   * <remap from="cloud"           to="/camera/depth_registered/points" />*

   
  </node>


</launch>



I have a doubt in the last topic , i d'ont know if what i did in
  <remap from="cloud"           to="/camera/depth_registered/points" /> is
correct or not?
also
 i remap /rgb/image_in" and /gb/image_in" to the same topic
/camera/rgb/image_rect_color
Is this correct?

THanks in advance




Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

matlabbe
Administrator
Here is a minimal launch file. I removed the rtabmapviz part, to use only RVIZ. For convenience, I load the demo_robot_mapping.rviz configuration file for RVIZ (TF added, fixed_frame set to /map, MapCloud plugin loaded and the occupancy grid map is shown). To have an occupancy grid map, you need the grid_map_assembler node which subscribes to /rtabmap/mapData and publishes /rtabmap/grid_map (well in rtabmap latest source code, grid_map_assembler is not required as rtabmap publishes /grid_map already).

Note: I am not sure that you need to broadcast the TF between /base_link and /camera_link. Turtlebot should already publish the transform between /base_link and the kinect (/camera_link), so you can remove the static_transform_publisher below.

<launch>

  <!-- TF FRAMES -->
  <node pkg="tf" type="static_transform_publisher" name="base_to_camera_tf"
    args="0.0 0.0 0.0 0.0 0.0 0.0 /base_link /camera_link 100" />
    
  <group ns="rtabmap">

    <!-- rtabmap-->
    <node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="screen" args="--delete_db_on_start">
      
      <param name="subscribe_depth" type="bool" value="true"/>
      <param name="subscribe_laserScan" type="bool" value="true"/>
      <param name="frame_id" type="string" value="base_link"/>

      <!-- Input topics -->
      <remap from="rgb/image" to="/camera/rgb/image_rect_color"/>
      <remap from="depth/image" to="/camera/depth_registered/image_raw"/>
      <remap from="rgb/camera_info" to="/camera/rgb/camera_info"/>
      <remap from="scan" to="/scan"/>
      <remap from="odom" to="/odom"/>
      
      <param name="RGBD/PoseScanMatching" type="string" value="true"/>
      <param name="RGBD/LocalLoopDetectionSpace" type="string" value="true"/>
      <param name="LccIcp/Type" type="string" value="2"/>     <!-- 2=ICP 2D -->
      <param name="LccBow/MinInliers" type="string" value="3"/>
      <param name="LccBow/InlierDistance" type="string" value="0.05"/>
      <param name="RGBD/AngularUpdate" type="string" value="0.01"/>
      <param name="RGBD/LinearUpdate" type="string" value="0.01"/>
      <param name="Rtabmap/TimeThr" type="string" value="700"/>
      <param name="Mem/RehearsalSimilarity" type="string" value="0.45"/>
      <param name="RGBD/OptimizeFromGraphEnd" type="string" value="false"/>
      <param name="Kp/MaxDepth" type="string" value="4.0"/>
      <param name="LccIcp2/CorrespondenceRatio" type="string" value="0.5"/>
    </node>

    <!-- Grid map assembler for rviz -->
    <node pkg="rtabmap_ros" type="grid_map_assembler" name="grid_map_assembler"/>

  </group>

  <!-- RVIZ -->
  <node pkg="rviz" type="rviz" name="rviz" args="-d $(find rtabmap_ros)/launch/config/demo_robot_mapping.rviz" output="screen"/>
</launch>


>I have a doubt in the last topic , i d'ont know if what i did in
>  <remap from="cloud"           to="/camera/depth_registered/points" /> is correct or not?
>also
> i remap /rgb/image_in" and /gb/image_in" to the same topic  /camera/rgb/image_rect_color
>Is this correct?

No, /camera/depth_registered/points is already published by openni_launch, you should set another output topic name.
Well, the data_odom_sync outputs are wrong too. You don't need the data_odom_sync nodelet either, it is used to synchronize images with the odom generated by rgbd_odometry node when used. If you want to publish a voxelized cloud of the kinect, use this:
<node pkg="nodelet" type="nodelet" name="points_xyzrgb" args="standalone rtabmap_ros/point_cloud_xyzrgb">
    <!-- Input topics -->
    <remap from="rgb/image"       to="/camera/rgb/image_rect_color"/>
    <remap from="depth/image"     to="/camera/depth_registered/image_raw"/>
    <remap from="rgb/camera_info" to="/camera/rgb/camera_info"/>
   
    <!-- Output topic -->
    <remap from="cloud"           to="voxel_cloud" />

    <param name="voxel_size" type="double" value="0.05"/>
  </node>
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

sophye_turtllebot
This post was updated on .
i did this but in rviz i found a warning "no image" and image topic was
/data_throttled_image,
so i add this lines in the rviz node:


<node pkg="rviz" type="rviz" name="rviz" args="-d $(find
rtabmap_ros)/launch/config/demo_robot_mapping.rviz" output="screen">



*<remap from="rgb/image" to="/camera/rgb/image_rect_color"/><remap
from="depth/image" to="/camera/depth_registered/image_raw"/><remap
from="rgb/camera_info" to="/camera/rgb/camera_info"/>*
</node>

But it is still the same problem (look at the attached screenshot)
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

matlabbe
Administrator
You don't have to remap RVIZ's topics in the launch file. Do it directly in RVIZ by clicking the "Image Topic", and choose "/camera/rgb/image_rect_color" (though you can choose any of the image topics shown) instead of "/data_throttled_image". The "/data_throttled_image" topic was used for the rosbag of the robot mapping demo.
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

sophye_turtllebot
This post was updated on .
thanks a lot

just one last question please,
At first, I worked with the rgbdslam interface, but I couldn't get a
real-time mapping with octovis, so I searched and i found the rtabmap
So from what I understood the rtabmap is the rgbdslam with real-time
mapping?

But here it lacks the information of the localization and I noticed that my
interface RTABMAP is missing the icon of the localization.
I try to call the service of localization with  "rosservice call
rtabmap/set_mode_localization" . but nothing was changed
( i have attached my RTABMAP interface (capture) and the RTABMAP interface
which l search (capture2)to better understand my problem)
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

matlabbe
Administrator
RTAB-Map is a RGB-D SLAM approach (in the common sense) with real-time constraints, not based on the RGBDSLAM project.

You say "But here it lacks the information of the localization", what kind of localization information you are referring?

For the Localization button, the documentation needs an update. The workflow has changed in the last weeks. The Localization mode is in the Detection menu as shown below. However, calling "rosservice call /rtabmap/set_mode_localization" should have worked too. Note that the Localization mode is exactly like the Mapping mode but no new data is added to the map.

Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

sophye_turtllebot
This post was updated on .
but there isn't a file  that contains the coordinate values of the
trajectory (x, y, z) how can I display those values
the icon of the localization gives just the shape of the trajectory and not the
coordinates
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

matlabbe
Administrator
I think the Localization button is not what you are looking for. To just "see" the values of the trajectory, in rtabmapviz, open the Graph View (Menu Window -> Show view... -> Graph view). Put the mouse over a node to show the tooltip with the coordinate of the node.



To "save" the trajectory coordinates, you have two options:
1) In ROS, you can look in the "/rtabmap/graph" (rtabmap_ros/Graph) msg sent by rtabmap. Create a node to subscribe and save the values, or use rostopic to show the message and copy paste what you want.
$ rostopic echo /rtabmap/graph

Only the poses:
$ rostopic echo /rtabmap/graph/poses
Only the ids:
rostopic echo /rtabmap/graph/nodeIds

2) Open the database in the standalone rtabmap, and select "Generate TORO graph..." in the menu Edit->Advanced. Select "Global graph optimized" for poses with loop closure corrections and "Global graph not optimized" for raw poses (i.e. odometry poses). For an example of TORO output, see the Kinect mapping tutorial under "Export TORO graph" section.
$ rtabmap

Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

sophye_turtllebot
This post was updated on .
that's exactly what I want thank you very much
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

sophye_turtllebot
This post was updated on .
In reply to this post by matlabbe
Hi
I have a question about RTABMAP and RGBDSLAMv2 (
http://felixendres.github.io/rgbdslam_v2/) , i didn't understand the
difference between rgbdslam and rtabmap?
when should i worked with rtabmap instead of rgbdslam?
Reply | Threaded
Open this post in threaded view
|

Re: Error when trying to run Rtabmap version ROS

matlabbe
Administrator
Please ask this question on a new Topic in the forum.

cheers
12