gpsd_client with GLONASS and GPS?
I'm using the gpsd_client on kinetic with a GNSS receiver that uses both GPS and GLONASS and outputs a joint GNSS solution (GPS+GLONASS).
First of all, is the gpsd_client compatible with GLONASS, i.e., will it take in information about GLONASS satellites and display it in a relevant way? Perhaps related to this topic I seem to have some problems with the variables the topic /extended_fix:
- satellites_used it around 8, indicating only GPS satellites
- satellites_used_prn is only zeros, though the length is updated after satellites_used
- satellites_visible is 24, which to me sounds like too many satellites even if both GPS and GLONASS is tracked.
- position_covariance consists of zeros (however, for the topic /fix there are values that are updated)
I understand that the gpsd_client only displays the information from the gpsd. This means that part of my question is clearly about the function of the gpsd (and should be asked elsewhere): can the gpsd read NMEA messages from a joint GNSS solution (e.g. GPS+GLONASS, which is what you typically have in a modern GNSS receiver), i.e., read NMEA messages starting with GN.
The ROS part of my question is: can the gpsd_client work/display a joint GPS+GLONASS positioning solution together with correct information in the topic extended_fix and fix? I assume that the values for longitude, latitude, and height will be correct (i.e., the gpsd_client doesn’t care if it is a single GNSS solution or a multi-GNSS solution), assuming that the gpsd can decode the NMEA messages from a multi-GNSS positioning solution. It appears as if the gpsd_client at least can display data from a single GNSS, since the message sensor_msgs/NavSatStatus (included in topic fix) has a flag for which GNSS that is used. However, for the topic extended_fix, it is unclear if the satellite information is displayed correctly. Part of my question is therefore if the satellite_visible* variables can display information about satellites from several GNSS at the same time?
gps vs glonass: Sounds more like a gpsd question, not ROS. gpsd_client will use whatever gpsd tells it to use. Compare the output with e.g. the cgps client program.
Also the position is calculated by your gps receiver, not gpsd. And what I've read so far the receivers will always use only one of gps, glonass, galileo, ... whatever is currently available and not any of them combined.
I’m glad that you have commented, but from your comments it appears as if you have not really read or understood my question. Perhaps I was a bit unclear. I will try to rephrase the question.