roboforum.ru

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

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




Начать новую тему Ответить на тему  [ Сообщений: 44 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 25 дек 2004, 23:55 
Не в сети
Аватара пользователя

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

На затравку - есть следующие задачи:

1. Вопрос с порядком определения новых экземпляров объектов (например, "смотри, это - стол");

2. Вопрос с порядком определения для робота новых действий (например, "принеси объект - это определи месторасположение объекта, переместись в зону захвата этого объекта, возьми объект, переместись к командиру, поставь объект на поверхность рядом с ним");

В первом и втором вопросе важен формат хранения данных и способы обработки.

PS, Off: Я пока занят - шасси для робота проектирую и материалы собираю, сегодня вот ездил пластику купил 3 листа, для обшивки... профиль алюминиевый правда не получилось с первого раза купить... на следующей неделе закуплюсь...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 дек 2004, 22:51 
Не в сети
Аватара пользователя

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

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

Объект может быть разобран или разделен на компоненты, так же являющиеся объектами.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 дек 2004, 23:05 
Не в сети

Зарегистрирован: 09 дек 2004, 23:49
Сообщения: 101
Откуда: Санкт-Петербург
=DeaD= писал(а):
На затравку - есть следующие задачи:

1. Вопрос с порядком определения новых экземпляров объектов (например, "смотри, это - стол").
Со столом, думаю, будет так же, как и с дверью. Например, можно показать роботу стол и сказать: "Смотри, это стол". Он запишет этот стол в память, а потом встретит другой стол, не похожий на этот, например, не на ножках, а на колесах. И потом определение стола на ножках ничем не отличается от определения табуретки. Как тут быть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 дек 2004, 23:42 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 дек 2004, 00:05 
Не в сети

Зарегистрирован: 09 дек 2004, 23:49
Сообщения: 101
Откуда: Санкт-Петербург
:idea:


Последний раз редактировалось Floksa 23 янв 2005, 02:58, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 дек 2004, 02:05 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
Floksa писал(а):
=DeaD= писал(а):
На затравку - есть следующие задачи:

1. Вопрос с порядком определения новых экземпляров объектов (например, "смотри, это - стол").
Со столом, думаю, будет так же, как и с дверью. Например, можно показать роботу стол и сказать: "Смотри, это стол". Он запишет этот стол в память, а потом встретит другой стол, не похожий на этот, например, не на ножках, а на колесах. И потом определение стола на ножках ничем не отличается от определения табуретки. Как тут быть?


Стол на колесах, это стол на ~96% стол без колес .
Т.е. из образов которым обучен робот этот ближе всего к столу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31 дек 2004, 23:05 
Не в сети

Зарегистрирован: 09 дек 2004, 23:49
Сообщения: 101
Откуда: Санкт-Петербург
У меня есть столы на ножках и на колёсах, и они совершенно не похожи друг на друга.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 янв 2005, 16:39 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
Это только Вам так кажется 8-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 янв 2005, 22:24 
Не в сети
Аватара пользователя

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

В данный момент накидываю эмулятор для обкатки системы управления роботом высокого уровня - расстановки приоритетов, именования объектов, выполнения задач и т.п.

Исходный вариант - все вокруг считаем либо объектами/субъектами (мячик, стол, кресло, человек, сам робот, дверь), либо элементами карты (пол, стена, потолок, дверной проем). Изначально отбрасываем проблемы определения отдельных объектов и элементов карты и слежения за ними. Отрабатываем выполнение простых команд типа "Робот, ко мне!", "Робот, следуй за мной!", "Робот, это стол!", "Робот, принеси мяч!"

Разумеется сюда выложу всю инфу... однако и свежие мысли выслушать буду рад :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 янв 2005, 00:55 
Не в сети
Аватара пользователя

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

Поле жизни эмулируемого робота:
На поле раскидывается несколько объектов/субъектов (у меня - 10);
Один из объектов - сам робот;
Он знает свое имя;
Названия других объектов/субъектов ему неизвестны;
Он одновременно видит всё поле;
Можно мышкой перетаскивать объекты, в одно время активен только один объект, он считается произносящим команды;

Выполняемые команды/воспринимаемые фразы:
1. Я <своёИмя>;
2. Это <названиеОбъекта/субъекта>;
3. За мной;
4. Отстань;
5. Иди к <объект/субъект>;
6. Принеси <объект> [к <объект/субъект>];

Особенности:
1. Определение указываемого объекта при команде №2 - по расстоянию до объектов за исключением самого робота и говорящего, если определение не однозначно (есть два и более объектов близких, но на почти одинаковом расстоянии) - пишем что не можем понять о чем именно речь.
2. Разумеется никакой контроль столкновений не присутствует;

Выявленные проблемы:
1. Не ясно как определять в реальной жизни кто говорит - хоть рукой маши "я это, я!".

Дальнейшее развитие:
Унификация определений действий по каждой голосовой команде, возможно синтаксический контроль, запись свойств объектов и т.п. прелести. Ваши пожелания?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 янв 2005, 03:17 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
А можно теперь вопрос, а в поставленной задачей где проблема-то?
Разве сложно научить виртуального робота по команде искать предмет, который он может _ОДНОЗНАЧНО_ идентифицировать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 янв 2005, 12:42 
Не в сети
Аватара пользователя

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

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

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

Кроме того даже на виртуальном макете который 100% легко построить начинаешь понимать некоторые проблемы, о которых раньше просто не задумывался... например - как определять кто дал ту или иную команду голосом, когда голос слышим первый раз?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 янв 2005, 21:37 
Не в сети
Аватара пользователя

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

Понял что скорее всего современное состояние этой ветви знания - почти никакое...

Пока получились следующие мысли по поводу "почти дерева" объектов (типов и экземпляров):

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

У всех без исключения объектов есть следующие характеристики:

1. Каждый объект является типом или экземпляром (или это просто стол, или это конкретный стол);

2. Между двумя объектами может существовать связь "А разновидность Б" - т.е. объект А это строгая разновидность объекта Б, эта связь не может зацикливаться. Если такая связь указывается между объектами являющимися типами, то она должна сопровождаться описанием, в каких случаях эта связь работает, например, принтер является струйным, если у него ездит печатающая головка, но нету ленты;

3. Между объектами можно запретить классы эквивалентности для упрощения структуры, т.е. просто для каждого объекта составить словарь синонимов;

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

5. В реальном времени экземпляр объекта может менять свои связи "является разновидностью", т.е. мы можем узнать, что угол непонятного предмета, при ближайшем рассмотрении оказался углом принтера Epson 43UX, т.е. это струйный принтер, или узнать что непонятная аббривеатура МФУ это на самом деле и принтер и сканер и факс;

6. У каждого объекта могут быть указаны характеристики, которые действуют на все дочерние объекты, например, у всех ЖКТ-мониторов есть размер матрицы, при этом характеристики могут быть заполнены или оставаться пустыми;

-------------------------------------------------------------------------------------

Остается под вопросом - насколько имеет смысл дублировать некоторые характеристики созданием соответствующего дерева типов объектов...

Кроме того есть кипа вопросов по поводу действий, принятия решений и т.п. но это видимо не все сразу :) пойду думать... искать... читать...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 янв 2005, 11:29 
Не в сети
Аватара пользователя

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

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

Кроме того в дереве информации к каждому объекту привязывается блок знаний об этом объекте (пусть пока в неизвестном формате).


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

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


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

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


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

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