HERE+, PPK, and Hotshoe Feedback Processing

Good Afternoon,
i know i’m bothering U, i do apologies.

i did try your solution, so on the RTKCONV i pressed Process… which opened the RTKPOST window i found the KML/GPX… you mentioned & i cklicked on it, then i got the last window the KML/GPX Converter then i loaded the files & cklicked on Convert, &the result as U see in the image. it wont work

For those interested the two PR’s to improve this has been merged to master

sounds like good news!

ty

I tested with both PR’s, and I had excellent results with the timestamps improving, however I am still unable to get down to the accuracy of the Emlid Reach. Part of it is because the Here+ GPS appears to receive about 2dB less on GPS signals. I haven’t actually gotten a good FIX for the RTKLIB processing yet.

In addition, the new PR uses the internal clock for the timestamps, and that clock drifts slightly from the GPS time. It drifed at a rate of about 145ms per hour. It’s technically a separate issue, but the results were posted here: https://github.com/ArduPilot/ardupilot/pull/8409#issuecomment-443925409

1 Like

@me_As
Here is how you do PPK (Post-Processed Kinematics).
Set parameter ‘GPS_RAW_DATA 1’
Download the log after the flight, go to mission planer “Data flash logs” tab and click “Create KML + gpx” and click. Select the *.bin file that you downloaded from your copter.
In the same directory where your log was, you will find KML, gpx and .obs file.

*.obs file is actually RINEX file that contains GNSS observations of the copter GNSS (rover).
Get your base station data, whether from your physical base station, your national CORS (Continiously Operating Reference Station) or VRS (Virtual Reference Station). I personally use national VRS. I prefer data in the RINEX 3.02 format (fi you are using HERE+ base station convert *.ubx data to RINEX). You will get the data with the extension such as *.17o and such as *.17n or *.17g.
*.17o is observation file, *.17n and *.17g files are satellite navigation files (*.17n for GPS and *.17g for GLONASS).
Now you have the data needed for the processing.
I am using RTKLIB demo5.b31 version (http://rtkexplorer.com/downloads/rtklib-code/) since I had least problems with it.

Set up the parameters such as on this two screenshots.
Capture2
I use Static Start since it is basically Kinematics with the static start. Also setting up the frequency to L1 should make no difference in this case because HERE+ records only L1 data. Regarding the filter type, test and find out what works the best for your specific case.
Here is some literature - https://rtklibexplorer.wordpress.com/2018/11/27/updated-guide-to-the-rtklib-configuration-file/

Capture3
Very important to set up Base station coordinate to RINEX header position


Here is the result of the processing and plotting the data of one flight 64% fixed solutions and 35% float solutions. I’m not saying this is the reference case of “HOW-TO” PPK, but I think it is nice to have it written in one post on the forum.

@Naterater
Thank you, it is nice to see some progress on this subject! Commercial solutions are a bit ahead of the open source at the moment and it is nice to see that somebody is working on this!
Cheers!

Luka

5 Likes

Thank you for providing the RTKLIB instructions. Unfortunately this process only works for determining the path of your rover - NOT the interpolated GPS positions. You will need a 2nd process for that still (excel or a custom program) to interpolate between GPS log points. That’s the whole reason accurate Hotshoe timestamps are needed.

Besides the final details of assigning photo positions, your tutorial is correct! Great job!

Thanks!

Yes, I did not mention the photo position - I did not come to that part of the processing yet!

I know that REACH version of RTKLIB does calculate the exact position of the camera during the exposure time. However, it is possible since REACH has the solution where HOTSHOE is connected directly to the GNSS receiver and it logs the exact moment of the exposure in the *.ubx message. i.e. you can see the message in RINEX file later.
The same solution is implemented in the rtklibexplorer version of the RTKLIB (demo5.b31 - https://rtklibexplorer.wordpress.com/2018/10/26/event-logging-with-rtklib-and-the-u-blox-m8t-receiver/).

HERE+ does not have an option of connecting HOTSHOE to the GNSS directly, but to autopilot, which logs the message in the *.bin log so it can’t be processed in the RTKLIB, but has to be calculated manually.

I think I read here on this topic that new HERE2 has this pins that you can connect HOTSHOE to exposed, is that correct? If yes, that would make the automatic calculation possible!

It is also a bit unfortunate that we do not have a solution to make use of the IMU and PPK data fusion for the precise geotagging of the images. Soley IMU data (relative position between the subsequent images) is also very useful for e.g. mapping purposes.

Luka

1 Like

Thank you Luka Jurjevic and Nathan for all the effort in this matter.

1 Like

Has anyone here done this? Without wiring up the PPS or EXTINT on the GPS, I don’t think that this is currently possible. In my logs I see about 140ms of clock drift per hour, making it impossible to align the timestamps with the GPS times.

hi @ljurjevic,
I’m sorry to bother you.
In latest Copter Ver 3.6.7,I set parameter ‘GPS_RAW_DATA’ to ‘1’,and then converted .bin file into GPX&KML,but no .obs file were found,Do you know which step is wrong with me? thanks.

Hi!
Hmm, which GPS unit do you use?

GPS2:grin:
thanks~~~~~

I mean which device do you use? Not all can log the data

haha,I misunderstood.
I have tried m8t、f9p,it didn’t work.I read the manual. They all support raw data output.

thanks @tridge !
re RTK GPS: on a local forum i’ve been asked about extending UBX RAWX logging to improve PPK integration, i.e. add UBX-RXM-SFRBX and UBX-TIM-TM2 messages. i’m not at all familiar with this though. is there any technical objection to adding those messages to GPS RAW logging?

1 Like

no objection, as long as it really does help in some way. I don’t use PPK myself, so I don’t know how much this would help.

1 Like

To put it simply, it would help IMMENSELY.

1 Like

@tridge thanks, will give have a go at a PR then. just in case i‘ll get somewhere, i‘d sure be happy if someone familiar with this could test, @Naterater …???

1 Like

YES! I’am happy to test :slight_smile:

Tutorial for everyone else:


Basically the same with F9P

1 Like

we might want to move that to a separate topic

1 Like