L'algoritmo utilizzato nel nostro sistema, sviluppato originariamente da Cox, Hingorani, Maggs e Rao [7], è caratterizzato da un ridotto carico elaborativo, che lo rende particolarmente adatto a un impiego in robotica. È un algoritmo di tipo area-based , quindi dalle ampie condizioni di funzionamento. I principali vantaggi dell'algoritmo sono di operare su singoli pixel, evitando così il problema della determinazione dell'ampiezza della finestra dell'operatore di confronto, e di non fare uso del vincolo di lisciezza delle superfici, permettendo di estrarre bene le discontinuità di profondità.
L'algoritmo è basato sul calcolo di una funzione di costo, dipendente dalle differenze di intensità fra i pixel che si vogliono accoppiare e da due vincoli, il vincolo di ordinamento monotonico e unicità di accoppiamento. La particolare forma della funzione costo permette di ricavarne il minimo globale in modo efficiente mediante programmazione dinamica.