¿Cuál sería el mejor algoritmo para un robot Arduino que tiene 2 ruedas y un sensor ultrasónico fijo, para evitar obstáculos de manera óptima?

Por lo tanto, intentaré ponerlo de una manera simple para una mejor comprensión.

Primero, conozca su hardware.

Dependiendo del alcance y la precisión de los sensores, debe establecer la velocidad de sus ruedas. Si no se cumple esta condición, tendría ondulaciones en su unidad.

Una vez que calibre su sensor, puede usar una condición if en su código para verificar el caso en el que hay un obstáculo frente al robot a una distancia particular y escribir un comando para encender los motores, de lo contrario puede hacer que el bot funcione Derecho. No necesita preocuparse por el tiempo de respuesta porque arduino (mega) verifica los valores de los sensores a 16 MHz, lo que significa un tiempo de muestreo menor a 0.1 micro segundos.

Ahora, una consideración más importante es la de los valores basura del sensor (que no es un problema si tiene un producto de una empresa de marca, que es algo costoso). En tales casos, puede asegurarse de que el valor del sensor esté suavizado (promediado) de modo que los errores de impulso o los valores basura no influyan en la posición de obstáculo del robot.

Estoy seguro de que puede obtener un código de muestra de un sensor de ping (ultrasónico) para la detección de obstáculos utilizando arduino de Google. Todo lo mejor.