Como no proporcionó ningún detalle específico, voy a responder esta pregunta en un sentido bastante general, para un supuesto principiante.
Para un robot bastante básico, digamos un pequeño robot con ruedas que puede seguir líneas en el suelo (como el Pololu 3pi Robot), generalmente usará una sola computadora llamada microcontrolador. Como respondió Taj Bennit, Arduino es un ejemplo de una marca de microcontroladores comúnmente utilizados en robótica. Los microcontroladores son similares a una PC típica en que tiene habilidades de programación bastante genéricas. Puede escribir una pieza de software que realice principalmente cualquier tipo de cálculo, y puede usar estructuras de datos básicas y cosas así.
Sin embargo, son especiales, ya que el microcontrolador está diseñado para comunicarse fácilmente con otras piezas de hardware, y hay algunas formas principales de hacerlo:
- Cómo decidir el número de nodos en una capa oculta de una red neuronal
- ¿Los desarrolladores web deben preocuparse por el advenimiento de la IA / automatización?
- ¿Alguien aquí conoce el mejor instituto para aprender IA en Bangalore, India?
- ¿Alguno humano ha fallado alguna vez en la prueba de Turing?
- ¿Cómo funciona la IA del juego de ping pong? ¿Qué es una explicación detallada o algunas referencias que lo explican?
- Registros para hardware especializado: puede pensar en un registro como una dirección en la memoria que se ha reservado para algún propósito específico.
- PWM – Las señales moduladas por ancho de pulso son cómo se controlan las velocidades del motor. Esto generalmente se hace cambiando los valores de registro en el microcontrolador. Puede aprender todo sobre las señales PWM en línea, pero la mejor analogía sería encender y apagar un interruptor de luz muy rápido para simular la atenuación. Si lo deja encendido todo el tiempo, obtendrá el brillo completo, y si lo deja encendido la mitad del tiempo, obtendrá el brillo medio. Al cambiar la cantidad de tiempo que deja el interruptor encendido, puede ajustar el brillo, a pesar de que sus únicas opciones para el interruptor son encendido y apagado.
- GPIO – Entrada-salida de propósito general: estos pines son útiles para conectar sensores simples (como un sensor infrarrojo, utilizado para la detección de línea). Básicamente, cualquier cosa que pueda crear una salida binaria se puede conectar a un pin GPIO y leer fácilmente en su programa
- * Convertidores digitales analógicos : los ADC y DAC son útiles para trabajar con hardware que no tiene una entrada y salida binaria. Un ejemplo es un termómetro que usa un voltaje en una salida analógica para informar la temperatura. El ADC puede convertir la señal analógica en un valor digital.
- Comunicación en serie: así es como puede hacer que su microcontrolador se comunique con una PC de escritorio para realizar cálculos más avanzados (por ejemplo, procesamiento de imágenes)
Una cosa que debe saber sobre los microcontroladores es que realmente solo ejecutan un solo programa a la vez. Generalmente, usted escribe una pieza de software que se ejecuta en un bucle y hace el mismo cálculo cada vez. Volviendo al ejemplo de seguimiento de línea, su programa probablemente haría lo siguiente:
- Lea el valor de los sensores IR
- Determine si se detecta una línea y dónde está (puede obtener más información sobre esto en línea)
- Calcule la velocidad a la que debe estar cada motor para seguir la línea (si necesita girar a la derecha, el motor izquierdo debe girar más rápido que el derecho)
- Genere una señal PWM o de control para cada motor.
- Repetir
Hay un último paso. Un PWM es excelente para decirle a un motor cuánto moverse, pero al provenir de un microcontrolador, la señal generalmente no tiene suficiente potencia para mover un motor. En el pasado, he usado lo que se llama un puente H, que interpreta la señal PWM para generar una nueva señal que lleva suficiente potencia para hacer funcionar un motor. El puente H se puede usar para interpretar si desea un motor hacia adelante o hacia atrás también.
Hay diferentes tipos de señales de control y hardware que se pueden usar, pero el flujo básico es el siguiente: Microcontrolador —- señal de control —–> Motor Driver —– potencia ——> Motor. Una vez que comprenda cómo hacer esto para un robot simple, puede extender la idea a controlar muchos motores al mismo tiempo, que es cómo funcionan los robots más avanzados.
* Editado el 17/01/2015: Se agregó ADC / DAC