Главная arrow книги arrow Копия Глава 25. Робототехника arrow Обобщающая архитектура
Обобщающая архитектура

Обобщающая архитектура [189] представляет собой инфраструктуру для сборки реактивных контроллеров из конечных автоматов. Узлы этих автоматов могут содержать средства проверки для некоторых сенсорных переменных, и в таких случаях трассировка выполнения конечного автомата становится обусловленной результатом подобной проверки. Дуги могут быть размечены сообщениями, которые вырабатываются при прохождении по этим дугам, после чего сообщения передаются в двигатели робота или другие конечные автоматы. Кроме того, конечные автоматы оборудованы внутренними таймерами (часами), которые управляют затратами времени, требуемыми для прохождения дуги. Полученные в итоге автоматы обычно называют дополненными конечными автоматами, или сокращенно AFSM (Augmented Finite State Machine), где под дополнением подразумевается использование часов.

Примером простого автомата AFSM может служить автомат с четырьмя состояниями, показанный на рис. 25.21, б, который вырабатывает команды циклического движения ноги для шестиногого шагающего робота. Этот автомат AFSM реализует циклический контроллер, который действует в основном без учета обратной связи от среды. Тем не менее обратная связь от датчика учитывается на этапе переноса ноги вперед. Если нога не может пройти вперед, что означает наличие впереди препятствия, робот отводит ногу немного назад, поднимает ее выше и предпринимает попытку еще раз выполнить шаг вперед. Поэтому данный контроллер приобретает способность реагировать на непредвиденные ситуации, возникающие в процессе взаимодействия робота со своей средой.

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