Outils pour utilisateurs

Outils du site


kerminy:pointeuse

Différences

Ci-dessous, les différences entre deux révisions de la page.


kerminy:pointeuse [2024/02/09 17:26] (Version actuelle) – créée - modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== Pointeuse globale ======
 +Est un outil de pointage physique qui permet en posant l'index de pointage d'enregistrer une coordonnée venant du GPSRTK (centimetrique).
  
 +**Pourquoi?**
 +L'antenne permet un calcul d'un point en son centre, mais comme il est impossible de poser ce centre sur des surfaces verticales ou seulement non plane/horizontale, il faut ajouter un index X/Y/Z qui correspond au décalage du point qu'on veut mesurer.
 +
 +Les arpenteurs règlent ce problème en utilisant des appareils optiques et des perches à visée laser. Ce matériel est trop chère et ne correspond pas tout à fait à notre problématique.
 +
 +Nous voulons nous réellement pointer du doigts les points à enregistrer. Notre doigt sera en bois avec un bouton au bout, et sa position sera constamment calculée par rapport au nord ou à l'inclinaison de l'antenne. Le tout est relié à un tout petit ordinateur portable qui s'occupera du GPS, du réseau de communication et des enregistrements.
 + 
 +La pointeuse est constituée
 +  * d'une antenne GPS
 +  * d'un compas CMP10 http://www.robot-electronics.co.uk/htm/cmps10doc.htm qui donne les valeurs
 +    * Bearing / angle au nord
 +    * Pitch et Roll pour les angles de tangage et de roulis
 +  * arduino pro micro pour une liaison USB au compas 
 +    * https://github.com/kragniz/CMPS10
 +  * une led qui en vert indique la stabilité du GPS
 +  * un bouton poussoir qui valide le contacte pour le calcul
 +
 +  - L'appui en un point du bouton ou l'enregistrement d'une position valide la prise d'un cycle de données GPS
 +  - si les données GPS sont stables la led passe au vert ?
 +  - on applique à la position (moyenne) des coefficients (angle au nord/ tangage/roulis) pour situer cette position exactement sur le bouton poussoir plutot qu'au centre de l'antenne.
 +  - on enregistre la position dans un fichiers
 +  - le fichier peut etre séparé par objet et annoté pour facilité son importation sur un logiciel d'architecture ou autre
 +
 +===== Code arduino  CMPS10 =====
 +installer pour arduino leonardo (micro pro) bibliothèque https://github.com/kragniz/CMPS10
 +<code>
 +#include <Wire.h>
 +#include <CMPS10.h>
 +CMPS10 compass;
 +void setup(){
 +  Serial.begin(9600);
 +}
 +void loop() {
 +  Serial.print(" ");
 +  Serial.print(compass.bearing());
 +  Serial.print(" ");
 +  Serial.print(compass.pitch());
 +  Serial.print(" ");
 +  Serial.println(compass.roll());
 +  delay(500);
 +}
 +</code>
 +===== scripte ajout positionnement =====
 +Ce script fonctionne sur l'interface RTKLIB_Touchscreen_GUI/RTKBASE
 +<code>
 +#!/bin/bash
 +cd ~/RTKLIB_Touchscreen_GUI/RTKBASE
 +while inotifywait -q -e modify saveWGS84coordbuffer.txt >/dev/null;
 +do
 +        cat < /dev/ttyACM1 > /tmp/compass.log &
 +        RET=$!
 +        cat saveWGS84coordbuffer.txt | awk '{ printf("%s %s %s",$1,$2,$3)}' >> pointcorrige.txt
 +        sleep 1
 +        tail /tmp/compass.log | sed  '/^$/d' | tail -n1  >> pointcorrige.txt
 +        kill -9 $RET
 +done
 +exit 0
 +</code>
 +
 +? faire la correction sur une valeur en m (sortie XYZ plutot que LLH) ?
kerminy/pointeuse.txt · Dernière modification : 2024/02/09 17:26 de 127.0.0.1