PC embarqué

De Pensée Profonde - Club de robotique
Aller à la navigation Aller à la recherche

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.