Bonjour à tous,
Tout nouveau sur ce forum, je me permets de vous faire partager
2 simulations interactives de la cinématique grâce à l'excellente calculatrice graphique en ligne
Desmos
1 - Cf.
1st simulation avec les angles des servos = fonction(position de traçage) en déplaçant le pivot présenté en
orange dans la zone de traçage théorique
2 - Cf.
2nd simulation avec la position de traçage = fonction(angles des servos) en déplaçant les points
rouge et
vert permettant de faire varier les 2 angles entre 0° et 180°
Comme identifié par
BESQUEUT, les mouvements ne sont pas simples à déterminer mais ne sont pas insurmontables ;-)
À suivre...
NB1: Le point de traçage supportant le crayon et qui doit être différent du pivot
orange n'est pas actuellement pris en compte et fera l'objet d'une prochaine mise à jour...
NB2: Lorsque que le graphique est barré d'une grande croix rouge, cela veut dire que la solution n'est pas mécaniquement viable
Claudius
Très intéressant !
Et ça permet de nuancer mon propos :
D'abord il faut préciser le challenge :
A) Sans contraintes précises : prendre un A... ou un T..., télécharger le programme ad-hoc et Basta
B) Le processeur doit être un Picaxe : ajouter une bonne grosse mémoire et tabuler tous les points de passage. Résultat garanti. Mieux mais c'est limite de la triche...
C) En dehors des servos, n'utiliser qu'un ou plusieurs Picaxes. Là ça devient marrant...
Je vois deux approches dans ce cas :
C1) On réfléchit beaucoup pour tasser un maximum de points dans la mémoire du Picaxe
C2) On réfléchit encore plus pour tasser non seulement les points de passage mais en plus la fonction d'interpolation entre deux points de passage.
Evidemment le résultat doit être le plus rapide possible.
Dans les deux cas, remarques préalable : le montage étant complètement symétrique, il suffit de décrire la partie gauche pour connaitre la partie droite par effet miroir. En code, ça signifie qu'on peut obtenir chaque valeur numérique (angle) de la partie droite par une simple soustraction à partir de son équivalent dans le partie gauche. Moitié moins de choses à mémoriser...
Dans le cas C1, 1024 octets signifie 256 couples de words mais on doit pouvoir faire mieux car il y a un gros gaspillage de bits. Pour chaque chiffre de 7 segments plus un déplacement, il y a 8 mouvements à décrire. Pour deux chiffres, ça nous fait 16 points par mouvement (les deux autres par effet miroir).
A tester, mais ça semble réaliste.
Si c'est trop mauvais, on doit pouvoir pousser jusqu'à environ 20 points par compression des données.
Au delà, on passe en C2.
Il faut décrire les deux courbes (une pour chaque servo)
En première approche, on peut se contenter d'une interpolation linéaire, mais on sait que le résultat sera médiocre.
Mais comme on travaille dans une boucle, on n'a pas besoin de calculer la fonction, mais uniquement sa dérivée.
Du coup, une équation du second degré se traite avec quelques additions, et compte tenu de ce qu'on observe avec le simulateur, on devrait pouvoir approcher la courbe idéale a peu de frais...