roboforum.ru

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

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




Начать новую тему Ответить на тему  [ Сообщений: 36 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 12:01 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Собственно не стоит ли начать обсуждать такую штуку? Ну или хотя-бы какие-то общие подходы выявить и начать собирать интерфейсы для разных типов датчиков?

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

Поэтому я считаю что надо отделить методы использования информации о расстоянии до предметов от методов её получения и этим значительно упростить дальнейшее движение вперед.

Кроме прочего, это позволит быстро сравнивать несколько методов, например, 3Д-реконструкции по паре изображений.

К обсуждению приглашаются все желающие. Особое приглашение Vorral'у, SkyStorm'у - у них вроде сейчас уже деятельность связана с такими задачами.

Вроде из общих методов определения расстояния до произвольных предметов у нас бывает:
1. Методы предоставляющие 2-мерную карту расстояний:
1.1. 3D-реконструкция;
1.2. Optical-Flow;
1.х. Любой метод из пункта 2 + поворотное устройство;
2. Методы предоставляющие 1-мерную карту расстояний:
2.1. Лазерный сканер;
2.2. Лазерный уровень с камерой;
2.х. Любой метод из пункта 3 + поворотное устройство;
3. Методы предоставляющие 0-мерную карту расстояний (1 или несколько точек или конусов):
3.1. ИК-бамперы;
3.2. ИК-дальномеры SHARP;
3.3. Сонары;
3.4. Лазерная указка + камера;

Основные параметры всех методов измерения расстояния:
1. Максимальная и минимальная дальность обнаружения препятствия;
2. Вектор в локальных координатах робота, в направлении которого ориентирован датчик расстояния;
3. Форма области вокруг вектора в рамках которой препятствие может быть обнаружено этим датчиком;
4. Вероятность необнаружения препятствия датчиком или тип препятствия не обнаруживаемый датчиком;
5. Вероятность ложного обнаружения препятствия датчиком;

Основные параметры результата измерения:
1. Вектор в локальных координатах робота, вдоль которого меряем расстояние;
2. Измеренное расстояние;
3. Качественная оценка достоверности измерения (т.е. если получили мутный ответ, который с достаточной вероятностью может оказаться неверным, пусть даже 5-10%, об этом сообщаем пользователю информации);

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 14:08 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
что-то непонятно, предлагается обсуждать интерфейс или методы? :oops:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 14:13 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Интерфейс :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 14:18 
Не в сети

Зарегистрирован: 01 фев 2009, 01:32
Сообщения: 629
Откуда: Саратов
Skype: realsystem_stas
прог. языки: C, Bash, Perl
ФИО: Станислав
Тогда ничо не понял. В первом посте есть ряд методов. Это ясно. А что тогда подразумевается под интерфейсом в данном случае?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 14:45 
Не в сети

Зарегистрирован: 11 сен 2008, 17:18
Сообщения: 873
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав
На данный момент, переписываю систему 3Д реконструкции с целью включения в её состав модуля распознавания и улучшения качества карты глубины. Тема интересная, я например планирую использовать информацию о дальности точек для лучшего распознавания(масштабировать искомый образ требуется совсем в небольшом диапазоне) и простого отделения от фона таких объектов как человек. Можно также попытаться построить диаграмму направленности. В принципе, в первую очередь меня интересует навигация по помещению. По моему плану он должен будет достаточно однозначно характеризовать любой незнакомый объект и давать ему ID, а в последствии использовать этот и совокупность остальных ID(между ними будут существовать связи, могут разрушатся , некоторые предметы же перемещаются), как маяки, для определения своего положения. Карта глубины пока(новый алгоритм ещё в разработке) выглядит так.

Добавлено спустя 2 минуты 38 секунд:
Я понимаю тему так: есть информация о расстоянии/ях, как её лучше использовать.


Вложения:
11.jpg
11.jpg [ 150.91 КиБ | Просмотров: 2017 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 14:47 
Не в сети
Аватара пользователя

Зарегистрирован: 05 фев 2008, 15:33
Сообщения: 2687
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович
Мне не очень ясна постановка вопроса.
Интерфейс передачи информации это что переменная int содержащая значение в mm.

_________________
Никто кроме нас!!!
4Robots.ru - Все для роботов!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 14:57 
Не в сети

Зарегистрирован: 11 сен 2008, 17:18
Сообщения: 873
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав
Ты же сам предложил информацию о расстояниях использовать в целях узнавания помещения. И при существовании чёткого алгоритма "опознавания" помещения, можно воспользоваться информацией о расстояниях, не только от сонаров, но и от системы 3Д реконструкции.


Последний раз редактировалось Vorral 16 апр 2009, 15:00, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 15:02 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
realsystem писал(а):
В первом посте есть ряд методов. Это ясно. А что тогда подразумевается под интерфейсом в данном случае?

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

Интерфейс это как минимум структура данных, которую должен возвращать метод получения информации о расстоянии, типа чтобы эту информацию можно было скармливать унифицированному алгоритму которому пофиг как получена информация. Тогда можно будет разделить работу - одни пишут системы сбора данных, вторые - их обработки. Все счастливы, один и тот же код не пишется по 20 раз :)

Добавлено спустя 2 минуты 14 секунд:
Vorral писал(а):
Я понимаю тему так: есть информация о расстоянии/ях, как её лучше использовать.

Неправильно. Есть куча методов извлечения информации о расстоянии, есть какие-то подходы к её использованию. Надо прописать интерфейс и утвердить его, чтобы все разработчики методов сбора информации и методов использования юзали этот интерфейс и не писали свою систему обработки информации под конкретный метод сбора информации.

Добавлено спустя 2 минуты 13 секунд:
SkyStorm писал(а):
Интерфейс передачи информации это что переменная int содержащая значение в mm.

Если бы у нас был датчик только типа "лазерный дальномер", тогда да;
А у нас есть ИК-дальномеры - тут узкий конус;
Сонары - тут широкий конус;
Камеры с 3д-реконструкцией или оптикал-флоу - тут может быть параметр типа "я не знаю какая тут дальность" или даже "я думаю что тут типа 2м дальность, но уверен в этом на 40%".

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 15:02 
Не в сети

Зарегистрирован: 11 сен 2008, 17:18
Сообщения: 873
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав
Я так и написал, что есть информация о расстоянии(неважно каким способом), и нужен общий стандарт её использования.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 15:04 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Vorral писал(а):
Я так и написал, что есть информация о расстоянии(неважно каким способом), и нужен общий стандарт её использования.

1. Не использования, а передачи в использования.
2. Не только информация о расстоянии, но и информация о информации о расстоянии - степень достоверности, угол в котором мог оказаться предмет до которого измерили расстояние.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 15:15 
Не в сети

Зарегистрирован: 11 сен 2008, 17:18
Сообщения: 873
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав
Ну тогда это некая плоскость, где есть либо одна точка расстояния(имеющая определённую форму и размер) или группа точек, каждая из которых имеет дополнительные параметры(в том числе достоверности). Каждая плоскость может иметь параметры: время, направление(компас) и угол(гироскоп).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 15:24 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
время, направление или угол - это уже вспомогательные величины.

Я бы даже сказал корректно считать только время, остальное надо чтобы синхронно писалось в лог, а алгоритм уже сам вытягивает положение компаса на тот момент и т.п.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 15:32 
Не в сети

Зарегистрирован: 11 сен 2008, 17:18
Сообщения: 873
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав
Если требуется описать интерфейс, нужно понимание того, какая информация и в каком виде, потребуется программам на другом конце. И останется учесть все пожелания, плюс продумать структуру пакетов и минимизацию передаваемой информации(типа архивирования).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 15:36 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Архивирование - задача транспортного уровня. А вот структуру пакетов - это надо.

Во-первых надо взять мысль у MSRS. В пакете должна быть информация с датчика и время когда он это замерил. Тогда даже при задержках доставки информации с датчиков мы всё равно сможем очень точно сопоставить информацию о расстоянии (которое 3д-реконструкци считала 0.1сек и выдала только что) и направление с компаса (которое компас выдал 0.1сек назад).

Во-вторых надо понять действительно - какие примеры обработчиков информации у нас есть, можно ли вообще как-то обрабатывать эффективно инфу с тех же сонаров. Хотя несколько идей есть :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Универсальный интерфейс для информации о расстоянии
СообщениеДобавлено: 16 апр 2009, 15:53 
Не в сети

Зарегистрирован: 11 сен 2008, 17:18
Сообщения: 873
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав
Эффективно обрабатывать информацию с сонаров, можно только зная его местоположение, например, жёстко закреплён на фартуке робота. Тогда, если мы находились в движении, можно предположить, что наткнулись на препятствие или движущийся объект. Не было движения , остаётся только одно предположение, к нам кто то подошёл или что то подсунул :). В случаи установления сонара на подвижной башне/голове, для точного понимания положения препятствия, относительно робота, нужно считать положение серв робота и положение его гироскопа и компаса(вдруг мы на горке, или вообще вверх ногами лежим).


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

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


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

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


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

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