roboforum.ru

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

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

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

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

Сообщение =DeaD= » 27 май 2009, 13:54

EDV писал(а):Нет, это всего сколько образов (всех объектов какие есть) хранится в дереве. А вот сколько образов соответствует конкретному объекту узнать не получится. Такой функции пока что не реализовано (но можно сделать).

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

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

Сообщение EDV » 27 май 2009, 14:00

Ну, в функции call-back распознавателя (который с GUI) я в окне вывожу счётчик общего количества образов (ассоциативных ядер). В принципе, для такого рода статистики.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

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

Сообщение =DeaD= » 27 май 2009, 14:01

Vorral писал(а):настоящую навигацию

Что за терминология у вас антинаучная? Сначала "алгоритм без недостатков", теперь еще и "настоящая навигация"...

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

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

Сообщение Vorral » 27 май 2009, 14:07

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

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

Сообщение EDV » 27 май 2009, 14:23

=DeaD= писал(а):
EDV писал(а):Эти методы были добавлены специально для «Optical flow». Там всё изображение разбивается на отдельные области и по каждой области своё ассоциативное дерево создаётся. Эти деревья хранят информацию об фрагментах предыдущего изображения, и при получении следующего изображения отчищаются (ClearTreeData) и перезаписываются новыми данными по полученному следующему кадру.

В общем понял примерно, хотя с функцией удаления образа не ясно - она просто не реализована, потому что не надо было или она сложно реализуется?

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

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

Сообщение =DeaD= » 27 май 2009, 14:44

EDV писал(а):В функции удаления ассоциативных ядер по экземпляру данных (по индексу объекта) просто пока не было надобности. Такую функцию не сложно будет реализовать (если потребуется).

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

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

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

Сообщение EDV » 27 май 2009, 14:57

=DeaD= писал(а):Просто если делать робота, который не будет перезапускаться в обязательном порядке - надо иметь возможность почистить память.

Очистка дерева поиска от неиспользуемых образов уже реализована. У каждого ассоциативного ядра есть счётчик попаданий (HitCounter) и при вызове метода OptimizeAssociativeTree те ядра, у которых этот счётчик меньше 40 (параметр ptMaxClusterAge) просто удаляются из дерева. Функция оптимизации дерева вызывается автоматически каждые 45 секунд (параметр ptOptimizeLoop). Эти параметры можно изменять методом SetParam.
Я вечером накидаю наверное эскиз интерфейса для работы с распознавалкой и можно будет посмотреть как оно ложится на то что есть у тебя, так пойдёт?

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

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

Сообщение galex1981 » 27 май 2009, 15:05

А как он работает в начале программы, когда 100% счетчик <40?
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

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

Сообщение EDV » 27 май 2009, 15:11

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

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

Сообщение =DeaD= » 27 май 2009, 15:41

EDV писал(а):Очистка дерева поиска от неиспользуемых образов уже реализована. У каждого ассоциативного ядра есть счётчик попаданий (HitCounter) и при вызове метода OptimizeAssociativeTree те ядра, у которых этот счётчик меньше 40 (параметр ptMaxClusterAge) просто удаляются из дерева.

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

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

Сообщение EDV » 27 май 2009, 15:52

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

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

Сообщение =DeaD= » 27 май 2009, 15:55

Можно просто "вес образа" :)

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

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

Сообщение EDV » 27 май 2009, 16:27

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

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

Сообщение =DeaD= » 27 май 2009, 16:30

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

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

Сообщение EDV » 27 май 2009, 16:40

В этой задаче быстродействие критическая величина. Если скорость обработки на один кадр перевалит через отметку в 40 ms (за пределы real-time), то выполнять навигацию будет практически невозможно. Так что с оптимизацией поиска по ассоциативному дереву придется бороться самым тщательным образом.
Аватара пользователя
EDV
 
Сообщения: 1016
Зарегистрирован: 06 июн 2007, 15:19
Откуда: Украина, Лисичанск
ФИО: Дмитрий Еремеев

Пред.След.

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

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

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