Línea seguidor Robot - Control PID - Setup Android (7 / 12 paso)

Paso 7: Control de dirección (Control proporcional - P)

Perfecto! En este punto, nuestro Robot está montado y operativo. Debe realizar algunas pruebas básicas con los motores, lea la salida de sensores y pruebas sobre una línea. Lo que falta es el verdadero "cerebro", los primeros pasos de una "inteligencia artificial". Llegaremos a esto, aplicar una lógica de control que garantice que se mantendrá el Robot siguiendo la línea.

Simple Control proporcional:

Supongamos que el Robot está funcionando sobre una línea y la salida del Sensor de matriz es: "0 0 1 0 0". El error correspondiente es "0". en esta situación, ambos motores va a correr hacia adelante en una velocidad constante:

Por ejemplo, con iniMotorSpeed = 250; significa que Servo de la izquierda van a recibir pulsos de 1, 250us y derecho Servo 1, 750us y el Robot avanzará en la mitad de velocidad. Recuerde que la velocidad de avance de Servo derecho varían con la longitud del pulso de 1, 500us (detenido) a 2, 000us (full velocidad) y la izquierda del 1, 500us (detenido) a 1, 000us (full velocidad).

rightServo.writeMicroseconds(1500 + iniMotorPower);

leftServo.writeMicroseconds (1500 - iniMotorPower);

Supongamos ahora que el Robot a la izquierda (es como "la línea va a derecha") y cubrió también el sensor 3. La salida de la matriz será: "0 0 1 1 0" y el error = 1. En esta situación lo que necesita es activar el Robot a la derecha. Para ello, usted debe disminuir la velocidad del Servo de la derecha lo que significa disminuir la longitud del pulso". También, debe aumentar la velocidad del Servo de la izquierda, lo que significa disminuir la longitud del pulso del servo izquierdo. Para ello, tenemos que cambiar la función de control del motor:

rightServo.writeMicroseconds (1500 + iniMotorPower - error); == > Error positivo: disminuir velocidad

leftServo.writeMicroseconds (1500 - iniMotorPower - error); == > Error positivo: aumentar la velocidad

La lógica anterior es correcta, pero es fácil comprender que sumar o restar "1" microsegundo en longitud del pulso no generará la corrección necesaria en un tiempo realista. Es intuitivo que el número que se agrega o resta debe ser mayor. por ejemplo 50, 100, etc. Para conseguir, el "error" debe ser multiplicado por una constante "K". Una vez que la influencia de esta constante será proporcional al error, la nombramos "constante proporcional: Kp).

La motricidad será:

int Kp = 50;

rightServo.writeMicroseconds (1500 + iniMotorPower - Kp * error);

leftServo.writeMicroseconds (1500 - iniMotorPower - Kp * error);

Podemos volver a lo que sucederá con los motores como se muestra a continuación:

  • Sensor de matriz: 0 0 1 0 0 == > error = 0 == > longitud del pulso del Servo derecho = 1, 750us == > longitud del pulso del Servo de la izquierda = 1, 250us (ambos motores a la misma velocidad)
  • Sensor de matriz: 0 0 1 1 0 == > error = 1 == > longitud del pulso del Servo derecho = 1, 700us (más lento) == > longitud del pulso del Servo de la izquierda = 1, 200us (más rápido)

Si la situación es lo contrario y el Robot a la derecha, el error sería "negativo" y la velocidad de los servos debe cambiar:

  • Sensor de matriz: 0 0 1 0 0 == > error = 0 == > longitud del pulso del Servo derecho = 1, 750us == > longitud del pulso del Servo de la izquierda = 1, 250us (ambos motores a la misma velocidad)
  • Sensor de matriz: 0 1 1 0 0 == > error = -1 == > longitud del pulso del Servo derecho = 1, 800us (más rápido) == > longitud del pulso del Servo de la izquierda = 1, 300us (más lento)

En este punto es evidente que tanto el Robot a un lado, mayor será el error y más rápido debe volver al centro. La velocidad con el Robot reacciona al error será proporcional a ella.

Artículos Relacionados

LINUSBot - Robot seguidor de línea - con control PID

LINUSBot - Robot seguidor de línea - con control PID

LINUSBot - Robot seguidor de línea - con control PIDLINUSBot - Control PIDSe trata de un complemento de la primera "instructables" de LINUSBot (línea que sigue el robot).Ahora el robot tiene control de movimiento realizado por un controlador PID
Línea siguiente Robot con el control PD básico (proporcional-derivado)

Línea siguiente Robot con el control PD básico (proporcional-derivado)

Este Instructable demostrará cómo utilizar control PD (Proporational-derivado) de un seguidor de línea simple. El ejemplo utiliza el seguidor de línea desarrollado en el seguidor de línea básico Instructable:Se utilizarán los siguientes componentes:1
Línea siguiente robot con algoritmo PID

Línea siguiente robot con algoritmo PID

línea siguiente robot diseñado con Solidworks e implementado con arduino, ardumoto para el control de las ruedas y una barra de sensor con 8 sensores infrarrojos. Para cualquier duda con respecto a esta línea que sigue por favor dejadme un comentario
Robot control remoto frambuesa Pi (PS3 controlador) - neurálgico Fablab

Robot control remoto frambuesa Pi (PS3 controlador) - neurálgico Fablab

Estas instrucciones de intentan asumir muy poco. Que si se puede arrancar un Raspberry Pi y tiene conexión a internet debe ser capaz de completar este pequeño gran proyecto.Básicamente, este es un proyecto que resultará en algunas áreas específicas q
DIY Robot RC con su Android teléfono Tutorial parte 2: Bluetooth/microcontrolador partes y cableado

DIY Robot RC con su Android teléfono Tutorial parte 2: Bluetooth/microcontrolador partes y cableado

en la parte 2 de este tutorial, se introducen detalles de piezas y el cableado. Usted aprenderá cómo construir el Control del Robot RC paso a paso. También proporciona la base para la parte 3 que se muestra cómo conectarse a un puente H y motores. ¡
Mano robot controlable con Flex sensores y Servos

Mano robot controlable con Flex sensores y Servos

Este Instructable le mostrará cómo hacer una mano robótica controlable que es controlada con Arduino microcontrolador y servo motores. La mano robótica se trasladará directamente usando un guante de la mano.Antes de comenzar me gustaría dar crédito a
"DIY - excelente línea TRACER ROBOT sin microcontrolador"

"DIY - excelente línea TRACER ROBOT sin microcontrolador"

HolaSoy Ajinkya DixitEste es mi primer proyecto de robótica - "La línea TRACER ROBOT sin microcontrolador"Estos robot no contiene ningún tipo de microcontroladores, en lugar de otro utiliza solo circuito integrado (IC) y algunas otras piezas de
Boe Bot/Arduino línea siguiente robot

Boe Bot/Arduino línea siguiente robot

esta es una guía bastante clara de cómo construir una línea que sigue el robot. utiliza luces, luz resistencias dependientes (LDRs), un arduino y un chasis de boe bot (funcionará cualquier chasis robot con 2 servos de rotación continua). Lee los sens
ActoBitty línea siguiente Robot

ActoBitty línea siguiente Robot

Aprender a construir una línea que sigue el robot usando la ActoBitty y un Arduino. A continuación es la lista de hardware necesario para completar este build.Hardware requerido1 x Kit de Robot Actobitty 2 ruedas (https://www.servocity.com/html/actob
Línea siga robot, ninguna programación requerida

Línea siga robot, ninguna programación requerida

esta es la línea siguiente robot que diseñado y construido para una evaluación de diseño electrónico de CNAE. la idea vino a mí jugando con resistencias dependientes de luz (LDR), darse cuenta de que se puede variar la velocidad del motor cuando se c
Gesture control car(robot) con Arduino y Android(bluetooth)

Gesture control car(robot) con Arduino y Android(bluetooth)

Hola amigos,Aquí es un proyecto interesante por todo lo que mentes creativas que hay. Vamos a construir un auto RC android teléfono controlado.Nada podría ser más fascinante que los coches de controlados remotos. Éste utiliza Bluetooth para la comuni
Más simple del mundo línea siguiente Robot

Más simple del mundo línea siguiente Robot

Aquí en este instructable voy a mostrarte cómo hacer la línea del mundo más simple siguiente robot. Más simple en términos de número de piezas y la complejidad del circuito.La mayoría de la línea después de robots en internet utilizan complejos circu
EZ Robot Controlled Lost in Space B9 Robot

EZ Robot Controlled Lost in Space B9 Robot

Esta es mi réplica exacta de tamaño completo de perdidos de la década de 1960 programa en Robot B9 de espacio. Yo he estado construyendo durante unos 2 años. La animación es controlado por 3 tableros de control EZ Robot (EZB) y sus archivos de voz fu
Construir un robot control remoto

Construir un robot control remoto

En este post voy a describir cómo diseño, hacer, probar y mejorar un controlador remoto RC modificado para requisitos particulares.El objetivo de este proyecto es crear un mando que puede ser alternativo a un transmisor de RC o controladores comercia