Video 2016 :
Posté 20 juillet 2016 - 08:57
Merci ! ce n'est qu'un début !
Posté 21 juillet 2016 - 12:52
Ma chaine YouTube : https://www.youtube..../oracid1/videos
Posté 21 juillet 2016 - 02:38
Salut ! Il y a plusieurs aspect de mon robot niveau programmation ou je me dit c'est trop long, trop gros.. une démarche peut efficace les mouvements du robot sont un peu bizarre. Je voit pas comment faire quelque chose de bien structurer et je travaille sur deux cartes différentes qui ont toutes les deux des avantages et des inconvénients. (Mini Maestro 12 - Pololu et SSC-32 lynxmotion ). Je vais essayer de poster plus de video et mon code pour permettre a tout le monde de voir plus en détails mes réalisations bancale lol.
Posté 21 juillet 2016 - 03:42
Tiens, peux tu me dire les avantages et inconvénients de tes deux cartes stp, les deux sont pour contrôler les servo j'imagine voyant le nom de la première.
PS : même si tes réalisations sont bancale je trouve ça excellent et super sympa de les partager avec nous, perso je kiff ce monde de fou ^^
Posté 21 juillet 2016 - 08:46
En gros j'avais d'abord acheté la SSC-32, elle possède 32 fiche permettant de branché un servomoteur d'ou son nom ^^
Sinon elle est utilisée de base sur un robot de lynxmotion aussi un quadrupède lorsque tu veux faire faire quelque chose a ton robot rien de plus simple.
MonRobot.println("#0, P1500, T1000)
Grâce a sa tu fait bouger un servomoteur choisi a une position pendant un temps donné.Par contre défaut pour l'alimentation de la ssc-32 les connecteur sont fragile et se casse si tu le manipule de trop.
Contrairement a la Mini maestro de chez Pololu possédant tout pile 12 emplacement pour servo ^^ (il en existe des différentes ( 6, 8, 12, 24) Très pratique quand même. Le problème avec cette carte c'est que c’était moins simple que celle de lynxmotion j'ai du retranscrire le code plus haut en réalisant une concaténation de chaine jusque la ça va mais après les servomoteur lâchait la position alors que l'autre carte maintenait tout sa en place.. ^^ et je pense avoir régler le problème en mettant tout dans des boucles mais bon c’est bricolage. lol Puis y'a des protocoles de base a avoir mais ça va c'est donner sur leur site internet.
Posté 21 juillet 2016 - 09:17
Voila a quoi il ressemblait étant enfant :
[media][media]
Posté 22 juillet 2016 - 12:35
Oui un peu faut faire attention !
Je pense que je vais me refaire un robot comme le tout premier avec des composants plus léger, il marchera plus vite et se sera un peu plus marrant. Plus c'est lourd plus ton robot est dure a faire marcher ... enfin j'ai l'impression ^^
Posté 22 juillet 2016 - 12:44
Voici mon code :
( Si vous voyez des non-sens faite m'en part ! J'attend vos critique !)
#include <SoftwareSerial.h> int Numservo; /*******RAPIDE*******/ int Temps=50; int Temps2=100; int Temps3=400; /*******LENT******** int Temps=500; int Temps2=1000; int Temps3=2000; /******************/ void setup() { Serial.begin(9600); } void loop() { if (Serial.available() > 0) { char ch = Serial.read(); switch(ch) { case 'a': tibias(); debout(); break; case'b': for(int i =0; i <7; i++) { avancer(); } case'c': for(int i =0; i <4; i++) { tourner_droite(); } break; case'd': for(int i =0; i <4; i++) { tourner_gauche(); } break; } } } void Move(double Numservo, double mouvement, double temps) { String avancer = "#"; avancer.concat(String(Numservo,DEC)); avancer.concat("P"); avancer.concat(String(mouvement,DEC)); avancer.concat("T"); avancer.concat(String(temps,DEC)); Serial.println(avancer); } void debout() { for(int i=16 ; i<=28; i ++) { Move(i,1500,1000); } } void avancer() { /***********************ARR_DROITE******************************/ Move(17,2000,50); delay(Temps2); Move(16,1700,Temps); delay(Temps2); Move(17,1500,Temps); delay(Temps3); Move(16,1300,Temps3); /***********************AV_DROITE******************************/ //Move(19,1400,Temps); delay(Temps2); Move(20,2000,50); delay(Temps2); Move(19,1700,Temps); delay(Temps2); Move(20,1500,Temps); delay(Temps3); Move(19,1500,Temps3); /*************************ARR_GAUCHE****************************/ Move(23,2000,50); delay(Temps2); Move(22,1200,Temps); delay(Temps2); Move(23,1500,Temps); delay(Temps3); Move(22,1700,Temps3); /***********************AV_GAUCHE******************************/ //Move(25,1600,Temps); delay(Temps2); Move(26,2000,50); delay(Temps2); Move(25,1300,Temps); delay(Temps2); Move(26,1500,Temps); delay(Temps3); Move(25,1500,Temps3); } void tourner_droite() { /*************************ARR_GAUCHE****************************/ Move(23,2000,50); delay(Temps2); Move(22,1100,Temps); delay(Temps2); Move(23,1500,Temps); delay(Temps3); Move(22,1500,Temps3); /***********************AV_GAUCHE******************************/ //Move(25,1600,Temps); delay(Temps2); Move(26,2000,50); delay(Temps2); Move(25,1100,Temps); delay(Temps2); Move(26,1500,Temps); delay(Temps3); Move(25,1500,Temps3); /***********************AV_DROITE******************************/ //Move(19,1400,Temps); delay(Temps2); Move(20,2000,50); delay(Temps2); Move(19,1100,Temps); delay(Temps2); Move(20,1500,Temps); delay(Temps3); Move(19,1500,Temps3); /***********************ARR_DROITE******************************/ Move(17,2000,50); delay(Temps2); Move(16,1100,Temps); delay(Temps2); Move(17,1500,Temps); delay(Temps3); Move(16,1500,Temps3); } void tourner_gauche() { /***********************ARR_DROITE******************************/ Move(17,2000,50); delay(Temps2); Move(16,1850,Temps); delay(Temps2); Move(17,1500,Temps); delay(Temps3); Move(16,1500,Temps3); /***********************AV_DROITE******************************/ //Move(19,1400,Temps); delay(Temps2); Move(20,2000,50); delay(Temps2); Move(19,1850,Temps); delay(Temps2); Move(20,1500,Temps); delay(Temps3); Move(19,1500,Temps3); /*************************ARR_GAUCHE****************************/ Move(23,2000,50); delay(Temps2); Move(22,1850,Temps); delay(Temps2); Move(23,1500,Temps); delay(Temps3); Move(22,1500,Temps3); /***********************AV_GAUCHE******************************/ //Move(25,1600,Temps); delay(Temps2); Move(26,2000,50); delay(Temps2); Move(25,1850,Temps); delay(Temps2); Move(26,1500,Temps); delay(Temps3); Move(25,1500,Temps3); } void tibias() { Move(18,1470,Temps); Move(21,1470,Temps); Move(24,1470,Temps); Move(27,1470,Temps); }
Posté 22 juillet 2016 - 01:59
Peut-être que si tu mettais tout cela dans un fichier, cela t'éviterait de compiler à chaque fois.Voici mon code :
( Si vous voyez des non-sens faite m'en part ! J'attend vos critique !)
Ma chaine YouTube : https://www.youtube..../oracid1/videos
Posté 22 juillet 2016 - 02:37
Dans un fichier ? c'est à dire avec excel ? ou ?
Mettre les données dans un fichier quelque chose de constant qui ne change jamais alors ?
Mon plus gros problème c'est les mouvements exacte d'un quadrupède lorsqu'il tourne par exemple car il n'est pas stable et ça change rapidement a cause des répartition de masse rien qu'une pile 9v change un peu la donne.
nouvelle vidéo :
[media][media]
Posté 22 juillet 2016 - 06:22
Je ne suis pas tes clair...Dans un fichier ? c'est à dire avec excel ? ou ?
Mettre les données dans un fichier quelque chose de constant qui ne change jamais alors ?
Ma chaine YouTube : https://www.youtube..../oracid1/videos
Posté 22 juillet 2016 - 06:29
On peut faire ça avec un arduino ?
Posté 22 juillet 2016 - 06:36
Ah ! Effectivement! J'avoue mon ignorance.On peut faire ça avec un arduino ?
Ma chaine YouTube : https://www.youtube..../oracid1/videos
Posté 22 juillet 2016 - 06:53
salut Alex
En faite Oracid veut parler de MODULE ou librairie en arduino je pense , sinon avec l IDE arduino tu peux séparer tes differentes partie de programme avec des onglets (bouton carre avec un flèche vers le bas en haut a droite).
Voila bien longtemps que mon robot et dans le placard par manque de temps mais ton superbe robot me donne avis de mis remettre )
J'ai regardé ton programme qui ressemble beaucoup à mon premier ) par contre si je peux me permettre tu devrais t'intéresser à une programmation Asynchrone parce que les "delay" mettent tout ton programme en pause , pour l instant pas gênant mais quand tu vas vouloir le télécommander ou mettre en place une cinématique inverse tout un série de problème vont apparaître, même si le SSC32 compense avec la vitesse des servo , mouvement parasite, retard de mouvement, tremblement .......
Posté 23 juillet 2016 - 06:46
Non, en fait, je n'y connais rien...En faite Oracid veut parler de MODULE ou librairie en arduino je pense ...
Ma chaine YouTube : https://www.youtube..../oracid1/videos
Posté 23 juillet 2016 - 10:54
En premier Merci pour vos réponse !(Vaelan, Oracid), Path.. Puis en second se qui concerne Arduino, oui c'est vrai j'y est pas pensée à créer plusieurs fichier! Je l'avait fait pour mes précédent programme qui tournait avec un SDK arduino sous visual studio 2010.
Sa me fait plaisir que tu soit nostalgique Vaelan ^^ Mais tu voit bien sur la vidéo mon robot tremble comme si il avait Parkinson !! lol
Puis la cinématique inverse j'ai lu des pages de tutoriel différents mais je comprend toujours pas ... Je crois comprendre puis quand je crois avoir compris je remarque que en faite pas du tout lol
Le problème majeur c'est le manque de précision du robot vu que c'est moi qui rentre toute ces valeurs ....et aussi que je n'ai pas de capteur pour l'instant donc ces déplacement sont limité...
Puis comme dit la cinématique inverse entre Pythagore généralisé , Loi de Cosinus, Al-kashi, les matrices jacobiennes ... je connais plein de façon de le faire mais sa s’arrête la ^^
Bienvenue sur Robot Maker →
Conseils et aide aux débutants, livres et kits en robotique →
Arduino Uno v4 WifiDébuté par FrancoisA, 30 juin 2023 ![]() |
|
![]() |
||
Projets et réalisations, robots et machines en tout genre →
Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ... →
Robot quadrupède simple à un moteur - 1878Débuté par Thot, 02 janv. 2019 ![]() |
|
![]() |
||
Découvertes →
Contenu vidéo →
Dr Nozman lance une nouveau format de vidéo orienté robotiqueDébuté par Mike118, 08 déc. 2018 ![]() |
|
![]() |
||
Projets et réalisations, robots et machines en tout genre →
Lego →
Lego - Arduino Kame QuadrupedDébuté par Oracid, 26 nov. 2018 ![]() |
|
![]() |
||
Découvertes →
News dans le domaine de la robotique →
Général →
OpenCatDébuté par Ulysse, 26 févr. 2018 ![]() |
|
![]() |
0 members, 1 guests, 0 anonymous users