basic concepts

In this section I just collect some basic concepts needed to get introduced in the SLAM, Robotics and Artificial Vision World

Loop Closure Problem: In Data Association, consists on the recognition of a previously observed and verified landmark. This allows the device or robot to realize that he has already been in that place before and "close the loop".

Data Association: Given an environment map, and a set of sensor observations, associate observations with map elements. In other words, consists on correctly associate observations of landmarks made by the sensors, with the landmarks that where already verified and are helding in the builded map.


Scan Matching: Usually when using a scanner or any sensor that provides us scans as output information, e.g. a lidar laser scanner. It is a method employed to verify that two different scans obtained by scanning sensor(s), were in fact observations of the same element or at least observations of two very similar objects done in very similar conditions, this is, they match each other.


Dead Reckoning: It's an antique technique, that was used in ships navigation systems when sealing and is still in use in robotics and other applications because of its ground principles.

Basically it is is the process of calculating one's current position by using a previously determined position, or fix, and advancing that position based upon known or estimated speeds and other parameters over elapsed time, and course.

By analogy with their navigational use, the words dead reckoning are also used to mean the process of estimating the value of any variable quantity by using an earlier value and adding whatever changes have occurred in the meantime.

AS they are not 100% precise, they usually need to be complemented with additional correction mechanism or additional position verification methods.

One of the simplest implementations of dead reckoning technique is called odometry (see below).

Odometry: It is a dead reckoning technique for estimating the position and/or displacement of a moving system (e.g. a robot) using to this end the information given by encoders or sensors on the wheels, or by rotation sensors on the legs in the case of humanoid robots with legs, etc so that with this information and the previous position we can estimate the actual position of the moving system.

Hough Transform: It's an algorithm for pattern recognition im image processing that let us find some figures inside of an image, like for example, lines, circles, etc. The simplest working mode is finding lines. In this case, the algorithm works in an stadistic way, where for each point that we are trying to find out if it belongs to a line or not, an operation will be applied inside of a concrete range, so that we are able to find the possible lines this point could eventually belong to. This process is done so for all the points in the image, and finally all those lines that collected more points are selected as the lines in the image.


Nearest Neighbour Algorithm: Was one of the first algorithms used to determine a solution to the travelling salesman problem. In it, the salesman starts at a random city and repeatedly visits the nearest city until all have been visited. It quickly yields a short tour, but usually not the optimal one.

These are the steps of the algorithm:

    1. stand on an arbitrary vertex as current vertex.

    2. find out the lightest edge connecting current vertex and an unvisited vertex V.

    3. set current vertex to V.

    4. mark V as visited.

    5. if all the vertices in domain are visited, then terminate.

    6. Go to step 2.

Sparse Matrix: It's a matrix in which most of the elements are zero or near zero. This kind of matrices can be handled and stored using specialized algorithms that represent an extensive field of study in numerical analysis.

Shortest Distance: See "Nearest neighbour" below...

Single Linkage: See "Nearest neighbour" below...

Nearest neighbour: Or shortest distance or single linkage, is a clustering algorithm for calculating distances between clusters in hierarchical clustering. On it, the distance between two clusters is computed as the distance between the two closest elements in the two clusters.

k-means clustering: It'ss a technique algorithm for computing gggggg

Clustering: It is a technique....

Data fussion: It ... (distinguish between Data Integration)

Eigenvalues and Eigenvectors: The eigenvectors of a square matrix are the non-zero vectors that, after being multiplied by the matrix, remain parallel to the original vector. For each eigenvector, the corresponding eigenvalue is the factor by which the eigenvector is scaled when multiplied by the matrix.


MCA: MCA is a modular, network transparent and realtime capable C/C++ framework for controlling robots and other kind of hardware. The main plattform is Linux/RTLinux, support for Win32 and MCA OS/X also exists.


Git (software): Is a distributed revision control system with an emphasis on speed.Git was initially designed and developed by Linus Torvalds for Linux Kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Git's current software mantenance is overseen by Junio Hamano. Git is free software distributed under the terms of the GNU version 2.


Underlying space: see Polytope.

Polytope: The space K which is the subset of Rn that is the union of the simplices in a simplicial complex K. A number of related, but slightly different mathematical objects. A convex polytope may be defined as the convex hull of a finite set of points (which are always bounded), or as a bounded intersection of a finite set of half-spaces. Coxeter (1973, p. 118) defines polytope as the general term of the sequence " point, line segment, polygon, polyhedron, ...," or more specifically as a finite region of N-dimensional space enclosed by a finite number of hyperplanes. The special name polychoron is sometimes given to a four-dimensional polytope. However, in algebraic topology, the underlying space of a simplicial complex is sometimes called a polytope.

CARMEN: CARMEN is a software developed by Carnegie Mellon University to provide robots basic navigation primitives, like base and sensor control, logging, obstacle avoidance, localization, path planning, and mapping. CARMEN uses the inter-process communication plattform IPC.



Barrow & Popplestone, 1971: The spatial relationships between objects can be represented by relational graphs (structures) (Barrow & Popplestone, 1971).

Clique: A small, exclusive group of individuals. In the social sciences, the word "clique" is used to describe a group of 2 to 12 (averaging 5 or 6) “persons who interact with each other more regularly and intensely than others in the same setting.” Is a small group of people who like the same things.

Maximum Clique: Un clique es un subgrafo en que cada vértice está conectado a cada otro vértice del grafo. Un clique en un grafo no dirigido G es un conjunto de vértices V tal que para todo par de vértices de V, existe una arista que las conecta. Esto equivale a decir que el subgrafo inducido por V es un gafo completo.

Levensthein distance, the Levenshtein distance is a string metric for measuring the amount of difference between two sequences. The term edit distance is often used to refer specifically to Levenshtein distance. The Levenshtein distance between two strings is defined as the minimum number of edits needed to transform one string into the other, with the allowable edit operations being insertion, deletion, or substitution of a single character. It is named after Vladimir Levenshtein, who considered this distance in 1965.

Edit distance, the edit distance between two strings of characters generally refers to the Levenshtein distance. The Hamming distance between two strings is a special case of the edit-distance.