Robot de guidage : Différence entre versions

De Wiki d'activités IMA
(Deuxième séance)
(Deuxième séance)
Ligne 156 : Ligne 156 :
 
import android.os.Bundle;
 
import android.os.Bundle;
 
import android.widget.TextView;
 
import android.widget.TextView;
 
 
public class HelloSdZ extends Activity  
 
public class HelloSdZ extends Activity  
 
{
 
{
    @Override
+
@Override
    public void onCreate(Bundle savedInstanceState) {
+
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
+
super.onCreate(savedInstanceState);
       
+
TextView tv = new TextView(this);
        TextView tv = new TextView(this);
+
tv.setText("Hello World !");
        tv.setText("Hello World !");
+
setContentView(tv);
       
+
}
        setContentView(tv);
 
    }
 
 
}
 
}
 
''
 
''
  
 
=== Résultats ===
 
=== Résultats ===

Version du 20 février 2012 à 22:31

Présentation

Ce projet s'inscrit dans le cadre de notre quatrième année d'étude au département IMA de l'école d'ingénieur Polytech'Lille. Il a été proposé par le département R&D de l'entreprise Oxylane dans le cadre d'une coopération avec le département. L'objectif de ce projet est de créer un robot de guidage qui devrait être utilisable dans un magasin quel qu'il soit. Ce robot devrait être capable de se localiser dans un magasin suivant les produits recherchés, le principe étant que le client puisse sélectionner les produit sur une tablette tactile associée au robot. Ce dernier commandé par un contrôleur arduino relié à la tablette devrai utiliser des point de repères afin de déterminer l'emplacement de chaque rayon. L'ensemble du matériel nécessaire ( robot, tablette, capteur, etc...) à ce projet sont commandés via des fournisseur et sur proposition des étudiants au tuteur de projet. Les étapes de réalisation de ce projet sont détaillées dans les parties suivantes.

Préparation du projet

Matériel requis

  • Robot + capteurs
  • Tablette
  • Arduino
  • Outils de programmation

Matériel à acheter

  • Tablet Android
  • Platine ADK
  • Robot
  • capteur
  • quincaillerie

Avancement du projet

Objectifs suggérés par les encadrants

1ere séance: Lors de cette première séance Nous nous sommes fixés comme objectifs d'effectuer une recherche des caractéristiques du robot de guidage et une conception d'un cahier des charges réduit. Il s'est donc agit de faire une recherche sur internet des différents modèles de robots respectant notre budget.


2ème séance: La deuxième séance s'est axée sur l'installation des différents paquets necessaire pour créer une application android permettant l'affichage d'un message sur l'écran de la tablette tactile.

Réalisations concrètes

Séances

Première séance

Nous avons effectué des recherches sur internet concernant différents modèles de robot pouvant respecter le cahier des charges. Nous avons comparé différents modèles et avons choisi un robot mobile FB004 fabriqué par FiveBot.

2 fournisseurs différents proposent ce robot : Robotshop à 751.83 euros et génération robots à 705 euros ( seul problème chez ces derniers le robots n'est pas en stock) . Ce robot possède les caractéristiques indiqué ci dessous.

Ainsi afin de respecter la norme de taille d'environ 1,5m pour un utilisateur humain, nous avons décidé de rajouter des barres en alluminium commandées chez radiospares

( Disponibilité disponible(s) - En stock pour livraison le lendemain Code RS 493-8319 Fabricant Bosch Rexroth Référence fabricant R987160855 Etat RoHS Sans objet) Pour abaisser le centre de gravité du robot complet nous utiliserons des roulettes de soutients qui permettront de gérer l'équilibre de robot


La liste des éléments livrés par commande reste la meme quel que soit le fournisseur du robot


Robot1.jpg Robot2.jpg

Kit Robot Mobile à 2 Roues Motrices Compatible Arduino


Caractéristiques techniques du robot Fivebot FB-004 Châssis

  • Apparence : châssis circulaire
  • Longueur : 357mm
  • Largeur : 313mm
  • Hauteur : 267mm
  • Garde au sol : 39mm
  • Matériau du châssis : Aluminium, acier
  • Vitesse max : 0.8m/s
  • Propulsion : 2 roues motrices différentielles, 1 roue libre
  • Pente franchissable : 20°
  • Charge utile : 10kg
  • Compatibilité mini-ITX : Oui

Encodeurs

  • Technologie : optique
  • Nombre de voies : 2
  • Résolution : 12 tops par tour de roue

Alimentation

  • Batterie : 12V Ni-Mh
  • Chargeur : Recharge lente Vin : 100-240V – Vout : 2.4-12V
  • Durée de charge : 2 heures
  • Autonomie : 30 minutes en continu

Roues

  • Diamètre : 143mm
  • Largeur : 30mm
  • Matériau : polyuréthane

Motorisation

  • Type : Faulhaber 12V DC sans fer
  • Puissance : 17W
  • Vitesse de rotation : 120 tours par minute
  • Diamètre : 30mm
  • Longueur : 42mm
  • Longueur totale : 85mm
  • Longueur de l’axe : 35mm
  • Diamètre de l’axe : 6mm
  • Courant à vide : 75mA
  • Courant en charge : 1400mA
  • Rapport de boîte de vitesse : 64 :1

Carte de contrôle principale

  • Microcontrôleur ATMEGA328
  • 14 Entrées / Sorties numériques
  • 6 canaux de PWM
  • 8 Entrées / Sorties analogiques
  • Interface USB
  • Circuit de protection électrique
  • Interface série niveau TTL
  • Support du module radio APC220
  • 5 interfaces I2C
  • Électronique de commande moteur 2A max
  • Alimentation : USB ou alimentation externe 7-12V
  • Ports d’alimentations disponibles : 5V/3.3V stabilisées et alimentation batterie

Carte d’extension

  • Contrôle de 2 moteurs supplémentaires
  • Support RS-485
  • Support module Xbee

Programmation

  • Environnement de programmation Arduino
  • AVR Studio avec programmation par USB


Pour l'utilisation du robot, nous avons prévu en ce qui concerne l'alimentation d'utiliser des points de chargements muraux. Les suivis de trajectoire seront quant à eux adaptés à notre rythme d'avancement dans le projet. Nous partons tout de meme dans l'idée d'utiliser des capteur RFID au final. Nous essayerons avant cela de réaliser des suivi de lignes colorées ou blanches.


Deuxième séance

Nous avons installé les différents paquets java et eclipse nécessaire pour réaliser les programmes sous android. Nous avons connu de nombreux problèmes lors de l'installation des plugins sur eclipse. Ces problèmes ont été dus en premier lieu à un problème de proxy que nous avons par la suite configuré puis à un problème de lien de téléchargement qui n'était plus existants. Nous avons alors récupéré un dossier de plugins déjà téléchargés que nous avons associé au logiciel. Nous avons alors créé une application affichant " hello world" sur l'écran d'une tablette Le code correspondant à l'affichage d'un message sur l'écran est le suivant:

package com.google.android.hellosdz; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloSdZ extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello World !"); setContentView(tv); } }

Résultats