Comments (4)
@rgov What do you think of these two messages as replacements for the GPSFix and GPSStatus message?
https://github.com/danthony06/gps_umd/blob/new_messages/gps_msgs/msg/GNSSFix.msg
https://github.com/danthony06/gps_umd/blob/new_messages/gps_msgs/msg/GNSSStatus.msg
from gps_umd.
It looks reasonable though I don't have a strong background or opinion in this area. I think if you're following gpsd's lead, which is what populates these fields in most cases, you can't do much better.
There's at least one typo I spotted, I think it was 'Consants'.
I don't know what ROS's general policy is about modifying message structures after they're published. I suppose you could do so aligned with a particular ROS release if you made your CMake choose a file conditional on the ROS version (or just had a separate branch with different definitions).
So your solution of creating a GNSSFix sidesteps this issue but complicates things further -- you'd have to publish three messages now, and make clear that users shouldn't be using GPSFix for new software, etc.
For the health of the ecosystem I would prefer a more opinionated stance — try to figure out which packages in the ROS package index rely on GPSFix messages, file issues with them that the message definition is changing but the most common fields stay the same (or which common ones are changing), and then drop support for the weird fields.
from gps_umd.
(Not saying that you should bear the burden of that communication. Perhaps we could petition for OSRF for some tooling to make it easier to find packages based on their declared dependencies, and outputs a list of maintainer e-mails.)
from gps_umd.
I opened an issue the other day when I was thinking about this. Currently, there's not a great way of notifying users' of pure message packages that something is deprecated or will be removed:
Breaking message definitions is really tough in ROS, and is rarely done for established projects from what I've seen. I think PointCloud and PointCloud2 messages occurred because of a similar problem, and making a new message was PCL's workaround to the problem.
I'm thinking about just removing the old GPS messages in the ROS2 branch, since relatively few people are using ROS2 at this point, and it would be an easy point to make a change. Hopefully the ROS1 branch would then gracefully get deprecated, and the old GPS messages with it.
from gps_umd.
Related Issues (20)
- closing GPSDClient HOT 1
- what's the scale between UTM odom and real distance? HOT 1
- fail catkin_make compilation HOT 5
- References locked thread HOT 1
- Please do not engage in this type of issue spam. HOT 1
- Issue Spam
- Update GPS Validity Check to Use mode Instead of status Field HOT 2
- How to launch gpsd_client HOT 5
- Broken links for documentation HOT 2
- Implement LifeCycle Functionality
- Make Polling Rate Configuraable HOT 4
- Nothing published on fix topic, no reconnection to gpsd HOT 6
- Clarification for GPSFix message "dip" field HOT 4
- GPS Params HOT 2
- Foxy regression HOT 4
- ROS 1 Noetic/Melodic release HOT 1
- ROS2 Humble release HOT 1
- GPSD v12 Compatibility for ROS2 HOT 1
- Covariance should be unknown when value is NaN
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gps_umd.