Имеется в виду тот алгоритм навигатора, который сейчас реализован. Там, к примеру, решение поворачивать роботу влево или вправо принимается на основании превышения порогового значения расстояния, которое рассчитывается как  разность позиции распознанного объекта от центра по горизонтали.
- Код: Выделить всё • Развернуть
-    // Вычисляем величину отклонения цента объекта от центра входного изображения
 int cXs = apGray->width>>1;
 int cXo = apRcgObj->ObjRect->x + (apRcgObj->ObjRect->width>>1);
 int cXd = cXs - cXo;
 
 //...
 
 // Объект находится слева от робота?
 if(cXd >  40) {// Да
 // Один раз (импульсом) повернуть корпус робота влево
 if(!MvLft && gNvg.TurretBalance > 0) { gpCmdArray->Cmd[cmLEFT] = true; }
 // Поворот башней влево
 if(!TrLft) {
 gpCmdArray->Cmd[cmTURRET_LEFT] = true;
 gNvg.TurretBalance++;
 }
 }
 // Объект находится справа от робота?
 if(cXd < -40) {
 // Один раз (импульсом) повернуть корпус робота вправо
 if(!MvRht && gNvg.TurretBalance < 0) { gpCmdArray->Cmd[cmRIGHT] = true; }
 // Поворот башней вправо
 if(!TrRht) {
 gpCmdArray->Cmd[cmTURRET_RIGHT] = true;
 gNvg.TurretBalance--;
 }
 }
 
Так вот, на таком мелком разрешении (320x240) если даже робот импульсом повернёт на одну позицию, то объект просто может потеряться из поля зрения, да и вообще сложно принять решение о повороте, если в вашем распоряжении всего +- 160 пикселей минус размер распознанного объекта и минус гистерезис. Что бы исключить колебательный процесс (робот начинает самопроизвольно дергается влево - вправо) нужно задать некий гистерезис (в нашем случае +- 40 пикселей).
Вот по этой причине разрешение 320x240 плохо сосчитается с задачей навигации (точности маловато).