You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
To install
libpcl-1.7-all
, you may need to add ROS repositories by doing steps 1.2, 1.3 and 1.4 of this
page
(on step 1.3, use
trusty
instead of
raring
if you are on Ubuntu 14.04):
(Optional) OpenCV with SIFT/SURF: If you want SURF/SIFT features enabled in RTAB-Map, you will also have to build OpenCV from
source
to have access to
nonfree module
(build with
opencv_contrib
for OpenCV3 and OpenCV4):
$ cd opencv
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make -j4
$ sudo make install
Install via PPA to avoid building from source. If you install from source (version>=4), make sure to build with
cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF -DGTSAM_USE_SYSTEM_EIGEN=ON
.
(Optional)
cvsba
: Follow installation instructions from
here
. Their installation is not standard CMake, you need these extra steps so RTAB-Map can find it:
M. Labbé and F. Michaud, “RTAB-Map as an Open-Source Lidar and Visual SLAM Library for Large-Scale and Long-Term Online Operation,” in Journal of Field Robotics, vol. 36, no. 2, pp. 416–446, 2019. (
pdf
) (
Wiley
)
To be able to run rtabmap, we should install opengl support in the image. To do so, visit
this tutorial
for details if you have a nvidia GPU (if you don't have a nvidia GPU, see if the open source approach explained in 16.04 below is working for you or see intel/AMD instructions on this
page
):
# those following 3 lines would need to be done only one timeexport XAUTH=/tmp/.docker.xauth
touch $XAUTH
xauth nlist $DISPLAY| sed -e 's/^..../ffff/'| xauth -f $XAUTH nmerge -
docker run -it --rm \
--privileged \
--env="DISPLAY=$DISPLAY" \
--env="QT_X11_NO_MITSHM=1" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
--env="XAUTHORITY=$XAUTH" \
--volume="$XAUTH:$XAUTH" \
-e NVIDIA_VISIBLE_DEVICES=all \
-e NVIDIA_DRIVER_CAPABILITIES=all \
--runtime=nvidia \
--network host \
-v ~/Documents/RTAB-Map:/root/Documents/RTAB-Map \
introlab3it/rtabmap:focal \
rtabmap
On nvidia jetpack, add -e LD_LIBRARY_PATH=/opt/ros/noetic/lib:/opt/ros/noetic/lib/aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu/tegra to command line above if you are using 20.04 image. Change noetic to melodic or humble if you use 18.04 or 22.04 image respectively.
To install the APK, we should uninstall the version of RTAB-Map ARCore from the phone (installed by Play Store), drag and drop app to uninstall, or do:
adb uninstall com.introlab.rtabmap
For API <= 26, 2 choices:
Copy file on host computer then install it with adb from there:
$ git clone https://github.com/introlab/rtabmap.git rtabmap
$ cd rtabmap/build
$ cmake ..
$ make
$ sudo make install
$ sudo ldconfig
$ rtabmap
Note that RPi default swap size (100 MB) may be too small for compilation. You can increase the size by setting CONF_SWAPFILE=1000 of this file /etc/dphys-swapfile.
Do not expect high frame rate on Raspberry Pi, you may have to move slowly the camera. For example on RPi3, we can have around 5-6 Hz odometry frame rate by tuning some parameters. Without ROS, load the following settings rpi3.ini (see Preferences dialog) to get smoother mapping on RPI3. The Odometry panel can be closed if the GUI is lagging too much.
Install libusb: libusb-1.0.18.pkg or sudo port install libusb +universal
For packages built from source, normally they should build from their latest version, otherwise you can see the git version I used for each of them at the time I tested it.
brew install pcl opencv cmake octomap g2o pdal
# For issue cmake not finding Qt5 correctly (when PCL is not able to find VTK, for visualization module):export PATH=/opt/homebrew/opt/qt@5/bin:$PATH# or (depending how homebrew is configured)export PATH=/usr/local/Cellar/qt@5/5.15.8_2/bin:$PATH
cmake -DBUILD_AS_BUNDLE=ON ..
make package
# Packaging will finished but the resulting App
# cannot be started because signature issue (killed on start).
# Find a valid xcode certificate in "keychain Access" app,
# then use full common name. Example:
cd _CPack_Packages/Darwin/DragNDrop/RTABMap-0.21.0-Darwin/ALL_IN_ONE
codesign --deep --force -s "Apple Development: FIRSTNAME LASTNAME (XXXXXXXXXX)" RTABMap.app
# Create image manually:
cd ..
hdiutil create -volname RTABMap-0.21.0 -srcfolder ALL_IN_ONE -ov -format UDZO RTABMap-0.21.0-Darwin.dmg
Packaging issues:
If the RTABMap.app is built with pdal, there was a crash because it could not find libpdal_util.15.dylib:
cd RTABMap.app/Contents/Frameworks
otool -L libpdalcpp.15.2.0.dylib
libpdalcpp.15.2.0.dylib:
@rpath/libpdal_util.15.dylib (compatibility version 15.0.0, current version 15.2.0, reexport)
Change @rpath to @executable_path inside the package:
For iOS build, no need to build MacOS version above. Begin by building all dependencies for iOS (curl, cmake, git and XCode should be manually installed):
$ git clone https://github.com/introlab/rtabmap.git rtabmap
$ cd rtabmap/app/ios/RTABMapApp
$ ./install_deps.sh
Note that the installation script has been tested on Apple Silicon only. Then open XCode project located in rtabmap/app/ios. Connect your iPhone/iPad with LiDAR, select it in XCode then press "Play" button. It should build, install and launch the App on your device.
Latest buildfarm releases here! (version automatically built from latest commit on master, it doesn't have all camera drivers and CUDA version is not available)
Driver for Kinect XBOX 360 / Kinect for Windows:
A (Recommended for binaries): Install Kinect for Windows SDK 1.6, then select "OpenNI2" driver in RTAB-Map.
You can download and install rtabmap using the vcpkg dependency manager (use this pull request: https://github.com/microsoft/vcpkg/pull/30254 till it is merged). Set environment variable VCPKG_DEFAULT_TRIPLET=x64-windows for convenience. Instructions below will assume you are using x64-windows triplet by default. From a "x64 visual studio command prompt" (Administrator mode):
The rtabmap port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
To build rtabmap with camera drivers or other dependencies not available in vcpkg, you may use vcpkg just for those dependencies:
If you see a misalignment between the depth and the RGB or the point cloud is mirrored when using source from OpenNI-PCL, see this page on PCL project.
On my machine, the SamplesConfig.xml is located here /etc/openni/SamplesConfig.xml, it should look like this (note GlobalMirror=False, RegistrationType and Registration are set) after modifications:
<OpenNI>
<Licenses>
</Licenses>
<Log writeToConsole="false" writeToFile="false">
<LogLevel value="3"/>
<Masks>
<Mask name="ALL" on="true"/>
</Masks>
<Dumps>
</Dumps>
<ProductionNodes>
<GlobalMirror on="false"/> <!-- Disable mirror -->
<Node type="Depth" name="MyDepth">
<Configuration>
<!-- Kinect works only with RegistrationType 2. Asus works only with RegistrationType 1. -->
<Property type="int" name="RegistrationType" value="2"/>
<Property type="int" name="Registration" value="1"/>
</Configuration>
</Node>
<Node type="Image" stopOnError="false" />
</ProductionNodes>
</OpenNI>
If the Xtion is connected on an USB3 and there is a very low acquisition performance, try this by editing the PS1080.ini file located in OpenNI2 installation folder (if RTAB-Map is installed with binaries, the file is in bin/OpenNI2/Drivers/PS1080.ini). Uncomment lines: