-
Notifications
You must be signed in to change notification settings - Fork 557
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
D435+ROS Noetic+RTABMap does not start #1175
Comments
It seems the remapping didn't work:
should be:
Can you try removing the "slashes" in the command and do something like this: |
Is it possible, that some log files are filling after the rtabmap is stopped? |
That should not be possible, unless your HDD is a couple of hundred of MB. Do you mean the RAM? After killing the rtabmap nodes, there should be nothing logged from rtabmap remaining. Could it be from the camera node? When running, rtabmap would log to terminal by default (unless you redirect the log output to a file). The only thing it writes by default is the database, which is written to To clear space taken from rtabmap, manually delete the database under Based on the log above, rtabmap's odometry could not track features for some reason (see Lost Odometry section), and failed outputting a pose. Rtabmap then produce an error that odometry is null, discarding the data. The resulting database is mostly empty (only 2 MB). Note that with D435 camera, I prefer using IR cameras instead of RGB for better and more robust feature tracking. See D435 examples here using only IR cameras (either in stereo mode or IR-Depth mode). |
Thank you Mathieu, |
Don't set For the max speed, it depends how fast visual odometry can run. Note that if your robot arm base fixed, you should not need visual odometry at all, and just use arm kinematics to know where the camera is at any time. If the robot arm is moving on a vehicle, you may avoid very fast rotations, unless visual odometry can run fast (depending on your computation power). However, even with the most powerful computer, the speed may be limited by the maximum speed you can go without motion blur in the images. The maximum speed would be dependent on how easy is to track features over multiple frames. For example, the kitti dataset features a sequence where a car is driving over 70 Km/h with stereo images taken at 10 Hz and there is no problem for rtabmap's visual odometry. In contrast, in euroc dataset there is a sequence with very aggressive motion (drone flying indoor) that makes rtabmap lose tracking even if images are taken at 20 Hz (by lack of shared features between consecutive frames, and it is kinda blurry on fast rotation). |
OK, thank you for the suggestions. I will use the default 1Hz DetectionRate. These are my launch parameters for D435 and RTABMp: roslaunch rtabmap_launch rtabmap.launch rtabmap_args:="--delete_db_on_start" depth_topic:=/camera/aligned_depth_to_color/image_raw rgb_topic:=/camera/color/image_raw camera_info_topic:=/camera/color/camera_info approx_sync:=false/localization:=true/ DetectionRate:=1 Maybe you can suggest other launch settings? |
You could use smaller resolution images with higher framerate. Don't use I do recommend usage of IR cameras with D435 because the RGB camera has smaller field-of-view and a rolling shutter. Disable ir-emitter and subscribe to Left IR + Depth. Based on http://wiki.ros.org/rtabmap_ros/Tutorials/StereoHandHeldMapping: roslaunch realsense2_camera rs_camera.launch enable_infra1:=true enable_infra2:=true
rosrun rqt_reconfigure rqt_reconfigure
# select Camera->stereo_module, set emitter_enabled to OFF
roslaunch rtabmap_launch rtabmap.launch \
rtabmap_args:="--delete_db_on_start" \
rgb_topic:=/camera/infra1/image_rect_raw \
depth_topic:=/camera/depth/image_rect_raw \
camera_info_topic:=/camera/infra1/camera_info \
approx_sync:=false |
Thank you, OK, I will try it. Further, the smaller resolution is OK, but this can reduce the field of view and the pointcloud quality, am I right? What could be the suggested resolution? I have used the clip_distance to remove the background noise and data, since only the first 1-1.5m meters of the mapped cars are significant to detect the free and occupied zones of the parking lot, since the D435 is a low-cost camera and with the higher distance the pointcloud quality is decreasing. Also, the D435 preset is the Deafult, since I have noticed that this preset gives me the best map under various illumination conditions. I think this is OK. Also, I have set localization:=true, is it OK? Thank you in advance. |
I think I've shown the rqt_reconfigure approach because that parameter was not exposed outside of If it is to reduce noise in the occupancy grid created, use I cannot really comment on other D435 presets as I didn't tested the myself. That would be a question for realsense directly. It is okay only if you already created a map of the area and wanted to do only localization in it. If you want to create the map, remove this. |
Thank you for the suggestions. |
"localization" means only localizing in a pre-built map. The map is not updated. When localization is false, the robot does SLAM.
You can add the other RTAB-Map's parameters the same way. For help for better mapping, I'll need to see that environment look like, what sensors can actually see, the noise, ... If you generate a database, you can share it, it is the easiest way to look at your config/data. |
OK, thank you. |
How did you generate the point cloud? If you use |
I have used the rtabmap launch command, the export was done using the export option in RTABMap viewer. |
Dear Support Team,
I have installed the D435 RealSense ROS Wrapper and it works well (using .udo apt-get install ros-noetic-realsense2-camera).
Also, I have installed RTABMap using sudo apt-get install ros-noetic-rtabmap-ros and it starts. however I cannot see the mapping procedure and I have warnings.
This is the rostopic list:
Please, what could be the problem? How can I start the mapping and save the result?
Thank you in advance.
Kind regards
The text was updated successfully, but these errors were encountered: