Piksi /gps/fix message differentiation
I am using a SwiftNav Piksi with ROS Kinetic distro. Even though it is technically not supported, it seems to be working fine.
I am having a problem trying to extract the gps coordinates from the Piksi via the /gps/fix topic (sensor_msgs/NavSatFix message type). I need the coordinates in decimal degrees (WGS 84). The values I get from this topic are both the uncorrected GPS coordinates as well as the RTK corrected ones. However, both are published to the same topic and, as far as I can tell, the only way to discern the difference is to look at the altitude (RTK is correct, uncorrected is approximately double).
Since the 'rover' Piksi will not necessarily initialise near the base it will be difficult to determine which one is correct. Also, the messages are published sequentially (@20Hz instead of the Piksi's standard output rate of 10Hz), so once a correct message has been determined, I could just drop every second one.
Is there a better way to separate this data other than the altitude? Could this have something to do with running it on Kinetic?
Hi, which package are you using in ROS to interact with piksi?
I'm using the swiftnav_piksi wrapper: http://wiki.ros.org/swiftnav_piksi
it looks like he doesn't give you any information about the type of fix of RTK. If you need something easier to access data from the piksi device you may have a look at my repo piksi_rtk_gps It's a python package still under development, so maybe
there's still a lot of things to do, but it works for me. Topics you can be interested in: /piksi/navsatfix_rtk_fix (published only if you have an RTK fix) /piksi/navsatfix_rtk_float (published only if you have RTK in float mode) /piksi/navsatfix_spp (single positioning point, no RTK used at all)
That sounds like exactly what I'm looking for.Thanks!
I'm glad I could help you in this other way ;)