Автономная навигация робота

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

Re: Автономная навигация робота

Сообщение =DeaD= » 26 окт 2009, 15:59

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

Re: Автономная навигация робота

Сообщение EDV » 26 окт 2009, 16:11

Запоминаем центральную часть экрана (72% от размера экрана), в памяти сохраняем относительные координаты (не пиксели).

Попробуй скачать пример и стартовать «Navigator_Tool_Kit\samples\StartMe.bat». После просмотра будет проще обсуждать.

Демонстрационная версия с исходными текстами (обновил):
http://edv-detail.narod.ru/Navigator_Tool_Kit.zip

Проект: Navigator_Tool_Kit\samples\src\LocationTree
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Автономная навигация робота

Сообщение =DeaD= » 26 окт 2009, 16:18

Нее... надо описание русским языком всё-таки иметь :)

А что за координаты сохраняем? Своего положения? центральную часть запоминаем - т.е. тупо если мы тут уже были, то видим ту же картинку и она у нас всплывает из памяти? Так что ли?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Автономная навигация робота

Сообщение EDV » 26 окт 2009, 16:36

>>А что за координаты сохраняем?

Первая AVM: координаты экранных привязок (маркеров).
Вторая AVM: координаты местоположений (наши координаты на карте).

Первая AVM нужна, что бы с помощью маркеров сумет определить, на сколько сдвинулась камера, некий аналог энкодеров.

Вторая AVM нужна для того, что бы с «первого» взгляда суметь определить наше местоположение на карте.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Автономная навигация робота

Сообщение Vorral » 26 окт 2009, 17:20

>Первая AVM нужна, что бы с помощью маркеров сумет определить, на сколько сдвинулась камера, некий аналог энкодеров
Скорее Optical-flow на AVM.

Добавлено спустя 35 минут 55 секунд:
Самый главный вопрос в том, как вы собираетесь строить карту помещения? Ведь вы не знаете на каком расстоянии находится даже самый первый маркер.
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: Автономная навигация робота

Сообщение =DeaD= » 26 окт 2009, 17:52

EDV писал(а):Первая AVM: координаты экранных привязок (маркеров).
Вторая AVM: координаты местоположений (наши координаты на карте).

А что к чему привязывается? В обоих случаях к картинке лепится что-то? Или как?

Добавлено спустя 1 минуту 41 секунду:
А, похоже понял. В первую AVM кладутся координаты пачки наиболее хорошо распознаваемых образов и сами образы, а во вторую тупо средняя часть экрана и наши расчетные координаты в пространстве, или какой-то другой маркер места, например мы тупо роботу говорим "ты на кухне" и он этому экрану в соотв. ставит "кухня" - так?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Автономная навигация робота

Сообщение Vorral » 26 окт 2009, 18:03

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

Re: Автономная навигация робота

Сообщение =DeaD= » 26 окт 2009, 20:41

2Vorral: Вопрос в том - к каким образам привязка? Просто к 1 картинке с центра какого-то кадра?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Автономная навигация робота

Сообщение EDV » 27 окт 2009, 09:43

Vorral писал(а):Самый главный вопрос в том, как вы собираетесь строить карту помещения? Ведь вы не знаете на каком расстоянии находится даже самый первый маркер.

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

=DeaD= писал(а):А что к чему привязывается? В обоих случаях к картинке лепится что-то? Или как?

Все координаты заданы в неких относительных единицах, где 1 по X – это ширина всего экрана, 1 по Y – это базовая ширина маркера (72% от ширины экрана), и 1 по Z – это высота всего экрана. В данной модели ось Y уходит вглубь экрана, а ось Z – это вертикаль.

AVM_1[маркеры]:
p[0] – экранные привязки (в относительных координатах), то есть как перемещалась камера относительно экрана;
p[1] – координаты местоположения (в относительных координатах), то есть с какой точки (на карте) смотрела камера на этот маркер.

AVM_2[местоположения]:
координаты местоположения (где мы на карте) и углы наблюдения (вертикальный/горизонтальный), то есть в каком направлении смотрит камера.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Автономная навигация робота

Сообщение =DeaD= » 27 окт 2009, 10:49

2EDV: Я думаю при таком алгоритме и существующей точности AVM - мы получим огромные погрешности. Кстати, как из AVM_1 можно получить информацию о расстоянии? Ведь мы только увидим на сколько % изменился размер маркеров - если маркеры изменились в 1.5 раза - мы просто стали к ним в 1.5 раза ближе, а откуда брать абсолютную величину?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Автономная навигация робота

Сообщение EDV » 27 окт 2009, 12:14

2=DeaD=:
Всё верно, всё что у нас есть, при таком подходе – это относительные координаты (никаких абсолютных величин), ну и погрешности тоже имеют место. Просто хотелось предложить простую, но тем ни менее работающую модель определения местоположения по визуальным ориентирам (как один из вариантов). Если есть другие соображения, давайте рассмотрим. На данном этапе важно генерировать побольше различных идей (даже самых бредовых).
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Автономная навигация робота

Сообщение Vorral » 27 окт 2009, 12:33

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

Re: Автономная навигация робота

Сообщение EDV » 27 окт 2009, 12:50

Ну, насчёт обнаружения стен, или препятствий, которые совсем близко, тут у меня есть одно соображение. Дело в том, что AVM для распознавания обязательно нужно изображение с достаточным количеством контрастных переходов. Что бы научить AVM на какое-то изображение, нужно, что бы на этом изображении присутствовала какая-то «картинка» (нельзя научить на белый лист бумаги). А у меня на радиокамере стоит ИК подсветка, и когда робот подъезжает близко к стене, камера ослепляется (нет изображения). Соответственно для AVM больше нечего распознавать и робот останавливается (не доезжая до стены/препятствия).

Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Re: Автономная навигация робота

Сообщение Vorral » 27 окт 2009, 12:57

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

Re: Автономная навигация робота

Сообщение Ворон » 27 окт 2009, 13:26

=DeaD= писал(а):2EDV: Я думаю при таком алгоритме и существующей точности AVM - мы получим огромные погрешности. Кстати, как из AVM_1 можно получить информацию о расстоянии? Ведь мы только увидим на сколько % изменился размер маркеров - если маркеры изменились в 1.5 раза - мы просто стали к ним в 1.5 раза ближе, а откуда брать абсолютную величину?

робот по любому оснащен енкодерами движения ,(чтоб знать насколько повернул и куда)и с них же и получили сколько проехали... простое уравнение _проехав метр приблизились в полтора раза, еше одно подобное уравнение и решив систему получаем где обьект))=растояние до обьекта

Добавлено спустя 6 минут 8 секунд:
хм ик подсветка камеры чем не активное то?мошьный ик бампер)))из камеры,
и давайте пожалуйстао частные случаи,типа: тьма низги не видно 8) ,ай там паутину не заметит :oops: ,и плин! :beer: :beer: а тут стеклянные двери ...временно не рассматривать.. :wink: я сам вроде палюбому с двумя глазами и то в перечисленных выше случаях частных,предпочитаю не находиться))

Добавлено спустя 7 минут 49 секунд:
Воррал грешно требовать при разработке зрения ,чтоб робот усы из себя выбрасывал когда не понимает где он ,на осчупь двигаться это саавсем другая песня),а люди так и поступают когда не видят куда идут))
Ворон
 
Сообщения: 1054
Зарегистрирован: 24 ноя 2008, 19:43
Откуда: Казань

Пред.След.

Вернуться в Золотой фонд

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

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