Reach RS2 + M2 for an UAV : How to get height from NMEA messages the exact way there are in the EMLID Reachview App?

Hello EMLID community,

I am using a REACH RS2 a base and a REACH M2 as rover in the context of positioning an UAV.

I am sending for the M2 NMEA messages to my onboard computer connected to usb. I then choose in the ReachViewApp USB-to-PC connection. I am receiving well the NMEA messages and my X,Y position are good and precise (after some time to converge).But my Z position is not good, my plan is to built a small code to process the messages so I can extract the ''height" measurement that I can see on the ReachView app, and then just take the difference between the Base height and the rover height to have the relative height of the UAV. I put you a screenshot of the ReachView tab so you guys can see what I am talking about.

How can I achieve this ? Do I have to change of communication protocol or can I achieve this with NMEA protocol ?

Best regards,

Frank

Figure : see the height value of the rover and the base in the “Position” and “Base position” section

Hi Frank,

Could you elaborate a bit more on what’s wrong with your heights in NMEA messages? How is it different from the elevation in the ReachView Status tab? Could you post some examples?

Hello @svetlana.nikolenko,

I just read some doc about NMEA protocol and I found some part of the answer. Could you confirm me that in such a message *"Mär 31 17:41:33 e[0m[ INFO] [1617205293.793049171]: GNGGA,153755.40,5049.3885856,N,00423.8029694,E,4,18,0.8,88.502,M,45.395,M,1.4,68 "
the 88.502 is the altitude and the 45.395M is the undulation ?
Therefore, Do their sum correspond to the “height” I saw in the ReachView3 app/tab ? I made the calculations myself and it seems to be okay.

Currently, I have the X and Y position of my drone that I compute thanks to the Latitude-Longitude but the Z position is trickier : I would then like to know if ,from my Reach M2 rover, I can output the position of the base (Reach RS2). This would help me mostly for debugging purposes.

My plan is to have the position of my rover in a XYZ frame with the base as (0.0,0.0,0.0) origin.

Best regards,

Frank

Hi @kefran88,

You indeed can sum these two values to get the same elevation as you see in ReachView.

According to the NMEA standard, 88.502 is an orthometric height, and 45.395 is a geoid separation value. The sum of these two values is the ellipsoidal height. The same height is displayed in ReachView.

Hello @svetlana.nikolenko,

Indeed, but in my case I will just need the altitude.

But I made some tests, and when locating my drone 3m away (so I expect to be at (0,3) or (3,0) in a X,Y plan) from the base, the rover position output (after processing) gives me (-1.771,1.771). These numbers are very close to the square root of 3 so the baseline is still correct, but I wonder how the X,Y,Z axis are set up on the EMLID devices (and especially the Reach RS2) .

I didn’t find an answer in the documentation, could you enlighten me please ?

Best regards,
Frank

Hi @kefran88,

Sorry, I don’t quite understand your workflow. Did you post-process logs in RTKLib and receive such results? Are you building some drawing based on these results?

Could you clarify what you mean by axis here?