rumfart på den anden måde cs banner bloghoved

Nyt fra GPS fronten

Arbejdet med GPS enhederne fortsætter stille og roligt. Det foregår mest i baggrunden når jeg har fri — altså fri fra CS.

Vi kan begynde med en glædelig nyhed.

Efter sidste blog om GPS'erne er vi blevet kontaktet af GomSpace, en rumfartsvirksomhed i Aalborg med speciale i cubesats. Udover at sælge egne produkter og bygge egne satellitter, deltager de også i større projekter i ESA sammenhæng.

De har tilbudt os at sponsorere en NovAtel OEM615 GPS modul uden COCOM begrænsninger. Det er faktisk en model som allerede har været anvendt i forskellige cubesat missioner! I første omgang bliver forsynet med en engineering enhed til udvikling og test frem mod sommerens opsendelser.

Illustration: CS

Figur 1: NovAtel OEM615 GPS modul (billedet er fra nettet og kan afvige fra den faktiske enhed).

Piksi status

Det er faktisk meget belejligt med en ny GPS fordi det går lidt op ad bakke med Piksien, og lige nu ved jeg ikke helt hvor det fører hen. Udviklingsværktøjerne kan ikke rigtig snakke sammen med enheden; jeg mener at det er fordi firmware og bootloader i vores enhed er meget gammel og bruger en anden protokol end værktøjerne gør. Folk fra Sviftnav har bekræftet at der er sket væsentlige ændringer i både firmware og bootloader siden sidste år, så den eneste løsning er at slette og genetablere hele flashen ved hjælp af JTAG interface. Ok, de har faktisk tilbudt at bytte enheden til en med ny firmware, men nu vil jeg lige prøve prøve først med JTAG, hvis bare jeg kan finde et passende stik (hvor finder man FTSH-105-D med 2x5 ben fra SAMTEC?).

Der går i øvrigt rygter om at der er kommet to nye Piksier til Danmark. De har sidst været spottet i Nordjylland for et par dage siden...

Testopstillingen

Vi skal bruge en testopstilling hvor vi kan teste flere GPS enheder på samme tid med samme GPS signal. Jeg nævnte i forrige blog at vi regner med at bruge en GPS simulator til at verificere GPS modtagernes funktionalitet ved forskellige højder og hastigheder. Til det formål har vi brug for at kunne logge data fra GPS modtagerne og sammenligne med data fra simulator.

Stort set alle GPS’er leverer data over en seriel forbindelse enten i NMEA-0183 format eller et binært format. Det binære format varierer fra fabrikant til fabrikant og man kan som regel frit vælge om man vil have NMEA eller binær data fra en GPS. Nogle GPS’er kan endda levere begge formater på samme tid over to separate forbindelser.

Hvis vi i første omgang holder os til NMEA formatet er det relativt simpelt at få brugbar data ud af GPS’erne. NMEA-0183 er læsbar tekst og mange nørder kan fortolke NMEA blot ved at se teksten rulle forbi. Se bare her:

Figur 2: NMEA-0183 data fra en GPS modtager.

Quiz: Hvad er postadressen for ovenstående GPS data og hvad hedder GPS satellitten med det kraftigste signal?

En hurtig testopstilling kunne bestå af at forbinde GPS enheden til en PC ved hjælp af en USB til TTL konverter. Man kan så bruge en terminal eller en mere avanceret applikation til at gemme og eventuelt visualisere NMEA data. Det med terminalen er netop hvad jeg har gjort i ovenstående skærmdump på figur 2. De fleste PC’er har flere USB porte så man kan teste flere GPS’er på samme tid. Ellers kan man få USB hubs.

Men... Jeg kunne nu godt tænke mig en lidt mere kompakt opstilling som ikke er afhængig af en PC. PC'er er meget fine fordi de har høj ydeevne og fleksibilitet, men jeg synes at det ofte ender i rodede opstillinger med kabler på kryds og tværs. Og så skal windows også lige i gang med nogle opdateringer mens man er midt i... nå...

En lille mikrocomputer med et passende antal serielle eller USB porte er også i stand til læse og gemme NMEA data fra flere GPS enheder. Det skal der ikke så meget regnekraft til. Jeg vil faktisk helst bruge seriel porte da man så slipper for ekstra USB-seriel konverter. Mikrocomputeren må til gengæld meget gerne have netværksforbindelse så vi kan sende NMEA data over netværket til eventuelle klienter som bruges til overvågning af testen.

Figur 3: En mulig testopstilling med en mikro-computer.

Hvis jeg kigger i rodekassen, kan jeg se at der ligger et par Raspberry Pi og et par Beaglebones (både sorte og hvide). En Beaglebone Black ville være oplagt til dette formål. Den har 6 UARTs hvoraf 4 kan bruges til GPS. Derudover har den også USB host og netværk. Som ekstra bonus kan den køre styresystemet fra eMMC flash og overlade SD kortet til lagring af GPS data. Dermed kan datadisken holdes adskilt fra systemdisken.

Men er der andre, måske mere oplagte muligheder til en simpel PC-fri testopstilling? Kravene er meget simple:

  • Hent NMEA data fra 2 til 4 GPS enheder
  • Gem NMEA data på disk (brugeraktiveret)
  • Send NMEA ud på netværk
  • Må ikke koste meget (helst ingenting ;-)

Desuden, hvis nogen kender nogle gratis applikationer som kunne bruges til at visualisere NMEA data fra GPS (helst til linux eller til mac), hører vi gerne om det. Altså sådan noget i stil med NMEA-til-Google-Earth-kmz oversætter. Eller måske en simpel web app som kan plotte GPS data mens testen kører?

Alexandru Csete er et af flere medlemmer af Copenhagen Suborbitals, der skriver på denne blog.
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først

Raspberry Pi B+, det nyeste skud på stammen, har fire USB-porte, og selvfølgelig ethernet (RJ-45). Logs kan gemmes på microSD-kort.

  • 2
  • 0

http://www.gpsvisualizer.com/faq.html angiver de at de kan modtage et hav af forskellige formater, herunder "Raw NMEA sentences". Jeg har ikke selv erfaring med rå nmea, men jeg har tidligere brugt gpsvisualizer til andre ting og kan kun anbefale servicen. Det kan producere output i forskellige formater herunder kmz (til google earth).

Det er et online tool og så vidt jeg ved er der ikke noget API, så det kan være det ikke passer så godt til jeres brug.

Håber jeres GPS-simulator bliver open source - det lyder meget generelt anvendeligt.

  • 1
  • 0

Quizsvar:

Mit bud er at adressen er Lundtoftegårdsvej 93D i Lyngby (Thrane&Thrane - Eller er det måske Lundtoften 160 istedet ?).

Den satellit med det bedste signal er nr. 02.

  • 2
  • 0

Mit umiddelbare bud er at de to Piksi er observeret på Gøl pølsers parkeringsplads i Svenstrup Ja jeg har brugt en mindre formue på noget der forhåbentligt kommer til at virke, men ellers kan det jo være de bliver doneret til CS på et tidspunkt (det ender med de drukner i GPS'er).

CS vil bruge Piksier fordi det måske er muligt at de kan lave en tilrettet SW hvor COCOM begrænsningerne er slået fra. Det Piksierne nu er lavet primært til er at de skal kunne køre RTK hvor man kan få en cm nøjagtig position. Jeg lavede lidt test i weekenden hvor jeg bla. satte to GPS antenner på taget af min bil med 1m mellemrum mellem antennerne. Jeg kørte så rundt på nævnte parkerringsplads i 8 taller og den almindelige GPS kan ses til venstre og den indbyrdes målte afstand kan ses til højre Jeg syntes faktisk det er imponerende, men desværre kan jeg se der er et stykke vej før det også er stabilt. Når det engang er stabilt sætter vi den ene GPS på Sputnik og den anden sætter vi på en quadrocopter der kan cirkle rundt omkrink Sputnik i 100 m højde og lade den filme Spica under opsendelse. Ja der går nok lige et par år før det setup er helt på plads ;-)

  • 5
  • 0

Kan helt klart tilslutte mig at bruge et single computer board og seriel tilslutning. Alt andet giver en unødvendig kompleksitet der garanteret fejler når det går løs. Husk evt. logic level konvertering!

  • 1
  • 0

Raspberry Pi B+, det nyeste skud på stammen, har fire USB-porte, og selvfølgelig ethernet (RJ-45). Logs kan gemmes på microSD-kort.

Malthe, det er da bestemt en mulighed at bruge en Raspberry Pi — jeg har faktisk overset at der er kommet en model B+ med 4 USB porte, så det er slet ikke så tosset.

Nu hvor jeg kigger i webshoppen kan jeg se, at der også er kommet en meget kompakt model A+ og den tror jeg vi skal bruge i den næste version af rocketcam som jeg skal i gang med meget snart :-)

  • 0
  • 0

På http://www.gpsvisualizer.com/faq.html angiver de at de kan modtage et hav af forskellige formater, herunder "Raw NMEA sentences".

Rasmus, Tak for linket til GPS Visualizer. Den tror jeg helt sikkert bliver nyttig til vores tests.

Håber jeres GPS-simulator bliver open source - det lyder meget generelt anvendeligt.

Vi laver ikke GPS simulator selv men bruger et færdigt instrument. Sådant et instrument plejer at være meget dyrt, men lige p.t. har vi udsigt til at få adgang til en Spirent STR4500 hos SP i København.

Den software vi evt. selv laver til testopstillingen bliver open source. Det samme gælder testdata og testprocedurer hvis det giver mening (har ikke brugt instrumentet så jeg ved endnu ikke hvordan det virker).

  • 1
  • 0

Det kan det meste og kører ret stabilt.

Check i øvrigt odroid-w, en super kompakt raspberry. Der laves dog ikke flere så der er kun så længe lager haves.

  • 1
  • 0

Ville det være muligt når CS flyver en raket at optage de GPS radiosignaler som modtages på en måde så de kan bruges til simuleringer i udvikling af elektronik til fremtidige missioner? Indrømmet det må være rigtigt mange data der skal lagres men måske der kan findes en måde med et meget hurtigt flash medie?

Klaus,

Det er faktisk en interessant ide og umiddelbart vil jeg sige at ja, det er muligt. Selv i min hobby samling har jeg adskillige radioer som kan optage, lagre og genafspille "rå RF" på GPS frekvenser. Jeg er dog lidt i tvivl om deres RF front-end er god nok til modtagelse af GPS.

Hvis vi optager 10 MHz båndbredde i 16 bit opløsning bliver det 2 bytes / sample ved 20 Msps = 40 Mbyte / sekund. Det er meget hvis det skal optages kontinuert men ikke umuligt. Og i virkeligheden har vi formentligt kun 10-14 bit ADC så vi kan komprimere et par bits/byte væk hvis det er nødvendigt.

Det tror jeg bestemt vi skal have i baghovedet og prøve når vi leger med simulatoren. Ja, vi kan ligeså godt prøve at optage simulatorens output.

  • 3
  • 0

Hvis vi optager 10 MHz båndbredde i 16 bit opløsning bliver det 2 bytes / sample ved 20 Msps = 40 Mbyte / sekund. Det er meget hvis det skal optages kontinuert men ikke umuligt.

Alexandru, fedest! Jeg kikkede lige på sandisk.com og kan se at de har CF kort der sagtens kan følge med. Udfordringen er naturligvis om det krævede hardware interface kan virke under driftforhold både hvad strålingsniveau, temperatur og vibrationer angår for en raketflyvning er jo ikke ligefrem en sofaoplevelse. For ikke at nævne om det krævede hardware interface fås i betalelig udgave til den computerplatform som tænkes anvendt.

De opsamlede rå GPS data kan have gode anvendelsesmuligheder for andre hvorfor de måske kunne veksles til noget støtte udefra mod at data deles med omverden? Måske det perspektiv også kunne betale for hardwaren til optagelse af flyvningen? Eneste udfordring er naturligvis at man skal have fat i lagermediet bagefter! ;-)

  • 0
  • 0

Jeg kiggede fornyligt efter en arm maskine som server, og faldt i den sammenhæng over udoo http://www.udoo.org/

det er en rimelig kraftig arm processor, enten i en dual eller quad udgave, på samme print har de også sat en arduino due. og som en vigtig ting for mig, så har quad udgaven en sata port samt gigabit ethernet.

er en maskine der giver et væld af mulighedder til små setups, i forhold til raspberrys, beaglebones osv

  • 2
  • 0

ille det være muligt når CS flyver en raket at optage de GPS radiosignaler som modtages på en måde så de kan bruges til simuleringer i udvikling af elektronik til fremtidige missioner? Indrømmet det må være rigtigt mange data der skal lagres men måske der kan findes en måde med et meget hurtigt flash medie?

Det giver ikke mening, da der ikke er muligt at lave en HW in the loop simulator på den måde. (Lukket sløjfe)

En ægte HW in the loop simulator bør have et ekstra sæt encodere på servoerne, som føder data ind i en flight model, som beregner acceleration, hastighed, og position i 6 DOF. Positionen fødes så ind i en GPS satellit simulator, og radiosignalet fra denne fødes så ind i flight HW. Problemet er som altid at lave sådanne simulatorer hurtige nok, således at de ikke medføre ustabilitet.

  • 0
  • 0

Er du sikker på at det ikke er FTSH-105-01-F-D du skal have fat i

Ja men, det har du da også fuldstændig ret i...

Af en eller anden grund (som vi helst ikke skal komme nærmere ind på) troede jeg at det var med 1.0 mm pitch, mens alt hvad der bare lignede det stik på nettet og i vores skuffer) var med 1.27 mm pitch. Så det har forvirret mig en del. Efter jeg har set din link har vi kigget i Eagle board filen som findes på github og prøvet at måle pitch. Det er 1.27 mm og nu kan jeg pludselig finde et passende stik i vores skuffer.

Jeg er glad for at have taget fejl :-)

  • 3
  • 0

Jeg kiggede fornyligt efter en arm maskine som server, og faldt i den sammenhæng over udoo http://www.udoo.org/

det er en rimelig kraftig arm processor, enten i en dual eller quad udgave, på samme print har de også sat en arduino due. og som en vigtig ting for mig, så har quad udgaven en sata port samt gigabit ethernet.

Den er da alt for kraftig til vores behov her :-)

Til gengæld tror jeg vi kan bruge den i vores telemetrimodtager setup. Der kan vi nemlig godt udnytte både multi-core CPU, SATA interface og endda også audio out. Til Sapphire havde vi lavet det på den måde at telemetrimodtageren gav en tone med en frekvens der var afhængig af signalstyrken. Ligesom metaldetektorer. Det gør nemlig at man lettere kan pege på en flyvende raket selvom den er forsvundet bag skyer. Vi brugte en PC og det bliver rart at udskifte den med mindre single-board computer.

  • 2
  • 0

@Niels Danielsen: Den må du gerne forklare nærmere! På hvilken måde kan dette ikke lade sig gøre?

Da GPS signalerne forefindes inden for et afgrænset frekvensbånd må det antages at optages dette frekvensbånd under en flyvning fås en log af de modtagne signaler der kan anvendes til efterfølgende simuleringer. Der er tale om rigtigt mange data og der er ingen variation i mellem hver afspilning. Men til gengæld fås en optagelse af de eventuelle dynamiske aspekter der måtte være i forbindelse med flyvning ved høj hastighed.

  • 0
  • 0

Det giver ikke mening, da der ikke er muligt at lave en HW in the loop simulator på den måde. (Lukket sløjfe)

En ægte HW in the loop simulator bør have et ekstra sæt encodere på servoerne, som føder data ind i en flight model, som beregner acceleration, hastighed, og position i 6 DOF. Positionen fødes så ind i en GPS satellit simulator, og radiosignalet fra denne fødes så ind i flight HW. Problemet er som altid at lave sådanne simulatorer hurtige nok, således at de ikke medføre ustabilitet.

Niels,

Jeg opfattede Klaus' forslag til at gå udelukkende ud på at teste andre GPS enheder med signaler optaget under flight eller fra GPS simulator. Men det kan godt være han mente komplette setups. I så fald vil jeg give dig ret i at det vil kræve mere omfattende opstilling, og jeg er ikke engang sikker på at det vil kunne betale sig for os.

Bemærk i øvrigt at vi på nuværende tidspunkt ikke har planer om at bruge GPS data til aktiv styring af raketten. GPS bruges kun til at bekræfte apogee samt positionsbestemmelse i forbindelse med recovery af booster og kapsel.

  • 2
  • 0

Nu har jeg ikke lige en i overskud, men kunne en MOXA boks fra deres Nport serie ikke klare det, f.eks. NPort 5410. Den har 4 seriel porte som man så kan sætte op så man via en "telnet " kan tilgå de 4 porte, X er så fire forskellige porte. De er stabile og kræver ikke andet end lidt konfigurering.

  • 0
  • 0

Nu har jeg ikke lige en i overskud, men kunne en MOXA boks fra deres Nport serie ikke klare det, f.eks. NPort 5410. Den har 4 seriel porte som man så kan sætte op så man via en "telnet " kan tilgå de 4 porte, X er så fire forskellige porte. De er stabile og kræver ikke andet end lidt konfigurering.

Jo, det tror jeg godt man kunne bruge, men så skal man stadig bruge en PC til at logge data fra Moxa, ikke? Fidusen med at bruge en mikro-computer er at den kan virke som en Moxa (med lidt seriel-til ethernet software) men den kan også gemme GPS data på sin SD kort uanset om der er PC koblet til eller ej.

  • 0
  • 0

Min Nport (NP6650-16) kan tage et SD kort og så logge de serielle porte. Men det er ikke en feature jeg har brugt så jeg kan ikke sige så meget om den. Hvor meget data ca. skal der lagers per port, så kan jeg se om den kan.

  • 0
  • 0

Nu har jeg kigget igennem og lavet en lille test, men den gør desværre ikke det du vil. Det SD kort kan bruges til buffer men maksimalt 32 MB og den er mest beregnet til at buffer i tilfældet af ustabil ethernet forbindelse. Så hvis du ikke har et kable til en computer, så kan du ikke bruge denne, så du må på jagt igen.

  • 0
  • 0

Når snakken falder på single board computers så må jeg altså lige nævne adapteva parallella. En dual core arm med en 16 eller 64 kerners Co-processor. Kort sagt en "supercomputer" i raspberry pi størrelse. Kode der kan parallelliseres kan køre rigtig stærkt på sådan en.

  • 1
  • 0

Når snakken falder på single board computers så må jeg altså lige nævne adapteva parallella. En dual core arm med en 16 eller 64 kerners Co-processor. Kort sagt en "supercomputer" i raspberry pi størrelse. Kode der kan parallelliseres kan køre rigtig stærkt på sådan en.

Så længe det drejer sig om multi-core computere har jeg ikke noget problem med off topic :-)

Parallella'en er en dejlig lille computer. Jeg er så heldig at have fået en igennem kickstarter men har desværre ikke nået at bruge den til ret meget endnu. Det var min oprindelige plan at bruge parallella til en digital videosender på HEAT-2X; der kan man nemlig udnytte de 16 kerner. Men nu må det projekt vente til Spica. På de mindre raketter er vi nødt til at bruge noget mere kompakt.

Parallella'ens fordel er netop høj ydelse / watt hvis man udnytter Epiphany co-processoren og er derfor yderst relevant til raketter hvor man har brug for den høje ydelse.

  • 0
  • 0
Bidrag med din viden – log ind og deltag i debatten