Aller au contenu


Photo
- - - - -

Kit Robot Quadrupède [testé par Jekert]


122 réponses à ce sujet

#1 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 204 messages
  • Gender:Male

Posté 05 juin 2016 - 04:02

Salut !

Je crée ce fil afin de vous présenter le kit robot quadrupède (qui sera disponible dans la boutique des Makers) dont j'ai la chance de faire le test.

Le kit comporte donc :

Bref, il vous suffira d'ajouter une source d'alimentation d'une tension comprise entre 6 et 35V, un petit peu de patience et votre quadrupède sera prêt.

Ce fil sera consacré au kit en lui-même, si vous souhaitez plus d'informations sur l'un de ces produits en particulier, il y aura un fil différent pour chacun d'eux.

Et voici mon calendrier prévisionnel comportant les dates limites de chacune des étapes du test que je m'efforcerais de respecter :

  • [FAIT] Étape 0 (02/6): Réception du colis
  • [FAIT] Étape 1 (12/6): Présentation du colis + Arduino Nano
  • [FAIT] Étape 2 (17/6): Test des servomoteurs 9g
  • [FAIT] Étape 3 (22/6): Test du driver 16 servos
  • [FAIT] Étape 4 (26/6): Test du convertisseur 5V
  • [EN COURS] Étape 5 (03/7): Assemblage du kit et des servomoteurs
  • [EN ATTENTE] Étape 6 (09/7): Premiers pas du robot
  • [EN ATTENTE] Étape 7 (13/7): Fin de la rédaction du tutoriel

Les fils seront créés au fur et à mesure que le test progresse.

Si vous avez des questions, des conseils n'hésitez pas :)

Le déballage :
L'ayant reçu jeudi, voici une petite vidéo du déballage du colis :

 

 

Le colis fait environ 20*15*16 cm et pèse 690g.
Chaque élément est emballé dans une pochette plastique et/ou plusieurs couches de papier bulle sauf pour les fils et l'interrupteur. Et une fois que tout est déballé :

 

blogentry-9502-0-83900300-1464987629.jpg

 


À bientôt pour la suite du test !



#2 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 204 messages
  • Gender:Male

Posté 30 juin 2016 - 06:35

Salut,

Le test a pris un tout petit peu de retard pour l'instant car il manquait certaines vis dans le kit (celles permettant de fixer les servos, des M2.5 ainsi que les écrous associés) qui vont être ajoutées dans la version du kit qui sera dans la boutique ;)

Donc le temps de les recevoir et le test reprendra son cours normal. :)

La suite du test devrait arriver avant la semaine prochaine si tout se passe bien :)



#3 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 204 messages
  • Gender:Male

Posté 02 juillet 2016 - 08:33

Salut,

Quelques nouvelles du test du kit, j'ai reçu les vis M2.5 ainsi que les écrous, et commencé à monter les différentes parties du kit:

SAM_2414.JPG

SAM_2407.JPG

SAM_2405.JPG

SAM_2404.JPG

Mais les vis M2.5 sont un peu trop larges donc le vissage a abimé la tête de vis et a provoqué des écarts entre la pièces et le servo qui déforment la pièce (ça ne s'améliore pas en vissant) :

SAM_2409.JPG

Voir aller jusqu'à la rupture dans certains cas malgré un écart très faible (<1mm) et les vis vissées à moitié :

SAM_2410.JPG

SAM_2411.JPG

Suite à ce petit problème, on va essayer si le fait de choisir des vis plus fine (des M2 maintenant, qui ne devraient pas créées d'écarts) permettent de résoudre le problème ou si celui provient de la pièce (dans ce dernier cas le produit sera invalidé et retiré de la boutique).

Le test reprendra donc dès que j'aurais reçu les vis et écrous, ainsi que la version métal (intacte) du kit (les pièces sont quasiment identiques, seule la matière change).

 

Donc je vous dis à bientôt pour la suite du test :)



#4 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 204 messages
  • Gender:Male

Posté 03 juillet 2016 - 07:53

Aujourd'hui activité pistolet à colle ! ^^

SAM_2415.JPG

J'ai miraculeusement retrouvé de la colle de couleur noir ce qui donne un bon rendu sur la pièce :

SAM_2418.JPG

SAM_2419.JPG

SAM_2420.JPG

Puis pour tester la solidité, j'ai commencer à monter la première patte, ce qui m'a permis de trouver un bon ordre de vissage qui n'est pas celui-ci (je le détaillerais avec des photos prochainement):

SAM_2421.JPG

SAM_2423.JPG

SAM_2424.JPG

Donc si on oublie la cassure et les déformations, la première patte fut plutôt simple a montée et m'a permis de voir que ce quadrupède sera plus imposant que sont châssis :

SAM_2425.JPG

SAM_2426.JPG

SAM_2427.JPG



#5 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 3 855 messages
  • Gender:Male

Posté 04 juillet 2016 - 06:41

J'attends avec impatience de voir le résultat.
Pourrais tu peser la visserie ?
Merci
Ma chaine vidéo YouTube : https://www.youtube....wMz-IzZqyvqEUek

#6 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 204 messages
  • Gender:Male

Posté 04 juillet 2016 - 08:05

Moi aussi :)

Je le ferais dès que j'aurais réceptionné les nouvelles vis.

 

J'en profite pour vous demander votre avis sur un détail, pour l'instant je pensais que la première patte comporterait les servo numéro 0, 1 et 2 mais je me suis rendu compte qu'il y avait un autre câblage logique possible : mettre les 4 premiers servos aux hanches, les 4 suivants aux genoux et les 4 derniers aux chevilles ce qui ferait des groupes d'articulations sur le driver 16 servos :

6 - Driver.JPG

Donc lequel utilisez-vous le plus fréquemment/préférez-vous ? Il y a-t-il d'autres "conventions" pour les quadrupèdes ?

 

Et autres chose sur laquelle je voulais avoir votre avis : la dénomination des servomoteurs dans le futur programme, je pensais faire par exemple h1 pour le servo de l'articulation de la hanche de la patte 1, g1, c1 etc... Trouvez-vous la dénomination claire ou préférez-vous le nom de l'articulation en entier ? L'objectif restant d'avoir des noms compréhensibles et de pouvoir programmer facilement.



#7 Chapuko

Chapuko

    Nouveau membre

  • Membres
  • 12 messages

Posté 04 juillet 2016 - 08:48

Hello Jekert,

 

Je suis ce post avec attention car il s'apparente à mon projet de quadrupède (même servos, 3 par pattes...).

 

Je pense que le groupement des servos sur la carte contrôleur n'a pas d’importance d'un point de vue informatique (vue qu'on va utiliser des #define). Il faut plutôt faire un câblage propre. Je partirai plutôt sur le regroupement des servos de chaque patte afin de garder les câbles sous forme de frettes.

 

Pour la dénomination, pas d'info sur le norme, mais je partirai plutôt sur une dénomination avant gauche, avant droite, ... plutôt que 1, 2, 3 et 4...

 

A+



#8 Chapuko

Chapuko

    Nouveau membre

  • Membres
  • 12 messages

Posté 04 juillet 2016 - 08:49

Hello Jekert,

 

Tu peux nous donner une idée du jeu entre le bout de la patte et le châssis ?

 

A+



#9 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 7 373 messages
  • Gender:Male
  • Location:Cholet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 05 juillet 2016 - 12:27

 

 

Je pense que le groupement des servos sur la carte contrôleur n'a pas d’importance d'un point de vue informatique (vue qu'on va utiliser des #define). Il faut plutôt faire un câblage propre. Je partirai plutôt sur le regroupement des servos de chaque patte 

 

parfaitement d'accord ;)

 

 

 

 

Pour la dénomination, pas d'info sur le norme, mais je partirai plutôt sur une dénomination avant gauche, avant droite, ... plutôt que 1, 2, 3 et 4...

 

 

 En fait il est plus facile de comprendre les mots, mais plus pratique d'utiliser les chiffres surtout si ça permet d'utiliser les tableaux et les boucles ! Mince ... Mais comment joindre les deux ??? 

Jekert a bien cerner le problème ...

 

 

Et autres chose sur laquelle je voulais avoir votre avis : la dénomination des servomoteurs dans le futur programme, je pensais faire par exemple h1 pour le servo de l'articulation de la hanche de la patte 1, g1, c1 etc... Trouvez-vous la dénomination claire ou préférez-vous le nom de l'articulation en entier ? L'objectif restant d'avoir des noms compréhensibles et de pouvoir programmer facilement.

 

Aller moi je vais vous proposer une structure de ce type ! :)

Afin d'allier le meilleur des deux monde ;) 
 

//Bibliothèques :
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

//Driver :
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();

#define NSERVOPERPATTE 3
#define NPATTE 4
 
#define AVANTDROIT 0
#define ARRIEREDROIT 1
#define ARRIEREGAUCHE 2 
#define AVANTGAUCHE 3

#define HANCHE 0 
#define GENOU 1 
#define CHEVILLE 2


// définition des variable pour la patte avant droite
#define MAXHANCHEAVANTDROITE 400
#define MINHANCHEAVANTDROITE 100 
#define NUMEROSERVOHANCHEAVANTDROITE 0

#define MAXGENOUAVANTDROIT 400
#define MINGENOUAVANTDROIT 100 
#define NUMEROSERVOGENOUAVANTDROIT 1

#define MAXCHEVILLEAVANTDROITE 400
#define MINCHEVILLEAVANTDROITE 100 
#define NUMEROSERVOCHEVILLEAVANTDROITE 2


// à compléter avec les autres pattes de la même façon 

// Définition d'un type de variable " PATTE "
// sert à stocker et regrouper les variables qui nous intéresse en fonction du nom de la patte
// permet aussi d'y accéder sous forme de tableau
union PATTE8 {
  struct {
  uint8_t hanche;
  uint8_t genou;
  uint8_t cheville;
  };
  uint8_t valeur[NSERVOPERPATTE];
};

union PATTE16 {
struct {
uint16_t hanche;
uint16_t genou;
uint16_t cheville;
};
uint16_t valeur[NSERVOPERPATTE];
};

PATTE8 anglePatte[NPATTE];    // valeur en ° entre 0 et 180 sinon mettre PATTE16 pour valeur sur 2 bytes en microsecondes
PATTE16 maxAnglePatte[NPATTE];  // PATTE16 car les max sont >255
PATTE8 minAnglePatte[NPATTE];  // Mettre PATTE16 au lieu de 8 si un des MIN est > 255
PATTE8 numeroServoPatte[NPATTE];




void setup() {

maxAnglePatte[AVANTDROIT].hanche= MAXHANCHEAVANTDROITE;
// autre façon équivalente d'écrire la ligne ce dessus grâce à l'union : 
// maxAnglePatte[AVANTDROIT].valeur[HANCHE]= MAXHANCHEAVANTDROITE
maxAnglePatte[AVANTDROIT].genou = MAXGENOUAVANTDROIT;
maxAnglePatte[AVANTDROIT].cheville = MAXCHEVILLEAVANTDROITE;

minAnglePatte[AVANTDROIT].hanche= MINHANCHEAVANTDROITE; 
minAnglePatte[AVANTDROIT].genou = MINGENOUAVANTDROIT;
minAnglePatte[AVANTDROIT].cheville = MINCHEVILLEAVANTDROITE;

numeroServoPatte[AVANTDROIT].hanche= NUMEROSERVOHANCHEAVANTDROITE; 
numeroServoPatte[AVANTDROIT].genou = NUMEROSERVOGENOUAVANTDROIT;
numeroServoPatte[AVANTDROIT].cheville = NUMEROSERVOCHEVILLEAVANTDROITE;

// Complèter avec les autres pattes ... 

  pwm.begin();
  pwm.setPWMFreq(50); //Fréquence utilisée par les servos analogiques
  yield();
}

void loop() {

  
  // put your main code here, to run repeatedly:
  //

}

Du coup voilà un exemple d'utilisation d'union  de structure et de define !  
ça me fera une excuse pour le tutoriel " comment structurer vos variable et optimiser leur utilisation " 

Je te laisse maintenant

1) modifier à ta guise les valeurs des define 

2)deviner comment faire tes fonctions qui utiliseront cette structure si jamais ça te plaît   ;)

3) ajouter plus de commentaire sur le code que je te propose ;)

 

PS: Vous pouvez choisir de réduire la taille des defines genre : H pour hanche A pour avant D pour droit etc... 
ce qui peut donner des define comme   MAXHAD MINHAD NHAD  si c'est assez claire pour vous   ;) ou encore NSP 3 NP 4 etc... 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !

 

Les réalisations de Mike118  

 

 

 


#10 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 204 messages
  • Gender:Male

Posté 05 juillet 2016 - 03:31

Merci pour vos réponses :)
 
J'ai reçu les nouvelles vis ce matin, l'ensemble de la visserie que l'on va utiliser pèse aux alentours de 27g. En parlant de visserie, pour le montage on a besoin de 16 vis et écrous M2, les vis contenues  dans les sachets des servos, et 16 vis et écrous M3 (ou M3.5 je ne peut pas dire exactement, celle pour maintenir le genoux). Donc il nous reste 9 vis et écrous M3, 12 vis des sachets des servos et il faudra déterminer le nombre de vis et écrous M2 fournis avec le kit (9 supplémentaires comme pour les vis M3 serait largement suffisant)
 

Je pense que le groupement des servos sur la carte contrôleur n'a pas d’importance d'un point de vue informatique (vue qu'on va utiliser des #define). Il faut plutôt faire un câblage propre. Je partirai plutôt sur le regroupement des servos de chaque patte afin de garder les câbles sous forme de frettes.

C'est vrai, j'aurais du y penser avant de poser la question ^^
 

PS: Vous pouveez choisir de réduire la taille des defines genre : H pour hanche A pour avant D pour droit etc... 
ce qui peut donner des define comme   MAXHAD MINHAD NHAD  si c'est assez claire pour vous   ;) ou encore NSP 3 NP 4 etc...

Je pense que ça sera plus simple d'utiliser ces abréviation :)  mais si vous pensez qu'elles ne sont pas compréhensible, ça ne me pose pas de problème.
 
Comme je l'ai dit plus haut, j'ai reçu aujourd'hui les vis et écrous M2, qui fonctionnent parfaitement ! :)
(Attention avalanche de photos)
Il n'y a pas d'écarts donc les pièces ne se déforment pas, je n'ai eu aucun problème avec celles-ci :

SAM_2430.JPG

SAM_2431.JPG

 

Du coup j'ai commencé le montage du robot :

Spoiler

Et voici le robot une fois les pièces mécaniques montées :

SAM_2464.JPG
SAM_2465.JPG
SAM_2466.JPG
SAM_2467.JPG

Maintenant il ne reste plus qu'à fixer les autres composants, et rassembler les câbles (au programme de ce soir) et nous pourront le programmer :)
 

Tu peux nous donner une idée du jeu entre le bout de la patte et le châssis ?

J'ai fait cette mini vidéo mais je ne sais pas si c'est de ça que tu parle :

N'hésite pas à me le dire si ce n'est pas ça ou si tu veut que je fasse une meilleure vidéo là-dessus (peut-être où la patte soit commandée par le driver ?) :)
 
@mike118 Merci pour la technique mais j'attendrais ton tuto pour être sûr d'avoir bien compris comment les utilisées correctement :)
 



#11 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 05 juillet 2016 - 06:11

 

PS: mike118, mon pseudo c'est Jekert pas Jerket ^^

 

ça il va falloir te le tatouer sur le front, sinon Il entendra pas ! :laugh1: ça fait 2 fois que tu lui dis ou 3 ? :D



#12 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 204 messages
  • Gender:Male

Posté 05 juillet 2016 - 07:47

2 fois ^^ c'est pas grave mais vu qu'il met l'erreur partout...

 

Le montage a été plus rapide que prévu, donc voici les photos :

 

Spoiler

 

Et le résultat, un robot de 240g (sans batteries) :

 

SAM_2500.JPG

SAM_2501.JPG

SAM_2502.JPG

SAM_2504.JPG

 

Pour l'instant j'essaye de trouver une solution au fait que l'Arduino Nano ne veuille plus charger de programme (la led power est allumée et lorsque je téléverse un programme la led RX clignote faiblement 3 fois et rien ne se passe. Le message d'erreur :

Spoiler
]

) depuis qu'ai envoyé le programmer pour tester les min et max des servos après le montage du robot (peut-être que je l'ai court-circuitée malgré mes précautions), je l'ai retirée pour le moment. Si vous avez une idée, je suis preneur ^^. Mais dès que j'ai trouvé une solution je passerai à la programmation :)



#13 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 7 373 messages
  • Gender:Male
  • Location:Cholet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 05 juillet 2016 - 09:13

2 fois ^^ c'est pas grave mais vu qu'il met l'erreur partout...

 

 

Je ne sais pas du tout de quoi vous parlez   :whistle2: ( dit le gars après avoir corrigé les 15 fois où ils s'est planté )

 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !

 

Les réalisations de Mike118  

 

 

 


#14 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 7 373 messages
  • Gender:Male
  • Location:Cholet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 05 juillet 2016 - 11:58

 

 
@mike118 Merci pour la technique mais j'attendrais ton tuto pour être sûr d'avoir bien compris comment les utilisées correctement :)
 

 

premier morceau ici  J'en ferais un autre sur l'union ... Mais du coup tu peux commencer " sans les union " en faisant juste une structure patte =) comme ça tu verras si tu as bien compris ;) 
Et on reparlera de l'union quand j'aurais expliqué à quoi il sert et fait le tuto dessu ;)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !

 

Les réalisations de Mike118  

 

 

 


#15 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 204 messages
  • Gender:Male

Posté 06 juillet 2016 - 10:26

Ok, merci :)

Toujours aucune amélioration du coté de l'Arduino Nano mais suite au message de Telson j'ai remarqué que la sortie du convertisseur avait l'air d'être faite pour ça donc je l'ai branchée à la suite des 12 servos sur le driver et je testerai cette configuration une fois le problème de l'Arduino résolu :

SAM_2509.JPG



#16 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 06 juillet 2016 - 12:00

Voilà c'est exactement comme ça qu'il faut connecter l'alim.

 

Il est aussi possible de déporter totalement l'alimentation des servomoteurs à l'extérieure de la carte.

 

Les pistes pour faire passer la puissance aux servomoteurs sont justes.....Dans ce dernier cas de figure le driver PCA passe uniquement les consignes de position aux servo.

 

Attention, il faut quand même maintenir une petite alimentation pour le driver PCA.



#17 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 204 messages
  • Gender:Male

Posté 06 juillet 2016 - 12:04

 

Attention, il faut quand même maintenir une petite alimentation pour le driver PCA.

Tu parles bien du VCC ?



#18 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 06 juillet 2016 - 12:15

oui : VCC (this is power for the BREAKOUT only, NOT the servo power!)



#19 Chapuko

Chapuko

    Nouveau membre

  • Membres
  • 12 messages

Posté 06 juillet 2016 - 09:41

 

J'ai fait cette mini vidéo mais je ne sais pas si c'est de ça que tu parle :

N'hésite pas à me le dire si ce n'est pas ça ou si tu veut que je fasse une meilleure vidéo là-dessus (peut-être où la patte soit commandée par le driver ?) :)
 

 

 

Super, merci.

Mais la vidéo que tu as faites montre le débattement.

Je suis plus intéressé sur le jeu, c'est à dire à l’arrêt, est ce que les pattes bougent beaucoup ou est ce que l'ensemble est bien rigide ?



#20 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 204 messages
  • Gender:Male

Posté 07 juillet 2016 - 09:09

 

Super, merci.

Mais la vidéo que tu as faites montre le débattement.

Je suis plus intéressé sur le jeu, c'est à dire à l’arrêt, est ce que les pattes bougent beaucoup ou est ce que l'ensemble est bien rigide ?

Ok, je vais voir si j'arrive à le mettre suffisamment en valeur :)

 





Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users