« Robot humanoïde » : différence entre les versions

De Kernel Fablab Lannion
Aucun résumé des modifications
 
(37 versions intermédiaires par 4 utilisateurs non affichées)
Ligne 2 : Ligne 2 :
== Présentation ==
== Présentation ==


Projet en partenariat avec l'ENSSAT visant la construction d'une plateforme robotique humanoid communautaire à Lannion.
Projet en partenariat avec l'ENSSAT visant la construction d'une plateforme robotique humanoid communautaire à Lannion. Débuté en Septembre 2014 et poursuivi sur l'année 2015.
Cette page présente un état de l'art des robots humanoïdes.  


== Etat de l'art des robots humanoïds ==
Le projet du robot en est sur sa deuxième année et l'idée poursuivie est de réaliser un robot InMoov (www.inmoov.fr). Pour plus de détails sur l'avancement technique et l'étude menée sur le robot en lui même se reporter à la section étude de la plateforme InMoov.


== Etat d'avancement ==


===Poppy===
=== Mars 2015 ===
[[:File:dossier_compte_rendu_RAVARD_Sylvain_2014_2015.rar]]
 
=== Octobre 2015 ===
Le nouveau binôme en charge du projet se charge de la conception de la tête du robot InMoov. Les idées qui vont être implémentées sont présentées dans la section dédiée à l'étude du robot InMoov.
 
 
== Etat de l'art des robots humanoïdes ==
 
===Presentation de différentes solutions robotiques humanoïdes===
====Poppy====
     [[File:poppy-3d-printed-robot-3.jpg|100px|droite]]
     [[File:poppy-3d-printed-robot-3.jpg|100px|droite]]
Poppy est un robot humanoïde totalement open source (hardware y compris) et peu entièrement être construit sur une imprimante 3D. Son buste mobile le rend assez souple pour la marche. Ce robot n’est pas autonome, un ordinateur sert de microcontrôleur (via usb) et l’alimentation est externe sur le modèle de base. Les deux caméras PS eye permettent à poppy de reconnaître son environnement et interagir avec lui. De nombreuses variantes de ce robot on déjà été créé sur le site https://forum.poppy-project.org.
Poppy est un robot humanoïde totalement open source (hardware y compris) et peu entièrement être construit sur une imprimante 3D. Son buste mobile le rend assez souple pour la marche. Ce robot n’est pas autonome, un ordinateur sert de microcontrôleur (via usb) et l’alimentation est externe sur le modèle de base. Les deux caméras PS eye permettent à poppy de reconnaître son environnement et interagir avec lui. De nombreuses variantes de ce robot on déjà été créé sur le site https://forum.poppy-project.org.
Ligne 28 : Ligne 40 :




===Inmoov===
====InMoov====
[[File:inmoov.jpg|100px|droite]]
[[File:inmoov.jpg|100px|droite]]
Ce robot semi-humanoïde (homme-tronc) open source (y compris hardware) est constructible à l’aide d’une imprimante 3D. Malgré son manque de mobilité ce robot a l’avantage d’être très habile grâce à ses mains composées de 5 doigts. L’ensemble des servomoteurs dans le coup et les bras permet à Inmoov de regarder et de suivre un objet du doigt. Pour rendre le système moins fragile et plus puissant, les doigts sont articulés par des moteurs situés dans les avant-bras du robot. l’ensemble du robot est piloté par deux arduino Mega et possède un système de caméra et micro pour pouvoir communiquer. l’équilibre n’étant pas un problème pour ce robot le coût à donc pu être réduit (de 700 à 1000€) en mettent des servomoteur moins performants.
Ce robot semi-humanoïde (homme-tronc) open source (y compris hardware) est constructible à l’aide d’une imprimante 3D. Malgré son manque de mobilité ce robot a l’avantage d’être très habile grâce à ses mains composées de 5 doigts. L’ensemble des servomoteurs dans le coup et les bras permet à Inmoov de regarder et de suivre un objet du doigt. Pour rendre le système moins fragile et plus puissant, les doigts sont articulés par des moteurs situés dans les avant-bras du robot. l’ensemble du robot est piloté par deux arduino Mega et possède un système de caméra et micro pour pouvoir communiquer. l’équilibre n’étant pas un problème pour ce robot le coût à donc pu être réduit (de 1000 à 1300€) en mettent des servomoteur moins performants.


http://www.inmoov.fr/project/
http://www.inmoov.fr/project/


===DARwIn-OP===
====DARwIn-OP====
[[File:darwin-op.jpg|100px|droite]]
[[File:darwin-op.jpg|100px|droite]]
DARwIn-OP est un petit robot (45 cm) humanoïde open source (y compris hardware). Il dispose d’un équipement quasiment aussi complet que le Nao avec son ensemble de camera, microphone, haut parleur pour la communication et différents capteurs pour s’orienter dans son environnement (capteur de sol au pied, gyroscope et accéléromètre). Ce robot en alluminium est autonome grâce à son microcontrôleur ARM Cortex M3 et d’un PC intégré. Coté software, beaucoup d’informations sont disponibles sur le site ros.org. Son prix avoisine lui aussi les 8500€ en grande parti à cause des servomoteurs mx 28.
DARwIn-OP est un petit robot (45 cm) humanoïde open source (y compris hardware). Il dispose d’un équipement quasiment aussi complet que le Nao avec son ensemble de camera, microphone, haut parleur pour la communication et différents capteurs pour s’orienter dans son environnement (capteur de sol au pied, gyroscope et accéléromètre). Ce robot en alluminium est autonome grâce à son microcontrôleur ARM Cortex M3 et d’un PC intégré. Coté software, beaucoup d’informations sont disponibles sur le site ros.org. Son prix avoisine lui aussi les 8500€ en grande parti à cause des servomoteurs mx 28.
Ligne 40 : Ligne 52 :
http://www.romela.org/main/DARwIn_OP:_Open_Platform_Humanoid_Robot_for_Research_and_Education
http://www.romela.org/main/DARwIn_OP:_Open_Platform_Humanoid_Robot_for_Research_and_Education


===NimbRo-OP===
====NimbRo-OP====
[[File:NimbRo-OP.jpg|100px|droite]]
[[File:NimbRo-OP.jpg|100px|droite]]
NimbRo-OP est un robot humanoïde de quasiment 1 mètre open source (y compris hardware). Ce robot conçu initialement pour jouer au football dispose de jambes puissantes (6 servomoteurs MX-106 par jambes). Ce robot dispose comme la plupart des humanoïde d’un accéléromètre, gyroscope et caméra pour se repérer et d’un processeur dual core avec une carte wifi  et une batterie pour son autonomie. Le prix de ce robot en alluminium coûte environ 20 000 € à cause de ses servomoteurs puissants.  
NimbRo-OP est un robot humanoïde de quasiment 1 mètre open source (y compris hardware). Ce robot conçu initialement pour jouer au football dispose de jambes puissantes (6 servomoteurs MX-106 par jambes). Ce robot dispose comme la plupart des humanoïde d’un accéléromètre, gyroscope et caméra pour se repérer et d’un processeur dual core avec une carte wifi  et une batterie pour son autonomie. Le prix de ce robot en alluminium coûte environ 20 000 € à cause de ses servomoteurs puissants.  
Ligne 46 : Ligne 58 :
http://www.nimbro.net/OP/
http://www.nimbro.net/OP/


===Nao===
====Nao====
[[File:220px-NAO-Robot.jpg|100px|droite]]
[[File:220px-NAO-Robot.jpg|100px|droite]]
taille : 58 cm
taille : 58 cm
Ligne 57 : Ligne 69 :
http://www.aldebaran.com/fr
http://www.aldebaran.com/fr


===bioloid/Hovis===
====bioloid/Hovis====
[[File:bioloid.jpg|100px|droite]]
[[File:bioloid.jpg|100px|droite]]
Le bioloid est un robot autonome qui peut avoir différentes formes (humanoïde, chien-robot, araignée-robot, …). Ce robot possède l’équipement minimum nécessaire à le rendre autonome avec pour motorisation seulement des servomoteurs ax 12a. La détection de l’environnement est réduite au stricte minimum avec un capteur gyroscopique 2 axes et 3 détecteurs infrarouges. Ce robot est piloté par un microcontrôleur CM 530 (ARM cortex). Ce petit robot (<35 cm) coute environ 1000 € grâce à son équipement rudimentaire.
Le bioloid est un robot autonome qui peut avoir différentes formes (humanoïde, chien-robot, araignée-robot, …). Ce robot possède l’équipement minimum nécessaire à le rendre autonome avec pour motorisation seulement des servomoteurs ax 12a. La détection de l’environnement est réduite au stricte minimum avec un capteur gyroscopique 2 axes et 3 détecteurs infrarouges. Ce robot est piloté par un microcontrôleur CM 530 (ARM cortex). Ce petit robot (<35 cm) coute environ 1000 € grâce à son équipement rudimentaire.
Ligne 67 : Ligne 79 :
http://www.dongburobot.com/jsp/cms/view.jsp?code=100795
http://www.dongburobot.com/jsp/cms/view.jsp?code=100795


== Hardware ==
=== Software ===
http://anubis.onucs.org/ : A Natural User Bot Interface System
 
=== Hardware ===
 
==== Actuateurs ====
Lien à voir (depuis hackaday):
http://www.hizook.com/blog/2015/01/13/twisted-string-actuators-surprisingly-simple-cheap-and-high-gear-ratio
 
=== Types de moteurs ===
=== Types de moteurs ===
Thèse proposant une méthode pour faire marcher un robot humanoïde avec des moteurs ayant un faible couple  
Thèse proposant une méthode pour faire marcher un robot humanoïde avec des moteurs ayant un faible couple  
Ligne 78 : Ligne 98 :


servomoteur ax-12a :
servomoteur ax-12a :
couple : 1.5N.m
* couple : 1.5N.m
prix : 35,40 €
* prix : 35,40 €
[[:File:AX-12 User Guide.pdf]]
[[:File:AX-12 User Guide.pdf]]


moteur le plus puissant de la serie ax :
servomoteur ax-18a (moteur le plus puissant de la serie ax) :
 
* prix : 78,40 €
servomoteur ax-18a :
* couple : 1.8N.m
prix : 78,40 €
couple : 1.8N.m
[[:File:AX18 User Guide.pdf]]
[[:File:AX18 User Guide.pdf]]


Ligne 97 : Ligne 115 :
[[:File:MX28 User Guide.pdf]]
[[:File:MX28 User Guide.pdf]]


=== Types de cartes ===
Le prix élevé d'un servomoteur peut conduire à une autre solution :
Utiliser un moteur à courant continu et réaliser son asservissement PID (ou RST?) ceci développerait un nouveau domaine de travail.
 
==== Types de cartes ====
Les cartes Beaglebone black et cubieBoard ont l'avantage d'avoir de nombreuse broches d'entrée/sortie et capacité de calcul supérieur  aux PIC ou Arduino.
Les cartes Beaglebone black et cubieBoard ont l'avantage d'avoir de nombreuse broches d'entrée/sortie et capacité de calcul supérieur  aux PIC ou Arduino.
==== Beaglebone black ====
Processeur: AM335x 1GHz ARM® Cortex-A8
    512MB DDR3 RAM
    4GB 8-bit eMMC on-board flash storage
    3D graphics accelerator
    NEON floating-point accelerator
    2x PRU 32-bit microcontrollers
Connectivité
    USB client for power & communications
    USB host
    Ethernet
    HDMI
    2x 46 pin headers
Compatibilité système d'exploitation
    Debian
    Android
    Ubuntu
    Cloud9 IDE on Node.js w/ BoneScript library
    plus much more
==== cubieBoard ====
AllWinner A10 (ARM cortex-A8)
    mémoire :
    512 Mo ou 1 Go DDR3@480 MHz
    stockage :
    4 Go NAND flash intégrée, lecteur Carte SDHC, SATA II, stockage USB externe
    carte graphique ARM Mali 400
Connectivité
    2 USB Host
    SATA II
    HDMI
    audio jack in/out
    SPDIF-OUT
    GPIO 96 broches
    ethernet RJ45
    I2C,
    1 port IR
Compatibilité système d'exploitation
    Android
    GNU/Linux (Cubian, Debian, Ubuntu ...)
==== Raspberry Pi====
Broadcom BCM2835 - ARM1176JZF-S 700 MHz
    mémoire :
    256 MByte (modèle A)
    256 MByte (modèle B rev 1)
    512 MByte (modèle B rev 2)
    stockage : carte SD
    carte graphique ARM Mali 400
Connectivité
    USB
    Ethernet (modèle B) (RJ45)
    HDMI
    RCA
    Jack 3,5 mm
Compatibilité système d'exploitation
    Linux (Debian, Fedora et ArchLinux)
    RISC OS


===== [[Projet_Robot_Humanoid_carte_Beaglebone_black|Beaglebone black]]=====


====Arduino mega====
===== [[Projet_Robot_Humanoid_carte_CubieBoard|CubieBoard]] =====
ATmega2560  16 MHz
  mémoire :
  Flash Memory       256 KB
  Flash Memory for Bootloader 8 KB
  SRAM                 8 KB
  EEPROM                 4 KB
Connectivité
  Digital I/O Pins 54
  PWM Digital I/O Pins 14
  Analog Input Pins 16


===== [[Projet_Robot_Humanoid_carte_Raspberry_Pi|Raspberry Pi]] =====


===== [[Projet_Robot_Humanoid_carte_Arduino_mega|Arduino mega]]=====


====Arduino Yun====
===== [[Projet_Robot_Humanoid_carte_Arduino_Yun|Arduino Yun]]=====
microcontroleur
  ATmega32u4      16 MHz
  Flash Memory   32 KB (of which 4 KB used by bootloader)
  SRAM           2.5 KB
  EEPROM   1 KB


connectivité
===== [[Projet_Robot_Humanoid_carte_Galileo_Gen_2|Galileo Gen 2]]=====
  Digital I/O Pins     20
  PWM Channels             7
  Analog Input Channels    12


Linux microprocessor
  Processor Atheros AR9331
  Architecture MIPS @400MHz
  Card Reader Micro-SD only
  RAM 64 MB DDR2
  Flash Memory 16 MB
connectivité
  Ethernet IEEE 802.3 10/100Mbit/s
  WiFi IEEE    802.11b/g/n
  USB Type-A 2.0 Host
====Galileo Gen 2====
processeur 32 bits Quark X1000  400 MHz
  RAM    256 Mo DRR3
  SRam  512 Ko
  flash  8 Mo
  Eeprom 8 kbit
connectivité
  port serie
  lan
  USB x3




/ carte mère ITX /  PIC  (conso)
/ carte mère ITX /  PIC  (conso)


=== Types de batteries ===
==== Types de batteries ====
Les batteries de type LiPo on été choisies pour leur rapport poids/puissance.  
Les batteries de type LiPo on été choisies pour leur rapport poids/puissance.  
====Batterie LiPo====
=====Batterie LiPo=====
Batterie LiPo 11.1V LBS-10 : CM 510, CM 530, CM 700, bioloid
Batterie LiPo 11.1V LBS-10 : CM 510, CM 530, CM 700, bioloid
Batterie LiPo 11.1V LBS-11 : darwin-op
Batterie LiPo 11.1V LBS-11 : darwin-op
  Poids : 83g
* Poids : 83g
  Dimensions : 70 x 35 x 15 mm
* Dimensions : 70 x 35 x 15 mm
  Alimentation : 11.1 V
* Alimentation : 11.1 V
  Courant de fonctionnement : 1000 mAh
* Courant de fonctionnement : 1000 mAh
  31,90 €
* 31,90 €
  http://www.francerobotique.com/alimentations-batteries/36-lipo-batterie-111v-lbs-10.html
http://www.francerobotique.com/alimentations-batteries/36-lipo-batterie-111v-lbs-10.html


Batterie LiPo 11.1V 1800mAh LB-12
Batterie LiPo 11.1V 1800mAh LB-12
  Poids : 106g
* Poids : 106g
  Dimensions : 88 x 35 x 26mm
* Dimensions : 88 x 35 x 26mm
  Tension d'alimentation : 11.1V
* Tension d'alimentation : 11.1V
  Alimentation : 1800mAh
* Alimentation : 1800mAh
  non compatible bioloid ( taille de connecteurs)
* non compatible bioloid ( taille de connecteurs)
  40,68 €
* 40,68 €
  http://www.francerobotique.com/alimentations-batteries/301-batterie-lipo-111v-1800mah-lb-12.html
http://www.francerobotique.com/alimentations-batteries/301-batterie-lipo-111v-1800mah-lb-12.html


Batterie LiPo 7.4V 3000mAh
Batterie LiPo 7.4V 3000mAh
  gamme Hovis
* gamme Hovis
  60€
* 60€
  http://www.francerobotique.com/alimentations-batteries/230-batterie-lipo-74v-3000mah.html
http://www.francerobotique.com/alimentations-batteries/230-batterie-lipo-74v-3000mah.html
 
==== Types de liaisons radio ====


=== Types de liaisons radio? ===
XBee  
XBee  
fréquence porteuse : 2.4Ghz
portées variées : assez faible pour les XBee 1 et 2 (10 - 100m), grande pour le XBee Pro (1000m)
faible débit : 250kbps
faible consommation : 3.3V @ 50mA
entrées/sorties : 6 10-bit ADC input pins, 8 digital IO pins
sécurité : communication fiable avec une clé de chiffrement de 128-bits
faible coût : ~ 25€


    fréquence porteuse : 2.4Ghz
Wifi
    portées variées : assez faible pour les XBee 1 et 2 (10 - 100m), grande pour le XBee Pro (1000m)
    faible débit : 250kbps
    faible consommation : 3.3V @ 50mA
    entrées/sorties : 6 10-bit ADC input pins, 8 digital IO pins
    sécurité : communication fiable avec une clé de chiffrement de 128-bits
    faible coût : ~ 25€
Le Wifi semble plus adapter pour communiquer avec un robot humanoïde car ce type de communication présente un bon débit pour une portée moyenne
Le Wifi semble plus adapter pour communiquer avec un robot humanoïde car ce type de communication présente un bon débit pour une portée moyenne
  dans un rayon d'environ 10 mètres : 54 Mbit/s théoriques, 27 Mbit/s réels
dans un rayon d'environ 10 mètres : 54 Mbit/s théoriques, 27 Mbit/s réels
  utile pour la vidéo (reconnaissance faciale, ...) car la carte embarquée risque de ne pas être assez puissante pour ce type de calcul  
utile pour la vidéo (reconnaissance faciale, ...) car la carte embarquée risque de ne pas être assez puissante pour ce type de calcul  


Bluetooth  
Bluetooth  
  faible débit : 3 Mbit/s
faible débit : 3 Mbit/s


=== Types de capteurs ===
==== Types de capteurs ====
==== Vision====
===== Vision=====
kinect / PS eye
kinect  
http://www.xboxygen.com/News/Divers/La-fiche-technique-de-Kinect


==== Mouvement====
PS eye
 
===== Mouvement=====
accéléromètre (40€)/gyroscope (15€)/
accéléromètre (40€)/gyroscope (15€)/


== FabLabs français réalisant un Robot Humanoïd ==
 
=== Inmoov (via http://www.inmoov.fr/builders-near-you/)===
===== audio =====
microphones directionnels (pour détection de personnes ?)
 
=== FabLabs français réalisant un Robot Humanoïd ===
==== Inmoov (via http://www.inmoov.fr/builders-near-you/)====
* https://www.labx.fr/ : HackLab in Bordeaux
* https://www.labx.fr/ : HackLab in Bordeaux
* http://funlab.fr/ : Fabrique d'Usages Numériques à Tours
* http://funlab.fr/ : Fabrique d'Usages Numériques à Tours
* https://fr-fr.facebook.com/FablabDeBesancon : Fablab de Besançon
* https://fr-fr.facebook.com/FablabDeBesancon : Fablab de Besançon


=== Avec Bioloid ===
===== Avec Bioloid =====
* http://fablab.ensimag.fr/index.php/Robot_humano%C3%AFde : Fablab/ENSIMAG
* http://fablab.ensimag.fr/index.php/Robot_humano%C3%AFde : Fablab/ENSIMAG


=== Autre ===
===== Autre =====
* http://www.lacantine-toulon.org/News/OPEN-Lab-2-decouverte-du-Fablab-et-partage-de-projets : La cantine de Toulon
* http://www.lacantine-toulon.org/News/OPEN-Lab-2-decouverte-du-Fablab-et-partage-de-projets : La cantine de Toulon
==== Ressources logicielles ====
* http://robohow.eu/software
== Etude et réalisation du robot InMoov==
=== Tête du robot ===
La tête du robot est la partie contenant les capteurs intéressants et qui permettent au robot de pouvoir intéragir avec son milieu extérieur.
Les points d'intérêts de cette partie du corps est la présence d'yeux qui vont pouvoir servir à détecter des personnes, des mouvements, etc... Et aussi à gérer la profondeur et l'emplacement des objets proches.
==== Motricité ====
La motricité est très semblable à la motricité de la tête humaine. Nous allons mettre des servos moteurs qui ont pour but d'imiter les articulations humaines : ainsi la tête pourra bouger de gauche à droite et de haut en bas grâce à 2 servos. Un situé dans la tête pour les mouvements gauche-droite et un autre situé au niveau du buste pour les mouvements haut-bas.
Nous avons aussi un servo au niveau des yeux afin de pouvoir déplacer les yeux afin de pouvoir effectuer un suivi du regard.
==== Vision ====
Pour simuler la vision nous utilisons deux caméras placés à un entraxe de 7cm l'une de l'autre. Nous obtiendrons deux images, une de l'oeil gauche et une de l'oeil droit qui vont permettre, une fois appariés de determiner une profondeur à l'aide de mesures optiques.
Nous allons devoir nous servir d'un algorithme pour apparier les deux images afin de faire correspondre les pixels.
===== Calibration =====
Chaque caméra possède des propriétés intrinsèques. Elles varient en fonction de la qualité des composants et donc même en provenant du même lot nous avons à faire à deux capteurs différents.
Chaque caméra possède : une distance focale, une distortion et un centre optique qui lui est propre.
La focale est la caractéristique de la lentille placée devant la caméra. Elle influe sur la place des plans images et donc entre directement en jeu lorsqu'il s'agit de mesurer des distances. Entre deux lots de lentilles différentes nous pouvons nous attendre à avoir des focales différentes.
La distortion est le fait d'obtenir une image tordue alors qu'elle devrait être rectiligne. Avec un traitement adéquat nous pourrons redresser les images qui ne le sont pas afin de pouvoir comparer efficacement les images gauches et droites.
===== Calcul de profondeur =====
Une fois que nous aurons apparié les deux photos nous pourrons mesurer la distance entre les deux pixels et donc déterminer la distance entre ces deux points, qu'on appellera disparité.
On établit une carte des disparités et cette carte permettra d'obtenir différents niveaux de profondeur et ainsi on aura une carte 3D de la scène.
Avec les propriétés intrinsèques des caméras on obtiendra une estimation de la distance de l'objet.
== Scenarii d'utilisation ==
* [[Projet_RobotHumanoid_Scenario_Visite| Visite d'exposition]]
* [[Projet_RobotHumanoid_Scenario_accueillir| accueillir public]]
* [[Projet_RobotHumanoid_Scenario_Chorégraphie_Animation| Chorégraphie Animation]]
* [[Projet_RobotHumanoid_Scenario_Inmoov| Inmoov]]
En plus de tous ces scénarios les différents robot proposé sont avant tous des plateformes de travaille évolutives qui demande de nombreuse compétences.


== Liens ==
== Liens ==
*[http://crepp.org/WordPress3/category/projets/inmoov/ InMoov Lorient]
*[http://bionico.org/2014/11/25/comment-faire-une-main-bioniquehow-to-make-a-bionic-hand/ Main Bionique]
*[https://docs.google.com/spreadsheets/d/1DNfKPKVpkX2hOGMIko-u_yIf1CeIokY-sl-R9CyErPQ/edit?usp=sharing]
[[Category:Projet]]
lien pour impression 3D :


[[Category:Projet]]
les fichier à imprimer sur le lien suivant [http://www.thingiverse.com/thing:17773/#files main] sont :
wristsmallV3.stl et WristlargeV4.stl
les fichier à imprimer sur le lien suivant [http://www.thingiverse.com/thing:25149/#files poignet]sont :
rotawrist2.slt  WristGearsV4.stl  rotawrist1V3.stl  rotawrist3V2.stl et cableholderwristV4.stl

Version actuelle datée du 23 octobre 2015 à 13:40

Robot-312208 640.jpg

Présentation

Projet en partenariat avec l'ENSSAT visant la construction d'une plateforme robotique humanoid communautaire à Lannion. Débuté en Septembre 2014 et poursuivi sur l'année 2015. Cette page présente un état de l'art des robots humanoïdes.

Le projet du robot en est sur sa deuxième année et l'idée poursuivie est de réaliser un robot InMoov (www.inmoov.fr). Pour plus de détails sur l'avancement technique et l'étude menée sur le robot en lui même se reporter à la section étude de la plateforme InMoov.

Etat d'avancement

Mars 2015

File:dossier_compte_rendu_RAVARD_Sylvain_2014_2015.rar

Octobre 2015

Le nouveau binôme en charge du projet se charge de la conception de la tête du robot InMoov. Les idées qui vont être implémentées sont présentées dans la section dédiée à l'étude du robot InMoov.


Etat de l'art des robots humanoïdes

Presentation de différentes solutions robotiques humanoïdes

Poppy

Poppy-3d-printed-robot-3.jpg

Poppy est un robot humanoïde totalement open source (hardware y compris) et peu entièrement être construit sur une imprimante 3D. Son buste mobile le rend assez souple pour la marche. Ce robot n’est pas autonome, un ordinateur sert de microcontrôleur (via usb) et l’alimentation est externe sur le modèle de base. Les deux caméras PS eye permettent à poppy de reconnaître son environnement et interagir avec lui. De nombreuses variantes de ce robot on déjà été créé sur le site https://forum.poppy-project.org.

Dimensions H:84 W:25 T:10 (cm) poids : 3.5 kg Prix : 7500€ voir détail pour la partie électronique et petite mécanique : https://docs.google.com/spreadsheet/ccc?key=0Avq9MlqcWxlNdGpjY1RwbDMtSDJJSlVpM1VhRkVLVUE&usp=sharing#gid=1

Son prix est en grande partie due à ses servomoteurs de haute précision nécessaire à l’équilibre d’un humanoïde. 21x Robotis Dynamixels MX-28 (190€ l’unité) 2x Robotis Dynamixels MX-64 (280€ l’unité)

temps de construction : 2 à 3 jours

Idées d’amélioration : Le principal problème de Poppy est son lien obligatoire avec un ordinateur (il n’y a pas de microcontrôleur). L’ajout d’un microcontrôleur (une Raspberry Pi par exemple) et d’une batterie pourrai le rendre autonome. Cette modification risque de réduire la mobilité du robot avec certaines modifications mécaniques au niveau du buste ou de la tête. L’ajout de pinces sur les mains pourrait rendre le robot capable de manipuler des objets.


InMoov

Inmoov.jpg

Ce robot semi-humanoïde (homme-tronc) open source (y compris hardware) est constructible à l’aide d’une imprimante 3D. Malgré son manque de mobilité ce robot a l’avantage d’être très habile grâce à ses mains composées de 5 doigts. L’ensemble des servomoteurs dans le coup et les bras permet à Inmoov de regarder et de suivre un objet du doigt. Pour rendre le système moins fragile et plus puissant, les doigts sont articulés par des moteurs situés dans les avant-bras du robot. l’ensemble du robot est piloté par deux arduino Mega et possède un système de caméra et micro pour pouvoir communiquer. l’équilibre n’étant pas un problème pour ce robot le coût à donc pu être réduit (de 1000 à 1300€) en mettent des servomoteur moins performants.

http://www.inmoov.fr/project/

DARwIn-OP

Darwin-op.jpg

DARwIn-OP est un petit robot (45 cm) humanoïde open source (y compris hardware). Il dispose d’un équipement quasiment aussi complet que le Nao avec son ensemble de camera, microphone, haut parleur pour la communication et différents capteurs pour s’orienter dans son environnement (capteur de sol au pied, gyroscope et accéléromètre). Ce robot en alluminium est autonome grâce à son microcontrôleur ARM Cortex M3 et d’un PC intégré. Coté software, beaucoup d’informations sont disponibles sur le site ros.org. Son prix avoisine lui aussi les 8500€ en grande parti à cause des servomoteurs mx 28.

http://www.romela.org/main/DARwIn_OP:_Open_Platform_Humanoid_Robot_for_Research_and_Education

NimbRo-OP

Erreur lors de la création de la vignette : Fichier avec des dimensions supérieures à 12,5 Mp

NimbRo-OP est un robot humanoïde de quasiment 1 mètre open source (y compris hardware). Ce robot conçu initialement pour jouer au football dispose de jambes puissantes (6 servomoteurs MX-106 par jambes). Ce robot dispose comme la plupart des humanoïde d’un accéléromètre, gyroscope et caméra pour se repérer et d’un processeur dual core avec une carte wifi et une batterie pour son autonomie. Le prix de ce robot en alluminium coûte environ 20 000 € à cause de ses servomoteurs puissants.

http://www.nimbro.net/OP/

Nao

220px-NAO-Robot.jpg

taille : 58 cm poids : 4,8 kg système d’exploitation compatible : Linux, Mac OS, Windows Processeur : Intel ATOM 1,6 GHz (V4) ou AMD Geode 550Mhz (V3.3 ...)

Le Nao est un robot humanoïde autonome open source (seulement pour la partie software) connu de tous. Son design et son équipement très évolué (zones tactiles sur les mains et la tête et bumpers aux pieds) le rend très intéressant mais aussi très peu modulable car sa partie hardware est sous licence.

http://www.aldebaran.com/fr

bioloid/Hovis

Bioloid.jpg

Le bioloid est un robot autonome qui peut avoir différentes formes (humanoïde, chien-robot, araignée-robot, …). Ce robot possède l’équipement minimum nécessaire à le rendre autonome avec pour motorisation seulement des servomoteurs ax 12a. La détection de l’environnement est réduite au stricte minimum avec un capteur gyroscopique 2 axes et 3 détecteurs infrarouges. Ce robot est piloté par un microcontrôleur CM 530 (ARM cortex). Ce petit robot (<35 cm) coute environ 1000 € grâce à son équipement rudimentaire.


http://bioloid-france.bbfr.net/

Hovis est un robot assez similaire à bioloid http://www.dongburobot.com/jsp/cms/view.jsp?code=100795

Software

http://anubis.onucs.org/ : A Natural User Bot Interface System

Hardware

Actuateurs

Lien à voir (depuis hackaday): http://www.hizook.com/blog/2015/01/13/twisted-string-actuators-surprisingly-simple-cheap-and-high-gear-ratio

Types de moteurs

Thèse proposant une méthode pour faire marcher un robot humanoïde avec des moteurs ayant un faible couple http://download.springer.com/static/pdf/620/chp%253A10.1007%252F3-540-45603-1_7.pdf?auth66=1411800907_0c36e0a2082c87abf738d512e442c63f&ext=.pdf

il faut compter une vingtaines de moteurs pour créer un humanoïde.

La gamme ax semble présenter un meilleur rapport qualité/prix que la gamme mx. attention la gamme ax ne possède pas de pid intégré.

servomoteur ax-12a :

  • couple : 1.5N.m
  • prix : 35,40 €

File:AX-12 User Guide.pdf

servomoteur ax-18a (moteur le plus puissant de la serie ax) :

  • prix : 78,40 €
  • couple : 1.8N.m

File:AX18 User Guide.pdf

gamme mx : plus puissant et 3 à 4 fois plus précis et d'autres avantages (mineur?) à utiliser en dernier recours à cause du prix.

servomoteur MX-28t : couple : 2.3N.m prix : 192,00 € File:MX28 User Guide.pdf

Le prix élevé d'un servomoteur peut conduire à une autre solution : Utiliser un moteur à courant continu et réaliser son asservissement PID (ou RST?) ceci développerait un nouveau domaine de travail.

Types de cartes

Les cartes Beaglebone black et cubieBoard ont l'avantage d'avoir de nombreuse broches d'entrée/sortie et capacité de calcul supérieur aux PIC ou Arduino.

Beaglebone black
CubieBoard
Raspberry Pi
Arduino mega
Arduino Yun
Galileo Gen 2

/ carte mère ITX / PIC (conso)

Types de batteries

Les batteries de type LiPo on été choisies pour leur rapport poids/puissance.

Batterie LiPo

Batterie LiPo 11.1V LBS-10 : CM 510, CM 530, CM 700, bioloid Batterie LiPo 11.1V LBS-11 : darwin-op

  • Poids : 83g
  • Dimensions : 70 x 35 x 15 mm
  • Alimentation : 11.1 V
  • Courant de fonctionnement : 1000 mAh
  • 31,90 €

http://www.francerobotique.com/alimentations-batteries/36-lipo-batterie-111v-lbs-10.html

Batterie LiPo 11.1V 1800mAh LB-12

  • Poids : 106g
  • Dimensions : 88 x 35 x 26mm
  • Tension d'alimentation : 11.1V
  • Alimentation : 1800mAh
  • non compatible bioloid ( taille de connecteurs)
  • 40,68 €

http://www.francerobotique.com/alimentations-batteries/301-batterie-lipo-111v-1800mah-lb-12.html

Batterie LiPo 7.4V 3000mAh

  • gamme Hovis
  • 60€

http://www.francerobotique.com/alimentations-batteries/230-batterie-lipo-74v-3000mah.html

Types de liaisons radio

XBee fréquence porteuse : 2.4Ghz portées variées : assez faible pour les XBee 1 et 2 (10 - 100m), grande pour le XBee Pro (1000m) faible débit : 250kbps faible consommation : 3.3V @ 50mA entrées/sorties : 6 10-bit ADC input pins, 8 digital IO pins sécurité : communication fiable avec une clé de chiffrement de 128-bits faible coût : ~ 25€

Wifi Le Wifi semble plus adapter pour communiquer avec un robot humanoïde car ce type de communication présente un bon débit pour une portée moyenne dans un rayon d'environ 10 mètres : 54 Mbit/s théoriques, 27 Mbit/s réels utile pour la vidéo (reconnaissance faciale, ...) car la carte embarquée risque de ne pas être assez puissante pour ce type de calcul

Bluetooth faible débit : 3 Mbit/s

Types de capteurs

Vision

kinect http://www.xboxygen.com/News/Divers/La-fiche-technique-de-Kinect

PS eye

Mouvement

accéléromètre (40€)/gyroscope (15€)/


audio

microphones directionnels (pour détection de personnes ?)

FabLabs français réalisant un Robot Humanoïd

Inmoov (via http://www.inmoov.fr/builders-near-you/)

Avec Bioloid
Autre


Ressources logicielles



Etude et réalisation du robot InMoov

Tête du robot

La tête du robot est la partie contenant les capteurs intéressants et qui permettent au robot de pouvoir intéragir avec son milieu extérieur. Les points d'intérêts de cette partie du corps est la présence d'yeux qui vont pouvoir servir à détecter des personnes, des mouvements, etc... Et aussi à gérer la profondeur et l'emplacement des objets proches.

Motricité

La motricité est très semblable à la motricité de la tête humaine. Nous allons mettre des servos moteurs qui ont pour but d'imiter les articulations humaines : ainsi la tête pourra bouger de gauche à droite et de haut en bas grâce à 2 servos. Un situé dans la tête pour les mouvements gauche-droite et un autre situé au niveau du buste pour les mouvements haut-bas. Nous avons aussi un servo au niveau des yeux afin de pouvoir déplacer les yeux afin de pouvoir effectuer un suivi du regard.


Vision

Pour simuler la vision nous utilisons deux caméras placés à un entraxe de 7cm l'une de l'autre. Nous obtiendrons deux images, une de l'oeil gauche et une de l'oeil droit qui vont permettre, une fois appariés de determiner une profondeur à l'aide de mesures optiques. Nous allons devoir nous servir d'un algorithme pour apparier les deux images afin de faire correspondre les pixels.


Calibration

Chaque caméra possède des propriétés intrinsèques. Elles varient en fonction de la qualité des composants et donc même en provenant du même lot nous avons à faire à deux capteurs différents. Chaque caméra possède : une distance focale, une distortion et un centre optique qui lui est propre. La focale est la caractéristique de la lentille placée devant la caméra. Elle influe sur la place des plans images et donc entre directement en jeu lorsqu'il s'agit de mesurer des distances. Entre deux lots de lentilles différentes nous pouvons nous attendre à avoir des focales différentes. La distortion est le fait d'obtenir une image tordue alors qu'elle devrait être rectiligne. Avec un traitement adéquat nous pourrons redresser les images qui ne le sont pas afin de pouvoir comparer efficacement les images gauches et droites.


Calcul de profondeur

Une fois que nous aurons apparié les deux photos nous pourrons mesurer la distance entre les deux pixels et donc déterminer la distance entre ces deux points, qu'on appellera disparité. On établit une carte des disparités et cette carte permettra d'obtenir différents niveaux de profondeur et ainsi on aura une carte 3D de la scène.

Avec les propriétés intrinsèques des caméras on obtiendra une estimation de la distance de l'objet.

Scenarii d'utilisation

En plus de tous ces scénarios les différents robot proposé sont avant tous des plateformes de travaille évolutives qui demande de nombreuse compétences.

Liens

lien pour impression 3D :


les fichier à imprimer sur le lien suivant main sont : wristsmallV3.stl et WristlargeV4.stl

les fichier à imprimer sur le lien suivant poignetsont : rotawrist2.slt WristGearsV4.stl rotawrist1V3.stl rotawrist3V2.stl et cableholderwristV4.stl