Robotics Dinamixel Kinematics
Por:
Luis Alberto Chavez
Camilo Pineda Correa
En este documento se explica como se configura y se ejecuta el servicio de conexión entre un PINCHERx y ROS instalado en Ubuntu mediante Matlab y Python
Las dimenciones medidas sobre los robots al igual que las disposiciones de los ejes para cada articulación se muestran a continuación.
Estos modelos son independientes del software empleado, sea MatLab, ROS, Python.
Los parametros de DH-standard para el robot:
Link | alpha | a | d | theta | offset |
---|---|---|---|---|---|
1 | 90° | 0 | L1 | q1 | 0 |
2 | 0 | L2 | 0 | q2 | 90° |
3 | 0 | L3 | 0 | q3 | 0 |
4 | 0 | L4 | 0 | q4 | 0 |
A partir de la anterior gráfica, realizamos el análisis de las articulaciones.
Por análisis de mecanismo 2R:
Nota: Para cambiar los valores de las articulaciones de q_2 y q_3 para las cofiguraciones de codo arriba o codo abajo únicamente hay que cambiar a theta3 de signo
Se realizó la implementación de esta cinemática inversa en una función de Matlab que se puede ver en el directorio src/getInvKin.py al igual que en src/invKinPhantom.m.
Se realiza un diagrama geométrico con los datos medidos del robot físico, se determina el espacio de trabajo del motor en el plano XZ del origen, considerando que es el plano que más variaciones tiene, especialmente si se considera que el plano XY es un circulo competo debido a la acción rotacional del primer actuador, y el espacio de trabajo en el plano YZ es muy similar al plano de trabajo en el Plano XZ solo que con menos restricciones.
Se entiende que esto forma una geometría semiesférica con un vacío interno, definido por la interferencia que realiza el robot consigo mismo. De forma detallada se toma el modelo geométrico de cada eslabón, incluyendo la base del robot y se realizan los movimientos angulares máximos posibles para cada rotación, buscando los limites en los cuales el robot comienza a generar interferencia consigo mismo o con la base, o los puntos en los cuales el actuador llega a su máximo.
En la imagen se puede evidenciar que cuando una articulación llega a su límite ya sea del motor o por interferencia, la siguiente articulación puede continuar en la misma dirección hasta que esta se vea limitada.