Tabla de contenido:
- Paso 1: el diagrama de flujo
- Paso 2: PRINCIPALES COMPONENTES INVOLUCRADOS:
- Paso 3: MÓDULO V1:
- Paso 4: MÓDULO V2:
- Paso 5: PROBLEMAS INVOLUCRADOS -
- Paso 6: MÓDULO A1 y A2:
- Paso 7: enlace a videos:
Video: Robot autónomo: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
¿Qué hice?
● Un bot que puede entrenarse para caminar (avanzar) en diferentes superficies. El robot representa a una criatura simple con 4 piernas "sin rodillas" que lucha por avanzar. Sabe que puede orientar cada una de las piernas de 3 formas posibles únicamente. Ahora tiene que descubrir los mejores pasos posibles que puede tomar para seguir avanzando. Dado que su movimiento también depende de la fricción con la superficie, creemos que por cada superficie diferente que camina, habrá un conjunto de pasos diferente (no necesariamente único pero muy probablemente similar) para maximizar su esfuerzo de avanzar.
¿Para qué se usa esto?
● Se utiliza mejor para visualizar los patrones de marcha de un ROBOT AI.
Paso 1: el diagrama de flujo
Aquí un desglose de todo el proyecto. En general, el proyecto consta de 2 partes de electrónica con estructura mecánica del robot y la otra es el algoritmo que se ejecuta en la PC y el código que se ejecuta en Arduino.
Paso 2: PRINCIPALES COMPONENTES INVOLUCRADOS:
Electrónica
Arduino UNO (!)
Sensor ultrasónico
Servomotores
Módulo bluetooth
Codificación
IDE de Arduino
Teraterm
Cuaderno Jupyter
Q- algoritmo de aprendizaje
Paso 3: MÓDULO V1:
Aprendizaje por refuerzo: usando ANN (Red neuronal artificial) planeamos entrenar a nuestro robot y se nos ocurrieron dos métodos posibles.
Restricciones: Cada pata (servomotor) está restringida a tomar solo 3 posiciones posibles 60, 90 y 120 grados. Supuestos: Consideramos que el movimiento del bot constituirá 4 estados (un estado es una cierta orientación de los cuatro servos), es decir, habrá 4 estados diferentes del robot que consideraremos como 4 pasos respectivamente dándonos un ciclo de movimiento, en que el bot se moverá un poco más adelante. Este ciclo se repetirá hasta el infinito para mantener el bot en movimiento.
Pero el único problema fue el número de iteraciones a evaluar: tenemos 3 posibles orientaciones para cada motor y hay 4 motores diferentes, lo que lo hace 3 ^ 4 = 81 estados en los que el robot puede existir en un solo paso o estado. Tenemos que dar 4 pasos diferentes para completar un movimiento complejo, lo que significa 81 ^ 4 = 43, 046, 721 combinaciones posibles que se deben verificar para obtener la máxima eficiencia para un ciclo de movimiento. Suponga que se necesitan 5 segundos para entrenar un solo estado, ¡se necesitarían 6.8250 años para completar el entrenamiento!
Paso 4: MÓDULO V2:
Algoritmo de Q-learning
Un algoritmo de aprendizaje por refuerzo temprano desarrollado para entrenar cosas que tienen un estado finito y encontrar los caminos más cortos. fuente:
Matemáticas del algoritmo: hay 81 estados posibles para cada paso en el que puede estar el bot, nombramos estos estados como números del 1 al 81 y ahora lo que queremos saber es el valor de transición, es decir, el cambio en la posición del robot (distancia movida) mientras se mueve de un estado aleatorio s1 a algún otro estado s2 (s1, s2 de esos 81 estados). Podemos verlo como una matriz que tiene 81 filas y 81 columnas donde un elemento de la matriz será igual al valor de la distancia desde la que se movió correspondiente a su número de fila y columna. Estos valores pueden ser positivos o negativos dependiendo de la acción del robot en palabra real. Ahora encontraremos un ciclo cerrado de estados donde la distancia que recorre es siempre positiva. Evaluaremos valores de matriz de 81x81 que son 81 ^ 2 = 6561, ahora si nos tomamos 5 segundos para almacenar estos valores en la matriz, entonces será tomar 9.1125 horas solo para hacer una matriz completa y luego un bucle de pasos para maximizar la eficiencia de movimiento podría resolverse fácilmente.
Paso 5: PROBLEMAS INVOLUCRADOS -
- Para algún estado, el movimiento del robot era muy desigual y estaba afectando el valor del sensor de ultrasonidos, el robot se inclinaba y recogía la distancia de una pared distante.
- El problema de la desconexión de la computadora portátil y el reinicio de arduino estaba haciendo que entrenar desde el valor 0 fue muy irritante.
- Ver el tren del robot durante 5 horas continuas fue muy exhaustivo.
Paso 6: MÓDULO A1 y A2:
- La parte mecánica incluye la placa del chasis con cuatro servos fijados a ella. Usamos palitos de helado para hacer patas.
- Nuestra tarea principal: realizar un seguimiento de la distancia del bot desde su posición inicial.
- Nuestro primer enfoque fue usar el sensor giroscópico y usar la aceleración del bot a medida que se mueve para extraer su velocidad y, posteriormente, su posición.
- Problema: resultó ser demasiado complicado de implementar. Alternativa: restringimos el movimiento del robot a una sola dimensión y usamos un sensor ultrasónico para medir la distancia desde una pared en línea recta al frente.
- El módulo HC05-Bluetooth se utilizó durante el período de entrenamiento para transmitir la velocidad de transición de la distancia entre dos pasos a la PC y allí los datos se almacenaron en una matriz.
Paso 7: enlace a videos:
Pasos de bebé:
Toma de entrenamiento:
Casi recto:
Vídeo del robot bailando:
Vide0 final:
Recomendado:
Robot autónomo de extinción de incendios con llamas autosuficientes: 3 pasos
Robot autónomo de extinción de incendios con llamas que se encuentran a sí mismas: EL ROBOT DE LUCHA CONTRA INCENDIOS AUTÓNOMO MÁS PODEROSO GEN2.0HII..Este es nuestro primer proyecto. Así que comencemos. El concepto de este robot es muy simple. salvar la vida humana automática de bajo costo rápido ignífugo t
Robot autónomo Arduino miniaturizado (Land Rover / Coche) Stage1Model3: 6 pasos
Miniaturización del robot autónomo Arduino (Land Rover / Car) Stage1Model3: Decidí miniaturizar el Land Rover / Car / Bot para reducir el tamaño y el consumo de energía del proyecto
GorillaBot, el robot cuadrúpedo Sprint autónomo Arduino impreso en 3D: 9 pasos (con imágenes)
GorillaBot, el Robot Cuadrúpedo Sprint Autónomo Arduino Impreso en 3D: Cada año en Toulouse (Francia) se lleva a cabo la Toulouse Robot Race # TRR2021 La carrera consiste en un sprint autónomo de 10 metros para robots bípedos y cuadrúpedos. Sprint de 10 metros. Así que con eso en m
Robot Arduino con distancia, dirección y grado de rotación (este, oeste, norte, sur) controlado por voz mediante módulo Bluetooth y movimiento autónomo del robot: 6 pasos
Robot Arduino con distancia, dirección y grado de rotación (este, oeste, norte, sur) controlado por voz usando el módulo Bluetooth y el movimiento autónomo del robot: este Instructable explica cómo hacer un robot Arduino que se puede mover en la dirección requerida (adelante, atrás , Izquierda, Derecha, Este, Oeste, Norte, Sur) requerida Distancia en centímetros usando el comando de voz. El robot también se puede mover de forma autónoma
Robot autónomo TinyBot24 25 Gr: 7 pasos (con imágenes)
TinyBot24 Autonomous Robot 25 Gr: Pequeño robot autónomo accionado por dos servos de 3.7 gramos con rotación continua.Alimentado por una batería Li-ion de 3.7V y 70mA MicroServo Motors 3.7 gramos H-Bridge LB1836M soic 14 pin Doc: https: // www .onsemi.com / pub / Collateral / LB1836M-D.PDF Microcon