|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Alexandre Infographiste Inscription : janvier 2005 Messages : 390 ![]() |
Bonjour,
Je sèche un peu sur la trigonométrie. Enfin bref, je ne suis pas là pour raconter "my life" ! Il se trouve que j'aimerais piloter un char avec un seul manche de radio. J'ai construit la radio, elle fonctionne. Je viens d'essayer un peu de trigonométrie avec un peu d'aide mais les résultats ne sont pas correct. Je ne peux prendre que des valeurs de 0 à 180 avec un neutre à 90. Ceci étant des degrés. Il en va de soi que les valeurs négatives que me retourne mon code ne sont pas compatible avec les valeurs requise pour le fonctionnement. Mettons un manche, axe X pour la vitesse et y pour la direction. -Sa position au neutre renvera sur Voie1 = VoieX = 90 et Voie2 = VoieY = 90. -Si je pousse en avant, donc, sur la voie des X, j'aurais VoieX = 0 et VoieY = 90. -Si je pousse en arrière, donc, sur la voie des x, j'aurais VoieX = 180 et voieY = 90. -Si je pousse sur la droite, donc, sur la voie des y, j'aurais VoieY = 0 et VoieX = 90. -Si je pousse sur la gauche, donc, sur la voie des y, j'aurais VoieY = 180 et VoieY = 0. En sortie, chaque voies, donc, Voie1 et Voie2 sont l'équivalent de ce que feront les deux moteurs. Moteur Gauche = Voie1 et Moteur Droit = Voie2. A ce moment là, j'aimerais obtenir ceci en valeurs proportionnelles. Si je pousse le manche en avant : Voie1 = 0 et Voie2 = 0. Si je met au neutre : Voie1 = 90 et voie2 = 90. Si je pousse en arrière : Voie1 = 180 et Voie2 = 180. Si je pousse sur la droite : Voie1 = 0 et Voie2 = 180. Si je pousse sur la gauche : Voie1 = 180 et Voie2 = 0. Pour le moment, mon code d'essai ressemble à ceci: Code :
Pour vous aider à la compréhension théorique du problème, je peux vous demander de jeter un oeil sur ce plan : http://i.stack.imgur.com/6SDXJ.jpg Merci pour votre aide.
__________________
Mon site |
||
|
00
|
|
|
#2 |
|
Membre émérite
![]() Maxime RaguenetResponsable systèmes de distribution Inscription : août 2007 Messages : 423 ![]() |
J'avais pas compris que c'était pour un char
![]() Là t'as déjà les coordonnées cartésiennes du vecteur direction à prendre, reste à traduire ça en chenilles :-) |
|
00
|
|
|
#3 |
|
Membre du Club
![]() Alexandre Infographiste Inscription : janvier 2005 Messages : 390 ![]() |
Ah ! Zut !
Bon, j'ai bien fait d'en parler ici alors ![]() Par auto-dérision, déjà, j'ai avancé puisque je sait que ce n'est pas les bonnes valeurs à retourné Mais ce n'est pas pour autant que mon char avance Une idée pour contourné le problème ? Merci.
__________________
Mon site |
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() Paul BacelarDéveloppeur informatique Inscription : février 2005 Messages : 2 651 ![]() |
Le vocabulaire chenille c'est :
- je vais devant à fond - je vais devant à un peu moins à fond ... - je vais devant doucement - je stop - je vais en arrière doucement ... - je vais en arrière à fond C'est tout. Pour tourner, il faut dire des choses différentes à chaque chenille. (un peu comme les hommes politiques )
|
|
|
00
|
|
|
#6 |
![]() ![]() Yves Développeur informatique Inscription : janvier 2007 Messages : 5 280 ![]() |
Si je m'en tiens à ton énoncé (ou il y a d’ailleurs une erreur lorsque tu pousse à gauche), je peux en déduire que la valeur de tes voies est déduite à partir d'une valeur de base directement proportionnelle à X et corrigée par Y
Voir les équations suivantes : Voie 1 = X + (y-90) Voie 2 = X - (y-90) Après pourquoi introduire des sin et cos, j'ai pas compris (pas trop approfondi non plus)
__________________
--- Sevyc64 --- Parce que le partage est notre force, la connaissance sera notre victoire |
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() Paul BacelarDéveloppeur informatique Inscription : février 2005 Messages : 2 651 ![]() |
Une table table de transcodage
Direction => puissance à mettre sur chaque chenille. La table est donc fonction du nombre et de la position de chaque chenille sur le châssis. Vous ne devez pas mapper directement un composant de la direction avec la puissance. Pour tourner sur place avec un char à 2 chenilles symétriques, c'est à fond avant pour une chenille et à fond arrière pour l'autre. |
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Alexandre Infographiste Inscription : janvier 2005 Messages : 390 ![]() |
Oui mais je tiens à ce que ça reste proportionnel. Il n'y aura pas que le char qui sera piloter ainsi.
Un sous-marin, deux moteurs, un de chaque côté ! On a la même mais ça demande plus de souplesse. C'est ce que m'apporte la radio avec ses angles de 0 à 180°.
__________________
Mon site |
|
00
|
|
|
#9 |
|
Membre émérite
![]() Maxime RaguenetResponsable systèmes de distribution Inscription : août 2007 Messages : 423 ![]() |
donc après avoir TOUTES les données du problème, t'as pas besoin de passer par des angles, ni des coordonnées sphériques et tout le tintouin
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() Paul BacelarDéveloppeur informatique Inscription : février 2005 Messages : 2 651 ![]() |
Code :
Oui mais je tiens à ce que ça reste proportionnel Pour allez 2 fois plus vite, il faut pas juste faire X2 sur la puissance moteur ( la puissance moteur est couplé à l'accélération) il faut faire une intégrale de l'accélération pour avoir la vitesse. Moralité, on ne conduit pas un char comme un sous-marin. |
|
|
00
|
|
|
#11 | ||
|
Membre du Club
![]() Alexandre Infographiste Inscription : janvier 2005 Messages : 390 ![]() |
C'est bon, la réponse de sevy64 m'a permis de faire ce que je voulais.
A titre d'infos: Code :
__________________
Mon site |
||
|
00
|
Copyright © 2000-2013 - www.developpez.com