Алгоримт определения QCode - маяков: Повышение точности

Автомат, адаптивный автомат ... разум

Алгоримт определения QCode - маяков: Повышение точности

Сообщение =DeaD= » 27 янв 2008, 23:31

Сегодня произвёл замеры точности измерения расстояния до маяков.
Текущий результат:
- разброс разовых значений от -15% до +12% от корректного значения.
- разброс средненакопленных за 50 измерений значений +/- 2% от корректного значения.

То есть при необходимости - можем постоять потупить и с очень высокой точностью определить расстояния до маяков и свои координаты.

Хочется увеличить точность разовых замеров, чтобы можно было получить хотя-бы +/- 5% от корректного расстояния при разовых замерах.

Текущие проблемы как видится связаны с тем, что неточно определяются углы маяка (они сейчас получаются как побочный результат распознавания самого маяка и никакой специальной обработки на выявление точных их координат нету).

Добавлено спустя 37 минут 45 секунд:
Чтобы качественно определять углы маяков нужна функция "детектор угла маяка", которую мы будем вычислять в некоторой окрестности найденных как побочный результат координат угла маяка и из полученных значений будем выбирать максимум.

Пока надумался такой вариант:
1. Будем оценивать пиксели в области = в радиусе R единиц от проверяемой точки (например, будем брать R=4);

2. Очевидно если это искомый угол, то среди этих пикселей сектор в 90° будет черным, а остальное белым, однако в реальности есть шумы и съехавшие в разные стороны цвета - вместо черного имеем некоторой степени темносерый, а вместо белого - светлосерый.

Добавлено спустя 11 часов 55 минут 47 секунд:
Победил низкую точность разовых измерений - правда без всяких хитровыдуманных функций оценочных - сделал тупую функцию, которая из суммы пикселей внешнего уголка вычитает сумму пикселей внутреннего уголка. Благо ориентация уголка примерная уже известна.

Полученный результат - не более 4.5% отклонения разового измерения от средневзвешенной величины, правда рулетку куда-то посеял, поэтому надо еще проверить, что средневзвешенная величина сейчас не уехала от правильного значения расстояния, но не думаю что там будут серьезные проблемы.

А полученный результат будет позволять локализовать робота в помещении очень качественно (точность порядка 10см и может даже лучше).
Вложения
beacons-avg-v2.jpg
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Вернуться в Алгоритмы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10