====== Actividad 6. Inversa y cadenas kinemáticas ====== Continuando con python y programación, en esta actividad se practicarán varias técnicas de programación: ciclos múltiples, recursión. ===== Preguntas de la actividad ===== * Cómo se programa un problema que consiste en resolver problemas iguales pero con entradas más pequeñas? * Qué significa interpretar los datos de una estructura de datos? * Cómo se interpretan los datos de una estructura de datos? * Qué es más importante la estructura de datos o el método? * Existen utilidades que pueden facilitar la programación científica? ===== Temas tentativos a cubrir ===== * Recursión * Ciclos * Datos de retorno * Numpy ===== Instrucciones ===== * Usando el resultado de la práctica anterior, agregue métodos adicionales que calculen el determinante y la transpuesta de la matriz actual. Debe utilizar recursividad. * Agregue un método que calcule la inversa de la matriz actual y que produzca como resultado un nuevo objeto matriz que corresponda a la inversa de la matriz original. No puede utilizar ninguna biblioteca o binding de python de ayuda matemática: debe usar solo python sin importar ningún módulo. * Instale la librería orocos-kdl desde aquí: https://github.com/arcoslab/orocos-kdl * Instale avispy: https://github.com/arcoslab/avispy * Utilizando ejemplo4.py y el archivo robot_desc_example.py cree una cadena kinemática y despliéguela que identifique un dedo de la nueva mano del robot humanoide. * Permita al programa modificar un ángulo de dicha cadena kinemática en tiempo real utilizando un puerto de yarp. ===== Evaluación ===== Se evaluará el cálculo correcto de la transpuesta y determinante e inversa. [[teaching:ie0117:actividad_6:cuestionario|Cuestionario]] ~~DISCUSSION~~