Open matlabbe opened 9 years ago
From @GoogleCodeExporter on May 26, 2015 18:56
-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
From @GoogleCodeExporter on May 26, 2015 18:56
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
From @GoogleCodeExporter on May 26, 2015 18:56
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
From @GoogleCodeExporter on May 26, 2015 18:56
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
From @GoogleCodeExporter on May 26, 2015 18:56
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
From @GoogleCodeExporter on May 26, 2015 18:56
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
From @GoogleCodeExporter on May 26, 2015 18:56
-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
From @GoogleCodeExporter on May 26, 2015 18:56
Issue 19 has been merged into this issue.
What steps will reproduce the problem?
I followed the below installation instruction.
If ROS Hydro is installed, dependencies should already be satisfied.
System dependencies
$ sudo apt-get install libsqlite3-dev libpcl-1.7-all libfreenect-dev ros-hydro-opencv2
Download RTAB-Map source: SVN
$ svn checkout http://rtabmap.googlecode.com/svn/trunk/rtabmap rtabmap
$ cd rtabmap/build
$ cmake ..
$ make -j4
$ sudo make install
Execute the application (named "rtabmap").
See Tutorials for a simple example of usage.
What is the expected output? What do you see instead?
When I enter "rtabmap", i got the following error.
main.cpp : 46::main() Program started...
Illegal instruction (core dumped)
What version of the product are you using? On what operating system?
Ubuntu 12.04 / ROS Hydro
Please provide any additional information below.
Original comment by matla...@gmail.com
on 8 Nov 2014 at 8:20
From @GoogleCodeExporter on May 26, 2015 18:56
Issue 21 has been merged into this issue.
When I try to run this :
$ rtabmap-rgbd_camera 0
I got the same error as before.
[ INFO] (2014-11-13 13:59:13.372) main.cpp:62::main() Using driver 0
Illegal instruction (core dumped)
When I try to run this :
$ gdb rtabmap-odometryViewer
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /home/mirlab/catkin_ws/devel/bin/rtabmap-odometryViewer...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/mirlab/catkin_ws/devel/bin/rtabmap-odometryViewer
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[ INFO] (2014-11-13 14:06:11.691) main.cpp:584::main() Using OpenNI camera
[ INFO] (2014-11-13 14:06:11.692) main.cpp:653::main() Odometry used = GFTT+BRIEF
[ INFO] (2014-11-13 14:06:11.692) main.cpp:654::main() Camera rate = 0.000000 Hz
[ INFO] (2014-11-13 14:06:11.692) main.cpp:655::main() Maximum clouds shown = 10
[ INFO] (2014-11-13 14:06:11.692) main.cpp:656::main() Delay = 0.000000 s
[ INFO] (2014-11-13 14:06:11.692) main.cpp:657::main() Max depth = 5.000000
[ INFO] (2014-11-13 14:06:11.692) main.cpp:658::main() Linear update = 0.000000
[ INFO] (2014-11-13 14:06:11.692) main.cpp:659::main() Angular update = 0.000000
[ INFO] (2014-11-13 14:06:11.692) main.cpp:660::main() Reset odometry coutdown = 0
[ INFO] (2014-11-13 14:06:11.692) main.cpp:661::main() Local history = 1000
[New Thread 0xaaaefb40 (LWP 2928)]
[New Thread 0xaa0ffb40 (LWP 2929)]
[New Thread 0xa96ffb40 (LWP 2930)]
[ INFO] (2014-11-13 14:06:12.607) main.cpp:692::main() Nearest neighbor = kNNBruteForce
[ INFO] (2014-11-13 14:06:12.607) main.cpp:693::main() Nearest neighbor ratio = 0.700000
[ INFO] (2014-11-13 14:06:12.607) main.cpp:694::main() Max features = 0
[ INFO] (2014-11-13 14:06:12.607) main.cpp:695::main() Min inliers = 20
[ INFO] (2014-11-13 14:06:12.607) main.cpp:696::main() Words ratio = 0.500000
[ INFO] (2014-11-13 14:06:12.607) main.cpp:697::main() Inlier maximum correspondences distance = 0.010000
[ INFO] (2014-11-13 14:06:12.607) main.cpp:698::main() RANSAC iterations = 30
[ INFO] (2014-11-13 14:06:12.607) main.cpp:699::main() GPU = false
[ INFO] (2014-11-13 14:06:12.607) main.cpp:724::main() BRIEF bytes = 32
Program received signal SIGILL, Illegal instruction.
0xb7e673a4 in rtabmap::Transform::Transform(float, float, float, float, float, float, float, float, float, float, float, float) () from /home/mirlab/catkin_ws/devel/lib/rtabmap-0.7/librtabmap_core.so
(gdb)
I also got Illegal instruction.
Original comment by matla...@gmail.com
on 13 Nov 2014 at 7:25
From @GoogleCodeExporter on May 26, 2015 18:56
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
Building in debug mode helped on a computer having this error.
$ cd rtabmap/build
$ cmake -DCMAKE_BUILD_TYPE=Debug ..
$ make
From @GoogleCodeExporter on May 26, 2015 18:56
Original issue reported on code.google.com by
originHo...@gmail.com
on 14 Jun 2014 at 9:08Copied from original issue: matlabbe/rtabmap#9