Aller au contenu


Photo

Horus Mk. I


  • Veuillez vous connecter pour répondre
26 réponses à ce sujet

#1 Arnaldo

Arnaldo

    Nouveau membre

  • Membres
  • 9 messages
  • Gender:Male

Posté 27 août 2018 - 10:08

Je vous présente mon robot bipède, Horus Mk. I.

 

Horus_Mk1_Front_20180726.jpg

 

Il marche depuis quelques mois et je travaille à l'amélioration de son équilibre et de sa vitesse. Il peut déjà avancer en avant, en arrière et tourner.

 

Video : 

 

Il est doté de 12 articulations de ma conception pilotées par des dsPIC. J'utilise des capteurs de position (encodeurs et potentiomètres) et des capteurs de force (qui contribuent notamment au contrôle de l'équilibre).

 

La supervision globale est assurée par un mini PC. 

 

Je viens d'ouvrir un Blog que j'enrichis progressivement pour décrire la conception du robot : http://www.avbotics.com

 

Il est en anglais mais je me ferais une joie de répondre à vos questions en Français.

 



#2 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 27 août 2018 - 11:57

Cest un super boulot !!
T'es seul ? En équipe ? C'est un projet d'études ? Depuis combien de temps tu es dessus ?

#3 Arnaldo

Arnaldo

    Nouveau membre

  • Membres
  • 9 messages
  • Gender:Male

Posté 27 août 2018 - 12:23

Je l'ai fait tout seul. 

On peut vraiment dire que c'est un projet d'étude mais strictement personnel. J'avais envie de me mesurer à un sujet difficile et les robots bipèdes m'ont toujours passionnés.

 

En fait j'ai procédé en plusieurs étapes et ça fait 4 ans que je travaille dessus :

1- Construction d'un modèle de simulation dynamique pour voir si j'étais capable de comprendre la physique des robots bipèdes... Ca a s'est étalé sur un an.

2-Conception des actionneurs : premiers protos, essais avec Arduino et RPi pour obtenir un contrôle en position performant. J'ai ensuite ajouté la mesure d'efforts...

3-Conception et construction d'une jambe : vérifier que j'arrive à contrôler les articulations en même temps, que les actionneurs avaient les performances requises sous charge...

4-Fabrication de la 2ème jambe jusqu'aux premiers pas... Il m'a fallu 3 mois entre la fin de réalisation et les premiers pas... beaucoup de travail de programmation pour pouvoir simplifier la mise au point. 



#4 Forthman

Forthman

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 382 messages
  • Gender:Not Telling
  • Location:Montauban (82)

Posté 27 août 2018 - 02:38

J'ai une question : T"as pas honte de débarquer ici avec un truc pareil ? :crazy:

 

C'est superbe :thank_you: (la tremblotte lui donne un coté très humain je trouve)



#5 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 27 août 2018 - 02:45

Magnifique !

Justement, Thermo_Nono a lancé un projet collaboratif sur la création d'un servo moteur I2C, http://www.robot-maker.com/forum/topic/12252-presentation-du-projet-servomoteur-a-rotation-continue-adressable-en-ic-et-encore/

#6 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 27 août 2018 - 03:38

Je trouve qu'il ressemble à c6po quand il avait les puces à l'air. Je suis admiratif !!

#7 Arnaldo

Arnaldo

    Nouveau membre

  • Membres
  • 9 messages
  • Gender:Male

Posté 27 août 2018 - 04:30

Magnifique !

Justement, Thermo_Nono a lancé un projet collaboratif sur la création d'un servo moteur I2C, http://www.robot-maker.com/forum/topic/12252-presentation-du-projet-servomoteur-a-rotation-continue-adressable-en-ic-et-encore/

Merci !

J'ai conçu une carte de contrôle qui fonctionne sous I2C. Sa description est sur mon blog (schéma dispo) : https://avbotics.com...control-boards/

Je vais publier prochainement un post sur le programme de contrôle.

Dans les grandes lignes, outre le contrôle PID, j'ai ajouté  des fonctionnalité permettant de modifier à n'importe quel moment les paramètres internes (gains, raideurs, etc...).

Avec les capteurs de forces, je peux donner de la "compliance" en émulant une sortie ressort/amortisseur. Je m'en sers par exemple en programmant une raideur très faible des articulations de la cheville lorsque le pied est levé et se pose sur le sol.  



#8 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 27 août 2018 - 06:55

Je l'ai fait tout seul. 

On peut vraiment dire que c'est un projet d'étude mais strictement personnel. J'avais envie de me mesurer à un sujet difficile et les robots bipèdes m'ont toujours passionnés.

 

En fait j'ai procédé en plusieurs étapes et ça fait 4 ans que je travaille dessus :

1- Construction d'un modèle de simulation dynamique pour voir si j'étais capable de comprendre la physique des robots bipèdes... Ca a s'est étalé sur un an.

2-Conception des actionneurs : premiers protos, essais avec Arduino et RPi pour obtenir un contrôle en position performant. J'ai ensuite ajouté la mesure d'efforts...

3-Conception et construction d'une jambe : vérifier que j'arrive à contrôler les articulations en même temps, que les actionneurs avaient les performances requises sous charge...

4-Fabrication de la 2ème jambe jusqu'aux premiers pas... Il m'a fallu 3 mois entre la fin de réalisation et les premiers pas... beaucoup de travail de programmation pour pouvoir simplifier la mise au point. 

 

J'aurais adoré suivre ton avancement. Est-ce qu'on aura le plaisir de suivre la suite de ton projet ? Fais-nous signe quand tu mets ton blog à jour.

 

J'espère aussi que tu trouveras un intérêt ou un plaisir à guider les plus débutants que toi et il y a du monde, vu comment tu mets la barre haute ^^



#9 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 27 août 2018 - 08:30

Outch, c'est excellent, je crois l'avoir vu mais à l'arrête à Nantes :)

A l'occasion je veux bien que tu me parle des capteurs de pression que tu as utilisé ;)

Félicitations :)


signature_01.png -->

 

Mon Tipeee
 


#10 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 27 août 2018 - 08:33

J'ai survolé ton blog qui est très bien fait avec beaucoup de détails sur la conception de ton bipède.
Mais pourrais-tu nous donner quelques références et liens pour les moteurs et leur réducteur, ainsi que les potentiomètres.

Petite question. Pourquoi des PIC et non pas des Arduino ?

#11 Arnaldo

Arnaldo

    Nouveau membre

  • Membres
  • 9 messages
  • Gender:Male

Posté 27 août 2018 - 09:49

Je vais préciser les réf des composants utilisés dans le blog très rapidement, il en a déjà quelques-une (dont les potentiomètres qui sont des Vishay-Sfernice P11 10kOhms).

 

Pour le choix des dsPIC, ils peuvent fournir des PWM à très haute fréquence (20kHz) avec encore une très bonne résolution (2000 steps entre 0 et 100%). Ils ont aussi la possibilité de lire directement les encodeurs A/B. Je ne suis pas sûr qu'on puisse faire cela avec un Arduino, mais j'ai peut-être tort ??? Les dsPIC sont vraiment faits pour contrôler des moteurs.

 

A 20 kHz de PWM, les moteurs sont très silencieux et c'est un atout quand on on en a 12 qui fonctionnent en même temps.



#12 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 27 août 2018 - 10:00

Superbe ! Et comme ça a été mentionné plus haut, certaines parties de ton projet rejoignent mes préoccupations actuelles (servomoteur I²C).. je ne manquerai pas de visiter le blog. 

Merci pour le partage. 
 



#13 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 28 août 2018 - 06:42

Merci pour les liens et pour ces précisions.

Pour le choix des dsPIC, ils peuvent fournir des PWM à très haute fréquence (20kHz) avec encore une très bonne résolution (2000 steps entre 0 et 100%). Ils ont aussi la possibilité de lire directement les encodeurs A/B. Je ne suis pas sûr qu'on puisse faire cela avec un Arduino, mais j'ai peut-être tort ??? Les dsPIC sont vraiment faits pour contrôler des moteurs.

Ce n'est pas dans mes compétences, alors si quelqu'un pouvait apporter la contradiction, ce serait super.

#14 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 28 août 2018 - 01:08

C'est très intéressant ce dsPIC. Je connaissais pas. Je me sers souvent des petits arduino pour piloter les moteurs justement.

On peut changer la fréquence des canaux pwm sur les arduino 32bits ceux à base de ARM Cortex. Et ce sans toucher à la clock générale :)  On peut aussi augmenter la résolution (jusqu'à 32 bit) sur la Due. Mais leur format est bien plus gros que ce que je vois sur les PIC. Donc plus difficile à intégrer.

Quant à la lecture directe des encodeurs A/B, tu parles de lire les interruptions venant d'encodeurs en quadrature ? Il y a la gestion d'interruptions sur arduino. De 2 à qq'unes. Et tous les pins peuvent servir d'interruption sur la Due.



#15 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 28 août 2018 - 01:55

Mais leur format est bien plus gros que ce que je vois sur les PIC. Donc plus difficile à intégrer.


L'Arduino Micro ne pourrait-il pas convenir ? https://store.arduino.cc/arduino-micro

#16 Arnaldo

Arnaldo

    Nouveau membre

  • Membres
  • 9 messages
  • Gender:Male

Posté 28 août 2018 - 05:28

C'est très intéressant ce dsPIC. Je connaissais pas. Je me sers souvent des petits arduino pour piloter les moteurs justement.

On peut changer la fréquence des canaux pwm sur les arduino 32bits ceux à base de ARM Cortex. Et ce sans toucher à la clock générale :)  On peut aussi augmenter la résolution (jusqu'à 32 bit) sur la Due. Mais leur format est bien plus gros que ce que je vois sur les PIC. Donc plus difficile à intégrer.

Quant à la lecture directe des encodeurs A/B, tu parles de lire les interruptions venant d'encodeurs en quadrature ? Il y a la gestion d'interruptions sur arduino. De 2 à qq'unes. Et tous les pins peuvent servir d'interruption sur la Due.

Oui les encodeurs A/B sont biens des encodeurs à quadrature. J'avais utilisé une Arduino Due mais à l'époque je n'utilisais pas encore les encodeurs. J'imagine que sur une Arduino on utilise deux entrées numériques avec interruptions pour détecter les changements d'état / position. Les dsPIC disposent directement d'un registre compteur 16bits qui enregistre la position, avec en plus des registres de paramétrage (remise à zéro, échelle, filtrage, inversions, interruption en cas d'erreur, etc...). Il suffit d'aller lire le registre de position quand on en a besoin.

La PWM est basée sur une fréquence d'horloge de 40 MHz, soit une période de 25ns. On peut "répartir" la fréquence d'horloge en fréquence du signal PWM et en résolution du signal :

Par ex. 20 kHz x codage largeur d'impulsion de 0 (0%) à 2000 (100%) = 40 MHz, ou encore codage largeur d'impulsion sur 12 bits (4096) = fréquence de PWM de 9,76 kHz

 

je ne sais pas combien coûte désormais une Arduino Due mais ma carte dsPIC me revient complète à environ 15-20€, hors pont en H bien sûr. Il m'en fallait une dizaine. Bon, il faut souder les composants...



#17 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 28 août 2018 - 06:24

En effet, c'est intéressant, même sur le prix. Merci du partage ;)



#18 Bacab

Bacab

    Membre occasionnel

  • Membres
  • Pip
  • 108 messages
  • Gender:Male

Posté 28 août 2018 - 08:13

C'est super sympa comme projet. Très belle réalisation.

 

Aucun problème avec le compilo dsPIC ? J'ai eu de très mauvaises expériences avec des PIC16F et 18F lorsque j'étais étudiant donc je m'en suis toujours méfié, peut être à tort..



#19 Arnaldo

Arnaldo

    Nouveau membre

  • Membres
  • 9 messages
  • Gender:Male

Posté 29 août 2018 - 08:23

C'est super sympa comme projet. Très belle réalisation.

 

Aucun problème avec le compilo dsPIC ? J'ai eu de très mauvaises expériences avec des PIC16F et 18F lorsque j'étais étudiant donc je m'en suis toujours méfié, peut être à tort..

Non pas de problèmes particuliers hormis au tout début lorsqu'il faut installer et se familiariser avec MPLAB.

J'utilise une Pickit3 pour la programmation et la dernière version du compilateur adapté aux dsPIC33,  le XC16.

 

Pour ceux qui sont familiarisés avec MATLAB/SIMULINK, il existe une toolbox dsPIC gratuite pour SIMULINK. Elle est utilisable sans limitation à quelques références de dsPIC (dont celui que j'utilise) et il est également facile de compiler les modèles Simulink et de les flasher directement.



#20 Arnaldo

Arnaldo

    Nouveau membre

  • Membres
  • 9 messages
  • Gender:Male

Posté 29 août 2018 - 08:25

J'ai survolé ton blog qui est très bien fait avec beaucoup de détails sur la conception de ton bipède.
Mais pourrais-tu nous donner quelques références et liens pour les moteurs et leur réducteur, ainsi que les potentiomètres.

Petite question. Pourquoi des PIC et non pas des Arduino ?

 

Quelques infos sur les références utilisées :

-Les motoréducteurs proviennent de MFA COMODRILL https://www.mfacomodrills.com/

      . avec des réducteurs épicycloïdaux 1:5 pour les actionneurs linéaires et à vis sans fin (série 940 D)

      . avec réducteurs épicycloïdaux 1:100 pour les actionneurs avec couples coniques (série 940D)

 

Les moteurs étaient initialement de RE 385 (diamètre 27.5 mm) en 12V

 

Lorsque j'ai voulu installer des encodeurs, il me fallait des moteurs avec l'axe dépassant à l'arrière, que je n'ai trouvé qu'en 24V (En chine...)

J'ai donc remplacé les moteurs et renforcé ceux des axes x2 (voir https://avbotics.com...out-structure/)avec des moteurs de taille RE 540 (diamètre 37 mm)

 

Concernant les capteurs de force, j'ai utilisé des capteurs de balance/pèse-personne (voir https://avbotics.com/force-sensors/)que j'ai trouvés chez RobotShop (ref. RB-Pho-119) Ces capteurs fonctionnent avec des jauges de contraintes et nécessitent une amplification du signal (fait par une puce spécialisée INA125 U) avant d'être convertis sur une entrée analogique du dsPIC.

 

les potentiomètres sont des Vishay-Sfernice P11 10kOhms, ils ont des pistes en céramique et sont de bonne qualité même si je voudrais les remplacer par des capteurs de position à effet hall sans contact (12 ou 14 bits) qui me semblent très prometteurs (type AMS ou Bourns). Les potentiomètres sont bruités et ne sont pas très linéaires. Ils nécessitent d'être étalonnés (à minima sur la pente tension V = f(position) car elle varie beaucoup d'un pot. à l'autre). 






0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users