Page 1 sur 3

Mon premier multirotor avec raspberry

Posté : lun. 1 déc. 2014 00:43
par Ovopack
Salut à tous et à toutes, me revoila encore dans des projets très, voire trop ambitieux mais... je sens comme une odeur de réussite sur celui-là. C'est d'ailleurs pour cette raison que je viens présenter mon 'coucou' car je suis preneur de toute idée d'amélioration pour que ca ne termine pas dans la poubelle! (pas de méchante critique par contre svp ;) )

Je ne suis pas à ma première expérience en modélisme mais j'en suis resté il y a des années au stade débutant/amateur, à acheter des avions et hélicos RTF en polystyrène trop fagiles pour les crasher peu de temps après.

Mes compétences intiales : informatique, électricité, mécanique, bricollage en tout genre, etc... je suis un touche à tout.

Voila, il y a environ 2 semaines et demi, travaillant pour une grosse boite dans le transport d'électricité, j'ai entendu parlé de ces fameux drones qui passaient au dessus des centrales.

Et alors je me suis demandé... tient pourquoi pas moi? Evidemment, pas au dessus des centrales!

Caractérisques importantes demandées pour le drone : un grande autonomie et un control total sur l'équipement : pas de choses toute faites non modifiables, je fais moi-même mon contrôleur de vol. Ca tombe bien car voila enfin une bonne raison d'acheter un raspberry pi.

J'ai entendu parlé de Open pilot mais pour la raison ci-dessus, je préfers faire le miens (même si je sais que c'est open) et refaire moi-même mon interface graphique.

De plus, au lieu d'avoir plusieurs transmetteur (radio, télémétrie, vidéo, etc...) le raspberry centralise et envoi le tout via ssh donc gain d'argent et de poid!

Une vidéo est tout en bas du post qui présente un peu l'état du drone à l'état actuel + des explications et tests.

Ce qui suit décrit ma démarche du tout début avec plus de détail.



Je commande donc mon petit projet, en attendant l'arriver de ma commande amazon, un peu de bricollage :

ImageImage

Et... voila la commande ! (raspberry, accesoires, camera, et d'autres..)

Image

Je débale, je monte et je test :

ImageImage

Premier interfacage GPIO pour les tests :

Image

Les tests se poursuivent avec plusieurs leds, un programme basique, interfacage de l'accéléromètre de mon smartphone pour les controler, etc...

ImageImageImage

Voila environ 1 semaine!

Me voila donc parti dans un magasin ultra high-tech : BRICOMARCHE!!!! (si si)

Après plusieurs heures dans la magazin, chaque jour, ... au point de me faire passer pour un voleur, me voila ressorti finalement avec ce dont je cherchai, mon futur drone!!! :

Image

De l'huile de coude, de la matière grise, un peu de sang versé ... :

ImageImage

Après quelques jours (bah oui j'ai pas tous les outils donc je fais comme je peux!) :

Image

(60cm de diamètre)

En paralèle, j'ai passé des heures sur e-calc, je me suis renseigné sur les sites, pété un cable avec GLS pour savoir où était mon colis et finalement... :

Image

Premier test d'interfacage, avec un servo :

Image

avec un moteur :

Image

Installation des équipements :

ImageImageImageImage
ImageImageImage

Mise en place du Yaw car j'y tenai beaucoup :

ImageImageImageImage
.
ImageImageImageImage

Mode forgeron pour la biele :

Image

Et ca continu... :

ImageImageImageImage
.
ImageImageImage

Après l'électronique, je combine à l'électronique de puissance :

ImageImageImageImage
.
ImageImage

Après l'installation du support d'attérissage, c'est prêt pour le test :

Image

Et pour finir vidéo de présentation/test :

(Moteurs 610 kV et non 690)




Voila où j'en suis aujourd'hui. J'ai déjà réfléchi au programme de pilotage. Je sais l'organiser mais malheureusement je sent déjà que je vais avoir des problèmes de stabilité au niveau de l'asservissement (PID : puissance, intégrale, dérivé), je ne sais pas trop comment m'y prendre sur les courbes de puissance (rampe/exponancielle/logarythme/etc...).

Merci à tous pour vos futurs commantaires, idées et aide.


A bientôt!

Edit du 1 déc.
========================

Petite modif sur le "planning" :

Au lieu de commencer le programme de pilotage auto, je vais interfacer un joystick ou l'accéléromètre de mon smartphone pour controler le drone.
Je pourrai alors tracer des graphs "angle drone/puissance moteur" ce qui me donnera une idée des courbes de puissance à programmer dans le pilote auto.
Commencer par là est à mon avis la meilleur solution, temps que je n'ai pas de perte de connexion car il n'y aura aucun programme pour le maintenir debout.
Maintenant, je suis toujours preneur pour de l'aide sur le PID.

Suite du soir même, tentative d'interfacage d'un joystick :

Image

Jusque là les erreurs de programmation ne m'avais jamais fait mal...

Image

Test du joystick :



Ca fonctionne!
Je remonte un peu le tricoptère et continu la programmation pour pouvoir le controler entièrement.
Ca va quand meme être un peu dûr vu l'état de mes 3 doigts :(

Edit du 2 décembre :
=====================

Suite des péripéties, le joystick est correctement interfacé (sauf le yaw), plus que quelques petites retouches à faire.
Les premiers tests de control manuel sont faits, les problèmes de parasites sont résolus.




Edit du 4 décembre :
=====================

- La caméra est installée, sans servo pour le moment et interfacée avec le raspberry.
- Le pc de control est configuré pour la réception de la caméra, avec un minium de latence (< 150-200ms, ce qui est pas trop mal). Je pense pourvoir le diminuer encore + en passant par de l'udp plutot que le tcp et en réduisant la résolution.
- Le yaw du joystick est interfacé

Coté servo, test à mi-puissance : incontrolable! (le Raspeberry génère des interférences)
Il me faut une régulation en hardware.

Edit du 11 décembre :
=====================

Changement d'avis sur la batterie du rasberry, plutôt acheter un régulateur dédié, de qualité. gros gain de poids => gros gain d'autonomie (et en plus c'est moins cher...)

ImageImage

Carte adafruit (PWM en hardware) arrivée! Interfacée, testée, tout fonctionne parfaitement, encore mieux que ce que je pensais.
Carte altimu de pololu (gyro + alti) est aussi arrivée! (pas testée)

Erreur de manip pendant un test, un fils de masse à touché le raspberry :pleur4:
Le nouveau raspberry est commandé (modèle A+ cette fois ci, plus petit, léger et moins gourmand) avec des fils de breadbord cette fois-ci pour ne pas refaire la même erreur.

Je profite du temps libre pour revoir le coté matériel :
- mousse pour éviter les vibrations de équipement,
- positionnement des cartes,
- revu du cablage
- perfectionnement de l'axe du yaw

Re: Mon premier drone en cours de construction.

Posté : lun. 1 déc. 2014 06:37
par Dehas
Pour une présentation de modèle, c'est hyper détaillé, merci :super: dommage pour la vidéo.

Re: Mon premier drone en cours de construction.

Posté : lun. 1 déc. 2014 07:56
par Ovopack
C'est bon pour la vidéo, je n'avais tout simplement pas activé le compte!

Re: Mon premier drone en cours de construction.

Posté : lun. 1 déc. 2014 08:17
par Guillaume22
Jolie Boulot
et non c'est pas bon, video en privé ::d

Re: Mon premier drone en cours de construction.

Posté : lun. 1 déc. 2014 08:34
par Ovopack
Décidemment... C'est fait!

Re: Mon premier drone en cours de construction.

Posté : lun. 1 déc. 2014 09:29
par Guillaume22
http://hackaday.com/2012/12/01/raspberry-pi-quadcopter/" onclick="window.open(this.href);return false;

Re: Mon premier drone en cours de construction.

Posté : lun. 1 déc. 2014 12:18
par Ovopack
Je l'ai déjà vu celle là, il y a quelques jours.
Effectivement les projets se ressemblent beaucoup mais il y a peu de présentation malheureusement. On ne voit pas exactement de quoi il est composé, controlé et commandé.
Ca m'a quand même rassuré de voir que le Pi est assez puissant même sans temps réel.
J'ai aussi remarqué que les idées sont les mêmes comme le SSH, le stream cam via un serveur, etc etc...

Petite modif sur le "planning" :

Au lieu de commencer le programme de pilotage auto, je vais interfacer un joystick ou l'accéléromètre de mon smartphone pour controler le drone.
Je pourrai alors tracer des graphs "angle drone/puissance moteur" ce qui me donnera une idée des courbes de puissance à programmer dans le pilote auto.
Commencer par là est à mon avis la meilleur solution, temps que je n'ai pas de perte de connexion car il n'y aura aucun programme pour le maintenir debout.
Maintenant, je suis toujours preneur pour de l'aide sur le PID.

Re: Mon premier multirotor avec raspberry

Posté : lun. 1 déc. 2014 13:22
par Guillaume22
Tu as connecter des gyro et accéléromètre sur ton ton rasberry car sans ces élément ca va être dur de le contrôler


Envoyé de mon truc avec mes machins

Re: Mon premier multirotor avec raspberry

Posté : lun. 1 déc. 2014 14:27
par Ovopack
Malheureusmeent non. J'attends mon Altimu10 v4 (nom de mémoire) de chez pololu via le site lipoly.de.

Pourquoi est-ce que j'en aurai besoin si j'ai un retour caméra ou en vision directe?

Re: Mon premier multirotor avec raspberry

Posté : lun. 1 déc. 2014 15:25
par Guillaume22
en multi il y a souvent 3 mode de vol.
Manuel , qui utilise que les gyro et qui maintienne la position du multi par rapport aux ordres donnés (il faut t bien qu'il ai des donnés sur les déplacements)
Stabiliser ou la les accéléromètres par rapport a une position connu (a plat) permette de remette automatiquement le multi a plat lorsque les manche reviennent au neutre
Et GPS ou la le multi est en plus gardé dans sa position en 3 dimension par rapport au coordonné gps.

Regarde le code de chez arducopter pour te donner une idée, tu peut même sans doute le transférer sur rasperry

Re: Mon premier multirotor avec raspberry

Posté : lun. 1 déc. 2014 15:27
par Maxxhimum
Ovopack a écrit :Malheureusmeent non. J'attends mon Altimu10 v4 (nom de mémoire) de chez pololu via le site lipoly.de.

Pourquoi est-ce que j'en aurai besoin si j'ai un retour caméra ou en vision directe?
Ben tu les as dans le altimu non ?, je ne comprends en quoi le retour caméra pourrait remplacer gyro et accéléro, j'ai loupé un message ?

Re: Mon premier multirotor avec raspberry

Posté : lun. 1 déc. 2014 16:10
par Ovopack
Ca ressemble beaucoup à ce dont j'avais déjà préparé à savoir 3 modes de vol: STAT , GPS , FAILSAFE
Stat : stationnaire, selon les données de l'altiMU avec une possibilité de controler en manuel et au laché des commandes, retour au neutre (plus tot pour les hautes altitudes où je n'ai pas besoin de précisions)
GPS : idem mais avec le maintient de la position avec le GPS (plutot pour les basses altitudes où là je n'ai pas envie q'uil se fasse emporter dans le vent et taper quelque chose)
Failsafe : retour au dessus de la position original voir peut-etre attérissage

Le mode manuel (sans retour au neutre) je n'y avait pas encore pensé. Pour ce mode, puisque je vois le multi, je ne devrais donc pas avoir besoin de gyro car pas de retour au neutre (comme un hélico quoi!)

Pour l'altitude, je prévois aussi deux modes : baromètre (basse alt) ou GPS (pour les hautes)

Re: Mon premier multirotor avec raspberry

Posté : lun. 1 déc. 2014 20:57
par Ovopack
Tentative, d'interfacage d'un joystick usb :

Image

Re: Mon premier multirotor avec raspberry

Posté : lun. 1 déc. 2014 21:01
par Ovopack
Jusque là les erreurs de programmation ne m'avais jamais fait mal...

Image

Re: Mon premier multirotor avec raspberry

Posté : lun. 1 déc. 2014 21:37
par Ovopack

Re: Mon premier multirotor avec raspberry

Posté : mar. 2 déc. 2014 10:44
par Ovopack
Suite des péripéties, le joystick est correctement interfacé (sauf le yaw), plus que quelques petites retouches à faire.

Les premiers tests de control manuel sont faits, les problèmes de parasites sont résolus.



A venir :

- installation rapide de la caméra (sans servo pour le moment) pour avoir un retour caméra

- interfacage du yaw

- Réglage indépendant des moteurs pour la stabilisation en vol

- test en control manuel, sur batterie (et non alim) pour plus de puissance avec tentative de décollage et stabilisation

Re: Mon premier multirotor avec raspberry

Posté : mar. 2 déc. 2014 13:57
par diegau
J' avoue je suis ton sujet depuis le début :gene3:

Je suis bluffé par ton suivi du sujet et surtout comment tu avances! 8/

Chapeau bas, hâte de lire et voir la suite :)

Re: Mon premier multirotor avec raspberry

Posté : mar. 2 déc. 2014 14:59
par Ovopack
Ahhhh ca fait plaisir merci!
Je commencais justement à me demander si je ne postais pas dans le vent!
C'est surtout pour partager, me motiver et avoir des idées des autres. Certaines ne viennent pas toutes de moi d'ailleurs, comme par exemple l'interfacage du joystick, proposée par un collègue, qui suit aussi le projet.
Adapte du monde libre, je suis ouvert pour partager les caractéristiques matériels et logiciels si besoin. (coté logiciel ca change tout le temps donc pas vraiment utile pour le moment)

Re: Mon premier multirotor avec raspberry

Posté : mar. 2 déc. 2014 15:16
par Guillaume22
mais non tu ne poste pas dans le vent, après des multi qui vole on en voit plein, des interfaces avec un joystick ca existe chez arducopter. Par contre utiliser un rasberry sa c'est intéressant vu les possibilité de la bête. Est ce que tu croit qu'il est possible de faire de la reconnaissance d'image ou de couleur en plus avec ce type de pc pour une utilisation en suivi de cible ?

Re: Mon premier multirotor avec raspberry

Posté : mar. 2 déc. 2014 16:25
par Ovopack
Théoriquement... oui, sauf que le traitement d'image est très gourmand en ressource :

Le raspberry est puissant dans le sens qu'il fonctionne sous linux et que les possibilités sont quasi infinies mais le processeur est quand meme loin derrière ceux des pc portables bon marchés au niveau de la vitesse. Tout est relatif biensur, c'est une question de besoin : pour une utilisation comme la mienne c'est amplement suffisant, à voir s'il est aussi capable de traiter en parallèle de l'image tout en gardant du répondant dans la stabilité de vol...

Il y a cependant des astuces pour paliers à ca. Pour mon projet par exemple, l'interfacage du joystick est entièrement géré par le pc au sol (lecture des inputs, traduction, calcul, pourcentage, etc.....) et le résultat est envoyé au raspberry qu'il n'a plus qu'à envoyer l'ordre aux moteurs. le rapsbrry ne calcul rien et reste très réactif.

Pour l'image, pourquoi pas ne pas essayer un traitement directe sur le pi ou passer par l'envoi des images au sol (si la connexion est suffisment rapide) pour ensuite recevoir uniquement les coordonnées de vol en retour (+latence connexion+calcul du pc au sol). Le résultat peut-etre tellement imprévisible qu'il vaut mieux tester pour savoir, tout en faisant des compris qualité d'image (précision cible) et rapidité de réponse.

Re: Mon premier multirotor avec raspberry

Posté : mar. 2 déc. 2014 18:46
par Dehas
Ben moi j'en suis sur le cul, chapeau :winner1:

Re: Mon premier multirotor avec raspberry

Posté : mer. 3 déc. 2014 10:58
par Maxxhimum
Tkt on suit avec bcp d'intérêt, même si on ne comprend pas tout ;)

Re: Mon premier multirotor avec raspberry

Posté : mer. 3 déc. 2014 11:28
par Ovopack
Ah ca me rassure :P
C'est vrai que je m'attendais à ce que les gens ici soit plus dans l'électronique et la programmation pour avoir des conseils mais moi aussi je reste sur le cul quand je vois le FPV racing (je crois d'ailleurs avoir reconnu Dehas sur le coup dans une vidéo prise au hasard). Le plug and play à aussi ses avantages.... et son prix!

Je vois moins sur utilisation "sport électronique" (meme si j'adorerai tester, peu etre un jour) mais plus pour de l'exploration, vidéo, ...... passer au dessus des nuages (j'attends que ca en fait :DDD )

Petite pause hier soir afin de récupérer les nuits blanches, et c'est reparti ce soir.

Re: Mon premier multirotor avec raspberry

Posté : mer. 3 déc. 2014 11:55
par Guillaume22
attention a la limite des 150 mètres d'altitude par rapport au sol pour le vol, après tu passe dans le domaine de l'aviation avec tout les risques que cela peut engendrer en cas de colision

Re: Mon premier multirotor avec raspberry

Posté : mer. 3 déc. 2014 12:13
par Ovopack
oui je connais la limite :)

mais je sais où aller pour ne rien risquer et ... http://www.flightradar24.com" onclick="window.open(this.href);return false; :super: