Come posso manipolare i dati del sonar in tempo reale dal mio Arducopter in Arduino?


8

Ho un APM 3DR Quad con un kit di telemetria radio 3DR. Vorrei inviare i dati del sonar in tempo reale sul mio laptop (con Windows 7) per manipolarli in un Arduino Sketch aggiuntivo.

Il sensore sonar è collegato a un canale Analog In sul mio Arduino. Questi dati vengono elaborati per i calcoli dell'altitudine e vorrei inviare questi dati di altitudine a una sorta di stazione di terra sul mio computer attraverso l'uso di un kit di telemetria (2 radio 3DR: 1 sul quadricoptero e 1 sul mio computer).

Non sono sicuro di come svolgere questo compito. Esiste un modo per modificare il codice sorgente (GCS.h o GCS_Mavlink.pde) insieme alla stazione di terra Mav 1.0 di Mission Planner? O avrei bisogno di scrivere un modulo Python per ottenere questo risultato?


Ciao David, benvenuto nella robotica . In genere siamo gentili e disponibili qui, quindi ho eliminato la riga "grazie" dalla tua domanda: è compresa :). Una domanda che ho è se stai dicendo sonar quando intendi "telemetria radio".
Ian,

No, ho un sensore sonar collegato a un canale Analog In sul mio Arduino. Questi dati vengono elaborati per i calcoli dell'altitudine e vorrei inviare questa altitudine a una sorta di stazione di terra sul mio computer attraverso l'uso di un kit di telemetria (2 radio 3DR: 1 sul quadricoptero e 1 sul mio computer)
user1702

Ciao utente1702, i commenti hanno lo scopo di aiutare a rendere le domande e le risposte migliori, quindi è meglio aggiungere le informazioni richieste nei commenti modificando la domanda, in questo modo i commenti possono essere riordinati (eliminati) e non distoglieranno più le persone dalla domanda.
Mark Booth

Vuoi elaborare i dati del sonar sul tuo laptop o inviarli tramite il laptop a un altro arduino?
John Wiseman,

John, vorrei elaborare i dati sul mio laptop. Ho cercato di far funzionare mavproxy, ma ho riscontrato alcuni problemi. Spero di poter integrare un modulo Python per aiutare con questo.
user1702

Risposte:


2

La configurazione del software per l'estrazione di nuovi dati dei sensori personalizzati tramite MAVLink sembra essere più difficile di quanto dovrebbe essere.

Il primo passo è fare in modo che il quadricoptero invii i dati.

  • Innanzitutto, è necessario definire un nuovo tipo di messaggio MAVLink utilizzando XML in mavlink / message_definitions. Puoi semplicemente creare un nuovo numero intero inutilizzato per message_id.
  • In secondo luogo, si generano le funzioni di pacchetto / decompressione del messaggio utilizzando il generatore MAVLink.
  • Quindi dovrai aggiungere il codice ad ArduCopter / GCS_Mavlink.pde in data_stream_send per compilare e inviare il tuo messaggio. Devi stare un po 'attento qui, perché le dinamiche di volo iniziano a degradare se le letture del sensore fermano il circuito principale per più di qualche millisecondo, specialmente per un piccolo quad o volando al chiuso (questo è ciò che riguarda il business "gcs_out_of_time" ). Aggiungerei un nuovo sensore al trigger STREAM_EXTRA3.
  • Ricostruisci e carica il nuovo firmware di volo.

L'altra metà del progetto è sul PC, dove è necessario modificare il software della stazione di terra per leggere i pacchetti MAVLink dal flusso di telemetria. Non ho idea di dove inizieresti a fare questo con Mission Planner, che sembra un software davvero sofisticato. Ma fortunatamente scarica la telemetria radio grezza nel "tlog" , quindi potresti essere in grado di costruire un programma completamente separato che cerca il tuo nuovo pacchetto MAVLink dal tlog. (Certamente non vuoi un Arduino Sketch per questo, dal momento che un Sketch gira su Arduino, non sul PC.)

Se questo ti sembra intimidatorio, non sei solo! Per il nostro quad indoor, abbiamo finito per costruire il nostro protocollo di comunicazione radio e "stazione di terra", dal momento che non potevamo usare il GPS o i waypoint o le altre funzionalità MAVLink, e trattare con la complessità di MAVLink non ne valeva la pena.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.