Introducción:
Este es el 'DumbBot', un robot de tracción diferencial de 4 ruedas, diseñado para aplicaciones de Inteligencia Artificial (IA). Inspirado en los robots de laKit de herramientas de IA (AITK)Este proyecto busca implementar una versión en el mundo real de estos robots que los estudiantes puedan usar para crear robots de IA con detección visual. Este proyecto pretende ser barato, fácil de producir y accesible para los estudiantes de IA de ciencias de la computación que ahora pueden recibir una experiencia de ingeniería formal.
Desglose del componente físico:
El robot físico se compone de dos partes, una sección superior e inferior. La sección superior contiene la electrónica que lee los datos del sensor ultrasónico y los transfiere al Arduino UNO. El Uno tiene un controlador de motor Adafruit v2 que luego puede usar los datos del sensor para accionar los accionamientos diferenciales de la rueda trasera. La sección inferior contiene los dos motores eléctricos DC sin escobillas.
Los archivos CAD están disponibles tanto para las secciones superior e inferior. Las secciones están divididas en dos por una lámina de acrílico de 3 mm cortada por láser. La lámina de acrílico de 3 mm es donde se montan todos los componentes eléctricos.
Desglose de componentes electrónicos:
La electrónica se vuelve un poco complicada. La electrónica utiliza un total de 6 entradas, que son sensores ultrasónicos (RCWL-1601) Comprado de Adafruit o Mouser. Los dos componentes de salida son dos motores sin escobillas de CC que son accionados por unAdafruit Motor Shield v2.
Dado que hay bastantes voltajes que se requieren aquí, donde el Motor Sheild requiere una entrada de 5-12V, el Arduino Uno debería funcionar con 5V y los Sensores Ultrasónicos funcionan con 5V. Por lo tanto, para resolver este problema, podemos utilizar un simple circuito de voltaje con una entrada de batería LiPo de 9V o 2/3S. Este circuito de voltaje nos permite conectar el LiPo de 9V/2S/
Dado que esto es un poco complicado, he dibujado un diagrama de circuito básico:
Configuración del pin:
La configuración de los pines varía dependiendo de las placas elegidas. Yo me quedé con una Uno R3, pero la idea principal es que los requisitos mínimos son seis puertos GPIO y la capacidad de controlar dos motores de corriente continua.
Evidencia concreta:
Así que, ahora que hemos repasado algo de teoría básica, veamos algo de implementación. Utilizando los archivos CAD proporcionados, deberías poder crear un robot que se vea algo así:
Aquí hay alguno hardware de implementación de teclado adicional. Inspeccionemos las ruedas. Las ruedas se dividen en dos áreas principales. Las ruedas montadas en la parte trasera están conectadas directamente a los motores de CC para proporcionar una tracción diferencial para el control. Elegí la tracción a las ruedas traseras, pero esto depende de la elección de cada individuo. Las ruedas delanteras están conectadas mediante una varilla
Lo anterior dicta exactamente cómo ensamblar el componente inferior y también muestra los dos motores de CC que son los actuadores de este proyecto. Ahora que hemos discutido la construcción de la parte inferior, podemos comenzar a discutir la electrónica. Puedes ver un avance del cableado inferior que se utiliza para accionar los motores. Estos cables se tiran hacia arriba y se conectan a la placa Arduino.
La electrónica es difícil de explicar, pero se muestra una versión anotada a continuación:
Para explicar un poco sobre la figura 4, básicamente es una versión más desordenada de la electrónica mostrada en la figura 1. Los nuevos componentes importantes son los conectores del motor, que elegí usar conectores de cable en línea porque es más fácil desconectar la base de la electrónica. Los sensores ultrasónicos del lado derecho también están conectados. La parte interesante de esta configuración está en los sensores ultrasónicos. PuedesNuevo ping.Biblioteca de Arduino que permite que los sensores ultrasónicos sean accionados por un solo pin digital. Esto es lo que nos permite accionar tantos sensores ultrasónicos para este proyecto.
Capacidades:
Ahora hemos discutido el enfoque general del hardware del Dumb Bot. El código de controlador de muestra incluido en este documento muestra cómo leer y accionar los motores. Las capacidades de esto se basan en apoyarLa Inteligencia Artificial del Swarthmore College.Lab 1 Curso impartido en la primavera de 2024. El objetivo del laboratorio era resolver un problema de laberinto en el AITK utilizando un robot con sensores ultrasónicos en el lado derecho y la parte frontal del robot. El método para resolver esto es usar la regla de la mano derecha, que dicta que la forma más fácil de resolver un laberinto es simplemente apegarse al lado derecho del laberinto.
El Dumb Bot imita el potencial de este robot, donde el robot puede recopilar datos de los lados frontal, izquierdo y derecho con características de enderezamiento automático. La función de enderezamiento automático se muestra en el código de muestra, que implementa un controlador proporcional para que el robot se adhiera automáticamente a una pared.
Sin embargo, dadas estas características, ahora podemos resolver problemas más complejos, como la exploración ambiental y la detección móvil. Podrías notar que el robot no tiene suficiente potencia porque solo usa un Uno R3, pero podría actualizarse para funcionar con cámaras OpenMV y un Arduino Giga, lo que le daría aún más capacidades más allá de la detección de distancia de los sensores ultrasónicos.
Gracias por leer, y animo a cualquiera a intentar construir este robot. Fue un proceso divertido y tiene una multitud de capacidades.
태그
모델 소스
