Я ваш единомышленник, занимаюсь
тем же самым вопросом. Создал вот такой робот для опытов

на серве стоит уз-сонор URM 37.
поставил перед собой цель- путь из A в B, как и у вас. Не пользовал другие соноры, но этот работает выше всяких похвал.
На данный момент робот крутит головой , сканируя 180" перед собой (дальность - до 3 м), после сканирования поворачивает голову в сторону большего измерения.
Как ни странно, видит не только "неперпендикулярные" стены, но вообще любые предметы толще карандаша. Работает довольно быстро, 180 измерений занимают чуть больше секунды, при том, что я для наглядности замедлил поворот сервы (7 мкс на каждый градус). Если измерять со скоростью поворота сервы- неточность колеблется в диапазоне +-1 см, что весьма неплохо.
В ближайшее время планирую:
1- усовершенствовать алгоритм сканирования (делю диапазон скана на участки, вычисляю наиболее незагроможденный участок, двигаюсь в этом направлении)
2- поставить ик-дальномеры по бокам, в центре, для более точной навигации
3- "привинтить" к роботу энкодеры, акселерометр, ещё "что-нибудь", пока не определился.
на данный момент создаю свою плату- драйвер на L298N
Хочу задать ВАМ вопросы (и всем старожилам):
1- часто встречаются системы определения образов в виде камера+кпк, камера+планшетник, ноутбук и т.д.
Если диаграмму сканирования представить в виде массива чисел, с помощью некоторой обработки данных массива определить форму встретившегося обьекта, (выпуклость в виде треугольника, круга, квадрата) - МОЖНО ЛИ создать что-то наподобие системы определения/угадывания местных предметов/образов???
2- нашёл одну книгу про роботов Тимофеев А.В. - Адаптивные робототехнические комплексы (1988)
почитайте то, что на скриншоте (см. вложения).
Когда-то прочитал в "золотом" фонде данного форума про локальную систему позиционирования, основанных на УЗ излучателях и приемнике.
Тут принцип похожий, но на фотодатчиках. Хотелось бы проанализировать с вашей помощью имеющиеся варианты решений, обсудить их слабые и сильные места (форум специально для этого), и что-нибудь создать самому. Условие - отсутствие привязки ко всяким внешним системам типа GPS и т.д., способность вырабатывать собственные решения.
Но это вопрос спорный.
3- Из элементной базы имеется Уз дальномер, ардуино, самодельный контроллер на атмеге 16, несколько серв, шасси, движки.
ЧТО ЕЩЁ необходимо докупать в первую очередь для придания "бонусов" к техническому зрению робота?
Добавлено спустя 10 минут 9 секунд:система на скриншоте довольно "древняя" но принцип понятен.
А что если построить такой алгоритм:
а) нахожусь в точке А, двигаюсь до какой-нибудь стенки
б) подьехав к стенке пытаюсь угадать ориентиры (по очертаниям)
в) ориентиры есть- go to г) , ориентиров нет- возвращаюсь в точку А и go to а)
г) двигаюсь относительно угаданного ориентира по заложенной в память карте к точке Б
З.Ы. я - начинающий, стаж - всего 2 месяца, поэтому извините за юнощеский максимализм, если что...