GPS sous-marin sur deux émetteurs-récepteurs

Bonjour cher habuchitel!


Notre GPS sous - marin a récemment trois ans. Pendant ce temps, le système est devenu série, nous avons mis plusieurs autres systèmes et appareils sur le marché, mais pendant tout ce temps, je n'ai pas quitté l'obsession d'amener l'hydroacoustique aux masses, pour la rendre accessible aux amateurs ordinaires, aux modélisateurs, aux représentants de directions telles que les citoyens urbains autres intéressés.

Et aujourd'hui, en l'honneur de notre humble anniversaire, je vais expliquer en détail et sur les doigts comment déterminer l'emplacement géographique d'un objet sous-marin en utilisant seulement deux émetteurs-récepteurs: avec le code source, des images amusantes, des graphiques et des résultats expérimentaux.

Je demande à tous ceux qui nous intéressent en kayak, dans les eaux propres et chaudes du réservoir de Volgograd!



ATTENTION: l'article contient des traces de matan!

Pour ceux qui ne comprennent pas ce qui se passe, mais cela ne les dérange pas, je vous suggère de vous familiariser avec nos publications précédentes sur le thème de l'hydroacoustique et de la navigation sous-marine:
Session de transmission vidéo du son à travers l'eau avec exposition
GPS sous-marin à partir de zéro par an
GPS sous-marin: suite
Sur l'effet des cyanobactéries sur les fonctions vocales du président
Navigation sous l'eau: radiogoniométrie - ne pas radiogoniométrie, vous êtes voué au succès
Et aussi avec un excellent article de revue par akuzmin sur l'hydroacoustique

Introduction


Sous l'eau, les ondes radio ne s'étendent pas à une distance significative, et la communication et la navigation sans fil plus ou moins décentes là-bas, la main sur le cœur, ne sont possibles qu'avec l'aide de l'acoustique.

Il n'y a que deux types et demi de systèmes de navigation qui fonctionnent:

  • base ultracourte (USB, USBL) - basée sur la détermination de l'angle d'arrivée du signal de balise et la mesure de la distance (soit par la méthode demande-réponse ou par heures synchronisées). L'angle d'arrivée est déterminé à l'aide d'un réseau d'antennes. La position souhaitée est déterminée par l'angle et la portée (tâche géodésique directe). Le système UKB, par exemple, est notre ZIMA
  • longue portée (DB, LBL) - où les temps d'arrivée du signal sont mesurés soit sur plusieurs récepteurs, soit sur plusieurs émetteurs (notre GPS sous-marin fonctionne exactement comme ça) avec une position connue. Vous pouvez soit mesurer les distances à l'aide de la méthode "demande-réponse" (méthode télémètre), soit mesurer les différences dans les temps d'arrivée des signaux (méthode télémètre), par exemple, le GPS et le GLONASS fonctionnent. Une longue base peut être flottante (comme notre RedWAVE ) ou inférieure.
  • Base courte (KB, SB) - en fait - les mêmes systèmes à base longue, mais tous les éléments de support de la base sont situés sur la même base - par exemple, sur un navire.

Comme je l'ai dit, une longue base peut fonctionner sur une base «demande-réponse», auquel cas il est nécessaire de résoudre le problème de l'intersection de N sphères ou cercles, si la profondeur de l'objet souhaité est connue.

Ou la base peut fonctionner comme le GPS et le GLONASS, de tels systèmes sont également appelés hyperboliques, et voici pourquoi: si l'objet souhaité émet périodiquement un signal de navigation et que les horloges de tous les récepteurs (éléments de base) sont synchronisées, alors la distance ne peut pas être mesurée directement, mais vous ne pouvez découvrir que pour lequel des éléments de base est le plus proche ou le plus éloigné. Autrement dit, seules les différences de distance sont disponibles. Et comme vous le savez du cours de l'école:
"Une hyperbole peut être définie comme l'emplacement géométrique des points, la valeur absolue de la différence des distances entre lesquelles et deux points donnés, appelés foyers, est constante"

En d'autres termes, si l'objet sous-marin a émis un signal, et que nous l'avons reçu sur deux récepteurs dont les horloges sont synchronisées, alors nous pouvons dire que notre objet repose sur un hyperboloïde (ou sur une hyperbole s'il nous a soudainement transmis sa profondeur). Plus de récepteurs - plus d'hyperboles! Plus d'hyperboles - précision de localisation plus élevée pas de palais - pas de palais .

Et si ce n'est pas l'objet sous-marin qui rayonne, mais les éléments de base, alors l'objet sous-marin, connaissant sa profondeur, peut déterminer lui-même son emplacement, et de plus, dans ce cas, cela ne dérange personne et il peut y avoir autant d'objets de ce type qu'ils sont - ce ne sont que des auditeurs. C'est ainsi que le GPS / GLONASS et notre RedWAVE sont organisés .

Et j'ai promis de naviguer à travers deux émetteurs-récepteurs, dont l'un est celui dont la position doit être déterminée.

Comprenons


Distance entre deux points A ( x a , y a , z a ) et B ( x b , y b , z b ) dans l'espace tridimensionnel est déterminé (on ne sait jamais, tout à coup quelqu'un a oublié) par une formule simple:

d A B = s q r t ( x a - x b ) 2 + ( y a - y b ) 2 + ( z a - z b ) 2


Supposons que nous ayons N stations de base. Pour des raisons humanitaires, nous supposons que leurs coordonnées nous sont connues et nous avons mesuré les distances d b n de chacune des stations de base Bn(xbn,ybn,zbn) au but T. Pour plus de clarté: T est la cible et B est la base.
Nous pouvons donc à tout moment M(x,y,z) écrivez une expression qui montre comment ce point correspond à nos mesures expérimentales. En fait, ce sera la somme des différences entre la distance du point M à la station de base correspondante et la distance mesurée. Nous compenserons chacune de cette différence.

 epsilon(x,y,z)= sumNn=0 left( sqrt(xxbn)2+(yybn)2+(zzbn)2dTbn droite)


En général, il s'agit de la méthode des moindres carrés, et les coordonnées du point souhaité devraient idéalement être le minimum de la fonction ε.
Si nous parlons de la méthode du télémètre différentiel, que nous aborderons dans cet article sans discernement, et pour chaque station de base, nous avons une distance non mesurée dbn et l'heure d'arrivée du signal tOA , alors dans l'expression de la fonction de l'erreur, il n'y aura pas de distances, mais leurs différences. La seule différence est que vous devez trier les paires de stations de base nécessaires, par exemple pour les n-ième et n + 1-ème stations:

 sqrt(xxbn)2+(yybn)2+(zzbn)2 sqrt(xxbn+1)2+(yybn+1)2+(zzbn+1)2v(tOAntOAn+1)


v - signifie ici la vitesse du son, qui, soit dit en passant, n'est pas constante, mais dépend fortement de la densité du milieu, lu, de la température, de la salinité et de la pression. Et si vous voulez tout faire de façon adulte, vous devez soit le mesurer directement, soit le calculer, mais à ce sujet une autre fois.

Notez que la profondeur des objets positionnés dans les systèmes de navigation sonar modernes est mesurée directement et avec une précision assez élevée (0,5-2 cm), ce qui signifie qu'il est logique de traduire la tâche en une tâche plate.
Il serait possible d'informer que maintenant nous résolvons cela par n'importe quelle méthode d'optimisation et finissons ici. Mais, premièrement, tout n'est pas si simple, et deuxièmement, tout n'est pas si compliqué.

Commençons par les difficultés


Le fait est que cela dépend beaucoup de la disposition des stations de base les unes par rapport aux autres (elle peut être influencée, par exemple, par des méthodes administratives =) et de la position de l'objet positionné, par rapport aux éléments de la base (il est beaucoup plus difficile d'influencer cela, dans un large éventail de tâches au départ la position de l'objet positionné est connue très approximativement et il est presque impossible d'établir une base à l'avance).

Obtenez la situation comme dans la figure 1 - comme avec bonjour:


Figure 1 - La surface des erreurs pour la base de leurs trois éléments. Objet positionné à l'extérieur de la base. La présence d'un faux minimum

Les cercles verts indiquent la position des stations de base et l'astérisque indique la position réelle de l'objet positionné. La couleur des points indique la valeur de la fonction résiduelle (ε) à ce point. Comme l'a dit un politicien, il est clair que la surface présente deux dépressions, et lorsqu'on cherche un minimum, il est très facile de tomber dans une fausse. La situation est encore pire: compte tenu de l'échelle, de la position réelle de l'objet et de la vitesse moyenne de déplacement de tels objets, on peut dire qu'il restera dans cette position pendant longtemps, la forme de la surface des erreurs sera préservée, et il est très probable pendant longtemps de recevoir des données incorrectes sur l'emplacement de l'objet .

L'animation ci-dessous illustre une situation similaire - lors du démarrage d'une recherche à partir d'un point milieu entre les stations de base, et lors du démarrage à partir d'une station à proximité, la recherche conduit à un faux minimum:


Figure 2 - La recherche a atteint le faux minimum au début à partir du milieu de la base. Base de trois éléments

La recherche ici est implémentée en utilisant l'algorithme Nelder-Mead , ou, comme on l'appelle également, la méthode simplex. Il est utilisé, par exemple, dans Matlab dans la fonction fminsearch

Il ne nécessite pas de calcul de dérivées, est très visuel, intuitif et facile à mettre en œuvre.


Figure 3 - La recherche a atteint le faux minimum lors du démarrage à partir de l'élément de base le plus proche. Base de trois éléments

Les personnes bien informées peuvent être scandalisées que personne ne mette les stations de base en danger, mais, d'une part, parfois, elles le font, et d'autre part, c'est une exagération pour une démonstration plus visuelle.
«La défaite était complète. Il n'a pas été possible d'inventer quoi que ce soit »(C) A. et B. Strugatsky,« City Doomed »

Que pouvez-vous trouver ici?


La logique suggère que vous pouvez utiliser l'une des deux méthodes d'optimisation globale - le recuit simulé ou quelque chose de similaire. Cependant, une autre approche (et plus productive) consiste à utiliser plus pleinement les informations a priori pour sélectionner un point de départ de la recherche.

Après tout, nous savons avec certitude que le point souhaité se situe (avec une fraction de l'hypothèse) sur les cercles au centre desquels il y a des stations de base, et les rayons de ces cercles correspondent aux plages mesurées!

Et nous sommes également sûrs que l'erreur de mesure de la plage en hydroacoustique augmente avec cette plage: le son se propage de façon non linéaire.

Vous pouvez prendre et essayer de choisir le point de départ pour trouver le minimum autour (littéralement, sur le cercle) de la balise la plus proche, en espérant que la distance à celle-ci est mesurée avec une précision maximale et guidée par la même valeur de la fonction résiduelle ε.

Les coordonnées des points candidats sont formées dans ce cas selon les formules simples suivantes:

x=xbc+dbccos alphay=ybc+dbcsin alpha


xbc et ybc - coordonnées de la station de base la plus proche (c - la plus proche), dbc - la distance de celui-ci à l'objet positionné.  alpha - argument (angle). Si vous cherchez maintenant un minimum pour  epsilonε variable  a l p h a dans la plage de 0 à 360 degrés avec un pas, par exemple, de 10 degrés, puis recherchez à côté de cette valeur en diminuant le pas à 1 degré et en réduisant la zone de recherche à 20 (± 10) degrés, vous pouvez très bien déterminer l'approximation initiale, qui est pratiquement dans tous les cas, il atteint la cible presque immédiatement!

Dans les images ci-dessous, la méthode de la solution «frontale» pour 30 itérations est vaillamment tombée dans un faux minimum, ce qui a conduit à une solution absolument fausse, et la méthode avec minimisation unidimensionnelle préliminaire a presque immédiatement frappé le point et en 6 itérations a approché la position réelle avec une divergence de ~ 25 centimètres à la distance jusqu'à la station de base la plus proche est d'environ 400 mètres.


Figure 4 - La recherche atteint le faux minimum


Figure 5 - Trouver la bonne solution en partant du point obtenu par minimisation unidimensionnelle préliminaire


Figure 6 - La zone agrandie autour de la solution résultante. Le cercle jaune est la solution reçue, l'étoile verte est la vraie position de l'objet

Dans l'exemple ci-dessus, la première itération après une sélection préliminaire de la position de recherche initiale a donné une solution à 20 mètres de la position réelle (sur le terrain ~ 600x600 mètres).
À ce stade, nous avons compris la méthode du télémètre, la situation différence-télémètre est un peu plus compliquée: il n'y a pas de directives aussi claires pour choisir le point de départ (le cercle est une bonne figure car il est fermé et l'hyperbole est mauvaise parce qu'elle va à l'infini).
Revenons au «GPS sous-marin» promis de deux émetteurs-récepteurs. Dans un sens, je suis certainement rusé: en tant que GPS sous-marin à part entière, ce n'est pas possible à partir de notre premier article , mais si vous n'avez pas l'argent pour acheter le bon appareil, supporter certaines limitations et surtout vous attarder sur une certaine gamme de tâches, vous pouvez toujours faire quelque chose.

Un objet fréquemment positionné est immobile (ou au moins se déplace de manière négligeable lentement). Dans de tels cas, au lieu de plusieurs stations de base, vous pouvez vraiment en utiliser une, mais en mouvement: cette approche est appelée VLBL ou Virtual Long Base. Si nous n'avons pas besoin de fixer la trace du mouvement de l'objet sous-marin, mais simplement de déterminer son emplacement, c'est ce dont nous avons besoin.

Souvent, ce problème survient lors de l'installation de tout équipement de fond par décharge libre du navire. Avec des profondeurs tangibles et la présence de courants, la position réelle de l'équipement en bas peut différer considérablement de la position du point où il a été immergé. Cet équipement peut également être un élément de la base de navigation inférieure: afin de déterminer l'emplacement d'un objet sous-marin, vous devez d'abord déterminer l'emplacement de l'objet sous-marin.

Alors, comment tout cela peut-il être arrangé dans le monde réel?


Notre montage expérimental comprend:

  • l'objet que nous cacherons au fond du réservoir: notre modem code RedGTR dans une version autonome (cela ne semble officiel, en fait - un modem connecté à un boîtier de batterie scellé); Le voici sur la photo:

    Figure 7 - Balise de réponse avec cartouche de batterie
  • une station de base mobile basée sur un appât chinois de notre autre article . Elle a à bord, en plus de son remplissage de contrôle natif, un deuxième modem RedGTR, un module radio DORJI 433 MHz avec une antenne, un module GPS / GLONASS maison basé sur le quectel l76, sa propre carte mère basée sur le STM32F429 (peut être facilement remplacée par NUCLEO-STM429 ou STM32F4 Discovery Je suis sûr que n'importe quelle carte de type Arduino le ferait également) qui joue simplement le rôle d'un routeur: tout va au modem depuis le canal radio via UART et vice versa, les données du module GPS sont également diffusées dans le canal radio.

    Cela ressemble donc à un assemblage:


    Figure 8 - Photo de l'assemblage de la motomarine d'essai

    Cette fois, nous avons fixé une sorte de tableau arrière pour fixer une tige avec un modem, l'expérience d'un navigateur librement remorqué a révélé la méchanceté d'un tel schéma, à la fois en termes de contrôlabilité et en termes de changement de position relative de l'appareil et du bateau.

    Il semble donc en attente:


    Figure 9 - Photo d'un engin d'essai. Vue de la cale

    Tous les circuits natifs sont restés presque inchangés, et tous les équipements supplémentaires sont alimentés par une batterie au plomb séparée à 1,2 A * h.
  • la console de l'opérateur, qui comprend un ordinateur portable avec logiciel et un module radio de réponse connecté via USB au convertisseur. Le logiciel est bien sûr quelque peu hâtif et ne convient que pour la démonstration, mais il existe déjà un protocole d'interaction avec un modem, un solveur TOA, basé sur la même méthode Nelder-Mead, la sélection de points de base, un dessin simple des emplacements géographiques, ainsi que la possibilité d'émuler le GPS pour la transmission de données à un analogue de Google Earth.


    Figure 10 - «Console opérateur». Test exécuté sur la table.

    Les points bleus représentent la position GPS du bateau, les points verts indiquent les positions où les mesures ont été prises, les positions des éléments de base virtuels sont surlignées par le saumon et les positions calculées de la balise répondeur sont surlignées en rouge.

Qui s'occupe de quoi?


  • le modem que vous recherchez, se trouve juste en bas, reçoit et répond aux demandes;
  • le modem qui est sur le bateau exécute les commandes qui sont arrivées via UART - envoie des demandes et reçoit des réponses, comme indiqué par UART
  • la carte avec STM32F4 dans le bateau reçoit les données du GPS et du modem via UART et les redirige vers le module radio par un autre UART, et elle redirige les données du module radio vers le modem; Il y a une petite nuance liée au module radio - ce n'est pas du duplex intégral (comme dans l'hydroacoustique =)), donc la carte "retient" le message RMC du module GPS et l'envoie uniquement avec le message du modem;
  • le logiciel de contrôle à distance contrôle l'ensemble de l'action, collecte des données sur les distances à la cible à partir de différents emplacements géographiques, sélectionne la base optimale et détermine l'emplacement de la cible;

Un peu plus détaillé


La communication avec les modems se fait via un protocole de type NMEA. Pour notre tâche, seuls trois messages sont utilisés:

$PTNTE,targetAddr,requestedCmd,timeoutMs*hh

de la télécommande au modem. Envoyez la commande targetAddr à l'abonné distant sur targetAddr , définissez le délai de réponse sur timeoutMs.

La commande peut être n'importe laquelle de la liste approuvée:
L'équipeCodeLa description
CDS_CMD_PING0Demande PING à laquelle l'abonné distant répond PONG
CDS_CMD_PONG1Répondre à la requête PING
CDS_CMD_DPT2Ordonner à l'abonné distant de transmettre sa profondeur
CDS_CMD_TMP3Ordonner à l'abonné distant de transférer sa température
CDS_CMD_BAT4La commande à l'abonné distant de transmettre la tension de son alimentation
CDS_CMD_USR_05Équipe d'utilisateurs 1
CDS_CMD_USR_16Équipe d'utilisateurs 2
......
CDS_CMD_USR_3439Équipe d'utilisateurs 34


Le modem prend en charge les fonctions de base: ping, profondeur de transmission, température de l'eau, alimentation par batterie et un ensemble de commandes de code utilisateur.

Le modem répond immédiatement à la commande TNTE sur le fait d'accepter la commande ou l'impossibilité de l'exécuter avec le message ACK:

$PTNT0,errCode

errCode - 0 si le modem a accepté la commande, sinon le code d'erreur
Si le modem n'a pas attendu que l'abonné distant réponde à temps, il le signale avec un message REM_TIMEOUT contenant uniquement l'adresse de l'abonné distant dans le champ de paramètre:

$PTNTB,targetAddr

Si le modem a reçu la réponse à temps, il le signale avec la commande REM_PONGEX , qui a le format suivant:

$PTNTD,requestedAddr,requestedCmd,receivedValue_decoded,snrd,dpl,pTime,[dst],[dpt],[tmp]

requestedAddr - adresse de l'abonné demandé
requestedCmd - commande demandée
receivedValue_decoded - valeur acceptée
snrd - rapport signal / bruit à la sortie du récepteur en dB
dpl - Décalage Doppler en Hz
pTime - temps de propagation du signal (unidirectionnel) en secondes
dst - distance à l'abonné en mètres
dpt - propre profondeur du modem en mètres
tmp - température de l'eau extérieure en degrés Celsius

Les trois derniers paramètres sont transmis uniquement si le modem est conçu avec un capteur de pression / température intégré (notre option).

À partir du module GPS, nous ne sommes intéressés que par le message RMC, d'où obtenons-nous la position géographique actuelle (nous pourrions utiliser GGA ou GLL - le dernier plus court).

La chose la plus difficile - transmettre des données par l'eau et mesurer la distance - est effectuée par des modems, déterminant la position géographique du bateau - module GPS, il ne reste qu'un peu - pour utiliser correctement ces données.

L'ensemble de l'analyse et de la construction des messages NMEA est effectué à l'aide de la classe NMEAParser dans la bibliothèque UCNLNMEA .

Le logiciel de la console exécuté sur l'ordinateur portable envoie périodiquement des demandes REM_PINGEX à l'abonné à l'adresse spécifiée dans les paramètres de l'application, il le fait soit à la réception de REM_TIMEOUT ou REM_PONGEX . En cours de route, les coordonnées du bateau sont enregistrées et les données sur la distance et la profondeur de l'abonné distant sont stockées avec les coordonnées du bateau dans lequel elles ont été reçues.

Le bon sens (et l'expérience) nous dit que pour déterminer la position d'un objet sous-marin, 3-5 stations de base virtuelles sont nécessaires, et comme on peut le voir sur les images ci-dessus, elles ne doivent pas être localisées de toute façon.

C'est-à-dire que la tâche suivante est formée: à mesure que les mesures sont reçues, il est nécessaire de sélectionner plusieurs d'entre elles comme éléments de la base de navigation d'une certaine manière.

Je propose l'option suivante: choisir de telles mesures afin qu'elles forment la figure la plus convexe décrite autour de l'emplacement estimé de l'objet positionné.

Pour ce faire, prenez un certain point (au stade initial, lorsqu'il n'est pas clair où se trouve l'objet positionné, le point milieu de toutes les mesures apparaîtra, qui sera ensuite remplacé par la première approximation de la position de l'objet souhaité), et calculez l'angle d'azimut à partir de celui-ci (l'angle entre la direction au nord et la direction à point) pour chaque point de mesure. Et maintenant, nous allons en sélectionner quelques-uns qui couvriraient le plus uniformément la plage d'angles résultante. En télécommande, cela se fait par la méthode

 List<Measurement> Measurements.GetBase(); 

À mesure que les données arrivent, dans la méthode où le message REM_PONGEX est REM_PONGEX , REM_PONGEX ajoutons des mesures et essayons de construire une base de navigation et de résoudre le problème de navigation avec. La méthode en est responsable.

 GeoPoint3DWE LocateLBL_NLM(List<Measurements> base, GeoPoint3DWE prevLocation, double rErrorThreshold, out double stStageRErr, out int itCnt); 

La base elle-même lui est transférée - l'ensemble de mesures que nous avons sélectionné pour résoudre le problème de navigation, la position précédente (s'il y en a, la profondeur de l'objet souhaité y est également transmise), le seuil d'erreur radiale et deux paramètres de sortie de diagnostic - l'erreur radiale au premier stade de la solution (selon optimisation unidimensionnelle) et le nombre d'itérations, après quoi la solution a été obtenue dans la deuxième étape.

Si la solution dont nous sommes satisfaits est due à une erreur radiale, nous utiliserons cette solution comme point de référence pour la construction de la base.

Et donc jusqu'à ce que nous soyons fatigués, nous aurons une solution qui nous satisfera.

La méthode LocateLBL_NLM , comme son nom l'indique, résout le problème à l'aide de la méthode Nelder-Mead , effectuant auparavant une optimisation unidimensionnelle s'il n'y a pas de solution précédente. En réalité, vous pouvez ne pas être lié au résultat précédent, mais appliquer constamment une optimisation unidimensionnelle - la stratégie peut être différente et dépend de conditions spécifiques.

Par souci de simplicité, la solution est réalisée en mètres, pour lesquels, avant le début de la solution, toutes les coordonnées sont transférées au système local, avec l'origine au milieu de la base de navigation. Après la résolution, le résultat est traduit en longitude et latitude géographiques (la longitude est X et la latitude est Y). Pour traduire les degrés en mètres et inversement, la classe Navigation contient les méthodes GetDistance2DDeg et Meters2Deg.

Mais, comme vous le savez, une théorie sans pratique est morte, et il est temps de passer aux résultats des expériences sur le terrain.

Ravivons la théorie avec une vérification pratique


Selon l'ancienne tradition, nous effectuons des tests à l' embouchure de la rivière Pichuga . C'est un endroit pratique, il y a des profondeurs allant jusqu'à près de 30 mètres et une zone d'eau assez compliquée.

Le phare de l'accusé est monté sur un «support» à tige spéciale (les balcons en mousse et une ancre qui aident la structure entière à rester debout n'étaient pas inclus dans le cadre):


Figure 11 - Répondeur de balise «Bottom Station»

L'installation du phare a été filmée en vidéo , ils n'ont pas été calculés un peu avec la lumière et ont oublié d'apporter une lampe de poche avec eux, de sorte que le moment de contact avec le sol est resté caché dans l'obscurité.

Alors qu'ils étaient sur le point de tester, ils ont donné un nom au bateau:


Figure 12 - «Palych» en milieu naturel

Sur le tableau arrière «Palychu», des attaches en nylon ont fixé un morceau de la canne à pêche, sur laquelle se trouve le modem RedGTR (afin de ne pas traîner et sortir).

L'expérience a consisté en ce que la balise de l'accusé est installée en bas, seul un petit flotteur en ressort, tandis que "Palych", contrôlé depuis le rivage, fait le tour de la zone d'eau en grands cercles, la télécommande demande périodiquement quelque chose de l'accusé, par exemple, sa profondeur . Toutes les données sont écrites dans le journal et tout s'affiche à l'écran en fonction de l'état réel des choses. Comme ça:


Figure 13 - Une capture d'écran du logiciel de télécommande avec la trajectoire du bateau et les positions calculées de la balise répondeur (la meilleure position calculée est indiquée en rouge)

Comme le montre la figure 13, le phare était situé à une profondeur de 13,2 m et la température de l'eau à cette profondeur était de 24,1 ° C.


Figure 14 - Importation de pistes reçues dans GoogleEarth

Obtenir un bon résultat dans ce cas a pris environ 15 minutes de natation de la force.
Dans la deuxième expérience, le phare a été installé à une profondeur de 16,5 mètres, où le peu attendu plus froid - seulement 22,6 ° C.


Figure 15 - le résultat de la détermination de l'emplacement de la balise répondeur dans la deuxième expérience sur l'écran du logiciel de télécommande

Dans ce cas, nous n'avons pas traité de l'évaluation correcte de la précision en raison du manque de temps aigu (en fait, ces tests amusants ont causé des frictions parmi la direction, car ils ont été arrachés du travail), et nous étions satisfaits que lorsque le navire est allé au flotteur (ce moment peut être vu sur le premier piste ), puis en termes de position coïncidait complètement avec la meilleure solution, et la distance coïncidait avec la profondeur (avec la différence entre les profondeurs du répondeur et du modem installé sur le navire). Les points auxquels les balises ont été réinitialisées ont été fixés, et l'écart entre la position calculée et les points de décharge est de l'ordre de 2 à 3 mètres, ce qui confirme en outre le fonctionnement du système.

En général, nous pouvons dire que cette preuve de concept a été menée à bien!
Nous avons reçu un vrai plaisir et des coups de soleil, nous serons heureux de répondre aux questions et d'écouter les critiques!

Postface


Le triste fait est que les modems utilisés dans cette expérience, bien que très bon marché par rapport aux standards du marché mondial de la communication hydroacoustique, ne sont toujours pas très accessibles aux amateurs.

Pour ne pas être infondé, je donnerai un lien vers l' excellent travail de Mlle Benson, qui à la page 54 du PDF ou 36 de la numérotation des documents a une plaque intéressante avec les prix de certains modems sonar à partir de 2010. De telles choses. (Il y a une petite erreur dans le tableau - la plage de communication de la portée pour le modem qu'elle développe est indiquée en mètres, tandis que l'en-tête de la colonne est en km).

La bonne nouvelle est que nous avons soudainement développé des modems qui peuvent presque tout faire de même (un peu plus petits (en fait, les plus petits du monde, et avant eux les plus petits étaient aussi les nôtres - de cet article), la portée de communication est plus courte , vitesse de transmission plus faible), et selon nos estimations, elles sont déjà assez édifiantes pour les amateurs fortunés. Pour le moment, l'électronique et le firmware sont complètement prêts, et nous finalisons la solution du boîtier. À la fin du développement, nous publierons un article avec les résultats d'une vérification expérimentale.

Attention! Sondage:

Source: https://habr.com/ru/post/fr421977/


All Articles