<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GPS | Prototypage rapide de commande</title><link>https://lubin.kerhuel.eu/fr/tag/gps/</link><atom:link href="https://lubin.kerhuel.eu/fr/tag/gps/index.xml" rel="self" type="application/rss+xml"/><description>GPS</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>fr-FR</language><lastBuildDate>Mon, 01 Jul 2019 00:00:00 +0000</lastBuildDate><image><url>https://lubin.kerhuel.eu/media/icon_hu_854b44b36e8700d6.png</url><title>GPS</title><link>https://lubin.kerhuel.eu/fr/tag/gps/</link></image><item><title>Boîte à outils UxV</title><link>https://lubin.kerhuel.eu/fr/uxv/</link><pubDate>Mon, 01 Jul 2019 00:00:00 +0000</pubDate><guid>https://lubin.kerhuel.eu/fr/uxv/</guid><description>&lt;h2 id="vue-densemble"&gt;Vue d&amp;rsquo;ensemble&lt;/h2&gt;
&lt;p&gt;La boîte à outils UxV pour Matlab/Simulink fournit des scripts Matlab et des blocs Simulink pour les drones (UAV) pour traiter le protocole MAVLink, le GPS, les récepteurs RC et les protocoles de télémétrie.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scripts Matlab pour l&amp;rsquo;analyse des données après vol (MAVLink).&lt;/li&gt;
&lt;li&gt;Blocs Simulink pour concevoir un pilote automatique à partir d&amp;rsquo;un modèle (prototypage rapide des commandes avec Simulink).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces outils de conception et d&amp;rsquo;analyse fondés sur un modèle accélèrent les allers-retours entre les essais expérimentaux et la simulation.&lt;/p&gt;
&lt;h2 id="scripts-matlab-pour-mavlink"&gt;Scripts Matlab pour MAVLink&lt;/h2&gt;
&lt;p&gt;Trois scripts principaux permettent de décoder les messages MAVLink, de créer un modèle Simulink de simulation à partir des données enregistrées, et de générer la trace de la trajectoire sur une carte à partir des messages GPS.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Script&lt;/th&gt;
&lt;th&gt;Entrée&lt;/th&gt;
&lt;th&gt;Sortie&lt;/th&gt;
&lt;th&gt;Fonction&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(1) &lt;em&gt;mavlink2mat&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Journal Mavlink&lt;/td&gt;
&lt;td&gt;.mat&lt;/td&gt;
&lt;td&gt;analyse dans Matlab&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;(2) &lt;em&gt;mavlink2simulink&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Journal Mavlink&lt;/td&gt;
&lt;td&gt;.mat / .mdl (.slx)&lt;/td&gt;
&lt;td&gt;simulation à partir de données réelles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;(3) &lt;em&gt;mavlink2kml&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Journal Mavlink&lt;/td&gt;
&lt;td&gt;.kml&lt;/td&gt;
&lt;td&gt;tracé de la ou des traces GPS sur une carte&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;mavlink2gui&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Journal Mavlink&lt;/td&gt;
&lt;td&gt;GUI&lt;/td&gt;
&lt;td&gt;exploration graphique d&amp;rsquo;un journal MAVLink&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Le script &lt;em&gt;mavlinkgui&lt;/em&gt; ouvre une interface graphique (GUI) pour explorer les données MAVLink. Il liste les messages MAVLink présents dans un fichier journal et trace les {message - valeur} sélectionnés. Le script de tracé est personnalisable : l&amp;rsquo;utilisateur peut ainsi aller au-delà d&amp;rsquo;un simple tracé. L&amp;rsquo;interface donne accès aux trois scripts mentionnés ci-dessus.&lt;/p&gt;
&lt;h2 id="blocs-simulink"&gt;Blocs Simulink&lt;/h2&gt;
&lt;p&gt;10 blocs ajoutés apportent les fonctions essentielles d&amp;rsquo;un UAV pour mettre en œuvre un pilote automatique sur un DSC dsPIC. Ces blocs complètent les blocs MPLAB pour Simulink de Microchip, qui fournissent les blocs de périphériques pour la génération de code. Ils s&amp;rsquo;appuient sur MathWorks Embedded Coder. Les fonctions ajoutées sont les suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GPS
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;GPS Parser&lt;/em&gt; pour décoder les messages NMEA&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;MATH
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Quaternion to Cardan FxPt&lt;/em&gt; pour convertir un quaternion en angles de Cardan en virgule fixe (similaires aux angles d&amp;rsquo;Euler)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;MAVLink :
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;SEND&lt;/em&gt; (envoyer un message)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;RECEIVE&lt;/em&gt; (recevoir un message)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;MAVLink Data&lt;/em&gt; (données de points de passage)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;MAVLink Parser&lt;/em&gt; (décode le message d&amp;rsquo;entrée et met en œuvre les protocoles WayPoint&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; et Parameter&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="block-receiver-telemetry"&gt;Récepteurs-Télémétrie&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;S.BUS&lt;/em&gt; reçoit les canaux RC&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Smart Port&lt;/em&gt; envoie les valeurs de télémétrie&lt;/li&gt;
&lt;li&gt;&lt;em&gt;F.Port&lt;/em&gt; reçoit les canaux RC + envoie la télémétrie&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Sensor for Smart.Port or F.Port&lt;/em&gt; définit les valeurs à envoyer par télémétrie&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;À l&amp;rsquo;exception du bloc MATH, ces blocs se connectent généralement aux blocs UART Rx/Tx du dsPIC pour envoyer ou recevoir le flux de données d&amp;rsquo;un GPS, d&amp;rsquo;un récepteur ou d&amp;rsquo;une liaison radio.&lt;/p&gt;
&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;
&lt;p&gt;Ces blocs sont développés par Lubin Kerhuel et diffusés gratuitement avec les &lt;a href="https://www.mathworks.com/matlabcentral/fileexchange/71892-mplab-device-blocks-for-simulink" target="_blank" rel="noopener"&gt;MPLAB device blocks for Simulink&lt;/a&gt; de Microchip.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Installer les MPLAB Device Blocks de Microchip&lt;/li&gt;
&lt;li&gt;Saisir &lt;em&gt;pinInfo&lt;/em&gt;, puis cliquer sur &lt;em&gt;go to Third Part Tools folder&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Exécuter le script &lt;em&gt;UxV_Blockset_Installer.p&lt;/em&gt; dans le dossier UxV_blockset.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Le &lt;em&gt;protocole Way Point&lt;/em&gt; sert à définir et à lire des points de passage (WayPoint) depuis une station au sol compatible MAVLink.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Le &lt;em&gt;protocole Parameter&lt;/em&gt; règle, depuis n&amp;rsquo;importe quelle station au sol MAVLink, les paramètres ajustables de Simulink, habituellement modifiés avec l&amp;rsquo;External Mode ou lors d&amp;rsquo;une simulation Processor In the Loop (PIL).&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Le bloc &lt;em&gt;Sensor for Smart.Port or F.Port&lt;/em&gt; s&amp;rsquo;utilise avec le bloc &lt;em&gt;Smart Port&lt;/em&gt; ou le bloc &lt;em&gt;F.Port&lt;/em&gt;. Ces protocoles renvoient des paquets de télémétrie vers l&amp;rsquo;interface de la radiocommande (RC). Il est ainsi possible d&amp;rsquo;émuler aisément des capteurs Frsky (tension et courant de batterie, variomètre, vitesse air, GPS) et d&amp;rsquo;ajouter des fonctions à la radiocommande. Il est également possible d&amp;rsquo;émuler la télémétrie BetaFlight. Utilisés avec un script LUA, ils ajoutent des fonctions telles que l&amp;rsquo;horizon artificiel, la vitesse air, la vitesse verticale, la distance au point de départ et d&amp;rsquo;autres fonctions (évalué avec les &lt;a href="https://github.com/yaapu/FrskyTelemetryScript/wiki" target="_blank" rel="noopener"&gt;scripts LUA yaapu&lt;/a&gt;).&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item></channel></rss>