En primer lugar, te envidio los servos Dynamixel 🙂 Me encantaría tenerlos en mis manos y construir mi hexápodo utilizando esos en lugar de los chinos baratos 🙂
Al diseñar un algoritmo de movimiento, no debe pensar en los servos o la estructura mecánica de sus robots. Debes pensar que hay cuerpo y luego hay 6 puntos finales de las piernas. Su algoritmo de movimiento funciona en estos 7 puntos abstractos (el cuerpo tiene orientación, pero los otros son solo puntos 3D). Luego tienes IK (cinemática inversa) encima de eso que se ajusta a la pierna entre el cuerpo y el punto final de una pierna. IK calcula los ángulos para cada servo. Divides las piernas en dos grupos 1,3,5 y 2,4,6. Y mueves estos grupos uno tras otro. Hay dos formas de mover toda la estructura:
* Impulsado por el cuerpo: simplemente mueve el cuerpo según la entrada (¿joystick?) Y simplemente mueve grupos de piernas hacia arriba y hacia abajo y los reubica según la posición (proyectada) del cuerpo.
* Basado en pierna: mueve grupos de piernas según la entrada y vuelve a colocar el cuerpo según la posición promedio entre dos grupos de piernas.
Este es un algoritmo personalizado escrito por el cuerpo en acción. Tenga en cuenta que el primer eje en una pata no es vertical, se encuentra en un ángulo de 45 grados. Esto hace que el posicionamiento de las piernas parezca menos mecánico. Como mencioné, el algoritmo de movimiento no se preocupa por eso: IK se encarga de calcular los ángulos correctos para cada servo.
- ¿Para qué sirve la clasificación de burbujas?
- ¿Cuáles son algunas técnicas utilizadas en la criptación?
- ¿Cuál es el algoritmo más eficiente para determinar una ruta de entrega para un camión de salida que se mueve desde un punto de partida a un punto final con múltiples paradas intermedias y sin retorno al punto de partida?
- ¿Debo hacer investigación de pregrado en estructuras de datos teóricos y algoritmos, incluso si todavía no estoy seguro de si estoy persiguiendo la industria o la academia?
- ¿Cuál es el mejor para resolver el problema: la programación dinámica o el enfoque codicioso?