roboforum.ru

Технический форум по робототехнике.
Текущее время: 10 апр 2025, 09:43

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 66 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 17 янв 2015, 01:28 
Не в сети
Аватара пользователя

Зарегистрирован: 12 окт 2008, 12:40
Сообщения: 369
Откуда: Красногорск, Подмосковье
Я хоть и не автор конструкции, укажу недостатки камеры.
Распознавание QR-кодов - достаточно ресурсоемкая операция, так что ее проблематично реализовать на автономном роботе.
Камера не работает в темноте.
Если освещенности не хватает, то FPS камеры падает, и становится проблематично получать QR-коды с вращающейся камеры - они будут смазаны.
Как передавать данные с вращающейся камеры на компьютер? Я не уверен, что USB сигналы хорошо пройдут через щетки.
Камера должна иметь большое разрешение и большое угловое поле (более 80 градусов), чтобы обнаруживать метки на расстоянии хотя бы 3 метров.
Большое разрешение - опять же нагрузка на процессор.

_________________
OpenSimpleLidar - проект простого самодельного лидара.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 17 янв 2015, 01:51 
Не в сети

Зарегистрирован: 04 ноя 2014, 01:57
Сообщения: 434
Всё верно про нагрузку на процессор. Передавать сигнал с вращающейся камеры можно синим зубом или WIFI. Либо вращать зеркало, а камеру держать неподвижно в зенит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 17 янв 2015, 02:48 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2685
Откуда: Где-то в Латинской Америке
Можно и туда-сюда вращать. Но, главный враг камеры - это не равномерное, меняющееся освещение. Да и врядли метки будут эстетично выглядеть на потолке.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 19 янв 2015, 20:51 
Не в сети

Зарегистрирован: 13 янв 2015, 17:51
Сообщения: 14
Откуда: г. Сланцы. Ленинградская обл.
прог. языки: Sinclair basic ), VB, C#, FBD, LD.
ФИО: Александр.
Интересный вариант (в принципе). Когда то глобально думал так же сделать, но не хватило духу монтировать светодиоды по квартире )).
Но идея стоящая.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 19 янв 2015, 23:58 
Не в сети

Зарегистрирован: 04 ноя 2014, 01:57
Сообщения: 434
Итак, как обещал, проведено небольшое упражнение по выведению формул навигации по маячкам. Задачу поручил сыну :-), и вот что он вывел.
Итак,
Дано:
1) три точки (A,B,C) с известными координатами ((XA;YA), (XB;YB), (XC;YC));
2) два угла (AB, BC), под которыми каждая пара точек видна из искомой

Найти:
Координаты искомой точки D (XD, YD).

Для решения нам понадобится теорема о вписанном угле и её следствия (https://ru.wikipedia.org/wiki/%D0%92%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%83%D0%B3%D0%BE%D0%BB).
"Вписанные углы, опирающиеся на одну дугу, равны." - это очень важно и означает, что все точки, из которых точки А и B видны под одним углом AB находятся на дуге окружности, проходящей через A и B. То есть, как только мы измерили угол AB мы сразу же поняли, что мы находимся где-то на этой окружности. И чтобы найти конкретную точку на этой окружности остаётся замерить ещё один угол и построить пересечение окружностей. В этом, собственно и вся задача - по каждому из углов построить окружность и найти точку их пересечения, всё!

Дальше идёт несколько страниц выкладок (в популярной книжке предлагается в таких случаях в этом месте писать "очевидно что" :-) ) и вот итоговые формулы:
Код:
XD = XA + 2T*(YR1-YR2)
YD = YA + 2T*(XR2-XR1)

где

T = ((YA-YR1)*(XR1-XR2)+(XA-XR1)*(YR2-YR1)) / ((YR1-YR2)^2 +(XR2-XR1)^2);

XR1 = (XA + XB + ctg(AB)*(YB-YA))/2;
YR1 = (YA + YB + ctg(AB)*(XA-XB))/2;
XR2 = (XA + XC + ctg(AC)*(YC-YA))/2;
YR2 = (YA + YC + ctg(AC)*(XA-XC))/2;


Надеюсь, нигде не опечатался. :-)

Важные выводы, которые надо учесть.
1) Углы надо мерить с учётом знака. Т.е По часовой стрелке если А левее B, то AB - положительный, а BA - отрицательный. А то окажетесь по другую сторону точек A и B.

2) Информации по трём точкам не достаточно. Как только робот окажется на окружности, проходящей через все три точки A, B, C, так он не сможет определить свою координату. Сможет только сказать что он где-то на этой окружности. С этой окружности все точки видны под одинаковыми углами. Технически это можно решить разными способами, важно знать об этом.

3) Следствие из 2). Если у вас прямоугольная комната и вы разместите 3 или 4 маячка по углам - в углах робот не сможет понять (без дополнительной информации) где он находится. Только сможет понять что он где-то на окружности.

4) Следствие из 2). Если размещать 4 маячка, то надо их размещать так, чтобы они не лежали на одной окружности.

Как видим, формулы получились громоздкими, но не ресурсоёмкими. Кроме вычисления котангенса там ничего не нагрузит процессор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 20 янв 2015, 00:19 
Не в сети

Зарегистрирован: 07 авг 2010, 21:29
Сообщения: 1725
Откуда: КМВ
прог. языки: C
ФИО: Андрей
Я ж привел формулы в таблице офисной. :) прямо там и считает. И атмега справлялась...

_________________
Дым, идущий из всех устройств в помещении предвещает появление электрика.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 20 янв 2015, 00:31 
Не в сети

Зарегистрирован: 04 ноя 2014, 01:57
Сообщения: 434
RootAdmin писал(а):
Я ж привел формулы в таблице офисной. :) прямо там и считает. И атмега справлялась...

Ха! Ты знаешь, я сейчас снова глянул в твою таблицу и только сейчас стал понимать о чём она :-) Пока сам задачу не промозговал - открыл, ничего не понял и закрыл :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 20 янв 2015, 12:42 
Не в сети

Зарегистрирован: 08 апр 2013, 08:09
Сообщения: 305
Откуда: Екатеринбург
ФИО: Сергей
Спасибо за приведенные формулы, но пока у меня есть вопросы.Завел формулы в компьютер и считает неверные результаты.Где то ошибка.
В комментариях разговор был о углах АВ и ВС.В формуле же фигурирует угол АС.
И 2T это 2*T?
Пока не могу сказать какой метод расчёта быстрее мой(путем перебора) или напрямую по формуле.
И извиняюсь в "офисной таблице" с первого раза совсем ничего не понятно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 20 янв 2015, 12:53 
Не в сети
Аватара пользователя

Зарегистрирован: 08 авг 2012, 00:38
Сообщения: 1129
Откуда: Нидерланды, Алмере
Skype: edwbes
ФИО: Эдуард
Еще мысль про катафоты:
Если светить двумя лазерами, скажем красным и зеленым, то катафоты разного цвета будут по разному отражать. Например "съедать" красный, но отражать зеленый. Таким образом можно набирать катафоты из полосок или квадратиков и получать этакий бар/QR код, который можно прочитать сканированием лазером. Плюс к тому отфильтруются всякие отражающие поверхности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 20 янв 2015, 13:42 
Не в сети

Зарегистрирован: 04 ноя 2014, 01:57
Сообщения: 434
sned писал(а):
Спасибо за приведенные формулы, но пока у меня есть вопросы.Завел формулы в компьютер и считает неверные результаты.Где то ошибка.
В комментариях разговор был о углах АВ и ВС.В формуле же фигурирует угол АС.
И 2T это 2*T?
Пока не могу сказать какой метод расчёта быстрее мой(путем перебора) или напрямую по формуле.
И извиняюсь в "офисной таблице" с первого раза совсем ничего не понятно.

Давай вечером перепроверю, либо я ошибся при перепечатывании, либо тот, кто выводил. 2T это 2*T. Формулы действительно про угол AC, в принципе, это без разницы какие 2 пары точек брать A-B и B-C или A-B и A-C или B-C и A-С.

Добавлено спустя 3 минуты 40 секунд:
TedBeer писал(а):
Еще мысль про катафоты:
Если светить двумя лазерами, скажем красным и зеленым, то катафоты разного цвета будут по разному отражать. Например "съедать" красный, но отражать зеленый. Таким образом можно набирать катафоты из полосок или квадратиков и получать этакий бар/QR код, который можно прочитать сканированием лазером. Плюс к тому отфильтруются всякие отражающие поверхности.

Если лазером, то в катафот ещё надо попасть сначала лазером. И отдельно попасть красным лазером в красный, а зелёным - в зелёный.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 20 янв 2015, 13:50 
Не в сети

Зарегистрирован: 07 авг 2010, 21:29
Сообщения: 1725
Откуда: КМВ
прог. языки: C
ФИО: Андрей
Vladimat писал(а):
RootAdmin писал(а):
Я ж привел формулы в таблице офисной. :) прямо там и считает. И атмега справлялась...

Ха! Ты знаешь, я сейчас снова глянул в твою таблицу и только сейчас стал понимать о чём она :-) Пока сам задачу не промозговал - открыл, ничего не понял и закрыл :-)

Там как раз координаты сразу в прямоугольной системе.

_________________
Дым, идущий из всех устройств в помещении предвещает появление электрика.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 20 янв 2015, 14:28 
Не в сети

Зарегистрирован: 04 ноя 2014, 01:57
Сообщения: 434
RootAdmin писал(а):
Vladimat писал(а):
RootAdmin писал(а):
Я ж привел формулы в таблице офисной. :) прямо там и считает. И атмега справлялась...

Ха! Ты знаешь, я сейчас снова глянул в твою таблицу и только сейчас стал понимать о чём она :-) Пока сам задачу не промозговал - открыл, ничего не понял и закрыл :-)

Там как раз координаты сразу в прямоугольной системе.

Скажу тебе честно, там сложно понять. Часть формул в ячейках, что-то осталось у тебя в уме. Если бы ты вывел формулы отдельно, было бы всем проще и мы бы сравнили наши формулы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 20 янв 2015, 16:44 
Не в сети

Зарегистрирован: 07 авг 2010, 21:29
Сообщения: 1725
Откуда: КМВ
прог. языки: C
ФИО: Андрей
Ээх. Искал код - но видно либо удалил, либо куда-то сунул. Это ж минимум год назад было.
Вот что-то похожее. http://www.raai.org/about/persons/karpo ... doopr2.htm Я как раз и шел по пути определения пересечения окружностей.

_________________
Дым, идущий из всех устройств в помещении предвещает появление электрика.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 20 янв 2015, 17:49 
Не в сети

Зарегистрирован: 04 ноя 2014, 01:57
Сообщения: 434
Хорошая ссылка, но что-то этот доц., к.т.н. не довёл задачу до конца - систему уравнений (1) ниасилил. К тому же я не понял почему при двух неизвестных ( XD и YD в моём именовании, Xm и Ym в его) у него система из трёх уравнений. А ещё он не учитывает знак угла, из-за этого у него лишние окружности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Система навигации для домашнего робота
СообщениеДобавлено: 20 янв 2015, 18:33 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2685
Откуда: Где-то в Латинской Америке
Давным давно придумал и опробовал систему навигации в комнате, которая успешно прошла испытания. Принцип состоял в следующем: ПК, в котором была карта комнаты, управлял лазерной указкой, установленной примерно по центру комнаты. На мобильном роботе была установлена беспроводная камера, направленная вертикально на потолок. ПК вычислял следующий шаг маршрута, выставлял лазерную точку на потолке и гнал робота, управляя им по ВТ, так, чтобы точка оказалась в середине кадра, передаваемого камерой. Этакая погоня за зайчиком.


Последний раз редактировалось Scorpio 20 янв 2015, 18:49, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 66 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO