Aller au contenu


Photo

robot piloté via PDA


  • Veuillez vous connecter pour répondre
30 réponses à ce sujet

#1 arkadih

arkadih

    Membre

  • Membres
  • 44 messages
  • Gender:Male
  • Location:chartres

Posté 15 novembre 2006 - 11:38

Bonjour !

j'ai l'idee farfelue de remplacer le traditionnel microcontrolleur par un pda qui enverrait les infos aux actionneurs et lirait les infos des capteurs via l'infrarouge, étant novice en électronique, j'ai besoin d'aide :

=>quels composants utiliser pour permettre l'envoi d'info des capteurs par infrarouge, meme question pour la lecture :)

l'avantage d'utiliser un pda serait la capacité de calcul importante, voulant faire un robot qui utilise l'apprentissage via reseau de neurones.

j'attends vos reponse avec impatience !

d'avance merci !

christophe

#2 arkadih

arkadih

    Membre

  • Membres
  • 44 messages
  • Gender:Male
  • Location:chartres

Posté 16 novembre 2006 - 08:28

bon je me reponds a moi meme ...
en fait n'importe quel moyen d'envoyer des infos a un actionneur via le pda, meme de maniere filaire, m'interesse. peut etre y a t'il une sorte d'équivalent de port série pour le pda ?
Je pourrais eventuellement dissequer le cable de connexion au pc (cable usb) mais je ne connais pas du tout cette norme :/

si quelqu'un a une piste svp aidez moi !

merci par avance :rolleyes:

PS : quelqu'un veut s'associer a moi pour ce projet, je pense que ca pourrait etre une bonne experience

#3 Sugi

Sugi

    Habitué

  • Membres
  • PipPip
  • 235 messages
  • Location:Vers Dunkerque

Posté 16 novembre 2006 - 09:19

As-tu penser à l'infrarouge ?

Ou si le PDA est recent, au bluetooth et wifi ?

Sans PIC sa risque d'être difficile, mais il doit y avoir un moyen.

#4 arkadih

arkadih

    Membre

  • Membres
  • 44 messages
  • Gender:Male
  • Location:chartres

Posté 16 novembre 2006 - 10:51

merci pour ta réponse Sugi,

justement l'infrarouge c'est ma première idée (cf 1er post) mais je manque d'elements techniques pour pouvoir lire par exemple les infos des capteurs afin de les envoyer au palm par infrarouge,
any idea ?

#5 Sugi

Sugi

    Habitué

  • Membres
  • PipPip
  • 235 messages
  • Location:Vers Dunkerque

Posté 17 novembre 2006 - 07:14

Pour l'envoi d'infos au robot, il te suffit d'avoir un recepteur/demodulateur pour recevoir.

Ce n'est pas vraiment compliqué avec un µC...

Par contre si j'ai bien compris, tu veut remplacer le µC par un PDA ?

La je n'est vraiment aucunes idées, du moins pour l'infrarouge :blink:

Par contre s'il s'agit d'un vieux PDA avec port serie, la sa devrait être plus facile.

Peut être les autres auront une idée pour l'infrarouge :P

Modifié par Sugi, 17 novembre 2006 - 07:19 .


#6 arkadih

arkadih

    Membre

  • Membres
  • 44 messages
  • Gender:Male
  • Location:chartres

Posté 17 novembre 2006 - 09:34

oui c'est tout a fait ca Sugi, c'est juste qu'un microcontrolleur sera trop limite pour ce que je veux faire. helas mon pda n'est pas si vieux, mais tu as une bonne idée, peut etre qu'en acquerir un vieux ne sera pas si diificile (voir meme moins onereux qu'un microcontrolleur).

merci bcp pour tes suggestions Sugi (meme avec un recepteur/demodulateur et un microcontrolleur je ne suis pas sur de savoir comment faire, je débute ;)
:P

christophe

#7 Sugi

Sugi

    Habitué

  • Membres
  • PipPip
  • 235 messages
  • Location:Vers Dunkerque

Posté 18 novembre 2006 - 12:35

c'est juste qu'un microcontrolleur sera trop limite pour ce que je veux faire
C'est quel genre de projet ? :blink: (si c'est pas indiscret)

voir meme moins onereux qu'un microcontrolleur
Un µC sa coute entre 3 et 15€ environ, mais tu peut en avoir certains gratuitement...

Sinon regarde dans les liens du site, je me rappel avoir vu une page avec un robot controllé par un PDA.

merci bcp pour tes suggestions Sugi
Je fais de mon mieux pour aider, en tout cas si tu trouve une solution n'hésite pas à nous en faire profité. :D

#8 Otatiaro

Otatiaro

    Membre occasionnel

  • Membres
  • Pip
  • 135 messages

Posté 18 novembre 2006 - 03:03

Salut,

il faut savoir que le port infra-rouge est franchement lent ...

Je te conseillerais plutôt le bluetooth, un module BT, tu l'associes à ton PDA, tu te retrouves avec un port série virtuel. Ensuite tu prend visual studio, et tu accèdes directement à ce port série.

D'une simplicité enfantine.

Pour le module BT, vas voir chez Spark Fun, ils on ont des très bien pour pas très cher.

Par contre, le BT ne vaut pas le WiFi en terme de portée et de débit, en revanche il consomme moins.

Dans tous les cas, il faut savoir si ton environnement est suffisemment "sain" pour utiliser ton protocol (pour une liaison série filaire pas de souci ... pour de l'irda, voir les conditions de luminosité ... pour le BT, voir s'il n'y a pas 50 téléphones actifs autour ... pour le wifi, idem, voir s'il n'y a pas surcharge de réseaux autour).

Savoir exactement ce que tu veux en faire nous aiderait surement à te répondre.

++

PS : pour la coupe de france de robotique, seule la liaison série filaire est envisageable par exemple ...

#9 Sugi

Sugi

    Habitué

  • Membres
  • PipPip
  • 235 messages
  • Location:Vers Dunkerque

Posté 18 novembre 2006 - 04:33

il faut savoir que le port infra-rouge est franchement lent ...
C'est vrai, j'ai oublier de le dire :unsure:

Je te conseillerais plutôt le bluetooth, un module BT, tu l'associes à ton PDA, tu te retrouves avec un port série virtuel. Ensuite tu prend visual studio, et tu accèdes directement à ce port série.
Oui moi aussi j'aurais choisi le bluetooth, par contre je ne sait pas se que donne visual studio. Mais
je te fais confiance sur se point.

Savoir exactement ce que tu veux en faire nous aiderait surement à te répondre.
Oui, on attend ! :lol:

#10 arkadih

arkadih

    Membre

  • Membres
  • 44 messages
  • Gender:Male
  • Location:chartres

Posté 19 novembre 2006 - 09:46

curieux, j'ai deja essayé deux fois de poster une reponse sans succes ... longueur du message ?
merci pour vos reponses en tout cas.
mon projet serait de programmer un reseau de neurones avec en entrees les infos des capteurs et en sortie les infos a envoyer aux actionneurs.les reseaux de neurones ont la particularité d etre auto apprenant (enfin il en existent de nombreuses sortes), ce qui fait que apres un bon nombre de situation (etat des entrees et positionnement en consequences des sorties), le robot serait capable d'avoir la reaction la plus appropriée meme si la situation est legerement differente de celle deja rencontrée, j'espere que ca vous eclaire un peu.
mais je n'en suis pas la, il faut deja que je choisisse le materiel de locomotion, quels moteurs me conseillez vous ?
il faut également que je parvienne a lire les infos des capteurs et envoyer les infos aux actionneurs.
le convertisseur bt -> port serie est une excellente idée ! par contre exit visual studio, j'ai un palm pas un pocket pc mais je pense neanmoins pouvoir en c++ envoyer des infos via BT, a voir ...
beaucoup de taf en perspective !
merci grandement pour vos reponses !

christophe

#11 Otatiaro

Otatiaro

    Membre occasionnel

  • Membres
  • Pip
  • 135 messages

Posté 19 novembre 2006 - 11:09

curieux, j'ai deja essayé deux fois de poster une reponse sans succes ... longueur du message ?
merci pour vos reponses en tout cas.
mon projet serait de programmer un reseau de neurones avec en entrees les infos des capteurs et en sortie les infos a envoyer aux actionneurs.les reseaux de neurones ont la particularité d etre auto apprenant (enfin il en existent de nombreuses sortes), ce qui fait que apres un bon nombre de situation (etat des entrees et positionnement en consequences des sorties), le robot serait capable d'avoir la reaction la plus appropriée meme si la situation est legerement differente de celle deja rencontrée, j'espere que ca vous eclaire un peu.
mais je n'en suis pas la, il faut deja que je choisisse le materiel de locomotion, quels moteurs me conseillez vous ?
il faut également que je parvienne a lire les infos des capteurs et envoyer les infos aux actionneurs.
le convertisseur bt -> port serie est une excellente idée ! par contre exit visual studio, j'ai un palm pas un pocket pc mais je pense neanmoins pouvoir en c++ envoyer des infos via BT, a voir ...
beaucoup de taf en perspective !
merci grandement pour vos reponses !

christophe



Salut,

quel comportement tu attend du robot ? quelle fonctions tu voudrais qu'il réalise ?

c'est un perceptron que tu veux faire ? mono-couche, ou multi-couche ?

pour l'apprentissage, tu fais une rétro-propagation de l'erreur (avec un gradient bien sur ...) ?

tu n'utilises que cet apprentissage non supervisé par le perceptron, ou tu comptes rajouter d'autres types d'apprentissage ?

tu veux un apprentissage continu, ou une premiere phase d'apprentissage et ensuite une phase d'utilisation ?

tu sais quel taille ton réseau va faire ?

ton palm, quelle puissance de calcul ?

tu veux combien de latence entre les entrées et les sorties ?

++

#12 arkadih

arkadih

    Membre

  • Membres
  • 44 messages
  • Gender:Male
  • Location:chartres

Posté 20 novembre 2006 - 09:56

Salut Otatiaro, alors :

>quel comportement tu attend du robot ? quelle fonctions tu voudrais qu'il réalise ?
pas d'idées précises pour l'instant, je voudrais qu'il se deplace en evitant les obstacles, mais par la suite qu'il puisse reconnaitre certains objets, qu'il puisse parler (relativement), enfin tout est possible, ce serait d'abord pour moi une plateforme interessante pour essayer des algos d'IA, en utilisant reconnaissance vocale etc..

>c'est un perceptron que tu veux faire ? mono-couche, ou multi-couche ?
oui perceptron multi-couche sans doute

>pour l'apprentissage, tu fais une rétro-propagation de l'erreur (avec un gradient bien sur ...) ?
oui !

>tu n'utilises que cet apprentissage non supervisé par le perceptron, ou tu comptes rajouter d'autres types >d'apprentissage ?
dans l'immédit seulement celui-ci apres je verrais, pourquoi pas utiliser un rdn type "cartes de kohonen", ca pourrait avoir des utilisations interessantes mais la j'anticipe bcp.

>tu veux un apprentissage continu, ou une premiere phase d'apprentissage et ensuite une phase d'utilisation ?
les 2: une premiere phase d'apprentissage prealable et ensuite un apprentissage continu.


>tu sais quel taille ton réseau va faire ?
dependra du nb de capteurs et d'actionneurs possibles, donc au début ce sera un petit reseau, juste pour experimenter, genre une dizaine d'entrées et autant de sorties

>ton palm, quelle puissance de calcul ?
c'est un palm T, proc ARM 450Mhz je crois donc c'est pas une bête de course mais ca devrait suffire (pour peu que je programme pas en 16 bits..)

>tu veux combien de latence entre les entrées et les sorties ?
pardon je ne comprends pas le sens de la question, enfin je suis pas sur. les sorties doivent etre deduites immediatement des entrees sans délai.

Dans l'immediat il faut que j'étudie la maniere de cmmuniquer via bluetooth, vers un moteur ou autre.
auriez vous un exemple simple d'un montage où on lit par exemple une info d'un capteur de contact et où on allume une led, via le BTToSerial ?

merci par avance pour vos reponses ;)

#13 Otatiaro

Otatiaro

    Membre occasionnel

  • Membres
  • Pip
  • 135 messages

Posté 20 novembre 2006 - 08:55

Salut Otatiaro, alors :

>quel comportement tu attend du robot ? quelle fonctions tu voudrais qu'il réalise ?
pas d'idées précises pour l'instant, je voudrais qu'il se deplace en evitant les obstacles, mais par la suite qu'il puisse reconnaitre certains objets, qu'il puisse parler (relativement), enfin tout est possible, ce serait d'abord pour moi une plateforme interessante pour essayer des algos d'IA, en utilisant reconnaissance vocale etc..

>c'est un perceptron que tu veux faire ? mono-couche, ou multi-couche ?
oui perceptron multi-couche sans doute

>pour l'apprentissage, tu fais une rétro-propagation de l'erreur (avec un gradient bien sur ...) ?
oui !

>tu n'utilises que cet apprentissage non supervisé par le perceptron, ou tu comptes rajouter d'autres types >d'apprentissage ?
dans l'immédit seulement celui-ci apres je verrais, pourquoi pas utiliser un rdn type "cartes de kohonen", ca pourrait avoir des utilisations interessantes mais la j'anticipe bcp.

>tu veux un apprentissage continu, ou une premiere phase d'apprentissage et ensuite une phase d'utilisation ?
les 2: une premiere phase d'apprentissage prealable et ensuite un apprentissage continu.
>tu sais quel taille ton réseau va faire ?
dependra du nb de capteurs et d'actionneurs possibles, donc au début ce sera un petit reseau, juste pour experimenter, genre une dizaine d'entrées et autant de sorties

>ton palm, quelle puissance de calcul ?
c'est un palm T, proc ARM 450Mhz je crois donc c'est pas une bête de course mais ca devrait suffire (pour peu que je programme pas en 16 bits..)

>tu veux combien de latence entre les entrées et les sorties ?
pardon je ne comprends pas le sens de la question, enfin je suis pas sur. les sorties doivent etre deduites immediatement des entrees sans délai.

Dans l'immediat il faut que j'étudie la maniere de cmmuniquer via bluetooth, vers un moteur ou autre.
auriez vous un exemple simple d'un montage où on lit par exemple une info d'un capteur de contact et où on allume une led, via le BTToSerial ?

merci par avance pour vos reponses ;)


Salut,

sans vouloir te vexer, je pense que tu as encore pas mal de biblio à faire avant de te jeter à corps perdu dans ton projet ...

sinon je pense que de toute facon tu sera obligé d'utiliser un µcontroleur pour dialoguer avec tes capteurs/effecteurs et convertir toutes ces informations en RS232 pour les passer dans le canal BT.

Pour ta biblio, tu peux aller faire un tour sur le site de l'ERSIDP (google -> ERSIDP supelec) tu verras que c'est loin d'être aussi simple que tu sembles le penser (j'ai fais parti de cette équipe ...).

++

#14 arkadih

arkadih

    Membre

  • Membres
  • 44 messages
  • Gender:Male
  • Location:chartres

Posté 21 novembre 2006 - 07:50

Salut,

sans vouloir te vexer, je pense que tu as encore pas mal de biblio à faire avant de te jeter à corps perdu dans ton projet ...

sinon je pense que de toute facon tu sera obligé d'utiliser un µcontroleur pour dialoguer avec tes capteurs/effecteurs et convertir toutes ces informations en RS232 pour les passer dans le canal BT.

Pour ta biblio, tu peux aller faire un tour sur le site de l'ERSIDP (google -> ERSIDP supelec) tu verras que c'est loin d'être aussi simple que tu sembles le penser (j'ai fais parti de cette équipe ...).

++


Merci Otatiaro, c'est vrai qu'il y a du boulot, je n'ai pas encore vraiment cherché à dégrossir l'aspect RdN :) en plus il faut que je révise ca :) je vais faire un tour sur tes liens merci beaucoup.
Concernant ce que tu m'as dit pour la transmission e l'interface oki pour passer par le microcontrolleur, par contre je ne comprends pas pourquoi convertir en RS232 les infos pour passer dans le canal bluetooth ? pour la lecture des capteurs ?
merci beaucoup pour vos réponses en tout cas !

#15 Otatiaro

Otatiaro

    Membre occasionnel

  • Membres
  • Pip
  • 135 messages

Posté 22 novembre 2006 - 12:51

Merci Otatiaro, c'est vrai qu'il y a du boulot, je n'ai pas encore vraiment cherché à dégrossir l'aspect RdN :) en plus il faut que je révise ca :) je vais faire un tour sur tes liens merci beaucoup.
Concernant ce que tu m'as dit pour la transmission e l'interface oki pour passer par le microcontrolleur, par contre je ne comprends pas pourquoi convertir en RS232 les infos pour passer dans le canal bluetooth ? pour la lecture des capteurs ?
merci beaucoup pour vos réponses en tout cas !


Salut,

les puces BT que tu vas trouver supportent le mode SPP (Serial Port Profile), c'est à dire que ton PDA voit la puce BT comme un port série virtuel (qui passe par le canal BT hertzien).

Seulement tes capteurs, sauf exceptions, vont te sortir des signaux continus (boutons, interrupteurs, etc ...) ou analogiques (télémetre IR, température, etc ...). Il faut donc un µcontroleur pour récupérer ces signaux continus et analogiques, les convertir dans un format série (que tu devras définir, c'est très facile à faire) et les envoyer à la puce BT qui se charge de les envoyer au PDA.

Dans l'autre sens idem, on ne peut pas piloter un moteur avec un format série, c'est le µcontroleur qui se chargera de faire l'interface entre le port série, et la partie puissance qui alimente le moteur.

Voilà le pk du comment du µcontroleur ;)

++

#16 arkadih

arkadih

    Membre

  • Membres
  • 44 messages
  • Gender:Male
  • Location:chartres

Posté 22 novembre 2006 - 11:03

Salut,

les puces BT que tu vas trouver supportent le mode SPP (Serial Port Profile), c'est à dire que ton PDA voit la puce BT comme un port série virtuel (qui passe par le canal BT hertzien).

Seulement tes capteurs, sauf exceptions, vont te sortir des signaux continus (boutons, interrupteurs, etc ...) ou analogiques (télémetre IR, température, etc ...). Il faut donc un µcontroleur pour récupérer ces signaux continus et analogiques, les convertir dans un format série (que tu devras définir, c'est très facile à faire) et les envoyer à la puce BT qui se charge de les envoyer au PDA.

Dans l'autre sens idem, on ne peut pas piloter un moteur avec un format série, c'est le µcontroleur qui se chargera de faire l'interface entre le port série, et la partie puissance qui alimente le moteur.

Voilà le pk du comment du µcontroleur ;)

++


Merci Otatiaro pour ton explication c'est bcp plus clair ainsi :)

Alors puisqu'il me faut un microcontrolleur, peux tu m'en conseiller un ? Je n'arrive pas encore trop a apprehender la conversion "continus-analogiques vers série" probablement a cause de mes grosses lacunes en électronique (mais je ne demande qu'à apprendre)=> faudra t'il que je programme le microcontrolleur également ? je sais que j'en demande beaucoup et je m'en excuse, mais pour mieux cerner le tout, aurais tu schéma de principe ?
En fait ce qui me surprend c'est que Crossign (cf mon post PC-bot like) semble parvenir à piloter capteurs et moteurs via un port parallèle de pc (via bus I²C) sans passer par un microcontrolleur. est ce tres différent avec un pda ?

je te remercie pour tes réponses et ta disponibilité,

christophe

#17 crossign

crossign

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages
  • Location:Maidenhead, UK

Posté 22 novembre 2006 - 12:34

Bonjour et permet moi de t'expliquer pourquoi je n'ai pas besoin de uC avec le bus I2C

en fait, coome le bus I2C est utilise dans l'industrie et l'electronique, les constructeurs de composant ont cree des composant esclaves que gerent le protocole I2C. Tu trouvera des I/O 8bit, des convertiseurs CAN and CNA, des capteurs de temperature etc... donc tu a just besoin d'un controleur "Master" pour communiquer avec ces composants. Le mien est tres simple, sur un port //. Mais tu en trouvera d'autre pour port serie et USB

A+
Cyril

#18 Otatiaro

Otatiaro

    Membre occasionnel

  • Membres
  • Pip
  • 135 messages

Posté 22 novembre 2006 - 01:33

Bonjour et permet moi de t'expliquer pourquoi je n'ai pas besoin de uC avec le bus I2C

en fait, coome le bus I2C est utilise dans l'industrie et l'electronique, les constructeurs de composant ont cree des composant esclaves que gerent le protocole I2C. Tu trouvera des I/O 8bit, des convertiseurs CAN and CNA, des capteurs de temperature etc... donc tu a just besoin d'un controleur "Master" pour communiquer avec ces composants. Le mien est tres simple, sur un port //. Mais tu en trouvera d'autre pour port serie et USB

A+
Cyril


Salut,

alors ...

le bus I²C (Inter Integrated Chip) est un bus effectivement très répandu en élec ... mais les composants qui gèrent l'I²C esclave ne sont quand meme pas les plus répandus. On en trouve, mais pas pour tout, loin de là.

Par contre RS-232 != I²C ... et qu'est-ce qui fait la conversion entre RS-232 et I²C ? un µcontroleur .......

Je te déconseille l'I²C pour un premier essai, même si c'est un des bus les plus simples, mettre en place un bus n'est pas forcément évident, et je pense que tu auras bien assez de problèmes à résoudre pour te rajouter le débuggage de l'I²C.

Moi ce que je te conseille, c'est de prendre un PIC genre petit PIC18 avec oscillateur interne, et d'y coller un programme bateau pour pré-configurer les pattes en entrées/sorties/CAN/PWM et les envoyer régulierement sur le port série (ca éventuellement, si tu n'es pas trop pressé vu que je vais déménager la semaine prochaine, je peux te le faire ...). Plus qu'a l'alimenter, et tu peux récupérer les infos sur ton port série BT sur le PDA.

Par contre pendant que j'y pense, je vais commander un module BT pour usage perso, mais là ou je veux l'acheter, il y a un minimum de commande de 2 ... donc si le deuxieme t'interesse ... Par contre ce sont des modules à montage de surface, il faudra impérativement les souder.

#19 crossign

crossign

    Membre occasionnel

  • Membres
  • Pip
  • 140 messages
  • Location:Maidenhead, UK

Posté 22 novembre 2006 - 04:02

Je ne suis tout a fait d'accord avec toi Otatiaro.

Il y a des interfaces RS232 <-> I2C et // <-> I2C tres simples. du moment ou il est possible to commander les signaux RX et TX du port serie directement depuis ton programme.
l'interface que j'utilise marche sur le port // avec quelques resistance et des portes logiques pour adapter les signaux.

Il y a pas mal de composant I2C simple dispo:
PCF8574A => 8 entrées/sorties
24C32 => Mémoire 32K
PCF8591 => 4 entrées analogiques + 1 sortie analogique
PCF8583 => Horloge/Calendrier

Mais, si tu recherche une liaison sans fil, alors le BT peut etre la solution. Et du coup, tu peux utiliser un ordinateur portable vu qu'il ne sera pas dans ton robot.
A+
Cyril

#20 arkadih

arkadih

    Membre

  • Membres
  • 44 messages
  • Gender:Male
  • Location:chartres

Posté 22 novembre 2006 - 04:36

Bonsoir,

merci à tous les deux pour vos réponses, je ne veux pas créer de débats :)
néanmoins je vais peut etre pencher pour le microcontrolleur, non pas que le bus I²C ne m'interesse pas, mais pour me former en même temps aux microcontrolleurs que je n'ai jamais utilisés.
Otatiaro je ne suis pas pressé, d'autant plus que j'aurais un peu plus les moyen de commander une fois la paye tombée :) je veux bien que tu fasses le programme mais je ne veux pas t'ennuyer non plus, et surtout, je veux comprendre ce que fait ce programme et pas juste me contenter du port série.
j'ai plusieurs questions encore :
-avec quoi alimente t'on le microcontrolleur ?
-as tu un schéma rapide de montage électronique de ce que tu me proposes (pic18 avec par exemple un moteur et un capteur standard le + simple possible , pour l'exemple) ? histoire que je comprenne en meme temps
- "entrées/sorties/CAN/PWM" jusqu'a CAN je suis, mais PWM qu'est ce que c'est ?

pour ta proposition de commande, "module à montage de surface" ca implique qu'il ne faut pas se louper au montage :) ? aurais tu la reférence de cette pièce et es tu sur que c'est le même module BT qui m'interesse ?
parce que si c'est le cas ca peut m'interesser !

voila je pose encore beaucoup de questions, noob que je suis en élec :D

un grand merci pour vos idées et conseils en tout cas !




0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users