rtabmap_ros issue

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

rtabmap_ros issue

Micke
Well, I'm trying to run rtabmap_ros as follows:

$ roslaunch openni_launch openni.launch epth_registration:=true

I'm able to see images with image_view, then I launch:

$ roslaunch rtabmap_ros rgbd_mapping.launch

I get a full red screen:



and output like this:

[ERROR] (2015-03-04 15:26:55.235) Rtabmap.cpp:765::process() RGB-D SLAM mode is enabled and no odometry is provided. Image 5199 is ignored!
[ WARN] [1425504415.235607772]: RTAB-Map could not process the data received! (ROS id = 5199)
[ INFO] [1425504415.235884877]: rtabmap: Update rate=1.000000s, Limit=0.000000s, Processing time = 0.002142s (0 local nodes)
[ INFO] [1425504415.267266252]: Odom: quality=0, std dev=0.000000m, update time=0.015722s
[ INFO] [1425504415.302719136]: Odom: quality=0, std dev=0.000000m, update time=0.017705s
[ INFO] [1425504415.336289643]: Odom: quality=0, std dev=0.000000m, update time=0.018709s
[ INFO] [1425504415.368390019]: Odom: quality=0, std dev=0.000000m, update time=0.020951s
[ INFO] [1425504415.399961113]: Odom: quality=0, std dev=0.000000m, update time=0.015746s
[ INFO] [1425504415.434737200]: Odom: quality=0, std dev=0.000000m, update time=0.017660s
[ INFO] [1425504415.467373605]: Odom: quality=0, std dev=0.000000m, update time=0.018482s
^C[ INFO] [1425504415.501161444]: Odom: quality=0, std dev=0.000000m, update time=0.016055s
[ INFO] [1425504415.533500475]: Odom: quality=0, std dev=0.000000m, update time=0.016272s

Then I tried with rviz:

$ roslaunch rtabmap_ros rgbd_mapping_rviz.launch

I got this screen:



And the same output as above.


System specs:

- Ubuntu 12.04 with ROS Hydro
- Kinect Xbox 360
- Openni driver

Thanks in advance,

Micke.
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap_ros issue (red screen)

matlabbe
Administrator
For more information about red screens, visit this page.

Example here:
$ roslaunch freenect_launch freenect.launch depth_registration:=true
$ roslaunch rtabmap_ros rgbd_mapping.launch

I can reproduce a starting red screen by pointing the camera on the wall where there are no features to track:


To recover, I clicked "Pause" button on the interface. In the Detection menu, click on "Reset Odometry". Point the camera to an area with visual features, then click "Continue".



Note that with the Odometry view (Window menu -> Show view), you can view the actual image used for odometry with features tracked (inliers=green, outliers=red).
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap_ros issue (red screen)

Micke
What Kinect model are you using? I got 1473, there is an issue with it on ros hydro https://github.com/ros-drivers/freenect_stack/issues/12 I suppose that is the problem, I can't see anything in the odometry screen.

Thanks in advance.
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap_ros issue (red screen)

matlabbe
Administrator
I have the 1414 version. However, I used freenect_launch because with openni_launch I can't get a true registered depth image even by setting "depth_registration:=true" (maybe an issue with my system). On Windows or Mac OS X, I don't have this problem though.

Can you try the standalone version? "File->New database", then press "start".
$ rtabmap

Reply | Threaded
Open this post in threaded view
|

Re: rtabmap_ros issue (red screen)

Micke
When I try to compile I got this:

../../../bin/librtabmap_core.so.0.8.5: undefined reference to `freenect_get_current_depth_mode'
../../../bin/librtabmap_core.so.0.8.5: undefined reference to `freenect_find_depth_mode'
../../../bin/librtabmap_core.so.0.8.5: undefined reference to `freenect_set_depth_mode'
../../../bin/librtabmap_core.so.0.8.5: undefined reference to `freenect_set_video_mode'
../../../bin/librtabmap_core.so.0.8.5: undefined reference to `freenect_find_video_mode'
../../../bin/librtabmap_core.so.0.8.5: undefined reference to `freenect_select_subdevices'
../../../bin/librtabmap_core.so.0.8.5: undefined reference to `freenect_process_events_timeout'
collect2: ld devolvió el estado de salida 1
make[2]: *** [../bin/rtabmap] Error 1
make[1]: *** [app/src/CMakeFiles/rtabmap.dir/all] Error 2
make: *** [all] Error 2

I got freenect-dev installed.

Thanks in advance.
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap_ros issue (red screen)

matlabbe
Administrator
Uninstall libfreenect-dev, keep only ros-hydro-libfreenect (more recent). Normally, cmake should find the freenect installed in ROS first (/opt/ros/hydro/include/libfreenect/libfreenect.h before /usr/include/libfreenect.h).
Reply | Threaded
Open this post in threaded view
|

Re: rtabmap_ros issue (red screen)

jacksonkr
In reply to this post by Micke
Micke,

I have both 1414 and 1473 Kinect 360 cameras and they both work fine. One quick test to make sure everything is working on the camera is to install the "libfreenect" package:

"$ sudo apt-get install libfreenect-demos"

Then run "freenect-regview" by itself:

"$ freenect-regview"

After a few seconds you should see a window showing your camera video overlapped by the camera's visualized depth data. This is a simple way to know if 1) your camera's different sensors are working and 2) if the data is calibrated well.