RAPPORT DE TP ROBOTIQUE :
Cas du robot ADEEPT KIT DE
BRAS ROBOTIQUE 5-DOF
Présenté par : Prof :
KOUAME KONAN HERMANN
Mr SESSIEN SEGLA
KOUASSI ADAMO CHRISTIAN
NAHOUA DRAMANE OUATTARA
NANGO YAH RENEE
N’DJA KOFFI URIEL AIME
Année académique : 2023-2024
SOMMAIRE
INTRODUCTION
I. PRESENTATION DU KIT
II. MONTAGE DU KIT
III. CARACTERISTIQUES DU ROBOT
IV. PROGRAMMATION
V. DIFFICULTES RENCONTREES
VI. RECOMMANDATIONS
CONCLUSION
2
INTRODUCTION
La robotique est l'ensemble des techniques permettant la conception et la
réalisation de machines automatiques ou de robots. Elle trouve son application
dans différents domaines : la robotique industrielle ; la robotique domestique ; la
robotique médicale ; la robotique militaire etc...
La robotique industrielle est, selon l'Organisation Internationale de
Normalisation (ISO), un système commandé automatiquement, multi-applicatif,
reprogrammable, polyvalent, manipulateur et programmable sur trois axes ou
plus. Ceci inclut typiquement les robots de soudage, de peinture et d'assemblage.
Ce type de robotique vise la rapidité d'exécution, la fiabilité et la précision ainsi
que la répétition de cette précision dans le temps. Les robots industriels sont très
utilisés de nos jours d'où son indispensabilité dans notre monde en pleine
évolution. Leur conception nécessite une bonne connaissance technique et un
très haut niveau dans le domaine de l'ingénierie.
Dans notre travail, il nous est demandé à travers un projet pratique de faire
l’assemblage et la programmation d’un robot : cas du robot Adeept arm robot
5DOF. Ce projet est conçu pour offrir une expérience concrète et interactive,
permettant d’acquérir des compétences fondamentales en mécanique,
électronique et programmation.
Le but de ce TP est de nous permettre de nous familiariser avec les différents
éléments constitutifs d’un robot, de les assembler, les programmer et décrire le
fonctionnement du robot à travers la définition de ses caractéristiques.
Pour atteindre ce but, nous allons procéder selon les points suivants : la
présentation du kit qui nous a été donné, les étapes du montage du robot, ses
caractéristiques, la programmation et le fonctionnement du robot, les difficultés
rencontrées dans le TP et nos recommandations.
3
I. PRESENTATION DU KIT
Le Robot dont nous avons eu à réaliser le montage est le Adeept arm robot
5DOF. Celui-ci est composé de :
➢ 1 ensemble de pièces de structure (plastique).
➢ 1 carte pilote Adeept pour bras robotique (compatible avec
Arduino).
➢ 1 écran OLED de 0,96".
➢ 6 servomoteurs AD002.
➢ 1 câble d'extension pour servomoteur.
➢ 1 plateau tournant à roulement carré.
➢ 1 support de batterie.
➢ 1 clé à douille croisée.
➢ 1 tournevis cruciforme (3 mm).
➢ 1 tournevis cruciforme (2 mm).
➢ 1 tuyau d'enroulement
➢ 4 ventouses.
➢ 1 câble micro USB.
➢ Autres accessoires nécessaires (fils, écrous, vis, entretoises en
cuivre, entretoises en nylon, etc.)
4
II. MONTAGE DU KIT
1- Assemblage de la base : Il s’agit d’assembler la base du bras robotisé en
fixant les supports et les servomoteurs tout en s’assurant que les
connexions sont solides et bien fixées.
5
2- Installation des Articulations : Dans cette étape, on fixe les
servomoteurs et les pièces mécaniques pour les différentes articulations
du bras.
6
3- Ajout de la pince : il s’agira d’attacher la pince ou l'outil final au bras
robotisé.
7
4- Branchement des composants électroniques : On connecte les
servomoteurs et autres modules à la carte Arduino selon le schéma de
câblage fourni.
III. CARACTERISTIQUES DU ROBOT
Voici ses principales caractéristiques :
- Degrés de liberté : Le bras robotique dispose de 5 degrés de liberté
(DOF), offrant une flexibilité accrue pour diverses applications et
mouvements.
- Compatibilité : Il est entièrement compatible avec l'IDE Arduino,
facilitant ainsi la programmation et l'intégration avec d'autres projets
basés sur Arduino.
- Matériaux : Le kit comprend des pièces structurelles en acrylique.
- Servomoteurs : Il est équipé de 5 servomoteurs AD002, essentiels pour le
mouvement et le contrôle du bras.
- Méthodes de contrôle :
✓ Contrôle manuel via des potentiomètres sur la carte de commande.
8
✓ Contrôle à distance à l'aide d'un logiciel PC basé sur la programmation
graphique.
- Fonctionnalités :
✓ Auto-apprentissage et mémoire des actions.
✓ Dessin et imitation de mouvements.
✓ Possibilité d'ajouter des fonctions personnalisées grâce à son caractère
open-source.
- Alimentation : Fonctionne avec deux batteries 18650 (non incluses) ou
peut être alimenté directement via une interface Micro USB.
- Assemblage : Le kit est livré en pièces détachées, nécessitant un
assemblage complet par l'utilisateur.
- Accessoires inclus :
✓ Carte de commande pour le bras robotique (compatible Arduino).
✓ Câbles d'extension pour les servomoteurs.
✓ Roulement à billes, supports de batterie, ventouses, et divers outils et
accessoires pour l'assemblage.
IV. PROGRAMMATION
#include <EEPROM.h>
#include <Servo.h>
// OLED test.
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);
// Define the initial angle position of steering gear test.
int pos = 50;
// Define the minimum angle position of steering gear test.
int posMin = 20;
// Define the maximum angle position of steering gear test.
int posMax = 60;
9
// Uniformly define all pins (test load steering gear).
int pin[] = {9, 6, 5, 3, 11, 10};
// Define the number of test pins.
const int PIN_COUNT = sizeof(pin) / sizeof(pin[0]);
// create servo objects to control servos
Servo s[PIN_COUNT];
// Define control mode: 0, independent control; 1, Full control.
int control = 1;
// Define which Servo to control from.
int tmpkey = 0;
bool is_first = true;
//It is controlled by the button on the drive board.
const int buttonPin = 4;
// Define flipper(make the Servo rotate back and forth without returning directly)
int flip = 0;
void setup() {
[Link](9600);
pinMode(buttonPin, INPUT);
// OLED test.
[Link](SSD1306_SWITCHCAPVCC, 0x3C);
[Link](WHITE);//Sets the font display color
[Link]();//cls
//Set the font size
[Link](2);
//Set the display location
[Link](0, 0);
//String displayed
[Link](F("Bienvenue OK "));
//Began to show
[Link]();
delay(200);
}
void loop() {
int timer = 0;
if (digitalRead(buttonPin) == LOW) {
while (digitalRead(buttonPin) == LOW) {
delay(50);
timer++;
if (timer >= 20) {
timer = 20;
}
10
}
if (timer == 20) {
// Switch control manual or automatic control mode
control = 1 - control;
} else {
tmpkey++;
if (tmpkey >= PIN_COUNT) tmpkey = 0;
}
}
if (pos > posMax) {
// Except that the sequence number of the first key name is not automatically increased,
// all the others are automatically increased
if (is_first) {
is_first = false;
} else {
if (control == 1) tmpkey++;
}
if (tmpkey == PIN_COUNT)
{
if (control == 1) detachAll();
tmpkey = 0;
}
flip = 1;
if (control == 0) {
attachOne(pin[tmpkey]);
[Link]("Individually attached: ");
} else {
attachAll();
[Link]("All attached : ");
}
[Link](tmpkey + 1); //The sequence number in the program starts from zero.
// Here +1 is used to keep consistent with the servo sequence number in the document.
[Link](" (Pin:");
[Link](pin[tmpkey]);
[Link](") Control Model: ");
[Link](control);
[Link](", PIN_COUNT: ");
[Link](PIN_COUNT);
} else if (pos < posMin) {
flip = 0;
} else {
moveServo(pos);
}
if (flip == 0) {
pos = pos + 5;
11
} else {
pos = pos - 5;
}
delay(50);
// OLED test.
[Link]();
//Set the font size
[Link](2);
//Set the display location
[Link](0, 0);
//String displayed
[Link]("S:");
[Link](tmpkey + 1);
[Link](",");
//Display the values of 5 potentiometers
[Link]("A:");
[Link]("0_");
[Link](analogRead(0));
[Link](",1_");
[Link](analogRead(1));
[Link](",2_");
[Link](analogRead(2));
[Link](",3_");
[Link](analogRead(3));
[Link](",6_");
[Link](analogRead(6));
//Began to show
[Link]();
// Associated single pin
void attachOne(int pin) {
s[tmpkey].attach(pin);
}
// Disassociate a single pin
void detachOne() {
s[tmpkey].detach();
}
// Associate all pins
void attachAll() {
for (int i = 0; i < PIN_COUNT; ++i) {
s[i].attach(pin[i]);
}
}
12
// Disassociate all pins
void detachAll() {
for (int i = 0; i < PIN_COUNT; ++i)
{
s[i].detach();
}
}
// Drive Servo
void moveServo(int angle) {
s[tmpkey].write(angle);
}
V. DIFFICULTES RENCONTREES
Au niveau de l’assemblage
• Absence de fiche de montage
• Un servomoteur défaillant
Au niveau de la programmation
• Création de l’interface de commande
• Programme d’exécution d’une tache précise
VI. RECOMMANDATIONS
• Mise à disposition d’une fiche de montage et démontage du robot
• Mise à disposition de plus de temps pour la programmation de l’interface
• Mise à disposition d’un code de programmation
13
CONCLUSION
L'étude et la manipulation du bras robotique Adeept basé sur Arduino nous ont
permis de mettre en pratique plusieurs concepts essentiels de la robotique et de
la programmation. Grâce à ce projet, nous avons pu explorer les principes
fondamentaux des systèmes mécatroniques, notamment la commande des
servomoteurs, l'intégration des capteurs et l'interaction avec un interface
utilisateur.
En assemblant le kit, nous avons acquis une compréhension approfondie de la
structure et de la mécanique des bras robotiques, tout en développant des
compétences en résolution de problèmes et en ingénierie pratique. La
programmation en Arduino nous a offert une introduction accessible et puissante
aux concepts de codage nécessaires pour contrôler des systèmes robotiques.
Les différentes méthodes de contrôle, que ce soit par potentiomètre ou par
logiciel PC, ont illustré l'importance de la flexibilité et de la polyvalence dans la
conception de systèmes interactifs. En outre, les fonctionnalités telles que l'auto-
apprentissage et l'imitation de mouvements montrent le potentiel de la robotique
pour des applications plus avancées, allant de l'automatisation industrielle à
l'éducation interactive.
En conclusion, le projet du bras robotique Adeept pour Arduino a été pour nous
une expérience très enrichissante.
14
Table des matières
SOMMAIRE ........................................................................... 2
INTRODUCTION .................................................................. 3
I. PRESENTATION DU KIT ................................................ 4
II. MONTAGE DU KIT ......................................................... 5
III. CARACTERISTIQUES DU ROBOT ............................. 8
IV. PROGRAMMATION ...................................................... 9
V. DIFFICULTES RENCONTREES ................................... 13
VI. RECOMMANDATIONS............................................... 13
CONCLUSION..................................................................... 14
15