Tiene varias opciones aquí, la primera es usar un motor paso a paso o un servo de rotación continua, como otros mencionaron. La desventaja es que agotarán la batería rápidamente y son más caros que los motores de CC. Los motores paso a paso también tienden a ser demasiado pesados para robots más pequeños (aunque podría estar equivocado sobre estos dos puntos). La segunda opción, que recomiendo encarecidamente, es utilizar dos motores de CC con codificadores rotativos como este, combinados con un chip L298N Dual H-Bridge. Es lo que personalmente prefiero para los robots pequeños, ya que siento que, aunque es un poco más complicado que solo usar steppers, puedes obtener lo mejor de ambos mundos. El chip Dual H-Bridge le permite controlar la dirección y la velocidad y las bibliotecas arduino están ampliamente disponibles en línea (o pueden codificarse fácilmente).
En cuanto a cómo calcularía realmente la distancia, necesitará saber un poco sobre el codificador de su motor. El motor previamente vinculado, por ejemplo, tiene un codificador rotatorio incremental con 2 canales (un codificador de cuadratura), esto significa que tiene dos canales que cambian entre cero y uno y decodificar esos valores puede darle el número de revoluciones y la dirección de rotación. Aquí se da una explicación básica. En caso de que esté utilizando un UNO y necesite dos motores, estará atascado porque tiene 2 canales por motor pero solo 2 pines. Puede superar esto XORing los dos canales (usando un chip XOR como el 8086), y conectando la salida a los pines de interrupción. Aún podrá medir la distancia con la misma precisión, pero perderá la capacidad de medir la dirección.
Para leer y decodificar los codificadores, sugeriría leer sobre los pines de interrupción Arduino (2 y 3 en la UNO) e interrumpir las rutinas de servicio. Los pines de interrupción pueden detectar cambios (como un flanco ascendente o descendente o ambos) e invocar funciones conocidas como ISR (rutinas de servicio de interrupción). Esto detiene la ejecución del programa hasta que el ISR haya finalizado la ejecución y, por lo tanto, los ISR deben ser lo más cortos posible. Puede configurar su ISR para calcular el cambio de distancia dependiendo de la RCP de su motor, y posiblemente alterar su curso para asegurarse de que esté en línea recta si lo requiere (aunque eso no es tan simple, sugeriría leer sobre los controladores PID )
- ¿Cuánto debo asignar para Ubuntu root, swap y home para computadora Machine / Deep Learning?
- No todos pueden ser expertos en un campo, y con una curva de aprendizaje, ¿hay un perfil particular de una persona especialmente adecuada para comenzar una carrera en IA?
- ¿Cuál es el estado actual de la investigación de inteligencia artificial?
- Cuando hacemos que la IA sea consciente y sienta que es un dolor de entrenamiento existente, ¿seremos torturadores?
- ¿Cuál es la limitación del aprendizaje automático para el comercio financiero?