# Intel® RealSense™ SLAM Library

**Version v0.3.1**

Intel® RealSense™ SLAM Library 
v0.3.1 
provides Simultaneous Localization and Mapping capabilities.
## What's New In This Release

The following new features are available in this release: 

* Real time 6 degrees of freedom (6DoF) camera tracking.
* Learning an area by associating its appearance with 6DoF coordinates enabling re-localization.
* Real time construction of a 2D occupancy map of a captured environment.

SLAM is tailored for, although not limited to, robots.
Autonomous robot navigation requires the ability to build a high precision
map of the surrounding environment and enable the robot to locate itself in the map for path 
planning and routing purposes.

SLAM uses the visual-inertial sensor to estimate odometry 
and concurrently builds a map. The constructed map can be used by applications 
to detect obstacles, label locations and path planning.


 
![SLAM data flow](pics/SLAM_dataflow.png)
 

## Hardware Requirements 
* Intel® RealSense® ZR300 (DS4.1t) Rev11 G sensor camera [DS4.1 Firmware 4.1 2.0.71.20, Adapter Board Firmware 1.27, Motion Module Firmware 1.23.0.0] (MM# 951805) 
* Intel® Joule™ 570x developer kit with expansion board (MM# 951308) 



## Software Requirements 
* LibRealSense – V1.10.0 
* Linux SDK version v0.2.10 
* opencv3.1


## Compatible Platforms

The library is developed and tested on the following platform:

* Intel® Joule™ 570x developer kit, running Reference Linux* OS for IoT build 183 or newer.  See installation instructions at <https://software.intel.com/en-us/node/672326> for information how to update your Intel® Joule™ module. 



## Supported Languages and Frameworks

The library is written in standards-conforming C++11 

## Functionality

**Note: API is experimental and is subject to incompatible API changes in future updates. Breaking API changes are noted through release notes.**

* Real time 6 degrees of freedom (6DoF) camera tracking.
* Learning an area by associating its appearance with 6DoF coordinates enabling re-localization.
* Real time construction of a 2D occupancy map of a captured environment.



## Known Issues  

For accurate results, tracking should be started when the camera is still. The system will start producing accurate tracking only after the camera has moved few decimeters. 

This release includes the following known limitations and errata:

* Results will be inaccurate if the camera is strongly vibrated.
* System will not work in the dark or in low visibility environments, such as inside clouds, heavy smoke, or at night. It also will not work when facing a very bright light or direct sunlight conditions.
* Results will be inaccurate if there are large, frequent, and fast variations in lighting (rapidly going from full sun to dark shadow).
* Fast motions and strong accelerations may produce inaccurate results. 
* Having no visual features visible to the camera, for example being directly against a smooth white wall, will result in inaccurate results. 
* Over loaded CPU causing capture frame drops will result in inaccurate results.
* System does not work in elevators.
* Having a large percentage of the visible scene moving (non-static) will reduce accuracy.






## License

Copyright 2016 Intel Corporation

Licensed under the Intel® RealSense™ Linux for SLAM v0.3.1, provided in this package as LICENSE

**Other names and brands may be claimed as the property of others*