RTAB-Map rgbd_launch error Map received with code error 1!

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

RTAB-Map rgbd_launch error Map received with code error 1!

Gabe
Hi, I am trying to use RTAB-Map on my clearpath Jackal robot (am reading its topics through the same wifi). I am not using OpenNI because my robot and ASUS Xtion rgbd camera have already been set up to publish the camera topics (as shown in the picture where I type in rostopic list):




Whenever I run roslaunch rtabmap_ros rgbd_mapping.launch rtabmap_args:="--delete_db_on_start", it takes long for my RTAB to open up, and when it does run, I get the following on the Progress dialog of the RTAB GUI when I click on the Download all clouds button (looks like a refresh button) and I select any of the Options:

17:42:11 Downloading the map (global=false ,optimized=true)...
17:42:14 Downloading the map... done.
17:42:14 [ERROR] Map received with code error 1!

Meanwhile, the terminal keeps displaying:

[ WARN] [1464793454.065524286]: TF_OLD_DATA ignoring data from the past for frame camera_rgb_frame at time 1.46479e+09 according to authority unknown_publisher
Possible reasons are listed at http://wiki.ros.org/tf/Errors%20explained


Anyone know how I might be able to fix this? Thanks for the help! :)

Reply | Threaded
Open this post in threaded view
|

Re: RTAB-Map rgbd_launch error Map received with code error 1!

matlabbe
Administrator
Hi,

Is RTAB-Map running on the same computer as the camera/robot? Normally, it should not take too long to open rtabmapviz, unless there is a lag when reading the rosparam server (which could happen on WIFI). If you are starting RTAB-Map on another computer than the camera (and a WIFI connection is between them), you cannot start rgbd_mapping.launch "as is" because it will subscribe to raw RGB/depth images (which require a lot of bandwidth!). For remote mapping, see this tutorial: http://wiki.ros.org/rtabmap_ros/Tutorials/RemoteMapping

The "[ERROR] Map received with code error 1!" can be caused by rtabmapviz not able to call /rtabmap/get_map service (because connection problem) or that rtabmap node is died. Look in the terminal where rtabmap is started for possible errors. When rtabmap is running, it should show a status message each second on the terminal.

Your TF error seems a problem of synchronization of TF between the computers (is the clock synchronized between the computers?).

cheers
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-Map rgbd_launch error Map received with code error 1!

Gabe
Hi,

No RTAB-Map is being run on a different computer than the robot. And yes, the RTAB-Map takes a long time to work because it keeps saying "setting parameter: PARAMETERNAME" for a bunch of parameters, and each parameter setting takes around a minute.

Thank you very much for the help, I will check out the remote mapping tutorial and let you know if it fixes the issue.

So just to clarify, rtabmap is usually loaded and run in the robot computer?

Best,

Gabriel
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-Map rgbd_launch error Map received with code error 1!

Gabe
In reply to this post by Gabe
Hey,

So i just tried the remote mapping method (http://wiki.ros.org/rtabmap_ros/Tutorials/RemoteMapping) and I try to do the first step where we create the freenect_throttle.launch file (i named it notfreenect_throttle.launch because I am not using freenect, my camera topics are already being published, as seen from  the picture), and I make the following modifications to the launch file they tell us to copy:

- I remove the  

<include file="$(find freenect_launch)/launch/freenect.launch">
     <arg name="depth_registration" value="True" />
  </include>


part, because once I again I am not using freenect. To me, it looks like it should work if I remove these 3 lines because the other lines are just setting parameters and using the /camera node which I already have. When I run roslaunch notfreenect_throttle.launch rate:=5 , however, I get the following error:

roslaunch notfreenect_throttle.launch rate:=6
... logging to /home/administrator/.ros/log/cb4d5d36-2898-11e6-90b6-a5e4b072b989/roslaunch-CPR-J100-0018-6254.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://192.168.0.13:53458/

SUMMARY
========

PARAMETERS
 * /camera/data_throttle/decimation: 1
 * /camera/data_throttle/rate: 6.0
 * /rosdistro: indigo
 * /rosversion: 1.11.16

NODES
  /camera/
    data_throttle (nodelet/nodelet)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[camera/data_throttle-1]: started with pid [6272]
terminate called after throwing an instance of 'std::runtime_error'
  what():  locale::facet::_S_create_c_locale name not valid
[camera/data_throttle-1] process has died [pid 6272, exit code -6, cmd /opt/ros/indigo/lib/nodelet/nodelet load rtabmap_ros/data_throttle camera_nodelet_manager rgb/image_in:=rgb/image_rect_color depth/image_in:=depth_registered/image_raw rgb/camera_info_in:=rgb/camera_info rgb/image_out:=data_throttled_image depth/image_out:=data_throttled_image_depth rgb/camera_info_out:=data_throttled_camera_info __name:=data_throttle __log:=/home/administrator/.ros/log/cb4d5d36-2898-11e6-90b6-a5e4b072b989/camera-data_throttle-1.log].
log file: /home/administrator/.ros/log/cb4d5d36-2898-11e6-90b6-a5e4b072b989/camera-data_throttle-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done


How could I go about throttling my image and using it on RTAB? THanks :) (as mentioned, if you want to see the topics my camera publishes, see my first post)

Best,

Gabriel
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-Map rgbd_launch error Map received with code error 1!

Gabe
In reply to this post by Gabe
Hi,

So i've been trying to get this to work, and I've got it down to just one last error when trying to run my roslaunch notfreenect_throttle.launch rate:=5 , the file created according to these guidelines: http://wiki.ros.org/rtabmap_ros/Tutorials/RemoteMapping.

This is the error I get:

[FATAL] [1464861932.248119604]: Service call failed!
[camera/data_throttle-1] process has died [pid 26178, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load rtabmap_ros/data_throttle camera_nodelet_manager rgb/image_in:=rgb/image_rect_color depth/image_in:=depth_registered/image_raw rgb/camera_info_in:=rgb/camera_info rgb/image_out:=data_throttled_image depth/image_out:=data_throttled_image_depth rgb/camera_info_out:=data_throttled_camera_info __name:=data_throttle __log:=/home/administrator/.ros/log/cb4d5d36-2898-11e6-90b6-a5e4b072b989/camera-data_throttle-1.log].
log file: /home/administrator/.ros/log/cb4d5d36-2898-11e6-90b6-a5e4b072b989/camera-data_throttle-1*.log


I try to run this roslaunch notfreenect_throttle.launch rate:=5 command on both my ssh'ed robot and my computer, and both give the same error.

How could i fix this? Thanks :)


ALSO: When I try to run roslaunch rtabmap_ros rgbd_mapping.launch on my ROBOT after I installed rtabmap on it, I get an error with rtabmapviz, so I can't visualize it from my robot, hence why I am trying to do a remote connection. This is the rtabmapviz error I get:

[rtabmap/rtabmapviz-3] process has died [pid 28905, exit code 1, cmd /home/administrator/catkin_ws/devel/lib/rtabmap_ros/rtabmapviz -d /home/administrator/catkin_ws/src/rtabmap_ros/launch/config/rgbd_gui.ini rgb/image:=/camera/rgb/image_rect_color depth/image:=/camera/depth_registered/image_raw rgb/camera_info:=/camera/rgb/camera_info scan:=/scan scan_cloud:=/scan_cloud __name:=rtabmapviz __log:=/home/administrator/.ros/log/cb4d5d36-2898-11e6-90b6-a5e4b072b989/rtabmap-rtabmapviz-3.log].
log file: /home/administrator/.ros/log/cb4d5d36-2898-11e6-90b6-a5e4b072b989/rtabmap-rtabmapviz-3*.log


Let me know if there is any way to fix it :) Merci!

Best,

Gabriel
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-Map rgbd_launch error Map received with code error 1!

matlabbe
Administrator
Hi Gabriel,

RTAB-Map can be launched on the robot or a remote computer. There is indeed more steps when launching form a remote computer to get the data with low bandwidth. Depending on your WIFI reliability and speed (and if you want to do visual odometry on the remote computer), you may increase "rate" below to 10. I recommend though to use odometry from your robot if it has it already (see section Advanced in the tutorial).

Try to launch the nodelet in its own standalone nodelet manager (not sure if camera_nodelet_manager exists on your robot):
<launch>
  <arg name="rate"  default="5"/>
  <arg name="decimation"  default="1"/> <!-- Reduce the image size, e.g., 2 means "width/2 x height/2".

  <group ns="camera">
    <node pkg="nodelet" type="nodelet" name="data_throttle" args="standalone rtabmap_ros/data_throttle" output="screen">
      <param name="rate" type="double" value="$(arg rate)"/>
      <param name="decimation" type="int" value="$(arg decimation)"/>

      <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>      
</launch>
You can then verify that throttled topics are published using this:
$ rostopic hz /camera/data_throttled_image
$ rostopic hz /camera/data_throttled_image_depth
$ rostopic hz /camera/data_throttled_camera_info

cheers
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-Map rgbd_launch error Map received with code error 1!

Gabe
Hi Matlabbe,

Thanks so much for all the help. I copied your launch file onto my notfreenect_throttle.launch, and i ran roslaunch notfreenect_throttle.launch rate:=5, but I still get the same error.

When i type rostopic list, I do have a camera/camera_nodelet_manager/bond topic already running, maybe that could be the reason for the problem?

Also, on the Robot, I am able to run rtabmap but i get errors. This is what happens when i try to run the following code:


roslaunch rtabmap_ros rgbd_mapping.launch _image_transport:=compressed rtabmaprviz:=false rviz:=true odom:=/odometry/filtered rgb/image:=/camera/rgb/image_rect?color depth_image:=/camera/depth_registered/image_raw rgb/camera_info:=/camera/rgb/camera_info queue_size:=10 RGBD/AngularUpdate:=0.01 RGBD/LinearUpdate:=0.01 Rtabmap/TimeThr:=700 Mem/RehearsalSimilarity:=0.45 RGBD/OptimizeFromGraphEnd:=true



[rviz-4] process has died [pid 10899, exit code 1, cmd /opt/ros/indigo/lib/rviz/rviz -d /home/administrator/catkin_ws/src/rtabmap_ros/launch/config/rgbd.rviz __name:=rviz __log:=/home/administrator/.ros/log/9a753c5e-28cc-11e6-a71f-2d76ac6d1fb5/rviz-4.log].
log file: /home/administrator/.ros/log/9a753c5e-28cc-11e6-a71f-2d76ac6d1fb5/rviz-4*.log
[ INFO] [1464879436.743081322]: Starting node...
[ INFO] [1464879436.788226416]: Starting node...
rtabmapviz: cannot connect to X server
[rtabmap/rtabmapviz-3] process has died [pid 10898, exit code 1, cmd /home/administrator/catkin_ws/devel/lib/rtabmap_ros/rtabmapviz -d /home/administrator/catkin_ws/src/rtabmap_ros/launch/config/rgbd_gui.ini rgb/image:=/camera/rgb/image_rect_color depth/image:=/camera/depth_registered/image_raw rgb/camera_info:=/camera/rgb/camera_info scan:=/scan scan_cloud:=/scan_cloud __name:=rtabmapviz __log:=/home/administrator/.ros/log/9a753c5e-28cc-11e6-a71f-2d76ac6d1fb5/rtabmap-rtabmapviz-3.log].
log file: /home/administrator/.ros/log/9a753c5e-28cc-11e6-a71f-2d76ac6d1fb5/rtabmap-rtabmapviz-3*.log


and then it continues printing Odom: quality= #, std dev=#, update time = # with all different numbers.

Thanks for all the help, it is very appreciated. Let me know if you have any ideas.


Reply | Threaded
Open this post in threaded view
|

Re: RTAB-Map rgbd_launch error Map received with code error 1!

matlabbe
Administrator
Hi,

the code above should not use the camera_nodelet_manager:
node pkg="nodelet" type="nodelet" name="data_throttle" args="standalone rtabmap_ros/data_throttle" output="screen"
See nodelet documentation for more info:http://wiki.ros.org/nodelet/Tutorials/Running%20a%20nodelet


If you see odometry info printing, it is a good sign that the mapping is working. However for rviz and rtabmapviz, you cannot launch them from ssh without a X server running. For visualization on the remote computer, either
1- launch rgbd_mapping.launch in a ssh session with X server running ($ ssh -X robot@192.168.0.2) or
2- launch rgbd_mapping.launch with "rtabmapviz:=false rviz:=false" from ssh and launch rviz directly ($rosrun rviz rviz) on the remote computer

cheers
Reply | Threaded
Open this post in threaded view
|

Re: RTAB-Map rgbd_launch error Map received with code error 1!

Gabe
Hi matlabbe,

It worked! Thank you very much, the ssh -X command allowed me to view it in rtabmapviz. Thanks so much!

best,

Gabriel