Para una clase de control óptima, la tarea consistía en encontrar una secuencia de controles (por ejemplo, fuerzas / aceleraciones) que hicieran que un brazo de 2 articulaciones pasara de cualquier estado inicial a un estado equilibrado ascendente. Básicamente, esto significa simular mover su brazo desde un estado de reposo (o cualquier otra posición en la que se encuentre) a una posición vertical (como cuando levanta la mano, por ejemplo).
Cuando puede mover ambas articulaciones, la tarea es realmente fácil. Pero, ¿qué tal si no puede mover una de sus articulaciones, específicamente la de su hombro? ¡El problema se vuelve difícil cuando solo puedes mover la articulación del codo! Si comienzas desde una posición que es casi vertical, nuevamente, no es tan malo. Pero comenzar desde la dirección opuesta hace que la tarea sea muy difícil. Imagínese balanceando su brazo con mucha fuerza con la articulación del codo para obtener la suficiente fuerza como para ponerse de pie.
Para resolver el problema, se anotó una función de energía / costo que se minimizó cuando la fuerza era 0 y el ángulo del brazo era 0, es decir, el brazo estaba en posición vertical. Para minimizar el costo, se nos recomendó utilizar el principio máximo de Pontryagin, que proporciona una forma eficiente de evaluar el gradiente del costo total con los controles y, por lo tanto, optimizar los controles numéricamente. Con la función de costo y una fórmula para su gradiente, se utiliza una rutina de optimización para encontrar una secuencia de controles que minimice el costo.
- Cómo hacer un juego de programa de asesor de IA en Unity3D
- ¿Es difícil implementar un árbol de radix? Si es así, ¿por qué?
- ¿Qué es un árbol de recursión?
- ¿Se requiere un buen conocimiento de la estructura de datos y algoritmos para saltar a la codificación competitiva?
- ¿ISRO emplea el aprendizaje automático en alguno de sus sistemas de trabajo actuales?
Encontrar buenas conjeturas iniciales es crucial, pero también usar algún tipo de método de continuación, es decir, tratar de resolver primero un problema más simple y luego hacer que el problema sea progresivamente más difícil hasta llegar al problema deseado. En este caso, primero podemos permitir que ambas articulaciones se muevan, pero gradualmente imponer un costo más alto al movimiento de la articulación del hombro; el costo se vuelve tan alto en algún momento que ya no se desea mover la articulación del hombro.
Encontré que este es un problema difícil de optimización. No tengo mucha experiencia y esta fue mi primera clase sobre control óptimo (¡y optimización en general!), Por lo que probablemente sea comprensible que trabajé lentamente y solo proporcioné una solución parcial. ¡Pero nadie en la clase lo descubrió tampoco! Lo que me lleva a escribir esta publicación y dejar que el lector decida si este es realmente un problema desafiante o no.