CM level (relative) GPS positioning

Hi All,

I'm still building my electronics, but am very interested in avoiding laying the perimeter cable if at all possible. (My lawn is way, way too big! ;-)

Has anyone else seen this work by some EEs at Vanderbilt University in Tennessee?
http://www.isis.vanderbilt.edu/projects/relativeGPS
The technique uses two u-blox LEA-6T GPS receivers for their access to RAW measurements via the UBX protocol -- but (some?) later generation ublox receivers also allow access to the RAW measurements via a slightly different UBX message.

I bought a couple of appropriate GPS USB "pucks" from e-bay (the quadcopter UAV community uses them) and am planning on leaving one stationary, and mounting one on the mower.

The code from Vanderbilt is in Java, and there are reasonably heavy numerical calculations involved, so I doubt this could run directly on the Mega 2560. I'm looking at a udoo as a drop-in replacement on the mower (to support the Java) and will probably run the base station off a Linux box.

Just wondering if anyone else in this community might have already travelled down a similar path.

Thanks to the community for this great project and its great resources!

Cheers,
Frank Horowitz
 
Hi Frank,

The technique uses two u-blox LEA-6T GPS receivers for their access to RAW measurements via the UBX protocol

as far as I read here the problem is that the u-blox LEA-6M GPS do not support access to the raw data and the LEA-6T GPS seem to be very expensive. Do you know a way to get raw data from the 6M module? I am also searching some solution in that direction.

BR
Rajiva
 
Hi Frank
I'm also looking in cm level GPS.
I will probably buy this one here later this year: https://www.indiegogo.com/projects/reach-first-affordable-rtk-gps-receiver#/story
Software based on RTKLIB, Hardware uses U-blox NEO-M8T + Intel Edison. High quality antennas included, 9DOF IMU already included and so on.....

They also promised to provide an app where you easily can configure the whole RTK setup (RTKLIB). So you don't need to dive into RTKLIB settings.

Let's see what the early adopters are saying about it. Then I'll probably buy one in autumn.
BR
Raphael
 
As I understand the theory from the link in the OP, this technique is different from RTK -- which tries to establish absolute positioning. (Sort of; it's complicated; I've actually used an RTK setup in a geophysical survey, and that's a black box view of the results.)

The AGPL java library on github is the only software that I know of using this technique. Read the 2013 and 2014 conference papers pointed to under the original link. There's a Ph.D. thesis in there too...

U-blox makes several receivers with access to the raw GPS (phase, Doppler) data. The LEA-6T is probably the cheapest at the moment -- mostly because it is a couple of generations old. Mine cost USD43 each on ebay.

Incidentally, the receivers I bought actually communicate using an ardupilot APM 2.6 interface. From this link I find that it's not natively a USB at all, so that bit of information in my OP is not accurate.
 
Rajiva schrieb:
Hi Frank,

The technique uses two u-blox LEA-6T GPS receivers for their access to RAW measurements via the UBX protocol

as far as I read here the problem is that the u-blox LEA-6M GPS do not support access to the raw data and the LEA-6T GPS seem to be very expensive. Do you know a way to get raw data from the 6M module? I am also searching some solution in that direction.

BR
Rajiva

Hi Rajiva,
I knew I had seen this somewhere in my recent GPS trawling! Have a look at the thread in http://open-source-gps-related-disc...abble.com/Raw-Data-from-NEO-6M-td7572786.html from openstreetmap (I think). Starting with the post by vbenso about 1/3 of the way down the first page, there is a code for enabling the RAW data on the neo-6m. There's also a pdf or webpage from ublox floating around somewhere that describes which of their models supports RAW message.

Finally, I also stumbled across a multiple-manufacturer list showing which specific models allow you to get to the raw (phase, prng, doppler) measurements which are required for the technique in the OP.

I think this is (finally) a crack in the GPS manufacturing wall whereby users can at last get to the raw measurements on receivers costing less than multiple thousands of USD (i.e. "hobbyist grade" instead of "professional grade"). That, along with the algorithm from the Vanderbilt folks and communications (I'm planning on using WiFi on my lawn), appears to be enough to do really useful things cheaply.
 
Zuletzt bearbeitet von einem Moderator:
Hi Frank,

Starting with the post by vbenso about 1/3 of the way down the first page, there is a code for enabling the RAW data on the neo-6m.

:woohoo: that Sound really interesting! I will get into the thread soon. :)

I'm planning on using WiFi on my lawn

Wifi has something but I am not sure yet if Bluetooth would not be the better choice. BT has the Advantage of P2P connections with Pairing security. To get Wifi secure is much more complicated by a small MCU as the AVR Mega controllers. The disadvantage of BT is that our small BT Module is not usable for large ranges so a different module is required. ;)

BR
Rajiva
 
Rajiva schrieb:
To get Wifi secure is much more complicated by a small MCU as the AVR Mega controllers. The disadvantage of BT is that our small BT Module is not usable for large ranges so a different module is required. ;)

Agreed!

However, as I said in the OP, the Vanderbilt algorithm is currently a Java library, which also is unlikely to work on the Mega 2560. My current plan is to use a udoo dual (or maybe even a quad) which is advertised as being Arduino Due compatible as a "drop in" (right! In my dreams! ;-) replacement for the Mega. That way, I get a full linux system on the same board, complete with WiFi and whatever else is needed from the linux side.

I do like what I've seen of the Arduino ecosystem so far (this is my first big project in this space) but Linux has everything, and I've been a user in that space for nearly 20 years. The ability to avoid C++ and Java coding in favor of Python is just too much of a draw for me personally! ;-)

I'll let everyone know how things go with this project!
 
Zuletzt bearbeitet von einem Moderator:
Hi Frank,

However, as I said in the OP, the Vanderbilt algorithm is currently a Java library, which also is unlikely to work on the Mega 2560
true but the main stuff can surely be ported to other Systems.

That way, I get a full linux system on the same board, complete with WiFi and whatever else is needed from the linux side.
I like the idea of having a small MCU in the mower and i have a lot knowlage programming these avr's so i go the arduino way. But I agree that the arduino will come to the Limit with all that and so i'm thinking about separating the work. One idea is having the mower running with a avr and keeping heavy calculating stuff in the charger Station. If the mower is connected by a P2P Connection it would be easy to Exchange all Kind of work with the computing power inside the charger.

I do like what I've seen of the Arduino ecosystem so far (this is my first big project in this space) but Linux has everything, and I've been a user in that space for nearly 20 years.
For me it is just the oposite. I have many years of knowlage in AVR programming and i love those tiny Controllers. If you do not get in Timing Trouble because of to much processes running in a single mcu those mcu's are working very stable and secure.

I'll let everyone know how things go with this project!

B)

BR
Rajiva
 
RTK has move along way since this thread was written. I have a pair of Ublox M8P receivers. One acts as a base and the other rover. I get very accurate positioning using the 2 units. Pixhawk can integrate the GPS into its positioning code

Can anyone update us wether the GPS code in Ardumower can use this accurate positioning to drive the mower or is the GPS still only being used for timing

Also are there any other developments using non gps technology to drive the mower more accurately

regards
Max
 
Hello,
How accurate is accurate on your tested system if there are obstructions (like trees)? I have tested the Piksi Multi and it is difficult to get accurate measurements (RTK Fixed) under obstructions and after getting out of them ( video )
I'm thinking about replacing the perimeter wire by such a system but that system has to be accurate all the time (or at least 90% of the time). If we cannot omit the perimeter wire, I think all the extra work for an RTK GPS (base station, receiver, antennas, radios, ...) is too extreme.

Thanks,
Alexander
 
Yes there are problems in shaded areas. Just like in your video. However when it is working in an open area it is really good. I think one way forward is to integrate it with other data and only use it when working well. The rest of the time use dead reckoning etc.

I did see someone using UWB is that near completion?

My question is can Ardumower currently be guided by GPS or is it only used for timing.

One other question. I am using the Ardumower master code. Can you confirm what auto modes are supported and fully working. For example is lane by lane working or is only Random mowing currently working. Also what is Bidir and is it working.Any other modes

I know that BT, odometer, sonar, IMU, (limited GPS I think) wifi, timer are all working.
 
UWB: Same problem (or even worse) as with GPS: it needs line of sight to 3 or more stations all the time - a tree and the whole system needs an additional station for trilateration - in my garden (house in between) I would need at least 15 stations to get a 60% coverage

Other developments are: Google Tango ( https://www.youtube.com/results?search_query=ardumower+tango )
and Sunray ( http://wiki.ardumower.de/index.php?title=Ardumower_Sunray )

Ardumower master:
GPS: yes, just for timing yet
auto modes: random only (the other modes are highly experimental only)
bidir: not turning, only forward, backward, forward, backward and so on ( http://www.grauonline.de/alexwww/ardumower/sim/mower.html )
 
Hi,
Regarding GPS - there is one user modification, which uses a GPS for mowing zones definition. I see this modification as very usefull.
Alex
 
Dear Alexander

Have you tried any of the cm level ultra sound systems i.e. Marvelmind, localino. Also pozxy to control the Ardumower
I know they are indoor systems but they can be set up quickly and used to control lane mowing
I would like to buy a set to experiment as RTK is a bit too complicated and temperamental still

regards
 
Dear Alexander
I guess I should simple ask you what do you think is the most suitable technology to get an outdoor, accurate (cm level) X,Y position so this can be utilised in a path driving algorithm for the Ardumower
I am looking at
google tango $500-$600 no experience. I guess this can be used near buildings
ultra sound beacons $300-$400 simple technology may get refractions etc
rtk satellite difficult to get a fix near buildings
UWB no experience apparently needs many beacons

Others ???????

regards

Max
.
 
Hello Max,
Why are all commercial robot mowers still using a perimeter wire? I think there's still no technology that fits everywhere - it really depends, and that makes it difficult to decide. Sometimes RTK might be the best (no obstructions, large area, no installation for beacons required), sometimes visual navigation might be the answer (many obstructions, small area, no installation of beacons required), sometimes UWB or ultrasound (no obstructions, installation of beacons required)...
I should get an software update for the Piksi Multi in the next weeks, so I can test it again. They promised better and faster recovery under obstructions.
Regards,
Alexander
 
Also, I think GPS is the way to go (if the obstruction problem has been solved) - why? Because we can use existing GPS maps, so the user can do the mapping on the computer/tablet without having to map the physical area. Imagine a user wants to mow area X one day, and another day area Y, or remove or add additional trees as obstacle etc. - this is all easily doable using GPS maps...

interesting company...
 
I have purchased the Marvelmind ultrasound system. So far it seems pretty good. within a few days I will be outputting to an arduino the xy data accurate to 2-3 cm. So for smallish areas the positioning is very accurate. Is there a version of the Ardumower code that can use the x,y data to drive
either lane by lane or follow a pre recorded path
regards

Max
 
Oben