Robot de guidage

De Wiki d'activités IMA
Révision datée du 7 mars 2012 à 17:57 par Isogoba (discussion | contributions) (Séances)

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

  • 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 nécessaires pour créer une application Android permettant l'affichage d'un message sur l'écran de la tablette tactile.


3ème et 4ème séance: Ces 2 séances sont axées sur la création d'une application Android permettant de sélectionner une liste de produit et de commander le robot par la suite. Il s'agit donc de créer une base de données comportant les objets et les selections effectuées par l'utilisateur.

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 ( Motorola XOOM). 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);

}

}

La tablette utilisée: 2011-01-05-moto-xoom-3.jpg


Troisième et quatrième séances

Nous avons conçu une application permettant à l'utilisateur de sélectionner un produit suivant une galerie. Pour Cela nous avons d'abord utilisé une base de d'images correspondant au produits. L'utilisateur peut ainsi choisir le produit et appuyer sur un bouton pour valider. Cette première version, nous avons pensé l'améliorer en utilisant une base de données permettant de modifier plus facilement les données enregistrées. Nous avons donc commencé par étudier la syntaxe du SQLite avec Android à l'aide d'un exemple portant sur une base de données de livres. Le programme nous permet ainsi de réaliser 3 opérations: entrez une donnée, modifier une donnée et supprimer une donnée. Ceci nous permet d'envisager des choix multiples pour l'utilisateur qui verra le robot corriger l'ordre de ses choix suivant la distance de chaque produit.


Cinquième séance

Résultats