Aller au contenu


Photo
- - - - -

Quel cerveau pour vos robots ?


9 réponses à ce sujet

#1 transistance

transistance

    Membre passionné

  • Membres
  • PipPipPip
  • 411 messages

Posté 15 janvier 2014 - 06:22

Bonjour,

C'est incontournable pour tout robot que d'avoir une caboche bien remplie pour accomplir sa fonction. Mais comme il en existe de toute sorte, je suis curieux de savoir quel(s) est(sont) votre(vos) microcontrôleur(s), FPGA, DSP etc. préféré(s) pour concevoir vos robots ?

Pourquoi l'avez vous choisi ? (prix, nombre d'E/S, langage, etc.) ?

Quel est son inconvénient majeur (et les autres)?

Je me disait simplement que cela pourrait aider bon nombre de roboticien cherchant à étendre leurs champ de vision sur le sujet.

-------------
Mes µC fétiche: Le 16F84A avec lequel j'ai appris les bases de l'ASM (merci Bigonoff). Le module ROVIN RV1000.

Pourquoi l'avoir choisi: Pour le 16F84A, à l'époque c'était pour le prix assez faible. Le ROVIN c'est pour sa puissance de calcul et sa grande quantité d'E/S.

Quel est son inconvénient majeur (et les autres):
Pour le 16f84A c'est ses faibles capacités de calculs (bon à l'époque c'était pas mal, surtout pour apprendre). Le ROVIN c'est pour l'impossibilité de gérer les bibliothèques et son IDE à ch*** sans parler du fait de la communauté inexistante!

N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"


#2 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 18 janvier 2014 - 05:39

J'ai déjà utilisé:
Sur BOB2, il y a ~12 ans, un PC portable de récupération 486. C'était mes débuts, et ça m'a vraiment appris les bases de la robotique. Mais bon, trop encombrant, interfaces pas faciles (port parallèle + port série essentiellement). Mais de nos jours, ça n'a plus trop d'intérêt. A moins d'avoir besoin de grosse puissance de calcul, et d'embarquer un mini-PC par exemple.

Sur BOB3, j'ai utilisé une Foxboard (LX8-32 à l'époque).Très bien, car pas mal de RAM pour faire des algos sympas. On fait tourner un vrai OS dessus, donc on peut faire plein de choses (connexion Internet, serveur web, transfert de fichiers, logs...). Interfaces limitées (pas de sortie PWM, d'acquisition analogique), alors il était épaulé par un PICBASIC relié en série.

Sur BOB4, j'ai utilisé un "Embedded Master" de GHI-Electronics. Ca a été remplacé par ça. C'est sans doute une erreur, car ça n'est pas du tout temps réel, alors que pour faire un drone, il faut quelque chose de rapide. Pour faire des calculs et des acquisitions de capteurs, c'est peu optimisé. Par contre, pour faire des choses complexes (afficheur, connexion Internet), c'est pratique, c'est fait pour. Mais dans l'ensemble, bof. Ca se programme en C#.
Toujours sur ce BOB4, j'ai refait entièrement l'électronique de la radiocommande, et j'y ait intégré un PICBASIC. C'est une application très simple. Les picbasic sont très facile à prendre en main. Mais un Arduino fait tout aussi bien.


Pour finir, je vais m'acheter une carte ARIA (Acmesystems), pour une application autre que robotique. L'objectif étant d'avoir un système rapide et intelligent, mais très intégré, prenant peu de place, sur une platine que je ferais moi même, avec des composants USB montés directement sur le PCB, sans connecteur intermédiaire. Il faut pouvoir faire des PCB complexes pour intégrer ça, mais ça peut valoir le coup!

Avant de choisir, il faut se faire une idée concrète de ses besoins.
De quels types d'interface j'ai besoin?
Est-ce que je ferais une logique toute simple (Arduino suffit)? Ou alors des asservissements ultra rapides avec plein de calculs trigos (micro 32 bits)?
Est-ce que j'ai besoin de beaucoup de RAM pour faire des algos complexes (planif trajectoire, traitement d'image).

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 levend

levend

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 5 572 messages
  • Gender:Male
  • Location:Vendée
  • Interests:Robotique, informatique, architecture et patrimoine...

Posté 18 janvier 2014 - 06:23

Quel cerveau pour vos robots ?

Le mien, ça compte ? :tatice_03:
Imprimante 3D : Prusa i3 (MK1) + CR-10S + CR-10 S5 + Artillery Sidewinder X2 + CR-30 + Elegoo Mars + Anycubic Wash & cure 2 + Phrozen Sonic Mega 8K + Phrozen Cure Mega

#4 transistance

transistance

    Membre passionné

  • Membres
  • PipPipPip
  • 411 messages

Posté 18 janvier 2014 - 10:58

Merci Leon pour cette belle contribution !

Concernant le module Mbed, il y a un truc qui me chiffonne : le compilateur n'est vraiment accessible que par internet? En effet j'ai lu sur le site lextronic que:

"Le cordon USB (livré) vous permettra de raccorder le module "mbed" à votre PC afin d'y télécharger votre application. Celle-ci pourra être développée via un compilateur C++ accessible via Internet (sous environnement Windows™ ou Linux). "


Levend : ça compte pas sauf si tu l'extrait de ta boîte crânienne et que tu le place dans ton robot :)

N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"


#5 olivthill

olivthill

    Membre occasionnel

  • Membres
  • Pip
  • 143 messages
  • Gender:Male
  • Location:Normandie
  • Interests:Robots humanoides.

Posté 19 janvier 2014 - 02:43

Ma solution est d'avoir un cerveau et une moelle épinière.
C'est luxueux, mais c'est pour un projet de robot bipède footballeur.

Le cerveau est :

- soit un ordinateur, avec un logiciel écrit en C, par moi, pour l'écriture et la mise au point de scénarios
- soit un téléphone Android, avec un logiciel écrit en Java, par moi, qui exécute des scénarios

Le cerveau peut :

- envoyer des ordres de mouvement à des moteurs, et allumer et éteindre des diodes
- récupérer des données de capteurs simples, par exemple des boutons, des accéléromètres
- récupérer des images d'une caméra (pas encore programmé)
- faire des choix, des boucles (en cours de programmation)


La moelle épinière est :

- soit une carte Arduino
- soit une carte Pololu Mini Maestro

Le cerveau communique avec la moelle épinière via une liaison Bluetooth.

Au début, je pensais tout faire avec une Arduino. La Uno 3 étant limitée au niveau de la mémoire, j'avais regardé des modèles plus costauds comme la Arduino Mega. Puis j'avais pensé à une Raspberry Pi.
Mais finalement, j'ai vu que l'on trouve des téléphones Android à moins de 100 euros qui contiennent un processeur correct, une caméra, et une liaison blutooth. En plus, avec un seul téléphone, on peut commander plusieurs robots.
Et dans mon cas, le choix de la moelle épinière n'est pas encore totalement fixé. Avec un téléphone, je peux m'adresser à une Arduino ou à une Pololu sans avoir à réécrire de code.

Cela dit, pour des petits robots, il y a certainement des solutions plus simples et plus économiques.



#6 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 19 janvier 2014 - 07:14

Concernant le module Mbed, il y a un truc qui me chiffonne : le compilateur n'est vraiment accessible que par internet?

C'est exactement ça! Il faut impérativement avoir un PC connecté à Internet pour compiler, et l'éditeur/compilateur est dans une page web. L'environnement de développement est très simple (pas de débugger, aucune option de compilation, importation de bibliothèques très simple). Pour les gens qui ne sont pas familiers avec les environnements de développement, et qui ne veulement pas se prendre la tête, c'est idéal. Tu n'as rien à installer, à configurer, c'est opérationnel tout de suite. Et puis tu peux te déplacer de PC en PC, tu retrouveras ton environnement de développement, avec tes programmes. Je comprend que ça ne convienne pas à tout le monde, mais moi j'aime bien.
C'est aussi conçu dans un esprit "cloud" et "communautaire", pour pouvoir partager ses projets en quelques clics, avec gestion automatique des sous-versions. Et la communauté commence à être importante. C'est rare que des entreprises commerciales (NXP ici) arrivent à mettre en place ce genre de communautés "libres", mais c'est le cas ici. C'est une grosse pub pour eux.

Sinon, avec un Mbed on peut aussi utiliser d'autres outils de développement, puisque le fichier .bin que l'on télécharge vers le Mbed peut être généré par tous compilateurs compatibles avec les micro étudiés. Mais ça n'a dans ce cas plus aucun intérêt à mon avis, dans ce cas autant acheter une platine microcontroleur moins chère (LPC Xpresso).

c'est pour un projet de robot bipède footballeur

Ouah! Un bipède footballeur totalement autonome? C'est bien ça? C'est hyper ambitieux comme projet! Ou alors est-ce qu'il sera télécommandé par un humain, ce qui serait déjà très bien?
Tu as plus de détails sur ton projet? Quels composants utilisés (caméra, servos), quels algorithmes, etc...

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)


#7 transistance

transistance

    Membre passionné

  • Membres
  • PipPipPip
  • 411 messages

Posté 19 janvier 2014 - 12:22

La moelle épinière est :

- soit une carte Arduino
- soit une carte Pololu Mini Maestro


Pour ton analogie, ta carte arduino ou pololu tiendrait davantage le rôle de cervelet non ?

Leon, effectivement je saisi les avantages d'un tel modèle mais les inconvénients, pour moi, sont trop grand. Si j'ai une coupure internet pour une raison x ou y je suis marron; De même que si l'entreprise à un problème de serveur ou met la clef sous la porte. Du coup rien me garanti que ce module sera programmable dans 10 ans.
Comme je dis plus haut, je ne parle que pour mon cas personnel, je ne cherche pas à dénigrer ce système.

N'oubliez jamais que "Ban Ki-moon n'attrape pas mousse"


#8 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 19 janvier 2014 - 01:19

Intéressante discussion !

Dans mon cas, je suis resté dans la sphère Arduino et RaspBerry. L'Arduino, parce que c'était le plus facile pour aborder de l'informatique embarquée, la RaspBerry, parce que j'étais curieux de voir ce que ça vaut et que ça reste du Linux, ce qui ne me pose pas de problèmes.
Lorsque j'aurais du temps, je compte bien essayer de passer directement sur des Atmel AVR et voir si ça vaut le coup de se libérer de la couche Arduino, et tester les PIC. Et à plus long terme, plonger dans les profondeurs de Linux et des distributions pour voir s'il est possible de faire une "distrib robotique". Mais déjà, je vais essayer de finir Froggy, ça serait un pas en avant ! :)
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#9 olivthill

olivthill

    Membre occasionnel

  • Membres
  • Pip
  • 143 messages
  • Gender:Male
  • Location:Normandie
  • Interests:Robots humanoides.

Posté 19 janvier 2014 - 01:24

Tu as plus de détails sur ton projet? Quels composants utilisés (caméra, servos), quels algorithmes, etc...

Voir mes explications dans le fil OlivRobot V3 de la section Robots Bipèdes.


Pour ton analogie, ta carte arduino ou pololu tiendrait davantage le rôle de cervelet non ?

Mes cours de biologie sont loin. Je ne me souviens plus très bien des différences. Mais je crois que c'est tout de même la moelle épinière parce que la Arduino ou la Pololu font principalement de la transmission des signaux (vers les moteurs, ou depuis les capteurs). Ces cartes n'adaptent pas les mouvements en fonction de quoi que ce soit. Par exemple, c'est le cerveau qui va gérer l'équilibre du robot en fonction des accéléromètres et des boutons. La Pololu est intéressante parce que d'une part, elle peut commander jusqu'à 24 servos, et d'autre part, parce qu'elle peut recevoir un ordre pour un servo, lui indiquant non seulement la position finale du palonnier à atteindre, mais aussi la vitesse et l'accélération. Avec une Arduino, je pourrais aussi gérer la vitesse et l'accélération mais avec pas mal de lignes de code pour ça.

#10 ailgorbot

ailgorbot

    Membre occasionnel

  • Membres
  • Pip
  • 107 messages
  • Gender:Male
  • Interests:IOIO

Posté 10 juin 2015 - 12:19

Salut, J'ai suivi la même approche qu'Olivthill, avec un carte IOIO-OTG+ 2 Android en full JAVA. http://www.robot-maker.com/forum/topic/9932-ailgorwebrtc-car-rc-ioio-otg-en-wifi-chatvideo-webrtc/#entry64667

Robot de téléprésence : IOIO-OTG Robot WebRTC 

Car RC : AilgorRC




Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users