roboforum.ru

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

Управление "роем"

Re: Управление "роем"

kran » 17 авг 2012, 06:42

Кстати, о "работах интересных по теме". Вот например:

Алгоритм роя частиц
http://habrahabr.ru/post/105639/.

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

Ещё вспомнил знаменитый алгоритм игры "Жизнь". Чем та клеточная колония не рой?

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

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

Re: Управление "роем"

ALS » 17 авг 2012, 06:45

Dmitry__ писал(а):Вот вы тут матом ругаетесь, а потом этими же руками хлеб в столовой будете брать :P

Аналогично. Скинул "своим" программерам все сообщение целиком. Пусть сдохнут от отчаянья и осознания своей ничтожности.

Re: Управление "роем"

kran » 17 авг 2012, 07:23

setar писал(а):мне интересны скорее алгоритмы взаимодействия, "язык управления" что ли.

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

Вообще непонятно, мы об одном и том же говорим, или о разном. "Язык" - понятие многоплановое. Да и "управление" - тоже. Мало информации, зачем вообще топик затеян. Тут у нас похоже с алгоритмом взаимодействия проблемы :)

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

Добавлено спустя 22 минуты 22 секунды:
ALS писал(а):
Dmitry__ писал(а):Вот вы тут матом ругаетесь, а потом этими же руками хлеб в столовой будете брать :P

Аналогично. Скинул "своим" программерам все сообщение целиком. Пусть сдохнут от отчаянья и осознания своей ничтожности.

Да просто день трудный был, а сейчас чего-то не спится. Не хотел никого убивать, тем более массированный геноцид устраивать. У меня ещё с алгоритмом распознавания намёков глюки (и тонких, и даже толстых). И с чувством меры. Я наверное чего-то не то сказал? Или слишком много сказал? Или всё сразу? Ну так я больше не буду так делать. Только меня надо конкретнее носом потыкать в то место, где я лужу сделал.

Re: Управление "роем"

Dmitry__ » 17 авг 2012, 08:09

Да неее, намана :)
Это я лужу сделал, пока читал. :shock:

Re: Управление "роем"

Angel71 » 17 авг 2012, 14:05

kran, я же образно про клетки и бактерии. в одном из вариантов 1 бактерия = 1 клетка. про исключения из правил и фу можете поделиться с стонями или тысячами видами бактерий в вашем организме. симбиотическая связь по формуле "нет бактерий = нет человека" или "нет человека = нет n сот видов бактерий". ещё есть мнение (сами знаете где написаное), что кол-во бактерий превышает кол-во клеток в человеческом организме. в общем не важно. кстати я про крысу не забыл в первую очередь именно из-за интеллекта. про какую-то там ещё связь даже и в мыслях небыло. хех, опять сегодня тянет на разглагольствования, надо закругляться. цель того поста была донести мысль, что гигагерцы, гигабайты и прочее не имеет значения. не больше, ни меньше. абсолютно все примитивные одно/многоклеточные, более сложные насекомые и т.д. до высших организмов ведут себя как рой, социум, коллектив,... слов много, а смысл по сути один +- в деталях и уровне сложности поведения (любимые или "любимые" вами бактерии, как бы вам этого не хотелось, а в списочке останутся). находятся ли в пределах одного вида или с более примитивным или с более сложными видами в симбиотических связях или воюют/пожирают/уничтожают/... взаимодействуют прямо или косвенно. значения не имеет. есть/нет разделение ролей/ф-ий (в том числе и главный/подчинённый) значения опять таки не имеет.
как думаете, поведение простеньких муравьёв сильно отличается от поведения людей? муравейники и сообщества людей бывают разные. летает себе какая-то непонятная муха, летает. приземлилась отдохнуть, а тут бац и на неё накинулась толпа муравьёв. вот уже крылышки пооткусывали. как думаете, что дальше? а просто потащили к себе в муравейник. только это была не муха, а их новая королева. вот такой причудливый вид муравьёв есть. хочет, не хочет, а запрут её в муравейнике и будет она яички клепать. у других видов, королев могут постоянно тягать из одного места колонии в другое. могут легко отдать в рабство другим колониям или прибить неугодную (вот не нравится она им, рожает мало или ещё чего). у одних видов королева имеет относительно большое влияние. снуют вокруг неё муравьишки и по цепочке до неё доносится, что твориться в колонии. она в свою очередь выделяет феромоны, которые слизываются другими муравьями и разносятся по колонии. все знают и как здоровице у королевы и какая ситуация в общем в колонии и что нужно делать. вот такое двустороннее химическое сарафанное радива. но это вроде редкость - обычно ф-я королевы только рожать, всем остальным управляют или рабочие или солдаты (заветная и пока слишком наивная мечта подовляющего большинства людей). королева в колонии может быть одна, а может быть десятки и сотни. в некоторых королева сама выберет себе колонию и не обязательно на постоянно. и совсем не обязательно, что это будут муравьи того же вида. ещё самка может устроить химическую войнушку против текущей королевы и заставить рабочих/солдат устроить кирдык королеве, а за одно и перебить часть рабочих и солдат, защищающих её или просто из-за того, что не так пахнут. и опять же не обязательно, что она таким способом займёт "трон" в своей колонии или у муравьёв своего вида. есть муравьи "рабовладельцы", "скотоводы", "фермеры", "плотоядные", "вегитарианцы", "кочевники",... много общего с различными сообществами людей заметили? а список примеров ещё очень длииииииииииииинный, ещё столько интересных моментов. заметьте вы представителей одного класса (муравья с саранчой) с неохотой сравнивали. а тут... где муравей, а где человек? да, особи муравьёв на порядки более примитивней человека, разница в сложности поведения так же огромна. зато на уровне коллектива эта разница намного меньше. если сравнивать другие, более высокоразвитые существа с человеком, разница может быть ещё меньше.
почему я в примере с ботами не отношу (точнее очень не хочу относить) их к рою? дело не в трактовке термина, не в клиент-сервере (банально так было проще реализовать в коде),... :oops: просто не хочу.

Re: Управление "роем"

setar » 17 авг 2012, 14:57

kran писал(а): Мало информации, зачем вообще топик затеян. Тут у нас похоже с алгоритмом взаимодействия проблемы :)
говорят в правильно заданном вопросе есть половина ответа.
Я не знаю что спрашивать, топик был заведен для получения информации что такое вообще рой, и как он "работает".

Re: Управление "роем"

kran » 17 авг 2012, 18:04

Angel71 писал(а):заметьте вы представителей одного класса (муравья с саранчой) с неохотой сравнивали. а тут... где муравей, а где человек? да, особи муравьёв на порядки более примитивней человека, разница в сложности поведения так же огромна. зато на уровне коллектива эта разница намного меньше. если сравнивать другие, более высокоразвитые существа с человеком, разница может быть ещё меньше.

Начиная обобщать, главное - вовремя остановиться. Чтобы случайно не создать "теорию всего" :)

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

Но если подняться на слишком большую высоту, то даже самые крупные вещи сольются в точку. Самые разные контрасты, формы - всё станет едино. Что у вас в голове и произошло (не, не телепат... гадаю на выпущенных тут кишках, кофейной гуще и перемытых косточках).

Нам срочно надо слазить с высоких небесных сфер на грешную землю. И в этом нам помогут детали. Люблю выражение "дьявол в деталях", сразу отшибает благие намерения всё обобщать. Детали в данном случае, применительно к рою:
1. Цель, задача.
2. Свойства агентов.
3. Свойства среды.

Просто пример: последнее время много пишут про строительство с помощью 3D-принтеров. Почти всегда это один огромный принтер, печатающий дом целиком. А не эффективнее ли будет сделать РОЙ 3D-принтеров?

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

Re: Управление "роем"

Angel71 » 17 авг 2012, 21:53

вы чётко можете сформулировать что такое "рой"? я вот пока не вижу чёткой картины. разве что просто озвучивать 1-2 толкования термина "система" с упоминанием "эмерджентности" :pardon:
на счёт цели не согласен - может утянуть в сторону "сознание". свойства агентов и среды, да (как минимум "система", "эмерджентность" и прочее из теории систем). если вы собираетесь назвать несколько 3д станков роем, тогда автоматом будут зачислены любые многоступенчатые линии сборки, печати, фасовки,... при чём сразу в одну кучу сгребёте и живое/неживое. по простому примерно так: цель есть у человека, он взаимодействует со станками. дополнительно предложить разделять на живое/не живое уже по факту не можете. т.е. если не копаться в области "цель" и "сознание" (как ни крути, опять утянет к вопросу о живом и не живом) в итоге рано или поздно получим "теорию всего". вы же этого сами не хотите. у вас есть прекрасная возможность этого избежать, сформулировав определение так, что составные элементы (вплоть до уровня атомов или ещё дальше) того же принтрена не подпадали бы под определение "рой".

Re: Управление "роем"

kran » 18 авг 2012, 08:57

Точной формулировки для роя не нашёл. Компиляция из собственных представлений и найденных обрывков:

1. Агент, относительно простой.
2. Некоторое количество агентов.
3. Общение агентов, прямое или косвенное (типа по пахучей дорожке, или чисто визуальный контакт).
4. Мобильность агентов.
5. Децентрализация.
6. Самоорганизация.
7. Системный эффект (эмерджентность) или роевой интеллект (решающий задачу более эффективно, чем то же самое количество несвязанных между собой агентов).

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

Насчёт линий сборки, кстати, есть идея (наверняка давно реализованная): что, если вообще отказаться от линий?

Допустим, есть три операции и три линии, 9 станков:
A1 -> A2 -> A3
B1 -> B2 -> B3
C1 -> C2 -> C3

В чём беда с линиями? Сломался на линии один из станков - вся линия стоит. Или что делать, если станки, выполняющие операцию 2, обладают меньшей пропускной способностью, чем станки для операций 1 и 3? Станок 1 наготовит кучу полуфабрикатов, которые скопятся у станка 2, а станок 3 будет простаивать.

А вот пусть не будет конвейеров, пусть детали между станками развозят роботы. Тогда можно сделать так:
А1 A2 A3
B1 B2 B3
C1 C2 C3
D1 D2
__ E2

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

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

Если станков ещё больше - можно вести профилактический ремонт, замену масла и подшипников, настройку и прочее обслуживание - и всё без остановки конвейера. Потому что он виртуальный. Вместо линий получаем граф, очень адаптируемый. Заготовка может пройти по пути A1 -> B2 -> C3 или A1 -> E2 -> A3 - как повезёт.

И вот эти роботы-грузчики, доставляющие детали от станка к станку - вот почему бы их не сделать роем? Может это будет эффективнее, чем центральное управление?

Добавлено спустя 9 минут 33 секунды:
P. S.
Только сейчас доходит, что название топика - оксюморон какой-то. По моему же определению выходит, что роем вообще нельзя управлять, иначе это уже не рой. Рой - это самоуправление. Самоорганизация. И "язык управления" - тоже термин здесь не подходит. Агенты вроде как самостоятельные - никто не командует другому, что делать (хотя наверное может и посоветовать, подсказать - но это просто передача информации, а не управляющих сигналов). Даже тот рой, который вроде как не отвечает требованию децентрализации - где матка есть. Но она же не командует каждой пчеле, куда ей лететь.

Re: Управление "роем"

Angel71 » 18 авг 2012, 21:47

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

Re: Управление "роем"

kran » 19 авг 2012, 04:13

Даже не "самому дома", а имея промышленные производственные мощности, штамповать агентов не просто. Каждый агент, пусть и не полноценный, относительно простой - но всё же робот. Одного-то сделать дороговато.

Вот пример - классический, можно сказать, агент роя в железном воплощении: http://habrahabr.ru/post/133441/



Цены даны в швейцарских франках. Набор из 10 агентов, контроллера и зарядника стоит около 60 тысяч рублей. Один агент - примерно 3,5 тысячи рублей.
При этом нужно "игровое поле", камера на штативе для съёмки... При этом агент такой же бесполезный (в прикладном-бытовом применении), как обычный домашний робот. Всё ещё хочется настоящих агентов?

Имхо, программные эмуляции вот именно тут гораздо больше подходят.

Re: Управление "роем"

Nesenin » 19 авг 2012, 04:53

kran писал(а):Даже не "самому дома", а имея промышленные производственные мощности, штамповать агентов не просто. Каждый агент, пусть и не полноценный, относительно простой - но всё же робот. Одного-то сделать дороговато.

Вот пример - классический, можно сказать, агент роя в железном воплощении: http://habrahabr.ru/post/133441/



Цены даны в швейцарских франках. Набор из 10 агентов, контроллера и зарядника стоит около 60 тысяч рублей. Один агент - примерно 3,5 тысячи рублей.
При этом нужно "игровое поле", камера на штативе для съёмки... При этом агент такой же бесполезный (в прикладном-бытовом применении), как обычный домашний робот. Всё ещё хочется настоящих агентов?

Имхо, программные эмуляции вот именно тут гораздо больше подходят.

че это вдруг?
http://www.membrana.ru/particle/17162
Неплохо для роботов, начинка которых тянет всего на $14,05

ftp://ftp.deas.harvard.edu/techreports/tr-06-11.pdf
расчет на 1000шт
Locomotion $3.12
Power $3.61
Communication/Sensing $2.20
Control $2.83
Structure $1.55
Miscellaneous $0.74
Total Parts $14.05


в чем проблема ? там все массовые комплектующие стандартные из электроники. 2 вибромотора, ИК приемник\передатчик, RGB Led, микроконтроллер и пр. все на 1 плате.

Добавлено спустя 3 минуты 59 секунд:
при наличии навыков\знании\инструментов, можно за день заказать все комплектующие, развести плату, заказать ее изготовление и обозначить планы на монтаж.

Re: Управление "роем"

kran » 19 авг 2012, 05:11

Цитирую статью по вашей ссылке:
Кстати, полную цену новинки швейцарцы пока не называют, упоминая лишь, что боты — недорогие.

Вот, назвали "полную цену" чуть попозжа - в той статье, на которую я дал ссылку. Там переписка ну с самым что ни на есть первоисточником.
Ценообразование - это такая тонкая вещь... Я вот тоже считал комплектующие PR2 по отдельности, и у меня ну никак $400000 не получалось.

А вообще по-моему тут ещё по божески - спаять радиодеталей на 450 рублей и получить изделие ценой в 3500 рублей. Производство-то совсем не массовое. Это при миллионных тиражах стоимость конечного изделия сравнима со стоимостью комплектующих... плюс миллиард на рекламу.

Добавлено спустя 10 минут 7 секунд:
Nesenin писал(а):при наличии навыков\знании\инструментов, можно за день заказать все комплектующие, развести плату, заказать ее изготовление и обозначить планы на монтаж.

Кто-то про контроллер имхо забыл. И зарядник. Вроде ерунда, а тоже время и деньги. Монтаж тоже не один день, потом тестирование. Что-то ещё испоганить можно при монтаже. Какие-то баги в железе вылезут не один раз, не один раз всё переделывать. Не знаю, мне кажется дешевле 60 тысяч рублей всё это не обойдётся, особенно учитывая время работы такого специалиста. Можно, конечно, сказать, что он для себя это делает, как хобби, бесплатно. Но так вроде не совсем честно.

Re: Управление "роем"

Angel71 » 19 авг 2012, 07:11

это очень маленькие, зачем прям такие? пытаться разместить на сделаной лутом платке размеров этой cr2032 хотя чуть больше деталек, чем просто один проц это уже головняк. большего размера будут дешевле и/или намного более навороченые - лучше проц, больше акум, больше сенсоров и т.д. :) без конкретной задачи обсуждать это смысла мало. непонятно как минимум какие нужные датчики.
Последний раз редактировалось Angel71 19 авг 2012, 07:19, всего редактировалось 1 раз.

Re: Управление "роем"

kran » 19 авг 2012, 07:22

Кстати, вот статья про один из муравьиных симуляторов, Myrmedrome.
http://blogs.computerra.ru/10015

Только я его исходников не нашёл, похоже закрытые. А вообще ant simulators много всяких. Myrmedrome на видео не нашёл, вот другой:



Вот тут мне кажется было бы правдоподобнее, если бы нагруженные пищей муравьи двигались медленнее. И было бы интереснее, если бы пища отрывалась кусками разных размеров. И большие куски надо было бы нести в муравейник сообща, нескольким агентам сразу.

И про ОС был вопрос. Есть такая - Swarm OS:
http://habrahabr.ru/post/14201/

Добавлено спустя 3 минуты 17 секунд:
Angel71 писал(а):это очень маленькие, зачем прям такие? пытаться разместить на сделаной лутом платке размеров этой cr2032 хотя чуть больше деталек, чем просто один проц это уже головняк. большего размера будут дешевле и/или намного более навороченые - лучше проц, больше акум, больше сенсоров и т.д. :)

Я прям не знаю, что с большими-то агентами делать? Разве что для загонной охоты использовать...

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

Не, не пойдёт - такая орава наверняка двух-трёх грибников на позицию стрелка выгонит :)

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


cron
Rambler\'s Top100 Mail.ru counter