0Home Page test forums PROGRAMMATION MYROBOTLAB [TUTO] [MRL] Service DIY Servo

This topic contains 15 replies, has 5 voices, and was last updated by  anthony 3 years ago.

  • Author
    Posts
  • #5872

    anthony
    Moderator

    Utile pour recycler vos servos cramés ou en fabriquer des mega costauds

    Pas besoin de traduire, python est universel 🙂

    Tuto :
    http://myrobotlab.org/service/diyservo

    Quelques STL :
    https://github.com/kwatters/DIYServo
    https://github.com/createthis/DIYServo/tree/master/OpenSCAD

  • #5873

    Il va y avoir pénurie de perceuse chez Casto et plus une machine à fouetter les oeufs dans nos cuisines… J’adore le DIY, cela empêchera juste à qqs profiteurs ou autres marchands de tapis de s’engraisser. Niark niark.
    Merci.
    Sy.

  • #5874

    lecagnois
    Participant

    Merci pour le Lien Anthony
    cela peut servir , sais tu quelle carte shield il utilise ?

  • #5884

    anthony
    Moderator

    Oui c’est top ! Un peu de boulot pour adapter les supports. Quoique je pense en tapant ceci on peut réutiliser les boitiers des servos grillé… On peut utiliser n importe quelle carte si on se base sur ce montage avec 2 entrée pwn
    ça c’est l’entrée de gamme pour 2/4 amperes https://fr.aliexpress.com/item/Free-Shipping-Special-promotions-L298N-motor-driver-board-module-stepper-motor-smart-car-robot/32266358018.html?scm=1007.13338.49930.0&pvid=ea3f9153-03c2-42bf-aa3d-fa702507f0a4&tpp=1

    • #5888

      lecagnois
      Participant

      Merci anthony

  • #5885

    En faisant des automates, il n’y a pas si longtps et surtt pour ne pas me prendre la tête, j’avais pris une bombe de poly… mousse expansive, arrosé tous les vides entre les mécanismes. Une fois la mousse stabilisée, j’avais tant bien que mal retiré le polymachin délicatement avec un cutter puis reproduis ses dimensions avec du balsa taillé à la main. Le tour était joué il n’y avait plus qu’à remplacer la mousse par le bois en le collant. Quand il s’agit de ne pas me prendre la “teutê” je suis redoutable.
    En tout cas cette histoire de moteur commander par un potar externe est génial et pourquoi pas une sacrée économie. On va pouvoir parler en tonne.
    “Combien il peut porter ton bot à toi, ce gnome ? Le mien 7 tonnes mais en ce moment il n’est pas en forme. Et ton rat à 6 pattes, combien lui ?” Lol.
    Amicalement.
    Sy.

  • #5910

    Attention
    Les DC/DC de la vidéo et celui de la description chez MRL
    http://myrobotlab.org/service/diyservo
    n’ont pas les mêmes caracs.
    L’IBT4 de la vidéo supporte 18 Volts max, donc bon pour la majorité des perceuses sans fil.
    et le L298N dans la description chez MRL (http://myrobotlab.org/service/diyservo) ne supporte que 12 volts.
    Je viens de vérifier. Le prix n’est pas le même non plus le IBT4 coute about 11 euros. Le L298N abt 2 euros.
    SY

  • #6222

    Bon je reviens avec mes envies de manipuler les membres de ma créature à la main ou en réglant des potars de précisions (je ne lâcherai pas l’affaire c’est trop important comme improove) sans écrire une ligne de code. Voir vidéo de principe ici:

    J’ai eu qqs touche ici:
    myrobotlab.org/content/diyservo-poppy

    Et on en est ici
    Noz4r demande à Matt

    /*
    @matt is it possible to intercept the diyservo pin with a publishpinArray ?

    Or better I saw a getPos() is the service maybe it is enough…
    */

    Depuis plus de réponse. Qqun a-t’il any idea ? Il serait étonnant qu’MLRL ne note pas les valeurs du potar ou autre mémorisation de position.
    Bonne soirèe
    Sy.

  • #6223

    Dominique
    Participant

    Sylvain, pour faire un servo moteur il faut un PID, un driver de puissance PWM pour le moteur et un capteur de position (le potentiomètre).

    Le nouveau service servo DIY de MRL prend en charge le PID et il a besoin de la consigne (potentiomètre) en entées et il en sort la commande PWM pour la partie puissance qui commande le moteur. Pour activer tous ça il faut un minimum de ligne de code en Python.

    Enfin voilà, je vois pas très bien ton problème.

    Dom

  • #6229

    Gael Langevin
    Keymaster

    Il faut visualiser le DIY servo comme un servo standard. MRL DIYservo service va donc le prendre en charge.
    Ce que tu souhaites faire c’est tout simplement rajouter un potentiometre supplémentaire pour faire bouger le servo de manière manuelle. Au passage le GestureCreator rempli cette fonction mais en virtuelle, les potentiometres sont donc à l’écran au lieu d’être physique. L’intéret aussi c’est que tu peux donc mémoriser les séquences de mouvement afin de les ajouter dans ton script en y implementant, les vitesses mais aussi des paroles associées.

    Rajouter un potentiometre physique c’est comme si tu rajoutes un capteur de pression FSR ou de flection par exemple, il faudra le rajouter sur un pin(sensor) analog de la nervo board et determiner à quel servo ou DIYservo tu veux l’associer.

    Gareth en a fait une belle video avec Virtual InMoov:

  • #6231

    Merci c’est un chouette exemple. :O)
    Ou se trouve ce service DiyServo ? Il n’est pas dans la liste des services MRL. Même dans kraken ?
    Sinon ok je vais essayer de trouver le temps de voir ce GestureCreator.
    Bonne nuit.
    Sy.

  • #6236

    Abt DIY-Servo, cela s’éclaircit encore un petit peu pour moi. Voilà ce que m’a envoyé GroG
    /*
    Hi Sy,
    Yes MRL could memorize gestures with force feedback. Yes diyservos would be a
    great way to do this. At the moment it would be done with a Python script.
    Later it could be developed into a new service.
    If you have pots and motors you could help test.
    Regards
    Grog
    */
    Si qqun peut aider il ou elle est le/la bienvenue. J’ai très mal appréhendé le tps que je pensais pouvoir donner pour InMoov. InMoov plus compliqué et plus long à mettre en oeuvre que je ne le pensais et c’est le principe du téléphone sous la douche, dès que je cois pouvoir avoir le champ libre, qqun vient me voir, non amie veut sortir voir un spectacle ou dîner en Zamoureux pour faire des projets, ma fille “exige” :0) que je m’occupe d’elle, etc etc. Puis qd je rentre du job je suis rincé, j’essaie de “voler” des heures au boulot en lisant en douce mon “Python pour les grd mères”. Bref, j’attends les vacances des fêtes pour pouvoir faire un grd pas pour l’humanité :0) etc.
    Amicalement
    Sy.

  • #6243

    anthony
    Moderator

    Yo !

    Bientôt la lumière au bout du tunnel !
    Commence par faire un petit montage test.
    l électronique, les engrenages, un moteur, un potard et la carte qui va bien, afin de lancer le service de base de contrôle moteur par position.
    Après quand t es chaud étape 2

    @++

  • #7177

    anthony
    Moderator

    sylvain positionner à la main tes jambes, courant de puissance coupé, et noter les valeurs des positions qui vont s’afficher au fur et a mesure que tu bouge, cela peut il te suffire ?
    ( pour reproduire ensuite bien sure en automatiques les valeurs notés à la main )

  • #7185

    Bonnes zidées. Bon cela ne va pas être facile car en fait une jambe est commandé par un mvt de bassin côte gauche si c’est la jambe droite qui se lève et inversement. Pour le moment j’ai 4 moteurs par jambe mais il va en falloir plus ou des plus gros car c’est pas assez nerveux.
    Ex actuellement j’ai fait: Un mvt bassin –> un delay pour libérer le clips à ressort du pied –> un autre delay pour démarrer le moteur du genoux etc en ce moment. Là tt de suite en directe live je suis en train d’essayer de trouver un moyen d’augmenter le voltage de mon alim 18V à 24 volts pour faire ce que tu m’as dit “démarrer le moteur à pleine vitesse pendant un quart de seconde, et ensuite décélérer, ” De 24V, effet piston pour retour aux 18V. A caler (je démarre le bot accroupi(t)) c’est un enfer. Mais cela marche en tremblotant et pour le moment pour que cela fonctionne. le bruit implorants des moteurs feraient pleurer une statue. Le mvt de bassin est bcp trop important sinon tt tombe. Autre problème je n’arrive pas à faire garder une position aux jambes il faut qu’il bouge, sinon il se ré-accroupi comme un ballon de baudruche(?).
    Tt ça pour dire que même si il faut noter les positions avec son propre sang je suis preneur. Tant pis pour les simples boutons “Store” et “Build A Path Pos A to B” que j’espérai.

    A propos de
    “si oui nos amis ont, ou vont, implémenter pas mal de fonctions dédiées à cela. Il faudra peut être demander des précisions, si c’est bien ce que tu souhaite faire.”
    J’ai déjà tendu des perches à Matt. Que me conseillerais-tu de lui dire ? Je ne suis pas très diplomate.
    Sy.
    Merci de tt et bonne soirée.

  • #7189

    anthony
    Moderator

    La fonction clé pour cela est moteur.getPos() si je ne me trompe pas. Je ne sais pas si elle est implémentée et fonctionnelle on va se renseigner si c’est bien ce que tu veux.

    Attention quand je dis a pleine vitesse ne pas pas lui envoyer ce qu’il n’est pas capable de supporter. Juste ce qu’il est capable d’encaisser . Enfin on est la pour expérimenter fais toi plaisir ! Les servos encaissent du survoltage ponctuellement. peut être que 24 volt un quart de seconde ne va pas le tuer 🙂
    Pour gérer la vitesse il y a une fonction “setvelocity” plus pratique que de jouer avec l’alim en direct live.
    J’aime bien cette idée de clip , cela permet de positionner des partie du corp sans alimenter les moteurs!

You must be logged in to reply to this topic.