1. Introduction

Les robots sont des bijoux de notre évolution. En effet, ils nous sont extrêmement utiles pour réaliser les tâches redondantes que personne ne veut réaliser ou les tâches potentiellement dangereuses, dans les industries. Du robot qui déplace des chocolats dans leur boîte à celui qui soulève de lourdes charges, nous les utilisons à beaucoup d'endroits, et leur augmentation d'application n'est pas prêt de s'arrêter, à un tel point que l'on arrivera à un moment où ils se comporteront, j'en suis persuadé, comme des humains. Le monde de la robotique est un univers vaste, mais passionnant, qui ne cherche qu'à évoluer, encore et encore. Il s'agit d'une révolution importante de notre futur, comme l'ont été, par exemple, l'invention des outils de pierre ou de l'imprimerie à l'époque.

C'est dans cet intérêt pour la robotique et la technologie que j'ai décidé de réaliser un bras mécanique. Celui-ci a pour objectif de déplacer un pion sur un échiquier, à l'aide de la position de départ et d'arrivée, donnée par l'utilisateur. Je suis conscient qu'il existe beaucoup de robots bien plus performants que le mien, et qu'il s'agit d'un projet, très simple par rapport à ce qui se fait ailleurs, mais il me permettra de comprendre les bases de la robotique, de la mécanique et de la programmation.

2. Matériel et méthodes

2.1 Le matériel

Pour la réalisation de ce bras mécanique, j'ai utilisé:

  • Un kit Arduino comportant au minimum
    • Des câbles de différentes tailles (certains doivent être longs ou être raccordés)
    • Une breadboard
    • Une plaque Arduino (j’utilise un Arduino Uno)
    • 4 Servos pour les différentes articulations
    • Un câble de transfert entre l’Arduino et l’ordinateur
  • Une alimentation externe 9V 2A
  • Un échiquier
  • Un pion
  • Un ordinateur sous un OS supportant l’IDE d’Arduino (disponible à cette adresse: Ici)
  • Les matériaux de votre choix (du bois est utilisé dans ce projet)
  • Des visses
  • Différents outils en fonction de votre besoin (des tournevis de différentes tailles, une perceuse ou une scie à bois par exemple)
  • Du ruban adhésif
  • Du Velcro
  • D’autres matériaux personnels pouvant être utilisés à votre guise

2.2 La méthode

La réalisation de ce projet se découpe en deux parties distinctes:

  • La construction du bras
  • La programmation

2.2.1 Le prototype

Avant d’entamer le projet, j’ai commencé par fabriquer un petit prototype cheap afin de bien me rendre compte du fonctionnement global du bras. Celui-ci pourrait sembler inutile et être une forte perte de temps, mais pour 1 heure de construction et programmation du prototype, combien de temps gagné en fin de course ? En effet, beaucoup. Ainsi, je conseille fortement à quiconque qui entame un projet, de faire un prototype en amont. Voici donc mon chef-d’oeuvre.

prototype.JPG

Figure 2.1 - Prototype du bras mécanique

2.2.2 Le choix des servos

Pour ce projet, plusieurs types de servos seront utilisés. Certains sont plus puissants mais plus grands, alors que d’autres sont plus petits mais moins puissants. Pour ce que est de l’épaule, les deux servos doivent être capables de supporter une masse relativement élevée. Les gros servos sont donc conseillés. De mon côté, j’ai choisi des BMS-621. Pour ce qui est du coude, il faut également un servo puissant, mais il ne peut pas être aussi gros et lourd que le BMS-621. J’ai donc choisi un GWS Naro Super D. Finalement, pour la pince, j’ai choisi un servo léger mais peu puissant, le S0361, ce qui est amplement suffisant pour attraper un pion. Voici quelques détails techniques:

  • La base rectangulaire des BMS-621 mesure 41 mm x 20 mm.
  • La base rectangulaire du GWS Naro Super D mesure 27 mm x 12 mm.
  • La base rectangulaire du S0361 mesure 20 mm x 8 mm.

Avant de continuer, je conseille de vérifier le bon fonctionnement des servos. En effet, ce serait dommage de perdre 30 minutes à remplacer un servo, lorsque le bras sera prêt.

2.2.3 Le plateau de jeu

Le but du bras mécanique est de déplacer un pion sur un damier. Il faut donc choisir le damier final dès à présent pour en connaître les dimensions. Mon damier en carton provient d’une boîte de ‘’jeux multiples’’ et mesure ~ 40 cm de diamètre. (la taille exacte n’est pas importante, vu que mon bras sera capable d’aller un peu plus loin) Ajoutons à cela, que le pion qui sera déplacé, n’est pas vraiment homologué. En effet, le pion simple ne tient pas sur la pince, car il est beaucoup trop lisse. Du coup, je l’ai enroulé dans du ruban adhésif de carrossier et le tour est joué.

2.2.4 Le plan

Maintenant que les servos et le damier ont été choisis, il est temps de préparer les plans du bras. Les deux pièces principales sont le bras et l’avant-bras. Voici mon plan de découpe.

plan_bras.jpg

Figure 2.2 - Plan du bras

plan_avant_bras.jpeg

Figure 2.3 - Plan de l'avant-bras

Il y a quelques détails à faire attention lors de la réalisation de celui-ci:

  • L’emplacement des servos: ils doivent être dessinés dans le plan, car dans le cas contraire, il deviendra plutôt complexe de les placer.
  • Les dimensions: elles doivent être évidemment respectées. Je conseille également de prévoir des dimensions légèrement plus grandes, afin d’avoir la possibilité de, par exemple, limer les côtés.

Évidemment, ces plans sont personnels et changent en fonction du besoin. Cependant, ils perment de se rendre compte rapidement à quoi il faut faire attention. Je conseille de dessiner des plans personnels. Je tiens également à préciser que tout ne se trouve pas sur ce plan. En effet, diverses blocs de bois seront ajoutés au fil de la construction, qui m’ont aidé à stabiliser le bras en général. Et comme ceux-ci dépendent de la forme du bras, je ne peux donc pas les planifier.

2.2.5 Le montage

La première étape est la découpe des pièces du plan. À l’aide d’une scie à bois, découpons le bras et l’avant-bras. Après cela, je conseille de limer les bords, afin de ne pas se planter une écharde en le touchant. Il en sortira également plus beau.

Maintenant que les pièces sont découpées, place au montage. Commençons par la base, l’épaule. Pour ceci, il faut tout d’abord creuser le support du bras, dans mon cas une boite de vin, avec les dimensions du BMS-621.

P1070572.jpg

Figure 2.4 - Ancienne boîte de vin, servant de support principal au bras. 

Ensuite, il faut monter le second BMS-621 sur le premier. Pour ma part, j’ai décidé de fabriquer un petit support à l’aide d’un bloc de bois.

P1070548.jpg

Figure 2.5 - Bloc de bois servant à relier les deux servos de l'articulation de l'épaule.

À ce bloc, j’ai vissé une petite plaque. Attention à ce que l’angle entre la plaque et le bloc vaille bien 90 degrés.

P1070552.jpg

Figure 2.6 - Bloc de bois servant à relier les deux servos de l'articulation de l'épaule.

On peut désormais visser ce support au premier BMS-621 et visser le tout dans le trou de la boite.

P1070568.jpg

Figure 2.7 - Bloc de bois pour lier les deux articulations vissées au premier servo.

Maintenant, passons au bras. Cette pièce, découpée et limée au préalable, va être reliée au second BMS-621, qui lui-même va être relié au premier BMS-621. Tout d’abord, vissons le second au bras.

P1070555.jpg

Figure 2.8 - Deuxième servo de l'épaule, vissé au bras.

Par sécurité, j’ai également ajouté des petits blocs de bois de l’autre côté, afin que personne ne se blesse lors de l’utilisation.

P1070565.jpg

Figure 2.9 - Petits blocs de bois permettant de sécuriser les visses.

Ensuite, vissons le GWS Naro Super D à l’opposé du bras de la même manière. Puis, visser le second BMS-621 au support en bois.

P1070582.jpg

Figure 2.10 - Première partie du bras vissé au support.

Il nous reste donc plus que l’avant-bras et la pince. Pour la pince, j’ai découpé une pièce de la même forme que le bout de l’avant-bras. J’ai ensuite placé le servo de la bonne manière, et tant bien que mal, j’ai mis en place le mécanisme. Pour que la pince agrippe mieux le pion, j’ai placé sur les deux côtés de la pince du Velcro, mais attention, uniquement la face avec les crochets.

P1070593.jpg

Figure 2.11 - Avant-bras et pince assemblés.

Désormais, le bras est prêt à être utilisé.

2.2.6 Le câblage

Au niveau électronique, ce projet est enfantin. En effet, aucun câblage complexe n’est requis. Les servos sont directement alimentés, et reliés au signal. Voici tout de même un schéma électrique du projet, comme je l’ai conçu.

schema_electrique_bb.svg

Figure 2.12 - Schéma électrique du projet

2.2.7 La programmation

Avant tout chose, je tiens à préciser que le code source du projet est disponible à cette adresse: Ici Ce code est commenté et expliqué en détail pour une meilleure compréhension.

2.2.7.1 Le ‘C’ d’Arduino

Pour que je n'aie pas à m'étaler sur ce sujet, car cela prendrais plusieurs centaines de pages, je vous redirige vers quelques ressources.

  • Une vidéo d'ExperimentBoy (français) pour ceux qui n'aiment pas lire: Ici
  • La référence officielle de toutes les fonction d'Arduino: Ici
  • Ce guide plutôt complet d'Eskimon et d'Olyte: Ici

Et si ce n'est pas suffisant, Google est votre ami. :)

2.2.7.2 Le fonctionnement global

Lorsque le programme est lancé, l’Arduino va suivre ces différentes étapes pour mener à bien sa mission:

  • Défini les variables, les constantes et mets en place tous les détails du ‘’setup’’
  • Attend l’arrivée d’une valeur contenue entre ‘’A0’’ et ‘’J9’’ pour les coordonnées.
  • Enregistre la valeur actuelle des angles.
  • Défini les différentes longeures en fonction de l’entrée de l’utilisateur précédemment.
  • Calcul des hypoténuses.
  • Calcul des angles
  • Déplace les servos dans la position demandée.
  • Ressert la pince et se repositionne à la position initiale.
  • Reinitialise la valeur des coordonnées à ‘’XX’’
  • Attend la nouvelle coordonnée et refait toutes les étapes précédente, en lâchant le pion à la fin

2.2.7.3 Le calcul d’angle et la trigonométrie

La trigonométrie touche une part importante du projet. En effet, pour ne pas avoir à définir la position de chaque case manuellement, il est recommandé de passer par la voie mathématique pour s'en sortir. Avant de continuer, voici les quelques calculs que je vais utiliser pour le calcul des angles, selon ces triangles:

triangles.png

Figure 2.13 - Triangles

  • la célèbre formule de pythagore.

n_pythagore.png

  • les relations trigonométriques permettant le calcul d’angle dans un triangle rectangle

n_trigo_rectangle.png

  • la relation trigonométrique permettant le calcul d’angle dans un triangle quelconque

n_trigo_quelconque.png

Si vous ne comprenez pas ces formules, vous avez deux choix: soit vous me faites confiance et vous les utilisez à la lettre, soit, vous vous renseignez sur ces différentes relations et leur fonctionnement. Le second choix me semble le plus judicieux.

Le calcul des différents angles va donc être possible à l’aide de ces différentes relations. Le détail des calculs se trouve dans le code.

2.2.7.4 Le mouvement adouci

Vous l'avez sûrement remarqué, les servos sont pour le moins... réactifs. En effet, ceux que j'ai choisis sont, pour ma part, utilisés pour du modélisme, et en vol, pas question de faire bouger le servo doucement, il faut aller droit au but. Le souci est que, pour le bras, cette réactivité risque de détruire le matériel. Je conseille donc d'utiliser une méthode alternative pour changer l'angle des servos. Pour cela, il va falloir programmer une fonction. Celle-ci fonctionne assez simplement. On connait l'angle actuel, l'angle voulu, et le servo à mouvoir. Grâce à ces informations, on va donc modifier progressivement la valeur de l'angle, et mettre un léger délai pour donner l'illusion de bouger lentement. En réalité, le servo saccadera tout autant qu'avec la méthode simple, avec la différence que les sauts de valeur seront plus faibles. Voici donc ma fonction:

move(x, y, z)

Les variables ‘’x’’ et ‘’y’’ sont de type float, et la variable ‘’z’’ est de type integer. Pour mouvoir plus doucement les servos, il faut renseigner trois champs. Le premier, où se trouve ‘’x’’, est l’angle de départ, le second, où se trouve ‘’y’’, est l’angle d’arrivée, et le dernier, où se trouve ‘’z’’, est le servo à mouvoir. En utilisant cette fonction, on arrive donc à rendre précis et plus stable le bras. La fonction est détaillée dans le code source.

2.2.7.5 La modulation de longueur d’impulsion

Le mouvement des servos se fait avec ce qu’on appelle ‘’PWM’’, soit la ‘’modulation de longueur d’impulsion’’ ou ‘’pulse width modulation’’ en anglais. Comme son nom l’indique, il s’agit de la modulation de la longueur d’une impulsion d’un signal digital. Un signal digital ne peut pas être modulé dans la hauteur. Ce qui veut dire qu’il n’y a que deux valeurs possibles: la valeur maximale et la valeur minimale.

signal_digital_simple.svg

Figure 2.14 - Signal digital simple

Du coup, comment faire pour donner une valeur intermédiaire au servo, comme avec un signal analogique qui est à 2.5 Volts?

La réponse est simple, PWM. Si le signal digital ne peut pas modifier sa hauteur, il est en revanche possible de modifier la largeur, simplement en réduisant sa taille. En effet, on remarque que, sur une même période, l’aire sous le signal digital modulé est le même aire sous le signal analogique.

signal_analogique_simple.png

Figure 2.15 - Signal analogique


signal_digital_pwm.png

Figure 2.16 - Signal digital modulé

Dans les deux cas, l'aire sous la courbe vaut bien 2.5 Volts.

Du coup, l’Arduino ne gérant pas les sorties analogiques, il faut utiliser les sorties digitales modulées. Attention tout de même, il n’y a qu’un certain nombre de ports digitaux sur l’Arduino qui supportent le PWM. Ils sont indiqués avec un tilde (~).

3. Résultats

Le résultat de ce projet étant très visuel, j'ai choisi de réaliser une petite vidéo de l'expérimentation.
La vidéo est disponible à cette adresse: ici

4. Discussion

Afin de rendre plus claire le traitement des résultats, je vais classer les différents problèmes.

4.1 La précision

Un des soucis principaux est la précision. En effet, le bras n’est pas aligné à certaines cases, et manque le pion suivant sa position. Ce cas se remarque principalement sur les cases aux extrémités. Au niveau théorique, les calculs semblent être justes, et fonctionnent sur les autres cases. Le souci pourrait provenir de la précision de ces calculs. En effet, Arduino possède une grande limitation, les variables floats et doubles. Dans la plupart des autres languages de programmation, les floats permettent de réaliser des calculs avec des nombre décimaux, et dans le cas où la précision des floats n’est pas suffisante, les variables doubles sont deux fois plus précises. Le problème est que sur Arduino, les floats et les doubles ont la même précision qui est plutôt faible. En l’occurence, si ce float ne servait qu’a faire des additions, ce ne serait pas forcément un problème, mais pour les arc cosinus, la différente peut-être flagrante, et l'accumulation de ces arrondis, produit un résultat final ‘’loin’’ de la réalité. La seule solution imaginée pour enlever ces limites est la multiplication des chiffres par ‘’dix’’ puissance ‘’n’’ avec un ‘’n’’ positif. Cependant, pour des raisons de temps et de priorité, je n’ai pas pu procéder au changement.

4.2 Les vibrations de l’avant-bras

Le second souci flagrant de ce projet est la vibration de l’avant-bras lorsque le servo du coude se déplace. En effet, cette vibration est telle que le pion glisse régulièrement de la pince. La gravité de ce problème a été passablement réduite en réduisant les mouvement de l'avant-bras. En effet, auparavant, l'avant-bras, ainsi que le reste du bras, se remettaient dans leur position initiale à chaque fois qu'un mouvement était terminé. Désormais, l'avant-bras est optimisé, et bouge le moins possible. Le problème est toujours présent, car il doit toujours bouger de temps à autre. 

4.3 La pince

Un troisième soucis provient de la pince. En effet, celle-ci est assez simple. Elle se contente de bloquer le pion entre deux plaques. Cette simplicité apporte deux soucis: le pion n'est pas bien tenu et tombe régulièrement, et celui-ci se retrouve dans la mauvaise position lorsque l'on le déplace aux extrêmes. Pour corriger le problème de la chute du pion, il existe beaucoup de solution. La première est de modifier la texture qui se trouve sur les "plateaux" de la pince. En effet, le Velcro n'est pas la texture optimale. Un matière telle que de la mousse serait plus intéressante. Ensuite, il est également possible de régler ce souci en complexifiant la pince. Au début, mon prototype de pince devait plaquer le pion, entre deux plaques parallèles. En voici un schéma.

sche_ma_pince_2.jpg

Figure 4.1 - Schéma d'un prototype de pince

Les deux plaques parallèles sont liées à l'aide de deux fils pour fermer la pince, ainsi que deux ressorts pour ouvrir la pince. Les deux fils sont reliés à un servo qui, en ayant un angle plus ou moins grand, change l'état de la pince. Ce procédé me semblait plus optimal, mais plusieurs autres problèmes se créent. Certes, le pion devrait être mieux attrapé, mais la pince serait beaucoup plus fragile et risquerait facilement de se casser. Il faut aussi préciser qu'un tel procédé est bien plus difficile à mettre en place que la pince actuelle. Du coup, peut-être que cette pince n'est pas non plus l'idéale.

4.4 L'utilisation

Un autre point que je voudrais aborder est la difficulté d'utilisation du bras. Celui-ci requiert l'utilisation d'un ordinateur à côté possédant l'IDE Arduino. Il faut donc un minimum de préparation pour utiliser ce bras, ce qui est trop. Il faudrait, dans l'ideal, un ordinateur dédié à ce bras ou un moyen de sélectionner les cases sans passer par le moniteur série. Cela est possible avec l'Arduino, et son petit écran. A l'aide, par exemple d'un potentiomètre. Cependant, ce n'est pas très pratique. Pour obtenir un meilleur résultat, utiliser un Raspberry Pi relié à internet est une bonne idée. En effet, il est possible de réaliser, par exemple, une interface web pour contrôler le bras depuis un appareil du réseau local. Utiliser un raspberry pi était mon idée de base, cependant, j'ai préféré commencer avec l'Arduino où j'étais plus à l'aise, et je ne possédais pas les connaissances nécessaires en réseau pour réaliser l'interface web. Cette idée reste tout de même dans le coin de ma tête pour le projet P.

4.5 L'efficacité

Un dernier point où ce bras n'est pas optimal réside dans son efficacité. En effet, suivant son utilisation, il est très lent. Par exemple, dans le domaine industriel, où sa fonction serait la même, déplacer des objets d'un point A à un point B. Cette lenteur est due à plusieurs facteurs. Le premier est que le bras n'est pas optimisé pour la vitesse. Il a pour but de ressembler à un bras humain, dans ses différentes articulations, par exemple. Comme nous le savons tous, un bras humain n'est pas optimisé pour faire des tâches rapide, mais des tâches précises. Un second point est que le bras ne peut guère faire beaucoup mieux en terme de vitesse. Si il réalise ses tâches plus rapidement, il risque, soit de vibrer plus, soit de se briser, ce qui n'est clairement pas le but voulu. Pour l'améliorer, il aurait par exemple fallu le solidifier. Il aurait été possible de fixer perpendiculairement au bras de la fibre de carbone. Cela l'aurait fortement solidifié, car avec une forme en "X", il ne peut pas se plier et vibrer dans les 4 directions principales. Renforcer le bras avec de la fibre de carbone aurait été la première de mes solutions en cas de trop grande souplesse. Il n'y a pas que la fragilité qui pourrait poser problème, mais il y a également les servos. Ceux-ci sont prévus pour de l'aviation, est non pas pour ce type de projet. Evidemment, ils font l'affaire, mais ne sont pas optimisés. Ces servos sont efficaces, mais ont un problème, ils n'ont pas une force suffisamment grande pour résister à un fort choc. En théorie, les plus gros servos de ce projets, les BMS-621, supportent un couple théorique de 7.2 [kg/cm]. Or, dans l'exemple du BMS-621 qui s'occupe du plan XY, il doit supporter la masse du bras, qui est déjà grand, mais également celui de l'avant-bras. Le souci, est que, plus le bras est long, plus il aura de la peine à être réactif. En effet, comme la masse est réparti loin du centre de rotation, le moment d'inertie est très grand. Pour rappel, la formule du moment d'inertie (sans le décalage au centre, qui ajoute simplement un décalage) est celle-ci; I est le moment d'inertie, m est la masse et r est le rayon: 
equation_inertie.png
Le rayon est au carré, ce qui impact donc encore plus le bras. 
Vous ne me croyez pas ? Faites vous-même le test. Tendez un de vos bras et balancez le rapidement de gauche à droite (ou l'inverse). Puis essayez d'arrêter net votre mouvement. C'est compliqué, non ? Et bien il se passe la même chose avec le bras mécanique. C'est bien trop pour lui. Finalement, de toute évidence, les 7.2 [kg/cm]... ne font pas le poids. 
Une des solutions qui résoudrait ces problèmes est utilisée dans les industries: c'est le robot Delta. Développé à l'EPFL, il s'agit d'un robot permettant, en alliant rapidité et précision, de déplacer différents objets. À nouveau, tout comme mes résultats, il est difficile et vain d'expliquer simplement son fonctionnement. Je vous redirige donc vers cette vidéo qui est une démonstration d'un bras: Ici
Cependant, le robot Delta n'est pas non plus la solution miracle. Il est le robot parfait pour déplacer des chocolats dans leur boîte, mais il n'est clairement pas efficace dans l'industrie automobile. Le type de bras dépend de l'utilisation que l'on en fait. En l'occurence, mon bras avait pour but de déplacer des pions, le réaliser plus ou moins bien, mais n'est pas optimisé pour son travail de joueur d'échec. En revanche, si une version plus grande et beaucoup plus puissante en est faite, il se révèlera meilleur que dans son travail précédent.

5. Conclusion

Je pense pouvoir affirmer que j'ai atteint mon but. En effet, malgré ses défauts, mon bras mécanique fonctionne. Une question se pose: « Et maintenant ? » Désormais, il serait temps de passer à une version améliorée de ce bras. Dans son état actuel, il ne sert pas à grand chose. En revanche, il est un bon prototype. Une version 2.0 du projet, en utilisant un Raspberry Pi et une interface web, serait largement envisageable. Ce passage au Raspberry Pi améliorerait grandement le bras mécanique. Cependant, seul, ce bras n'est pas très utile, car son efficacité est assez limitée. (cf. 4.5) En revanche, son application peut-être plus utilisée dans le domaine de la robotique. 

Comme je l'ai dit à de maintes reprises, ce projet n'est qu'un simple prototype, mais il m'a permis de me familiariser avec la programmation, la mécanique et différents concepts tel que le pwm. Maintenant que le prototype est terminé et fonctionne plus ou moins, il est temps de passer à la fabrication de la fameuse version 2.0.

6. Annexes

6.1 Où acheter les matériaux ?

Ce type de projet utilise votre créativité, et préférez donc le recyclage. Tout n’a pas besoin d’être neuf. Pour le bois par exemple, il est possible de réutiliser des vieux objets que plus personne n’utilise. Pour mon bloc de bois qui sert de support au second servo de l’épaule, j’ai pris une vieille barrière, puis je l’ai découpée et limée. Facile non ? Dans le cas où vous n’arriveriez pas à trouver ces matériaux, il est également possible d’aller dans un déchetterie du coin et d’y trouver son bonheur. Pour les matériaux électroniques, je conçois volontiers que tout le monde n'en possède pas. Les servos par exemple. Voici donc différents sites où ces matériaux peuvent être achetés. Si les liens sont indisponible, ils mènent vers http://www.hobbyking.com/.

  • Servo BMS-621: Ici
  • Servo GWS Naro Super D: Ici
  • Servo S0361: Ici
  • Arduino: Ici

6.2 Les ressources

Dans le cas où vous n'auriez pas eu le temps de lire cette entrée du blog, j’ai décidé de rassembler les ressources dans cette section.

  • Archive contenant toutes les images en haute définition: imageshd.zip
  • Le code source: Ici

6.3 Les sources

Pour la réalisation de ce projet, j’ai dû m’informer sur quelques concepts que je ne connaissais pas. Voici les endroits où je me suis renseignés.

Wikipedia contributors, "Pulse-width modulation," Wikipedia, The Free Encyclopedia, https://en.wikipedia.org/w/index.php?title=Pulse-width_modulation&oldid=700781363 (accessed February 6, 2016).

Contributeurs de Wikipédia, "Modulation de largeur d'impulsion," Wikipédia, l'encyclopédie libre, http://fr.wikipedia.org/w/index.php?title=Modulation_de_largeur_d%27impulsion&oldid=123064270 (Page consultée le 6 février, 2016).

Contributeurs de Wikipédia, "Virgule flottante," Wikipédia, l'encyclopédie libre, http://fr.wikipedia.org/w/index.php?title=Virgule_flottante&oldid=122854493 (Page consultée le 10 février, 2016).

"Masse Volumique et Densité", Warmaths, http://www.warmaths.fr/SCIENCES/densiteCatalogue..htm (Page consultée le 16 février, 2016).

Wikipedia contributors, "Delta robot", Wikipedia, The Free Encyclopediahttps://en.wikipedia.org/w/index.php?title=Delta_robot&oldid=69936107 (accessed February 16, 2016).

David Halliday, Robert Resnick et Jearl Walker, "Chapitre 11: La rotation" dans Physique 1: mécanique, edition Chenelière McGraw-Hill, Montréal.