nmea_navsat_driver ROS package and Emlid Reach GPS units
Hey everyone,
I'm having an issue that seems to only show up in a particular stack of software. First off, here's a link to a related post I've made: https://answers.ros.org/question/2900... . This is the same general problem, but since then I've narrowed it down enough to feel like it warranted another post.
I'm encountering an issue that I'm wondering if anyone else has noticed or could sanity check for me. It seems that I can't echo or subscribe to the /fix topic only when I upgrade my GPS's software. I've posted this to the GPS's forums but haven't heard anything yet ( https://community.emlid.com/t/reachvi... ).
Setup:
- OS - Ubuntu 14.04
- More OS info - Linux CPR-J100-0057 3.16.0-77-generic #99~14.04.1-Ubuntu SMP Tue Jun 28 19:17:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
- ROS - Indigo 1.11.20
- GPS Package - nmea_navsat_driver 0.4.2
- GPS unit - Emlid Reach RS, ReachView app 2.11 or greater (I have 2.14 at the moment) plugged into computer with USB.
Issue:
When I run the nmea_navsat_driver's serial node, I can see the /fix topic with "rostopic list," and I can see it's being published by the serial node with "rostopic info /fix," but when I try to echo the messages or subscribe to them in another node, it hangs up indefinitely.
Workaround:
Oddly, if I downgrade Emlid's ReachView application to version 2.10 or lower, this problem resolves itself and I'm able to echo and subscribe to the /fix topic. If I upgrade to 2.11+, the issue comes right back.
Conclusion:
Uhh, I'm not really sure where this problem lives. I mostly wanted to see if anyone has encountered this, or if someone would be bored enough to try and replicate the issue. Also, I want to note that I'm a bit tied to the old Ubuntu and ROS versions because the robot we're using came with them and their firmware is a little too tied to ROS upgrade without breaking stuff.
Note:
rostopic info /fix
shows you there is a publisher for that topic, not that anything is being published to it.The rest of your description makes it ..
.. sound like nothing is being published.
If you want to be sure, edit the source code of
nmea_sat_driver
to output a log msg (ROS_INFO(..)
) each time it actually publishes something tofix
.Btw, I see that you also posted ros-drivers/nmea_navsat_driver#53.
Cross-posting like that is considered bad form. Could I ask you to please not do that?
Sorry, I didn't realize it was bad form. I closed it over there. About the nothing being published, I can see data coming in if I print it to the terminal, just not when using with ROS. I'll try what you suggested.
that is nice, but doesn't help us. If the format of the data output by the unit is changed because of the firmware upgrade, the ROS node could become incompatible. That could lead it to not publish. ..
.. that is what we're trying to establish here.
I've just checked and the driver is Python only, so changing it should be trivial. Just clone it in your workspace and edit the files. Then build and
source
.Ok, that makes sense. I'll just close this for now, and put an answer up if I find one.
I don't think this needs to be closed: it's a perfectly valid ROS Answers question.
Please try instrumenting the driver and please report back with any results.
This way future readers may also benefit from this question.