This post was updated on .
Hi
I want to see rtabmap working with a virtual environment and virtual sensor using gazebo, so am working through section 6 of This ROS wiki tutorial. I am coming up against an error when running either: roslaunch rtabmap_ros demo_turtlebot_mapping.launch args:="--delete_db_on_start" rgbd_odometry:=true or roslaunch rtabmap_ros demo_turtlebot_mapping.launch simulation:=true Error text: --------------------------- [ INFO] [1516213770.002037877, 1194.890000000]: No matching device found.... waiting for devices. Reason: std::__cxx11::string openni2_wrapper::OpenNI2Driver::resolveDeviceURI(const string&) @ /tmp/binarydeb/ros-kinetic-openni2-camera-0.3.0/src/openni2_driver.cpp @ 737 : Invalid device number 1, there are 0 devices connected. [ WARN] [1516213771.200831225, 1196.090000000]: /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] [1516213771.396727683, 1196.280000000]: [image_transport] Topics '/camera/rgb/image_raw' and '/camera/rgb/camera_info' do not appear to be synchronized. In the last 10s: Image messages received: 507 CameraInfo messages received: 90 Synchronized pairs: 90 [ WARN] [1516213772.991921471, 1197.880000000]: /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): /camera/rgb/image_rect_color, /camera/depth_registered/image_raw, /camera/rgb/camera_info, /scan ----------------------------------------------- I followed the hints to change the publisher frequency in turtlebot_bringup/launch/includes/robot.launch.xml from 5 to 10 Hz, and the wait_for_transform argument of demo_turtlebot_mapping.launch was already 0.2. /scan is being published. When I go into RVIZ, there is no data, which makes sense given the above. EDIT: RVIZ is showing a map warning - no map received Interestingly if I add export TURTLEBOT_3D_SENSOR=kinect to my bashrc, and turn my real-world kinect on, everything launches (can even use 2d Nav Goal), but of course the data is the room the real sensor is in, rather than the gazebo world. That makes me suspect that somehow the 'virtual sensor' is not being recognised somehow. Any thoughts? I am running in a fresh install of ubuntu 16.04. I have also tried reinstalling openni_camera and openni_launch. Cheers Update: Topics are publishing, and I can see a pointcloud from gazebo. However unlike with where I was able to use the real world sensor above, the turtlebot will not respond to 2D nav goal. Just extra info in case it helps track the problem down :) |
Administrator
|
This post was updated on .
As noted in the simulation section of the tutorial, make sure to download latest demo_turtlebot_mapping.launch to use "simulation" argument.
EDIT: I observed some false obstacles in the map caused by a bug with "map_negative_poses_ignored" parameter. I updated the launch to disable it. Note that you can use the new launch file with the old binary code (no need to build from source for these changes). EDIT2: 2D nav goal should work only when setting a goal in empty areas of the map (light gray). There are settings in move_base that allow planning in unknown areas though. On my computer, tutlebot seems to rotate too fast for the planning loop and it turns a lot when trying to reach a goal. Not sure if it is the simulation or that move_base's control is not looping enough fast causing it to overshoot the trajectory. This is more a move_base/simulation problem... cheers, Mathieu |
Hi!
Yes you are quite right, I am observing that behaviour too. Would that issue not be present on a real robot? I am scoping out some 6 wheeler platforms for a little project to run with the nvidia tx2, so hopefully soon I will get to see it in real life! re: the demo_turtlebot_mapping.launch file, I had interpreted the instruction to mean "just check to see that this file is present in the turtlebot folders", which it was. Once I copy pasted the new code into the file, it all worked nicely thank you! Do you have an academic paper purely on rtabmap, or a "for dummies" type breakdown of how it all works? I saw the paper on SPLAM and have read a lot of the material available, but am still curious on what things like "bag of words" (for example) means! Thanks again Ross |
Administrator
|
Hi,
That problem won't appear on a real robot, as long as the move_base base local planner's parameters are correctly set. In the turtlebot simulation, maybe some parameter tuning is required (I tried with max_vel_x to 0.3 and sim_time to 1.3 and it doesn't overshoot anymore, also set allow_unknown to plan in unknown parts of the map + this commit to create an initial map of 20x20 meters). For loop closure detection ("bags-of-words"), this is the official one for RTAB-Map. You may check in Related Work the referred papers: For "dummies", you may check this presentation: cheers, Mathieu |
Free forum by Nabble | Edit this page |