Aller au contenu


Photo
* * * * * 1 note(s)

BOB4 - DRONE!


  • Veuillez vous connecter pour répondre
98 réponses à ce sujet

#81 Leon

Leon

    Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 285 messages
  • Gender:Male

Posté 05 septembre 2011 - 09:38

Pour le reste, 10Hz est clairement dans le bas de la fourchette sur ce genre de systeme.

L'asservissement tourne à 20Hz. Les 10Hz, c'est uniquement les mesures sonar. L'observateur tourne à 20Hz, les mesures de la centrale inertielle à 120Hz. Regarde bien mon site pour plus de détails, j'ai expliqué pas mal de choses!
http://heli.bot.free.fr/

Y'aurais bien la possibilité de passer sur un PIC, ou si ca ne te fais pas peur, un ARM Cortex-M3 (j'utilise des STM32F2xx).

Là, je ne te comprend pas trop. Pourquoi je devrais changer d'électronique? J'ai fait quand même un certain nombre de vols autonomes. Donc ça prouve que ça fonctionne, même avec cette électronique peu adaptée au "temps réel". Donc pourquoi changer? Je n'ai aucune envie de faire un truc performant qui va se déplacer vite. Juste un drone capable d'être autonome dans un environnement intérieur. Et c'est déjà pas mal, comme objectif, non?

Tu penses que les 20Hz de raffraichissement de l'observateur et de l'asservissement sont insuffisants? Tu as des expériences similaires avec des asservissements trop peu raffraichis? Je te rappelle que l'hélico un bi-rotor relativement mou à la base, et qui embarque en plus un petit sur-poids.

C'est déjà un projet qui me prend beaucoup (trop) de temps... donc refaire l'électronique, me ré-approprier un nouvel environnement, tout re-coder, je ne pense pas que ce soit une bonne idée. Ca signifierai juste la mort du projet faute de temps pour le finir!

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#82 Otatiaro

Otatiaro

    Membre occasionnel

  • Membres
  • Pip
  • 135 messages

Posté 06 septembre 2011 - 08:30

Salut,

Je ne remet pas en doute tes résultats une seule seconde.
Je dis juste que en travaillant avec des outils plus adaptés à ton utilisation (C/C++ bare metal, et pas C# interpreté), tu aurais beaucoup plus de latitudes et de marge pour tester différentes choses.

Le gain le plus facile sur un asservissement, c'est d'augmenter "gratuitement" la fréquence de rafraichissement, sur un hélico RC jusqu'à 500Hz on sent une amélioration (sur la vidéo youtube que j'ai mise, l'asservissement fonctionne à 500Hz). A partir de 50/100 Hz ca devient déjà bon.

J'ai un poil d'experience dans ce genre d'asservissement, oui, la vidéo du dessus, c'est moi qui concoit la stabilisation electronique.
Bien sur les performances attendues ne sont pas les mêmes sur l'asservissement lui même, mais ton étage de navigation se base sur ce que lui dit l'étage d'asservissement de l'IMU, or il ne sert à rien de batir une muraille sur un terrain pas très stable, je pense que tu gagnerais à optimiser ton asservissement.

Pour le côté mange temps, je connais, j'ai moi même changé de plateforme mon projet y'a pas si longtemps (PIC24 => STM32F2xx), c'est un peu long et surtout chiant (de devoir se retaper du code qu'on prenait pour acquis), mais une fois que c'est fait, on profite des avantages de la nouvelle plateforme et c'est que du bonheur.

Une autre voie d'exploration c'est ta fusion de capteurs ... je n'ai pas vu d'infos par rapport à ce sur ton site, tu les fusionne comment?

Thomas.

#83 Leon

Leon

    Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 285 messages
  • Gender:Male

Posté 06 septembre 2011 - 06:43

sur un hélico RC jusqu'à 500Hz on sent une amélioration (sur la vidéo youtube que j'ai mise, l'asservissement fonctionne à 500Hz).
[...]
J'ai un poil d'experience dans ce genre d'asservissement, oui, la vidéo du dessus, c'est moi qui concoit la stabilisation electronique.

Pourquoi ne pas avoir dit tout ça du premier coup? Tu sais, le concept de flybar-less ne signifie rien pour 99% des gens ici. Donc c'était difficile de comprendre ce que venait faire la vidéo dans le débat. Je ne connais pas grand chose en aero-modélisme. J'ai appris à voler avec des engins simples il y a 2 ans (Walkera CB100 et Lama V3) uniquement pour pouvoir réaliser ce projet! D'ailleurs, est-ce que tu ne pourrais pas nous présenter ton projet de haut vol (!) dans un post dédié?

mais ton étage de navigation se base sur ce que lui dit l'étage d'asservissement de l'IMU, or il ne sert à rien de batir une muraille sur un terrain pas très stable, je pense que tu gagnerais à optimiser ton asservissement.

Là, je ne suis pas sur que l'on se soit bien compris sur le principe d'asservissement de mon BOB4. Chez moi, c'est l'estimation de position 3D qui sert à l'asservissement. Oui, j'asservit bien directement la position 3D, comme expliqué sur mon site. Je ne m'occuppe absolument pas d'asservir les angles de roulis et de tangage, je m'en fout complètement.

Pour expliquer ça un peu mieux, je vais faire la comparaison avec les drones autonomes faits à base de quadri-rotor ou d'hélico instables. Pour ces engins, on fait 2 asservissements imbriqués (c'est ce que j'ai lu dans les nombreux docs que j'ai trouvé sur le sujet):

1) assevissement "bas niveau" pour stabiliser l'hélico (ou quadri) en roulis, tangage et lacet. On asservit des angles. Je pense que c'est le même principe sur le gyroscope "flybarless" que tu développes (grosse performance, au passage, respect). Les quadri-rotor et les hélico sans fly-bar sont des mécaniques fortement instables, qui sont quasiment impossibles à stabiliser "en manuel" sans aide électronique. Je pense qu'on peut faire le rapprochement. Cet asservissement doit être très rapide (plus de 100Hz sur les quadri), performant.

2) l'asservissement "haut niveau" qui asservit la position 3D en commandant les angles, et donc en envoyant des consignes d'angles à l'asservissement "has niveau". Cet asservissement n'a pas besoin de tourner à une fréquence aussi élevée que le premier. Cet asservissement manipule la position, qui a des dynamiques plus lentes que les angles de roulis et tangage.

Maintenant, prenont un hélico bi-rotor avec une grosse flybar, comme ce que j'utilise. Cet hélico est naturellement très stable! Il ne se retournera jamais si on laisse le manche au centre. Il est donc inutile d'asservir les angles de tangage et de roulis. C'est comme si la position du manche (plateau cyclique) déterminait directement l'angle de roulis et tangage. Comme si l'asservissement "bas niveau" était déjà fait par la mécanique. Donc je ne fait que l'asservissement "haut niveau". Le seul angle que j'asservit est l'angle de lacet (l'orientation du drone), mais qui a une dynamique lente et vraiment facile à asservir.

Les informations des angles de roulis et de tangage me servent uniquement de variables intermédiaires pour construire la position, pour interpréter correctement les données des accéléros, des sonars, de la caméra, et de la boussole (données qui dépendent toutes de l'inclinaison). Elles ne servent pas du tout à l'asservissement.

Bref, mon approche est assez différente de ce qu'il se pratique de manière conventionnelle.

Tu es d'accord avec mon analyse, ou pas?

Une autre voie d'exploration c'est ta fusion de capteurs ... je n'ai pas vu d'infos par rapport à ce sur ton site, tu les fusionne comment?

Je pense avoir décrit ça pas trop mal dans la partie algo. Tout ce qui touche aux recalage, aux parties "basse fréquence" et "haute fréquence". C'est ça: de la fusion capteurs. Je ne suis pas clair sur mon site?

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#84 Otatiaro

Otatiaro

    Membre occasionnel

  • Membres
  • Pip
  • 135 messages

Posté 06 septembre 2011 - 09:28

Salut,

Je te trouve bien sur la défensive, je ne critique absolument pas ton projet, je donne simplement des idées sur des voies possibles à explorer.

J'ai bien compris que tu comptais sur la stabilité naturelle du coaxial, mais comme tu l'explique, il y a deux asserivssement imbriqués, et de fait, ton asservissement de haut niveau ne peux pas être plus rapide que l'asserivssement de bas niveau, c'est mathématique, donc si tu améliores le temps de réponse du bas niveau, ton haut niveau n'en sera que plus efficace et tolérant.

Pour la fusion de capteurs, je parlais surtout de la fusion 6 axes entre acceléros et gyros ... les acceleros sont très sensibles aux vibrations et les gyros driftent (plus ou moins), avec une bonne fusion on peut garder le meilleur des deux mondes (en fait on se sert des gyros pour filtrer les parasites des acceleros).

C'est le même principe que ton recalage, et ca donne de très très bons résultats.

Thomas.

PS : je ne peux pas parler de mon projet pour le moment, quand il sera sur le marché je pourrais en dire un peu plus ...

#85 Leon

Leon

    Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 285 messages
  • Gender:Male

Posté 07 septembre 2011 - 05:39

J'ai bien compris que tu comptais sur la stabilité naturelle du coaxial, mais comme tu l'explique, il y a deux asserivssement imbriqués, et de fait, ton asservissement de haut niveau ne peux pas être plus rapide que l'asserivssement de bas niveau, c'est mathématique, donc si tu améliores le temps de réponse du bas niveau, ton haut niveau n'en sera que plus efficace et tolérant.

Non, tu n'as pas bien compris mon explication : Je n'ai PAS DU TOUT d'asservissement bas niveau sur BOB4! Que le haut niveau!

Rappel du post ci dessus:

Il est donc inutile d'asservir les angles de tangage et de roulis. C'est comme si la position du manche (plateau cyclique) déterminait directement l'angle de roulis et tangage. Comme si l'asservissement "bas niveau" était déjà fait par la mécanique. Donc je ne fait que l'asservissement "haut niveau".


Et extrait de mon site web:
http://heli.bot.free.fr/algo_2.html
PIDs.GIF

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#86 Otatiaro

Otatiaro

    Membre occasionnel

  • Membres
  • Pip
  • 135 messages

Posté 07 septembre 2011 - 07:56

Salut,

Non, tu n'as pas bien compris mon explication : Je n'ai PAS DU TOUT d'asservissement bas niveau sur BOB4! Que le haut niveau!


Que tu le veuilles ou non, tu as un asservissement de bas niveau, sauf qu'il est mécanique, je ne vais pas te faire toute l'analogie point par point, mais le fait que le coaxial soit stable, c'est parce qu'il y a un asservissement en boucle fermée, sauf qu'il est mécanique (et c'est un asservissement P surtout, quasi pas de I et D).

D'ailleurs tu le marques toi même "Comme si l'asservissement "bas niveau" était déjà fait par la mécanique" ... c'est pas comme si, c'est exactement ca.

Sauf que ton asserivssement mécanique, il est suffisant pour qu'un pilote débutant puisse s'amuser, mais pour être controlé par un autre asservissement (ton "haut niveau"), il n'est pas assez rapide ni assez précis. D'ou ma piste d'exploration de booster electroniquement cet asservissement pour améliorer l'asservissement qui en dépend.

D'ailleurs quand on y pense, il y a encore un asservissement à l'étage d'en dessous ... dans les servos, il y a un asservissement d'angle ou de position, intuitivement, on comprend bien que si les servos sont vraiment nazes, le pilote aura beaucoup plus de mal à faire tenir l'hélico en l'air, toujours à se batter avec la mauvaise réponse des servos. Bah là c'est pareil, ton asserivssement de haut niveau passe son temps à se battre contre le mauvais asservissement - mécanique - de ton hélico.

Maintenant ca fait 3 fois que je me fais rembarrer sans plus de délicatesse, à coups de "mais t'as pas lu mon site!", de phrases en majuscules, d'absence de bonjour, tu ne répond pas à mes questions (fusion des capteurs 6 axes?), etc. Je ne suis en aucun cas ici pour "démonter" ton projet, je suis revenu sur Robot Maker pour faire profiter un peu de ma récente experience dans ce genre de domaines (plus ou moins récente d'ailleurs), si tu n'accepte ni les critiques ni les remarques, je passe à autre chose, mais je trouve ca dommage.

Thomas.

#87 Leon

Leon

    Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 285 messages
  • Gender:Male

Posté 07 septembre 2011 - 06:30

Je ne t'ai pas rembarré...
Je ne suis pas forcément d'accord techniquement avec ce que tu dis, et on un peu de mal à se comprendre. C'est normal, on ne peut pas toujours être d'accord, ni se comprendre du premier coup. Le débat reste ouvert, la discussion est intéressante. Si j'ai pris le temps de te répondre longuement, c'est justement que je souhaite que le débat continue, non?
Et puis, non, je ne dit pas toujours "bonjour" sur un forum, et très peu de gens le font systématiquement, et ça ne froisse personne d'habitude.

Tu m'as parlé plusieurs fois d'améliorer l'asservissement bas niveau, ou asservissement IMU. Or, je n'ai pas d'asservissement bas niveau. Donc c'est pour ça que je t'ai repris plusieurs fois, c'est tout. Je pensais que tu n'avais toujours pas compris le fonctionnement de BOB4.
Voici ce que tu mettais encore dans ton avant-dernier post.

mais comme tu l'explique, il y a deux asserivssement imbriqués, [...] donc si tu améliores le temps de réponse du bas niveau, ton haut niveau [...]

***************

Maintenant, pour en revenir à la technique,

Sauf que ton asserivssement mécanique, il est suffisant pour qu'un pilote débutant puisse s'amuser, mais pour être controlé par un autre asservissement (ton "haut niveau"), il n'est pas assez rapide ni assez précis. D'ou ma piste d'exploration de booster electroniquement cet asservissement pour améliorer l'asservissement qui en dépend.

OK, donc tu me proposes de faire comme la méthode classique utilisée sur les quadri-rotors autonomes avec 2 asservissements imbriqués. Désolé, mais dans tes précédents posts, je n'avais pas du tout compris que tu me proposais ça. Encore une fois, c'est une GROSSE remise en cause de mon soft, donc c'est clairement NON pour l'instant. Toujours pour le même argument de manque de temps. L'autre argument c'est que j'ai déjà commencé à faire marchotter mon truc. Si je n'arrive vraiment pas à m'en sortir avec mes choix actuels, j'y penserai sérieusement, mais pas pour l'instant!

Par contre, je vais tester le fait d'augmenter la fréquence de mon unique asservissement "haut niveau". En simulation d'abord, pour voir si ça sert à quelque chose. La simu montre vraiment beaucoup de choses, j'ai été assez étonné.

Pour la fusion capteur accéléro et gyro, laisse moins un peu de temps pour analyser et répondre. J'ai tout juste téléchargé de la doc pour comprendre comment c'est fait de manière classique entre accéléro et gyro.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#88 Leon

Leon

    Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 285 messages
  • Gender:Male

Posté 09 septembre 2011 - 09:16

Je continue à répondre à Otatiaro.
Suite à tes conseils sur l'utilité d'introduire un asservissement "bas niveau" qui contrôlerai les angles de roulis et tangage, j'ai fait plusieurs choses pour analyser ça:

1) j'ai analysé des enregistrements (vidéos + données Matlab) que j'avais. Je constate plusieurs choses:
1.1) lors de déplacements légers, asservissement engagé, l'angle pris en roulis ou tangage est très très faible. L'hélico se déplace même avec des angles imperceptibles. Dans ces conditions, ça me semble difficile de contrôler l'angle, pour des valeurs si faibles qu'on a du mal à les mesurer!
1.2) De plus, les déplacements longitudinal latéral sont bien prédictibles vis à vis des commandes des servos.
1.3) Il y a juste un couplage entre les déplacement longi et latéral un peu gênant, certainement du à la flybar. Mais ce déplacement "parasite" se contrôle assez bien avec l'asservissement en déplacement.

2) Je me suis également renseigné sur comment faisaient les hélicos coaxiaux autonomes plus avancés que le mien. Je connaissais déjà le CoaX de Skybotics, et j'ai cherché à en savoir un peu plus sur leur méthode d'asservissement. J'ai consulté la doc et j'ai questionné Skybotics. Eh bien ils n'utilisent pas d'asservissement en roulis-tangage; ils utilisent uniquement asservissement "haut niveau" en déplacement longi et latéral. Comme moi. Ca montre qu'il est possible d'atteindre une très bonne stabilité sans asservissement sur les angles de roulis et tangage.
Voici une vidéo qui montre cette stabilité.

Du coup, ça confirme ce que je pensais: il est inutile de contrôler un hélico coaxial en roulis et tangage. Bref, je pense que ce que tu as constaté avec ta propre expérience sur des hélico très dynamiques ne s'applique pas à des petits co-axiaux, qui sont au final beaucoup plus simples à contrôler.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#89 Leon

Leon

    Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 285 messages
  • Gender:Male

Posté 27 novembre 2011 - 08:22

Quelques nouvelles:

1) il faut se motiver...
Je pense que vous l'avez compris vu l'espacement des messages: ce projet n'avance plus comme au premier jour. Je pourrais prétexter le manque de temps, mais ça n'est pas totalement vrai. Le manque de motivation y est pour beaucoup. Et derrière tout ça, c'est la peur de crasher le drone, et la peur de ne pas réussir à un résultat, la peur d'affronter la difficulté. Bref, c'est un risque quand on se lance dans un défi très (trop) ambitieux comme celui là.

Ca fait maintenant 2 ans que je bosse dessus. Si la première année a été particulièrement productive, la 2ieme l'a été beaucoup moins.

2) Avancement du projet:
J'ai quand même continué à travailler "tranquilement". Le drone a eu le droit à une grosse mise à jour mécanique: le train d'atterrissage était félé, j'ai changé les pièces cassées, et j'ai renforcé un maximum. J'ai également rajouté des mousses de protections mieux placées autour de l'électronique.

Pour la mécanique de l'hélicoptère, j'ai là aussi changé des pièces, car suite aux nombreux crash, la mécanique vibrait trop. J'ai changé 1 moteur (qui frottait trop), tous les axes, les couronnes, les roulements à bille.
Bref, entre le changement de l'électronique au printemps, et de la mécanique à l'automne, il ne reste plus grand chose d'origine sur ce drone! Et c'est le gros avantage de mes choix d'une base volante "low cost": je n'hésite pas du tout à changer des pièces, vu le prix très abordable.

Côté "progrès" (et non réparations), c'est beaucoup plus mitigé. J'ai bossé un peu sur la caméra wii-remote. Bien que ce soit un capteur assez génial (petit et performant), l'exploitation est assez ardue.
Comme vous l'avez vu sur les vidéos précédentes, l'estimation de position 3D fonctionne à peu près. MAIS il faut aussi utilise les infos de la caméra wii pour recaler l'estimation de vitesse en X-Y. Et là, ça ne fonctionne plus du tout. En fait, la position x-y est déterminée avec les mesures de la caméra wii, et les mesures d'inclinaison issues des gyro. Malheureusement, ces capteurs n'ont pas la même dynamique, les mêmes retards. Du coup, lors de variations brusques de l'inclinaison, on a de petites oscillations de la mesure de position, qui font déconner l'estimation de vitesse en x-y. Et cette estimation est primordiale, car c'est elle qui alimente le terme dérivé du contrôleur PID!
Bref, je ne sais pour l'instant pas faire d'asservissement en x-y avec la caméra wii, alors que ça fonctionnait plutôt bien avec les sonars... Mais je continue à chercher!

Bref, il faut retrouver la motivation, et remettre sérieusement le pied à l'étrier. Il serai dommage d'être allé si loin dans un tel projet et de ne pas continuer jusqu'au bout de mes capacités.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#90 Jbot

Jbot

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris
  • Interests:Robotics

Posté 27 novembre 2011 - 10:36

En effet, ça faisait longtemps qu'on ne t'avait plus vu poster de nouvelle du drone ! ^^
Ne t'inquiete, pas je comprends tout a fait le manque de motivation, à force il y a des périodes ou on est lassé et on aimerait passer à autre chose. J'avoue que si j'etais pas inscrit chaque année a la coupe de France je serais beaucoup moins motivé car pas d'objectif concret.

Quel est ton probleme avec les caméras de Wii ? Elles sont trop lente a donner des datas ? C'est pour ça que l'asservissement est ardu ?


Malédiction du Créatif :
Plus vous avez d’idées et moins vous arrivez à les structurer.


#91 Leon

Leon

    Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 285 messages
  • Gender:Male

Posté 27 novembre 2011 - 01:42

En effet, ça faisait longtemps qu'on ne t'avait plus vu poster de nouvelle du drone ! ^^
Ne t'inquiete, pas je comprends tout a fait le manque de motivation, à force il y a des périodes ou on est lassé et on aimerait passer à autre chose. J'avoue que si j'etais pas inscrit chaque année a la coupe de France je serais beaucoup moins motivé car pas d'objectif concret.

C'est vrai que j'aurais peut être du m'inscrire à la compétition IMAV comme je le prévoyais initialement. Mais bon, c'est trop militaire à mon gout!

Quel est ton probleme avec les caméras de Wii ? Elles sont trop lente a donner des datas ? C'est pour ça que l'asservissement est ardu ?

Au contraire, la caméra est très rapide : on peut faire des mesures à 100Hz, même si je n'exploite qu'à 20Hz. En fait, je pense que c'est plutôt l'inverse : je pense (aucune certitude) que c'est l'estimation d'inclinaison (à l'aide des gyros) qui est en retard sur la caméra wii. Du fait des vibrations, j'ai du mettre un filtre hardware et software en sortie des gyro, et forcément, un filtre introduit du retard!

Concrètement, si je tiens le drone à une position donnée dans l'espace, et que je l'incline d'un seul coup très rapidement sans le changer de position, alors l'estimation montre un petit déplacement puis retour à la position exacte. Ce petit déplacement induit naturellement une oscillation de la vitesse estimée, bien que le drone soit immobile.

Mais ce ne sont que des hypothèses, je n'ai pas encore bien investigué tout ça. Il faut que je fasse des logs complets, que je travaille ça sous Matlab pour identifier la cause du problème, et mettre au point à nouveau l'estimation de position 3D à l'aide de la caméra wii, puis que je retourne à l'asservissement. Bref, il y a encore du boulot!

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#92 Sani300

Sani300

    Habitué

  • Membres
  • PipPip
  • 150 messages
  • Gender:Male
  • Interests:Robotique
    Concours
    Drone

Posté 27 novembre 2011 - 04:31

Je trouve ton projet dingue, et il est carrement interessant. J'ai eu la chance de gagner un concours ou j'ai eu l'Ar drone comme cadeau, et ce drone est magique.
Sa donne vraiment envie de comprendre comment il marche et d'en fabriquer un!
J'ai vu ta video ou tu as un logiciel qui simule le drone dans l'espace. J'aurai aimé savoir comment tu as fait ça?!

#93 Leon

Leon

    Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 285 messages
  • Gender:Male

Posté 27 novembre 2011 - 05:44

J'ai vu ta video ou tu as un logiciel qui simule le drone dans l'espace. J'aurai aimé savoir comment tu as fait ça?!

Je ne sais pas exactement ce que tu cherches à savoir. Si tu veux comprendre comment je construit la position et l'orientation 3D du drone, alors tout est décrit dans mon site web, voir le lien ci dessous. C'est bien le logiciel embarqué dans le processeur du drone qui fait cette estimation. Si la description sur mon site n'est pas claire, n'hésites pas à me poser des questions!
http://heli.bot.free.fr/algo_1.html

Si tu veux savoir comment je construit les vidéos avec, alors il faut savoir que j'utilise Matlab. Matlab permet d'afficher des courbes, surfaces, et objets en 3D, mais il faut quand même le programmer pour ça. Je récupère en temps réel, via la liaison radio, l'estimation de la position et de l'orientation 3D. J'affiche ça, et j'en fait des images Jpeg. La vidéo finale est réalisée avec Avisynth, qui assemble les images Jpeg issues de Matlab et la vidéo issue de mon camescope.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#94 Sani300

Sani300

    Habitué

  • Membres
  • PipPip
  • 150 messages
  • Gender:Male
  • Interests:Robotique
    Concours
    Drone

Posté 27 novembre 2011 - 07:14

Je ne sais pas exactement ce que tu cherches à savoir. Si tu veux comprendre comment je construit la position et l'orientation 3D du drone, alors tout est décrit dans mon site web, voir le lien ci dessous. C'est bien le logiciel embarqué dans le processeur du drone qui fait cette estimation. Si la description sur mon site n'est pas claire, n'hésites pas à me poser des questions!
http://heli.bot.free.fr/algo_1.html

Si tu veux savoir comment je construit les vidéos avec, alors il faut savoir que j'utilise Matlab. Matlab permet d'afficher des courbes, surfaces, et objets en 3D, mais il faut quand même le programmer pour ça. Je récupère en temps réel, via la liaison radio, l'estimation de la position et de l'orientation 3D. J'affiche ça, et j'en fait des images Jpeg. La vidéo finale est réalisée avec Avisynth, qui assemble les images Jpeg issues de Matlab et la vidéo issue de mon camescope.

Leon.


D'accord sa marche, je vais scruter ton site, je pense me lancer dans l'aventure petit a petit, la je vais commander un module wifi, j'ai aussi déjà un accéléromètre ainsi qu'une boussole. Je viens de finir mon robot sumo et je vais essayé de passer a ce projet.

#95 Esprit

Esprit

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique
  • Interests:La robotique !

Posté 02 décembre 2011 - 11:22

Salut Leon,

Je ne passe plus très souvent par ici (tu connais autant que moi ce que veut dire le manque de temps...) mais je suis content de voir que tu ne laches pas et que tu veux vraiment amener ce projet à terme. C'est certain que c'est un gros morceau et qu'il faut une sérieuse dose de motivation. Mais en même temps, tu as déjà réussis à obtenir des résultats plus qu'intéressants ! Je pense que tu dois continuer, ça en vaut la peine. ;)
Esprit
*Rêve d'en caser un dans un robot*

#96 Leon

Leon

    Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 285 messages
  • Gender:Male

Posté 04 décembre 2011 - 09:33

Mais en même temps, tu as déjà réussis à obtenir des résultats plus qu'intéressants ! Je pense que tu dois continuer, ça en vaut la peine. ;)

Merci beaucoup pour tes encouragements! Effectivement, je pense aussi qu'il faut aller au bout de ce projet!

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#97 Esprit

Esprit

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique
  • Interests:La robotique !

Posté 05 décembre 2011 - 01:42

Mais de rien ! Et puis j'espère bien voir BOB4 à un des prochains Caprica, encore plus impressionnant que la dernière fois ! ;)
Esprit
*Rêve d'en caser un dans un robot*

#98 Leon

Leon

    Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 285 messages
  • Gender:Male

Posté 15 janvier 2012 - 03:28

Premiers vols autonomes avec la caméra Wii

J'ai profité d'un week-end au calme pour avancer sur ce projet.

Comme dit dans le titre, je viens d'effectuer mes premiers vols 100% autonomes où la position x-y du drone (position 2D projetée au sol) n'est plus estimée par les sonars, mais par la caméra Wii. Si vous avez bien suivi le projet, vous remarquerez que ça fait très longtemps que je n'avais pas parlé de vols autonome. Ca fait vraiment plaisir de voir BOB4 à nouveau voler tout seul comme un grand. C'est une grande satisfaction! Ca n'est pas encore super stable, ça diverge régulièrement, il faut encore optimiser tous les paramètres, c'est long. Pas facile de comprendre ce qui cloche parmi tout ce que j'ai implémenté.
Je n'ai pas de vidéo à montrer, ça ressemblerai exactement aux vidéos qui sont déjà sur mon site.

Par contre, je peux maintenant faire une démonstration réelle de vol autonome, contrairement à Caprica3, où j'avais désactivé l'asservissement en x-y, faute de mur "propre" pour que les sonars puissent se repérer. A Caprica3, je ne faisais qu'un asservissement en lacet (orientation) et altitude.

Un peu de technique:
Pourquoi ça ne fonctionnait pas bien? En fait, c'est l'estimation de la position en x y et de la vitesse en x y qui n'était pas assez robuste. Comme dit sur mon site, on détermine la position x y du drone à partir des coordonnées de l'image de la caméra wii, de l'inclinaison (roulis-tangage) et de l'altitude. Or, je ne m'en était jamais rendu compte, mais l'estimation d'inclinaison et l'estimation d'altitude étaient fausses: erreur d'offset pour l'altitude, et erreur de gain pour l'inclinaison. Ca n'était pas gênant jusqu'à présent, car ça n'était pas utilisé à l'ordre 1, donc ça ne se voyait pas. J'ai fait des mesures avec le drone suspendu dans le vide en haut d'une étagère, à différentes hauteurs, pour calibrer tout ça (altitude + caméra wii).
BOB4_suspendu.jpg

Et comme dit précédemment, les temps de retard différents entre l'estimation d'inclinaison (gyro) et la mesure de caméra introduisait des estimation de vitesse x-y erronnés. J'ai du rajouter un filtre passe bas sur les mesures de la caméra, pour que le temps de retard et la dynamique de la caméra corresponde au temps de retard de l'estimation d'inclinaison, et en ajustant ce filtre, ça fonctionne désormais!

Il faut noter que j'ai là un dispositif d'estimation de position 3D d'un objet dans l'espace, autonome et assez robuste, qui pourrait être utilisé à plein d'autres usages!

Pour finir, je pense que je fais là les tous derniers développements sur ce projet. Ce projet a 2 ans d'age, et ça ne me motive plus comme au premier jour. J'atteinds un résultat satisfaisant, mais pas parfait. Et j'ai d'autres projets en tête (robotique ou pas) que j'aimerai mener à bien.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#99 Jbot

Jbot

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris
  • Interests:Robotics

Posté 15 janvier 2012 - 04:09

Bravo ! Tu as reussi a résoudre ton probleme :)

On aura quand meme l'occasion de le voir voler en vrai meme si tu ne travails plus dessus ? ^^ (Apérobot ou Caprica ou Japan Expo ou autre :P)


Malédiction du Créatif :
Plus vous avez d’idées et moins vous arrivez à les structurer.





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

0 members, 0 guests, 0 anonymous users