RTK-GPS och autostyrning
Re: RTK-GPS med centimeter precision och auto styrning.
DVB-T adapter för 35 EUR som mjukvaru-GPS:
http://hackaday.com/2012/04/13/those-us ... -gps-data/
http://michelebavaro.blogspot.it/2012/0 ... omain.html
(I/Q interleaveat int_8)
http://hackaday.com/2012/04/13/those-us ... -gps-data/
http://michelebavaro.blogspot.it/2012/0 ... omain.html
(I/Q interleaveat int_8)
Re: RTK-GPS med centimeter precision och auto styrning.
En liten uppdatering. Har nu lyckats få en stabil rtk fix med både quadrifilar helix och patch antenner. När motagaren är still så befinner sig gps positionen inom
en cirkel på 5 cm, inmätning av bas gjorde jag genom att logga data under några timmar och sedan ta genomsnittet av positionen.
Just nu så håller jag på och skriver programmet som skall läsa positionen och räkna ut om den är på linjen eller hur mycket det fattas. För tillfället är det Visual basic 2010 som jag skriver i då jag inte fick någon ordning på python med Qt. får se när jag har ett program som funkar om man kan försöka lära sig något C liknande språk. Det vore kul om det gick att köra programmet på Windows, Unix, Mac och Smart phones. När jag har fått ihop något som duger till att visa så lägger jag upp projektet på Git-Hub.
Nuvarande plan är windows laptop som kör rtklib och räknar ut körspår. Datorn skickar sedan via serie port hur många centimeter åt höger eller vänster som positionen avviker. i andra änden så blir det en valfri microprocessor som styr en elmotor som vevar ratten och läser styrvinkel givare, gyron och acellerometrar.
Någon som har namnförslag för projektet? Första idén jag hade var Hallon Pilot då det var tänkt att använda raspberry pi, men det behövs nog ett mer universielt namn.
en cirkel på 5 cm, inmätning av bas gjorde jag genom att logga data under några timmar och sedan ta genomsnittet av positionen.
Just nu så håller jag på och skriver programmet som skall läsa positionen och räkna ut om den är på linjen eller hur mycket det fattas. För tillfället är det Visual basic 2010 som jag skriver i då jag inte fick någon ordning på python med Qt. får se när jag har ett program som funkar om man kan försöka lära sig något C liknande språk. Det vore kul om det gick att köra programmet på Windows, Unix, Mac och Smart phones. När jag har fått ihop något som duger till att visa så lägger jag upp projektet på Git-Hub.
Nuvarande plan är windows laptop som kör rtklib och räknar ut körspår. Datorn skickar sedan via serie port hur många centimeter åt höger eller vänster som positionen avviker. i andra änden så blir det en valfri microprocessor som styr en elmotor som vevar ratten och läser styrvinkel givare, gyron och acellerometrar.
Någon som har namnförslag för projektet? Första idén jag hade var Hallon Pilot då det var tänkt att använda raspberry pi, men det behövs nog ett mer universielt namn.
Re: RTK-GPS med centimeter precision och auto styrning.
Trakpilot? (traktor-(auto)pilot)
Btw, Hittade GPS RAW protokollet: u-blox.com/../u-blox5_Protocol_Specifications%28GPS.G5-X-07036%29.pdf
Sid 91/173
RXM-RAW
64-bit fasläge [L1 cykler]
64-bit pseudoavstånd [m]
32-bit dopplervärde [Hz]
8-bit Rymdfordonsnummer
8-bit kvalitetsindikator
8-bit signalstyrka C/No [dB/Hz]
?-bit tapp av låsindikation per RINEX definition
Btw, Hittade GPS RAW protokollet: u-blox.com/../u-blox5_Protocol_Specifications%28GPS.G5-X-07036%29.pdf
Sid 91/173
RXM-RAW
64-bit fasläge [L1 cykler]
64-bit pseudoavstånd [m]
32-bit dopplervärde [Hz]
8-bit Rymdfordonsnummer
8-bit kvalitetsindikator
8-bit signalstyrka C/No [dB/Hz]
?-bit tapp av låsindikation per RINEX definition
Re: RTK-GPS med centimeter precision och auto styrning.
Detta är ju jätteintressant för styrning av gräsklippare och snöslungor. Kartografer och andra är säker intresserad också.
Kan du inte dokumentera i wikin exakt hur du fick det att fungera och vilka problem du hade på vägen, samt andra erfarenheter du fått?
Autopiloter finns det väldigt många av, så ta någon som redan finns och bygg vidare på den. Du slipper en massa jobb och många andra kan dra nytta av det som du tillför och även jobba vidare på det.
Kan du inte dokumentera i wikin exakt hur du fick det att fungera och vilka problem du hade på vägen, samt andra erfarenheter du fått?
Autopiloter finns det väldigt många av, så ta någon som redan finns och bygg vidare på den. Du slipper en massa jobb och många andra kan dra nytta av det som du tillför och även jobba vidare på det.
Re: RTK-GPS med centimeter precision och auto styrning.
Jag skall se om jag kan skriva något i wikin imorgon.
Jag skriver en egen autopilot just för att jag har inte hittat någon öppen just med inriktning av jordbruk, utan de flesta har varit för flyg och båt som bara styr mot waypoints. inom jordbruket så måste det gå att följa en linje utan att driva från den. jag skriver en egen också för att lära mig.
Just nu så håller jag på och konverterar en funktion från python till visual basic 2010 och har lyckats att köra fast
mistänker att jag missat något med radians och grader eller komma och punkt. jag får t.ex 16456871,8006866 när svaret skall vara 173.871657948
I python
i visual basic 2010
Är det någon som har några förslag?
bifogar projektet i visual studio
Jag skriver en egen autopilot just för att jag har inte hittat någon öppen just med inriktning av jordbruk, utan de flesta har varit för flyg och båt som bara styr mot waypoints. inom jordbruket så måste det gå att följa en linje utan att driva från den. jag skriver en egen också för att lära mig.
Just nu så håller jag på och konverterar en funktion från python till visual basic 2010 och har lyckats att köra fast

I python
Kod: Markera allt
from math import radians, degrees, sin, cos, asin, sqrt, atan2, pi
EARTH_RADIUS = R = 6371008.7714; # Meters (make sure this is a float)
def distance_haversine(lat1, lon1, lat2, lon2):
"""Use Haversine formula to calculate distance (in km) between two
points specified by latitude/longitude (in numeric degrees). """
dlat = radians(lat2 - lat1)
dlon = radians(lon2 - lon1)
lat1 = radians(lat1)
lat2 = radians(lat2)
a = sin(dlat / 2) * sin(dlat / 2) + cos(lat1) * \
cos(lat2) * sin(dlon / 2) * sin(dlon / 2)
c = 2 * atan2(sqrt(a), sqrt(1 - a))
d = R * c
return d
Kod: Markera allt
Public Class gps
#Region "Variabler"
'Börja med att skapa variabler och konstanter
Const R As Double = 6371008.7714 'Jordens radie i meter.
#End Region
Public Function distance(ByVal Lat1 As Double, ByVal Lon1 As Double, ByVal Lat2 As Double, ByVal Lon2 As Double)
'Haversine formel
Dim dLat As Double = (Math.PI / 180) * (Lat2 - Lat1)
Dim dLon As Double = (Math.PI / 180) * (Lon2 - Lon2)
Lat1 = (Math.PI / 180) * Lat1
Lat2 = (Math.PI / 180) * Lat2
Dim a As Double = Math.Sin(dLat / 2) * Math.Sin(dLat / 2) + Math.Cos(Lat1) * Math.Cos(Lat2) * Math.Sin(dLon / 2) * Math.Sin(dLon / 2)
Dim c As Double = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a))
distance = R * c
End Function
End Class
bifogar projektet i visual studio
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: RTK-GPS med centimeter precision och auto styrning.
Jag har försökt lära mig C och dess "uppföljare" men jag klarar inte av att läsa koden, alla parenteser gör att jag tappar vad som hänger ihop. Python är hitills det språk som jag kan läsa lättast. jag är inne och nosar på vb då jag inte fick någon ordning på gui programmering i python med qt.
är inget vidare på programmering men släng en trasig traktor på mig så är den ihop på ett kick.
är inget vidare på programmering men släng en trasig traktor på mig så är den ihop på ett kick.
Re: RTK-GPS med centimeter precision och auto styrning.
För att få en bättre uppfattning om vad som lämpar sig. Vad slags maskin och "operativsystem" har du för avsikt att köra din kod i ..?
Re: RTK-GPS med centimeter precision och auto styrning.
rjl11
>klarar inte av att läsa koden, alla parenteser gör
>att jag tappar vad som hänger ihop
Ett sätt att hålla rätt på parenteser.
Använd en mall med både start och slut parenteser.
Använd en kommentar vid båda start och slut.
returtyp namn(invärden typ)
{/*Start function namn /*
;
;
;
;
}/*Slut function namn /*
Skräck exemplet som jag har sett C-program lista där sist sida endast slut parenteser likt detta.....
}
}
}
>klarar inte av att läsa koden, alla parenteser gör
>att jag tappar vad som hänger ihop
Ett sätt att hålla rätt på parenteser.
Använd en mall med både start och slut parenteser.
Använd en kommentar vid båda start och slut.
returtyp namn(invärden typ)
{/*Start function namn /*
;
;
;
;
}/*Slut function namn /*
Skräck exemplet som jag har sett C-program lista där sist sida endast slut parenteser likt detta.....
}
}
}
Re: RTK-GPS med centimeter precision och auto styrning.
Exempel i C med funktion som adderar 'a' och 'b' samt returnerar resultatet:
Din funktion översatt till C:
(kompilerar med gcc -lm iaf..
)
Kod: Markera allt
int addition(int a, int b) {
int c;
c = a + b;
return c;
}
(kompilerar med gcc -lm iaf..

Kod: Markera allt
#include <stdio.h>
#include <math.h>
#define EARTH_RADIUS 6371008.7714 // Meters (make sure this is a float)
double distance_haversine( lat1, lon1, lat2, lon2 )
double lat1, lon1, lat2, lon2;
{
// Use Haversine formula to calculate distance (in km) between two
// points specified by latitude/longitude (in numeric degrees).
double dlat, dlon, a, c, d;
dlat = radians(lat2 - lat1);
dlon = radians(lon2 - lon1);
lat1 = radians(lat1);
lat2 = radians(lat2);
a = sin(dlat / 2) * sin(dlat / 2) + cos(lat1) * \
cos(lat2) * sin(dlon / 2) * sin(dlon / 2);
c = 2 * atan2(sqrt(a), sqrt(1 - a) );
d = EARTH_RADIUS * c;
return d;
}
Re: RTK-GPS med centimeter precision och auto styrning.
Angående din VB kod, testa att byta ut de konstanta värderna mot flyttal alltså 180.0 istället för 180
Det borde inte spela någon roll här då minst en operand i beräkningen redan är ett flyttal, men man vet ju aldrig
Det borde inte spela någon roll här då minst en operand i beräkningen redan är ett flyttal, men man vet ju aldrig

Re: RTK-GPS med centimeter precision och auto styrning.
Intressant projekt!
Jag började kolla lite på D-GPS och RTKLib innan sommaren men jag gav upp för att det kändes som att det riskerade att bli dyrt. Dessutom tyckte jag att det fanns förvånansvärt lite information att hitta ute på nätet. Vilka källor har du använt?
När du satt upp den fasta positionen kan du ju sälja RTK-information till alla lantbrukare i området och konkurrera ut SWEPOS...
Ett alternativ kan ju vara att använda Java.
Jag har själv aldrig gillat det något vidare förrän jag började bygga lite Android-appar.
Det finns otroligt mycket kod att kika på och det är hyfsat likt C. (tycker jag...)
Jag började kolla lite på D-GPS och RTKLib innan sommaren men jag gav upp för att det kändes som att det riskerade att bli dyrt. Dessutom tyckte jag att det fanns förvånansvärt lite information att hitta ute på nätet. Vilka källor har du använt?
När du satt upp den fasta positionen kan du ju sälja RTK-information till alla lantbrukare i området och konkurrera ut SWEPOS...

Ett alternativ kan ju vara att använda Java.
Jag har själv aldrig gillat det något vidare förrän jag började bygga lite Android-appar.
Det finns otroligt mycket kod att kika på och det är hyfsat likt C. (tycker jag...)
Re: RTK-GPS med centimeter precision och auto styrning.
Jag är hyfsad på Python, men dess sämre på matematik tyvärr.
Har inte använt mig av QT, men av wxPython för lite enklare GUI applikationer. Men numera blir det mer och mer webb-baserat (Python HTTPServer, JSON & jQueryUI) så man kan köra det överallt.
Försök komma ifrån VB tycker jag. Känns något begränsat att behöva ha en hel Windows-dator med i bygget. C är definitvt bra på sina saker, men blir jäkligt komplext när det ska integreras med omvärlden.
Har inte använt mig av QT, men av wxPython för lite enklare GUI applikationer. Men numera blir det mer och mer webb-baserat (Python HTTPServer, JSON & jQueryUI) så man kan köra det överallt.
Försök komma ifrån VB tycker jag. Känns något begränsat att behöva ha en hel Windows-dator med i bygget. C är definitvt bra på sina saker, men blir jäkligt komplext när det ska integreras med omvärlden.
Re: RTK-GPS med centimeter precision och auto styrning.
@ blueint maskin är x86 och arm "raspberry pi".
operativsystem är vad som bjuds på platformen, windows, ubuntu/debian. Din översättning till C är ju lika lätt läst som python. jag måste nog ta mig i kragen och lära mig C då det funkar ju på allt i princip, det skulle jag ha nytta av sedan då styr rutinen skall skrivas på någon microcontroller.
@ nojan skall testas ikväll. skulle ju kunna ha betydelse när microsoft är med i bilden.
@ ulvert Tyvärr finns det väldigt lite information på nätet. bästa källan till information är programmets manual. Angående SWEPOS så ger rtklib inte ut något användbart till andra enheter, ingen RTCM än.
operativsystem är vad som bjuds på platformen, windows, ubuntu/debian. Din översättning till C är ju lika lätt läst som python. jag måste nog ta mig i kragen och lära mig C då det funkar ju på allt i princip, det skulle jag ha nytta av sedan då styr rutinen skall skrivas på någon microcontroller.
@ nojan skall testas ikväll. skulle ju kunna ha betydelse när microsoft är med i bilden.
@ ulvert Tyvärr finns det väldigt lite information på nätet. bästa källan till information är programmets manual. Angående SWEPOS så ger rtklib inte ut något användbart till andra enheter, ingen RTCM än.