web-dev-qa-db-fra.com

Par où commencer avec la programmation pour la robotique?

Ok donc je m'intéresse à la robotique depuis un moment et j'avais un projet en tête. Construire un petit robot-véhicule télécommandé/robot-véhicule sans pilote. Avec un peu de chance avec la possibilité de lire les données des appareils sensoriels (GPS, thermomètre, etc.) et d'écrire les données sur une sorte d'appareil. L'idée était en attente depuis un moment jusqu'à ce que je lise ce qui suit article .

Voici donc ma question. Par où dois-je commencer. Je n'ai absolument aucune expérience dans ce domaine, à part quelques recherches sur Google et mon idée de projet. Je voudrais jouer avec la programmation des cartes micro contrôleur. Je connais certains Java .net et certains C.

Une aide pour savoir par où commencer?

Comment concevez-vous le robot, quelles étapes passez-vous du début à la fin.

Merci.

32
Julio

Si vous êtes intéressé par la programmation, vous pouvez commencer avec quelque chose comme Lego MINDSTORMS . Si vous êtes plus intéressé par le côté électronique, vous voudrez peut-être consulter certains des kits sur Parallax et The Robot Store .

Vous trouverez un mélange de langues et de plates-formes, alors choisissez vraiment vos langues préférées et trouvez quelque chose dans votre gamme de prix. La robotique peut être très amusante (et très longue).

BTW, vous pouvez faire un robot assez cool avec juste une voiture RC et un Stamp BASIC . Et si vous avez un port parallèle sur votre ordinateur, vous pouvez interfacer votre ordinateur avec la voiture RC pour encore plus de puissance.

12
Matthew Whited

Lego Mindstorms est un système étonnamment robuste et vous permet de vous concentrer davantage sur ce que vous souhaitez réellement accomplir. Il existe des systèmes qui vous permettront de programmer dans autre chose que le langage visuel fourni avec le kit, que j'ai préféré.

Ou vous pouvez obtenir un kit de démarrage auprès de VEX , qui comprendra soit un PIC ou un microcontrôleur Cortex, ainsi qu'un système de programmation. Le kit VEX est comme un ensemble Erector avec des cerveaux et des moteurs. :-)

8
Joel

Arduino est une plate-forme très très populaire parmi les amateurs. Il s'agit essentiellement d'une carte programmable avec plusieurs entrées et sorties. Je recommande fortement de commencer avec lui pour sa facilité d'utilisation et sa grande communauté de support .

Arduino est une plate-forme de prototypage électronique open source basée sur du matériel et des logiciels flexibles et faciles à utiliser. Il est destiné aux artistes, designers, amateurs et toute personne intéressée par la création d'objets ou d'environnements interactifs

Plusieurs personnes ont réalisé des tutoriels sur la construction de robots avec un Arduino comme contrôleur. Celui-ci est assez cool.

5
advait

Robocode est un jeu de simulation robotique, mais c'est un bon endroit pour commencer un développeur Java.

Je peux également recommander les livres Linux Robotics: Programming Smarter Robots et Robot Builder's Bonanza pour de très bons guides du début à la fin sur la construction et la programmation de robots.

Myke Predko a également un bon livre intitulé Programmation des contrôleurs de robots .

3
Bill the Lizard

Petite configuration à installer, mais cela devrait vous offrir beaucoup d'informations sur ce que vous voulez apprendre, et offrir une véritable pratique à la lecture des sénateurs robotiques, à l'interaction avec leur environnement, etc.

http://playerstage.sourceforge.net/

Ils offrent un Java Framework (distinct du Framework officiellement supporté), qui possède sa propre documentation Sun Java.

http://sourceforge.net/projects/Java-player/files/

2
Scott
2
Vokinneberg

Étant donné que vous voulez un véhicule télécommandé capable de se déplacer, vous aurez évidemment besoin d'une sorte de moteurs. Je vais supposer qu'il aura entraînement différentiel locomotion car c'est le plus simple à construire et très facile à contrôler.

L'option la plus simple consiste à obtenir une paire de servos de loisirs continus. Ils sont bon marché (10 $ et plus) et simples à conduire via PWM (le rapport cyclique contrôle la vitesse). Si vous souhaitez l'intensifier un peu, vous pouvez obtenir une paire de moteurs et codeurs DC DC. Vous aurez besoin de circuits supplémentaires pour les piloter, mais vous pouvez les acheter prêts à l'emploi.

Si vous ne voulez pas qu'il soit attaché, vous aurez également besoin de piles et d'une sorte de radio à bord. Si vous êtes d'accord pour ne pas tout faire, le WiFi est la solution la plus simple à mon avis, car vous n'avez pas besoin d'équipement supplémentaire sur l'ordinateur que vous utilisez; cela a cependant tendance à limiter votre "ordinateur" et vos options logicielles (vous voudrez par exemple exécuter Linux dessus).

Vous voudrez un MCU/conseil qui a:

  • PWM, pour piloter vos servos/moteurs
  • A/D si vous avez des capteurs analogiques
  • Un tas d'E/S numériques pour tout le reste
  • WiFi intégré ou moyen d'interfacer votre carte WiFi (USB, mini-PCI)
  • SPI/I2C et UART pour divers périphériques

Avoir des signaux USB Host a l'avantage supplémentaire de pouvoir facilement connecter des caméras bon marché.

Quelque chose comme le Roboard correspond à la facture (ils vendent également une carte wifi mini-PCI). Il contient beaucoup de puissance de calcul (et contrairement à la plupart des cartes plus simples, il a un FPU!), Dispose de nombreuses options de connectivité, y compris USB, et est livré avec une bibliothèque d'espace utilisateur pour contrôler les périphériques. (Avertissement: je ne l'ai pas testé moi-même.)

Ce n'est pas le matériel le moins cher que vous pouvez obtenir, mais il devrait avoir de la place pour se développer si vous voulez essayer les parties les plus intensives en informatique de la robotique (comme SLAM, la vision par ordinateur et la planification de mouvement). Du côté positif, vous n'avez pas besoin de construire un programmeur/débogueur pour cela.

Si vous préférez commencer simplement, obtenir une carte moins chère comme le Arduino que quelqu'un a déjà mentionné pourrait être une meilleure option. L'utilisation d'un simulateur est également utile pour tester les aspects logiciels avant d'investir dans du matériel.

Par où commencer du côté logiciel dépend de ce qui vous intéresse.

2
Staffan

Si vous voulez bien faire les choses et développer des compétences qui vous seront utiles dans l'industrie de la robotique à l'avenir, je vous recommande d'essayer ROS. ROS, le "Robot Operating System" n'est en fait pas du tout un système d'exploitation (en fait, il est généralement exécuté sur Ubuntu). C'est un système de communication inter-processus, un ensemble d'outils de construction et de débogage, et une bibliothèque incroyablement grande d'excellents pilotes et algorithmes.

Pour commencer sans robot physique, vous pouvez commencer avec l'un des nombreux robots simulés dans le simulateur Gazebo. Cela vous permettra de commencer le développement d'algorithmes et autres sans un gros investissement de temps ou d'argent. Vous trouverez des tutoriels et des guides de démarrage sur ros.org.

Bonne chance!

1
Bradley Powers

Je vais ajouter un vote pour les robots LEGO juste pour commencer, mais comment allez-vous en tant que programmeur? Si vous voulez vous débrouiller par vous-même, vous pouvez charger LeJOS sur la "brique" LEGO (vous saurez que cela signifie lorsque vous l'examinerez) et exécuter vos propres programmes Java Java sur votre ordinateur qui interagira/contrôlera directement le robot LEGO.

Aussi - si vous êtes un programmeur, vous voudrez peut-être regarder le projet Open Source High Level Logic (HLL). Le code n'a pas encore atteint la version 1.0, mais il y avait une démonstration de robotique dans le prototype et un LEGO avec LeJOS en attente dans les coulisses.

LEGO Mindstorms NXT Robots (leJOS) Le graphique dynamique de l'article ne fonctionne correctement que sur Firefox.) --- (http://highlevellogic.blogspot.com/2010/10/lego-mindstorms-nxt-robots-lejos.html

1
Roger F. Gay
0
Ash Burlaczenko