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

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