IMA4 2018/2019 P46

De Wiki de Projets IMA
Révision datée du 18 janvier 2019 à 17:37 par Gbernar2 (discussion | contributions) (Feuille d'heures)


Kit Robot

Présentation générale

Description

Il existe de nos jours de nombreux kits d'assemblage de robots programmables.

Ils permettent aux utilisateurs de créer leurs propres robots à l'aide de pièces, de moteurs et de capteurs. Il existe des kits pour tous les niveaux, du débutant à l'expert en robotique ; les robots sont programmables via une application mobile en Bluetooth ou via des langages de programmations (Scratch, C++, Python ...)

Le problème de ces kits est qu'ils sont souvent assez chers et surtout propriétaires. C'est à dire qu'ils ne sont pas Open-Source et que la perspective d'évolution du kit est limitée à la même marque.

Durant notre cursus, nous avons eu l'occasion de tester par exemple les kits MindStorm NXT, Bioloid et MakeBlock.

L'objectif de ce projet est d'y proposer une alternative, en concevant un kit Open-Source (open source en logiciel comme en matériel) permettant l’assemblage d’un robot et une programmation aisée et facilement modifiable à sa convenance.

Objectifs

Pour la réalisation de ce projet nous allons tout d'abord réaliser notre propre carte programmable qui sera le cerveau du robot. Elle permettra de connecter (principalement via RJ12 avec un protocole SPI ou I2C pour faciliter le câblage) les capteurs, les actionneurs, les moteurs, les modules de communication et de les contrôler facilement.

Ensuite nous trouverons un système d’alimentation du robot, proposant une autonomie correcte (par exemple batterie lithium). Nous ajouterons également un système de recharge simple et un régulateur de tension adapté aux besoins des composants du robot.

Ensuite nous allons réaliser ou adapter différents modules électroniques permettant d’aider à la conception des différents modèles (capteurs, actionneurs, modules de communication).

Ensuite nous réaliserons, à l'aide de la Découpeuse Laser et des imprimantes 3D du Fabricarium de l'école, les différentes pièces du Kit qui peuvent être facilement assemblées pour former plusieurs modèles de robots.

Enfin nous réaliserons différentes bibliothèques proposant un outil de programmation et d'utilisation simplifié du modèle et de ses modules.


Le Kit créé pourra être utilisé au club Robotech de Polytech Lille. Il permettra aux nouveaux membres de se familiariser avec la robotique, d'utiliser les machines du Fabricarium et de créer un robot. Il pourra également être utilisé pour la coupe de France à laquelle Robotech participe chaque année. Il constituera une base solide pour la fabrication et la programmation des deux robots (primaire et secondaire)

Analyse du projet

Positionnement par rapport à l'existant

Tous les kits disponibles de nos jours possèdent des points positifs et des points négatifs (autonomie, prix, facilité de programmation, facilité d'assemblage, diversité des modèles disponibles, possibilité d'additionner plusieurs kit...)

Notre kit sera, à l'inverse de la plupart des kits existants, Open Source en matériel et en logiciel.

Les utilisateurs pourront eux-mêmes imprimer les pièces du kit grâce à des fichiers stl (imprimante 3D) et svg (Découpeuse Laser). Ils pourront également reproduire la carte et les différents capteurs, actionneurs, modules de communication grâce aux fichiers partagés et à la liste des composants nécessaires. Cela permettra une économie d'argent considérable et également à l'utilisateur de comprendre en détails avec quels composants sont réalisés tout les éléments du kit et comment ceux-ci fonctionnent. De plus si un élément du Kit ne fonctionne plus ou est défectueux, il suffit de le réimprimer. Ce n'est pas le cas des Kit déjà existants qui ne sont pas Open Sources.

Notre Kit sera simple d'utilisation avec des codes couleurs pour faciliter les branchements et la programmation.

Analyse du premier concurrent

Notre premier concurrent est la marque Makeblock. Cette marque propose différents Kits pour construire des robots.

Nous étudierons ici deux de leurs kits :

Makeblock (mBot V1.1)
Makeblock (Ultimate 2.0)

Robot mBot V1.1 et Ultimate 2.0

Voici les différentes caractéristiques de ces kits:

Connectivité

  • Type d'interface: Wi-Fi ou Bluetooth
  • Port de chargement USB
  • Applications: Arduino IDE
  • Câbles inclus: LAN (RJ-45), USB

Puissance

  • Batteries requises
  • Type de source d'alimentation: Non-rechargeable battery
  • Tension des piles: 1,5 V
  • Type de batterie: AA
  • Nombre de batteries prises en charge: 4 pour le mBot et 6 pour l'Ultimate

Robot mBot V1.1

Caractéristiques

  • Nombre de moteurs: 4
  • Nombre de capteurs: 3
  • Ligne suivante: Oui
  • Support smartphone à distance: Oui
  • Support d'application: Oui
  • Applications: Graphical, Arduino , Python, Node JS, Mblock, Scratch
  • Chargeur: Oui
  • Guide de démarrage rapide: Oui
  • Piles fournies: Non

Ultimate 2.0

Caractéristiques

  • Nombre de pièces: 40 pièces
  • Nombre de robots programmables: 1
  • Chargeur: Oui
  • Guide de démarrage rapide: Oui
  • Piles fournies: Non
  • Nombre de moteurs: 2
  • Nombre de capteurs: 3
  • Ligne suivante: Oui
  • Nombre de haut-parleurs: 1
  • Compatible avec les effets de lumière: Oui
  • Couleur de la lumière: Multi
  • Nombre de DEL d'éclairage: 2
  • Support smartphone à distance: Oui
  • Support d'application: Oui

Robot mBot V1.1: Ce Kit est l'un des moins cher du marché (100 euros), il est néanmoins moins complet que certain autres Kit. La marque revendique ce Kit comme étant spécialement conçu pour les enfants. Il permet d'apprendre facilement les bases de la programmation.

Avertissement de sécurité pour le mBot

  • Pas pour les enfants âgés entre 0 et 3 ans
  • À utiliser sous la surveillance directe d'un adulte

Ultimate 2.0: Ce Kit propose un ensemble de 10 configurations programmables. Ce Kit n'est pas destiné aux jeunes enfants car il contient de nombreux petits éléments et le montage se fait à l'aide de vis. Ce Kit est au prix de 400 euros.

Avantages des 2 Kits:

  • Pièces très résistantes et assemblage robuste grâce aux vis
  • Compatible avec plusieurs moyens et langages de programmation
  • Compatibles avec des capteurs de marque autre que Mblock
  • Facile d'utilisation
  • Prix abordable pour le Robot mBot V1.1

Inconvénients des 2 Kits:

  • Autonomie limitée
  • Nombre et types de pièces très limités et non remplaçables pour le Robot mBot V1.1
  • Non évolutif

Analyse du second concurrent

Notre second concurrent est la marque LEGO. Elle propose des Kits de programmation de robots qui sont plus accessibles aux enfants. Le construction de ce kit est simplifiée: il n'y a pas besoin de vis.

Ces deux kits sont très utilisés pour l'enseignement et l'éducation des sciences et techniques.

Les prix de ces Kits sont autour de 300 euros.

LEGO (Mindstorm EV3)
LEGO (Mindstorm NXT 2.0)

Voici les différentes caractéristiques de ce kit:

  • Brique intelligente programmable NXT 4 ports d'entrée et 3 ports de sortie de forme proche du standard RJ12
  • Connexions USB et Bluetooth
  • Trois servomoteurs interactifs
  • Quatre capteurs : sonore, photosensible, ultrason, tactile (possibilité d'utiliser d'autres capteurs qui ne sont pas dans le Kit :couleur, autodirecteur infrarouge, gyroscopique, infrarouge, accéléromètre, boussole...)
  • NXT-G, le logiciel de programmation graphique, basé sur Labview compatible avec Windows et Mac
  • Alimentation : six piles AA (1,5 V) ; une batterie 9 V est commercialisée par Lego.

Il est possible d'utiliser des accessoires supplémentaires (non fournis dans la boite principale) comme une clé Bluetooth USB, une batterie rechargeable, des moyens de communication Wi-Fi, XBee (modules radio compatibles), des multiplexeurs, des panneaux solaires, des pilotes de relais, des roues holonomiques...

Avantages

  • Logiciel de programmation simplifié
  • Facile à assembler

Inconvénients

  • Capteurs et moteurs propriétaires cher à l'achat
  • Puissance des actionneurs limitée
  • Possibilité limitée du nombre de capteurs (4) et d'actionneurs (4) sur un même robot à cause du nombre de ports disponibles

Scénario d'usage du produit ou du concept envisagé

Scénario:

Hervé est en Peip à Lille et il s'est découvert une nouvelle passion pour la Robotique. Il a vu plusieurs reportages et vidéos sur le sujet. Il veut travailler plus tard dans ce domaine. Il décide alors qu'il ira en IMA . En attendant, il décide d'apprendre toutes les facettes de cette discipline. Mais il ne sait pas par quoi commencer. Il veut apprendre étape par étape et se renseigne alors sur des moyens d'apprendre la robotique facilement. Sur internet il découvre l'existence de Kit de robotique programmable qui constitue une excellente base de Robotique et qui sont accessibles aux débutants. Mais ils sont assez chers et il n'a pas les moyens (il est étudiant).

Il découvre alors l'existence du Club "Robotech". Quelle chance ! Les membres du club l'informent de l'existence d'un tout nouveau Kit crée par des étudiants pour leur projet de 4ème année. Hervé se renseigne alors : ce kit est Open Source et il pourra grâce à l'imprimante 3D et la découpeuse Laser du Fab fabriquer les pièces de son Kit. Cela lui permettra également de faire des économies d'argent. Pour ce qui est des capteurs et de la carte, les membres de Robotech (qui sont curieusement principalement des IMA) lui fournissent de l'aide et il pourra tout réaliser à Polytech.

Quelques semaines plus tard, Hervé réalise son premier robot qui est commandable en Bluetooth et possède toute une panoplie de capteurs lui proposant un champs d'application très varié. Il est également très content de la batterie en Lithium du Kit qui assure une bonne autonomie à son robot et qui se recharge très facilement.

Malheureusement il a fait tomber son robot (il est maladroit) et le capteur infrarouge ne fonctionne plus du tout. Pas de soucis ! Grâce au fichier opensource il peut en fabriquer un nouveau facilement.

Au fur et à mesure, Hervé crée les capteurs dont il a besoin et fabrique de nouvelles pièces pour améliorer son robot. Grâce à ce Kit il a pu apprendre à programmer son propre robot et à comprendre comment sont fabriqués les différents capteurs et comment ils fonctionnent.

Un an plus tard, le voilà nommé Secrétaire et Responsable de la communication de Robotech. La date de la compétition phare du club, la Coupe de France de Robotique, approche. Surchargés de travail entre les cours de réseau et d'électronique, les membres du club n'ont pas eu le temps de fabriquer le robot secondaire et il ne leur reste qu'un mois. Hervé décide alors, sur un éclair de génie, d’utiliser de nouveau le Kit : celui-ci est robuste et permettra de confectionner n'importe quel type de robot. L'avantage est qu'il est facilement programmable via l'IDE Arduino pour les jeunes IMA3, et on pourra y brancher énormément de capteurs sans un nombre incalculable de fils qui se prendront dans les roues !

Réponse à la question difficile

Qu'est-ce que notre Kit apportera de nouveau par rapport aux autres?


Notre Kit sera Open Source en logiciel et en matériel. Des bibliothèques seront conçues et des codes déjà implémentés. De plus les fichiers pour créer les pièces et les capteurs seront accessibles. Il sera donc facile pour un étudiant, grâce à tous les moyens mis à disposition à Polytech, de fabriquer tout ce dont il a besoin

Ce kit sera conçu par des étudiants pour des étudiants (Robotech). Nous allons faire notre possible pour pouvoir proposer un Kit contenant les principales pièces et capteurs à un prix abordable.

Pour ce qui est des possibilités d'extension du Kit, nous proposerons plusieurs capteurs et pièces pour ajouter au robot.

Nous allons faciliter la programmation et l'assemblage en utilisant des connectiques adéquates et des codes couleur.

En d'autres termes, nous voulons combiner les avantages de tous ces kits en 1 seul (prix, pièces, Open Source, facilité de programmation...) et les améliorer en proposant la possibilité de produire des pièces de rechange soi même.

Préparation du projet

Cahier des charges

  • Concevoir des bibliothèques pour faciliter la programmation sur l'IDE Arduino
  • Proposer des modèles et une programmation simplifiée par blocks
  • Concevoir les pièces du robot dans un matériel résistant, peu cher et facile à usiner : plexiglass
  • Créer et/ou modifier des capteurs pour le robot pour être adapté à l'I2C
  • Créer une carte programmable optimisée permettant le branchement facile des capteurs et actionneurs sur un ATMega2560
  • Faciliter la construction (code couleur, câbles simples à brancher)

Choix techniques : matériel et logiciel

Matériaux

  • Plaque de plexiglas 1m2, 4mm d'épaisseur pour des fines pièces
  • Plaque de plexiglas 1m2, 8mm d'épaisseur pour des pièces plus grosses et résistantes

Actionneurs

  • Moteur CC + Encodeur + contrôleur moteur
    • Motoréducteur + encodeur FIT0520: [1]

Capteurs

  • 1 Capteur de distance par Ultrasons HCSR04: [2]
  • 2 Capteurs de distance par Infrarouges de type SHARP: [3]
  • 1 Gyroscope: [4]
  • 2 Capteurs de lignes: [5]
  • 2 Fin de courses: [6]

Composants électroniques

  • 5 ATTiny85 CMS: [7]
  • 2 ADS1015 : [8]

Autre

  • Vis M4 12mm,16mm et écrous M4: [9] + [10] + [11]
  • câbles RJ12
  • RJ12 femelle
  • Batterie Lithium-ion + chargeur
  • Arduino Mega: [12]

Liste des tâches à effectuer

Les différentes tâches à effectuer :

tâche 1 :Création de la carte principale Après en avoir parlé avec nos enseignants, nous utiliserons comme base de notre carte programmable, un Arduino Mega.


tâche 2 :Création des pièces Nous avons défini les différents capteurs et actionneurs de notre Kit. Il s'agit maintenant de créer les pièces du Kit pour pouvoir créer son robot selon différents modèles disponibles.


tâche 3 :Programmation Nous allons créer des bibliothèques pour faciliter la programmation des différents modèles. La programmation se fera avec l'IDE Arduino (langage C) ou avec ArduBlock (langage Java)

Calendrier prévisionnel

Réalisation du Projet

Feuille d'heures

Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Total
Analyse du projet 7 h
Création de la carte principale 4h
Création des pièces du KIT
Programmation

Prologue

Semaine 1

Nous avons commencé par créer la carte. La première question est de savoir avec quel logiciel nous allions router notre carte(Fritzing ou Eagle). Nous avons décidé de prendre Eagle qui, même si il nous ne l'avons jamais utilisé contrairement à Fritzing, est plus performant pour notre application et est utilisé dans les entreprises de nos jours.

Nous avons effectué des recherches pour pouvoir créer notre carte et nous voulions nous inspirer des cartes Arduino crées dans les BE PEIP. Néanmoins nous voulions faire un Arduino MEGA donc nous nous sommes inspirés de schémas sur internet.

Semaine 2

Documents Rendus