Outils d'utilisateurs

Outils du Site


getting_started

Getting started

Bonjour jeune Padawan ! Tu trouveras ici tout ce qu'il faut pour comprendre les bases de l'asso, les intalls à faire, tutos…

S'il manque quelque chose ou que ça n'est pas clair, n'hésite pas à améliorer cette page (comme le reste du wiki d'ailleurs) !

Commun

Communication externe

  • Rejoins notre page de communication Facebook
  • Rejoins l'asso sur le portail des assos. Cela sert au BDE à recenser les participants, pour leur comm' et surtout pour nos subventions :)

Communication interne

  • Nous utilisons Slack pour la communication au sein de l'équipe. L'adresse est https://utcoupe-utc.slack.com. Il suffit de s'inscrire avec son adresse etu. Point utile, il existe beaucoup de canaux Slack, n'hésite surtout pas à rejoindre ceux qui t'intéressent (info, méca, elec, events…). Pour ça, il suffit de cliquer sur “Channels” ;)
  • La page Facebook Membres UTCoupe permet de communiquer avec les anciens de l'asso quand on a de beaux avancements/résultats :)
  • Le Trello qui est un outil de gestion de projet en ligne. Il faut d'abord y créer un compte, ensuite rejoindre le tableau de l'année en cours (a priori utcoupe-20xx).

Documentation

Les passations sont à faire sur ce wiki. Il devient indispensable les années où aucun ancien ne continue (c'est déjà arrivé plusieurs fois depuis la création de l'asso). Espérons qu'il te sera utile également !

Réseau UTC

Notre local dispose du réseau de l'UTC, donc pas de problème pour y avoir internet. Cependant, certains éléments nécessitent un accès authentifié, impossible en utilisant le réseau eduroam. Donc si ton ordinateur n'est pas encore déclaré sur le réseau de l'UTC, il est impératif de le faire de ce pas.

C'est ici que ça se passe et ça ne prendra qu'une petite demi-heure pour prendre effet ;)

Introduction au vocabulaire courant

  • Robot : pas ça, plutôt ça, c'est moins sexy mais osef ^^
  • Raspberry Pi (ou Raspi) : bien plus qu'un joli jeu de mot, c'est un PC au format carte de crédit. Elles tournent sur un processeur ARM (architecture de téléphone), le stockage se fait sur une mini carte SD, ça coute une 30€ environ et il en existe différente versions, plus ou moins puissantes, grosses ou fournies en ports USB. C'est la base informatique de nos robots.
  • Arduino : ce sont de petites cartes électronique programmable simplement. Il y en a des riquiqui ou des plus grosses, selon les besoins. On contrôle une bonne partie du robot avec ces petites choses : ils font le lien entre un ordi (souvent une Raspi) et un moteur, codeur, lumière,… C'est open-source donc il en existe des chinoises (à partir de ~3€) et des officielles (5 fois plus chères ^^). On peut étendre les capacités d'un Arduino en y connectant une carte appelée shield
  • Base roulante : 2 moteurs, chacun équipé d'un réducteur, assemblés dans un bloc à la base du robot
  • Moteur : on en a 4 sortes, toujours électriques, chacune ayant ses avantages et inconvénients.
    • Servo-moteur : c'est un moteur asservi (ça n'a donc rien à voir avec le cerveau, j'étais très déçu quand j'ai appris ça…). C'est à dire qu'il suffit de lui donner du courant et une position de destination (il ne peut donc pas faire plusieurs tours) et il obéit. C'est pour ça qu'il a (le plus souvent) 3 fils : le +, la donnée et le -. C'est le moteur le plus facile à contrôler (4 lignes de code Arduino) mais ça n'est pas très costaud (couple et durée de vie). Il existe aussi en rotation continue (on le contrôle alors en vitesse). Il va essayer de rester à la position demandée si on force dessus.
    • Moteur pas-à-pas (stepper en anglais) : moteur à couple assez faible mais d'une grande précision, on le contrôle au nombre de ticks (unité de rotation, variant d'un moteur à l'autre) à faire. Attention, s'il saute des ticks parce qu'il force, ça s'entend et ça l'abime.
    • Moteur à courant continu (CC) : le moteur le plus simple, on lui donne de l'électricité, il tourne. Plus on se rapproche de la tension nominale, plus il tourne vite. Les soucis sont : on se sait jamais vraiment à quelle vitesse il tourne (même 2 moteurs identiques soumis à la même tension tourneront différemment), on ne connais pas sa position, il crée un court-circuit s'il est bloqué et il consomme pas mal (pics d'intensité). Un servo moteur est en fait un petit moteur CC avec une carte de contrôle.
    • Moteur brushless : n'ayant pas de balais, ces moteurs sont plus efficaces, plus compacts, chauffent moins et créent moins de courts-circuits que leurs copains CC. Le problème c'est qu'ils sont assez chiants à contrôler (il faut jouer avec la fréquence d'activation de chacune des bobines internes = relou). Il n'empêche qu'on utilise ça pour la base roulante du petit robot.
  • Odométrie : estimation de la position du robot, réalisée en permanence. Peu importe la technique utilisée, il faut toujours considérer qu'elle peut être fausse ou dériver. On utilise actuellement des roues codeuses pour cela, mais il existe d'autres techniques.
  • Codeur (ou roues codeuses) : 2 par robot, il compte le nombre de fractions d'angles réalisé par sa roue dû au déplacement du robot. Ils nous permettent donc de connaître notre position sur la table (en connaissant notre position de départ et en estimant notre déplacement). Le comptage des ticks d'angle est très précis mais la position estimée dérive tout de même car la roue glisse légèrement sur la table. Il faut, dans cette architecture, que les points de contact des 4 roues (2 motrices et 2 codeuses) soient parfaitement alignés et que les roues soient bien parallèles. Tous les autres points de contact avec la table doivent être négligeables (on met des billes)
  • Asservissement : c'est le fait de contrôler un moteur pour lui faire atteindre la position, la vitesse et/ou l'accélération souhaitée(s). Par abus de langage, on désigne également par ce terme le module permettant de déplacer le robot. On utilise le régulateur le plus courant pour faire de l'asservissement : une loi de commande PID (avec D négligeable dans notre cas, on a donc un PI uniquement).
  • Li-Po (batterie Lithium Polymère) : source d'alimentation des robots, souvent avec une tension nominale de 12V. Nécessite une carte d'alimentation pour faire du 5V (Raspi, Arduinos, Hokuyos…) et du 12V qui ne dépende pas du taux de charge de la batterie. Nécessite également un chargeur spécifique et des conditions de stockage et d'utilisation ("sac à Lipo) qui ne soit pas dangereuses.

Informatique

OS

Les robots tournent sur Linux, souvent un dérivé de Debian (Raspbian sur les Raspberry Pi, Linux Mint sur le NUC je crois). On recommande donc l'installation d'une distribution Linux en VM, en dual boot ou même en OS principal (si t'es vraiment un champion).

Pour les TC/début de GI qui se disent que c'est beaucoup d'emmerdes pour rien : Linux est utile dans beaucoup de cours ou de projets en GI (souvent plus pratique que Windows), c'est très stable maintenant et c'est très utilisé dans l'industrie (surtout dans le web et dans l'embarqué).

Pour les besoins du projet, il est nécessaire (en 2018 en tous cas et sûrement aussi en 2019) d'installer une distribution Ubuntu 16.04. Cette restriction s'explique par l'utilisation du framework ROS et il est plus facile de l'installer sur Ubuntu (version dans les dépôts officiels). Attention : les package de ROS ne sont pas disponibles sous toutes les versions et au moment où une nouvelle version de ROS est publiée elle n'est disponible QUE pour les version d'Ubuntu >= à la dernière LTS de l'OS déjà sorties. Ainsi, Kinetic (Mai 2016) n'est disponible que pour Ubuntu 16.04 LTS alors que Lunar (Mai 2017) est disponible sous 16.04, 16.10 et 17.04. Aucune version de ROS n'est disponible officiellement sous 17.10.

Git

Notre code est versionné et partagé grâce à Git via notre Github. Demande à un ancien de t'ajouter comme contributeur au dépôt de l'année (coupeXX).

Si tu ne connais pas Git, voilà quelque trucs qui peuvent t'aider:

  • Installation :
    • Sur Linux sudo apt-get install git, tout simplement.
    • Sur Windows, installe la à partir du site officiel
    • Dans les deux cas, des outils graphiques peuvent aider. Par exemple: TortoiseGit sur Windows, GitKraken sur Windows, Mac et Linux.
  • Tuto :
    • Le tuto du Site du Zéro est très bien fait
    • Si tu n'es pas allergique à l'anglais, il existe un tutoriel intéractif sur Github
    • Par la suite, consultez une cheatsheet ou demandez à un ancien si vous avez un doute !
    • Maintenant que tu as lu ces lignes, tu as INTERDICTION de faire un projet de programmation sans Git ! Vraiment. Ça sauve des pandas.

Une fois le dépôt cloné, suis les instructions du README pour installer les programmes et leurs dépendances (à partir de P17, un script automatise cela).

Mécanique

Installation des logiciels

Catia

Dans l'association UTCOUPE, on utilise complètement Catia pour la conception. Il va donc falloir te le procurer pour commencer à travailler et voir les précédents projets !

Pour installer Catia, deux possitiblités :

Adobe Illustrator

Un deuxième logiciel qui peut être utile mais pas forcément nécessaire (car dispo au Fablab) est Adobe Illustrator, pour l'obtenir c'est aussi par ici : https://www.facebook.com/groups/UTcompiegne/permalink/1387028524645167/ (groupe Facebook UTC =))

Formations, à savoir...

Formation/tutoriels

Pour Catia, une bonne formation par ici : http://xaoplm.gsm.utc.fr/ (attention: il faut être sur le réseau UTC pour accéder au lien) Tu peux aussi regarder sur le Dropbox UTCOUPE dans ROBOT_2017/tuto Catia/

Prototypage: A savoir

Pour faire une découpe laser :

  • Faire une mise en plan sur Catia avec les pièces qui vous intéressent (ECHELLE 1:1)
  • Sauvegarder la mise en plan au format .dxf
  • Ouvrir la mise en plan dans Adobe Illustrator
  • Ajouter photo
  • Mettre en forme en réduisant au maximal les chutes entre les différentes pièces à découper
  • Régler l’épaisseur de trait à 0,01 en sélectionnant toutes vos pièces
  • Changer la couleur des contours : la découpeuse laser coupe les couleurs dans l’ordre suivant : rouge (RVB : 255,0,0) puis bleu (RVB : 0,255,0) puis vert (RVB : 0,0,255) ⇒ Vérifier ces réglages avec le permanencier du Fablab
  • Enregistrer en .ai et voir au Fablab pour la découpe

Remarque : on préférera utiliser une épaisseur de 3mm pour les pièces qui ne travaillent pas et 6mm si les pièces travaillent (mais minoritaires, les efforts sont souvent pas violents).

Pour faire une impression 3D :

  • Concevez votre pièce en prenant en compte le moyen de fabrication (pas de parties dans le vide, pas de butées trop petites et la taille de l'imprimante est limitée (mais normalement et compatible avec nos besoins) : voir caractéristiques https://www.makershop.fr/imprimantes-3d/5-zortrax-m200.html ⇒ dispo au Fablab UTC
  • Sur Catia AVANT d'enregistrer au format STL : Fichier > Usinage > STL
  • Utiliser l'outil Facetisation

  • Régler à une flèche de 0,01mm puis sélectionnez le Corps que vous souhaitez imprimer puis valider
  • Exporter en STL avec l'outil “Exporter en STL” sur la même barre que l'outil Facetisation
  • Ouvrir votre fichier STL avec le slicer et effectuer les réglages désirés (voir au Fablab)

Remarque : Pour un prototypage n'hésite pas à être grossier si tu penses devoir refaire la pièce dans pas longtemps 0.24mm/0.19mm en précision et un remplissage moyen ou haut est un bon compromis pour une première approche.

Dropbox

Structure du répertoire ROBOTS_201X :

  • Aire de jeu : tous les documents/plans/mises en plan/modélisation 3D de l'aire de jeu
  • GR : conception du Gros Robot
  • Infos : règlements
  • PR : conception Petit Robot
  • robots 201(x-1,x-2…) : Robots des années précédentes
  • Prototypes : essais indépendants avant intégration dans les robots
  • Tuto catia : tutoriel catia
getting_started.txt · Dernière modification: 2018/02/12 10:44 par blondgae