Aller au contenu


R1D1

Inscrit(e) (le) 09 juil. 2012
Déconnecté Dernière activité déc. 03 2023 11:29
*****

#103837 "if" ou "switch case" ?

Posté par R1D1 - 11 juin 2019 - 02:30

Tu ne peux pas utiliser de switch/case ici: switch/case fonctionne sur des valeurs fixes pré-définies ou utilise le comportement par défaut. En gros, tu peux dire "variable == valeur", mais pas "variable < valeur". Tout cas non-défini correspond à "case: default".
Par ailleurs, je doute qu'on observe des différences de vitesse de traitement entre if/else ou switch/case; Si tu penses que tu as ce problème, tu peux utiliser millis() et calculer le temps passé à exécuter la condition.
Si tu veux simplifier le code, tu peux utiilser une multimap (qui fait en gros ce que tu fais là mais avec une fonction déjà implémentée.
Par ailleurs, un encodage plus efficace de ta comm serait d'avoir un seul encodage de ta valeur de vitesse (de 0 à 32, avec 0==0, 1=60, 32=255, ou de lire directement la valeur x et de calculer vitesse = 0.159 * x + 60) et d'envoyer un code pour le signe et le moteur (peut-être tout directement en binaire pour combiner les infos). La fonction que tu mappes est simplifiable (si la comm du RPi le permet).


#103578 mécanisme à double parallélogramme

Posté par R1D1 - 19 mai 2019 - 09:28

Bonjour,

 

À partir de la figure, un bon rapporteur devrait suffire.

Par le calcul, il faut exprimer les transformations entre les repères sous forme matricielle et multiplier le vecteur dont tu connais les coordonnées dans R1 pour les avoir dans R2. DH est une convention de placement des repères entre eux.

Pour résoudre l'exercise à ta place, je ne prends que 70€ de l'heure.




#103517 [Project] M.A.R.C.E.L

Posté par R1D1 - 15 mai 2019 - 07:01

À l'encontre de ta réponse dans l'autre topic sur les conseils aux débutants, ce robot ne servira à rien !

 

Plus exactement, il ne m'offre pas de fonction particulière. Le but est qu'il "vive" et anime mon bureau. C'est un espèce de défi à moi-même de finir un projet.

Après, l'expérience acquise et le contenu produit pour ce projet me serviront de base pour les autres projets en attente.




#103512 [Project] M.A.R.C.E.L

Posté par R1D1 - 15 mai 2019 - 03:50

Tu me fais envie ...

Tu veux en faire un ? :D

Les sources, design, etc. sont dispos sur github : https://github.com/r1d1/KarotzLikeBot. Et hasard du calendrier, j'en suis à exactement 42 commits. :)

marcel_github.png

OOuuaaiiisss vive tonton K :)

Oui, merci à lui, ça entretient ma motivation :)


#103473 [Project] M.A.R.C.E.L

Posté par R1D1 - 14 mai 2019 - 09:08

Fini le teaser, place aux infos !

 

Projet M.A.R.C.E.L

 

Comme l'a repéré Mike, MARCEL correspond à Minimalist Autonomous Robot Constantly Experiencing Life (encore que l'acronyme ne soit pas final). Détaillons un peu:

  • Minimalist : faisons simple, fonctionnel, autant que possible avec les composants disponibles, pour éviter l'échec du projet par perte de motivation.
  • Autonomous : le robot doit fonctionner selon une boucle sensorimotrice qui n'est pas contrôlée par l'humain (donc sans boutons, télécommande, ...). Au début, une simple boucle de contrôle. Ensuite, une machine à états basique. Pour les évolutions, on verra plus tard.
  • Robot : j'ai vraiment besoin d'expliquer ça ?
  • Constantly Experiencing Life : le robot doit fonctionner pendant une longue période de temps, idéalement une journée, avec des phases d'activité différentes. Les humains autour doivent pouvoir vaquer à leurs propres activités indépendamment de ce que fait le robot (et des fois, le robot ne fait rien), pouvoir interagir avec le robot et recevoir une forme d'engagement.

 

Genèse du projet (on dit "origin story" pour les djeunz) : quand on est gamin, on a pas la même notion des choses qu'un adulte. Ça fait longtemps que je sais que je veux faire de la robotique, et un de mes oncles, appelons-le tonton K, m'a fait promettre, quand j'étais petit, que mon premier robot serait pour lui. Des robots, j'en manipule régulièrement, mais je n'en ai jamais vraiment construit un de A à Z. La v3 de mon plus vieux projet, Froggy, démarré en 2012, traîne démontée dans une boite depuis deux ans. J'ai revu tonton K à Noël dernier et il m'a rappelé sur le ton de la blague ma promesse.

 

Challenge accepted ! MARCEL is coming.

 

IMG_20190511_190251.jpg




#103471 Robot Bipède Amhnemus

Posté par R1D1 - 14 mai 2019 - 09:01

La légende dit que pour ce genre de compétition, on recompile son code jusqu'à 5mn avant la compétition ;)


#103450 Au bistrot du coin ...

Posté par R1D1 - 12 mai 2019 - 11:40

ça peut-être : https://www.robot-ma...e-artificielle/ ?




#103402 Coupe de France de Robotique 2019 Thème règlement CAO Astuces

Posté par R1D1 - 10 mai 2019 - 10:40

Et paf !




#103350 Glenn Robot Humanoide

Posté par R1D1 - 08 mai 2019 - 02:32

Salut les Maker's, je me posais la question de savoir si le HC-SR04 serait l'idéal pour la détection d'obstacles d'après vous ?

Je l'ai placé sur Glenn pour voir avec sont cône de détection...
 
Ou alors existe t'il un autre moyen de détecter des obstacles sur un champ plus large ?

Le truc qui m'aurait plu et la projection de points pour obtenir un certains relief de se que le robot peu détecter (chose que j'aimerais bien pouvoir intégrer au niveau de la cam de Glenn).
 
(...)


Pour faire plaisir à Mike (désolé si le propos est un peu mélangé, c'est une transcription feignante de ma réponse sur le Discord) ;) :

Si tu veux juste mesurer la distance au sol/vers l'avant (pour détecter un obstacle) un seul capteur est en général suffisant. Le robot ne saura pas ce qu'il a sous les pieds à ce moment, mais comme le capteur regarde devant lui, il aura toujours l'info de s'il y a un trou là où il va aller.

Par contre, ce genre de capteur (HCSR04, VLX, infrarouge, etc ...) donne une mesure ponctuelle (pas exactement, mais c'estce qu'on suppose), dans une direction theta. Donc pour avoir une mesure dans la direction theta+1°, il faut ré-orienter le capteur/le robot, ou mettre plusieurs capteurs fixes dans des directions différentes en faisant attention à ce qu'ils n'aient pas d'interaction (e.g. ultrason ou infrarouge). Pour avoir tester un capteur US monté sur un servo sur Froggy (voir ici: https://www.youtube....h?v=w7kXEE_CMCU), je recommande les multiples capteurs fixes, parce que faire tourner le servo, faire une mesure et recommencer, c'est long par rapport à la vitesse de commande des moteurs, et si le robot bouge pendant ce temps, on ne sait plus vraiment dans quelle direction réelle la mesure est faite. Avec deux capteurs, on a juste à les lire pour avoir deux infos cohérentes.
La version ultime de la première option (qui résout le problème que j'évoque), ce sont les lasers rotatif type RPLidar, Hokuyo LX30, qui font tourner un capteur ou un miroir très vite à 360° pour avoir un profil dans toutes les directions.
Ces capteurs mesurent dans le plan orthogonal à l'axe de rotation, si tu veux mesurer tout l'espace devant le robot, il faut faire tourner le capteur sur lui-même (pour mesurer dans le plan) puis dans la troisième direction (orthogonale au plan de rotation).
La solution "cheap" (mais très lente), c'est d'avoir un capteur HCSR04 sur une tourelle pan-tilt. Une phase de mesure revient à positionner les servos dans toutes les combinaisons d'angles voulues et faire une mesure de distance avec le capteur. Mais attention, même problème que j'évoquais plus haut: si le robot bouge avant d'avoir fini un scan, les données seront incohérentes.
Solution alternative: utiliser une camera type Kinect qui te renvoie directement l'image et l'image de profondeur de là où vise la caméra. Voir Xtion, Intel Realsense pour des capteurs similaires.
Bien évidemment le prix augmente en conséquence :)

[href^="http://www.roboform.com/php/land.php"]
{display:none !important;}


#103349 [Project] M.A.R.C.E.L

Posté par R1D1 - 08 mai 2019 - 02:18

#LeTeasingCEstBonMangezEn

PourLeBienSupreme.png

Quelques tests d'impression d'engrenages et de pièces de structure à combiner avec des vis.
IMG_20190505_182347.jpg


#103312 Simulation Matlab

Posté par R1D1 - 03 mai 2019 - 02:46

Bonjour,

Expliquer le fonctionnement d'un réfrigérateur n'a rien à voir avec Matlab. Merci d'ajouter une petite description de l'état de tes recherches actuelles et des questions précises sur ce que tu ne comprends pas.

Pour ce qui est des cours particuliers, je prends 55€ de l'heure. 125€/h pour la résolution de devoir. J'ai des projets de robot à financer !


#103280 Projet de fin d'année Très important

Posté par R1D1 - 01 mai 2019 - 10:49

Donc en gros, il faut un module GPS?

Il faut une méthode de localisation qui s'appuie pas que sur la commande du robot mais sur des éléments de l'environnment. Donc soit la position GPS, soit une estimation par SLAM avec un laser ou une caméra par exemple.

L'autre technique (que je ne recommande pas ;) ), c'est des déplacements aléatoires dans la zone ; au bout d'un temps, le robot aura couvert tout l'espace, mais le temps tend à l'infini (et la crise écologique est déjà là). Voir la méthode des robots Roomba.




#103184 Présentation

Posté par R1D1 - 25 avril 2019 - 10:19

Si tu as une imprimante 3D ou un fablab pas loin de chez toi, tu peux regarder les projets Poppy et InMoov pour fabriquer "rapidement" un corps et te concentrer sur le logiciel.


#102996 Projet de fin d'année Très important

Posté par R1D1 - 12 avril 2019 - 12:38

je le sais trés biens, je voulais juste un avis personnellement. Car sa la 3ème fois que je rame a cause d'une carte et que je recommence tous
et super sympa votre site sa m'a beaucoup aidé :clapping:


N'hésite pas à poster ton essai ici et on se fera un plaisir de t'aider ! Pour éviter de cramer ta carte, tu peux travailler avec un simulateur comme ceux listés dans cette page :
https://www.developp...lation-arduino/
Par exemple :



#102978 Projet de fin d'année Très important

Posté par R1D1 - 11 avril 2019 - 10:33

Voici la meilleure aide que l'on peut t'apporter :

- Arduino + capteur ultrason : http://bfy.tw/NBfd

- Arduino + capteur humidité : http://bfy.tw/NBfi

 

Pour rappel, ce n'est pas aux membres du forum de faire ton projet, surtout un projet scolaire.À toi de chercher, essayer, apprendre et comprendre ce que tu fais.

 

(accessoirement, il y a des exemples pour ces deux capteurs dans l'IDE arduino et/ou sur le site Arduino)