OctoMY™ SLAM (Simultaneous Localization And Mapping) |
The data could be as simple as the readings of an ultrasonic range finder or as complex as the video streams from a stereoscopic pair of cameras. And the algorithms an heuristics that are used to derive meaningful localization and mapping data is loosely fit under the term SLAM (Simultaneous Localization And Mapping).
Stereo Camera Sensor |
- Available processing power ("must run in real-time on smartphone").
- Indoor only or outdoor as well.
- 2D or 3D mapping
- Sparsity/size of map data
- Accuracy of localization
- Loop detection (detection and resolution of circular pathways in environment).
- Scalability with size of environment
- Must be GPU/FPGA/DSP accelerable.
- etc.
So now that you have a grasp on what SLAM is, it's time to move on to how this is planned for OctoMY™.
Since we are basically building a platform on top of which we hope you will add all the cool plugins and features, there really arn't any limitations to what kind of SLAM methods can become part of OctoMY™. But since SLAM is such an essential concept, we will have to provide a pretty darn good default implementation from the get-go that you can get started with right away.
Nothing is set in stone yet, but here are some of the thoughts about SLAM in OctoMY™:
Since we are basically building a platform on top of which we hope you will add all the cool plugins and features, there really arn't any limitations to what kind of SLAM methods can become part of OctoMY™. But since SLAM is such an essential concept, we will have to provide a pretty darn good default implementation from the get-go that you can get started with right away.
Nothing is set in stone yet, but here are some of the thoughts about SLAM in OctoMY™:
- Should be unsupervised as far as possible
- Automatic camera lens/other sensor calibration
- Automatic environment scale detection
- Automatic tweaking of parameters to get the best result in general
- Should generate detailed and accurate 3D map of high accuracy.
- Should support huge maps
- Should support distributed data model that allows sharing of data between agents all over the world.
- Should support input from whatever sensors are available, and make the most of it.
- Should adapt to the processing hardware available:
- Make use of hardware acceleration through OpenCL when available.
- Use less resources on lower-end platforms such as old smart phones.
- Should use less hand-crafted and more "learned" methods.
In conclusion, yes ambitions are sky high for the central problem of localization and mapping of environment. In later articles we will surely explore parts of this problem in more detail.