librealsense is a cross-platform library (Linux, OSX, Windows) for capturing data from the Intel® RealSense™ R200, F200, and SR300 cameras. This effort was initiated to better support researchers, creative coders, and app developers in domains such as robotics, virtual reality, and the internet of things. Several often-requested features of RealSense™ devices are implemented in this project, including multi-camera capture.
Developer kits containing the necessary hardware to use this library are available for purchase online. This project is separate from the production software stack available in the Intel® RealSense™ SDK, namely that this library only encompasses camera capture functionality without additional computer vision algorithms.
uvcvideo Driver Patches
librealsense requires patches to the uvcvideo loadable kernel module to support various cameras. Intel® RealSense™ R200 camera support is upstreamed in the 4.4.x linux kernel, but older kernels and all other Intel® RealSense™ cameras require patches.
Prior to installing the ROS librealsense Debian package, the system will need to be configured to enable the downloading of kernel source files.
Enable Kernel Sources
Use one of the following methods to enable the downloading of kernel sources on the system. This only needs to be done once per system or if the OS is re-installed or upgrade to a new major release.
Method 1 (Script)
wget -O enable_kernel_sources.sh https://raw.githubusercontent.com/IntelRealSense/librealsense/rosdebian/scripts/enable_kernel_sources.sh bash ./enable_kernel_sources.sh
Method 2 (Manual)
Update your /etc/apt/sources.list file and/or /etc/apt/sources.list.d/*.list to uncomment (or add) the deb-src entries for all of the entries for the main repositories. Below is an example for ubuntu 16.04 (Xenial).
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted
After the manual edits are complete, run the update commands to ensure the entries are correct and update the package database.
sudo apt-get update
Update to the Xenial kernel
sudo apt-get install linux-image-generic-lts-xenial sudo reboot
Or update to the latest Distro which should contain a 4.4.x or higher kernel:
sudo apt-get dist-upgrade
If the package has failed to install because the kernel sources were not available, the package will need to be re-installed after the update.
sudo apt-get --reinstall install 'ros-*-librealsense'
No cameras detected:
roslaunch realsense_camera [cam_type]_nodelet_[mode].launch
[ERROR]: /camera/driver - No cameras detected! [ERROR]: /camera/driver - Error calling rs_create_context ( api_version:11100 ): uvcvideo kernel module is not loaded ...
sudo modprobe uvcvideo
modprobe: ERROR: could not insert 'uvcvideo': Required key not available
DKMS does not work with Secure Boot. You need to disable it.
DKMS Fails to Build:
make KERNELRELEASE=4.4.0-43-generic -C /var/lib/dkms/uvcvideo/1.1.1-3-realsense/build/linux-src M=drivers/media/usb/uvc/....(bad exit status: 2) Error! Bad return status for module build on kernel: 4.4.0-43-generic (x86_64)
- Remove the failed DKMS installation
dkms remove -m uvcvideo -v "1.1.1-3-realsense" --all
The library is a ROS Debian packaging of the more generic cross-platform library. The packaging and release is maintained by the team supporting the various ROS RealSense packages. Please submit requests or report bugs concerning this package to the realsense_camera GitHub Issues.
For updated details on this library see the librealsense on GitHub.