Étape 11 : Création d’une Simulation
Je suis une personne très visuelle, une fois que j’avais besoin de graphique en trois dimensions, je me suis tourné au traitement pour m’aider à voir le bras et exécuter le prétraitement mathématiques pour comprendre les formes du bras nécessaire pour assumer pour peindre la toile. Le simulateur fait deux choses : calculer les coordonnées de notre cible toile points et déterminer quels angles sont valides pour le bras atteindre ces points (qui sont des valeurs précises, nous pouvons envoyer aux moteurs d’assumer la forme désirée).
Définition de la toile
En réalité, la toile est une limite fixe dans un avion. Nous devons définir des points fixes au sein de cette frontière, afin que nous pouvons arriver à un total fini de points à peindre. L’image que nous demandons la caméra étant 80 x 60 pixels, nous allons contrainte le notre zone cible à 60 par 60 points espacés de 3 millimètres pour un total de 3600 cibles possibles pour la pointe du pinceau. Bien qu’il y a beaucoup de points, nous avons seulement besoin de calculer les 60 coordonnées pour chaque axe. Pourquoi ? Les « lignes » dans notre toile zone partage le mêmes X et les valeurs de Y, mais qui ont des valeurs différentes de Z. Les « colonnes » dans notre région de toile tous ont la même valeur de Z, mais des valeurs de XY. Avec tout cela à l’esprit, nous pouvons déterminer tous les points de cibles possible avec seulement 60 valeurs par coordonnées. Les détails exacts de ce sont expliqué plus clairement mon esquisse de traitement.
Apprendre à se déplacer
Maintenant que nous avons un tableau défini de toile points, comment passer le bras de telle sorte qu’il atteint ces points ? C’est où le compromis de choix avant cinématique nous laisse avec plus de travail qu’aurait IK. Puisque nous savons que l’emplacement du point, nous avons vraiment besoin de bouger avec précision le bras au point, pas précisément. Cela se résume à accepter une petite quantité d’erreur sur le plan où est la pointe de brosse et où est le point cible réelle. Parcourir toutes les configurations possibles du bras donné une résolution angulaire fixe, nous pouvons vérifier à voir de la distance entre notre point de brosse et cible est sous un certain seuil, dans l’affirmative, alors nous sommes suffisamment proches pour dire que le robot est en fait atteint son objectif. Bien que nous allons finalement passer le bras dans les mesures d’onedegree, il s’agit d’une résolution trop fine pour tester le bras étant donné que le nombre d’équations de point flottant serait millions de dollars, c'est-à-dire trop de travail pour votre ordinateur. Afin d’accélérer les choses, j’ai mis la simulation pour démarrer à un degré bien sloppier de résolution (10 degrés incrémente par exemple), et puis courut bien que toutes les configurations possibles, tester les distances à chaque étape. Vélo bien que tous les points, si une correspondance est trouvée à la résolution actuelle, puis les valeurs pour les angles de moteurs sont stockées pour ce point de coordonnées (0 à 3599). Chaque angle du moteur est limitée basée sur des limitations physiques et des raisons stylistiques (je l’ai mis tel que le bras fait toujours une forme concave en ce qui concerne la toile). Si aucune correspondance n’est trouvée à la résolution angulaire donnée, nous augmenterons notre résolution (diminuer les mesures angulaires) et ensuite faire défiler les points encore une fois, mais seulement tester des formes pour les points qui n’ont pas déjà marqués comme ayant été découvertes dans les résolutions inférieures. Même à une résolution modeste et une distance acceptable à la cible de 1,4 millimètres, 3600 points s’est avérés pour prendre trop longtemps, donc je me suis installé sur une nouvelle résolution de 24 par 24 points centré dans notre grille de toile plus tôt, pour un total de 576 désiré bras formes. Après avoir laissé la simulation à exécuter pendant une heure et demie, il se termine et renvoie un fichier .txt contenant de virgule flottante pour les angles de toutes les valeurs au format un Arduino style tableau à deux dimensions. Ce .txt peut maintenant être reformaté comme un fichier d’en-tête qui peut être inclus dans l’esquisse de la Galilée.