« PC embarqué » : différence entre les versions

De Pensée Profonde - Club de robotique
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 37 : Ligne 37 :
==Contrôle des périphérique==
==Contrôle des périphérique==
Une classe JAVA nous permet de communiquer aisément avec notre interface [[PC-I2C|USB-I2C]]. Dés lors il est possible d'interroger et de contrôler l'ensemble des périphériques présents sur le bus I2C.
Une classe JAVA nous permet de communiquer aisément avec notre interface [[PC-I2C|USB-I2C]]. Dés lors il est possible d'interroger et de contrôler l'ensemble des périphériques présents sur le bus I2C.
=Le système d'exploitation=
<div style="float:right;">
<gallery>
Image:Debian-logo.png|[http://www.debian.org/ Debian]
Image:Ubuntu-logo.png|[http://www.ubuntu.com/ Ubuntu]
Image:Gnome-logo.png|[http://www.gnome.org/ Gnome]
</gallery>
</div>
Nos développements sont réalisés afin de fonctionner sur différents systèmes. Cependant pour des raisons de fiabilité, cout et facilité de développement nous avons retenu un système à base de noyau Linux.
Parmi les différentes distributions Linux nous avons retenu [http://www.debian.org/ Debian] et [http://www.ubuntu.com/ Ubuntu]. Leur grande similitude permet de passer de l'une à l'autre facilement tandis que leur large communauté assure une évolution constante.
Grâce au netbook nous disposons d'un moyen simple de configurer le robot avant un match. Avant un match l'écran permet d'afficher les différents paramètres et de les vérifier très rapidement. Durant les phases de développement nous pouvons visualiser ce que capte la webcam ou utiliser une IDE telle que NetBean ou Eclipse.
L'environnement graphique retenu est [http://www.gnome.org/ Gnome].

Version du 7 décembre 2008 à 13:33

Avant de parler d'intelligence (IA) ou de programmation il faut penser au support : un système à la fois suffisamment petit et autonome pour être embarqué, suffisamment puissant et souple pour travailler sans contraintes.

Dés lors plusieurs solutions s'offrent à nous : les cartes industrielles au format PC104, des cartes mini-ITX (proposées par Via, Intel ...), des micro-contrôleurs couplés à des DSP ... Au final nous avons retenu une n-ième solution : un netbook !


Pourquoi un netbook ?

Celui-ci va au delà de nos besoins:

  • petit: 28cm*20cm*3cm, il trône sans problème au sommet du robot.
  • autonome: plusieurs heures sur sa propre batterie.
  • puissant: Atom 1.6GHz.
  • souple: c'est un PC x86 disposant de tous les périphériques utiles et d'un espace disque conséquent.
  • simplicité de mise en place: une fois déballé il ne reste qu'à installer nos logiciels.
  • le cout final: c'est un des plus faible comparé aux autres solutions.


Merci CowCotLand !

Cowcotland.png

CowcotLand est un site dédié à l'actualité, tests et guides informatique. Nous le remercions par avance pour le soutien matériel qu'il nous apportera pour les Coupe de France et d'Europe 2009 en nous fournissant un netbook.


Utilisation

Le NetBook sera la brique centrale du robot. Ses principales fonctions seront :

  • la vision à l'aide d'une webcam
  • la prise de décision
  • le contrôle des différents périphériques (motorisation, actionneurs …)

Netbook-map.png

La vision

La vision est assurée par une webcam USB. Nous avons retenu la E3500 de Logitech pour sa compatibilité avec le driver UVC intégré au noyau Linux et pour son rapport qualité/prix.

L'analyse et le traitement d'image sont réalisés en C/C++ à l'aide de la librairie OpenCV. Cliquez-ici pour en savoir plus.

Prise de décision

L'intelligence artificielle (IA) est entièrement réalisée en JAVA. La forte modularité de la programmation objet, le multithreading et la portabilité nous ont poussés à utiliser JAVA comme langage de l'IA.

Contrôle des périphérique

Une classe JAVA nous permet de communiquer aisément avec notre interface USB-I2C. Dés lors il est possible d'interroger et de contrôler l'ensemble des périphériques présents sur le bus I2C.


Le système d'exploitation

Nos développements sont réalisés afin de fonctionner sur différents systèmes. Cependant pour des raisons de fiabilité, cout et facilité de développement nous avons retenu un système à base de noyau Linux.

Parmi les différentes distributions Linux nous avons retenu Debian et Ubuntu. Leur grande similitude permet de passer de l'une à l'autre facilement tandis que leur large communauté assure une évolution constante.

Grâce au netbook nous disposons d'un moyen simple de configurer le robot avant un match. Avant un match l'écran permet d'afficher les différents paramètres et de les vérifier très rapidement. Durant les phases de développement nous pouvons visualiser ce que capte la webcam ou utiliser une IDE telle que NetBean ou Eclipse. L'environnement graphique retenu est Gnome.