Un poco de historia. Tengo una simulación que usa splines cúbicos para trayectorias 1D. En este contexto, una spline cúbica especifica la posición, la velocidad, la aceleración y la sacudida del objeto como una función del tiempo.Biblioteca para generar trayectorias spline cúbicas (no interpolación)?
Si usted tiene:
- valores iniciales y finales para posición, velocidad, aceleración y tiempo
- limitaciones constante de valor sobre la máxima y la velocidad mínima, aceleración y jerk
entonces hay una estría único. Si no especifica la hora final, sino que desea la trayectoria de tiempo mínimo, también hay una spline única.
En realidad la búsqueda de estas ranuras puede ser un dolor real, sin embargo. En el caso en que se especifique el tiempo, una spline consistirá en hasta 7 polinomios, y los nudos (puntos de transición entre polinomios) no se conocen con anticipación.
Este no es el caso habitual de ajuste de una spline para un conjunto de datos, se crean las estrías de las condiciones de contorno y algunas restricciones adicionales. He leído artículos en los que las personas han utilizado acuerdos similares y han tenido necesidades similares, pero nunca he encontrado bibliotecas (o incluso código fuente) que aborden la generación de splines de este tipo. He escrito un código que maneja la mayoría de los casos, pero no es demasiado robusto o rápido. No estoy muy preocupado de que sea rápido, pero más robusto sería genial.
¿Hay alguna biblioteca que pueda hacer esto disponible? ¿Código de código abierto, incluso si no está construido como una biblioteca? C, C++, Java o Python son preferidos, pero si es de código abierto, otros idiomas seguirán siendo útiles como referencia.
me temo que tendrá que hacerlo usted mismo, utilizando algún algoritmo de minimización restringida, o alguna búsqueda de raíces múltiples dimensiones (en función de los dos casos usted describe). Esto no es especialmente difícil de hacer, pero puede beneficiarse enormemente de los ojos de un extraño si quiere algo sólido.¿Podría decirnos con más precisión qué ha implementado? –
¿Puede comentar cómo su enfoque es diferente al habitual CAM? Por ejemplo, en http://homepages.laas.fr/xbroquer/publications/ICRA10.pdf –
¿Aún está interesado en este? ¿Podría responder las preguntas y comentar las respuestas para refinar el enfoque? –