Offset rover antenna position in RTKpost?

I have been experimenting with using RTKpost on the Reach logs to generate geolocation information for images taken using a Canon S100 running CHDK and KAP script.

The KAP script produces a log file with precise shutter release times, using this file and the .pos files from RTKpost I have been able to geotag images accurately enough that pix4d recognises ~90% of images being tagged within 15cm of their calculated position in all 3 axes. This produces pretty good results - using 14 GCP (also surveyed with Reach) as checkpoints the mean geoloction error of the points is around 5cm.

I would now like to somehow account for the offset between the antenna positon and the camera sensor on the rover unit. Height is straighforward to account for but the horizontal offset is a bit trickier.

RTKpost does have settings for antenna delta E/N/U so I suppose if the copter maintains a constant heading throughout the mission it should be possible to account for the position offset using that option, not great for fixed wing though…

Is there another way to provide a relative rather than absolute offset for the antenna position?

The trial-and-error method for getting the time offset between the S100 and Reach works ok, as long as all flights on a given day are carried out at the same speed the time offset remains constant, but a more robust method would be great.

Thanks for any advice,

2 Likes

Something like this Using Reach for landsurvey and more - #16 by mdgps

Yes, that will work, but only if the aerial unit maintains a constant heading I would think?

Which is possible with a multirotor, though that would mean you have to recalculate the offset each flight unless you fly every mission locked to the same heading, unless I am missing something?

@Charlie_Robinson great results!

Usually camera offset is entered in photogrammetry software as it has much more knowledge about the orientation of the photos. Photoscan definitely has this option, Pix4D should too.

In theory constant heading could probably work, but I’m sure it would be harder on practice, so better stick with the software way.

1 Like

Unfortunately Pix4d doesn’t seem to have this functionality as yet.

@Charlie_Robinson well, that’s unfortunate. You can try Photoscan demo and see how this feature works for you there, the demo version is fully functional except for save\export features.

Hey Charlie,

I am actually looking for the exact thing you posted here. Just wondering if Pix4D has updated to include this offset functionality since last year?
Thanks.

Tantan

Hi Tantan,

I actually switched to photoscan due to various issues with Pix4d, including this one. I understand Pix4d have added quite a few features this year, but I haven’t looked at it for quite a while now. Photoscan is much more flexible, and the results are very similar. And significantly cheaper!

Hey Charlie,

Thanks a lot for your input and I will certainly give Photoscan a try. You are right, Pix4d is good, but it is too expensive…
If I move the antenna to the center of the camera so that I can theoretically zero horizontal offset and leaving only vertical offset. Later in geotagging process I could manually account that constant offset in the Height for each coordinate. For example the antenna is 20cm above the camera center, I will add -0.2m for the height of each coordinate and then tag the photos. After that, I should be able to use either Pix4d, Photoscan or any other photogrammetry software.
Does that sound a valid approach?
Thanks a lot for your help!

Tantan

This is a valid approach as long as you fly on windless days. On a windy day with, say, a 10 degree roll on your 'copter on each line and 30cm vertical offset you would introduce a fixed 5cm offset in your camera position that would be in the same geographical direction on each line and therefore not picked up. It is pretty amazing that we are talking about these kind of (small) errors for drone mapping.

OMG, I never thought about this type of error. Yes, things are getting really amazing when we try to consider these kinds of errors…