Aller au contenu


Photo
- - - - -

voiture télécommandée autonome


17 réponses à ce sujet

#1 Little french kev

Little french kev

    Membre occasionnel

  • Membres
  • Pip
  • 110 messages

Posté 07 juillet 2020 - 09:51

Avant d'etre confiné, avec quelques-uns de mes collegues de travail on profitait d'une zone vide du bureau pour joué avec des voitures téléguidées (desfois on travaillait aussi :D ) . En général on posait quelques obstacles ou bouts de scotch au sol pour créer un circuit . Les voitures étaient équipé pneus en plastique dur pour pouvoir drifter les virages .

Le but de ce projet est donc de créer une voiture télécommandée autonome . L'idée est de pouvoir enregistrer la position des obstacles mis au sol et faire en sorte que la voiture face le tour du circuit d'elle meme (Le plus vite possible) .  Je pense utilisé une IMU pour pouvoir calculer la position, direction et vitesse de la voiture par rapport au circuit .

Comme je n'avais pas envie de mutiler la voiture que j'ai déjà, j'ai décidé d'en concevoir une que je peux imprimer . J'ai privilégié la simplicité car je vais surment utilisé de l'apprentissage par renforcement sur Unity pour apprendre à une IA à conduire, il me faut donc quelque chose qui soit le plus "facile" possible a simuler .
Je suis donc parti sur une propulsion sans différenciel, sans suspension et avec aucune géométrie (carrossage, pincement, Ackermann....) . La géométrie de la crémaillaire (meme si il y en a pas ici) est faite de manière à ce que l'angle des roues avants soit égal à l'angle du servo de direction  .
Au niveau des proportions (empattement, voie, diamètre des roues...), j'ai prix les dimensions d'une Nissan silvia S15 et est tout mis à l'échelle 1/10 .

 

Pour ce qui est des differents composants, j'ai décidé d'utiliser ce qui trainait dans mes tiroirs . La seul chose que j'ai acheté est une courroie pour la transmission . Je ne sais pas trop si le moteur sera assez puissant pour ce que je veux faire .

3d_model.jpg

Les premières pièces ont été assemblées et montées . Jusque la, tout va bien !

steering_gif.gif



#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 384 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 07 juillet 2020 - 11:45

Tes roues de directions sont toujours parallèles?

 

Par curiosité : Pourquoi choisir un système propulsion + direction ? Et pas un système avec deux moteurs de propulsion droite gauche ? 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 

 

Les réalisations de Mike118  

 

 

 


#3 Microrupteurman

Microrupteurman

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 210 messages
  • Gender:Male
  • Location:Aquitaine,Gironde
  • Interests:Tout

Posté 08 juillet 2020 - 02:56

Je ne sais pas si un véhicule qui drift et suivre un parcours dont le robot aurai en mémoire la position des obstacles est compatible.

Il serai peut être plus judicieux de partir sur un lidar qui permet de connaitre les obstacles en temps réel et cela ne t'obligerai pas à avoir d’odométrie (meme si ça serai bien plus performant avec).

Une autre solution : un codeur sur le moteur, et pouvoir stocker ces donnés + position du servo, tu fait un tour en pilotant à la main, ca enregistre le trajet et ensuite ça le refait en auto.


 
Page Facebook : https://www.facebook...appartelier2.0/
Page Twitter :  https://twitter.com/2Appartelier (bateau seulement)
Boutique Robot-Maker : https://www.robot-ma...er-20/produits/

Besoin d'une impression 3D grand format ? Contactez moi !
 


#4 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 5 973 messages
  • Gender:Male

Posté 08 juillet 2020 - 06:55

Tes roues de directions sont toujours parallèles?

Par curiosité : Pourquoi choisir un système propulsion + direction ? Et pas un système avec deux moteurs de propulsion droite gauche ? 

Les questions de Mike posent bien les problèmes.

 

Si ton objectif n'est pas de faire une voiture, mais un mobile de reconnaissance de l'environnement, j'aurais opté pour un 4 roues bloqués fonctionnant comme un char, voir carrément un petit char.

Là, tu vas tu vas être obligé de gérer le déplacement d'une voiture qui n'est pas un mobile symétrique.



#5 Little french kev

Little french kev

    Membre occasionnel

  • Membres
  • Pip
  • 110 messages

Posté 08 juillet 2020 - 08:17

Tes roues de directions sont toujours parallèles?

 

Par curiosité : Pourquoi choisir un système propulsion + direction ? Et pas un système avec deux moteurs de propulsion droite gauche ? 

 

Ouai les roues sont toujours parrallèles(c'est pour ca que j'ai mentionné Ackermann), je sais que c'est pas idéal niveau performance vu que je vais avoir du glissement sur les roues avant pendant les virages . Je compte essayé d'entrainer l'IA en virtuel avant de lui mettre la vrai voiture entre les mains donc je suis parti sur le design que je pense etre le plus simple à simuler . Meme raisonnement pour les roues arrières, si les deux roues sont liées je n'aurai pas à me soucier au fait qu'elles ne tourne pas à la meme vitesse . 

 
Dans quasiment tout ce que je fais, le plan original ne se deroule pas comme prévu donc il y aura peut-etre des changement de conception au fur et à mesure .
Maintenant que tu le dis une future version avec un moteur dans chaque roue, ca pourrait etre plutot marrant!  :Koshechka_08: 
 

Je ne sais pas si un véhicule qui drift et suivre un parcours dont le robot aurai en mémoire la position des obstacles est compatible.

Il serai peut être plus judicieux de partir sur un lidar qui permet de connaitre les obstacles en temps réel et cela ne t'obligerai pas à avoir d’odométrie (meme si ça serai bien plus performant avec).

Une autre solution : un codeur sur le moteur, et pouvoir stocker ces donnés + position du servo, tu fait un tour en pilotant à la main, ca enregistre le trajet et ensuite ça le refait en auto.

 

Le fait d'enregistrer et de relire les positions de servo et de moteur ne me parait pas etre une solution très robuste, si les roues patinent ou que la voiture est poussée par un autre véhicule la trajectoire préenregistré sera decalée . De plus pour pouvoir enchainer les tours il faut réussir à enregistrer un tour qui commence et se termine au meme endroit, ca me parait difficile .
C'est pour ca que l'odométrie me parait vitale . En théorie si la position des obstacles est connue, il est possible de calculer le tracé du circuit (avec des courbes de Bézier ou autre), si la voiture connait sa position et sa direction il devrait donc etre possible de faire en sorte qu'elle suive le circuit . C'est comme ca que j'ai imaginé le problème, ca serai pas la première fois que je me plante  :ignat_02: .
Enregistrer le tracé du circuit en fesant un tour conduit à la main me parait une bonne solution .

Etant donné que les obstacle sont souvent des tracés au sol ou des objets pas forcement très hauts, Je ne sais pas si un Lidar aidera beaucoup à la détection des obstacles mais il serait certainement bien plus fiable pour déterminer la position de la voiture dans l'espace que le gyrospope+accéléromètre que je compte utiliser .
Malheureusement je n'en ai pas sous la main pour le moment (j'éssaye de faire avec ce que j'ai chez moi pour le moment .)

 



#6 Little french kev

Little french kev

    Membre occasionnel

  • Membres
  • Pip
  • 110 messages

Posté 08 juillet 2020 - 08:29

Les questions de Mike posent bien les problèmes.

 

Si ton objectif n'est pas de faire une voiture, mais un mobile de reconnaissance de l'environnement, j'aurais opté pour un 4 roues bloqués fonctionnant comme un char, voir carrément un petit char.

Là, tu vas tu vas être obligé de gérer le déplacement d'une voiture qui n'est pas un mobile symétrique.

 

Mon but dans ce cas est de faire une voiture qui doit évoluer sur une surface plate et lisse mais sur des circuits différents et de manière autonome . Pas de reconnaissance ici, une fois que le circuit est défini ya plus qu'à faire le tour le plus vite possible!  :)



#7 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 5 973 messages
  • Gender:Male

Posté 08 juillet 2020 - 10:26

Mon but dans ce cas est de faire une voiture

C'est donc bien une voiture que tu veux faire.



#8 Ludovic Dille

Ludovic Dille

    Habitué

  • Membres
  • PipPip
  • 180 messages
  • Gender:Male
  • Location:Belgique
  • Interests:Robotique, électronique, embarqué, informatique, ...

Posté 08 juillet 2020 - 12:25

 

Ouai les roues sont toujours parrallèles(c'est pour ca que j'ai mentionné Ackermann), je sais que c'est pas idéal niveau performance vu que je vais avoir du glissement sur les roues avant pendant les virages . Je compte essayé d'entrainer l'IA en virtuel avant de lui mettre la vrai voiture entre les mains donc je suis parti sur le design que je pense etre le plus simple à simuler . Meme raisonnement pour les roues arrières, si les deux roues sont liées je n'aurai pas à me soucier au fait qu'elles ne tourne pas à la meme vitesse . 

 
Dans quasiment tout ce que je fais, le plan original ne se deroule pas comme prévu donc il y aura peut-etre des changement de conception au fur et à mesure .
Maintenant que tu le dis une future version avec un moteur dans chaque roue, ca pourrait etre plutot marrant!  :Koshechka_08: 
 

 

Le fait d'enregistrer et de relire les positions de servo et de moteur ne me parait pas etre une solution très robuste, si les roues patinent ou que la voiture est poussée par un autre véhicule la trajectoire préenregistré sera decalée . De plus pour pouvoir enchainer les tours il faut réussir à enregistrer un tour qui commence et se termine au meme endroit, ca me parait difficile .
C'est pour ca que l'odométrie me parait vitale . En théorie si la position des obstacles est connue, il est possible de calculer le tracé du circuit (avec des courbes de Bézier ou autre), si la voiture connait sa position et sa direction il devrait donc etre possible de faire en sorte qu'elle suive le circuit . C'est comme ca que j'ai imaginé le problème, ca serai pas la première fois que je me plante  :ignat_02: .
Enregistrer le tracé du circuit en fesant un tour conduit à la main me parait une bonne solution .

Etant donné que les obstacle sont souvent des tracés au sol ou des objets pas forcement très hauts, Je ne sais pas si un Lidar aidera beaucoup à la détection des obstacles mais il serait certainement bien plus fiable pour déterminer la position de la voiture dans l'espace que le gyrospope+accéléromètre que je compte utiliser .
Malheureusement je n'en ai pas sous la main pour le moment (j'éssaye de faire avec ce que j'ai chez moi pour le moment .)

 

L'odométrie c'est très bien mais il y a plusieurs trucs à savoir:
- L'erreur est additive donc l'estimation de ta position va se dégrader au fur et à mesure
- Le glissement est un de tes pires ennemis donc ici si tu veux drift (et même juste avec la topologie de ta voiture) ça va être compliqué d'être précis.


Si tu recherches vraiment à améliorer ton calcul de localisation tu as besoin de 2 types de capteurs:
- proprioceptif cad des données sur ta voiture (odometre, imu, gyroscope, ...)

- extéroceptif cad des données sur ton environnement (Lidar, caméra, ...).
Et appliquer des techniques d'estimation - correction (comme kalman).
Dans ton cas le lidar semble compliqué (vu que les objets on peu de hauteur. Mais un capteur basé sur la vision (soit sur l'avant de ta voiture, soit qui surveille tout le circuit pourrait fonctionner). Je comprend que tu ne souhaites pas faire de la reconnaissance de terrain mais je pense que tu si tu veux rajouter de l'autonomie à ta voiture il faut qu'elle puisse detecter son environnement un minimum: une idée lancée comme ça: des détecteurs de couleur pour détecter les bords du circuit.

Bonne continuation dans ton projet :)



#9 Little french kev

Little french kev

    Membre occasionnel

  • Membres
  • Pip
  • 110 messages

Posté 08 juillet 2020 - 01:59

Merci pour les conseils Ludovic! :thank_you: 

Le probleme de l'IMU qui dérive c'est ma plus grosse inconnu pour le moment . J'ai un capteur BNOo55 qui en théorie est censé donner une position absolu . Je ne l'ai pas encore essayé donc je ne sais pas combien de temps il peut tourner avant de donner des résultats to erronnés .

Je pense que si je fini par choisir d'ajouter un lidar ca serai plus dans l'idée de corriger la dérive de l'IMU plus que pour détecter les obstacles . Le fait de faire ca en intérieur il devrait etre possible d'utilisé les murs de la pièce comme de points de repères .





 



#10 nate9595

nate9595

    Nouveau membre

  • Membres
  • 18 messages

Posté 07 mars 2021 - 10:09

C’est vrai que ce serait une bonne amélioration, par contre, il faudrait le faire sur-mesure pour la caméra (et vérifier que le champ de vision ne soit pas réduit).



#11 Laurent42

Laurent42

    Nouveau membre

  • Membres
  • 58 messages
  • Gender:Male
  • Location:LV-426
  • Interests:Intelligence artificielle, robotique, mathématiques, physique, algorithme

Posté 10 mars 2021 - 05:06

Hello

 

je suis à nouveau sur le forum depuis peu et je tombe sur ce message qui m’intéresse :) j'ai commencé il y a peu un projet semblable (que je lancerai sur ma chaine quand ce sera un peu abouti.)

Je suis parti plutôt sur un fonctionnement "char", donc pas de roues directionnelles; pas de lidar mais un realsense. Voila une photo du début de projet:

thumbnail3.jpg

Après je ne sais pas trop encore quel but lui donner, ca commencera surement par un mode "errance".

Je suis disponible si tu veux échanger sur ce type de projet !

 

Laurent



#12 Little french kev

Little french kev

    Membre occasionnel

  • Membres
  • Pip
  • 110 messages

Posté 10 mars 2021 - 09:22

Genial! J'ai hate de voir comment tu vas gérer toute la partie pilotage autonome . 

Malheureusement de mon coter j'ai eu beaucoup de travail et peu de temps pour mes projets ces derniers mois . Apres avoir experimenté avec deux IMU differentes (comme le dis Loduvic plus haut) sans un deuxieme type de capteur je n'ai aucun moyen de compenser la derive des IMU .

Je suis en train d'experimenter une technique utilisant la bibliotheque servant aux applications de realité augmenté (AR foundation) . La camera est pointé vers le plafond, l'idée étant suivre les deplacement du plafond pour determiner la position de la voiture sur le sol .

IMG_4014.JPG

IMG_4013.JPG



#13 Laurent42

Laurent42

    Nouveau membre

  • Membres
  • 58 messages
  • Gender:Male
  • Location:LV-426
  • Interests:Intelligence artificielle, robotique, mathématiques, physique, algorithme

Posté 11 mars 2021 - 09:22

Cette méthode a un coté poétique, regarder le ciel pour se guider, tel un navigateur.



#14 Little french kev

Little french kev

    Membre occasionnel

  • Membres
  • Pip
  • 110 messages

Posté 31 octobre 2021 - 08:07

Le project est toujours en cours, malheureusement je n'ai pas beaucoup de temps à y consacrer ducoup il avance très lentement .

J'ai entrainé un agent à conduire conduire une voiture virtuelle et lui faire passer des portes dans le bon sens . Un petit bras robotique réplique les mouvements de l'agent sur la télécommande . J'aurai surment pu me passer su bras robotique mais j'aivais envie d'éssayer de conserver la vrai voiture téléguider le moins modifié possible .
remotec9ntroller.gif

J'ai presque résolu mon problème de tracking de la vrai voiture en utilisant un system de realité virtuelle (HTC Vive) . C'est fou de voir à qu'elle vitesse on peut régler ce genre de soucis juste en dépensant de l'argent . 
tracking_test_1.gif

20211031_153444.jpg

La prochaine étape est de donner la position de la vrai voiture à l'agent et qu'il utilise la télécommande pour la contrôler .



#15 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 5 973 messages
  • Gender:Male

Posté 31 octobre 2021 - 09:24

Très impressionnant !

Bravo !



#16 Atmos

Atmos

    Nouveau membre

  • Membres
  • 45 messages
  • Gender:Male

Posté 01 novembre 2021 - 03:55

Vraiment très intéressant, félicitations, on attend la suite..



#17 Clément19

Clément19

    Nouveau membre

  • Membres
  • 1 messages

Posté 02 août 2022 - 02:59

J'ai eu l'idée d'intégrer un capteur de mouvement a mon robot roulant, que pensez vous de https://www.moussaso...uvement-vitesse



#18 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 5 973 messages
  • Gender:Male

Posté 02 août 2022 - 08:10

J'ai eu l'idée d'intégrer un capteur de mouvement a mon robot roulant, que pensez vous de https://www.moussaso...uvement-vitesse

Cela à l'air d'être un capteur de vitesse. 

Est ce bien le but que tu poursuis ? Connaitre la vitesse de ton robot.





Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users