roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 07:13

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




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

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

Неее! Не по задержке... По углу на маяки.
Конструктивно сам локатор на роботе может быть выполнен как ТСОП c трубкой, для узкой диаграммы направленности, вращаемый шаговиком в горизональной плоскости, либо ТСОП направлен вертикально вверх, а ИК излучение попадает в него с помощью вращаемого зеркала, наклоненного под Пи/4.
Идея в том - чтобы получить углы 1 и 2. Зная базы а и б - можно однозначно рассчитать свое положение. Геометрию (пример расчета) привести?

Добавлено спустя 13 минут 16 секунд:
Начал думать - рисовать окружности - решил погуглить. Первая ж ссылка: http://www.raai.org/about/persons/karpo ... doopr2.htm
Цитата:
Вычисления местоположения робота по маякам
Пусть на плоскости (в ограниченной области) расположены N маяков с известными координатами. Там же находится робот, оборудованный вращающимся локатором. Локатор позволяет определять углы между собственным направлением робота (осью ориентации) и направлением на каждый из видимых маяков. Измерения производятся с некоторой погрешностью и могут быть не только неточны, но даже полностью неверны (например, из-за помех, перекрытий области видимости и т.п.). Требуется с максимальной точностью и в кратчайшее время определить местоположение робота – его координаты и направление (ориентацию).

Метод окружностей
Рассмотрим для начала метод «точного» решения задачи определения местоположения робота по маякам (А. Лоскутов, а также [3]). Пусть робот видит три маяка с заданными декартовыми координатами T1(x1,y1), T2(x2,y2), T3(x3,y3) соответственно. Локатор определяет направления на маяки относительно оси робота. Измеренные углы видимости маяков обозначим как a1, a2, a3. Будем считать, что робот определяет угол между маяками. Например, угол a12 между маяками T1 и T2 (a12=a1-a2), а угол между T2 и T3 - a23 (рис. 1).
(c) Карпов В.Э


Вложения:
Локатор робота.jpg
Локатор робота.jpg [ 50.48 КиБ | Просмотров: 2848 ]

_________________
Дым, идущий из всех устройств в помещении предвещает появление электрика.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 06 апр 2012, 17:09 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
при движении доп. погрешность и возможно чуть более сложный алгоритм


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 06 апр 2012, 17:36 
Не в сети

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

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


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

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Препятствий нету? В помещении нам ничего не загораживает маяки?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 07 апр 2012, 01:16 
Не в сети
Аватара пользователя

Зарегистрирован: 26 дек 2011, 11:57
Сообщения: 155
Откуда: СПБ
Skype: vassav_
прог. языки: C#
elmot писал(а):
Препятствий нету? В помещении нам ничего не загораживает маяки?

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

Как вариант - добавить маяков, чтоб минимум 3 было видно всегда, и тогда, теоретически, можно будет высчитать положение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 07 апр 2012, 07:34 
Не в сети
Аватара пользователя

Зарегистрирован: 21 июн 2006, 11:22
Сообщения: 1387
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич
vassav писал(а):
Есть робот, который получает команды управления от ПК, туда же отсылает видео.
Необходимо определить его местоположение в комнате.
Я раньше занимался 3D реконструкцией окружающего робота пространства. http://roboforum.ru/forum103/topic7143.html#p189676 Левое нижнее изображение - карта глубины видимого в стереокамеру участка. Т.к. вся система работает на основе продукционных правил, то можно добавить к этому программному модулю модуль восстановления всего видимого ранее и в настоящий момент времени пространства, т.е. создать 3D карту местности. Она будет не очень точная, навряд ли с точностью до 1 мм. Но я планировал добавить самообучение, которое будет корректировать знания о 3D карте на основании нового опыта робота. Все это я планировал сделать в рамках проекта RoboBrain, но не смог из-за обстоятельств.

_________________
Проект Robosonic RS http://www.aigod.com


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 09 апр 2012, 10:40 
Не в сети

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

А маяки можно и на потолок. Единственно - увеличится возможность поймать отражение за счет того что "приемник " будет иметь широкую диаграмму направленности в вертикальной плоскости.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 09 апр 2012, 15:42 
Не в сети

Зарегистрирован: 07 авг 2010, 21:29
Сообщения: 1725
Откуда: КМВ
прог. языки: C
ФИО: Андрей
А на ардуине-то алгоритм будет работать.
Получается процедурка в которую передаются координаты трех маяков(x[2], y[2]) и два угла.
Внутри рассчитываются синус - два раза, косинус - тоже два. И возведений в квадрат и извлечение корня присутствует немного.
На выходе - рассчетные координаты.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 09 апр 2012, 16:39 
Не в сети
Аватара пользователя

Зарегистрирован: 26 дек 2011, 11:57
Сообщения: 155
Откуда: СПБ
Skype: vassav_
прог. языки: C#
RootAdmin писал(а):
А на ардуине-то алгоритм будет работать.
Получается процедурка в которую передаются координаты трех маяков(x[2], y[2]) и два угла.
Внутри рассчитываются синус - два раза, косинус - тоже два. И возведений в квадрат и извлечение корня присутствует немного.
На выходе - рассчетные координаты.

Ардуину использовать экономически не целесообразно, можно просто аврку поставить, но суть не в этом, координаты можно будет и на центральном сервере обсчитывать, главное эти данные получить


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 09 апр 2012, 17:39 
Не в сети

Зарегистрирован: 07 авг 2010, 21:29
Сообщения: 1725
Откуда: КМВ
прог. языки: C
ФИО: Андрей
Эх, времени нету... Тема-то вкусная-интересная. Поищу дома ТСОП. Должны быть где-то..

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 09 апр 2012, 17:59 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
vassav писал(а):
RootAdmin писал(а):
А на ардуине-то алгоритм будет работать.
Получается процедурка в которую передаются координаты трех маяков(x[2], y[2]) и два угла.
Внутри рассчитываются синус - два раза, косинус - тоже два. И возведений в квадрат и извлечение корня присутствует немного.
На выходе - рассчетные координаты.

Ардуину использовать экономически не целесообразно, можно просто аврку поставить, но суть не в этом, координаты можно будет и на центральном сервере обсчитывать, главное эти данные получить

арм надо брать. Цена как у дуины, а мозгов на порядок больше. Вплоть до апаратного fpu.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 10 апр 2012, 10:23 
Не в сети

Зарегистрирован: 07 авг 2010, 21:29
Сообщения: 1725
Откуда: КМВ
прог. языки: C
ФИО: Андрей
На чем аппаратно делать - вообще не вопрос... То есть дело десятое.
Хочу для начала сделать "взрослый тест" на работоспособность аппаратной части локатора.
То есть - возьму редукторный шаговик типа 28byj-48 Изображение
Водружу ему на ось ТСОП с трубкой.
На тини со светодиодом сделаю маяк - будет просто генерить непрерывно.
На маяке предусмотрю место под ТСОП еще...
Напишу программу для поиска и отслеживания маяка. То есть - вращаем двигатель на оборот вперед - на оборот назад (чтоб провода не накрутить) в цикле, пока не найдем сигнал. Если нашли - продолжаем вращать пока не пропадет. Пропал - вращаем назад, пока опять не пропадет. Оцениваем (выводим) количество шагов для которых виден маяк.
Цель этапа - проверить работоспособность идеи, оценить точность угла.

Затем (второй этап) - добавлю к двигателю датчик "0". Поставлю рядом еще один ТСОП и светодиод инфракрасный для общения с маяками. Добавлю к маяку ТСОП. Буду думать над протоколом...

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 10 апр 2012, 11:27 
Не в сети
Аватара пользователя

Зарегистрирован: 26 дек 2011, 11:57
Сообщения: 155
Откуда: СПБ
Skype: vassav_
прог. языки: C#
Есть вопрос технического плана, как можно непрерывно вращать трубку, под которой находиться ИК датчик? Делать скользящий контакт не резон, т.к. помех будет больше чем полезного сигнала


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 10 апр 2012, 11:33 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
вращай туда-сюда, а не на полный оборот. Ну и гибкий провод.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Определение позиции робота XY
СообщениеДобавлено: 10 апр 2012, 11:37 
Не в сети

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

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


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

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


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

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


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

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