Bitacora 📝 - tpII/2022-A.3-Micro-Quadruple GitHub Wiki

Bienvenidos a la Wiki del proyecto 2022-A.3-Micro-Quadruple!

Semana del 15 de Agosto:

Investigación exhaustiva para recolectar la mayor cantidad de información sobre cuadrúpedos. Nos centramos en entender la matemática que hay por detrás de mover un “brazo” de 2 articulaciones con los 3 grados de libertad para entender el movimiento de cada pata del futuro robot. Encontramos la siguiente lista de reproducción: https://www.youtube.com/playlist?list=PLIBwx_4D3aVq0rMrt4JK8yvKGQIKRZHKu la cual nos sirvió de base para entender conceptos de robótica, matrices de rotación, de transormación y cinemática directa.

Organizamos la información dentro del drive, armamos una carpeta con papers y comenzamos a resumirlos. Debatimos sobre cómo funciona la cinemática inversa, y en dónde puede usarse IA u otros algoritmos para el movimiento del robot. Investigamos formas de alimentar y coordinar 12 servos para armar la lista de materiales. Investigamos sobre la lista de materiales y definimos el microcontrolador, los servos y los componentes electrónicos extras a utilizar.

Encontramos un repositorio con código que podríamos llegar a usar para agilizar cálculos en el cuadrúpedo: https://github.com/vertueux/quadruped_kinematics

Semana del 22 y 29 de Agosto

Continuamos investigación, lectura de papers. Comenzamos la redacción del plan de proyecto. Armamos grupo de slack, y configuramos repo de github. Acordamos con Alan temas varios del proyecto.

Septiembre

Se continuo el análisis y se plantearon las diversas formas de mover al robot. Se decidió utilizar cinemática inversa tomando de referencia 3 grados de libertad por cada pata. Se decidieron los elementos a utilizar para la realización del robot. Se planteo la creación de la interfaz con React Se planteo el calculo de los movimientos en el propio microcontrolador.

Inicio de Octubre

Se obtuvieron las partes físicas que componen al cuadrúpedo. Se comenzaron a plantear esquemas de código.

Semana del 17 de Octubre

Se Realizo mas analisis para la aplicacion de matrices como posibilidad de movimiento. Se desarrollo el Front-End en React, teniendo varios botones que implementaran movimiento a futuro.

Semana del 24 de Octubre

Se realizo un analisis geometrico para el movimiento. Se creo un simple modelo en Tinkercad para validar informacion relacionada al movimiento. Se modelo en Geogebra una representacion de las limitaciones fisicas de los servomotores. Se desarrollo un programa en Matlab que realiza la implementacion de Cinematica Inversa mediante el Modelo Geometrico. Se modelo en Javascript variantes del programa de Matlab, referido a otro analisis geometrico.

Inicio de Noviembre

Se modifico la libreria servo.h para permitir mover el servomotor 180 grados. Por defecto la libreria los limita a 90 grados.

#define DEFAULT_MIN_PULSE_WIDTH      500 // uncalibrated default, the shortest duty cycle sent to a servo
#define DEFAULT_MAX_PULSE_WIDTH      2500 // uncalibrated default, the longest duty cycle sent to a servo 
#define DEFAULT_NEUTRAL_PULSE_WIDTH  1500 // default duty cycle when servo is attached
#define REFRESH_INTERVAL            20000 // classic default period to refresh servos in microseconds 
#define MAX_SERVOS                      9 // D0-D8
  • Se investigó de calibración de servos, uso de PCA9685
  • Se ensambló el robot con el controlador de servos
  • Se realizó una prueba de servidores
  • "You are connected!" - Se puso el ESP8266 como Access Point!
  • Se realizo la aplicacion de Cinematica Inversa segun el planteo geometrico para la pata delantera derecha

Noviembre

  • Se comenzó a configurar el modulo service en el front para hacer request, y a su vez se agreo un toast con un mensaje en base a la response de la request del back. Para instalar las librerias necesarias se deben correr los siguientes comandos
npm install [email protected]
npm install primereact --save
npm install primeicons --save
npm install react-transition-group --save
npm install classnames

Para mas info sobre como utilizar el Toast: https://dev.to/zhectorsm/how-to-use-toast-component-with-primereact-34e8

Diciembre

Se finalizo el planteo de la cinematica inversa en una pata. Se procedio a testear exhaustivamente el movimiento de una pata (3 servos). Se plantearon las igualdades de movimiento entre patas. Se realizo la cinematica inversa en todas las patas. Se consigio que el robot camine utilizando cinematica inversa.