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

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

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

Тем не менее существует возможность определить спецификацию контроллера непосредственно, без использования явной модели среды. (Выше в данной главе такой подход уже был продемонстрирован на примере PD-контроллера, который оказался способным вести сложный манипулятор робота к цели при отсутствии явной модели динамики робота; однако для этого контроллера требовался опорный путь, сформированный с помощью кинематической модели.) Для рассматриваемого примера шагающего робота после выбора подходящего уровня абстракции задача определения закона управления оказалась удивительно простой. В приемлемом законе управления может быть предусмотрено циклическое движение каждой ноги с тем, чтобы эта нога на какой-то момент касалась земли, а в остальное время двигалась в воздухе. Координация действий всех шести ног должна осуществляться так, чтобы три из них (расположенные на противоположных концах) всегда находились на земле для обеспечения физической опоры. Такой принцип управления можно легко запрограммировать, и он себя полностью оправдывает на ровной местности. А на пересеченной местности движению ног вперед могут помешать препятствия. Это затруднение можно преодолеть с помощью исключительно простого правила управления: если движение какой-то ноги вперед блокируется, следует отвести ее немного назад, поднять выше и предпринять еще одну попытку. Созданный в итоге контроллер показан на рис. 25.21, б в виде конечного автомата; он представляет собой рефлексный агент с поддержкой состояния, в котором внутреннее состояние представлено индексом текущего состояния автомата (от).

Рис. 25.21. Пример применения реактивного управления: шестиногий робот (а); дополненный конечный автомат (Augmented Finite State Machine — AFSM) для управления одной ногой (б). Обратите внимание на то, что этот автомат AFSM реагирует на сенсорную обратную связь: если какая-то нога не может двинуться вперед при выполнении этапа ее поворота и переноса в прямом направлении, то она поднимается каждый раз все выше и выше