Я читал некоторые статьи для управления нелинейными системами (например, нелинейный маятник). Существует несколько подходов для нацеливания на нелинейные системы. Наиболее распространенными являются контроллеры линеаризации с обратной связью , обратного перехода и скользящего режима .
В моем случае я выполнил теоретические и практические части управления нелинейной моделью простого маятника плюс другие задачи манипуляторов в C ++. Для маятника я использовал контроллер обратного хода для решения задачи слежения за угловым смещением и скоростью. Результаты
где и g = 9,81 .
Результаты хорошие. Однако настройка контроллера отнимает много времени. Большинство статей используют генетические алгоритмы для настройки своих контроллеров, таких как PD, PID и контроллеры обратного шага. Я не разбираюсь в этой области и надеюсь, что кто-то пролил некоторый свет на эту концепцию, предпочтительно, если есть образец MATLAB для хотя бы управления простым маятником.
До сих пор я разработал простой графический интерфейс на C ++ / Qt, чтобы настроить контроллер вручную. На рисунке ниже показан ответ контроллера на пошаговую функцию.
Генетические алгоритмы - это техника машинного обучения, которая устраняет необходимость для пользователя «тонко настраивать» систему и вместо этого позволяет компьютеру выяснить, как настроить систему. Преимущества этого подхода состоят в том, что он освобождает время исследователей / пользователей и часто может привести к созданию системы, настроенной лучше, чем то, что исследователь / пользователь смог бы достичь самостоятельно.
Общая идея использования генетического алгоритма будет следовать некоторому основному потоку управления следующим образом:
Лучший пример, который я могу легко продемонстрировать на практике по этому принципу, - это «игра», в которой используется генетическая эволюция для создания транспортных средств, способных двигаться по маршруту. Та же идея применима к любой системе, которую вы хотите отрегулировать без необходимости выполнять какие-либо настройки самостоятельно. Пример: http://rednuht.org/genetic_cars_2/
источник
Меня смущает то, что вы называете генетическим алгоритмом. Контроллеры PD, PID и т. Д. Не являются эвристическими или стохастическими методами и не основаны на эволюционных алгоритмах. Вместо этого они представляют собой детерминированные алгоритмы, предназначенные для обеспечения возможности размещения полюсов и нулей отклика системы для обеспечения желаемой производительности (минимизация ошибок, скорость отклика, время установления, стабильность и отклонение помех). Хорошим учебным пособием, на мой взгляд, является книга Автоматических систем управления Куо . Вы можете найти менее строгую трактовку в книге Равена по автоматическому управлению .
источник