Parce que l’univers ArduPilot est trop peu représenté sur Helicomicro, j’ai laissé le clavier à Pierre Kancir de Hivebotics, ingénieur en robotique et expert ArduPilot, spécialiste dans le domaine. Dans ce post, il vous présente le projet AP_Periph, basé sur ArduPilot…
Andrew Tridgell (alias Tridge), chef de projet d’ArduPilot, vient de sortir la version 1.2.0 de AP_Periph. Cette nouvelle version apporte plusieurs améliorations notables comme :
● La simulation Software-In-The-Loop (SITL) pour les périphériques AP_Periph. ● Le support des modules batterie. ● Le support du protocole MSP pour les autres autopilotes type Betaflight. ● Ajout du support de plusieurs cartes disponible à la vente.
Super. Mais qu’est ce que c’est que AP_Periph ?
Un exemple de carte AP_Periph : mRo CAN Node F303.
AP_Periph vient de ArduPilot Peripheric. L’idée principale était de fournir un socle logiciel de base pour créer plus simplement des périphériques utilisant le protocole UAVCAN. Le projet utilise maintenant l’ensemble des librairies logicielles disponibles dans ArduPilot, tant capteurs (capteur de distance, GNSS, etc.) qu’effecteurs (PWM, ESC, LED, etc) pour construire de nouveaux périphériques.
Le logiciel est basé sur le système de construction mis en place pour le système d’exploitation embarqué Chibios, qui est utilisé par ArduPilot sur les cartes avec micro-contrôleurs comme les Cube ou les Pixhawk. Ainsi toute la configuration d’une carte avec AP_Periph se fait en utilisant un seul et unique fichier de configuration (hwdef.dat) qui va définir les entrées/sorties de la carte et les librairies logicielles à utiliser. Cela permet par exemple de définir un périphérique compatible avec UAVCAN avec seulement un micro-contrôleur de type STM32F103 et 128 Ko de mémoire flash.
Exemple de carte AP_Periph
Qu’est-ce qui est disponible actuellement comme librairies ?
● Modules GNSS (dont le support du RTK) ● Magnetomètres (SPI ou I2C) ● Baromètres (SPI ou I2C) ● Capteurs de vitesse d’air (I2C) ● Capteurs de distances (UART or I2C) ● ADSB (Ping ADSB sur UART) ● Moniteur de Batterie (Analog, I2C/SMBus, UART) ● LEDs (GPIO, I2C or WS2812 serial) ● Switch de sécurité et notification LED associés ● Buzzer (tonealarm ou simple GPIO) ● Sortie RC (Tous les protocoles standard)
La partie UAVCAN supporte les fonctionnalités suivantes :
● Génération du bootloader ● Mise à jour du bootloader par port série ou CAN ● Mise à jour du firmware ● Allocation de noeud CAN dynamique ou statiques ● Stockage des paramètres dans la mémoire flash ● Auto-diagnostique et sécurité : watchdog, CRC, autotest, etc. ● Mise à jour avec MissionPlanner ou les outils UAVCAN comme uavcan-gui-tool
Cube Orange (“hey c’est un contrôleur de vol !”. Ouaip, mais ça peut servir aussi en AP_Periph)
La suite ?
Beaucoup de projets sont en cours sur AP_Periph : Mavlink à travers UAVCAN, support Ethernet, AHRS sur UAVCAN, etc.
Le code ?
Comme tout le code d’ArduPilot, le code AP_Periph est disponible sur le Github. Le code est sous licence GPLv3. Il n’est pas nécessaire de le mettre en ligne sur un dépôt public comme Github, mais si vous vendez un module basé sur AP_Periph, vous devez proposer le code à votre client ! On vous encourage aussi à proposer vos modules sur ArduPilot afin qu’ils profitent des améliorations continues du code du projet.
Nous utilisons des cookies sur notre site Web pour vous offrir l'expérience la plus pertinente en mémorisant vos préférences et les visites répétées. Si vous continuez à utiliser ce site, nous considérons que vous consentez à l'utilisation des cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Durée
Description
cookielawinfo-checbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.