Apr. 13th, 2012

kincajou: (Default)
Когда робот один, то всё "тривиально" - есть алгоритм, есть задача, есть WIN или FAIL.
Но когда роботов много... или когда задача для одной машины непосильна, то в дело вступают группы роботов. Они могут быть как гомогенными, т.е. однородными по составу (все роботы одинаковы, в смысле обладают одинаковым функционалом), так и гетерогенными (в группе есть роботы разных типов, предельных случай - ВСЕ роботы группы совершенно различны).

Современная робология выделяет четыре класса групповых систем.
1) Централизованная. Тут понятно что - есть некий центральный узел, выполняющий роль "мозгов" всей группы; и есть рабочие особи - по сути, тупые исполнительные механизмы с дистанционным управлением, неспособные вообще к каким-либо самостоятельным действиям. Преимущество подобной системы так же очевидно: максимальная эффективность действий, т.к. их планирование и выполнение осуществляется единым центром, точно знающим, чего ему надо. Недостаток тесно связан с преимуществом: в случае выхода центра из строя (физическое уничтожение ли, обрыв связи или ещё что), вся группа превращается в хлам.

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

3).. что приводит нас к появлению третьего класса: коллективного. В коллективе иерархическая система тоже может присутствовать, но для чистоты картины выродим её в одноранговую, с участниками одного уровня компетенции и полномочий. Ключевое отличие этого класса от двух предыдущих в том, что решения по стратегии действий принимаются не одним центром, а группой узлов (возможно, какой-то частью группы, если роботы в ней разные по интеллекту). Соответственно, вместо нисходящих и обратных каналов связи появляется горизонтальный слой переноса информации (если его нет, то это никакая не группа роботов, а просто набор машин-индивидуалистов). Преимущество системы очевидно: решения, вырабатываемые группой роботоы, в гораздо меньшей степени зависят от здоровья отдельных её участников. Т.е. какие-то роботы могут выйти из строя, но коллектив не потеряет управляемость и всё равно сможет продолжить функционирование. Недостаток тоже очевиден: если канал связи выходит из строя, то коллектив рассыпается. Потеряет он способность к действиям или нет - тут уже дело десятое. И если мы хотим, чтобы функциональность осталась на высоте, то придётся придумать четвёртый тип.

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

Выбирайте.
kincajou: (Default)
(идёт процесс обсуждения причин возникновения помехи в одном дивайсе, попутно выдвигаются гипотезы о том, как помеху побороть):

- Может, подвесить по десятке пик на обе ноги*?
- Подвесь лучше даму пик за обе ноги!



*речь идёт о двух конденсаторах ёмкостью по 10 пикофарад, кои предполагается подключить к двум выводам некоей микросхемы.
kincajou: (Default)
Наконец-то поборол лень и выложил на AVRFreaks нечто полезное (в кои-то веки!).
Как я уже писал, мнение некоторых форумных гуру о том, что софтварный I2C написать "очень сложно" и такая реализация будет работать "очень медленно", вместе с необходимостью реализовать именно что софтварный I2C Slave для чипа, не обладающего соответствующим хардварным модулем,.. короче, вот:

Simple I2C Software Slave


берите, мне не жалко

December 2016

S M T W T F S
    123
45678910
11121314151617
18192021222324
25 262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 23rd, 2017 07:15 am
Powered by Dreamwidth Studios