VProМеня устроит не обязательно аналитическое решение. Попробую описать задачу более широко, возможно я вообще зря пытаюсь найти оптимальное управление.
У меня имеется плавсредство с двигателем. Оно лежит на нужном курсе, вопрос лишь в том, какое управление выдавать на двигатель. С частотой 10Гц, я получаю свои координаты, скорость я приближенно считаю как разность между текущим и прошлым измерением. Я нахожусь в какой-то точке и знаю куда мне надо попасть и с какой скоростью я должен в эту точку прийти. Пока что я хочу прийти туда и встать там. Сейчас я рассматриваю задачу без трения.
Управление, которое я пишу, сейчас управляет объектом в симуляции, его я просто численно интегрирую. Я использую в качестве контроллера специализированный инверсный нейроконтроллер. Т.е. его на его входы подаются вектор состояния с задержакми (NARMA) и целевые координаты. Его выход используется непосредственно в качестве управляющего сигнала на двигатель. Чтобы его обучить, мне необходимо знать ошибку выхода. Я бы хотел эту ошибку получать сравнивая выход с оптимальным управлением. Т.е. с функцией, зависящей от текущих и целевых координат и скоростей. Пусть даже и негладкой или разрывной.
Правильно ли я поступаю?
Цитата:
Общий совет: подойти к вопросу серьезно.
Это и есть моя цель. Но конечно, не хотелось бы углубляться в детали управления двигателем, поскольку это далеко от области моей компетенции. Мои мысли на этот счет таковы, что мне не нужна идеальная точность управления, внешние возмущения и трение всё равно будут искажать любое «оптимальное» управление. Даже если на концах траектории я буду ошибаться с конечными скоростями или положениями это не большая проблема, потому как в середине траектории у меня будет обратная связь, которая, если правильно построить управление, будет быстро компенсировать ошибки управления на начальной стадии. Мне нужно практическое решение больше, нежели чем строго теоретически оптимальное.
Принимая во внимание, что абсолютная точность не принципиальна, и то, что у меня есть обратная связь на всём пути, имеет ли смысл пытаться продолжать решать эту задачу используя, скажем, принцип максимума?