-
Notifications
You must be signed in to change notification settings - Fork 546
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can not get feasible results: /rtabmap/rgbd_odometry: Did not receive data since 5 seconds! #181
Comments
Hi, in the tutorial, for r200, the depth image should be remapped to $ roslaunch realsense_camera r200_nodelet_rgbd.launch
$ roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" depth_topic:=/camera/depth_registered/sw_registered/image_rect_raw cheers, |
It works. Thank you. I have a followup question: I find that the performance of mapping during my test is pretty poor, not as smooth as in the demo video. For example, I have to keep very very very .... slow movement in order to not get the RED background (which is lost tracking I believe), slight move a little fast will cause errors/warns happens. I think it may related to camera setup, so I did some camera configuration but up to now no good results. My goal is to attach it on small robots for indoor/outdoor mappings. Could you give me some hints? |
You can try the second approach to generate a depth image. Also you can use Vis/EstimationType=1: $ roslaunch realsense_camera r200_nodelet_rgbd.launch
# To get registration without empty lines
$ rosrun rtabmap_ros pointcloud_to_depthimage cloud:=/camera/depth/points camera_info:=/camera/rgb/camera_info image_raw:=/camera/depth/points/image_raw image:=/camera/depth/points/image _approx:=false _fill_holes_size:=2
# Using depth registered from `rtabmap_ros/pointcloud_to_depthimage`
$ roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start --Vis/EstimationType 1" depth_topic:=/camera/depth/points/image_raw cheers, |
Thanks for your reply. I play around with the second approach, it indeed increase the robustness of movement. However, I find the map in rtabmapviz does not registered. Pics below show screenshots with slowly rotating r200 to right. I put the camera with laptop on a chart so it can move at regularly speed. One problem may related to the features in images, if there is a flat blank image (e.g. a white wall or a empty space) in the middle of the video stream, the rtabmapviz will get stuck (background turn in red). I find this #102, which is similar to what I am thinking out. So I add those parameters into rtabmap.launch and it looks better now, but still the map does not registered. My goal is to finally use it for outdoor mappings like this video: https://www.youtube.com/watch?v=Mnn-fpEBtBk&t=65s with a ground vehicle or UAV. Is there any specific setting for this applications? Also, why the SLAM still working after lose of track (Red background) without camera back to the point for loop closure detection (As I read your paper, maybe I misunderstand some part since I am pretty new to this interesting area). Thanks, |
See Lost Odometry section on this page for the red backgrounds. Looking at the depth image overlay in your screenshot, the sensor seems to have very short range and is very sparse. I tried my example above with "--GFTT/QualityLevel 0.001 --GFTT/MinDistance 3 --Kp/DetectorStrategy 6" to get more features extracted for the low resolution images, thus getting more matches (odometry quality around 200). In the video you are referring, they may activated auto odometry reset (e.g., "--Odom/ResetCountdown 1") after a number of tracking failure(s). A new map is created when this happens, a relocation with the previous maps is required to merge them. EDIT cheers, |
I think I need to tune the parameters in r200_ros first to have it capture good depth images because I tried the RTAB-MAP standalone application and it works just fine. Thanks, |
Hi, I am still wondering in the pic above, the loop closure detection window is empty.. Is it happens because of the bad image quality? Thanks, |
Oh I missed that, that means rtabmap node is not running or rtabmapviz doesn't receive mapData from rtabmap node. What is the output on your terminal? You should see rtabmap update log each second. |
Thanks for reply. I get the following log when I put camera towards a good feature scene. It doesn't present any warning/errors but still no map data I think. I am currently update the version of both rtabmap and rtabmap_ros to the newest, not sure if version mismatch or old version will have any issue. [ INFO] [1499907708.317757257]: Odom: quality=82, std dev=0.003461m|0.003461rad, update time=0.124020s Thanks, |
Looks like only odometry is running. What is the top output? (rtabmap initialization stuff). What commands did your use? |
I follow the second method mentioned above (first method actually shows similar results), I can find there is a error related to stereo image (in bold) when a run the rtabmap. first run started roslaunch server http://localhost:47779/ SUMMARY PARAMETERS
NODES auto-starting new master setting /run_id to 666d477a-676a-11e7-af12-00044b65bf8e Then, rosrun rtabmap_ros pointcloud_to_depthimage cloud:=/camera/depth/points camera_info:=/camera/rgb/camera_info image_raw:=/camera/depth/points/image_raw image:=/camera/depth/points/image _approx:=false _fill_holes_size:=2 Last, started roslaunch server http://localhost:44851/ SUMMARY PARAMETERS
NODES ROS_MASTER_URI=http://localhost:11311 core service [/rosout] found |
There are missing logs about to which topics rtabmap node is subscribing (they can appear while the odometry is running). Can you do also after? $ rostopic hz /rtabmap/mapData For the points_xyzrgb nodelet error, I'll check tomorrow. It is started only if |
Oh, I changed enable rviz as default and forget to make it back. The topic /rtabmap/mapData shows no message: ubuntu@tegra-ubuntu:~$ rostopic hz /rtabmap/mapData Changing rtabmapviz back also presents the error: [ INFO] [1499911722.464751217]: Odom: quality=100, std dev=0.003636m|0.003636rad, update time=0.118849s I attached the screen shot of rtabmapviz, rqt_graph and tf_views below: |
rtabmap node is crashing on start, rtabmapviz looks fine. Is there any error/fatal/assert message before " Also, can you open the standalone application without crash? $ rtabmap To debug more, you can add " cheers, |
The standalone applications works as it supposed to be. Below lists the logging of gdb backtrace of rtabmap node. I also put a screen shot of rtabmap node running on gdb for reference. Let me know if I provide the wrong info. Thanks. #0 GI___libc_free (mem=0x200000001) at malloc.c:2951 |
thx, I added more checks to make sure the cloud passed to rtabmap::util3d::voxelize() is not empty. Not sure why the cloud used to create the occupancy grid is empty though. If mapping can work now, you can send me if you want the resulting database ( cheers , |
Hi, unfortunately, after the update I still fail to get the loop closure detection. The rtabmap node crash after a couple of seconds: BTW, I find that tf_static does not contain any message when type: rostopic hz /tf_static in bash. Will this be a problem based on this thread: http://answers.ros.org/question/203452/no-data-from-rtabmap_ros-rtabmap/ I can send you the rtabmap.db file but I don't know how. Can you send me the links or other way to upload it? Thanks, |
A link to dropbox or google drive. If you bactrace the error, is it the same place? |
Hi @matlabbe could you please help me to figure out these question? but the terminal always notes the [ WARN] [1498869707.380826367]: /rtabmap/rgbd_odometry: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. there just once the rtabmap work but I got nothing form the odometry. I also tried the second method you suggest but it always notes the same warning. Thanks |
Are the topics listed in the warning really published? Are they all published at the same rate? |
@matlabbe Yes I think those topic listed is really published.As I said I have succeed for one time by using the command the official wiki suggested.I don't know why I failed for most of the tests as I did not do any change. |
What are the framerate of those topics? Can you show a rqt_graph? |
I follow the tutorial 1 using r200 with rtabmap. The warn says it cannot receive three messages in topic:
/camera/rgb/image_rect_color,
/camera/depth_registered/image_raw,
/camera/rgb/camera_info
I use rostopic echo and find they are all empty. My realsense_ros package works fine and the rtabmap stand alone application also works fine. Any comment is appreciate.
SUMMARY
PARAMETERS
/camera/depth_registered/image_raw,
/camera/rgb/camera_info
NODES
/rtabmap/
rgbd_odometry (rtabmap_ros/rgbd_odometry)
rtabmap (rtabmap_ros/rtabmap)
/
points_xyzrgb (nodelet/nodelet)
rviz (rviz/rviz)
ROS_MASTER_URI=http://localhost:11311
core service [/rosout] found
process[rtabmap/rgbd_odometry-1]: started with pid [17193]
process[rtabmap/rtabmap-2]: started with pid [17194]
process[rviz-3]: started with pid [17195]
process[points_xyzrgb-4]: started with pid [17196]
[ INFO] [1498869693.656653906]: Starting node...
[ INFO] [1498869693.711844985]: Initializing nodelet with 4 worker threads.
[ INFO] [1498869693.748123608]: Initializing nodelet with 4 worker threads.
[ INFO] [1498869695.304191510]: /rtabmap/rtabmap(maps): map_filter_radius = 0.000000
[ INFO] [1498869695.304275364]: /rtabmap/rtabmap(maps): map_filter_angle = 30.000000
[ INFO] [1498869695.304322863]: /rtabmap/rtabmap(maps): map_cleanup = true
[ INFO] [1498869695.304361353]: /rtabmap/rtabmap(maps): map_negative_poses_ignored = false
[ INFO] [1498869695.304397029]: /rtabmap/rtabmap(maps): map_negative_scan_ray_tracing = true
[ INFO] [1498869695.304434008]: /rtabmap/rtabmap(maps): cloud_output_voxelized = true
[ INFO] [1498869695.304469789]: /rtabmap/rtabmap(maps): cloud_subtract_filtering = false
[ INFO] [1498869695.304512914]: /rtabmap/rtabmap(maps): cloud_subtract_filtering_min_neighbors = 2
[ INFO] [1498869695.311121404]: /rtabmap/rtabmap(maps): octomap_tree_depth = 16
[ INFO] [1498869695.311212862]: /rtabmap/rtabmap(maps): octomap_occupancy_thr = 0.500000
[ INFO] [1498869695.470692189]: rtabmap: frame_id = camera_link
[ INFO] [1498869695.470800209]: rtabmap: map_frame_id = map
[ INFO] [1498869695.470855001]: rtabmap: tf_delay = 0.050000
[ INFO] [1498869695.470897656]: rtabmap: tf_tolerance = 0.100000
[ INFO] [1498869695.470937187]: rtabmap: odom_sensor_sync = false
[ INFO] [1498869696.500273265]: Setting RTAB-Map parameter "Mem/IncrementalMemory"="true"
[ INFO] [1498869696.503469959]: Setting RTAB-Map parameter "Mem/InitWMWithAllNodes"="false"
[ INFO] [1498869697.379035363]:
/rtabmap/rgbd_odometry subscribed to (approx sync):
/camera/rgb/image_rect_color,
/camera/depth_registered/image_raw,
/camera/rgb/camera_info
[ INFO] [1498869699.178752511]: RTAB-Map detection rate = 1.000000 Hz
[ INFO] [1498869699.179113186]: rtabmap: Deleted database "/home/ubuntu/.ros/rtabmap.db" (--delete_db_on_start or -d are set).
[ INFO] [1498869699.179177977]: rtabmap: Using database from "/home/ubuntu/.ros/rtabmap.db".
[ INFO] [1498869699.580797342]: rtabmap: Database version = "0.13.0".
[ INFO] [1498869699.696574303]: /rtabmap/rtabmap: queue_size = 10
[ INFO] [1498869699.696664354]: /rtabmap/rtabmap: rgbd_cameras = 1
[ INFO] [1498869699.696714406]: /rtabmap/rtabmap: approx_sync = true
[ INFO] [1498869699.696895238]: Setup depth callback
[ INFO] [1498869699.964988926]:
/rtabmap/rtabmap subscribed to (approx sync):
/rtabmap/odom,
/camera/rgb/image_rect_color,
/camera/depth_registered/image_raw,
/camera/rgb/camera_info
[ INFO] [1498869699.991171378]: rtabmap 0.13.0 started...
[ WARN] [1498869702.380134138]: /rtabmap/rgbd_odometry: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set.
/rtabmap/rgbd_odometry subscribed to (approx sync):
/camera/rgb/image_rect_color,
/camera/depth_registered/image_raw,
/camera/rgb/camera_info
[ WARN] [1498869704.965805418]: /rtabmap/rtabmap: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. If topics are coming from different computers, make sure the clocks of the computers are synchronized ("ntpdate"). If topics are not published at the same rate, you could increase "queue_size" parameter (current=10).
/rtabmap/rtabmap subscribed to (approx sync):
/rtabmap/odom,
/camera/rgb/image_rect_color,
/camera/depth_registered/image_raw,
/camera/rgb/camera_info
[ WARN] [1498869707.380826367]: /rtabmap/rgbd_odometry: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set.
/rtabmap/rgbd_odometry subscribed to (approx sync):
/camera/rgb/image_rect_color,
/camera/depth_registered/image_raw,
/camera/rgb/camera_info
The text was updated successfully, but these errors were encountered: