Table des matières:

Robot auto-marcheur : 7 étapes
Robot auto-marcheur : 7 étapes

Vidéo: Robot auto-marcheur : 7 étapes

Vidéo: Robot auto-marcheur : 7 étapes
Vidéo: Je Teste Un BOT DE TRADING Pendant 7 JOURS (Les résultats sont INCROYABLE) 2024, Novembre
Anonim
Robot auto-marcheur
Robot auto-marcheur

Qu'est-ce que j'ai fait ?

● Un bot qui peut être entraîné à marcher (avancer) sur différentes surfaces. Le bot représente une simple créature avec 4 jambes «sans genoux» qui a du mal à avancer. Il sait qu'il ne peut orienter chacune des pattes que de 3 manières possibles. Il doit maintenant déterminer les meilleures mesures possibles pour continuer à avancer. Étant donné que son mouvement dépend également de la friction avec la surface, nous pensons que pour chaque surface différente sur laquelle il marche, il y aura un ensemble de pas différent (pas nécessairement unique mais très probablement similaire) pour maximiser son effort d'avancer.

A quoi cela sert?

● Il est mieux utilisé pour visualiser les schémas de marche d'un AI ROBOT.

Étape 1: le diagramme de flux

Le diagramme de flux
Le diagramme de flux

Voici un aperçu de l'ensemble du projet. Globalement, le projet est en 2 parties électroniques avec la structure mécanique du robot et l'autre est l'algorithme fonctionnant sur PC et le code fonctionnant sur arduino.

Étape 2: PRINCIPAUX COMPOSANTS IMPLIQUÉS:

Électronique

Arduino UNO (!)

Capteur à ultrasons

Servomoteurs

module Bluetooth

Codage

IDE Arduino

Tératerme

Cahier Jupyter

Algorithme d'apprentissage Q

Étape 3: MODULE V1:

MODULE V1
MODULE V1

Apprentissage par renforcement: En utilisant ANN (Artificial Neural Network), nous avons prévu d'entraîner notre robot et nous avons proposé deux méthodes possibles.

Contraintes: Chaque jambe (servomoteur) est contrainte de ne prendre que 3 positions possibles 60, 90 & 120 degrés. Hypothèses: Nous considérons que le mouvement du robot constituera 4 états (un état est une certaine orientation des quatre servos), c'est-à-dire qu'il y aura 4 états différents du robot que nous considérerons comme 4 étapes respectivement nous donnant un cycle de mouvement, en lequel le bot se déplacera sur une certaine distance. Ce cycle sera répété à l'infini pour maintenir le bot en mouvement.

Mais le seul problème était le nombre d'itérations à évaluer - Nous avons 3 orientations possibles pour chaque moteur et il y a 4 moteurs différents, ce qui en fait 3^4=81 états dans lesquels le robot peut exister en une seule étape ou état. Nous devons effectuer 4 étapes différentes pour effectuer un mouvement complexe, ce qui signifie 81^4 = 43 046 721 combinaisons possibles à vérifier pour une efficacité maximale pour un cycle de mouvement. Supposons qu'il faille 5 secondes pour entraîner un seul état, il faudrait 6,8250 ans pour terminer l'entraînement !

Étape 4: MODULE V2:

Algorithme d'apprentissage Q

Un algorithme d'apprentissage par renforcement précoce développé pour entraîner des objets ayant un état fini et trouver les chemins les plus courts. source:

Math of Algorithm: Il y a 81 états possibles pour chaque étape dans laquelle le bot peut être, nous nommons ces états comme des nombres de 1 à 81 et maintenant ce que nous voulons savoir est la valeur de transition, c'est-à-dire le changement de position du robot (distance parcourue) pendant qu'il passe d'un état aléatoire s1 à un autre état s2 (s1, s2 à partir de ces 81 états). Nous pouvons le voir comme une matrice ayant 81 lignes et 81 colonnes où un élément de la matrice sera égal à la valeur de la distance à partir de laquelle il s'est déplacé correspondant à son numéro de ligne et de colonne. Ces valeurs peuvent être positives ou négatives selon l'action du robot dans le mot réel. Maintenant, nous allons trouver une boucle fermée d'états où la distance parcourue est toujours positive, nous évaluerons les valeurs de la matrice 81x81 qui sont 81^2=6561, maintenant si nous prenons 5 secondes pour obtenir ces valeurs stockées dans la matrice, alors il sera il ne faut que 9,1125 heures pour créer une matrice entière, puis une boucle d'étapes pour maximiser l'efficacité du déplacement pourrait être facilement découverte.

Étape 5: PROBLÈMES IMPLIQUÉS -

  1. Pour certains États, le mouvement du bot était très inégal et affectait la valeur du capteur des ultrasons, le bot s'inclinait et s'éloignait d'un mur éloigné.
  2. Le problème de déconnexion de l'ordinateur portable et de redémarrage de l'arduino faisait qu'il s'entraînait à partir de la valeur 0 était très irritant.
  3. Regarder le train du robot pendant 5h en continu était très exhaustif.

Étape 6: MODULE A1 et A2:

  • La partie mécanique comprend la carte du châssis avec quatre servos qui y sont fixés. Nous avons utilisé des bâtons de crème glacée pour faire des jambes.
  • Notre tâche principale - garder une trace de la distance du bot par rapport à sa position initiale.
  • Notre première approche consistait à utiliser un capteur gyroscopique et à utiliser l'accélération du robot lorsqu'il se déplace pour extraire sa vitesse et par la suite sa position.
  • Problème - Cela s'est avéré trop compliqué à mettre en œuvre ! Alternative - Nous avons limité le mouvement du bot à une dimension uniquement et utilisé un capteur à ultrasons pour mesurer la distance par rapport à un mur droit devant.
  • Le module HC05-Bluetooth a été utilisé pendant la période de formation pour transmettre le taux de transition de distance entre deux étapes au PC et là les données ont été stockées dans une matrice.

Étape 7: Lien vers les vidéos:

Lien vers les vidéos
Lien vers les vidéos

Pas de bébé:

Tir d'entraînement:

Presque tout droit:

Vidéo du robot dansant:

Vidéo finale0:

Conseillé: