-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interface I2C gestion moteur #6
Comments
Même les odomètres? Sinon au niveau des actions, ça me semble bien. Il y à juste une chose très importante qui manque, c'est la régulation de la vitesse 😉 Soit on permet d'envoyer la vitesse comme paramètre pour chaque commande qui occasionne un déplacement, soit on rajoute une commande qui permet de changer la vitesse pour les commandes qui vont suivre. Je dirais que les actions listés ci-dessus sont le stricte minimum à supporter, mais si on est chaud il y à moyen d'en ajouter des plus complexes qui permettraient d'avoir plus de mobilité et un déplacement plus fluide et donc plus rapide. On pourrait penser à:
Dernière chose, mais peut-être que je m'avance un peu trop, il faudra faire attention aux "accélération instantanées". Les moteurs sont vraiment costaud, si on passe de 0 à 100% en un coup on risque de faire basculer le robot. Je pense qu'il faudra faire en sorte que l'accélération se fasse progressivement. |
D'après M. Marchand, une précision de 1cm est déjà très bien malheureusement parce qu'on doit compter aussi sur la précision des moteurs, etc
Je pense pas que ce soit utile vu que l'on a toujours comme but d'aller le plus rapidement possible. Par contre une commande spéciale pour passer la bascule pourrait etre intéressante.
C'est le but de l'arduino avec la régulation PID que l'on doit incorporer.
D'après M. Marchand, aucune équipe de l'ECAM n'a jamais implémenté ca. Ca risque d'etre fort compliqué sachant que l'on a besoin du rayon de courbure de la trajectoire. Cette curbure pourrait etre non constante, etc... A voir mais pour moi il y a bcp plus important. |
Oui, clairement il y à plus important. Je ne voulait pas dire qu'il fallait l'implémenter, mais plutôt qu'on pouvait structurer le code de façon à pouvoir l'ajouter plus tard, au cas ou. Même si on ne le fait pas cette année, on pourrait reprendre le code l'année prochaine et l'étendre par exemple. Autant pas s'imposer des limites quand elle ne sont pas nécessaires :)
Je suis pas tout à fait d'accord, en approchant des "destinations cibles" on voudra probablement ralentir pour être plus précis. On en aura également besoin pour la bascule et peut-être si jamais on tombe sur un obstacle imprévu (e.g. le robot adverse). Autant l'ajouter, je ne pense pas que ça ajoute beaucoup de complexité. |
Ce qu'on a besoin comme action:
On a pas de précision de plus d'un cm donc ca sert à rien d'envoyer des données en dizaines de mm ou memes en minimètres. On aura donc besoin de 8bits pour avoir 256cm max (résonnable sachant que le plateau fait 1m*2m).
On peut donc faire un peu comme #5 mais la commande sera sur 8bits.
L'info sur le déplacement déjà effectué devra retourner 2 bytes. Un pour la roue gauche et un pour la roue droite.
@azerupi d'autres idées ?
The text was updated successfully, but these errors were encountered: