Viewing 12 reply threads
  • Author
    Posts
    • #4935
      anthony
      Moderator

      Salut !

      J’ai commencé à changer mes 805BB par des CYS . Ce sont des servos en métal et digitaux.
      J’ai lu un post de Gaël un jour que je ne retrouve plus.
      Mon soucis, quand le servo est initialisé j’ai l’impression qu’il se positionne au point 0 à pleine vitesse. Et cela a pour conséquence de tout bousiller bien sure.
      J’ai l’impression que ça ne le fait pas pour tous les servos.
      Quelqu’un à une idée?
      Je pensais mettre une résistance dynamique pendant les 10 premieres seconde d’initialiastion du robot sinon
      Afin de ralentir la bestiole

    • #4936
      Christian
      Participant

      Salut Antony

      la commande servo.attach() peut prendre un parametre pour initialiser la position

      par exemple bicep.attach(arduino, pin, pos)

      Pas certain que ceci soit implémenter dans les services InMoov, je vais vérifier quand j’aurai un peu de temps.

      Il est aussi possible d’initialiser les services InMoov avant de les lancer. Regarde le script de Gael, je crois qu’il procede ainsi

      Christian

    • #4937
      anthony
      Moderator

      Salut Christan merci pour l’astuce ! je vais essayer le bicep.attach(arduino, pin, pos)
      J’ai tout déclaré pourtant avant d’effectuer la mise en tension ( positions et vitesse )
      J’ai l’impression que c’est une réaction interne au servo, enfin je vais retester tous ça pour être sûre. Te tiens au courant

      @+

    • #4939
      Christian
      Participant

      Il y a deux facon de démarer les services InMoov

      avec Runtime.createAndStart…
      et

      Runtime.create…
      set the parameters
      Runtime.start…

      J’ai pas la syntaxe exacte disponible avec moi maintenant, mais tu peux trouver dans le forum ou sur le site myrobotlab

    • #4991
      anthony
      Moderator

      Salut ! petit retour .

      Avec ceci :

      
      Arduino = Runtime.createAndStart("Arduino","Arduino")
      Arduino.connect("com3")
      from org.myrobotlab.service import Servo
      servo = Runtime.create("servo","Servo")
      servo.setSpeed(0.2)
      servo.setMinMax(20,160)
      servo = Runtime.start("servo","Servo")
      servo.attach(Arduino, 13, 90)
      

      Mon servo se positionne d’entré de jeu à la position demandée, c’est bien.
      Reste un problème il le fait à pleine vitesse ! et Inmoov va bientôt avoir besoin d’une minerve 🙂
      Alors j’ai joué avec plein de paramètres mais la je bloque…

      Et sinon j’ai peur de ne pas avoir le contrôle de la position initiale dans le service inmoov. Mais si la vitesse peut être baissée ce n est pas un soucis.
      De plus dans le service inmoov la commande startHead() fais une position 0 + 90 à a la suite. Double bobo !
      Testé sur le dernier mrlcomm et mrl

      • This reply was modified 8 years, 3 months ago by anthony.
      • This reply was modified 8 years, 3 months ago by anthony.
    • #4994
      Christian
      Participant

      essaie ceci avec la version 1679 (flash les arduinos)

      
      Arduino = Runtime.createAndStart("Arduino","Arduino")
      Arduino.connect("com3")
      from org.myrobotlab.service import Servo
      servo = Runtime.create("servo","Servo")
      servo.setMinMax(20,160)
      servo = Runtime.start("servo","Servo")
      servo.attach(Arduino, 13, 90, 5)
      

      le paramettre ajouté a servo.attach est pour la vitesse angulaire, exprimé en degré/sec

      • This reply was modified 8 years, 3 months ago by Christian.
    • #4998
      anthony
      Moderator

      Christian, tu as sauvé ma tête ! ça fonctionne parfaitement. C’est cool je peux continuer à utiliser ces servos. Du coup comment profiter de cette commande dans le service Inmoov. ( pour calmer la commande startHead()

      merci à toi

    • #5007
      Gael Langevin
      Keymaster

      Je ne sais pas si cette commande est nécessaire pour les nouvelles versions puisque les vitesses ont été modifiées pour ressembler aux vitesses de la version 1.0.107.
      Mais sinon, effectivement cela pourrait être pas mal de l’intégrer de manière à éviter des démarrage d’InMoov trop violent.

    • #5014
      anthony
      Moderator

      Coucou Gaël en effet je viens de tester la 1682 et c’est beaucoup mieux !

    • #5016
      Christian
      Participant

      1683, j’ai changer la précédure d’attache des servos des services InMoov. Donc dès que le servo sera attaché, il ira vers la position Rest() a la vitesse spécifié par setVelocity(). J’ai mis des valeurs par défault pour la vélocité.

      J’espère que ca vous aidera

    • #5020
      Gael Langevin
      Keymaster

      Merci Christian pour l’info.
      Tu parles des boutons de slider n’est-ce pas?


      @Anthony
      , je suis en train d’essayer d’insérer les éléments de traduction, aiml et py afin que tout le monde puisse traduire dans leurs langue. Je galère un peu car ton système n’est pas construit comme le mien au niveau config et emplacements de def. En fait tout fonctionne correctement. La mise en fonction du topic “translate” se passe correctement mais c’est lors de la commande de traduction que je me retrouve avec une erreur. Enfin encore un peu de recherche et je vais trouver le pb.

    • #5021
      Christian
      Participant

      Gael,

      Je parle lors de l’initialisation d’un InMoov par les services InMoov.

      Par exemple lors de i01.head.start(), le servo se déplacait rapidement vers la position 0. puis vers la position rest().

      Mon changement fait que le servo s’initialise vers la position rest(). Malheureusement, le controle de vitesse ne fonctionne pas a ce moment (a cause du fonctionnement de la librairie Arduino Servo)

      Lors de l’attach via les GUI (swing ou web) il semble avoir encore des tracas,je vais investiguer ca

      • #5028
        anthony
        Moderator

        @Gaël j’ai ouvert un post AzureTranslate et je t’ai fait un script démo pour azure avec le minimum vital : ( juste pour tester et faciliter l’intégration )

        http://inmoov.fr/forums/topic/service-azuretranslator/

        j’ai ajouté une boucle pour “réessayer” aussi car le service est parfois capricieux à répondre.


        @Calamity
        c’est génial je réessaye prochainement avec des vrais servos 🙂

    • #5031
      Gael Langevin
      Keymaster

      @Merci Anthony, je regarde immédiatement et te réponds sur le post concerné.


      @Calamity
      , Ah cela parait être parfait, il ne reste plus qu’à tester!

Viewing 12 reply threads
  • You must be logged in to reply to this topic.