Open GoogleCodeExporter opened 9 years ago
-If you are using the version from SVN, try update the code 'svn update', then
rebuild (I did some changes today about other stuff).
-Do you have warnings like "warning: cannot pass objects of non-POD type" when
building the code? May be related to
http://peeterjoot.wordpress.com/2010/05/26/a-fun-and-curious-dig-gcc-generation-
of-a-ud2a-instruction-sigill/
-Is it an English version of Ubuntu?
My build machine is also Ubuntu 12.04 / ROS hydro. I don't know if it could be
the Graphics driver. When RTAB-Map opens, there some OpenGL interfaces created.
Original comment by matla...@gmail.com
on 15 Jun 2014 at 4:16
Thanks for your prompt reply, I am running on English version of Ubuntu, also I
think the graphic driver is the most possible reason, because my graphic card
is slightly old, of Quadro FX 570.
but I re-compiled the updated RTAB-map (standalone without ROS), but strange
errors during compilation
1. Not sure whether it affects or not, if I re-install the ros to fuerte?
[Error]
In file included from ~/rtabmap/corelib/src/Features2d.cpp:32:0:
/usr/local/include/opencv2/nonfree/gpu.hpp:54:18: error: redefinition of
‘class cv::gpu::SURF_GPU’
/opt/ros/fuerte/include/opencv2/gpu/gpu.hpp:1426:18: error: previous definition
of ‘class cv::gpu::SURF_GPU’
2. I have no idea where this error come from? or it shouldn't be an error?
[Error]
/home/nhuang/Documents/rtabmap/corelib/src/Odometry.cpp:210:89: error:
‘FLANN_DIST_HAMMING’ is not a member of ‘cvflann’
Possibly I will try to build it again with ros hydro installed
Original comment by originHo...@gmail.com
on 16 Jun 2014 at 1:17
1. RTAB-Map doesn't work with Fuerte or Groovy. Hydro minimum is required. The
error here seems that the two directories /usr/local/include/opencv2/nonfree
and /opt/ros/fuerte/include/opencv2 are included somehow, which conflict with
each other. You must already have RTAB-Map standalone installed if you tried
the ros-pkg of RTAB-Map on Hydro previously
(https://code.google.com/p/rtabmap/wiki/ROS#Installation). These lines build
the standalone and install in your devel folder of your catkin workspace:
{{{
$ svn checkout http://rtabmap.googlecode.com/svn/trunk/rtabmap rtabmaplib
$ cd rtabmaplib/build
$ cmake -DCMAKE_INSTALL_PREFIX=~/<YOUR_CATKIN_WORKSPACE>/devel .. [<---double
dots included]
$ make -j4
$ make install
}}}
2. There may be also a conflict with the installed OpenCV versions. You may
want to clear the build directory of RTAB-Map (or delete build/CMakeCache.txt)
before trying to rebuild it when changing from ROS versions (to make sure that
CMake finds only one version of OpenCV).
I updated the installation instructions to build the standalone version along
with already installed ROS Hydro on the machine. See
https://code.google.com/p/rtabmap/wiki/Installation?ts=1402931612&updated=Instal
lation#If_ROS_Hydro_is_already_installed .
Original comment by matla...@gmail.com
on 16 Jun 2014 at 3:14
Many thanks for pointing out, indeed it only compiles under ros hydro or above
installed. RTAB-map is rebuilt smoothly without error, however still have
problem of running the program with error "Illegal Instruction", and I try to
debug with gdb, and back-tracing the place where it died, it shows no stack,
does that means the program died before it actually starts? or some other
reason?
[GDB]
Starting program: ~/hydro_workspace/devel/rtabmaplib/bin/rtabmap
[ INFO] (2014-06-17 05:07:09.668) main.cpp:38::main() Program started...
During startup program terminated with signal SIGILL, Illegal instruction.
(gdb) bt
No stack.
(gdb) where
No stack.
(gdb) c
The program is not being run.
As a note, I didn't get any warning such as "warning: cannot pass objects of
non-POD type". Also I have updated graphic driver.
[INFO]
Graphics: Card: NVIDIA G84GL [Quadro FX 570] bus-ID: 07:00.0
X.Org: 1.11.3 drivers: nvidia (unloaded: nouveau,vesa,fbdev) Resolution: 1920x1080@60.0hz
GLX Renderer: Quadro FX 570/PCIe/SSE2 GLX Version: 3.3.0 NVIDIA 331.20 Direct Rendering: Yes
What I can think of is the problem with OpenGL interfaces mentioned previously?
Now I can only use other computer instead to test RTAB-Map.
Original comment by originHo...@gmail.com
on 16 Jun 2014 at 8:19
I don't if it is related to SIGILL problem in Transform, but I just fixed a
warning (which is in reality a bug!) in Transform. See
https://code.google.com/p/rtabmap/source/diff?spec=svn1436&r=1436&format=side&pa
th=/trunk/rtabmap/corelib/src/Transform.cpp
Original comment by matla...@gmail.com
on 23 Jun 2014 at 3:21
Thanks for the updates, but I still couldn't get the program to run on this
'specific' PC. Fortunately, I got a PC that work nicely with RTAB-Map now at
least. I think the Illegal instruction really somehow caused by hardware
specs(?).
By the way, recently through further dig into the working RTAB-Map, I am trying
to integrate RTAB-Map with my robotic project, however I don't really know how
to deal with lost odometry when the map turns RED, sometimes I couldn't track
back, so the map is completely lost, so I have to start over(?). I have seen
demos which run very smoothly, can I possible reproduce the similar results,
should I change some parameters to optimize the result?
Original comment by originHo...@gmail.com
on 24 Jun 2014 at 1:53
-If you want to use RTAB-Map with a robot that provides his own odometry, I
recommend to use his odometry instead of the one computed by the
"visual_odometry" node of rtabmap ros package. The large-scale demos shown here
are done using odometry from the robot.
You said "sometimes I couldn't track back, so the map is completely lost, so I
have to start over(?).":
- The map is not completely lost, you could do "Edit->Reset the odometry" to
reset the odometry: A new map will be created, and if you return to an area of
the previous map and a loop closure occurs, the old map will be merged with the
new one.
"I have seen demos which run very smoothly, can I possible reproduce the
similar results, should I change some parameters to optimize the result?"
- The demos shown here: https://code.google.com/p/rtabmap/wiki/ROS#Demos are
done with Robot odometry instead of visual odometry (computed with Kinect
images), it is why no RED screens happen.
- This video https://www.youtube.com/watch?v=Nm2ggyAW4rw is what you would
expect when using Kinect-only. Some RED screens will happen.
- Here another example where the odometry is reset, a new map is created and
merged when looping back to the first map.
https://www.youtube.com/watch?v=xbKVhZQFKgA
Original comment by matla...@gmail.com
on 25 Jun 2014 at 7:23
Issue 19 has been merged into this issue.
Original comment by matla...@gmail.com
on 8 Nov 2014 at 8:20
Issue 21 has been merged into this issue.
Original comment by matla...@gmail.com
on 13 Nov 2014 at 7:25
Issue 21 has shown that the "Illegal instruction" error happens also on the
"rtabmap-rgbd_camera" and "rtabmap-odometryViewer" examples. The error seems to
happen when an object instantiating a "rtabmap::Transform" is created, or maybe
when an object from the librtabmap_core library is created?
Original comment by matla...@gmail.com
on 13 Nov 2014 at 7:48
Original issue reported on code.google.com by
originHo...@gmail.com
on 14 Jun 2014 at 9:08