Close

Cinemática Diferencial

A project log for Proyecto Robótica I

Por Pablo Castillo y José Ramírez

ram17787ram17787 04/17/2021 at 22:090 Comments

El problema de la cinemática diferencial consiste en encontrar la diferenciación de las posiciones, es decir, las velocidades (tanto lineales como angulares). Estas dos se contienen en los jacobianos de posición y orientación; estos se pueden "apilar" en forma de vector columna para generar la matriz del jacobiano completo. Es decir, se tiene lo siguiente:

El procedimiento para calcular este jacobiano comienza calculando la cinemática directa (con las transformaciones de base). De esta se extrae la matriz de rotación resultante. Luego, se define un diferencial de posición con el que se trabajará. En nuestro caso se utilizó 0.01 aunque si se desea, se puede utilizar un valor más pequeño y se calcula el cambio en la cinemática directa debido a este con la siguiente fórmula:

De aquí, se extraen las matrices de cambio en rotación y posición. Este último es directamente el jacobiano de posición, pero el primero no es el jacobiano de orientación, por lo que se debe realizar cálculos extra. Se necesita:

Y se utiliza el hecho que:

Y con la ayuda del Robotics Toolbox de Peter Corke, se usa la función vex(s) que convierte una matriz skew-simétrica a un vector. Esto es, en escencia, la función inversa de skew. Por lo que esta función nos regresa el jacobiano de orientación. Para cada ecuación en esta sección, los subíndices j corresponden a el número de junta. Por lo que este procedimiento se debe realizar para cada junta. Estos valores se van almacenando en una matriz de 6xj que depende de la cantidad de GDL del robot (3 en este caso):

Discussions