Aller au contenu


Contenu de Telson

Il y a 969 élément(s) pour Telson (recherche limitée depuis 26-mai 13)



#88473 Bras robot BCN3D Moveo de Donovan

Posté par Telson sur 08 octobre 2017 - 12:13 dans Bras 6 axes BCN3D Moveo

Règle en 3 !!! Elle est bonne celle là !!! Excuse moi. C'est la règle de proportionnalité ou produit en croix .....Désolé !!!

 

 

j'utilise deux tableaux contenant les anciens angles des servomoteurs et les nouveaux à atteindre et ces fonctions :

 

        //Calculs les variations des angles
        Var_Angle();
        //Recherche la variation des angles
        Rech_Var_Max();
        //Calculs la vitesse des servomoteurs
        Calcul_Speed();
        //TRANSFERT DES NOUVEAUX ANGLES DANS old angles
        Transfert_Angle();

 

Voici les fonctions :

 

////calcul des variations d’angle pour chaque servomoteur.
void Var_Angle()
{
        for (int i = 1 ;i<=18 ;i++)
        {
            VarAngle[i] = abs(OldAngle[i] - NewAngle[i]);
        }
}//FIN :: Void Var_Angle()

////////////////////////////////////////////////////////////////////////////////
////Calcul de la vitesse de chaque servomoteur
void Calcul_Speed()
{
    for( int i = 1; i <= 18; i++ )
    {
        if (VarMax==0)
        {
            Speed[i] = 0;
        }
        else if (VarMax>0)
        {

            Speed[i] = ( VarAngle[i] * SpeedMax ) / VarMax; // C'est ça la règle dès 3!!! heu non la règle en croix !!!
        }
    }
}//FIN :: Void Calcul_Speed()


/////////////////////////////////////////////////////////////////////////////////////
////Recherche de la variation maximale, avec la fonction Rech_Var_Max
void Rech_Var_Max()
{
    VarMax = 0 ;
        for(int i=1; i<=18; i++)
        {
                if(VarAngle[i] > VarMax)
                {
                VarMax = VarAngle[i];
                }
        }
}//FIN :: Void Rech_Var_Max()


///////////////////////////////////////////////////////////////////////////////////
////Transfère les nouveaux angles dans le tableau des anciens angles
void Transfert_Angle()
{
    for( int i = 0; i <= 18; i++ ) // for( int i = 1; i <= 18; i++ )
    {
            OldAngle[i] = NewAngle[i];
    }

}//FIN :: Void Transfert_Angle()

 

.......toute remarque et bonne à prendre ......




#88471 logiciel modélisation robot anykode

Posté par Telson sur 08 octobre 2017 - 12:01 dans Logiciels

HA ????

 

Je ne suis pas assez pointu pour comprendre ton code :

ModaCPP::DeviceServoMotor servoGenouDroit;
all_ze_servos.insert(std::pair<...>("genou_droit", &servoGenouDroit)); // notez le "&"

Qu'est ce donc que cette histoire de pair???

 

Pour piloter mes servo (12) il faut que je lès définisse et que je leurs transmette leur vitesse et leur angle ....

 

définition en global :

ModaCPP::DeviceServoMotor *pServoPivot_D;
ModaCPP::DeviceServoMotor *pServoHanche_D;
ModaCPP::DeviceServoMotor *pServoJambe_D;
ModaCPP::DeviceServoMotor *pServoGenou_D;
ModaCPP::DeviceServoMotor *pServoCheville_D;
ModaCPP::DeviceServoMotor *pServoMaleolle_D;
ModaCPP::DeviceServoMotor *pServoPivot_G;
ModaCPP::DeviceServoMotor *pServoHanche_G;
ModaCPP::DeviceServoMotor *pServoJambe_G;
ModaCPP::DeviceServoMotor *pServoGenou_G;
ModaCPP::DeviceServoMotor *pServoCheville_G;
ModaCPP::DeviceServoMotor *pServoMaleolle_G;

initialisation dans le main :

        //initialisation des variables servomoteurs Jambes Gauche
        pServoMaleolle_G=robot->QueryDeviceServoMotor("phx0/Hingecheville_G/maleolle_G/ServoMaleolle_G");
        pServoCheville_G=robot->QueryDeviceServoMotor("phx0/HingeCheville_G/cheville_G/ServoCheville_G");
        pServoGenou_G=robot->QueryDeviceServoMotor("phx0/HingeGenou_G/a1/ServoGenou_G");
        pServoJambe_G=robot->QueryDeviceServoMotor("phx0/HingeHanche_G/jambe_G/ServoJambe_G");
        pServoHanche_G=robot->QueryDeviceServoMotor("phx0/HingeHanche_G/hanche_G/ServoHanche_G");
        pServoPivot_G=robot->QueryDeviceServoMotor("phx0/HingePivot_G/a1/ServoPivot_G");
        //initialisation des variables servomoteurs Jambes Droite
        pServoMaleolle_D=robot->QueryDeviceServoMotor("phx0/HingeCheville_D/maleolle_D/ServoMaleolle_D");
        pServoCheville_D=robot->QueryDeviceServoMotor("phx0/HingeCheville_D/cheville_D/ServoCheville_D");
        pServoGenou_D=robot->QueryDeviceServoMotor("phx0/HingeGenou_D/a1/ServoGenou_D");
        pServoJambe_D=robot->QueryDeviceServoMotor("phx0/HingeHanche_D/jambe_D/ServoJambe_D");
        pServoHanche_D=robot->QueryDeviceServoMotor("phx0/HingeHanche_D/Hanche_D/ServoHanche_D");
        pServoPivot_D=robot->QueryDeviceServoMotor("phx0/HingePivot_D/a1/ServoPivot_D");

Et quand je veux envoyer les vitesses et les angles j'appelle la fonction servo :

//FONCTION MOUVEMENTS SERVOMOTEURS
void servo()
{
//pServoPivot_D,pServoHanche_D,  pServoJambe_D,  pServoGenou_D,  pServoCheville_D,  pServoMaleolle_D,  
//pServoPivot_G,  pServoHanche_G,  pServoJambe_G,  pServoGenou_G,  pServoCheville_G,  pServoMaleolle_G
                //FONCTIONS PASSAGE VITESSE ET ANGLE AUX SERVOMOTEURS
                ///////////////////////////////////JAMBE DROITE
                pServoPivot_D->SetEffectiveMaxVelocityDPS(Speed[1]);
                pServoHanche_D->SetEffectiveMaxVelocityDPS(Speed[2]);
                pServoJambe_D->SetEffectiveMaxVelocityDPS(Speed[3]);
                pServoGenou_D->SetEffectiveMaxVelocityDPS(Speed[4]);
                pServoCheville_D->SetEffectiveMaxVelocityDPS(Speed[5]);
                pServoMaleolle_D->SetEffectiveMaxVelocityDPS(Speed[6]);        
                ///////////////////////////////////JAMBE GAUCHE
                pServoPivot_G->SetEffectiveMaxVelocityDPS(Speed[13]);
                pServoHanche_G->SetEffectiveMaxVelocityDPS(Speed[14]);
                pServoJambe_G->SetEffectiveMaxVelocityDPS(Speed[15]);
                pServoGenou_G->SetEffectiveMaxVelocityDPS(Speed[16]);
                pServoCheville_G->SetEffectiveMaxVelocityDPS(Speed[17]);
                pServoMaleolle_G->SetEffectiveMaxVelocityDPS(Speed[18]);    
                ////PASSAGE DES ANGLES///////////////////////////
                ///////////////////////////////////JAMBE DROITE        
                pServoPivot_D->GoPositionDeg(NewAngle[1]);
                pServoHanche_D->GoPositionDeg(NewAngle[2]);
                pServoJambe_D->GoPositionDeg(-NewAngle[3]);///ATTENTION INVERSION DE SIGNE POUR LA CUISSE
                pServoGenou_D->GoPositionDeg(-NewAngle[4]);///ATTENTION INVERSION DE SIGNE POUR LE GENOU
                pServoCheville_D->GoPositionDeg(-NewAngle[5]);///ATTENTION INVERSION DE SIGNE POUR LA CHEVILLE
                pServoMaleolle_D->GoPositionDeg(NewAngle[6]);    
                ///////////////////////////////////JAMBE GAUCHE
                pServoPivot_G->GoPositionDeg(NewAngle[13]);
                pServoHanche_G->GoPositionDeg(NewAngle[14]);
                pServoJambe_G->GoPositionDeg(-NewAngle[15]);///ATTENTION INVERSION DE SIGNE POUR LA CUISSE
                pServoGenou_G->GoPositionDeg(-NewAngle[16]);///ATTENTION INVERSION DE SIGNE POUR LE GENOU
                pServoCheville_G->GoPositionDeg(-NewAngle[17]);///ATTENTION INVERSION DE SIGNE POUR LA CHEVILLE
                pServoMaleolle_G->GoPositionDeg(NewAngle[18]);

}

aie !!! aie !!! non pas les cailloux s'il vous plaît non !! non !!!! aie yeuuuuuuuuuuuu !!!!




#88467 Vidéos Bipèdes

Posté par Telson sur 08 octobre 2017 - 10:07 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

Sérieusement,

  • des capteurs de pressions : OUI
  • des gyro : OUI,
  • un gros tutos sur caméra et repérage d'objet : OUI et OUI
  • donc caméra : OUI



#88466 logiciel modélisation robot anykode

Posté par Telson sur 08 octobre 2017 - 10:03 dans Logiciels

RHOooooooooooooooooooooooooooo Punaise, tu serais du genre féminin j'te frais de gros bisous Léon !!!

Mais !! C'est bien sûr!!!

Déclarer les pointeurs en variables globales et les initialiser dans le main !!! Yé YAaaaaaaaaaaaaaaa !!!!

Non seulement mon programme vient de s'améliorer mais il est maintenant bien plus facile à lire!!! C'est carrément génial......Ho punaise de punaise..

Merci qui ???? Merci Léon !!!



#88463 logiciel modélisation robot anykode

Posté par Telson sur 08 octobre 2017 - 06:56 dans Logiciels

Salut Léon,
 

Edit modération : message déplacé
Oui bien sûr, je comprends bien ta démarche en terme de programmation et comme tu l'indiques à juste titre nous n'avons pas la prétention de détenir LA solution.......
 
Mais je pense qu'en croissant nos visions nous pourrons que améliorer nos programmes.

 
D'ailleurs en parlant de programme, sur Marilou une chose qui me saoule bien c'est la déclaration des pointeurs pour les devices.
 
Dans le main il est présent la déclaration des pointeurs pour chaque servomoteur ou autres :
 

//configuration des variables servomoteurs Jambes Gauche
        DeviceServoMotor *pServoMaleolle_G=robot->QueryDeviceServoMotor("phx0/Hingecheville_G/maleolle_G/ServoMaleolle_G");

 
Le problème c'est que lorsque tu appelles une fonction, à ce moment celle-ci ne connais pas ces pointeurs puisqu'il sont en local dans main.....c'est pénible je trouve car dès que tu appelles une fonction il faut passer tous les pointeurs :
 

initialisation(pServoPivot_D, pServoHanche_D,  pServoJambe_D,  pServoGenou_D,  pServoCheville_D,  pServoMaleolle_D,  pServoPivot_G,  pServoHanche_G,  pServoJambe_G,  pServoGenou_G,  pServoCheville_G,  pServoMaleolle_G);          

 
Et la fonction appelée :

void initialisation(ModaCPP::DeviceServoMotor *pServo1, ModaCPP::DeviceServoMotor *pServo2, ModaCPP::DeviceServoMotor *pServo3, ModaCPP::DeviceServoMotor *pServo4, ModaCPP::DeviceServoMotor *pServo5, ModaCPP::DeviceServoMotor *pServo6, ModaCPP::DeviceServoMotor *pServo13, ModaCPP::DeviceServoMotor *pServo14, ModaCPP::DeviceServoMotor *pServo15, ModaCPP::DeviceServoMotor *pServo16, ModaCPP::DeviceServoMotor *pServo17, ModaCPP::DeviceServoMotor *pServo18)

C'est la subterfuge que j'ai mis en place MAIS C'EST LOURD !!!
 
Serait t'il possible de faire autrement?????
 
Merci par avance.
 
++




#88460 WALK-E, Crowdfunding sur Ulule, Soutenez nous !!!

Posté par Telson sur 08 octobre 2017 - 03:44 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

C'était quand même un très très jolie résultat!!! Bravo !!!




#88459 Vidéos Bipèdes

Posté par Telson sur 08 octobre 2017 - 03:11 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

Des capteurs de pression sous les pied oui pourquoi pas et puis des gyro.....Et un grille pain dans le dos???




#88458 Projet de bipède - marche dynamique

Posté par Telson sur 08 octobre 2017 - 03:04 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

Ouch !!!! Bon je ferrais une deuxième lecture avant de poser des questions...

 

il existe déjà une très grosse différence avec ma programmation puisque dans la méthode décrite il n'y à pas de séquencement des mouvements......Pour me simplifier la vie je suis partie sur une logique de séquencement : j'incline à droite, lève, avance, pose pied gauche......

 

Cela peut paraitre plus simple dans un premier temps mais on se retrouve vite coincé quand on veux aller plus loin dans la gestion de l'équilibre.....




#88437 WALK-E, Crowdfunding sur Ulule, Soutenez nous !!!

Posté par Telson sur 07 octobre 2017 - 11:04 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

Salut Léon,

 

Ce serait vraiment bien si tu pouvais échanger sur ce que tu avais déjà fait en simulation....Tu avais déjà fait du très beau travail sur Marilou....




#88433 Lego - Mon robot pour la compétition du Toulouse Robot Race 2017

Posté par Telson sur 07 octobre 2017 - 08:01 dans Lego

Belle-maman sera bientôt là alors je lès nourris juste ce qu'il faut pour qu'il reste sur place!! 2/3 jours avant je coupe les vivres!!! C'est moche hein !!!




#88431 Lego - Mon robot pour la compétition du Toulouse Robot Race 2017

Posté par Telson sur 07 octobre 2017 - 07:18 dans Lego

:yahoo: :yahoo: :beach: :beach: :help: :help:




#88428 Lego - Mon robot pour la compétition du Toulouse Robot Race 2017

Posté par Telson sur 07 octobre 2017 - 06:16 dans Lego

Merci Oracid,

 

Excuse moi j'étais en mission ....Dans certaines îles il n'y à pas d'internet ...Et pas de 2G, 3G et encoire moins de 4G....donc coupé du monde ......

 

Je te remercie pour ces photos.....comme j'ai acheté un ensemble d'actionneur + EV3 en dehors d'un kit officielle je pense m'orienté vers ton véhicule qui est très simple et représente une très bonne base pour petit poulet......

 

Merci encore....

 

Bon et bien là je crois que c'est mort pour la baignade !!!

 

Spoiler

 

 

 

 




#88296 Et si on faisait une imprimante 3D ?

Posté par Telson sur 04 octobre 2017 - 08:51 dans Impression 3D et Imprimantes 3D

C'est ça, la tête de la vis et les écrous sont en contact uniquement avec la bague intérieure du roulement et ne frottent pas sur la bague extérieure!




#88293 Et si on faisait une imprimante 3D ?

Posté par Telson sur 04 octobre 2017 - 08:07 dans Impression 3D et Imprimantes 3D

Ouch très étroit tout ça.

Tu n'as pas beaucoup de choix : du côté de l'écarteur il te faut soit un épaulement qui ne frotte pas sur la bague extérieure de ton roulement ou une entretoise qui ne frotte pas sur la bague extérieure de ton roulement et une tête de vis qui ne frotte pas sur la bague extérieure de ton roulement.

Tu pourrais nous donner une photo de ton écarteur sans la poulie....




#88290 Imprimante TEVO Tarantula I3 3D

Posté par Telson sur 04 octobre 2017 - 07:45 dans Impression 3D et Imprimantes 3D

Un bon lien me semble t'il avec le pourquoi du comment des pignons 16 dents sont mieux ainsi que des courroies GT2, à dents rondes pour le top...

https://www.labsud.o...-ameliorations/

ensuite :


http://moczys.com/2014/03/18/calibrating-prusa-i3/
http://reprap.org/wiki/Calibration/fr
http://play.fallows.ca/wp/tools/3d-printer/calibrating-a-sunhokey-prusa-i3-3d-printer-kit/
https://www.makersho...e-guide-visuel/

https://www.simplify...roubleshooting/

https://www.makersho...-imprimante-3d/
https://www.makersho...-3d-apres-test/

Bonne chance ....



#88288 Lego - Mon robot pour la compétition du Toulouse Robot Race 2017

Posté par Telson sur 04 octobre 2017 - 07:29 dans Lego

Ok, je te remercie

 

En exemple ds le logiciel EV3....Tiens je vais regarder de ce côté la aussi...




#88286 Et si on faisait une imprimante 3D ?

Posté par Telson sur 04 octobre 2017 - 07:07 dans Impression 3D et Imprimantes 3D

Généralement, l'arbre possède un épaulement ou alors placer une entretoise dont le diamètre extérieur ne frotte pas contre la bague extérieure de ton roulement.

 

Côté vis il faut placer une rondelle de calage adaptée pour quelle ne frotte pas sur la bague externe du roulement.

 

Il est aussi possible d'utiliser le système rainures + circlips. Mais ce cas ne s'applique pas pour ton exemple car pas de rainure.

 

Je vais essayer de te trouver quelques images.....




#88284 Lego - Mon robot pour la compétition du Toulouse Robot Race 2017

Posté par Telson sur 04 octobre 2017 - 06:50 dans Lego

M'enfin??? Celui de ce sujet : #14




#88262 Les meilleurs vidéos LEGO

Posté par Telson sur 03 octobre 2017 - 08:22 dans Lego

Toujours aussi sympas à regarder cette vidéo....




#88261 Toulouse Robot Race 2017

Posté par Telson sur 03 octobre 2017 - 08:13 dans TRR : Toulouse Robot Race

C'est carrément génial de voir et de vous voir avec vos réalisations.

 

Il y avait des véhicules qui bombardaient sur la piste quand même !!!

 

Merci pour ces vidéos.....




#88260 Lego - Mon robot pour la compétition du Toulouse Robot Race 2017

Posté par Telson sur 03 octobre 2017 - 07:55 dans Lego

suite à l'achat des composants légo je recherchais quel type de véhicule j'allais monter avec mon fils .....Et je suis retombé sur ton modèle Oarcid...Et bien je vais faire le même véhicule........Il est super et mon fils la trouvé très sympas....bon d'accord il n'a que 7 ans !!! non je déconne.....Si tu pouvais m'envoyer qqes détails sur la structure ce serait génial pour moi (bcp de gain de temps)....

 

Merci par avance...




#88247 Bras robot BCN3D Moveo de Donovan

Posté par Telson sur 02 octobre 2017 - 06:37 dans Bras 6 axes BCN3D Moveo

C'est exactement ça.

 

En ce qui me concerne je prend la variation d'angle de chaque servomoteur. Je recherche la variation max et à ce servo, je lui attribue la vitesse max. Pour les autres je fais tout simplement la règle en 3 pour obtenir une proportionnalité.....




#88246 Le secret de la marche sur arte

Posté par Telson sur 02 octobre 2017 - 06:33 dans Général

Merci, je vais essayé de regarder cela le plus vite possible....




#88150 Robot Bipède Amhnemus

Posté par Telson sur 29 septembre 2017 - 10:29 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

Sur Anykode non pas vraiment car j'utilise qu'une infime partie de ses fonctions, uniquement envoyer des commandes à des servomoteurs virtuels, c'est tout....Il n'est absolument pas nécessaire d'avoir un gros niveau sur Anykode/Marilou....Heureusement !!!

 

Tout le reste ce fait en C++. Le plus compliqué c'est de comprendre la méthode de Denavit, de bien placer les repères.

 

Comme j'ai commencé à valider mes calculs matricielles sur Excel, je pourrais certainement faire quelques choses pour démystifier cette histoire là !!!




#88148 Robot Bipède Amhnemus

Posté par Telson sur 29 septembre 2017 - 10:12 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

@Telson pour ton bipède tu as pris les towerpro MG995, tu t'en sers toujours ? J'aimerais avoir ton ressenti dessus.

 

Alors j'ai acheté à deux reprises, chez deux fournisseurs différents mes MG995.

 

La première commande à été effectué sur un site très connu pour la vente en ligne que je ne citerai pas pour ne pas leur faire de la pub. Bref !!! La première commande de MG995 ( 5€:pièce) qui était à la réception des tawerPro MG995 s'est révélée très décevante....faible précision en position, peu ou pas de stabilité en maintien de position (vibration), incapable de supporter l'intensité au couple annoncé et des engrenages en beurre.....pour être polie !!!

 

La deuxième commande, directement chez le fabriquant (10€/pièce) : PARFAIT !!! Aucun problème cité ci-dessus rencontré ! Très satisfait !

 

La première chose que je pourrais te conseiller c'est quand même de surdimensionner tes servo car au couple max ça chauffe dur!!! EDIT : augmenter la tension permet de diminuer l'intensité et donc de diminuer la température des bouzins !!!

 

La deuxième chose c'est d'éviter absolument les PALONNIERS en plastique !! Tu prends des PALONNIERS alu ou alors tu vas vite le regretter....

 

Ensuite de très bonnes batteries, de très bons régulateurs et enfin en ce qui concerne la structure mécanique là en ce qui me concerne deux pistes :

 

  • soit tu es bon en modélisation et bon en I3D et tu fais tout toi même. Cela te consommera du temps à réfléchir sur la conception des pièces. Tu économiseras de l'argent mais alors pas spécialement ton temps surtout qu'il faut bien savoir qu'imprimer c'est très long !!!
  • soit tu achètes une partie de ta structure et tu bricoles le restant, dans l'optique de valider rapidement la mécanique, tes calculs, ton programme....Tu vas certainement dépenser plus mais tu passeras plus de temps à travailler sur ton projet que sur la conception et impression !!

 

Pour exemple j'ai commencé mon projet avec l'idée de tout créer............LONG !!! TROP LONG !! J'ai passé au début plus de temps à concevoir des pièces, à les imprimer pour m'apercevoir quelles étaient trop fragiles, trop souples, mal pensées ............Finalement je suis maintenant passé totalement à l'opposé !! Je ne fabrique plus rien, ne bricole plus à rien !! Je travaille uniquement la programmation et je valide mes développement par simulation sur AnyKode...HumaOne est dorénavant virtuel... Cela me convient très bien, plus de bigaille dans le salon, plus de galère de conception, d'impression, de structure, de batterie, de servo...........

 

Je travaille uniquement sur mon code...J'avoue cependant que je suis entre temps passé d'un programme qui envoyait des angles préprogrammé aux servo à une solution de calculs en "temps réel"........Donc méthode de Denavit-Hartenberg (matrice de passage direct et indirect)......Là je m'éclate et puis même quand tu n'as pas beaucoup de temps tu peux travailler sur ton projet sans devoir sortir tout ton équipement....si tu manques de place c'est assez sympa!

 

Alors cette façon de procéder me convient très bien et quand j'aurai validé mon modèle virtuel ou du moins l'essentielle je repasserai à la partie mécanique.....mais pas avant de savoir que je peux assurer un programme qui puisse mouvoir mon bipède!!

 

Attention, je ne dis pas que je possède la meilleur approche. c'est mon ressenti et d'autres personnes pourrait ne pas partager du tout ma vision et c'est entièrement normal....Avec le temps je me suis retrouvé à m'éclater d'avantage avec la programmation et la simulation que la production. Pour certains ce sera peut être l'inverse ou un mélange des deux.....Chacun voit son projet comme bon lui semble....Le principal c'est de trouver son plaisir....