Спасибо за алгоритм. Паскаль- листинг в принципе понятен, но хотелось бы еще проще. Давайте вообще откажемся пока от сонара. Будем задавать перемещения робота в виде отрезков, каждый из которых характеризуется двумя параметрами: абсолютный азимут и длина пути. Имея карту , заданную координатами углов стен и недвижимых препятствий, опишем алгоритм решения чисто геометрической задачи: нахождения оптимального пути между точками X1,Y1 - X2,Y2, апроксиммированного серией отрезков.
Вы, конечно, можете послать меня в сторону известных алгоритмов прохождения лабиринтов. И я туда покорно пойду и в результате изобрету-таки собственный велосипед. Но, не исключено, что один из разобравшихся уже с этим обьяснит все на пальцах. Может и еще кому пригодится.