roboforum.ru

Технический форум по робототехнике.

Ориентирование в 3D-пространстве

Сообщение Digit » 13 янв 2005, 01:14

Я понимаю, что камера дает некоторые преимущества...
Но мне казалось, что мы хотим, чтоб робот мог ориентироваться в неподготовленном месте. А с маячками, как их ни называй, комнаты неподготовленными быть перестают...
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Сообщение =DeaD= » 13 янв 2005, 09:51

2Digit:

Спору нет, хотим, очень хотим!

А у вас есть робот, который может ориентироваться хотя бы в подготовленном пространстве? У меня нет!

А еще я знаю правило от меньшего к большему.

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

Сообщение >DaN< » 15 июн 2005, 13:46

2Digit:

Спору нет, хотим, очень хотим!

А у вас есть робот, который может ориентироваться хотя бы в подготовленном пространстве? У меня нет!

А еще я знаю правило от меньшего к большему.

По этому считаю что если такое (см. выше) решение есть, то надо сначала его откатать, а потом браться за неподготовленное пространство. К тому же никто не мешает потом сделать комбинированный режим - с более точной работой системы при наличии "столбов".

Полностью согласен с =DeaD=. Для эксперемента можно сделать на стене линию из зелёных (контрастирующих со стеной) меток (светодиодов или кесочков бумаги), расставляя их, например, каждые полметра. Таким образом получим некое подобее посадочной полосы, по которой легко ориентироваться в пространстве. Также можно сделать метки особой формы для передачи доп. информации (место поворота, двери и др.).
Эти метки можно использовать для отладки алгоритмов ориентации в неподготовленном пространстве.
>DaN<
 

Сообщение =DeaD= » 15 июн 2005, 15:38

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

http://club.roboclub.ru/pmwiki.php?page ... sion.Intro

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

Сообщение KAI » 15 июн 2005, 22:11

из этого следует что ему (роботу) нужно научится отличать стену от шкафа например.

стена имеет индекс 0, шкаф который робот с момента своего рождения обнаруживает неизвенно на одном и том же месте - индекс 1, а тот же мячик, или бесцельно слоняющийся по квартире кот, индекс 10, как исключительно нестабильный объект.

"Является ли объект А одним целым с объектом Б?",

Вот это как раз вопросы, которые в данной задаче решать совсем никчему. Вашему роботу всё равно шкаф, стена или кот ? ехать то всё равно туда нельзя, какая разница как выглядит и какого рельефа стена? Какая разница стул, приставленный к стене, одно с ней целое или нет? Для поставленной задачи это лишняя информация. А вот важные обьекты ? выходы из комнаты ? они перемещаться не будут! Распознав их, Ваш робот превратит неподготввленную среду в подготовленную, а дальше:
Ориентирование по "верстовым столбам" для робота!

На счёт карты -
1. Обязательно (уже есть) вариант 3-х мерного массива из 0 и 1; !
это вы погорячились, мне кажется всё равно придёте к полярным координатам, т.к. именно эта информация и важна для Вашей задачи ? азимуты и дистанция до препятствия. Попробуйте с массивами этих величин, я думаю легче будет.

Если неправ, давайте спорить :)
Аватара пользователя
KAI
 
Сообщения: 126
Зарегистрирован: 13 июн 2005, 11:03
Откуда: Ярославский регион

Сообщение =DeaD= » 16 июн 2005, 07:12

KAI писал(а):
"Является ли объект А одним целым с объектом Б?",

Вот это как раз вопросы, которые в данной задаче решать совсем никчему. Вашему роботу всё равно шкаф, стена или кот ? ехать то всё равно туда нельзя, какая разница как выглядит и какого рельефа стена? Какая разница стул, приставленный к стене, одно с ней целое или нет? Для поставленной задачи это лишняя информация. А вот важные обьекты ? выходы из комнаты ? они перемещаться не будут!

А откуда вы решили, что поставлена задача именно перемещения "ничего не трогая"? А вдруг если мяч не отодвинуть, то проехать не получится? А вдруг кроме мяча есть еще и пианино и хрустальная ваза - первое нам просто не сдвинуть, а второе лучше не трогать?

KAI писал(а):На счёт карты -
1. Обязательно (уже есть) вариант 3-х мерного массива из 0 и 1; !
это вы погорячились, мне кажется всё равно придёте к полярным координатам, т.к. именно эта информация и важна для Вашей задачи ? азимуты и дистанция до препятствия. Попробуйте с массивами этих величин, я думаю легче будет.

Если неправ, давайте спорить :)

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

Сообщение KAI » 18 июн 2005, 13:20

to DeaD
А откуда вы решили, что поставлена задача именно перемещения "ничего не трогая"?

В начале форума дана конкретная задача, о перемещении предметов там ни слова, я придерживаюсь мнения, что решать надо конкретную задачу, а не создавать " универсальных терминаторов ", а в задаче сказано - определить своё местоположение.Если мы начнём распознавать мячи и шкафы, то просто ничего не сделаем - эта задача ещё не решена математиками и философами.
Расскажите мне про поиск пути в карте заданной полярными координатами и вообще как её хранить, полную карту в полярных координатах?

Три ячейки ( для 2D - две) хранить будем координаты ЭКСТРЕМУМОВ т.е. мест, где " что-то происходит" это углы, грани (начало и конец грани). А формат, я думаю, понятен - азимут, восхлждение, и дистанция ( извините за астрономическую терминологию )
Математические операции  в таких координатах отработаны - это всё с помощью матричного исчисления делается, (для компа это просто) я видел демонстрашки ещё для SPECTRUMa.( ох и давно это было :) )
Сам я не профессионал в этом деле, но книжки читать умею(:))
Если неправ - давайте спорить
Аватара пользователя
KAI
 
Сообщения: 126
Зарегистрирован: 13 июн 2005, 11:03
Откуда: Ярославский регион

Сообщение =DeaD= » 18 июн 2005, 20:20

KAI писал(а):to DeaD
А откуда вы решили, что поставлена задача именно перемещения "ничего не трогая"?

В начале форума дана конкретная задача, о перемещении предметов там ни слова, я придерживаюсь мнения, что решать надо конкретную задачу, а не создавать " универсальных терминаторов ", а в задаче сказано - определить своё местоположение.Если мы начнём распознавать мячи и шкафы, то просто ничего не сделаем - эта задача ещё не решена математиками и философами.

С одной стороны - ладно, каюсь :)
С другой стороны - я ставил задачу, если про что-то умолчал, то это могу трактовать куда хочу :)))
С третей стороны - ну если мы берем только ограниченное число объектов для распознавания, как вы предложили, то это в части случаев не будет работать, например в квартире-студии :) а еще по 1 такому объекту ничего не распознать, если есть только расстояние, ну или иначе придется определять его ориентацию, что доп. трудности принесет и еще более сузит класс распознаваемых объектов.

KAI писал(а):
Расскажите мне про поиск пути в карте заданной полярными координатами и вообще как её хранить, полную карту в полярных координатах?

Три ячейки ( для 2D - две) хранить будем координаты ЭКСТРЕМУМОВ т.е. мест, где " что-то происходит" это углы, грани (начало и конец грани). А формат, я думаю, понятен - азимут, восхлждение, и дистанция ( извините за астрономическую терминологию )
Математические операции  в таких координатах отработаны - это всё с помощью матричного исчисления делается, (для компа это просто) я видел демонстрашки ещё для SPECTRUMa.( ох и давно это было :) )
Сам я не профессионал в этом деле, но книжки читать умею(:))
Если неправ - давайте спорить

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

Сообщение KAI » 21 июн 2005, 01:00

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

Ну самый примитив для 2D - сканируем датчиком расстояния по кругу, получаем вектор дистанций из N элементов ( N это дискретность поворотного устройства, для простоты возьмём за 360, т.е. один отсчёт = один градус), получили 360 расстояний от, скажем, 0 до, скажем, 255. В цикле определяем с какого по какой градус значения больше критичного ( например числом 255 у нас будет обозначаться расстояние за пределом дальности действия нашего датчика). Ага, с 10 по 20 градусы все значения =255 - видимо это выход, находим среднее (10+20)/ 2= 15 - это и будет искомый азимут, туда и едем.
Я понимаю, что это не ориентация, но практические задачи решаются проще. Вот мы уже нашли обьект "ПРОЁМ" с координатами (10, 255 ; 20, 255), если затем мы обнаружим обьект "ПОМЕХА"(12, 100 ; 18, 110),то делаем вывод, что проход загорожен т.к. азимуты "ПОМЕХА" находятся внутри азимутов "ПРОХОД" . Повторюсь, что в свойства обекта записываются только координаты экстремумов, и случай взят, когда робот не перемещался. В реалии всё сложнее. Так зачем огород городить? спросите Вы, а затем, что решения надо принимать из " того, что видишь" ведь весь мир в виде карты в память на забьёшь, и с картами робот всегда будет находиться в подготовленной среде. А видит робот РАССТОЯНИЕ ДО и "чувствует" :) угол поворота глаза.
Ну и пример из жизни: муха в комнате летает, летает, и карты в ней не записано, а форточку то всё же находит :D
Аватара пользователя
KAI
 
Сообщения: 126
Зарегистрирован: 13 июн 2005, 11:03
Откуда: Ярославский регион

Сообщение =DeaD= » 21 июн 2005, 09:20

KAI писал(а):В цикле определяем с какого по какой градус значения больше критичного ( например числом 255 у нас будет обозначаться расстояние за пределом дальности действия нашего датчика). Ага, с 10 по 20 градусы все значения =255 - видимо это выход, находим среднее (10+20)/ 2= 15 - это и будет искомый азимут, туда и едем.

Неправильно. А если мы стоим прямо рядом с дверью в корридор, а вот в другую сторону у нас свободная большая комната, то расстояния в ту сторону будут всегда больше. Зациклимся на раз-два.

KAI писал(а):Так зачем огород городить? спросите Вы, а затем, что решения надо принимать из " того, что видишь" ведь весь мир в виде карты в память на забьёшь, и с картами робот всегда будет находиться в подготовленной среде. А видит робот РАССТОЯНИЕ ДО и "чувствует" :) угол поворота глаза.

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

KAI писал(а):Ну и пример из жизни: муха в комнате летает, летает, и карты в ней не записано, а форточку то всё же находит :D

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

Сообщение casper_r » 21 июн 2005, 09:58

2KAI: а если робот заедит в "ПРОЁМ0", там найдет еще "ПРОЁМ1"  "ПРОЁМ2" и заехав в "ПРОЁМ1" найдет тупик. выезжая из "ПРОЁМ1" поедет в "ПРОЁМ0" а оттуда "ПРОЁМ-1"..."ПРОЁМ-N" вот так вот он и уедит наф$$га из ваших "ПРОЁМов"  :twisted:  :twisted:

тоесть нужно будет запоминать откуда и куда он приехах вот и выльется это все в векторную/растровую карту :))

а теперь откройте секрет: зачем вам робот который ездит по "ПРОЁМам" и в форточку улетает?  :D

обычно нужен робот который будет увено проходить от точки А до точки ~Б, а не блуждающий неизвестно где :)
я не волшебник, я даже на него не учусь
Аватара пользователя
casper_r
 
Сообщения: 158
Зарегистрирован: 25 янв 2005, 07:53
Откуда: со стула в г.Николаеве

Сообщение KAI » 23 июн 2005, 18:27

Неправильно. А если мы стоим прямо рядом с дверью в корридор, а вот в другую сторону у нас свободная большая комната, то расстояния в ту сторону будут всегда больше. Зациклимся на раз-два.

Естественно зациклимся!!! В начале поста написано " примитив" Но вы же просили ЛЮБОЙ алгоритм :) А если серьёзно, то просто не хочу забивать форум - мои идеи, вероятно, далеки от совершенства - я не специалист в этих делах. Наверное с моей стороны будет чеснее подгодовить статейку и выложить её на бесплатном хосте на растерзание :) В начале поста написано " примитив", а вы сразу
2KAI: а если робот заедит в "ПРОЁМ0", там найдет еще "ПРОЁМ1"  "ПРОЁМ2" и заехав в "ПРОЁМ1" найдет тупик. выезжая из "ПРОЁМ1" поедет в "ПРОЁМ0" а оттуда "ПРОЁМ-1"..."ПРОЁМ-N" вот так вот он и уедит наф$$га из ваших "ПРОЁМов"    

Кстати на счёт "неподвижной башни" - видимо имеется ввиду начало полярных координат - это робот? А если начало координат вне его, т.е. неподвижная внешнняя точка? Ведь в Декартовых то вы именно так считаете?
Кстати, сориентироваться это значит на основе данных в системе координат робота, найти пложение своё в некой внешней системе координат? Ведь так? Для полярных к. это - найти вектор смещения от начального положения до настоящего, причём настоящее нужно определить из данных полученных в системе, привязанной к роботу. Я правильно изобразил проблему?
:D
откуда и куда он приехал вот и выльется это все в векторную/растровую карту )

Не выльется, это мы просто привыкли думать в растровой графике, но робот то получает данные " азимут и дистанция ", а для математики нет разницы - какая система координат. И "проще" означает не " алгоритм проще", а "переводить в другую систему не надо", а алгоритм тот же!
И, кстати это не пустые слова - преводить полученную картинку в циклах с помощью синусов и без них - это две большие разницы! А на счёт карты - да много ли задач где она ДЕЙСТВИТЕЛЬНО нужна. Попробуйте "видеть" мир без карты, как это делает 90% животины :D
Пимер: миграция рыб, птиц, слонов, ( продолжите сами)- все они достигают цели без внутренней карты, или с набором примитивных карт обьектов.
Аватара пользователя
KAI
 
Сообщения: 126
Зарегистрирован: 13 июн 2005, 11:03
Откуда: Ярославский регион

Сообщение =DeaD= » 23 июн 2005, 18:46

KAI писал(а):Кстати на счёт "неподвижной башни" - видимо имеется ввиду начало полярных координат - это робот? А если начало координат вне его, т.е. неподвижная внешнняя точка? Ведь в Декартовых то вы именно так считаете?

Если начало полярных координат находится вне робота, то я, например, вообще не вижу прелести в таких координатах.

KAI писал(а):Кстати, сориентироваться это значит на основе данных в системе координат робота, найти пложение своё в некой внешней системе координат? Ведь так? Для полярных к. это - найти вектор смещения от начального положения до настоящего, причём настоящее нужно определить из данных полученных в системе, привязанной к роботу. Я правильно изобразил проблему?
:D

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

KAI писал(а):Не выльется, это мы просто привыкли думать в растровой графике, но робот то получает данные " азимут и дистанция ", а для математики нет разницы - какая система координат.

Как это не выльется? Векторная карта сама по себе не определяет систему координат, а значит ваши "азимут и дистанция" это и есть векторная карта.

KAI писал(а):И "проще" означает не " алгоритм проще", а "переводить в другую систему не надо", а алгоритм тот же!

См. выше про системы координат. Не вижу смысла применять здесь полярную.

KAI писал(а):И, кстати это не пустые слова - преводить полученную картинку в циклах с помощью синусов и без них - это две большие разницы!

Приводить куда эту картинку без синусов? На экран? А зачем она там?

KAI писал(а):А на счёт карты - да много ли задач где она ДЕЙСТВИТЕЛЬНО нужна. Попробуйте "видеть" мир без карты, как это делает 90% животины :D

Открою секрет, развитая животина имеет карту :)

KAI писал(а):Пимер: миграция рыб, птиц, слонов, ( продолжите сами)- все они достигают цели без внутренней карты, или с набором примитивных карт обьектов.

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

Сообщение KAI » 23 июн 2005, 19:00

to casper_r
зачем вам робот который ездит по "ПРОЁМам" и в форточку улетает?  

Да потму что для задачи перемещения по комнатам - это смые важные обьекты, даже если вы найдёте УНИВЕРСАЛЬНЫЙ АЛГОРИТМ ПОИСКА ПО КОМНАТАМ ( в чём я сомневаюсь), то вутри комнаты вас будет серьёзно интересовать только проём ( дверь )
to =DeaD=
Ну муху делать мне, например, неинтересно

А вы пробовали? :)  Спутник, на котором установлен был прибор, имитирующий глаз мухи распознавал марку самолёта в ЗАКРЫТОМ АНГАРЕ! ( извините за крик) источник - если не ошибаюсь это журнал "нейрокоипьютер"
Ну здасьте, а чего бы и не подготовить среду, если есть такая возможность.

Да верно всё, верно, но дальний то прицел - свободное путешествие и ориентация в любой среде?! Так не логичнее ли искать алгоритмы, которые решают эти проблемы. Ну сделаете вы братана, который ездит в заданной системе, так их уже есть!
Аватара пользователя
KAI
 
Сообщения: 126
Зарегистрирован: 13 июн 2005, 11:03
Откуда: Ярославский регион

Сообщение KAI » 23 июн 2005, 19:05

что за примитивные карты объектов?

Ну как сказать то правильно? карта конкретного болота для утки, ну так что ли? А вот мжду болотом в Африке и скандинавии нет карты, хотя наверное есть карта ориентиров - маяков?
Аватара пользователя
KAI
 
Сообщения: 126
Зарегистрирован: 13 июн 2005, 11:03
Откуда: Ярославский регион

Пред.След.

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

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

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