UAVCAN est un protocole léger ouvert pour le réseau mobile embarqué. Récemment, son développeur et mainteneur Pavel KirienkoEspiona parlé du protocole lors du PX4 Developer Summit , une importante conférence communautaire sur les drones utilisant l'écosystème open-source autour du pilote automatique PX4 , dont UAVCAN fait partie. Et Pavel a également préparé un article détaillé pour la communauté russophone sur Habré à la suite de son rapport.
Dans cet article, je parlerai de l'aspect pratique de l'utilisation du protocole du point de vue des développeurs de systèmes de contrôle automatique pour drones: comment nous avons choisi UAVCAN, ce que nous en faisons et quelles opportunités nous voyons dans le futur.
Drones hybrides
Un avion à décollage et atterrissage verticaux (VTOL) est un hybride d'un hélicoptère et d'un avion qui peut durer plus longtemps qu'un hélicoptère en raison de la portance aérodynamique de l'aile et ne nécessite pas de piste ou de dispositif de lancement et de parachute, comme avec les drones d'avion conventionnels. Le développement de tels dispositifs est désormais une direction populaire et prometteuse. Un tel appareil peut être utilisé à des fins de livraison, de cartographie, de surveillance et à d'autres fins. La plupart des projets de taxi volant sont basés sur le même principe de conception, par exemple:
- taxi aérien entièrement électrique Lilium Jet de la société allemande Lilium ;
- l' avion électrique à faible bruit Heaviside de la société Kitty Hawk de Sebastian Trun (que beaucoup connaissent grâce aux véhicules sans pilote);
- Projet Vahana d' Airbus.
Avions à décollage et atterrissage verticaux de l'Université Innopolis
Nous avons développé trois modèles de petits véhicules aériens sans pilote avec une envergure, une charge utile et des sources d'énergie différentes - tous électriques et équipés de moteurs à combustion interne. Nous coopérons avec le Kazan Aviation Institute et les entreprises aéronautiques de Kazan sur la conception d'avions, et notre travail se concentre sur l'électronique, les algorithmes et le contrôle automatique.
Qu'est-ce que UAVCAN a à voir avec cela?
Pour ceux qui travaillent dans le secteur des drones, une structure de contrôle typique ressemble à ceci:
Disposition typique d'UAV basée sur le pilote automatique PX4. Source Les
moteurs sont contrôlés par des régulateurs de vitesse (ESC), auxquels les points de consigne du pilote automatique sont fournis via des signaux PWM. Les capteurs sont connectés via un tas d'interfaces différentes - UART, I2C, SPI. Plus la télémétrie, la télécommande, l'alimentation - et vous obtenez une telle "araignée" des fils. Mais ce n'est pas le problème principal.
Plus les fils sont longs, c'est-à-dire plus l'appareil est gros, plus ce circuit est sensible aux micros. Nous avons dû y penser dès le début, car nos avions ont une envergure de 2 et 4 mètres, et ce n'est pas la limite.
Auparavant, pour le projet d'un dirigeable de 40 mètres, nous travaillions avec CAN (seul le protocole était basé sur CANOpen). Et la décision d'utiliser UAVCAN était une évidence pour nous: PX4 a déjà son soutien, même s'il n'y a pas eu de différends dans l'équipe à ce sujet. Dans un premier temps, nous voulions remplacer les longues lignes PWM par une interface numérique afin d'adapter nos solutions à des avions de différentes envergures.
Il s'avère que UAVCAN n'est pas CAN pour UAV
En remplaçant les liaisons PWM par des liaisons UAVCAN, nous avons cessé de nous inquiéter des longs câbles et des problèmes de bruit, et avons également réduit considérablement le nombre de connexions au pilote automatique.
Il y avait deux options pour faire cela. La première consiste à utiliser des régulateurs de moteur et des servo variateurs avec interface UAVCAN. Tels sont, par exemple, chez Zubax . La seconde consiste à créer des adaptateurs UAVCAN installés directement à côté de l'ESC. Nous avons opté pour la deuxième option, car le choix de l'ESC avec interface UAVCAN est petit. Au début, nous avons utilisé des adaptateurs du projet UAVCAN for Hobbyists ( UC4H ), puis nous avons décidé de fabriquer nos propres appareils avec un convertisseur DC-DC intégré, nos propres circuits, micrologiciels et diodes ennuyeuses.
Nos appareils avec interface UAVCAN
J'ai le goût
Ensuite, nous avons réalisé qu'au lieu d'une douzaine de fils, nous pourrions utiliser le bus UAVCAN pour interagir non seulement avec les actionneurs, mais aussi avec la plupart des appareils externes. Il a également un bon effet sur l'isolation des vibrations du contrôleur installé sur une plate-forme spéciale. En conséquence, nous avons développé un certain nombre d'appareils pour notre propre usage, mais maintenant nous voyons qu'ils sont intéressants pour les autres:
- Convertisseur CAN-PWM jusqu'à 4 canaux: l'appareil est connecté au bus CAN, reçoit et traite les signaux de commande, sort PWM. Vous pouvez alimenter la carte directement à partir de la batterie jusqu'à 60 V; elle comprend un convertisseur DC-DC qui fournit à la carte et au consommateur une tension de 5 V (3 A) (par exemple, une servo-machine);
- GPS / magnétomètre / baromètre;
- , Power Management Unit (PMU): ( ). . — , DC-DC . 1000 . CAN ;
- ;
- ;
- ;
Techniquement, ces appareils sont basés sur le microcontrôleur STM32. Nous concevons nous-mêmes et commandons la production sur pcbway.ru. Le firmware est implémenté à l'aide de libcanard .
Notre sentiment de travailler avec UAVCAN est un seuil d'entrée assez bas. Il a fallu moins d'une semaine au nouvel employé pour comprendre et programmer le capteur de distance sur les côtés du pilote automatique STM32 et PX4.
Nous testons de nouveaux appareils sur un petit drone sombre
Et puis nous les utilisons dans un avion:
Une courte vidéo d'un vol d'essai de notre avion VTOL dans tous les modes
En conséquence, notre schéma ressemble à ceci: Schéma de notre avion VTOL utilisant des capteurs et actionneurs UAVCAN
Quels avantages UAVCAN nous offrira à l'avenir
Réservation
La tâche la plus importante lors de la vente d'un produit basé sur un drone est d'assurer la fiabilité. Nous avons déjà commencé à travailler là-dessus. Par exemple, plusieurs de nos GPS et capteurs de vitesse peuvent être connectés et utilisés en parallèle. Mais il reste encore beaucoup à faire. Très probablement, la duplication de capteurs et de contrôleurs à l'aide du bus CAN sera facilitée. Vous pouvez connecter deux bus à Pixhawk et laisser plusieurs capteurs identiques sur le bus pour la redondance.
Mise à l'échelle
À l'avenir, nous voulons fabriquer de gros véhicules avec une masse au décollage de plus de 30 kg, bien que cela soit difficile à certifier. L'évolutivité de l'architecture basée sur UAVCAN vous permet de faire des projets ambitieux.
Véritable simulation HIL
Maintenant, le thème de l'exploitation des drones en milieu urbain se développe activement - Urban Air Mobility (UAM). Pour mettre en œuvre des tâches UAM, vous devez vous appuyer davantage sur des capteurs tels que des caméras et des lidars. Ici, il devient nécessaire de développer et de déboguer des systèmes de contrôle intelligents, ainsi que d'augmenter leur fiabilité. À ces fins, une autre équipe de l'Université Innopolis développe le simulateur Innopolis pour les objets mobiles autonomes basé sur Unity 3D pour les tests, le débogage et la formation. Simulateur Innopolis Pour nos avions VTOL , nous utilisons le simulateur Innopolis en conjonction avec Gazebo pour la simulation photoréaliste , les tests de contrôle et le traitement des données des capteurs - lidars et caméras.
Nous travaillons maintenant sur notre propre module de simulation dynamique au lieu de Gazebo avec une aérodynamique plus précise, ainsi que sur une autre fonctionnalité - la vraie simulation HIL (à partir du matériel dans la boucle, ou de la simulation logicielle et matérielle, PAM).
Dans notre solution, toutes les données proviennent de capteurs et les commandes des moteurs et servos sont envoyées via le bus UAVCAN. Pourquoi ne pas créer un module de simulation de ces capteurs au même niveau de bus? Au lieu d'appareils, nous connectons simplement un ordinateur avec un simulateur au contrôleur.
Maintenant , la simulation HIL dans PX4 est effectuée à l' aide HIL_ spéciale * messages MAVLINK (protocole de télémétrie, fonctionne sur un port série ou UDP / TCP), qui simulent des capteurs et des actionneurs.
Schéma du fonctionnement du PX4 en mode HITL. La
simulation de source , telle qu'elle est actuellement implémentée dans le PX4, est un mode de fonctionnement distinct pour le contrôleur de vol, différent de la configuration de vol «combat». Nous simulons les messages UAVCAN directement, idéalement, le pilote automatique peut même ne pas savoir ce qui fonctionne dans l'environnement simulé. Mais je dois dire que le problème de la simulation des IMU qui sont à l'intérieur du pilote automatique et qui ne sont pas connectés via CAN n'a pas encore été résolu conceptuellement. Le schéma proposé de fonctionnement du PX4 en mode HITL avec UAVCAN Cette solution augmente la fiabilité des résultats de débogage sur le simulateur, vous pouvez donc passer plus en toute sécurité aux essais en vol. Simulateur HIL aéronautique. Source Une approche similaire, lorsque les appareils sont simulés au niveau de l'interface,
utilisé dans la grande aviation, mais avec UAVCAN, nous le rendons plus accessible et plus facile.
Production
C'est formidable que les questions de légèreté, de fiabilité et de "temps réel" du protocole UAVCAN aient déjà été pensées pour nous, ainsi que ce que sont PX4, ROS et Linux, au final. Il nous serait très difficile de fabriquer nos copters, avions, systèmes de contrôle et planificateurs si tout cela n’était pas là.
La standardisation des protocoles et des logiciels permet aux développeurs de parler le même langage. Dans le même temps, non seulement la normalisation est importante, mais aussi l'accessibilité, qui, dans une large mesure, fournit une approche open source. Cela permet, debout sur les épaules de géants, de passer rapidement à leurs tâches, plutôt que de construire une longue «infrastructure» de travail, ce que nous avons, je l'espère, montré avec notre exemple dans cet article.
Nous buvons de la brue froide après des vols réussis