Club robotique de Sophia-Antipolis

Accueil > Projets et études > Nos robots > Robots du club > Robots spéciaux > Delta Bot - robot parallèle (2012)

Delta Bot - robot parallèle (2012)

jeudi 4 octobre 2012, par Jean-Pierre, Julien A., Julien H.

Les robots "delta" sont des systèmes mécaniques parallèles, c’est-à-dire avec plusieurs liaisons entre deux mêmes pièces mobiles. Nous les avions déjà présentés dans cet article.

Ces machines servent habituellement au "pick & place", un dispositif asservi pour récupérer des objets et les déplacer à un endroit bien précis, comme pour ranger des chocolats dans une boite de Noël ou pour positionner les composants à souder sur une carte électronique.

Nous avons réalisé un exemple de ce robot, c’est notre Delta Bot.

 Pièces nécessaires

Le robot Delta Bot a été réalisé en quelques semaines avec des matériaux de récupération : pièces mécaniques de modélisme (tringlerie, liaisons rotules), plaques en PVC extrudé, etc...

Pour assurer une bonne solidité des moteurs, des cages EasyRobotics ont été utilisées avec succès : la fixation au châssis est facile et la structure absorbe les changements de direction de la tête.

L’électronique de contrôle des mouvements réutilise ce qui fait le succès de nos montages de prototypage rapide : un micro-contrôleur sur carte Arduino et une carte d’extension permettant l’alimentation des servomoteurs et la simplification des connexions à 3 points. Ce matériel nous est fourni par Zartronic.

 Construction

JPEG - 283.5 ko
Découpe d’un panneau de récup
JPEG - 334.8 ko
La fraiseuse numérique en marche
JPEG - 384.5 ko
Fixation des pièces
JPEG - 512.5 ko
La touche finale

Les câbles passent dessous grâce à des découpes dans le support permettant de descendre et de remonter (ils sont bien présents sur les deux dernières photos !) et trois patins en caoutchouc assurent la bonne stabilité.

La carte électronique est posée dans un décaissement qui assure son maintien en place. Ce sont des détails mais ce n’est pas parce qu’on utilise des matériaux de récupération qu’on fait des constructions de faible qualité.

D’ailleurs une autre astuce : les petits axes des "deltas" sont recouverts de frein-filet, un liquide comme du vernis à ongle qui se solidifie sur le filetage et empêche que les petits écrous ne partent !

 Fonctionnement

Pour atteindre une position, la tête est déplacée par les trois bras, grâce à des articulations qui permettent de tracer des cercles et d’atteindre n’importe quel point du disque avec seulement 3 angles de rotations à contrôler.

La structure prend la forme de pyramides à face triangulaires, ce qui donne au robot son nom "delta". Mais la plus grande astuce consiste à l’utilisation de 6 branches au lieu de 3, par paires, ce qui forme des parallélogrammes sur chaque bras.

 Code source

Pour notre première démonstration, rien de bien sorcier puisqu’il s’agit seulement de donner des positions différentes aux trois moteurs.

// Test des moteurs du Deltabot
// démonstration automatique du fonctionnement
#include <Servo.h>
// trois variables pour chacun des servos (sens horaire, A étant en haut.
Servo servoA, servoB, servoC;
// la position courante demandée
int pos = 0;
void setup()
{
  // initialisation des servomoteurs
  servoA.attach(8);
  servoB.attach(9);
  servoC.attach(10);
}
void loop()
{
 
  //
  servoA.write(20);
  servoB.write(20);
  servoC.write(20);
  delay(1000);
 
  //
  servoA.write(90);
  servoB.write(90);
  servoC.write(90);
  delay(1000);
 
  delay(2000);
 
  // etc...
  servoA.write(20);
  servoB.write(90);
  servoC.write(20);
  delay(1000);
 
 }

 Contrôle par Wii Nunchuck

En utilisant les bibliothèques I2C pour Arduino (WiiChuck.h) déjà utilisée sur nombre de nos robots mobiles, il était aisé d’asservir un des 3 moteurs sur la position Y du joystick et les 2 autres sur la position X du joystick :

   // le cerveau de calculs savants pour asservir la tete !!!
    servoA.write(map(valY,-130,130,20,90));
    servoB.write(map(valX,-130,130,20,90));
    servoC.write(map(valX,130,-130,20,90));

Bien sûr ce n’est pas la meilleure solution, mais le résultat est suffisant pour une première démonstration. Les calculs permettant un asservissement 3D seront étudiés lors d’ateliers du club.

Voici le code complet :

Zip - 6.3 ko
sketch Arduino pour Deltabot
fonctionne avec un mode automatique et un mode piloté par le joystick. Bouton "C" pour passer de l’un à l’autre

Vos commentaires

  • Le 5 février à 15:52, par Guénolée Delepoulle En réponse à : Delta Bot - robot parallèle (2012)

    Bonjour,
    Je suis une élève en première année de prépa scientifique (PCSI) pour me préparer aux concours d’écoles d’ingénieur dans 1 an et demi. Dans le cadre de notre formation, nous devons réaliser un Travail d’Initiative Personnel Encadré (TIPE) sur un sujet en lien avec notre filière. Je me suis donc penché sur le robot delta et aimerait en concevoir un pour mettre en pratique toute la théorie et le présenter lors de mon oral. Je suis très impressionnée par votre travail mais suis un peu perdue dans la réalisation. Pourriez vous m’aider notamment au niveau des pièces nécessaires à la réalisation ? J’ai à ma disposition une imprimante 3D mais je ne sais pas du tout comment m’y prendre.
    En vous remerciant
    Guénolée Delepoulle

    • Le 17 février à 14:25, par Eric P. En réponse à : Delta Bot - robot parallèle (2012)

      Bonjour,
      Bonne idée de choisir ce type de sujet pour un TIPE (je connais un peu car j’accompagne régulièrement ce genre de projets).
      Le modèle présenté peut être réalisé à partir de fournitures disponibles facilement. Il utilise des servo-moteurs pour modélisme, qu’on peut se procurer pour une 10aine d’Euros sur les boutiques en ligne. Un servo-moteur est un moteur qui est asservi en position et en vitesse. On peut donc lui donner une consigne d’angle par exemple, et il cherchera à l’atteindre et à la maintenir.
      Les bras peuvent être faits avec du fil de fer assez rigide (ex : corde à piano). Pour les articulations, si on n’est pas trop exigeant sur la précision du modèle, on peut réunir les tiges avec un morceau de gaine de fil électrique qui fera office de liaison souple. Pas ultra précis, mais suffisant ici. Tout ceci se trouve en magasin de bricolage.
      Il n’y a donc pas de "liste de course" spécifique, car c’est en fonction des éléments qu’on est capable de rassembler.
      Une autre option est d’utiliser des pièces de LEGO tirées des kits Technics. Si vous avez accès à des kits LEGO Mindstorms (utilisés dans de nombreux établissements d’enseignement), vous y trouverez en prime les servo-moteurs.
      Si par chance vous habitez dans notre secteur, l’idéal serait de passer nous voir. Nous pouvons même mettre à votre disposition ce genre de kit (moyennant adhésion à l’association bien entendu).
      Cordialement

    Répondre à ce message

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document