You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Razvan Mihalyi 357975f78e update svn to r776 10 years ago
.svn update svn to r776 10 years ago
3rdparty update svn to r758 10 years ago
bin update svn to r758 10 years ago
dat initial commit 10 years ago
doc initial commit 10 years ago
include update svn to r776 10 years ago
src update svn to r776 10 years ago
CMakeLists.txt update svn to r776 10 years ago
CONTRIBUTORS update svn to r758 10 years ago
LICENSING initial commit 10 years ago
Makefile update svn to r758 10 years ago
README update svn to r758 10 years ago
README.planes initial commit 10 years ago
README.scanserver update svn to r776 10 years ago
know_issues.txt update svn to r776 10 years ago
manifest.xml initial commit 10 years ago



To compile the project simply call "make". This will configure slam6d
using the default settings. If you wish to configure the project using
custom settings do: "make config". This command requires ccmake be
installed on your system. Alternatively you may change into the build
directory ".build" and configure the project with your preferred cmake
configurator, i.e.:

cd .build && cmake -i ../

For Microsoft Windows, use the cmake-gui application provided by cmake
to configure and generate project files for the appropriate version of
Microsoft Visual Studio C++ of your system. Use the INSTALL target to
built the entire project. Executables (and .dll's) will then reside
in the "windows" folder. For running the binaries you need to install
the proper redistributable package.

Some Boost libraries (graph, regex, serialization, filesystem,
interprocess) are needed to compile the slam6D program.

If you are using Debian just do:

aptitude install libboost-graph-dev libboost-regex-dev libboost-serialization-dev freeglut3-dev libxmu-dev libxi-dev

or, if you are still using Debian stable (lenny):

aptitude install libboost-graph1.35-dev libboost-regex1.35-dev libboost-serialization1.35-dev freeglut3-dev libxmu-dev libxi-dev

for Ubuntu this would be:

sudo apt-get install libboost-all-dev libcv-dev freeglut3-dev libxmu-dev libxi-dev

SuSE users please use yast2 for installing the missing packages

Additionally you need some external tools (exemplarily for Ubuntu):

sudo apt-get install imagemagick ffmpeg libx264-120


For a detailed explanation of the programm, its usage, etc., please
refer to the high level documentation doc/documentation_HL.pdf
(esp. sections 4-6, for starters).

Take care to register scans first (bin/slam6D) before trying to
display them (bin/show), and think about using the point reduction
(see section 6) for a much faster scan matching result. Extremely
large scans might need to be reduced (using bin/scan_red) before
registration. This will write reduced scans in the uos format into a
directory "reduced" in the data directory.

Three example scans are included in the dat directory, several
larger data sets can be downloaded from the data repository,
(Alternatively, click on the "Data Repository" link on this project's
web site on Sourceforge,

(using the data set in the slam6d repository)
bin/slam6D -m 500 -R 5 -d 25.0 --metascan dat
bin/show dat

(using the data set in the slam6d repository)
bin/slam6D --max=500 -r 10.2 -i 20 --metascan dat
bin/show dat

(using hannover1.tgz from
bin/slam6D -s 1 -e 65 -r 10 -i 100 -d 75 -D 250 --epsICP=0.00001
-I 50 --cldist=750 -L 0 -G 1 /home/nuechter/dat/dat_hannover1
bin/show -s 1 -e 65 /home/nuechter/dat/dat_hannover1

(using hannover2.tgz from
bin/slam6D -q -r 10 -f rts -s 23 -d 75 -L 4 --cldist=1500 -G 1 -D -1
--DlastSLAM 250 --graphDist 200 -I 50 hannover2
bin/show -f rts -s 23 hannover2

(using kvarntorp_mine.tgz (dat_mine1) form
bin/slam6D -s 1 -e 76 -r 10 -m 3000 -d 50 -i 1000 --epsICP=0.000001
-I 50 -D 75 --clpairs=5000 -f old /home/nuechter/dat/dat_mine1/
bin/show -s 1 -e 76 -m 3000 -f old /home/nuechter/dat/dat_mine1/

(using from
bin/scan_red -s 0 -e 12 -r OCTREE -v 10 --octree 0 -f RIEGL_TXT /home/nuechter/dat/bremen_city
bin/slam6D -a 2 -q /home/nuechter/dat/bremen_city/reduced -f uos -d 150
-s 0 -e 12 --anim=1 -n /home/nuechter/dat/bremen_city/
-G 1 -D 100 -i 0 -I 50 -p --epsSLAM=0.0
bin/show -s 0 -e 12 /home/nuechter/dat/bremen_city/reduced

(using UniKoblenz_CampusTour3_OsnabrueckFormat.tar.gz from
bin/slam6D -s 1 -e 320 -r 20 -i 300 --epsICP=0.000001 -d 45 -D 45
-f uos --algo=2 -l 10 -L 4 -I 100 -G 1
bin/show -s 1 -e 320 -f uos /home/nuechter/dat/UniKoblenz_CampusTour3_OsnabrueckFormat/

For detecting planes compile with the WITH_PLANE option.
Adapt the settings in bin/hough.cfg for your data set.

EXAMPLE: (using the data set in the slam6d repository, no modification
of bin/hough.cfg necessary)

bin/planes -s 0 dat
bin/show -s 0 -e 0 dat -l dat/planes/planes.list

(using from
adapt these settings in bin/hough.cfg:
RhoNum 500
RhoMax 5000
MaxPointPlaneDist 50.0
MinPlaneSize 50
PointDist 100.0
/bin/planes -f riegl_txt -s 0 /home/nuechter/dat/bremen_city/ -r 50 -O 1 -m 5000
/bin/show -s 0 -e 0 /home/nuechter/dat/bremen_city/ -f riegl_txt -l dat/planes/planes.list -r 10 -O 1 -m 5000

The IO relevant parameters -f(ormat), -s(tart), -e(nd) can be omitted
in slam6D and show if a 'format' file exists in the directory, which
contains key=value lines (spaces are trimmed automatically) for
format, start, end with the same values as in the commandline. These
format-file parameters will be overwritten by commandline parameters
so that the format-file will provide the right IO type and full index
range and the user can overwrite the index range as he sees fit.

A reference manual can be found in doc/refman.pdf resp.
doc/html/index.html (type in 'make docu' to compile the doxygen
documentation for the HTML files).