//veuillez m'excuser pour la faute dans le titre!!
Bonjour,
sur un code en NXc provenant d'internet j'ai repéré deux choses intrigantes:
- Tout d'abord le fait de préciser qu'il faut prendre le signe d'une valeur en utilisant sign(x). le programme ne prend-il pas de toute façon en compte la valeur tant qu'on n'écrit pas abs(x)???? plus étonnant encore; lorsque j'enlève sign(x) et que je le remplace par x, les actions du robot sont différentes.... --> pourquoi??
- que signifie <<x ou >>x , et quel est son utilité? par exemple dans: md=(nw+ng*12+rp*5+rg*360)>>y;
j'ai seulement découvert que réduire la valeur y agrandissait md
Avez vous une réponse a mes interrogation??
je vous remercie d'avance
Language NXC
Débuté par val17, mai 16 2010 10:32
4 réponses à ce sujet
#1
Posté 16 mai 2010 - 10:32
#2
Posté 17 mai 2010 - 05:51
Je ne connais pas trop NXc, mais en C, A=B>>C, ça fait "tourner B de C pas à droite". Je m'explique: tu écris A en binaire, et tu décale les bits vers la droite. Pareil, << fait tourner vers la gauche.- que signifie <<x ou >>x , et quel est son utilité? par exemple dans: md=(nw+ng*12+rp*5+rg*360)>>y;
j'ai seulement découvert que réduire la valeur y agrandissait md
Si B=00011101 et C = 2, alors tu obtiens A=00000111 (il me semble, je n'ai pas testé).
Leon.
BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)
#3
Posté 17 mai 2010 - 06:31
J'ai compris ton explication et je sais maintenant ce que ça signifie.. merci!
quelqu'un pour mon autre question?
(Pour l'info, je conçois un robot pendule inversé, donc si vous avez d'autres trucs à me donner --> volontiers!)
--------------------------------------------------------------------------------------------------------------------------------------(réédité)
On me répond à peine que j'ai à nouveau une question! lors de mes essais de pendule inversé, il me semble que la brique a un problème; le programme commence. puis après quelques secondes s'arrête (3-6~). Puis reprend (mais pas depuis le début du programme).
c'est comme si il faisait une pause dans la boucle principale... c'est à s'en arracher les cheveux...
quelqu'un connait la cause de ce problème? (qui ne semble pas provenir de mon code)
quelqu'un pour mon autre question?
(Pour l'info, je conçois un robot pendule inversé, donc si vous avez d'autres trucs à me donner --> volontiers!)
--------------------------------------------------------------------------------------------------------------------------------------(réédité)
On me répond à peine que j'ai à nouveau une question! lors de mes essais de pendule inversé, il me semble que la brique a un problème; le programme commence. puis après quelques secondes s'arrête (3-6~). Puis reprend (mais pas depuis le début du programme).
c'est comme si il faisait une pause dans la boucle principale... c'est à s'en arracher les cheveux...
quelqu'un connait la cause de ce problème? (qui ne semble pas provenir de mon code)
#4
Posté 13 juillet 2010 - 11:11
oui je sais, j'arrive tard...
pour le 'sign(x)', je pense qu'au niveau du language ca permet de distinguer une opération sur un nombre non signé ( unsigned char, integer, long, double etc) par rapport a un entier signé. binairement parlant, la notation est la meme , mais la diférence est de taille.
un octet (unsigned char), non signé, va de 0 à 255 alors qu'un octet signé (char) va de -127 a +128 si ma mémoire est bonne
si ce language est dérivé du C, il y'a de fortes chance que se soit la réponse a ta question.
@+
pour le 'sign(x)', je pense qu'au niveau du language ca permet de distinguer une opération sur un nombre non signé ( unsigned char, integer, long, double etc) par rapport a un entier signé. binairement parlant, la notation est la meme , mais la diférence est de taille.
un octet (unsigned char), non signé, va de 0 à 255 alors qu'un octet signé (char) va de -127 a +128 si ma mémoire est bonne
si ce language est dérivé du C, il y'a de fortes chance que se soit la réponse a ta question.
@+
37 sont visibles, 19 sont cachés
Sachez qu'il y a seulement 10 types de personnes : ceux qui comprennent le binaire et les autres.
Sachez qu'il y a seulement 10 types de personnes : ceux qui comprennent le binaire et les autres.
#5
Posté 21 mars 2011 - 03:06
Bonjour eihis,
alors ca as donner quoi ton pendule inverse.
je me suis acheté un petit lego mindstorme NXT , et je suis entrain d'essayer de faire un pendule inverse avec ou un segway, et pour le moment je cale un peux pour calculer le biais et surtout a la façon avec laquel je doit faire tourner les moteur a la fin, sachant qu'il faut prendre en compte le déchargement de la batterie
ayant deux servomoteur et un gyroscope, quemqu'un pourrai m'aider, je suis ultra debutant avec le NXC et bricx svp
alors ca as donner quoi ton pendule inverse.
je me suis acheté un petit lego mindstorme NXT , et je suis entrain d'essayer de faire un pendule inverse avec ou un segway, et pour le moment je cale un peux pour calculer le biais et surtout a la façon avec laquel je doit faire tourner les moteur a la fin, sachant qu'il faut prendre en compte le déchargement de la batterie
ayant deux servomoteur et un gyroscope, quemqu'un pourrai m'aider, je suis ultra debutant avec le NXC et bricx svp
0 utilisateur(s) li(sen)t ce sujet
0 members, 0 guests, 0 anonymous users