All Projects → jetsonhacks → buildLibrealsense2TX

jetsonhacks / buildLibrealsense2TX

Licence: MIT License
Build librealsense 2.0 library on the NVIDIA Jetson TX Development kit. Intel RealSense D400 series cameras.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to buildLibrealsense2TX

RealSense2Sample
RealSense SDK 2 Sample Program
Stars: ✭ 65 (+20.37%)
Mutual labels:  librealsense, realsense
gpuGraphTX
Simple moving graph of GPU activity for the Jetson TX1 and Jetson TX2
Stars: ✭ 92 (+70.37%)
Mutual labels:  nvidia-jetson-tx1, nvidia-jetson-tx2
realsense-processing
Intel RealSense 2 support for the Processing framework.
Stars: ✭ 70 (+29.63%)
Mutual labels:  camera, realsense
surfacecast
SurfaceCast: send background-subtracted depth camera video via GStreamer (with optional perspective correction)
Stars: ✭ 22 (-59.26%)
Mutual labels:  camera, realsense
smart-social-distancing
Social Distancing Detector using deep learning and capable to run on edge AI devices such as NVIDIA Jetson, Google Coral, and more.
Stars: ✭ 129 (+138.89%)
Mutual labels:  nvidia-jetson-tx2, nvidia-jetson
linux nvidia jetson
Allied Vision CSI-2 camera driver for NVIDIA Jetson Systems. Currently supporting Nano, TX2, AGX Xavier, and Xavier NX. Support for TX2 NX coming soon.
Stars: ✭ 68 (+25.93%)
Mutual labels:  camera, nvidia-jetson-tx2
ImageAttachment
Example App to show how to pick an image from Camera/Gallery
Stars: ✭ 23 (-57.41%)
Mutual labels:  camera
Maple-Syrup-Pi-Camera
Low power smart camera (3D printed) based on the Raspberry Pi Zero W and Google Coral EdgeTPU
Stars: ✭ 31 (-42.59%)
Mutual labels:  camera
lovelace-hass-aarlo
Lovelace card for hass-aarlo integration.
Stars: ✭ 41 (-24.07%)
Mutual labels:  camera
Streamator
A Spectator Specifically build for Content Creation and Streaming
Stars: ✭ 18 (-66.67%)
Mutual labels:  camera
ionic-multi-camera
Take multiple photos one after another
Stars: ✭ 12 (-77.78%)
Mutual labels:  camera
ONVIF-Java
A Java client library to discover, control and manage ONVIF-supported devices.
Stars: ✭ 94 (+74.07%)
Mutual labels:  camera
OCR-Reader
An Android app to extract text from camera preview directly.
Stars: ✭ 43 (-20.37%)
Mutual labels:  camera
KotlinProject
This repo help for all developer who want to learn android or want to work on advance feature of android. This repo created with help of @awesomeui, @materialdesign and android latest feature. this repo contain major feature like : @awesome UI, @Material design, @firebase (auth, realtime database, firestore, push notification), @database (Room d…
Stars: ✭ 40 (-25.93%)
Mutual labels:  camera
cannon-bluetooth-remote
Python script to emulate Canon's BR-E1 remote
Stars: ✭ 22 (-59.26%)
Mutual labels:  camera
amelia 2.0
An Artificial Intelligence Chat Bot and Service Provider written in Python and AIML.
Stars: ✭ 19 (-64.81%)
Mutual labels:  camera
ios logger
Application for camera and sensor data logging (iOS)
Stars: ✭ 60 (+11.11%)
Mutual labels:  camera
Brady
A camera library with parallax scrolling and aspect ratios for LÖVE.
Stars: ✭ 50 (-7.41%)
Mutual labels:  camera
optical-pulse-reader
iOS application that uses camera to detect heart rate.
Stars: ✭ 45 (-16.67%)
Mutual labels:  camera
Android-Text-Scanner
Read text and numbers with android camera OCR
Stars: ✭ 27 (-50%)
Mutual labels:  camera

buildLibrealsense2TX

Build librealsense 2.0 library on the NVIDIA Jetson TX Development kit. Jetson TX1 and Jetson TX2. Intel RealSense D400 series cameras.

This is for version L4T 28.2 / L4T 28.2.1 (JetPack 3.2.1) librealsense v2.13.0

July, 2018

In order for librealsense to work properly, the kernel image must be rebuilt and patches applied to the UVC module and some other support modules. Running installLibrealsense.sh alone will appear to make the camera mostly work but will be missing features such as frame metadata support ( https://github.com/IntelRealSense/librealsense/blob/master/doc/frame_metadata.md ).

Note: On the Jetson TX1, space onboard the device is at a premium. If you are going to rebuild the kernel, flash the Jetson and then modify the kernel. Afterwards you can delete the kernel sources before installing the rest of librealsense and dependencies.

Rebuilding the kernel

The Jetsons have the v4l2 module built into the kernel image. The module should not be built as an external module, due to needed support for the carrier board camera. Because of this, a separate kernel Image should be generated, as well as any needed modules (such as the patched UVC module).

In order to support Intel RealSense cameras with built in accelerometers and gyroscopes, modules need to be enabled. These modules are in the Industrial I/O ( IIO ) device tree. The Jetson already has IIO support enabled in the kernel image to support the INA3321x power monitors. To support these other HID IIO devices, IIO_BUFFER must be enabled; it must be built into the kernel Image as well.

Most developers will want to apply the needed patches, configure the kernel .config file to match their desired environment, and then build their kernel Image and modules. The scripts assumes that the source is in the usual place for the Jetson, i.e. /usr/src/kernel/kernel-4.4, though you may want to change it to match your needs. Note: You can examine buildPatchedKernel.sh for the general outline of building the kernel.

The script scripts/patchKernel.sh will patch the kernel modules and Image to support the librealsense2 cameras.

$ sudo ./scripts/patchKernel.sh

The kernel configuration modifications are in the scripts/configureKernel.sh script.

$ sudo ./scripts/configureKernel.sh

This script modifies the Industrial I/O device modules as needed and then ensures that any dependencies are met. The script also sets the local version to the local version of the current kernel. See the script for more details.

Note: The configureKernel.sh script sets the local version of the kernel to be the current local version, ie -tegra on a stock kernel. If that is not your intention, modify configureKernel.sh appropriately.

A nasty little alternative

If you live a little more dangerously, and you are not concerned with building/maintaining your own kernel, there is a script which downloads the kernel source, patches it, builds a new kernel and installs it. To be clear, this is not good development methodology.

$ ./buildPatchedKernel.sh

By default, the kernel sources will be erased from the disk after the kernel has been compiled and installed. You will need >3GB of disk space to build the kernel in this manner. Please note that you should do this on a freshly flashed system. In the case when something goes wrong, it may make the system fail and become unresponsive; the only way to recover may be to use JetPack to reflash.

The script has an option to keep the kernel sources and build information:

$ ./buildPatchedKernel.sh --nocleanup

which may prove useful for debugging purposes.

The script is more provided as a guide on how to build a system that supports librealsense2 than as a practical method to generate a new system.

Install librealsense 2.0

To install the librealsense library:

$ ./installLibrealsense.sh

The install script does the following:

  • Install dependencies
  • Applies Jetson specific patches
  • Sets up udev rules so the camera may be used in user space
  • Builds librealsense, tools and demos
  • Installs libraries and executables

Tracking Module

Some RealSense cameras have a tracking module. Here's some more info on that:

TM1-specifics: Tracking Module requires hid_sensor_custom kernel module to operate properly. Due to TM1's power-up sequence constrains, this driver is required to be loaded during boot for the HW to be properly initialized.

In order to accomplish this add the driver's name hid_sensor_custom to /etc/modules file, eg:

$ echo 'hid_sensor_custom' | sudo tee -a /etc/modules`

Releases

July, 2018

v0.9
  • librealsense now has native CUDA support (v2.13.0)
  • librealsense v2.13.0 requires CMake 3.8+; Jetson has 3.5.1 so CMake is rebuilt
  • L4T 28.2 / L4T 28.2.1 (JetPack 3.2.1)
  • librealsense 2.13.0

May, 2018

v0.81
  • Fix README.md directions

April, 2018

v0.8
  • Initial support for Jetson TX1
  • Added CUDA support for yuy2->RGB/BGR/RGBA/BGRA
  • L4T 28.2 (JetPack 3.2)
  • librealsense 2.10.4

April, 2018

v0.5 (Development)
  • Initial support for Jetson TX2
  • L4T 28.2 (JetPack 3.2)
  • librealsense 2.10.2

MIT License

Copyright (c) 2017-2018 Jetsonhacks Portions Copyright (c) 2015-2018 Raffaello Bonghi (jetson_easy) Portions Copyright (c) 2016 Mehran Maghoumi

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].