-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add base station rtcm message publishing support #30
Conversation
Looks good. Is it possible to create a launch file for the base station as opposed to the rover? ... we need to also update the readme I suspect so people can work out how to set this scenario up? |
Hi. I only saw this now, after you merged this in. I can definitely do a basic README update describing this use case in a new PR if you'd like. In terms of the launch files for this use case, I was thinking the existing When it comes to the base's launch file, I was thinking that it can run the Alternatively, the base could just publish on There are a few different ways of going about adding launch files for this use case, what are your thoughts? I can add in the README changes and the new launch files in a new PR once it's clear what to add. |
Also, unfortunately, I don't think the base station's launch file can really do much other than startup a I could add in the ability to set values for keys like |
I think we should add new launch files for these scenarios - especially the base station. I know others use the existing default ones and if we change them, then their environments may not work. It might suffice to just override the output from a base station launchfile to publish to '/ntrip_client/rtcm' topic?? Have a look also at the moving base station launch files. Are all the configuration parameters there to configure the F9P base station to publish rtcm on usb? Think all the parameters from the moving base station have been added to ubx_cfg_item.hppp In the launch files we should be able to override the topics that are subscribed to, published to.. cant remember how to do it off the top of my head. Yes I merged the PR and made sure it all built etc .. a couple of uncrustify formatting issues. That always happens. |
might need to add these ... but to work on USB. I dont have two F9Ps so not sure which ones and cant test it all out |
There are a lot of parameters slowly being added. At some stage I was going to refactor how this works such that a TOML file, that could be referenced in a launch file contained the cfg items to use.... might be something to do next year |
@gsokoll did you add all the parameters into ubx_cfg_item.hpp for the moving base station etc? |
I was checking that right now and it seems like it hasn't been added. This is some of the output I get when running the moving base launch file:
|
Ok so I can get a new PR going with 2 new launch files and a README update for this use case. The rover's one will essentially be a copy of the Then for the base station I can add in the VALSET keys to |
Good to hear it's there somewhere. Although, I can add the keys in the PR I'm planning to make for the launch files and the VALSET keys for my use case if you'd like. Also, you're correct about what we're doing in our scenario. |
@bvsam if you can that would be great (I think Geoff is working on another aspect of his project presently).. if the default behaviour of the launch files is unchanged, then go with what seems best for you. Sometimes I think keeping the launch files simple for a specific purpose is better. The original ones I put up were for what I needed. Thought they'd make good examples for others to use. Reading between the lines, am assuming with your Use Case you are looking ultimately to have a High Precision NavSatFix message using your own base station. |
You're correct about us trying to get a high precision I'm also a bit confused: what does the QoS overriding have to do with this use case? |
I noticed you changed the QoS on the RTCM publisher from SensorQoS rclcpp::QoS(10) which I think is the system default I just re-read the link in the issue linked earlier. It recommends for Publishers to use the QoS system default and for others consuming sensor data to use SensorQoS. |
It's true that I did that. I did so to ensure compatibility with the current codebase and to not mess things up for users of this package. I initially set the publisher on the Are you suggesting that the launch files that I plan to make should ensure that the recommended |
This is something that eventually needs to be resolved - I'm leaning towards just changing everything and then saying in the readme this is how you can override it. I originally published everything as SensorQoS as that is what I thought made sense. However it causes problems eg ros bags you need to override qos to record. I think for what you are doing publishers should use the default QoS ... |
@bvsam @hortovanyi sorry, I haven't as yet added the ability to configure the msg outputs as required for base + rover operation. As suspected, we've previously just flashed required configs to each device for either base or rover roles. @bvsam If you've already started on adding in the required messages, I'm happy for you to continue. But I can probably do so later this week otherwise. |
Hello.
This PR adds in the capability to publish RTCM3 messages being emitted by a GPS, supporting the use case where one has a fixed base station they're using to publish RTCM messages which are then received by a moving rover.
I tried to keep my changes to the code minimal and it mostly follows the existing structure of the code.
I've tested my changes with 2 ZED-F9Ps on the same ROS network, and it works. The base station can publish RTCM3 messages and the rover can successfully subscribe to the RTCM topic and use these messages, as confirmed by the
/rover/ubx_rxm_rtcm
topic (wheremsg_used
is 2, indicating the RTCM messages are being used).Contributing this PR so that people can use this package in a fixed base station use case. Please let me know if you'd like me to make any changes.