Hola a todos nuevamente... he estado sin tiempo ultimamente y espero pronto liberarme para poder darle de lleno al proyecto... Bueno a lo que venia.... He estado dandole muchas vueltas al tema de la controladora de 24 servos (o mas), especialmente en el tema de COMUNICACION y CONTROL de los servos y he llegado a algunas conclusiones...
Para explicarme mejor les comento que yo anteriormente realice un proyecto de un
Robot Cuadrupedo: Quadbot en el cual hice una controladora de 6 servos (utilice 2 para mis 12 servos) y la programe en PicBasic Pro, la controladora no estaba tan mal, pero no controlaba como yo queria, en especial por la impresicion que me daba el usar Basic y el hecho que recien aprendia ese lenguaje de programacion en PIC's
Esa controladora recibia los angulos de los motores <0-250> y este valor era multiplicado por 10 con lo que tenia un tiempo util de <0-2500us> que era con lo que controlaba los motores. Lo unico malo es que mi algoritmo tenia muchos errores propios del mismo.
Principalmente como lo pensamos en esa epoca la idea era recibir la posicion y actualizarlo lo mas rapido posible en el servo, de manera que se pueda hacer un barrido de posiciones con un tiempo de muestreo (por asi decirlo) de manera que los movimientos generados en la PC por medio del Matlab, los podia enviar al robot enviando apropiadamente los valores de los angulos en los que debian posicionarse los 12 servomotores. De esa manera podia controlar la velocidad del robot solo ajustando el tiempo de actualizacion de datos o interpolando algunos angulos.
Por ejemplo, en el siguiente grafico se muestra el movimiento especifico de una pata al caminar, primero en sus ejes relativos Y(t) y Z(t) y luego en los 3 angulos (una sola pata) que recorre este movimiento para lograr todo un movimiento sincronizado.
Por esta razon para la forma en que voy a controlar el robot humanoide va a ser solo enviando las posiciones de los servos mas no la velocidad con la que se tienen que mover. Cabe recalcar que en el los calculos de los movimientos se tiene en cuenta la velocidad maxima de los servomotores.
Bueno, hasta aca dejo las cosas... ya les comentare como avanzo con el proyecto.
Un abrazo