inverseKinematics
Crear un solver de cinemática inversa
Descripción
El System object™ inverseKinematics
crea un solver de cinemática inversa (IK) para calcular las configuraciones de articulaciones de la pose del efector final deseada a partir de un modelo de árbol de cuerpo rígido especificado. Cree un modelo de árbol de cuerpo rígido para el robot mediante la clase rigidBodyTree
. Este modelo define todas las restricciones de articulación que aplica el solver. Si hay una solución posible, se obedecen los límites de articulación especificados en el modelo de robot.
Para especificar otras restricciones diferentes de la pose del efector final, incluidas restricciones de apuntamiento, límites de posición u objetivos de orientación, considere usar generalizedInverseKinematics
. Este objeto permite calcular soluciones de IK multirestricciones.
Para obtener soluciones de IK analíticas de forma cerrada, consulte analyticalInverseKinematics
.
Para calcular configuraciones de articulaciones para la pose del efector final deseada:
Cree el objeto
inverseKinematics
y configure sus propiedades.Llame al objeto con argumentos, como si fuera una función.
Para más información sobre el funcionamiento de los System objects, consulte ¿Qué son los System Objects?
Creación
Descripción
crea un solver de cinemática inversa. Para usar el solver, especifique un modelo de árbol de cuerpo rígido en la propiedad ik
= inverseKinematicsRigidBodyTree
.
crea un solver de cinemática inversa con opciones adicionales especificadas por uno o más argumentos de par ik
= inverseKinematics(Name,Value
)Name,Value
. Name
es un nombre de propiedad y Value
es el valor correspondiente. Name
se debe encerrar entre comillas simples (''
). Puede especificar varios argumentos de par nombre-valor en cualquier orden como Name1,Value1,...,NameN,ValueN
.
Propiedades
Uso
Descripción
[
busca una configuración de articulación que alcanza la pose del efector final especificada. Especifique una estimación inicial para la configuración y las ponderaciones deseadas en las tolerancias de los seis componentes de configSol
,solInfo
] = ik(endeffector
,pose
,weights
,initialguess
)pose
. La información de la solución relativa a la ejecución del algoritmo, solInfo
, se devuelve con la solución de la configuración de articulación, configSol
.
Argumentos de entrada
Argumentos de salida
Funciones del objeto
Para usar una función de objeto, especifique el System object como el primer argumento de entrada. Por ejemplo, para liberar recursos de sistema de un System object llamado obj
, utilice la siguiente sintaxis:
release(obj)
Ejemplos
Referencias
[1] Badreddine, Hassan, Stefan Vandewalle, and Johan Meyers. "Sequential Quadratic Programming (SQP) for Optimal Control in Direct Numerical Simulation of Turbulent Flow." Journal of Computational Physics. 256 (2014): 1–16. doi:10.1016/j.jcp.2013.08.044.
[2] Bertsekas, Dimitri P. Nonlinear Programming. Belmont, MA: Athena Scientific, 1999.
[3] Goldfarb, Donald. "Extension of Davidon’s Variable Metric Method to Maximization Under Linear Inequality and Equality Constraints." SIAM Journal on Applied Mathematics. Vol. 17, No. 4 (1969): 739–64. doi:10.1137/0117067.
[4] Nocedal, Jorge, and Stephen Wright. Numerical Optimization. New York, NY: Springer, 2006.
[5] Sugihara, Tomomichi. "Solvability-Unconcerned Inverse Kinematics by the Levenberg–Marquardt Method." IEEE Transactions on Robotics Vol. 27, No. 5 (2011): 984–91. doi:10.1109/tro.2011.2148230.
[6] Zhao, Jianmin, and Norman I. Badler. "Inverse Kinematics Positioning Using Nonlinear Programming for Highly Articulated Figures." ACM Transactions on Graphics Vol. 13, No. 4 (1994): 313–36. doi:10.1145/195826.195827.