аукцион / donate / услуги / RSS / распечатать / вход 
Мой мир
Вконтакте
Одноклассники

[22 февраля 2010 | 3 марта 2010 | 13 марта 2010]

Интеллект для исследовательских роботов. Три слоя интеллекта робота.

Интеллект для исследовательских роботов

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

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

Три слоя интеллекта робота

Я выделил три правила, не несущие этического значения, но они реализуемы в железе. Первое правило: робот должен вести себя так, чтобы не травмировать своими действиями окружающую среду и самого себя. Второе правило: необходимо следовать заложенной программе, если это не противоречит первому правилу; а если не известно, что делать то нужно стоять и ждать команды. Третье правило: при написании программы необходимо закладывать действие, которое требуется сделать в том случае если невозможно исполнить текущую программу. А теперь, обо всех трех правилах и их названиях я расскажу подробнее.

Безусловные рефлексы. Безусловные рефлексы необходимо закладывать на уровне драйвера двигателя. Должны быть независимые датчики пола, датчики касания и легко доступная кнопка выключения питания. Так же на уровне безусловных рефлексов желательно заложить механизм логирования своих действий (это не обязательный элемент, но он позволит всегда знать, что произошло и кто в этом виноват). И еще один не маловажный пункт, на уровне безусловных рефлексов необходимо отслеживать источник питания (будь то горючее или же электричество). В случае когда питание на пределе, то необходимо перейти в режим оповещения «второго слоя сознания» о недостатке ресурсов. Если со второго слоя придет информация о том, что скоро все будет решено, то подсознание будет работать до критического разряда батарей. А вот когда наступит критическое состояние, безусловный рефлекс отправит команду на все оборудование, что пора ложиться спать и через заданное время просто отключит все оборудование и уйдет в спящий режим. С датчиками осязания все должно быть понятно. Допустим робот получил информацию, что под правым передним колесом нет пола, то подсознание откорректирует поездку попыткой сдать назад и чуть объехать это непонятное препятствие. При этом никакие потуги сознания не смогут заставить робота поехать по пути где оба передних колеса окажутся без опоры. Так же сознание не сможет заставить робота ехать если перед ним оказалось препятствие, которое смогло продавить датчик сильного упора (можно заложить возможность сбивать мелкие и легкие объекты, в разумных пределах, конечно). Эта часть реализуется на простейшем микроконтроллере

Условные рефлексы. Зачатки сознания. Это уже более сложная часть робота, тут многие активисты вообще требуют ставить компьютер для обработки информации и «кастерят» разработчиков микроконтроллеров в их архаизме и нежелании следовать прогрессу. Возможно они и правы, но я в данном плане не согласен. С зачатками сознания должен справиться контроллер. В моей схеме получается распределенная система. Так, например, если подсознание решило, что роботу недостаточно ресурсов для жизни, то оно отправляет сознанию уведомление, а сознание должно решить проблему питания, например поиском своей докстанции и заездом в эту докстанцию. Но тут есть маленький нюанс, он заключается в том, что сознание может увидеть, что докстанция находится на полу, а робот может быть в руках человека или стоять на шкафу над головой своего хозяйна. Если заложить поиск еды на уровень подсознания, то ситуация может выйти из под контроля и многокилограмовая бандурина зашибет своего хозяина съехав на него со шкафа. В моей схеме этого произойти не может, так как у подсознания больше прав и он не допустит своей поломки, но приведет к меньшим потерям в виде временной неработоспособности, перейдя в режим низкого энергопотребления. А для исследовательского робота можно предусмотреть альтернативные источники энергии. Например, когда роботу потребовалась зарядка, сознание может подобрать освещенную площадку и раскрыть солнечные батареи, при этом постоянно опрашивая подсознание, достаточно ли этого заряда для отключения зарядного устройства.

Сознание, должно всегда отвечать за удовлетворение потребностей робота, а подсознание должно контроллировать состояние робота и передавать информацию о своих нуждах. Еще одно характерное свойство сознания должно заключаться в возможности «общения» с человеком или иным разумным существом. На уровне подсознания, робота можно только выключить, а на уровне сознания, роботу можно отдать серию простых приказов, которые он должен выполнить. Человек может сказать роботу, что он должен ехать бесконечность метров вперед и передавать фотографии перед собой каждые 256 метров. Программа простая, но робот может ехать по краю ущелья и упасть с обрыва в ущелье. А за тем, что бы этого не произошло бдительно следит подсознание. Как только происходит подобная внештатная ситуация, подсознание отписывает событие сознанию, что мы все погибнем если не свернем, а сознание уже должно «проконсультироваться» с человеком и разрулить эту ситуацию. Если же человек решил угробить многомиллионный проект марсохода и все-таки заставляет сигануть робота в низину, то подсознание попробует немного развернуть себя и будет ехать до тех пор, пока нельзя будет вернуться на прежний курс.

Все самодельщики объединяют ходовую и думающую части в одно единое, в этом есть зерно логики, ведь так дешевле и так проще контролировать робота и его сенсоры. Как это делают в исследовательских институтах я не знаю.

Думатель. Самосознание. Самая сложная и, в некоторой мере, философская часть робота. Она решает вопрос о том, кто же этот робот и для чего он нужен. На этом слое уже можно вводить понятия: нужно, можно, нельзя. На этом же слое ведется отбор таких важнейших действий как расчет траектории до холодильника с пивом и можно ли переехать коту по хвосту если он вчера нассал тебе на гуссеницы. Часть функций думателя уже реализованы на уровне сознания и по этому думателю не обязательно просчитывать нагрузку на двигатели для поездки, ему достаточно передать команду сознанию о том, что необходимо проехать 32 метра прямо и повернуться на 24 градуса. Но не смотря на всю безграничность думателя в своих действиях, он по прежнему не сможет покончить с собой. Так же возникает дилема в том, что если сознание решило что пора кушать, а думатель еще не доделал своего задания, то думатель сможет уломать сознание немного поработать и на его плечах будет лежать вопрос о том, застопорится ли вся железяка на пол-пути до холодильника или он может потратить 5 минут на то, что бы сообщить хозяину о своей проблеме и пойти на зарядку. Или же на мольбу сознания пойти покушать (а то подсознание всех спать уложит), думатель может отключить часть энергопотребляющих железяк на борту и на остатках заряда доделать свою работу и потом уже пойти заряжаться.

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

Тэги: микроконтроллеры

Отредактировано:2020-10-01 08:24:15


Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту, предлагать только интересную информацию и упростить заполнение форм. Я предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с использованием мной файлов cookies. Вы в любое время можете удалить и/или запретить их использование изменив настройки своего интернет-браузера.

Сообщайте мне о замеченных ошибках на: web@orcinus.ru. Все пожелания и советы будут учтены при дальнейшем проектировании сайта. Я готов сотрудничать со всеми желающими. В некоторых случаях, мнение автора может не совпадать с мнением автора! Phone: +7-902-924-70-49.

Top.Mail.Ru
Top.Mail.Ru LiveInternet Rambler's Top100 Яндекс.Метрика