Создаем робота-андроида своими руками - Джон Ловин
Шрифт:
Интервал:
Закладка:
Первоначально имеется возможность активировать любое количество выходов без риска сброса уже включенных. Затем та же самая команда может быть использована для включения нагрузки (при первом произнесении) и затем ее выключения (при следующем произнесении). Таким образом, вместо использования пары команд для включения/выключения устройства (например: включить свет/выключить свет) возможно использование единственной команды, которая в «четный» раз выключает устройство (свет-свет). В некоторых случаях это позволяет удвоить список допустимых команд.
На рис. 7.9 показана схема триггера на ИС 4013. Каждая ИС содержит два триггера. Входы триггеров соединены непосредственно с выходами ИС 4028.
Рис. 7.9. Половина триггера 4013 для запоминания сигнала. Соединяется непосредственно с выходом ИС 4028, изображенной на рис. 7.8, и предназначена для сохранения включенного состояния схемы при включении следующей команды
На рис. 7.10 изображена одна схема и два фрагмента схем присоединения к выходу триггера для управления нагрузками различных типов. На части А изображен Дарлингтоновский NPN транзистор, управляющий резистивной нагрузкой в цепи постоянного тока. Подобная схема может быть использована для управления электромагнитным реле, как показано в В. Реле, соответственно, может управлять цепями постоянного или переменного тока. В части С выход 4013 соединен с оптопарой, управляющей симистором.
Рис. 7.10. Данные схемы могут быть подключены к интерфейсу, чтобы обеспечить управление схем с помощью УРР. В схеме на позиции А в качестве ключа используется триггер, управляющий Darlington транзистором. В позиции В транзистор заменен реле, что позволяет управлять сильноточными резистивными или индуктивными нагрузками постоянного и переменного тока. Схема на позиции С, объединенная с триггером позиции А позволяет осуществить гальваническую развязку между силовыми и управляющими цепями, управляя при этом включением нагрузки переменного тока
Работа устройства
Схема УРР первоначально «обучается», как описано выше. После соеди нения с интерфейсом, любая команда вызовет свечение светодиода или какую-то реакцию устройства в зависимости от того, что присоединено к вы ходам двоично-десятичного дешифратора 4028.
Улучшение процесса распознавания
Существует набор приемов для улучшения и оптимизации процесса распознавания. Прежде всего это выбор слов-команд. Избегайте омонимов и сходно звучащих слов, например, таких как спать, брать, встать, класть. Для оптимизации распознавания используйте максимально различные по звучанию слова. Во многих случаях полезно использовать синонимы или слова, имеющие приблизительно тот же смысл. Например, вместо слова «спать» используйте «дремать» или «уснуть». Вместо «брать» используйте «захватить» или «поднять». Вместо «встать» – «подняться». Слово «класть» можно заменить на «положить». Небольшие филологические изыскания помогут справиться с этой проблемой.
Настройка и сопряжение оборудования
Расстояние. Расстояние ото рта говорящего до микрофона должно быть одинаковым при «обучении» системы и ее эксплуатации.
Стресс. Под действием стрессового состояния или волнения голос изменяется. Например, если вы используете джойстик с голосовым управлением для контроля полета вашего любимого тренажера военного самолета, то в момент жаркого воздушного боя ваш голос, выкрикивающий команды «Огонь! Огонь! Крен влево!», будет немного отличаться от голоса в ситуации, когда вы спокойно сидите за столом и программируете УРР. По этой причине во время процесса программирования звуковых команд вы должны имитировать состояние стресса или возбуждения, которое вы чувствуете во время игры.
Напряженное усилие. Физический стресс является еще одним фактором. Когда вы программируете тренажерное оборудование (беговую дорожку или велосипедный тренажер) для управления голосом, вы должны подражать людям с немного сбитым дыханием.
Окружающий шум. Окружающие шумы всегда представляют собой проблему. Как было отмечено выше, постоянный шум (например, от кондиционера) оказывает меньшее влияние, чем шум, носящий случайный характер (работающий телевизор).
Рука робота, управляемая УРР
В гл. 15 будет рассмотрен еще один вариант интерфейса, управляющий рукой робота.
Список деталей для УРР
• (1) ИС1 HM2007
• (1) ИС2 SRAM 8K x 8
• (1) ИС3 74LS373
• (2) ИС4 и ИС5 7448
• (1) резонатор кварцевый 3,57 МГц
• (1) печатная плата УРР
• (1) клавиатура 12-кнопочная
• (2) индикатор 7 сегментов
• (2) сборка резисторов 220 Ом, 0,25 Вт, 16 выводов
• (1) резистор 22 кОм 0,25 Вт
• (1) резистор 5,6 кОм 0,25 Вт
• (1) конденсатор 0,047 мкФ
• (1) С2 конденсатор 100 мкФ 16 В
• (1) С5 конденсатор 0,1 мкФ
• (1) регулятор напряжения 7805
• (1) микрофон
• (1) зажим батареи 9 В
• полный набор деталей УРР
Список деталей интерфейса
• (2) ИС 4011 2 элемента ИЛИ-НЕ
• (1) ИС 74LS373 8 D триггеров
• (1) ИС 4028 двоично-десятичный дешифратор
• (1) ИС таймер 555
• (1) ОУ LM741
• (1) резистор 5,6 кОм
• (1) резистор 15 кОм
• (1) резистор 330 Ом
• (2) резистор 10 кОм
• (10) резистор 470 Ом
• (1) конденсатор 47 мкФ
• (1) конденсатор 22 мкФ
• (2) конденсатор 0,01 мкФ
• (10) светодиод миниатюрный
• Дополнительно: ИС 4013 2 D-триггера, транзистор TIP 120 NPN Darlington
Детали можно заказать в:
Images Company
39 Seneca Loop
Staten Island, NY 10314
http://www.imagesco.com
Глава 8
Поведенчески ориентированные схемы роботов, нейронные сети, организация нервной системы и предикативная архитектура
В этой главе обсуждается класс роботов, не имеющих ЦПУ в основе схемы управления. Подобные роботы функционируют на принципах стимул-реакция, характерных для нейронных сетей.
Стимульно-реактивные механизмы, используемые в роботах, носят ряд названий, таких как нейронные сети, поведенчески ориентированные схемы, схемы нервной организации и системы предикативной архитектуры. Пионером данных работ является Вильям Грей Вальтер, создавший поведенчески ориентированные системы в конце 40-х годов. Независимо от работ Вальтера схемы реагирования роботов, построенные на принципах нейронных сетей, были научно разработаны и усовершенствованы Валентино Брайтенбергом в 80-х годах, что нашло отражение в его книге: Передвижные устройства: опыты синтетической психологии. Вдохновленный работами Вальтера профессор Массачусетского технологического института Родни Брукс разработал свою версию реагирования на стимулы, названную им «предикативной архитектурой». В свою очередь Марк Тилден, воодушевленный работой, проделанной Родни Бруксом, создал систему BEAM роботов, использующих «нервные сети».
Тема поведенчески ориентированных роботов является очень актуальной в настоящее время и, безусловно, окажется еще более важной в будущем. В системах подобной архитектуры механизмы типа «стимул-реакция» могут надстраиваться один над другим. Устройство с иерархически многослойным построением механизмов стимул-реакция может демонстрировать поразительно «разумное» поведение, как робот-охотник за «светом», описанный ниже.
До определенного времени для описания механизма «стимул-реакция» я буду использовать термин «поведенчески ориентированный». Поведенчески ориентированный подход явялется одним из двух основных подходов к снабжению роботов «интеллектом», как это было описано в гл. 6. Один из них называется интеллект «сверху вниз», а второй – интеллект «снизу вверх».
Для внесения «интеллекта» в устройство управления функциями передвижного робота (используя термин «функция» я ограничиваю для простоты возможную область обсуждения функциями движения и обследования окружающего пространства, но это является, несомненно, действительным ограничением для использования иных подходов) необходимо решить, какой из подходов окажется наиболее успешным для выполнения задания. Интеллект, управляющий функционированием устройства «сверху вниз», представляет собой экспертную систему или программу для осуществления заданного типа поиска и обнаружения. Подход «снизу вверх» опирается на создание системы искусственного поведения робота, которая обусловливает его поисковые действия.
На первый взгляд, между этими двумя подходами нет существенной разницы, однако имеется одно очень важное различие. Если экспертная система окажется в ситуации (или внешних обстоятельствах), не предусмотренных программой, то робот окажется в «нерешительности». С другой стороны, система поведения, не ориентированная на поиск шаблонных «запрограммированных» ситуаций для расчета вариантов реагирования, не придает «значения» окружающим обстоятельствам – она просто продолжает поиск.