Aller au contenu


sicho

Inscrit(e) (le) 09 mars 2011
Déconnecté Dernière activité mars 06 2013 12:36
-----

#20061 logique floue

Posté par sicho - 28 avril 2011 - 03:26

Bonjour,

je crée un nouveau topic car j'en ai pas trouvé traitant ce sujet, je ne sais d'ailleurs pas trop ou le mettre.

En effet j'aimerai en savoir un peu plus sur la logique floue, j'en ai bien compris les base que j'ai étudiées, mais je n'ai jamais concrètement vu ni utilisé ceci en programmation ou robotique.

En effet je souhaiterai savoir si vous avez déjà utilisé ces notions pour programmer vos robots, pour la détection d'obstacle, déplacements, engins volants autonomes,...

Ça m'a l'air super efficace pour le domaine de la robotique et permet me semble t-il un gain très important au niveau de l'algo, et de la puissance nécessaire pour traiter les problèmes, ce qui implique un petit composant pas chers pour faire des taches assez complexes, et de façon similaire a l'homme.

Merci d'avance.

Amicalement Damien.

ps: si vous connaissez de bon bouquins traitant du sujet je suis preneur!! ;)


#19831 projet: Premier Robot

Posté par sicho - 05 avril 2011 - 08:45

T'es un peu trash léon... -_-

Mais c'est certain que si tu as une alimentation vraiment régulée à disposition, ne te prends pas la tête, sors la de ce carton et teste avec un vrai 5V.
Il y a peu de chance que ça soit la cause directe de ton problème, cependant, un PIC s'alimente en 5V, c'est tout. Il ne faut pas prendre de risques avec ces petites choses, c'est fragile et ça grille bien vite.


ouai, mais je suis pas feignant à ce point, quand je disais dans un carton c'est pas genre son carton d'emballage là sous la main, mais un carton de quand ma mère à déménagé quelque part au grenier ou il faut une échelle pour y monter... Alors que des alim de pc j'en ai sous la main tout pleins.

J'ai pas répondu entre temps car justement je suis allé chercher l'alim au grenier.

Et c'est bien ce que je craignais, ça na strictement rien changé.

Auriez vous une ou deux pistes d'investigation de panne? (Et non j'ai pas fait d'AMDEC lol quand j'ai conçu mon system :P)

Amicalement Damien.


#19697 projet: Premier Robot

Posté par sicho - 28 mars 2011 - 09:04

Je n'ai jamais programmé en PIC, mais sur le principe ton programme semble bon.

Je n'aurais juste pas mis :
portd = 0b10000001; //moteur gauche et droit alimentés dans le sens pour avancer de nouveau jusqu'au nouvel obstacle
dans tes fonction de collision étant donné qu'il est fait dans la fonction avancer().


ha ouai excuse moi de l'expression mais c'est pas con du tout :D

bon j'ai testé vite fait avec une bread board et le pic sur sa carte d'expérimentation avec une alim pc et le vcc 5v (réellement tester a 6,4v :P mais je pense pas ce soit gênant) et en mettant des résistances et leds en sortie du portd voir si ca s'allume, et un microrupteur en portb; et la c'est le drame, rien pas une led ne s'allume!!!

voici une petite photo:

Image IPB

si vous avez une idée... étant débutant je suis un peut perdu, il n'y aurai pas un "cavalier" ou un pontage a faire pour activer le pic ...??

merci d'avance.

Amicalement Damien.


#19670 projet: Premier Robot

Posté par sicho - 27 mars 2011 - 08:50

Re bonjour à tous et toutes,
bon j'ai fait ma carte d'expérimentation pour mes pic 16f877 avec un petit bout restant de plaque présensibilisé.

J'ai un peu galéré, il faut croire que la couche photosensible ou mes tube uv de l'insoleuse ne tienne pas trop dans la durée.

Bref j'en suis venu à bout mais je n'ai pas pu le tester encore. Je ne sais donc pas si il fonctionne bien.

Comme vous pouvez le voir j'ai un peu galéré sur quelques soudures et a un endroit dans le routage d'où le petit fil. J'espère ca fonctionnera ;)

Amicalement Damien.

Image IPB

Image IPB


#19650 projet: Premier Robot

Posté par sicho - 25 mars 2011 - 11:34

Bonjour,

j'avance un peu dans mon petit projet.

En effet j'ai reçu mon programmateur de pic hier, j'ai pas encore eu le temps de le tester, branchement et installation, mais en attendant je me suis documenté sur la programmation des pic, essayé de me replonger dans le c...

j'ai écrit ce matin un tout petit bout de code qui dans l'idée est sensé gérer les déplacements et collisions avant droites et gauches du robot.

En gros je souhaitais coder que le robot après allumage attende 30 sec avant d'avancer tout droit, lors d'une collision il recule 2 sec et tourne du coté opposé de la collision et repart tout droit,...

pensez vous que ce code peut être bon? Mon plus gros doute est sur le delay_ms d'attente au début de 30 sec.

Voici le code c:

#include <system.h>
//Cible PIC16F877, bits de configuration

#pragma DATA _CONFIG, _PWRTE_OFF & _BODEN_OFF & _WDT_OFF &
_LVP_OFF & _CPD_OFF & _DEBUG_OFF & _HS_OSC & _CP_OFF

#pragma CLOCK_FREQ 20000000	//Configuration de la fréquence d'horloge, ici 20Mhz


void main( void )
	{
	//Initialisation port A
	porta = 0x00;
	//Initialisation port B
	portb = 0x00;
	//Initialisation port C
	portc = 0x00;
	//Initialisation port D
	portd = 0x00;
	//Initialisation port E
	porte = 0x00;
	//Configuration port A
	trisa = 0x00;
	//Configuration port B
	trisb = 0x01;
	//Configuration port C
	trisc = 0x00;
	//Configuration port D
	trisd = 0x00;
	//Configuration port E
	trise = 0x00;
	//Configuration A/D pins
	adcon1 = 0x06;
	//désactivation du mécanisme de gestion des interruptions
	clear_bit( intcon, GIE );
	//Validation des résistances de pull-ups du port B
	clear_bit( option_reg, NOT_RBPU );
	
	volatile bit switchon_d@0x06.0; //0x06 adresse du port B
	volatile bit switchon_g@0x06.7; //0x06 adresse du port B
	
	delay_ms(30000);		//attend 30 sec après l'allumage pour commencer à avancer
	portd = 0b10000001;  		// moteurs gauche et droit alimentés pour avancer
	
	while(1){
	
		if (switchon_d==1){		//si le microrupteur droit heurte un obstacle
			portd = 0b01000010;	//moteurs gauche et droit alimentés pour reculer
			delay_ms(2000);		//pendant 2 sec
			portd = 0b00000001;	//moteur gauche arreté, et moteur droit alimenté pour avancer
			delay_ms(2000);		//pendant 2 sec ce qui le fait tourner à gauche
			portd = 0b10000001; 	//moteur gauche et droit alimentés pour avancer de nouveau jusqu'a nouvelle interruption
		}
	
		if (switchon_g==1){		//si le microrupteur gauche heurte un obstacle
			portd = 0b01000010;	//moteurs gauche et droit alimentés pour reculer
			delay_ms(2000);		//pendant 2 sec
			portd = 0b10000000;	//moteur droit arreté, et moteur gauche alimenté pour avancer
			delay_ms(2000);		//pendant 2 sec ce qui le fait tourner à droite
			portd = 0b10000001;	//moteur gauche et droit alimentés pour avancer de nouveau jusqu'a nouvelle interruption
		}
	
							
	}
}

Il va falloir que je fasse vite une plaque d'essai pour le 16f877 que je puisse avancer rapidement.

Merci d'avance.

Robotiquement Damien.


#19462 projet: Premier Robot

Posté par sicho - 09 mars 2011 - 02:28

Pourquoi il change de sens quand il heurte un obstacle ? j'ai jamais fabriqué un robot dans ma vie et si je le fait je n'accepte pas qu'il heurte un obstacle... a mon avis il faut faire une chose plus intelligent que ça.


En fait j'ai pensé à ça en me disant que pour commencer, c'est un bon début et qu'il faut avoir des ambitions à la hauteur de ses capacité et évoluer petit à petit, et pour le moment, je ne pense pas que se soit raisonnable de penser a des capteurs, infra-rouge, ultrason, balayage laser, accéléromètre, gyroscope,...

Déjà ca va m'apprendre a faire une modélisation de mon projet, utiliser des logiciel de simulation ou autre, modifier un peu des servo pour qu'il fasse du 360°, programmer un pic qui va gérer les servo et changer d'action en fonction de l'état de deux boutons.

Après c'est sur que je ne resterai pas là et que je l'évoluerai petit à petit, mais chaque chose en son temps et brulons pas les étapes, si je me trompe dans mon raisonnement, que les habitué me corrigent.

Amicalement Damien.


#19458 projet: Premier Robot

Posté par sicho - 09 mars 2011 - 11:15

Bonjour,

je souhaiterai réaliser mon premier robot.

Pour ce faire j'ai récupérer plein de matos:

- 8 servos futaba (7 FP-S148 et 1 S3003)
- plein d'électronique
- un banc d'insolation
- plein de visserie
- peu d'engrenages
- 3 camera soudé sur un petit circuit
- un émetteur et un récepteur uhf
- des trucs pour les servos (espèce d'entraineurs et engrenages)
- 7 pic 16f877-04/P
- 3 autres pic en vrac (18C252, 16F873A, 74FCT16244ATPV) maisfaut je redresse leurs pins
- 2 moitié de bobines de fil fin.
- 3 L298N
- 10 CMACKD 16.000 0539 (XTAL026392) (je sais pas trop à quoi ca sert, mais ca ressemble à un oscillateur 16.000 peut être pour 16MHZ)

Dans l'idée pour débuter, je pensais faire un petit robot "tout bête" a base de deux servo deux roue dessus un pic un bouton poussoir devant et un derrière.

Il avancerai, quand il heurterai un obstacle, le bouton poussoir avant s'appuierait et il se mettrai a reculer, quand il heurterai un obstacle arrière, le bouton poussoir arrière s'appuierait et il ré-avancerai, et ainsi de suite.

J'aimerai savoir plusieurs choses avant de me lancer dans le projet:

- y a-t-il un logiciel (gratuit) me permettant de faire une modélisation graphique de ce petit robot assez facilement.
- quel programmateur de pic (usb car j suis sur un portable) je doit utiliser et ou puis-je en trouver un pas chère? j'en ai vu sur ebay ou autre qu'est-ce que ca vaut?
- Quel logiciel de programmation utiliser, j'ai vu des logiciels sympa et graphique genre labview, ou Microsoft visual developper, .. peut-on les utiliser avec n'importe quel programmateur de pic?
- Le pic une fois programmer doit y resté avec la carte de programmation sur le robot, ou je peut souder juste le pic sur une plaquette avec une alim, mes servo dessus, ...??


Je sais que j'ai posé beaucoup de question d'un coup, mais j'aime bien ne pas partir n'importe comment à l'aveugle dans un projet, mais surtout je veux apprendre de ce projet et que ce soit le premier d'une longue série.

Merci d'avance.

Amicalement Damien.