Forums - Tous les messages
Forums - Tous les messages
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 
   Tous les messages (maverick59)

 Bas   Précédent   Suivant

(1) 2 3 4 ... 58 »


Re: calme
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
Salut Pat,

Je suis passé chez NXP, essentiellement avec le LPC1769 et FreeRTOS pour la gestion multitâche, ça devient presque trop facile de gérer la stratégie avec ça ;)

Posté le : 11/11/2014 10:13
La perfection est atteinte non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer....
(A de St EXUPERY)
Transférer la contribution vers d'autres applications Transférer


Re: calme
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
Salutations,

C'est vrai que c'est calme, de mon côté je continu à développer les robots, suite à notre seconde place en coupe de France, on compte bien prendre notre revanche en mai!
Mais il est vrai que j'ai presque totalement abandonné FSL depuis 2 ou 3 ans.

Pour ce qui est de l'IHM sur PC, pareil de Charly, FTDI avec adaptateur RS485 et C#.

Posté le : 09/11/2014 12:07
La perfection est atteinte non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer....
(A de St EXUPERY)
Transférer la contribution vers d'autres applications Transférer


Re: Connecter un smartphone Android à nos montage.
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
Voici un tuto sympa sur la prog sous Android:
http://fr.openclassrooms.com/informat ... applications-pour-android

Je suis aussi entrain de regarder pour faire une appli pour le robot vers une tablette par wifi.

Maverick

Posté le : 22/05/2014 12:00
La perfection est atteinte non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer....
(A de St EXUPERY)
Transférer la contribution vers d'autres applications Transférer


Re: Aide sur K70
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
Bonjour et bienvenue ici,

Loin de moi l'idée de vouloir te décourager, mais pour quelqu'un qui n'a jamais touché à la programmation de uC, je pense que commencer avec un tel système c'est comme passer son permis à bord d'une F1.
Apprendre à programmer un uC peut aller assez vite à condition de ne pas brûler certaines étapes.
Mais de là à commencer sur un tel ensemble (K70 + MQX), sans aide de tes collègues...

Bon courage.

Pour le dernier message, c'est exact.

Posté le : 24/03/2014 10:40
La perfection est atteinte non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer....
(A de St EXUPERY)
Transférer la contribution vers d'autres applications Transférer


Re: highspeed wireless
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
Le gain de temps est en effet à envisager et à relativiser, de là à diviser par 10 ou 20, ça me semble énorme.
Prenons un cas concret: la position du robot 1.
Admettons qu'il se trouve en (X=1000,18; Y=2222,45; Angle=123,45).
Dans mon format ça donne:
G11 N1 X1000.18 Y2222.45 A123.45 B0 F1\n
soit 39 octets, [B0 indique que le robot n'est pas bloqué, F1, que le mouvement est terminé]

En utilisant un format plus approprié, j'aurai 1 octet pour identifier le type de donnée (ici la position du robot), 1 octet pour indiquer le numéro du robot (ici 1), 2 octets pour la position en X, 2 octets pour Y, 2 octets pour l'angle, un octet pour indiquer un blocage et/ou la fin du déplacement, soit 9 octets, je suis donc au quart en y laissant de la précision et de la lisibilité, ce n'est pas négligeable.

Pour ce qui est des stratégies, j'ai un algo de pathfinding qui fonctionne plutôt bien, et est assez rapide.
Il est basé sur un A* (quadrillage du terrain en carrés de 100mm, ce qui donne 600 cases, et il calcul la succession de cases à emprunter pour rejoindre la destination, puis l'ensemble est lissé afin d'éviter les bonds de cases en cases mais de regrouper toutes les cases alignées en un seul mouvement), le tout prend quelques 20 ou 30ms à calculer.

Ensuite, pour la sélection des actions à effectuer, je n'ai rien de propre, l'an dernier, c'était la première fois que j'utilisais ce genre d'algo, il a donc été développé au fur et à mesure des besoins, patché de tous côté pour gérer les cas particuliers, mais rien n'a encore été remis au propre de ce côté pour le moment, l'écriture de la stratégie de cette année en sera l'occasion de factoriser tout ça et d'y apporter quelques améliorations.
Dans le principe, c'est un tableau de structure, chacune représentant une action, avec (dans le désordre) les coordonnées du point ou doit commencer l'action, le nombre de points qu'elle rapporte, un coef magique, un pointeur vers la fonction exécutant l'action, un octet indiquant si l'action a déjà été exécutée, si elle est bloquée, inaccessible...une valeur indiquant si besoin le moment du match à partir duquel l'action peut être réalisée.

Avant d’exécuter une action, l'algo va parcourir ce tableau et calculer pour chaque action, un 'poids' en se basant sur le nombre de points rapportés par l'action, le distance qui sépare le robot de l'action, le coef magique...puis il choisis celle qui a le 'poids' le plus élevé et l’exécute. Elle passe ensuite au status 'terminee', puis re-calcul les poids des actions....

A intervalle régulier (200ms) l'algo de recherche de chemin, est ré-exécuté, il re-calcul un chemin joignant la position actuelle du robot et sa destination, au besoin il envoie un nouveau point de passage à la carte d'asserv afin d'éviter un obstacle (ce qui occupe environ 6% du CPU, qui passe presque 80% de son temps en tâche d'attente sous FreeRTOS).

Par contre, dans ton message de 11h58, tu parles de 80ko en 8ms...c'est moi ou il y a une erreur de calcul quelque part?


Posté le : 06/11/2013 15:34
La perfection est atteinte non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer....
(A de St EXUPERY)
Transférer la contribution vers d'autres applications Transférer


Re: highspeed wireless
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
En effet, je n'avais pas fait le calcul, mais il y a un truc qui cloche.
A chaque mise à jour, je dois avoir 5 trames de maximum 70 octets (mais en pratique elles font 40 à 50 octets).

Je sais que le format n'est pas du tout optimisé, du fait de l'utilisation de caractères ascii et non pas des données brutes.
Par exemple si la position du robot est à 100mm, au lieu d'envoyer un seul octet, j'en envoie 3.

Ce qui fait au max 350 octets, soit 2800 bits, disons 3000, la com ne devrai prendre que 3ms donc au grand maximum, et en pratique (1,6ms à l'heure actuelle).
Je vais devoir jeter un œil à ce qui se passe, et trouver les 5 à 6ms perdues qui peuvent changer la donne.
Peut être ce soir, ou demain si j'ai le temps.

Posté le : 06/11/2013 12:20
La perfection est atteinte non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer....
(A de St EXUPERY)
Transférer la contribution vers d'autres applications Transférer


Re: highspeed wireless
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
Salut Stephane,

Merci pour les info.
En effet, le CAN pourrai le faire, cela demandera pas mal de modifs, mais pourquoi pas. La gestion des collisions est intéressante, c'est un peu ce qui manque sur le RS485, mais comme je travail avec un "maitre" qui interroge des "esclaves", je m'arrange pour laisser le temps de réponse entre les questions et éviter ainsi les conflits.

Pour ce qui est de l'AX25, ça semble sympa, mais à 9600 bauds, soit un facteur de 100 avec ce que j'utilise actuellement, ça risque de coincer. A l'heure actuelle pour mettre à jour toutes les infos d'une carte esclave, il me faut environ 8ms, à 9600 bauds, il m'en faudrait donc 800, en supposant que je n'ai qu'une seule carte à mettre à jour, j'aurai donc sa position tous les 800mm, sur une table de 2m*3m avec 4 robots dessus, ça va vraiment pas le faire.
Pour cela autant mettre un module Xbee à 30€, tout est fait, plus qu'a envoyer les données, c'est sécurisé, multipoints, et je peux monter à 115k.

Pour avoir discuté hier soir avec Charly, l'idée d'une telle communication n'est peut être pas si bonne que ça.
Je vais peut être me tourner vers un second robot "intelligent" lui aussi, et les deux n'échangeront que des infos tactiques de haut niveau, afin de réduire le volume de données à échanger et d'assurer ainsi la fiabilité.
Cela implique pas mal de contrainte (2 robots à reprogrammer en cas de changement de tactique, doubler la carte IA et la détection d'adversaire).
Au lieu de lui dire: monte le bras, ouvre la pince, descend le bras, ferme la pince. Il lui dira: Prend l'objet à telle position.

Les protos des cartes multifonctions (réalisés à un prix 'donné' ont été expédiés, je vais déjà avoir ça à valider) la couche supérieure se fera ensuite.

Je vous tiens au jus.
A+
Maverick

Posté le : 06/11/2013 10:43
La perfection est atteinte non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer....
(A de St EXUPERY)
Transférer la contribution vers d'autres applications Transférer


Re: highspeed wireless
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
En fait, c'est pas vraiment le volume, mais plutôt le fréquence de mise à jour.

Pour schématiser, j'ai une carte principale qui gere la stratégie, les actions, l'évitement des adversaires.
Autour gravitent plusieurs cartes (identiques) pour "la puissance" (asservissement, moteurs, servos, capteurs...)
Chacune de ces cartes est reliée au Bus principal.
Les messages s'échangent sous forme de messages type GCODE.
Toutes les cartes reçoivent tous les messages, et chacune traite ceux qui lui sont adressés.

Les cartes puissance, sont interrogées chacune leur tour avec 10ms intervalle.
Hors, entre la question et la fin de la réponse, je suis à 7 ou 8ms à 1Mbits/s (j'avais 4ms à 2Mbits/s).
Avec 4 cartes, j'ai une mise à jour toutes les 40ms, à une vitesse de 1m/s,le robot a déjà parcouru 40mm...
Si je réduis le débit, je dois donc réduire la fréquence de mise à jour de l'ensemble.

Je pensais bien au Wifi, mais avec un doute sur la complexité de la mise en place et le délai de transmission ajouté, bien qu'avec un avantage non négligeable pour le debug directement via le Wifi du PC.

Pour Stephane, pour le CAN, j'y ai regardé (enfin rapidement), le choix porté sur du RS485 est dû à l'utilisation de uC sans module CAN, un simple UART suffisait.
Mais aussi car le RS485 n'est utilisé que pour la possibilité de multipoint. Sans respect du protocole, un perso est utilisé comme suit:
:1G0X1000Y1000

:1 adresse de la carte destinataire (facultatif dans le cas ou toutes les cartes sont ciblées)
G0 deplacement en marche avant
X1000Y1000 coordonnées à rejoindre

Avec le CAN (à ce que j'en ai tiré d'une lecture très rapide) ou de 'IIC, j'étais obligé d'utiliser une adresse et un format donné, ici je suis libre de mettre en forme mes messages en fonction de ce que je veux envoyer et à qui l'envoyer.
Pour le Debug, un simple max485 + ft232 et hop, un renifleur facile de tout ce qui se passe, une appli C# et j'ai un visuel sur la position du robot, des actionneurs, une représentation graphique du chemin qu'il veut prendre pour éviter les obstacles (pathfinding), les choix d'actions qu'il fait, pourquoi...Et je peux à mon tour lui envoyer des ordres "humain readable". Tout le monde est au courant de tout ce qui se passe et peur agir en conséquence.

Et là, je me retrouve coincé à faire deux robots.
Je pourrai ne pas passer par le bus, pour le second robot, faire qu'il ai son propre bus sans liaison avec le premier, mais les lier permet de n'avoir qu'une seule stratégie qui considère le second robot comme une partie du premier sans distinction si un capteur se trouve sur l'un ou sur l'autre, il est interrogé de la même manière de façon transparente.

Je pourrai écrire un roman sur ce développement qui m'a vraiment fait plaisir à faire si ça vous intéresse.

Je vais continuer mes recherches, voir du côté du Wifi.

Merci,

Posté le : 05/11/2013 22:42
La perfection est atteinte non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer....
(A de St EXUPERY)
Transférer la contribution vers d'autres applications Transférer


highspeed wireless
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
Bonjour à tous,

Je suis un peu hors sujet, mais ça fera peut être vivre un peu le forum.

Voilà, je suis à la recherche d'une liaison wireless type UART (ou autre) <-> wireless <-> UART (ou autre) capable de passer au moins 1Mbps.
L'appli ne change pas (toujours le robot), dans lequel j'ai un bus RS485 à 1Mbps (j'étais à 2, mais par sécurité il est repassé à 1) permettant un échange de données et d'ordres entre différentes cartes.
Hors dans le cas de l'utilisation d'un second robot, l'idéal serai de pouvoir faire passer ce bus par les airs, afin que ce second robot ne paraisse qu'une extension du premier, et ainsi de pouvoir continuer à espionner les messages échangés pour le debug.

Le principe des modules Xbee est sympa, le problème c'est le débit, à 115k, ça va vite bourrer en entrée. Donc je cherche quelque chose dans le même genre, mais plus rapide.
J'ai cru lire, que des modules Bluetooth passent 4Mbps, quelqu'un a-t-il déjà testé? Qu'en est-il pour faire du multi-points? Bi-directionnel?

Je peux très bien avoir un petit uC en entrée/sorties des modules afin de décoder les messages et les renvoyer sur le bus au bon débit/format si besoin.

Mici,
Maverick

Posté le : 05/11/2013 11:40
Transférer la contribution vers d'autres applications Transférer


Re: Recherche un programmateur pour s12(x)
Accro
Inscrit:
29/08/2006 10:42
De cambrai
Messages: 658
Hors Ligne
Salut à tous,

Je n'ai pas totalement tourné le dos à Fsl.
C'est juste que je ne trouvais pas ce que je cherchais, alors que je l'ai trouvé chez NXP.
Quand vous avez un cortex M3 à 120Mhz sur une carte de démo (sans fioritures, justes les E/S et une LED), la carte intégré un programmateur séparable, (bien que ce ne soit pas le plus performant, c'est déjà pas mal pour débuter et découvrir), programmateur utilisable sur tous (à ma connaissance) les MCU NXP, l'ensemble pour 20€, IDE gratuit jusqu’à 256ko (dans la dernière version, 128 dans les précédentes, mais peut-on encore parler de limite en taille de code à 256ko?!?).

Bref,
Pour revenir à la proposition de Stephane, si je peux t'aider...
De mon côté je me suis fait un petit OS aussi suite à mon expérience sur FreeRTOS.
C'est un simple séquenceur de tâches auquel j'ai rajouté un système d'échange de messages (comme les queues de FreeRTOS).

Je suis actuellement en cours de dev d'une carte multi-fonction pour le robot à venir, gestion de 2 moteurs DC + 2 codeurs en quadrature, 6 servos type modélisme avec leur alim à découpage réglable en tension et désactivable par soft.
Une chaine de servo numériques type AX-12 avec leur alim à découpage réglable et desactivable.
4 entrées analogiques + mesure de la tension d'alim et coupure des actionneurs en cas de sous tension.
4 E/S digitales avec pin d'alim 12V et 3.3V.
Communication par bus RS485.
Plusieurs cartes identiques peuvent êtres mises sur le bus, elles ont toutes le même code, et des dip-switchs pour choisir leur adresses.
La communication se fait par un échange de messages de type "GCODE", un simple terminal relié au bus permet de lire ces messages, d'en envoyer en manuel, de mettre à jour une IHM. Les cartes étant identiques, elles sont interchangeables rapidement, en cas de panne, on change la carte en cause, pas de modif de code à faire.

Le prototype est sorti et fonctionnel, il comporte 3 mcu (dont un XDP512), la V2 est en cours de design (passe à un seul MCU).

regards,
Maverick

Posté le : 30/09/2013 11:36
La perfection est atteinte non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer....
(A de St EXUPERY)
Transférer la contribution vers d'autres applications Transférer



 Haut
(1) 2 3 4 ... 58 »




Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

Forums - Tous les messages