Salut. Ca progresse! C'est un très bon début, même s'il reste encore du boulot.
J'aime beaucoup ton projet en tout cas!
Plusieurs commentaires
* ne surtout pas mettre de rampe, de filtre ou quoi que ce soit dans le contrôle moteur (chip allegro). Il ne doit y avoir aucun filtre entre la commande du PID et le moteur. Le moteur doit appliquer bêtement, le plus rapidement possible ce qu'a décidé le PID, sans retard. Sinon le PID fonctionnera mal. C'est pareil pour la mesure des capteurs, aucun filtre, ça doit être brut. De plus, il faut bien étudier les temps de transfert qui doivent être les plus courts possibles. Donc le conseil d'Ashira était vraiment mauvais.
* Si filtrage il doit y avoir, il se fait au niveau de la consigne, en amont du PID. C'est bien ce que j'ai proposé avec la limitation/saturation de vitesse et/ou d'accélération.
* je pense que tu n'as pas encore activé de stratégie de limitation en accel, ça explique partiellement l'accroche au changement
* Pour régler le PID, il faut impérativement le faire avec des courbes. Pas juste à l'oeil nu! Sans mesure, tu vas perdre énormément de temps. Fais sortir ça par liaison série par exemple, puis affiche le tout sous Matlab ou excel. On active d'abord kp (coef proportionnel), et on doit avoir en réaction à un échelon de consigne (consigne d'angle), un suivi rapide, avec un très léger dépassement de consigne, mais sans oscillation. Et après, il faut régler les autres paramètres. Et c'est seulement une fois les 3 coefs réglés que tu pourras obtenir des mouvements fluides.
* il faut être méthodique pour régler tout ça. Ne pas commencer comme tu le fais avec toute la stratégie activée. Personnellement, je commencerai par régler le PID (d'abord kP, puis kD, puis kI), 1 seul actionneur à la fois (coude puis épaule). Seulement après tu pourras activer les étapes 1 (lissage de consigne) et 2 (cinématique inverse). Attention à ne pas bruler les étapes, tu vas t'embrouiller.
* Pour que l'ensemble fonctionne, il faut impérativement que la consigne qui entre dans le PID soit réaliste. Si cette condition n'est pas remplie, tu auras des "accroches", l'asservissement essayant de rattraper son retard. A toi de vérifier, mais la consigne doit être suivie très précisément à tout instant. Et je pense que ça n'est pas le cas sur tes vidéos. A toi de sortir les courbes.
* question : où sont tes capteurs de positions? L'idéal, c'est d'avoir un codeur sur l'axe du moteur, et je n'en vois pas chez toi... C'est la seule méthode fiable pour mesurer la vitesse qui sert à la partie dérivée du PID.
* Pour les vidéos Youtube, il faut mettre l'URL comme ça directement dans le texte du message; donc prendre le lien "watch". J'ai modifié tes posts.
https://www.youtube.com/watch?v=RqkqbUmfJ5s
Leon.