ublox_gps package from ublox repoublox ublox_gps ublox_msgs ublox_serialization |
|
Package Summary
Tags | No category tags. |
Version | 2.3.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/KumarRobotics/ublox.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2023-11-05 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gareth Cross
- Chao Qu
- Veronica Lane
Authors
- Johannes Meyer
Changelog for package ublox_gps
2.3.0 (2022-04-13)
- Revamp the building of the driver for modern ROS 2 practices.
- Fix parameter declaration types. (#146)
- Add the types to declared parameters. (#141)
- Add UDP support (#140)
- add Ublox ZED_F9P config (#131)
- Fix warnings in launch.
- [FEAT]: add launch and config directories to 'intall' package to avoid wrong launch location (#125)
- Fix wrong variable name in launch (#120)
- Contributors: CHAIWIT PHONKHEN, Chao Qu, Chris Lalancette, Daisuke Nishimatsu, Davidson Daniel Rojas Cediel, Kevin Hallenbeck
2.0.0 (2020-10-13)
- Initial ROS 2 port to Dashing
- Create publishers based on ROS parameters (#1)
- Make sure to reset for survey-in mode.
- Make sure to depend on tf2 properly.
- Make sure to have package.xml depend on ament_cmake_ros
- Fix getting RTCM ids and rates.
- Increase the timeout for NavPVT messages during Survey-In config.
- Configure the base more accurately.
- Update rover configuration.
- Create ROS 2 launch files.
- Finish porting configs to ROS 2.
- Fix heading output to comply with REP-103
- Make ublox_gps composable.
- Fixes pointed out by clang-tidy.
- Rename rawDataStreamPa member variable to raw_data_stream_pa
- Fix a bug for reads of zero size.
- Re-enable logging in the AsyncWorker.
- Switch a couple more catch blocks to const.
- Remove -ggdb3 flag from CMakeLists.txt.
- Fix a few bugs pointed out by valgrind.
- Pass the logger down to the Gps level.
- Minor cleanup in the gps code.
- More fixes for declaring parameters.
- Declare more parameters.
- Declare more parameters correctly.
- More fixes so that we get the correct rates.
- More fixes around the codebase.
- Mark constants as such.
- Remove declareRosBoolean.
- Update configuration files for ROS 2.
- Port ublox_gps to ROS 2.
- Start ROS 2 port by COLCON_IGNORE everything.
- Split the main out into its own file.
- Move spinning out of the constructor.
- Cleanup includes in node.{hpp,cpp}.
- Move HpPosRecProduct class to its own files.
- Move HpgRefProduct class to its own files.
- Move UbloxFirmware9 class to its own files.
- Move UbloxFirmware8 class to its own files.
- Move UbloxFirmware7 to its own files.
- Move UbloxFirmware7Plus class to its own header file.
- Move UbloxFirmware6 class to its own files.
- Move UbloxFirmware class to its own files.
- Move RawDataProduct class into its own files.
- Move HpgRovProduct class to its own files.
- Move AdrUdrProduct class into its own files.
- Move TimProduct class into its own file.
- Make the node handle a member variable of UbloxNode.
- Remove the last uses of the global variable.
- Pass the nodehandle into more methods.
- Start passing the node into functions.
- Declare a few more booleans.
- Declare a lot more parameters.
- Finish removing the "enable" map.
- Move some more boolean parameters to declarations.
- Declare more parameters.
- Convert a few more parameters over to being declared.
- Declare the config_on_startup flag.
- Make dat/set a declared parameter.
- Make sure to declare the sbas parameter.
- Add in ROS2-like declare and get parameters.
- Replace templated publish call with lambdas.
- Make fix_status_service a member variable of UbloxFirmware.
- Move fixFromString and modelFromString into node.cpp
- Make gps a member variable of UbloxNode.
- Add namespaces to component_interface and fts_product.hpp
- Minor code improvements.
- Move FixDiagnostic class to its own file.
- Move UbloxTopicDiagnostic to its own file.
- Make gnss a member variable of UbloxNode.
- Move kNavSvInfoSubscribeRate into the base class that uses it.
- Remove kSubscribeRate.
- Move the kDefaultMeasRate to the class that needs it.
- Remove kROSQueueSize constant.
- Make rtcms a member variable of UbloxNode.
- Switch to a structure for RTCMs.
- Make freq_diag a member variable of UbloxNode.
- Make updater a member variable of UbloxNode.
- Make frame_id a member variable.
- Make config_on_startup_flag a member variable.
- Make meas_rate a member variable.
- Make nav_rate a class variable.
- Lots of small code updates throughout the GPS module.
- Get rid of global 'debug' variable.
- Move serialization into the ublox_serialization module.
- More rearrangement of header files to make a more sane structure.
- Move FTSProduct class into its own file.
- UbloxNode is not a component.
- Move ComponentInterface to its own file.
- Remove the one static ros::Subscriber.
- Remove last static advertiser.
- Switch to const references for std::string where possible.
- Switch to more idiomatic publisher initialization.
- Switch the one use of tf to tf2.
- Remove 'using namespace' uses.
- Switch to non-boost asio.
- Remove uses of 'new' throughout the codebase.
- Remove the last of boost from node.cpp
- Remove most of boost from node.cpp/.hpp.
- Remove a bunch of boost from node.cpp
- Remove more boost.
- Remove boost from worker.hpp
- Remove some uses of boost from async_worker.hpp
- Fully de-boostify callback.hpp
- Rearrange messages.
- Switch out boost time and mutex for std
- Remove trailing whitespace in all files.
- Rename header files to have .hpp extension.
- Contributors: Chao Qu, Chris Lalancette, Mabel Zhang
1.2.0 (2019-11-19)
- Add support for ZED-F9P new RELPOSNED message and provide heading output Fix whitespacing... Add RELPOSNED9 message to compile
- Fix for corrupted diagnostics messages Before the diagnostic structs were copied, but the pointers in FrequencyStatusParams still pointed to the old/freed objects.
- Show TMODE3 diagnostics OK if disabled Since there is no default for TMODE3 this is a deliberate choice
- added simple (remote) logger node for raw data stream logging
-
updated raw data stream logging + moved all global/node functions to new class RawDataStreamPa (raw_data_pa .h/.c) + changed messagetype to uint8-multiarray (string can not handle non-characters)
- fix #52
- FIX: overflow bug when the nano field of the NavPVT message (which is signed and can be negative) is assigned to the nsec value of a ros time stamp (which is unsigned)
- deactivated config checks for base parts, if config_on_startup is false
- Added flag [config_on_startup]{.title-ref} to deactivate configuration of ublox.
-
fixes to raw data stream + moving write_callback_ before the read_callback_, to avoid buffer copying (write_callback_ == publishing ros messages and writing to file) + publishing empty ros message during config phase to force instantiation of publisher
- renamed new topic and internal variables for raw data stream
- from raw_data_xxx to raw_data_stream_xxx
- this is to avoid confusion with the RawDataProduct
- updated debug message for measurement rate (added "hz" and "cycles" as units)
- TUC-ProAut: added raw data output (publishing ros messages and storing to file)
- boost::posix_time::seconds constructor requires integer argument
- Add TIM product and M8U functionality as well as the TIM-TM2 message (#27)
- Initialize set_usb_ to false by default
- Set serial port to raw mode, needed for Boost versions < 1.66.0
- Minor fixes for very old devices
- Fix potential segfault when printing Inf messages The Inf message strings are not null terminated, so we need to construct the string of the correct size from the vector of bytes instead of just printing using %s.
- In AsyncWorker::doClose(), close the stream instead of just cancelling operations
- Cleanup + modernize to make compatible with C++11
- Fix compilation with newer GCC and Boost As of now, doesn't compile with C++11 or later.
- added clear params arg
- updated config files
- added save and load configuration parameters and functions. changed how GNSS is configured & reset.
- added raw data product class and structs for frequency diagnostics
- Contributors: Chao Qu, Evan Flynn, Ferry Schoenmakers, Kartik Mohta, Michael Stoll, Peter Weissig, Stewart Worrall, Tim Clephas, Veronica Lane
1.1.2 (2017-08-02)
- README and package xml updates
- Fixed bug with enabling INF messages. Changed how messages which update fix are enabled and changed name of subscribe param namespace to publish.
- added USB Cfg PRT parameters and configuration
- Changed how I/O is initialized so that u-blox node parses the device parameter, and then calls either initializeSerial or initializeTcp in the GPS class with the appropriate parameters. Also cleaned up doxygen comments
- Added doxygen comments and made minor cleanup changes.
- Added doxygen comments
- Fixed bug with ARP Position HP conversion, which was multiplied by the wrong conversion factor. The ARP Position HP parameter is now an int8 vector instead of a float vector. Also added a getRosInt method in the node to get int8 and int16 params and changed the name of getRosParam to getRosUint.
- removing unnecessary include
- Changed how ACKs are handled. They are now handled through callback functions and are included in the CallbackHandlers.
- Created a CallbackHandlers class and migrated callbacks functionality from Gps class to the CallbackHandlers class
- Node can now save flash memory on shutdown and clear flash memory based on user params
- BUG FIX: Fix status only uses NavPVT time if the time is valid, otherwise it uses ros time. This prevents invalid times.
- added respawn params to launch file
- moved getRosParam template functions into node.h and used checkRange function for the getRosParam functions
- In config files, changed reset mode since it seems to work better
- Changed how unsigned int parameters are handled.
- Added NMEA flag params for firmware version 6 and updated readme to include NMEA params.
- Renamed cfg_gnss param namespace to gnss. Fixed bug with NMEA configuration for compat variable. Added sample config file for NMEA.
- added comments
- After resetting the device when re-configuring the GNSS, the node shuts down & must be relaunched since device address may change & serial port resets.
- Made ACK atomic since it is accessed by 2 threads (the main node & the i/o callback)
- BUG FIXES: fixed bug with waiting for acknowledgements, which wasn't timing out. Fixed bug with CfgGNSS which wasn't properly verifying the current GPS config to see if it was correct. Also added NMEA configuration functions
- debug variable is no longer static so that ublox node can set it from ROS params
- Removed ublox_version param, value is now determined by parsing MonVER. Changed name of UbloxInterface to ComponentInterface for clarity.
- Additional changes to parameters
- Moved most parameters into namespaces
- Cleaned up how parameters are check and moved the parameter parsing functions from the gps namespace to the node namespace since the node handles parameter checks. Also added CfgDAT capabilities, if dat/set param is set.
- updates to sample config files
- Change rtcm_rate parameter to a vector instead of a scalar, now each RTCM id can be set to a different rate.
- BUG FIX: Fix diagnostics num sv was displaying incorrectly. For firmware versions >=7, the flags are now compared to the constants from NavPVT not NavSOL. Also cleaned up how the diagnostics are displayed & included units. Added Carrier Phase diagnostics for HPG rovers.
- fixed bug with file path in ublox_device.launch and updated README to include information on launch files and subscribing/configuring new messages
- Contributors: Veronica Lane
1.1.0 (2017-07-17)
- Updated package xmls with new version number and corrected my email address. Also updated readme to include information about new version plus new parameter
- Updated sample config files
- Added Cfg RST message declaration and reset function. For Firmware 8, after reconfiguring the GNSS, a cold restart is initiated.
- node now configures INF messages
- Added constants for HPG Rover Diagnostic updater. Cleaned up GPS class: made method and parameter names consistent, reordered methods for clarity, and privatized some methods.
- Added NavPVT7 message since NavPVT message is a different length for firmware version 7. UbloxFirmware7Plus class now uses a template function to update diagnostics from NavPVT messages and to publish fix messages from NavPVT messages.
- Code cleanup - clarified a function name + comments
- Implemented interface for ADR/UDR messages. Added unimplemented skeleton interface for FTS messages. Added warning message if device type was not parsed correctly from MonVER.
- Cleaned up formatting + modified debug/info statements
- Changed debug statements so that they print to ROS DEBUG console. DEBUG log level is set in main node based on value of debug ros param.
- Modified Cfg GNSS for Firmware version 7, so it configures SBAS and QZSS if supported by the device
- changed receive message error print statements to only print in debug mode
- cleaned up how the tmode state was tracked for HPG reference stations. For ublox >=8, GNSS is now only configured if the current configuration is different from the desired configuration. This prevents the need for a hard-reset and prevents survey-in mode from resetting on HPG devices with the correct configuration
- I/O initialization has been entirely migrated to the GPS class, previously it was handled in both the node and GPS class. Split the HPG class into two classes, one for the REF station and one for the rover since the configuration & params did not intersect at all.
- BUG FIX: baudrate config, serial ASIO baudrate now set correctly
- Cleaned up debug print statements + code cleanup
- Added print functions for INF messages and subscribers for new MON messages
- Added NavSAT message and moved subscribers for messages deprecated in version 8 to version specific subscribe methods
- Added a UbloxInterface class. UbloxNode and Ublox firmware and hardware specific classes implement the interface. Ublox Node contains pointers to the firmware and hardware classes and calls their functions during configuration. Added a skeleton class for UbloxTim which subscribes to RawX and SFRBX messages, but has unimplemented configuration and getRosParams methods
- Changed UbloxNxNode class, ublox firmware version classes with version specific methods now inherit from UbloxFirmware. Hardware specific classes inherit from UbloxHardware. UbloxNode contains instances of each and calls the appropriate functions.
- Made NodeHandle a global variable in ublox_node namespace, publish is no longer a member function. Also took out additional node handles that were created to get parameters and just used the global node handle
- BUG FIX Firmware Version 6: nav status variable was never updated, using information from nav sol instead. CODE CLEANUP: added trailing underscores to a few class member variables. Removed * 3 multiplier for covariance in version 6. Added a diagnostic function for RTCM (currently not being used, will incorporate later)
- BUG FIX: For ublox 6 changed publisher of NavPOSLLH, NavVELNED, and NavSOL to call the custom method and not the template function. Also removed NavPOSLLH, NavVELNED, and NavSOL publishers from ublox 7 & 8 since NavPVT should be used. BUG FIX: Removed hardcoded value for NumTrackChs for CfgGNSS. CODE CLEANUP: added constants for hardcoded values + additional comments.
- For High Precision GNSS: Changed the way TMODE3 & RTCM messages are configured. If in survey-in mode, it first configures the device to survey-in, then when the survey is complete enables the RTCM messages.
- Fixed bug in Wait for ACK, it now checks that the ACK is for the expected class id and message id, also changed a few debug and error messages.
- Added Error message for ASIO read read errors and fixed a comment in cfg rate
- Includes BUG FIX (keep reading). Added Ublox messages (and subscribers or configuration methods + params) for High Precision GNSS devices: CfgDGNSS, NavRELPOSNED, NavSVIN. Also added subscriber & message for RxmRTCM. Changed MonVER processing, it now determines the protocol version, hardware type (e.g. SPG/HPG), and supported GNSS (e.g. Glonass, SBAS). SBAS can now be disabled on SBAS supported devices (previously SBAS settings were ignored if enable_sbas was false to prevent crashes, now it checks the MonVER message before trying to configure SBAS.
- Removed commented out lines which were unnecessary and added error message in async worker for read errors from asio
- Contributors: Veronica Lane
1.0.0 (2017-06-23)
- added myself as maintainer to package xmls and updated version numbers of modified packages.
- Modified example launch file to include params, also added example launch which loads paramaters from yaml file
- more code cleanup
- Code cleanup of node
- Made a node class structure. An abstract class represents nodes for all firmware versions. Version nodes inherit from this node and implement version specific functions.
- add ros console include so ros error message would print
- Moved callback class functions from gps files to callback.h
- Added read lock to async worker. Read + write buffers are now lockedduring operations
- Fixed Thread safety issues with async worker. Now uses MRSW lock and each function which makes changes to shared variables acquires the lock
- BUG FIX: fixed issues in gps & node that caused run time crashes. FrequencyStatusParam arguments were in the wrong order. Reverted to old initialize method which incremently set the serial baudrate.
- added constants for hard-coded values in gps class
- Baud rate and in/out protocol mask are now configurable through params and are no longer hard coded.
- Removed hardcoded configuration values and added constants and params for these values. Fixed MonVER print warning issue. Added RTCM config function. Removed FixMode & DynamicMode enums and used constants from messages. Changed setBaudrate name to configUart1 since it was configuring all params. If enable SBAS is set to false, does not call enable SBAS (need to change this so that it calls if SBAS is available) to prevent errors for devices without SBAS. Changed std::cout statements to ROS_INFO.
- Formatting of copyright so it's <80 char and changed std::cout in Async worker to ROS_INFO messages
- Update CfgGNSS message and serialization which now publishes and receives blocks and reads and configures all GNSS settings at once. Updated MonVER message and serialization, MonVER settings are displayed during initialization, including extension chars. Changed various std::cout messages to ROS_INFO and ROS_ERROR messages.
- Updated AID, RXM, and NAV messages to ublox 8 protocol. Added RxmSFRBX and RxmRAWX messages. Also did a 2nd pass on CFG messages for ublox 8 update. Need to serialize SFRBX.
- forgot to add new files in last commit
- Publishes Fix and Fix velocity from Nav PVT messages. Fix time stamps are from Nav PVT time instead of ros time now
- Publishes fix from Nav PVT info instead of Nav Pos LLH info. No longer compatible with firmware <=6. Now uses template publish function for most messages.
- Added Nav PVT message for protocol 8 and added publisher for ECEF messages in node.
- In C++11 shared_ptr has an explicit bool conversion
- Contributors: Kartik Mohta, Veronica Lane
0.0.5 (2016-08-06)
- Various small changes
- package.xml use format 2
- change some default values in launch files and node
- update readme
- clang format
- Contributors: Chao Qu
0.0.4 (2014-12-08)
- Update version number to reflect merge.
- Add install targets
- Reverted default in launch file
- Contributors: Gareth Cross, Kartik Mohta
0.0.3 (2014-10-18)
- Updated readme to reflect changes
- Added hacky ublox_version parameter to handle current limitations in driver structure
- Added MonVER, cleaned up make files a bit
- Added warning for ppp
- Added method to enable PPP
- Added settings for beidou and glonass
- Added option to run in gps only mode
- Changed param in roslaunch
- Contributors: Gareth Cross
0.0.2 (2014-10-03)
- Set better default for dr_limit in launch file
- Changed launch file to match readme
- Changed meas_rate to rate
- fix frame_id default
- add an option to specify node nanme
- Update ublox_gps.launch
- Update ublox_gps.launch
- Change to node
- Fixed erroneous max delay in diagnostic settings
- Removed unused option form launch file and readme
- Added diagnostic support
- Added options to ublox node, see README for details on changes
- Contributors: Chao Qu, Gareth Cross
0.0.1 (2014-08-15)
- Making fixes for second deployment
- Contributors: Gareth Cross
0.0.0 (2014-06-23)
- ublox: first commit
- Contributors: Chao Qu
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
diagnostic_msgs | |
diagnostic_updater | |
geometry_msgs | |
nmea_msgs | |
rcl_interfaces | |
rclcpp | |
rclcpp_components | |
rtcm_msgs | |
sensor_msgs | |
std_msgs | |
tf2 | |
ublox_msgs | |
ublox_serialization |
System Dependencies
Name |
---|
asio |
Dependant Packages
Name | Deps |
---|---|
ublox |
Launch files
Messages
Services
Plugins
Recent questions tagged ublox_gps at Robotics Stack Exchange
ublox_gps package from ublox repoublox ublox_gps ublox_msgs ublox_serialization |
|
Package Summary
Tags | No category tags. |
Version | 2.3.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/KumarRobotics/ublox.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2023-11-05 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gareth Cross
- Chao Qu
- Veronica Lane
Authors
- Johannes Meyer
Changelog for package ublox_gps
2.3.0 (2022-04-13)
- Revamp the building of the driver for modern ROS 2 practices.
- Fix parameter declaration types. (#146)
- Add the types to declared parameters. (#141)
- Add UDP support (#140)
- add Ublox ZED_F9P config (#131)
- Fix warnings in launch.
- [FEAT]: add launch and config directories to 'intall' package to avoid wrong launch location (#125)
- Fix wrong variable name in launch (#120)
- Contributors: CHAIWIT PHONKHEN, Chao Qu, Chris Lalancette, Daisuke Nishimatsu, Davidson Daniel Rojas Cediel, Kevin Hallenbeck
2.0.0 (2020-10-13)
- Initial ROS 2 port to Dashing
- Create publishers based on ROS parameters (#1)
- Make sure to reset for survey-in mode.
- Make sure to depend on tf2 properly.
- Make sure to have package.xml depend on ament_cmake_ros
- Fix getting RTCM ids and rates.
- Increase the timeout for NavPVT messages during Survey-In config.
- Configure the base more accurately.
- Update rover configuration.
- Create ROS 2 launch files.
- Finish porting configs to ROS 2.
- Fix heading output to comply with REP-103
- Make ublox_gps composable.
- Fixes pointed out by clang-tidy.
- Rename rawDataStreamPa member variable to raw_data_stream_pa
- Fix a bug for reads of zero size.
- Re-enable logging in the AsyncWorker.
- Switch a couple more catch blocks to const.
- Remove -ggdb3 flag from CMakeLists.txt.
- Fix a few bugs pointed out by valgrind.
- Pass the logger down to the Gps level.
- Minor cleanup in the gps code.
- More fixes for declaring parameters.
- Declare more parameters.
- Declare more parameters correctly.
- More fixes so that we get the correct rates.
- More fixes around the codebase.
- Mark constants as such.
- Remove declareRosBoolean.
- Update configuration files for ROS 2.
- Port ublox_gps to ROS 2.
- Start ROS 2 port by COLCON_IGNORE everything.
- Split the main out into its own file.
- Move spinning out of the constructor.
- Cleanup includes in node.{hpp,cpp}.
- Move HpPosRecProduct class to its own files.
- Move HpgRefProduct class to its own files.
- Move UbloxFirmware9 class to its own files.
- Move UbloxFirmware8 class to its own files.
- Move UbloxFirmware7 to its own files.
- Move UbloxFirmware7Plus class to its own header file.
- Move UbloxFirmware6 class to its own files.
- Move UbloxFirmware class to its own files.
- Move RawDataProduct class into its own files.
- Move HpgRovProduct class to its own files.
- Move AdrUdrProduct class into its own files.
- Move TimProduct class into its own file.
- Make the node handle a member variable of UbloxNode.
- Remove the last uses of the global variable.
- Pass the nodehandle into more methods.
- Start passing the node into functions.
- Declare a few more booleans.
- Declare a lot more parameters.
- Finish removing the "enable" map.
- Move some more boolean parameters to declarations.
- Declare more parameters.
- Convert a few more parameters over to being declared.
- Declare the config_on_startup flag.
- Make dat/set a declared parameter.
- Make sure to declare the sbas parameter.
- Add in ROS2-like declare and get parameters.
- Replace templated publish call with lambdas.
- Make fix_status_service a member variable of UbloxFirmware.
- Move fixFromString and modelFromString into node.cpp
- Make gps a member variable of UbloxNode.
- Add namespaces to component_interface and fts_product.hpp
- Minor code improvements.
- Move FixDiagnostic class to its own file.
- Move UbloxTopicDiagnostic to its own file.
- Make gnss a member variable of UbloxNode.
- Move kNavSvInfoSubscribeRate into the base class that uses it.
- Remove kSubscribeRate.
- Move the kDefaultMeasRate to the class that needs it.
- Remove kROSQueueSize constant.
- Make rtcms a member variable of UbloxNode.
- Switch to a structure for RTCMs.
- Make freq_diag a member variable of UbloxNode.
- Make updater a member variable of UbloxNode.
- Make frame_id a member variable.
- Make config_on_startup_flag a member variable.
- Make meas_rate a member variable.
- Make nav_rate a class variable.
- Lots of small code updates throughout the GPS module.
- Get rid of global 'debug' variable.
- Move serialization into the ublox_serialization module.
- More rearrangement of header files to make a more sane structure.
- Move FTSProduct class into its own file.
- UbloxNode is not a component.
- Move ComponentInterface to its own file.
- Remove the one static ros::Subscriber.
- Remove last static advertiser.
- Switch to const references for std::string where possible.
- Switch to more idiomatic publisher initialization.
- Switch the one use of tf to tf2.
- Remove 'using namespace' uses.
- Switch to non-boost asio.
- Remove uses of 'new' throughout the codebase.
- Remove the last of boost from node.cpp
- Remove most of boost from node.cpp/.hpp.
- Remove a bunch of boost from node.cpp
- Remove more boost.
- Remove boost from worker.hpp
- Remove some uses of boost from async_worker.hpp
- Fully de-boostify callback.hpp
- Rearrange messages.
- Switch out boost time and mutex for std
- Remove trailing whitespace in all files.
- Rename header files to have .hpp extension.
- Contributors: Chao Qu, Chris Lalancette, Mabel Zhang
1.2.0 (2019-11-19)
- Add support for ZED-F9P new RELPOSNED message and provide heading output Fix whitespacing... Add RELPOSNED9 message to compile
- Fix for corrupted diagnostics messages Before the diagnostic structs were copied, but the pointers in FrequencyStatusParams still pointed to the old/freed objects.
- Show TMODE3 diagnostics OK if disabled Since there is no default for TMODE3 this is a deliberate choice
- added simple (remote) logger node for raw data stream logging
-
updated raw data stream logging + moved all global/node functions to new class RawDataStreamPa (raw_data_pa .h/.c) + changed messagetype to uint8-multiarray (string can not handle non-characters)
- fix #52
- FIX: overflow bug when the nano field of the NavPVT message (which is signed and can be negative) is assigned to the nsec value of a ros time stamp (which is unsigned)
- deactivated config checks for base parts, if config_on_startup is false
- Added flag [config_on_startup]{.title-ref} to deactivate configuration of ublox.
-
fixes to raw data stream + moving write_callback_ before the read_callback_, to avoid buffer copying (write_callback_ == publishing ros messages and writing to file) + publishing empty ros message during config phase to force instantiation of publisher
- renamed new topic and internal variables for raw data stream
- from raw_data_xxx to raw_data_stream_xxx
- this is to avoid confusion with the RawDataProduct
- updated debug message for measurement rate (added "hz" and "cycles" as units)
- TUC-ProAut: added raw data output (publishing ros messages and storing to file)
- boost::posix_time::seconds constructor requires integer argument
- Add TIM product and M8U functionality as well as the TIM-TM2 message (#27)
- Initialize set_usb_ to false by default
- Set serial port to raw mode, needed for Boost versions < 1.66.0
- Minor fixes for very old devices
- Fix potential segfault when printing Inf messages The Inf message strings are not null terminated, so we need to construct the string of the correct size from the vector of bytes instead of just printing using %s.
- In AsyncWorker::doClose(), close the stream instead of just cancelling operations
- Cleanup + modernize to make compatible with C++11
- Fix compilation with newer GCC and Boost As of now, doesn't compile with C++11 or later.
- added clear params arg
- updated config files
- added save and load configuration parameters and functions. changed how GNSS is configured & reset.
- added raw data product class and structs for frequency diagnostics
- Contributors: Chao Qu, Evan Flynn, Ferry Schoenmakers, Kartik Mohta, Michael Stoll, Peter Weissig, Stewart Worrall, Tim Clephas, Veronica Lane
1.1.2 (2017-08-02)
- README and package xml updates
- Fixed bug with enabling INF messages. Changed how messages which update fix are enabled and changed name of subscribe param namespace to publish.
- added USB Cfg PRT parameters and configuration
- Changed how I/O is initialized so that u-blox node parses the device parameter, and then calls either initializeSerial or initializeTcp in the GPS class with the appropriate parameters. Also cleaned up doxygen comments
- Added doxygen comments and made minor cleanup changes.
- Added doxygen comments
- Fixed bug with ARP Position HP conversion, which was multiplied by the wrong conversion factor. The ARP Position HP parameter is now an int8 vector instead of a float vector. Also added a getRosInt method in the node to get int8 and int16 params and changed the name of getRosParam to getRosUint.
- removing unnecessary include
- Changed how ACKs are handled. They are now handled through callback functions and are included in the CallbackHandlers.
- Created a CallbackHandlers class and migrated callbacks functionality from Gps class to the CallbackHandlers class
- Node can now save flash memory on shutdown and clear flash memory based on user params
- BUG FIX: Fix status only uses NavPVT time if the time is valid, otherwise it uses ros time. This prevents invalid times.
- added respawn params to launch file
- moved getRosParam template functions into node.h and used checkRange function for the getRosParam functions
- In config files, changed reset mode since it seems to work better
- Changed how unsigned int parameters are handled.
- Added NMEA flag params for firmware version 6 and updated readme to include NMEA params.
- Renamed cfg_gnss param namespace to gnss. Fixed bug with NMEA configuration for compat variable. Added sample config file for NMEA.
- added comments
- After resetting the device when re-configuring the GNSS, the node shuts down & must be relaunched since device address may change & serial port resets.
- Made ACK atomic since it is accessed by 2 threads (the main node & the i/o callback)
- BUG FIXES: fixed bug with waiting for acknowledgements, which wasn't timing out. Fixed bug with CfgGNSS which wasn't properly verifying the current GPS config to see if it was correct. Also added NMEA configuration functions
- debug variable is no longer static so that ublox node can set it from ROS params
- Removed ublox_version param, value is now determined by parsing MonVER. Changed name of UbloxInterface to ComponentInterface for clarity.
- Additional changes to parameters
- Moved most parameters into namespaces
- Cleaned up how parameters are check and moved the parameter parsing functions from the gps namespace to the node namespace since the node handles parameter checks. Also added CfgDAT capabilities, if dat/set param is set.
- updates to sample config files
- Change rtcm_rate parameter to a vector instead of a scalar, now each RTCM id can be set to a different rate.
- BUG FIX: Fix diagnostics num sv was displaying incorrectly. For firmware versions >=7, the flags are now compared to the constants from NavPVT not NavSOL. Also cleaned up how the diagnostics are displayed & included units. Added Carrier Phase diagnostics for HPG rovers.
- fixed bug with file path in ublox_device.launch and updated README to include information on launch files and subscribing/configuring new messages
- Contributors: Veronica Lane
1.1.0 (2017-07-17)
- Updated package xmls with new version number and corrected my email address. Also updated readme to include information about new version plus new parameter
- Updated sample config files
- Added Cfg RST message declaration and reset function. For Firmware 8, after reconfiguring the GNSS, a cold restart is initiated.
- node now configures INF messages
- Added constants for HPG Rover Diagnostic updater. Cleaned up GPS class: made method and parameter names consistent, reordered methods for clarity, and privatized some methods.
- Added NavPVT7 message since NavPVT message is a different length for firmware version 7. UbloxFirmware7Plus class now uses a template function to update diagnostics from NavPVT messages and to publish fix messages from NavPVT messages.
- Code cleanup - clarified a function name + comments
- Implemented interface for ADR/UDR messages. Added unimplemented skeleton interface for FTS messages. Added warning message if device type was not parsed correctly from MonVER.
- Cleaned up formatting + modified debug/info statements
- Changed debug statements so that they print to ROS DEBUG console. DEBUG log level is set in main node based on value of debug ros param.
- Modified Cfg GNSS for Firmware version 7, so it configures SBAS and QZSS if supported by the device
- changed receive message error print statements to only print in debug mode
- cleaned up how the tmode state was tracked for HPG reference stations. For ublox >=8, GNSS is now only configured if the current configuration is different from the desired configuration. This prevents the need for a hard-reset and prevents survey-in mode from resetting on HPG devices with the correct configuration
- I/O initialization has been entirely migrated to the GPS class, previously it was handled in both the node and GPS class. Split the HPG class into two classes, one for the REF station and one for the rover since the configuration & params did not intersect at all.
- BUG FIX: baudrate config, serial ASIO baudrate now set correctly
- Cleaned up debug print statements + code cleanup
- Added print functions for INF messages and subscribers for new MON messages
- Added NavSAT message and moved subscribers for messages deprecated in version 8 to version specific subscribe methods
- Added a UbloxInterface class. UbloxNode and Ublox firmware and hardware specific classes implement the interface. Ublox Node contains pointers to the firmware and hardware classes and calls their functions during configuration. Added a skeleton class for UbloxTim which subscribes to RawX and SFRBX messages, but has unimplemented configuration and getRosParams methods
- Changed UbloxNxNode class, ublox firmware version classes with version specific methods now inherit from UbloxFirmware. Hardware specific classes inherit from UbloxHardware. UbloxNode contains instances of each and calls the appropriate functions.
- Made NodeHandle a global variable in ublox_node namespace, publish is no longer a member function. Also took out additional node handles that were created to get parameters and just used the global node handle
- BUG FIX Firmware Version 6: nav status variable was never updated, using information from nav sol instead. CODE CLEANUP: added trailing underscores to a few class member variables. Removed * 3 multiplier for covariance in version 6. Added a diagnostic function for RTCM (currently not being used, will incorporate later)
- BUG FIX: For ublox 6 changed publisher of NavPOSLLH, NavVELNED, and NavSOL to call the custom method and not the template function. Also removed NavPOSLLH, NavVELNED, and NavSOL publishers from ublox 7 & 8 since NavPVT should be used. BUG FIX: Removed hardcoded value for NumTrackChs for CfgGNSS. CODE CLEANUP: added constants for hardcoded values + additional comments.
- For High Precision GNSS: Changed the way TMODE3 & RTCM messages are configured. If in survey-in mode, it first configures the device to survey-in, then when the survey is complete enables the RTCM messages.
- Fixed bug in Wait for ACK, it now checks that the ACK is for the expected class id and message id, also changed a few debug and error messages.
- Added Error message for ASIO read read errors and fixed a comment in cfg rate
- Includes BUG FIX (keep reading). Added Ublox messages (and subscribers or configuration methods + params) for High Precision GNSS devices: CfgDGNSS, NavRELPOSNED, NavSVIN. Also added subscriber & message for RxmRTCM. Changed MonVER processing, it now determines the protocol version, hardware type (e.g. SPG/HPG), and supported GNSS (e.g. Glonass, SBAS). SBAS can now be disabled on SBAS supported devices (previously SBAS settings were ignored if enable_sbas was false to prevent crashes, now it checks the MonVER message before trying to configure SBAS.
- Removed commented out lines which were unnecessary and added error message in async worker for read errors from asio
- Contributors: Veronica Lane
1.0.0 (2017-06-23)
- added myself as maintainer to package xmls and updated version numbers of modified packages.
- Modified example launch file to include params, also added example launch which loads paramaters from yaml file
- more code cleanup
- Code cleanup of node
- Made a node class structure. An abstract class represents nodes for all firmware versions. Version nodes inherit from this node and implement version specific functions.
- add ros console include so ros error message would print
- Moved callback class functions from gps files to callback.h
- Added read lock to async worker. Read + write buffers are now lockedduring operations
- Fixed Thread safety issues with async worker. Now uses MRSW lock and each function which makes changes to shared variables acquires the lock
- BUG FIX: fixed issues in gps & node that caused run time crashes. FrequencyStatusParam arguments were in the wrong order. Reverted to old initialize method which incremently set the serial baudrate.
- added constants for hard-coded values in gps class
- Baud rate and in/out protocol mask are now configurable through params and are no longer hard coded.
- Removed hardcoded configuration values and added constants and params for these values. Fixed MonVER print warning issue. Added RTCM config function. Removed FixMode & DynamicMode enums and used constants from messages. Changed setBaudrate name to configUart1 since it was configuring all params. If enable SBAS is set to false, does not call enable SBAS (need to change this so that it calls if SBAS is available) to prevent errors for devices without SBAS. Changed std::cout statements to ROS_INFO.
- Formatting of copyright so it's <80 char and changed std::cout in Async worker to ROS_INFO messages
- Update CfgGNSS message and serialization which now publishes and receives blocks and reads and configures all GNSS settings at once. Updated MonVER message and serialization, MonVER settings are displayed during initialization, including extension chars. Changed various std::cout messages to ROS_INFO and ROS_ERROR messages.
- Updated AID, RXM, and NAV messages to ublox 8 protocol. Added RxmSFRBX and RxmRAWX messages. Also did a 2nd pass on CFG messages for ublox 8 update. Need to serialize SFRBX.
- forgot to add new files in last commit
- Publishes Fix and Fix velocity from Nav PVT messages. Fix time stamps are from Nav PVT time instead of ros time now
- Publishes fix from Nav PVT info instead of Nav Pos LLH info. No longer compatible with firmware <=6. Now uses template publish function for most messages.
- Added Nav PVT message for protocol 8 and added publisher for ECEF messages in node.
- In C++11 shared_ptr has an explicit bool conversion
- Contributors: Kartik Mohta, Veronica Lane
0.0.5 (2016-08-06)
- Various small changes
- package.xml use format 2
- change some default values in launch files and node
- update readme
- clang format
- Contributors: Chao Qu
0.0.4 (2014-12-08)
- Update version number to reflect merge.
- Add install targets
- Reverted default in launch file
- Contributors: Gareth Cross, Kartik Mohta
0.0.3 (2014-10-18)
- Updated readme to reflect changes
- Added hacky ublox_version parameter to handle current limitations in driver structure
- Added MonVER, cleaned up make files a bit
- Added warning for ppp
- Added method to enable PPP
- Added settings for beidou and glonass
- Added option to run in gps only mode
- Changed param in roslaunch
- Contributors: Gareth Cross
0.0.2 (2014-10-03)
- Set better default for dr_limit in launch file
- Changed launch file to match readme
- Changed meas_rate to rate
- fix frame_id default
- add an option to specify node nanme
- Update ublox_gps.launch
- Update ublox_gps.launch
- Change to node
- Fixed erroneous max delay in diagnostic settings
- Removed unused option form launch file and readme
- Added diagnostic support
- Added options to ublox node, see README for details on changes
- Contributors: Chao Qu, Gareth Cross
0.0.1 (2014-08-15)
- Making fixes for second deployment
- Contributors: Gareth Cross
0.0.0 (2014-06-23)
- ublox: first commit
- Contributors: Chao Qu
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
diagnostic_msgs | |
diagnostic_updater | |
geometry_msgs | |
nmea_msgs | |
rcl_interfaces | |
rclcpp | |
rclcpp_components | |
rtcm_msgs | |
sensor_msgs | |
std_msgs | |
tf2 | |
ublox_msgs | |
ublox_serialization |
System Dependencies
Name |
---|
asio |
Dependant Packages
Name | Deps |
---|---|
ublox |
Launch files
Messages
Services
Plugins
Recent questions tagged ublox_gps at Robotics Stack Exchange
ublox_gps package from ublox repoublox ublox_gps ublox_msgs ublox_serialization |
|
Package Summary
Tags | No category tags. |
Version | 2.3.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/KumarRobotics/ublox.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2023-11-05 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gareth Cross
- Chao Qu
- Veronica Lane
Authors
- Johannes Meyer
Changelog for package ublox_gps
2.3.0 (2022-04-13)
- Revamp the building of the driver for modern ROS 2 practices.
- Fix parameter declaration types. (#146)
- Add the types to declared parameters. (#141)
- Add UDP support (#140)
- add Ublox ZED_F9P config (#131)
- Fix warnings in launch.
- [FEAT]: add launch and config directories to 'intall' package to avoid wrong launch location (#125)
- Fix wrong variable name in launch (#120)
- Contributors: CHAIWIT PHONKHEN, Chao Qu, Chris Lalancette, Daisuke Nishimatsu, Davidson Daniel Rojas Cediel, Kevin Hallenbeck
2.0.0 (2020-10-13)
- Initial ROS 2 port to Dashing
- Create publishers based on ROS parameters (#1)
- Make sure to reset for survey-in mode.
- Make sure to depend on tf2 properly.
- Make sure to have package.xml depend on ament_cmake_ros
- Fix getting RTCM ids and rates.
- Increase the timeout for NavPVT messages during Survey-In config.
- Configure the base more accurately.
- Update rover configuration.
- Create ROS 2 launch files.
- Finish porting configs to ROS 2.
- Fix heading output to comply with REP-103
- Make ublox_gps composable.
- Fixes pointed out by clang-tidy.
- Rename rawDataStreamPa member variable to raw_data_stream_pa
- Fix a bug for reads of zero size.
- Re-enable logging in the AsyncWorker.
- Switch a couple more catch blocks to const.
- Remove -ggdb3 flag from CMakeLists.txt.
- Fix a few bugs pointed out by valgrind.
- Pass the logger down to the Gps level.
- Minor cleanup in the gps code.
- More fixes for declaring parameters.
- Declare more parameters.
- Declare more parameters correctly.
- More fixes so that we get the correct rates.
- More fixes around the codebase.
- Mark constants as such.
- Remove declareRosBoolean.
- Update configuration files for ROS 2.
- Port ublox_gps to ROS 2.
- Start ROS 2 port by COLCON_IGNORE everything.
- Split the main out into its own file.
- Move spinning out of the constructor.
- Cleanup includes in node.{hpp,cpp}.
- Move HpPosRecProduct class to its own files.
- Move HpgRefProduct class to its own files.
- Move UbloxFirmware9 class to its own files.
- Move UbloxFirmware8 class to its own files.
- Move UbloxFirmware7 to its own files.
- Move UbloxFirmware7Plus class to its own header file.
- Move UbloxFirmware6 class to its own files.
- Move UbloxFirmware class to its own files.
- Move RawDataProduct class into its own files.
- Move HpgRovProduct class to its own files.
- Move AdrUdrProduct class into its own files.
- Move TimProduct class into its own file.
- Make the node handle a member variable of UbloxNode.
- Remove the last uses of the global variable.
- Pass the nodehandle into more methods.
- Start passing the node into functions.
- Declare a few more booleans.
- Declare a lot more parameters.
- Finish removing the "enable" map.
- Move some more boolean parameters to declarations.
- Declare more parameters.
- Convert a few more parameters over to being declared.
- Declare the config_on_startup flag.
- Make dat/set a declared parameter.
- Make sure to declare the sbas parameter.
- Add in ROS2-like declare and get parameters.
- Replace templated publish call with lambdas.
- Make fix_status_service a member variable of UbloxFirmware.
- Move fixFromString and modelFromString into node.cpp
- Make gps a member variable of UbloxNode.
- Add namespaces to component_interface and fts_product.hpp
- Minor code improvements.
- Move FixDiagnostic class to its own file.
- Move UbloxTopicDiagnostic to its own file.
- Make gnss a member variable of UbloxNode.
- Move kNavSvInfoSubscribeRate into the base class that uses it.
- Remove kSubscribeRate.
- Move the kDefaultMeasRate to the class that needs it.
- Remove kROSQueueSize constant.
- Make rtcms a member variable of UbloxNode.
- Switch to a structure for RTCMs.
- Make freq_diag a member variable of UbloxNode.
- Make updater a member variable of UbloxNode.
- Make frame_id a member variable.
- Make config_on_startup_flag a member variable.
- Make meas_rate a member variable.
- Make nav_rate a class variable.
- Lots of small code updates throughout the GPS module.
- Get rid of global 'debug' variable.
- Move serialization into the ublox_serialization module.
- More rearrangement of header files to make a more sane structure.
- Move FTSProduct class into its own file.
- UbloxNode is not a component.
- Move ComponentInterface to its own file.
- Remove the one static ros::Subscriber.
- Remove last static advertiser.
- Switch to const references for std::string where possible.
- Switch to more idiomatic publisher initialization.
- Switch the one use of tf to tf2.
- Remove 'using namespace' uses.
- Switch to non-boost asio.
- Remove uses of 'new' throughout the codebase.
- Remove the last of boost from node.cpp
- Remove most of boost from node.cpp/.hpp.
- Remove a bunch of boost from node.cpp
- Remove more boost.
- Remove boost from worker.hpp
- Remove some uses of boost from async_worker.hpp
- Fully de-boostify callback.hpp
- Rearrange messages.
- Switch out boost time and mutex for std
- Remove trailing whitespace in all files.
- Rename header files to have .hpp extension.
- Contributors: Chao Qu, Chris Lalancette, Mabel Zhang
1.2.0 (2019-11-19)
- Add support for ZED-F9P new RELPOSNED message and provide heading output Fix whitespacing... Add RELPOSNED9 message to compile
- Fix for corrupted diagnostics messages Before the diagnostic structs were copied, but the pointers in FrequencyStatusParams still pointed to the old/freed objects.
- Show TMODE3 diagnostics OK if disabled Since there is no default for TMODE3 this is a deliberate choice
- added simple (remote) logger node for raw data stream logging
-
updated raw data stream logging + moved all global/node functions to new class RawDataStreamPa (raw_data_pa .h/.c) + changed messagetype to uint8-multiarray (string can not handle non-characters)
- fix #52
- FIX: overflow bug when the nano field of the NavPVT message (which is signed and can be negative) is assigned to the nsec value of a ros time stamp (which is unsigned)
- deactivated config checks for base parts, if config_on_startup is false
- Added flag [config_on_startup]{.title-ref} to deactivate configuration of ublox.
-
fixes to raw data stream + moving write_callback_ before the read_callback_, to avoid buffer copying (write_callback_ == publishing ros messages and writing to file) + publishing empty ros message during config phase to force instantiation of publisher
- renamed new topic and internal variables for raw data stream
- from raw_data_xxx to raw_data_stream_xxx
- this is to avoid confusion with the RawDataProduct
- updated debug message for measurement rate (added "hz" and "cycles" as units)
- TUC-ProAut: added raw data output (publishing ros messages and storing to file)
- boost::posix_time::seconds constructor requires integer argument
- Add TIM product and M8U functionality as well as the TIM-TM2 message (#27)
- Initialize set_usb_ to false by default
- Set serial port to raw mode, needed for Boost versions < 1.66.0
- Minor fixes for very old devices
- Fix potential segfault when printing Inf messages The Inf message strings are not null terminated, so we need to construct the string of the correct size from the vector of bytes instead of just printing using %s.
- In AsyncWorker::doClose(), close the stream instead of just cancelling operations
- Cleanup + modernize to make compatible with C++11
- Fix compilation with newer GCC and Boost As of now, doesn't compile with C++11 or later.
- added clear params arg
- updated config files
- added save and load configuration parameters and functions. changed how GNSS is configured & reset.
- added raw data product class and structs for frequency diagnostics
- Contributors: Chao Qu, Evan Flynn, Ferry Schoenmakers, Kartik Mohta, Michael Stoll, Peter Weissig, Stewart Worrall, Tim Clephas, Veronica Lane
1.1.2 (2017-08-02)
- README and package xml updates
- Fixed bug with enabling INF messages. Changed how messages which update fix are enabled and changed name of subscribe param namespace to publish.
- added USB Cfg PRT parameters and configuration
- Changed how I/O is initialized so that u-blox node parses the device parameter, and then calls either initializeSerial or initializeTcp in the GPS class with the appropriate parameters. Also cleaned up doxygen comments
- Added doxygen comments and made minor cleanup changes.
- Added doxygen comments
- Fixed bug with ARP Position HP conversion, which was multiplied by the wrong conversion factor. The ARP Position HP parameter is now an int8 vector instead of a float vector. Also added a getRosInt method in the node to get int8 and int16 params and changed the name of getRosParam to getRosUint.
- removing unnecessary include
- Changed how ACKs are handled. They are now handled through callback functions and are included in the CallbackHandlers.
- Created a CallbackHandlers class and migrated callbacks functionality from Gps class to the CallbackHandlers class
- Node can now save flash memory on shutdown and clear flash memory based on user params
- BUG FIX: Fix status only uses NavPVT time if the time is valid, otherwise it uses ros time. This prevents invalid times.
- added respawn params to launch file
- moved getRosParam template functions into node.h and used checkRange function for the getRosParam functions
- In config files, changed reset mode since it seems to work better
- Changed how unsigned int parameters are handled.
- Added NMEA flag params for firmware version 6 and updated readme to include NMEA params.
- Renamed cfg_gnss param namespace to gnss. Fixed bug with NMEA configuration for compat variable. Added sample config file for NMEA.
- added comments
- After resetting the device when re-configuring the GNSS, the node shuts down & must be relaunched since device address may change & serial port resets.
- Made ACK atomic since it is accessed by 2 threads (the main node & the i/o callback)
- BUG FIXES: fixed bug with waiting for acknowledgements, which wasn't timing out. Fixed bug with CfgGNSS which wasn't properly verifying the current GPS config to see if it was correct. Also added NMEA configuration functions
- debug variable is no longer static so that ublox node can set it from ROS params
- Removed ublox_version param, value is now determined by parsing MonVER. Changed name of UbloxInterface to ComponentInterface for clarity.
- Additional changes to parameters
- Moved most parameters into namespaces
- Cleaned up how parameters are check and moved the parameter parsing functions from the gps namespace to the node namespace since the node handles parameter checks. Also added CfgDAT capabilities, if dat/set param is set.
- updates to sample config files
- Change rtcm_rate parameter to a vector instead of a scalar, now each RTCM id can be set to a different rate.
- BUG FIX: Fix diagnostics num sv was displaying incorrectly. For firmware versions >=7, the flags are now compared to the constants from NavPVT not NavSOL. Also cleaned up how the diagnostics are displayed & included units. Added Carrier Phase diagnostics for HPG rovers.
- fixed bug with file path in ublox_device.launch and updated README to include information on launch files and subscribing/configuring new messages
- Contributors: Veronica Lane
1.1.0 (2017-07-17)
- Updated package xmls with new version number and corrected my email address. Also updated readme to include information about new version plus new parameter
- Updated sample config files
- Added Cfg RST message declaration and reset function. For Firmware 8, after reconfiguring the GNSS, a cold restart is initiated.
- node now configures INF messages
- Added constants for HPG Rover Diagnostic updater. Cleaned up GPS class: made method and parameter names consistent, reordered methods for clarity, and privatized some methods.
- Added NavPVT7 message since NavPVT message is a different length for firmware version 7. UbloxFirmware7Plus class now uses a template function to update diagnostics from NavPVT messages and to publish fix messages from NavPVT messages.
- Code cleanup - clarified a function name + comments
- Implemented interface for ADR/UDR messages. Added unimplemented skeleton interface for FTS messages. Added warning message if device type was not parsed correctly from MonVER.
- Cleaned up formatting + modified debug/info statements
- Changed debug statements so that they print to ROS DEBUG console. DEBUG log level is set in main node based on value of debug ros param.
- Modified Cfg GNSS for Firmware version 7, so it configures SBAS and QZSS if supported by the device
- changed receive message error print statements to only print in debug mode
- cleaned up how the tmode state was tracked for HPG reference stations. For ublox >=8, GNSS is now only configured if the current configuration is different from the desired configuration. This prevents the need for a hard-reset and prevents survey-in mode from resetting on HPG devices with the correct configuration
- I/O initialization has been entirely migrated to the GPS class, previously it was handled in both the node and GPS class. Split the HPG class into two classes, one for the REF station and one for the rover since the configuration & params did not intersect at all.
- BUG FIX: baudrate config, serial ASIO baudrate now set correctly
- Cleaned up debug print statements + code cleanup
- Added print functions for INF messages and subscribers for new MON messages
- Added NavSAT message and moved subscribers for messages deprecated in version 8 to version specific subscribe methods
- Added a UbloxInterface class. UbloxNode and Ublox firmware and hardware specific classes implement the interface. Ublox Node contains pointers to the firmware and hardware classes and calls their functions during configuration. Added a skeleton class for UbloxTim which subscribes to RawX and SFRBX messages, but has unimplemented configuration and getRosParams methods
- Changed UbloxNxNode class, ublox firmware version classes with version specific methods now inherit from UbloxFirmware. Hardware specific classes inherit from UbloxHardware. UbloxNode contains instances of each and calls the appropriate functions.
- Made NodeHandle a global variable in ublox_node namespace, publish is no longer a member function. Also took out additional node handles that were created to get parameters and just used the global node handle
- BUG FIX Firmware Version 6: nav status variable was never updated, using information from nav sol instead. CODE CLEANUP: added trailing underscores to a few class member variables. Removed * 3 multiplier for covariance in version 6. Added a diagnostic function for RTCM (currently not being used, will incorporate later)
- BUG FIX: For ublox 6 changed publisher of NavPOSLLH, NavVELNED, and NavSOL to call the custom method and not the template function. Also removed NavPOSLLH, NavVELNED, and NavSOL publishers from ublox 7 & 8 since NavPVT should be used. BUG FIX: Removed hardcoded value for NumTrackChs for CfgGNSS. CODE CLEANUP: added constants for hardcoded values + additional comments.
- For High Precision GNSS: Changed the way TMODE3 & RTCM messages are configured. If in survey-in mode, it first configures the device to survey-in, then when the survey is complete enables the RTCM messages.
- Fixed bug in Wait for ACK, it now checks that the ACK is for the expected class id and message id, also changed a few debug and error messages.
- Added Error message for ASIO read read errors and fixed a comment in cfg rate
- Includes BUG FIX (keep reading). Added Ublox messages (and subscribers or configuration methods + params) for High Precision GNSS devices: CfgDGNSS, NavRELPOSNED, NavSVIN. Also added subscriber & message for RxmRTCM. Changed MonVER processing, it now determines the protocol version, hardware type (e.g. SPG/HPG), and supported GNSS (e.g. Glonass, SBAS). SBAS can now be disabled on SBAS supported devices (previously SBAS settings were ignored if enable_sbas was false to prevent crashes, now it checks the MonVER message before trying to configure SBAS.
- Removed commented out lines which were unnecessary and added error message in async worker for read errors from asio
- Contributors: Veronica Lane
1.0.0 (2017-06-23)
- added myself as maintainer to package xmls and updated version numbers of modified packages.
- Modified example launch file to include params, also added example launch which loads paramaters from yaml file
- more code cleanup
- Code cleanup of node
- Made a node class structure. An abstract class represents nodes for all firmware versions. Version nodes inherit from this node and implement version specific functions.
- add ros console include so ros error message would print
- Moved callback class functions from gps files to callback.h
- Added read lock to async worker. Read + write buffers are now lockedduring operations
- Fixed Thread safety issues with async worker. Now uses MRSW lock and each function which makes changes to shared variables acquires the lock
- BUG FIX: fixed issues in gps & node that caused run time crashes. FrequencyStatusParam arguments were in the wrong order. Reverted to old initialize method which incremently set the serial baudrate.
- added constants for hard-coded values in gps class
- Baud rate and in/out protocol mask are now configurable through params and are no longer hard coded.
- Removed hardcoded configuration values and added constants and params for these values. Fixed MonVER print warning issue. Added RTCM config function. Removed FixMode & DynamicMode enums and used constants from messages. Changed setBaudrate name to configUart1 since it was configuring all params. If enable SBAS is set to false, does not call enable SBAS (need to change this so that it calls if SBAS is available) to prevent errors for devices without SBAS. Changed std::cout statements to ROS_INFO.
- Formatting of copyright so it's <80 char and changed std::cout in Async worker to ROS_INFO messages
- Update CfgGNSS message and serialization which now publishes and receives blocks and reads and configures all GNSS settings at once. Updated MonVER message and serialization, MonVER settings are displayed during initialization, including extension chars. Changed various std::cout messages to ROS_INFO and ROS_ERROR messages.
- Updated AID, RXM, and NAV messages to ublox 8 protocol. Added RxmSFRBX and RxmRAWX messages. Also did a 2nd pass on CFG messages for ublox 8 update. Need to serialize SFRBX.
- forgot to add new files in last commit
- Publishes Fix and Fix velocity from Nav PVT messages. Fix time stamps are from Nav PVT time instead of ros time now
- Publishes fix from Nav PVT info instead of Nav Pos LLH info. No longer compatible with firmware <=6. Now uses template publish function for most messages.
- Added Nav PVT message for protocol 8 and added publisher for ECEF messages in node.
- In C++11 shared_ptr has an explicit bool conversion
- Contributors: Kartik Mohta, Veronica Lane
0.0.5 (2016-08-06)
- Various small changes
- package.xml use format 2
- change some default values in launch files and node
- update readme
- clang format
- Contributors: Chao Qu
0.0.4 (2014-12-08)
- Update version number to reflect merge.
- Add install targets
- Reverted default in launch file
- Contributors: Gareth Cross, Kartik Mohta
0.0.3 (2014-10-18)
- Updated readme to reflect changes
- Added hacky ublox_version parameter to handle current limitations in driver structure
- Added MonVER, cleaned up make files a bit
- Added warning for ppp
- Added method to enable PPP
- Added settings for beidou and glonass
- Added option to run in gps only mode
- Changed param in roslaunch
- Contributors: Gareth Cross
0.0.2 (2014-10-03)
- Set better default for dr_limit in launch file
- Changed launch file to match readme
- Changed meas_rate to rate
- fix frame_id default
- add an option to specify node nanme
- Update ublox_gps.launch
- Update ublox_gps.launch
- Change to node
- Fixed erroneous max delay in diagnostic settings
- Removed unused option form launch file and readme
- Added diagnostic support
- Added options to ublox node, see README for details on changes
- Contributors: Chao Qu, Gareth Cross
0.0.1 (2014-08-15)
- Making fixes for second deployment
- Contributors: Gareth Cross
0.0.0 (2014-06-23)
- ublox: first commit
- Contributors: Chao Qu
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
diagnostic_msgs | |
diagnostic_updater | |
geometry_msgs | |
nmea_msgs | |
rcl_interfaces | |
rclcpp | |
rclcpp_components | |
rtcm_msgs | |
sensor_msgs | |
std_msgs | |
tf2 | |
ublox_msgs | |
ublox_serialization |
System Dependencies
Name |
---|
asio |
Dependant Packages
Name | Deps |
---|---|
ublox |
Launch files
Messages
Services
Plugins
Recent questions tagged ublox_gps at Robotics Stack Exchange
ublox_gps package from ublox repoublox ublox_gps ublox_msgs ublox_serialization |
|
Package Summary
Tags | No category tags. |
Version | 2.3.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/KumarRobotics/ublox.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2023-11-05 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gareth Cross
- Chao Qu
- Veronica Lane
Authors
- Johannes Meyer
Changelog for package ublox_gps
2.3.0 (2022-04-13)
- Revamp the building of the driver for modern ROS 2 practices.
- Fix parameter declaration types. (#146)
- Add the types to declared parameters. (#141)
- Add UDP support (#140)
- add Ublox ZED_F9P config (#131)
- Fix warnings in launch.
- [FEAT]: add launch and config directories to 'intall' package to avoid wrong launch location (#125)
- Fix wrong variable name in launch (#120)
- Contributors: CHAIWIT PHONKHEN, Chao Qu, Chris Lalancette, Daisuke Nishimatsu, Davidson Daniel Rojas Cediel, Kevin Hallenbeck
2.0.0 (2020-10-13)
- Initial ROS 2 port to Dashing
- Create publishers based on ROS parameters (#1)
- Make sure to reset for survey-in mode.
- Make sure to depend on tf2 properly.
- Make sure to have package.xml depend on ament_cmake_ros
- Fix getting RTCM ids and rates.
- Increase the timeout for NavPVT messages during Survey-In config.
- Configure the base more accurately.
- Update rover configuration.
- Create ROS 2 launch files.
- Finish porting configs to ROS 2.
- Fix heading output to comply with REP-103
- Make ublox_gps composable.
- Fixes pointed out by clang-tidy.
- Rename rawDataStreamPa member variable to raw_data_stream_pa
- Fix a bug for reads of zero size.
- Re-enable logging in the AsyncWorker.
- Switch a couple more catch blocks to const.
- Remove -ggdb3 flag from CMakeLists.txt.
- Fix a few bugs pointed out by valgrind.
- Pass the logger down to the Gps level.
- Minor cleanup in the gps code.
- More fixes for declaring parameters.
- Declare more parameters.
- Declare more parameters correctly.
- More fixes so that we get the correct rates.
- More fixes around the codebase.
- Mark constants as such.
- Remove declareRosBoolean.
- Update configuration files for ROS 2.
- Port ublox_gps to ROS 2.
- Start ROS 2 port by COLCON_IGNORE everything.
- Split the main out into its own file.
- Move spinning out of the constructor.
- Cleanup includes in node.{hpp,cpp}.
- Move HpPosRecProduct class to its own files.
- Move HpgRefProduct class to its own files.
- Move UbloxFirmware9 class to its own files.
- Move UbloxFirmware8 class to its own files.
- Move UbloxFirmware7 to its own files.
- Move UbloxFirmware7Plus class to its own header file.
- Move UbloxFirmware6 class to its own files.
- Move UbloxFirmware class to its own files.
- Move RawDataProduct class into its own files.
- Move HpgRovProduct class to its own files.
- Move AdrUdrProduct class into its own files.
- Move TimProduct class into its own file.
- Make the node handle a member variable of UbloxNode.
- Remove the last uses of the global variable.
- Pass the nodehandle into more methods.
- Start passing the node into functions.
- Declare a few more booleans.
- Declare a lot more parameters.
- Finish removing the "enable" map.
- Move some more boolean parameters to declarations.
- Declare more parameters.
- Convert a few more parameters over to being declared.
- Declare the config_on_startup flag.
- Make dat/set a declared parameter.
- Make sure to declare the sbas parameter.
- Add in ROS2-like declare and get parameters.
- Replace templated publish call with lambdas.
- Make fix_status_service a member variable of UbloxFirmware.
- Move fixFromString and modelFromString into node.cpp
- Make gps a member variable of UbloxNode.
- Add namespaces to component_interface and fts_product.hpp
- Minor code improvements.
- Move FixDiagnostic class to its own file.
- Move UbloxTopicDiagnostic to its own file.
- Make gnss a member variable of UbloxNode.
- Move kNavSvInfoSubscribeRate into the base class that uses it.
- Remove kSubscribeRate.
- Move the kDefaultMeasRate to the class that needs it.
- Remove kROSQueueSize constant.
- Make rtcms a member variable of UbloxNode.
- Switch to a structure for RTCMs.
- Make freq_diag a member variable of UbloxNode.
- Make updater a member variable of UbloxNode.
- Make frame_id a member variable.
- Make config_on_startup_flag a member variable.
- Make meas_rate a member variable.
- Make nav_rate a class variable.
- Lots of small code updates throughout the GPS module.
- Get rid of global 'debug' variable.
- Move serialization into the ublox_serialization module.
- More rearrangement of header files to make a more sane structure.
- Move FTSProduct class into its own file.
- UbloxNode is not a component.
- Move ComponentInterface to its own file.
- Remove the one static ros::Subscriber.
- Remove last static advertiser.
- Switch to const references for std::string where possible.
- Switch to more idiomatic publisher initialization.
- Switch the one use of tf to tf2.
- Remove 'using namespace' uses.
- Switch to non-boost asio.
- Remove uses of 'new' throughout the codebase.
- Remove the last of boost from node.cpp
- Remove most of boost from node.cpp/.hpp.
- Remove a bunch of boost from node.cpp
- Remove more boost.
- Remove boost from worker.hpp
- Remove some uses of boost from async_worker.hpp
- Fully de-boostify callback.hpp
- Rearrange messages.
- Switch out boost time and mutex for std
- Remove trailing whitespace in all files.
- Rename header files to have .hpp extension.
- Contributors: Chao Qu, Chris Lalancette, Mabel Zhang
1.2.0 (2019-11-19)
- Add support for ZED-F9P new RELPOSNED message and provide heading output Fix whitespacing... Add RELPOSNED9 message to compile
- Fix for corrupted diagnostics messages Before the diagnostic structs were copied, but the pointers in FrequencyStatusParams still pointed to the old/freed objects.
- Show TMODE3 diagnostics OK if disabled Since there is no default for TMODE3 this is a deliberate choice
- added simple (remote) logger node for raw data stream logging
-
updated raw data stream logging + moved all global/node functions to new class RawDataStreamPa (raw_data_pa .h/.c) + changed messagetype to uint8-multiarray (string can not handle non-characters)
- fix #52
- FIX: overflow bug when the nano field of the NavPVT message (which is signed and can be negative) is assigned to the nsec value of a ros time stamp (which is unsigned)
- deactivated config checks for base parts, if config_on_startup is false
- Added flag [config_on_startup]{.title-ref} to deactivate configuration of ublox.
-
fixes to raw data stream + moving write_callback_ before the read_callback_, to avoid buffer copying (write_callback_ == publishing ros messages and writing to file) + publishing empty ros message during config phase to force instantiation of publisher
- renamed new topic and internal variables for raw data stream
- from raw_data_xxx to raw_data_stream_xxx
- this is to avoid confusion with the RawDataProduct
- updated debug message for measurement rate (added "hz" and "cycles" as units)
- TUC-ProAut: added raw data output (publishing ros messages and storing to file)
- boost::posix_time::seconds constructor requires integer argument
- Add TIM product and M8U functionality as well as the TIM-TM2 message (#27)
- Initialize set_usb_ to false by default
- Set serial port to raw mode, needed for Boost versions < 1.66.0
- Minor fixes for very old devices
- Fix potential segfault when printing Inf messages The Inf message strings are not null terminated, so we need to construct the string of the correct size from the vector of bytes instead of just printing using %s.
- In AsyncWorker::doClose(), close the stream instead of just cancelling operations
- Cleanup + modernize to make compatible with C++11
- Fix compilation with newer GCC and Boost As of now, doesn't compile with C++11 or later.
- added clear params arg
- updated config files
- added save and load configuration parameters and functions. changed how GNSS is configured & reset.
- added raw data product class and structs for frequency diagnostics
- Contributors: Chao Qu, Evan Flynn, Ferry Schoenmakers, Kartik Mohta, Michael Stoll, Peter Weissig, Stewart Worrall, Tim Clephas, Veronica Lane
1.1.2 (2017-08-02)
- README and package xml updates
- Fixed bug with enabling INF messages. Changed how messages which update fix are enabled and changed name of subscribe param namespace to publish.
- added USB Cfg PRT parameters and configuration
- Changed how I/O is initialized so that u-blox node parses the device parameter, and then calls either initializeSerial or initializeTcp in the GPS class with the appropriate parameters. Also cleaned up doxygen comments
- Added doxygen comments and made minor cleanup changes.
- Added doxygen comments
- Fixed bug with ARP Position HP conversion, which was multiplied by the wrong conversion factor. The ARP Position HP parameter is now an int8 vector instead of a float vector. Also added a getRosInt method in the node to get int8 and int16 params and changed the name of getRosParam to getRosUint.
- removing unnecessary include
- Changed how ACKs are handled. They are now handled through callback functions and are included in the CallbackHandlers.
- Created a CallbackHandlers class and migrated callbacks functionality from Gps class to the CallbackHandlers class
- Node can now save flash memory on shutdown and clear flash memory based on user params
- BUG FIX: Fix status only uses NavPVT time if the time is valid, otherwise it uses ros time. This prevents invalid times.
- added respawn params to launch file
- moved getRosParam template functions into node.h and used checkRange function for the getRosParam functions
- In config files, changed reset mode since it seems to work better
- Changed how unsigned int parameters are handled.
- Added NMEA flag params for firmware version 6 and updated readme to include NMEA params.
- Renamed cfg_gnss param namespace to gnss. Fixed bug with NMEA configuration for compat variable. Added sample config file for NMEA.
- added comments
- After resetting the device when re-configuring the GNSS, the node shuts down & must be relaunched since device address may change & serial port resets.
- Made ACK atomic since it is accessed by 2 threads (the main node & the i/o callback)
- BUG FIXES: fixed bug with waiting for acknowledgements, which wasn't timing out. Fixed bug with CfgGNSS which wasn't properly verifying the current GPS config to see if it was correct. Also added NMEA configuration functions
- debug variable is no longer static so that ublox node can set it from ROS params
- Removed ublox_version param, value is now determined by parsing MonVER. Changed name of UbloxInterface to ComponentInterface for clarity.
- Additional changes to parameters
- Moved most parameters into namespaces
- Cleaned up how parameters are check and moved the parameter parsing functions from the gps namespace to the node namespace since the node handles parameter checks. Also added CfgDAT capabilities, if dat/set param is set.
- updates to sample config files
- Change rtcm_rate parameter to a vector instead of a scalar, now each RTCM id can be set to a different rate.
- BUG FIX: Fix diagnostics num sv was displaying incorrectly. For firmware versions >=7, the flags are now compared to the constants from NavPVT not NavSOL. Also cleaned up how the diagnostics are displayed & included units. Added Carrier Phase diagnostics for HPG rovers.
- fixed bug with file path in ublox_device.launch and updated README to include information on launch files and subscribing/configuring new messages
- Contributors: Veronica Lane
1.1.0 (2017-07-17)
- Updated package xmls with new version number and corrected my email address. Also updated readme to include information about new version plus new parameter
- Updated sample config files
- Added Cfg RST message declaration and reset function. For Firmware 8, after reconfiguring the GNSS, a cold restart is initiated.
- node now configures INF messages
- Added constants for HPG Rover Diagnostic updater. Cleaned up GPS class: made method and parameter names consistent, reordered methods for clarity, and privatized some methods.
- Added NavPVT7 message since NavPVT message is a different length for firmware version 7. UbloxFirmware7Plus class now uses a template function to update diagnostics from NavPVT messages and to publish fix messages from NavPVT messages.
- Code cleanup - clarified a function name + comments
- Implemented interface for ADR/UDR messages. Added unimplemented skeleton interface for FTS messages. Added warning message if device type was not parsed correctly from MonVER.
- Cleaned up formatting + modified debug/info statements
- Changed debug statements so that they print to ROS DEBUG console. DEBUG log level is set in main node based on value of debug ros param.
- Modified Cfg GNSS for Firmware version 7, so it configures SBAS and QZSS if supported by the device
- changed receive message error print statements to only print in debug mode
- cleaned up how the tmode state was tracked for HPG reference stations. For ublox >=8, GNSS is now only configured if the current configuration is different from the desired configuration. This prevents the need for a hard-reset and prevents survey-in mode from resetting on HPG devices with the correct configuration
- I/O initialization has been entirely migrated to the GPS class, previously it was handled in both the node and GPS class. Split the HPG class into two classes, one for the REF station and one for the rover since the configuration & params did not intersect at all.
- BUG FIX: baudrate config, serial ASIO baudrate now set correctly
- Cleaned up debug print statements + code cleanup
- Added print functions for INF messages and subscribers for new MON messages
- Added NavSAT message and moved subscribers for messages deprecated in version 8 to version specific subscribe methods
- Added a UbloxInterface class. UbloxNode and Ublox firmware and hardware specific classes implement the interface. Ublox Node contains pointers to the firmware and hardware classes and calls their functions during configuration. Added a skeleton class for UbloxTim which subscribes to RawX and SFRBX messages, but has unimplemented configuration and getRosParams methods
- Changed UbloxNxNode class, ublox firmware version classes with version specific methods now inherit from UbloxFirmware. Hardware specific classes inherit from UbloxHardware. UbloxNode contains instances of each and calls the appropriate functions.
- Made NodeHandle a global variable in ublox_node namespace, publish is no longer a member function. Also took out additional node handles that were created to get parameters and just used the global node handle
- BUG FIX Firmware Version 6: nav status variable was never updated, using information from nav sol instead. CODE CLEANUP: added trailing underscores to a few class member variables. Removed * 3 multiplier for covariance in version 6. Added a diagnostic function for RTCM (currently not being used, will incorporate later)
- BUG FIX: For ublox 6 changed publisher of NavPOSLLH, NavVELNED, and NavSOL to call the custom method and not the template function. Also removed NavPOSLLH, NavVELNED, and NavSOL publishers from ublox 7 & 8 since NavPVT should be used. BUG FIX: Removed hardcoded value for NumTrackChs for CfgGNSS. CODE CLEANUP: added constants for hardcoded values + additional comments.
- For High Precision GNSS: Changed the way TMODE3 & RTCM messages are configured. If in survey-in mode, it first configures the device to survey-in, then when the survey is complete enables the RTCM messages.
- Fixed bug in Wait for ACK, it now checks that the ACK is for the expected class id and message id, also changed a few debug and error messages.
- Added Error message for ASIO read read errors and fixed a comment in cfg rate
- Includes BUG FIX (keep reading). Added Ublox messages (and subscribers or configuration methods + params) for High Precision GNSS devices: CfgDGNSS, NavRELPOSNED, NavSVIN. Also added subscriber & message for RxmRTCM. Changed MonVER processing, it now determines the protocol version, hardware type (e.g. SPG/HPG), and supported GNSS (e.g. Glonass, SBAS). SBAS can now be disabled on SBAS supported devices (previously SBAS settings were ignored if enable_sbas was false to prevent crashes, now it checks the MonVER message before trying to configure SBAS.
- Removed commented out lines which were unnecessary and added error message in async worker for read errors from asio
- Contributors: Veronica Lane
1.0.0 (2017-06-23)
- added myself as maintainer to package xmls and updated version numbers of modified packages.
- Modified example launch file to include params, also added example launch which loads paramaters from yaml file
- more code cleanup
- Code cleanup of node
- Made a node class structure. An abstract class represents nodes for all firmware versions. Version nodes inherit from this node and implement version specific functions.
- add ros console include so ros error message would print
- Moved callback class functions from gps files to callback.h
- Added read lock to async worker. Read + write buffers are now lockedduring operations
- Fixed Thread safety issues with async worker. Now uses MRSW lock and each function which makes changes to shared variables acquires the lock
- BUG FIX: fixed issues in gps & node that caused run time crashes. FrequencyStatusParam arguments were in the wrong order. Reverted to old initialize method which incremently set the serial baudrate.
- added constants for hard-coded values in gps class
- Baud rate and in/out protocol mask are now configurable through params and are no longer hard coded.
- Removed hardcoded configuration values and added constants and params for these values. Fixed MonVER print warning issue. Added RTCM config function. Removed FixMode & DynamicMode enums and used constants from messages. Changed setBaudrate name to configUart1 since it was configuring all params. If enable SBAS is set to false, does not call enable SBAS (need to change this so that it calls if SBAS is available) to prevent errors for devices without SBAS. Changed std::cout statements to ROS_INFO.
- Formatting of copyright so it's <80 char and changed std::cout in Async worker to ROS_INFO messages
- Update CfgGNSS message and serialization which now publishes and receives blocks and reads and configures all GNSS settings at once. Updated MonVER message and serialization, MonVER settings are displayed during initialization, including extension chars. Changed various std::cout messages to ROS_INFO and ROS_ERROR messages.
- Updated AID, RXM, and NAV messages to ublox 8 protocol. Added RxmSFRBX and RxmRAWX messages. Also did a 2nd pass on CFG messages for ublox 8 update. Need to serialize SFRBX.
- forgot to add new files in last commit
- Publishes Fix and Fix velocity from Nav PVT messages. Fix time stamps are from Nav PVT time instead of ros time now
- Publishes fix from Nav PVT info instead of Nav Pos LLH info. No longer compatible with firmware <=6. Now uses template publish function for most messages.
- Added Nav PVT message for protocol 8 and added publisher for ECEF messages in node.
- In C++11 shared_ptr has an explicit bool conversion
- Contributors: Kartik Mohta, Veronica Lane
0.0.5 (2016-08-06)
- Various small changes
- package.xml use format 2
- change some default values in launch files and node
- update readme
- clang format
- Contributors: Chao Qu
0.0.4 (2014-12-08)
- Update version number to reflect merge.
- Add install targets
- Reverted default in launch file
- Contributors: Gareth Cross, Kartik Mohta
0.0.3 (2014-10-18)
- Updated readme to reflect changes
- Added hacky ublox_version parameter to handle current limitations in driver structure
- Added MonVER, cleaned up make files a bit
- Added warning for ppp
- Added method to enable PPP
- Added settings for beidou and glonass
- Added option to run in gps only mode
- Changed param in roslaunch
- Contributors: Gareth Cross
0.0.2 (2014-10-03)
- Set better default for dr_limit in launch file
- Changed launch file to match readme
- Changed meas_rate to rate
- fix frame_id default
- add an option to specify node nanme
- Update ublox_gps.launch
- Update ublox_gps.launch
- Change to node
- Fixed erroneous max delay in diagnostic settings
- Removed unused option form launch file and readme
- Added diagnostic support
- Added options to ublox node, see README for details on changes
- Contributors: Chao Qu, Gareth Cross
0.0.1 (2014-08-15)
- Making fixes for second deployment
- Contributors: Gareth Cross
0.0.0 (2014-06-23)
- ublox: first commit
- Contributors: Chao Qu
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
diagnostic_msgs | |
diagnostic_updater | |
geometry_msgs | |
nmea_msgs | |
rcl_interfaces | |
rclcpp | |
rclcpp_components | |
rtcm_msgs | |
sensor_msgs | |
std_msgs | |
tf2 | |
ublox_msgs | |
ublox_serialization |
System Dependencies
Name |
---|
asio |
Dependant Packages
Name | Deps |
---|---|
ublox |
Launch files
Messages
Services
Plugins
Recent questions tagged ublox_gps at Robotics Stack Exchange
ublox_gps package from ublox repoublox ublox_gps ublox_msg_filters ublox_msgs ublox_serialization |
|
Package Summary
Tags | No category tags. |
Version | 1.5.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/KumarRobotics/ublox.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2022-12-07 |
Dev Status | MAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gareth Cross
- Chao Qu
- Veronica Lane
Authors
- Johannes Meyer
Changelog for package ublox_gps
1.5.0 (2021-10-15)
- Add rtcm_msgs dependency
- Add RTK support via rtcm
- GPS coordinate precision corrected for high accuracy.
- Diagonstics for Differential GNSS updated.
- Add a new parameter to set the search path for the param_file_name. Add a default to the node_name parameter.
- Add zed-f9p configuration
- Contributors: Balamurugan Kandan, Chris Iverach-Brereton, Igor
1.4.1 (2020-06-04)
- fix signs in sensor_msgs::Imu output
- Contributors: Raphael Riebl
1.4.0 (2020-05-28)
- Bump CMake minimum version to 3.0.2
- Move variables from .h to .cpp to solve linking issues
- added support for protocol version >= 18
- Contributors: Firat Kasmis, Gonçalo Pereira
1.3.1 (2020-03-12)
- Fix unit in covariance calculation
- Contributors: Ferry Schoenmakers
1.3.0 (2020-01-10)
- Fix heading output to comply with REP-103 When not reporting valid heading, overwrite covariance with big number (0 otherwise)
- CfgNAV5: add dynamic model bike
- Contributors: Ferry Schoenmakers, Raphael Riebl
1.2.0 (2019-11-19)
- Add support for ZED-F9P new RELPOSNED message and provide heading output Fix whitespacing... Add RELPOSNED9 message to compile
- Fix for corrupted diagnostics messages Before the diagnostic structs were copied, but the pointers in FrequencyStatusParams still pointed to the old/freed objects.
- Show TMODE3 diagnostics OK if disabled Since there is no default for TMODE3 this is a deliberate choice
- added simple (remote) logger node for raw data stream logging
-
updated raw data stream logging + moved all global/node functions to new class RawDataStreamPa (raw_data_pa .h/.c) + changed messagetype to uint8-multiarray (string can not handle non-characters)
- fix #52
- FIX: overflow bug when the nano field of the NavPVT message (which is signed and can be negative) is assigned to the nsec value of a ros time stamp (which is unsigned)
- deactivated config checks for base parts, if config_on_startup is false
- Added flag [config_on_startup]{.title-ref} to deactivate configuration of ublox.
-
fixes to raw data stream + moving write_callback_ before the read_callback_, to avoid buffer copying (write_callback_ == publishing ros messages and writing to file) + publishing empty ros message during config phase to force instantiation of publisher
- renamed new topic and internal variables for raw data stream
- from raw_data_xxx to raw_data_stream_xxx
- this is to avoid confusion with the RawDataProduct
- updated debug message for measurement rate (added "hz" and "cycles" as units)
- TUC-ProAut: added raw data output (publishing ros messages and storing to file)
- boost::posix_time::seconds constructor requires integer argument
- Add TIM product and M8U functionality as well as the TIM-TM2 message (#27)
- Initialize set_usb_ to false by default
- Set serial port to raw mode, needed for Boost versions < 1.66.0
- Minor fixes for very old devices
- Fix potential segfault when printing Inf messages The Inf message strings are not null terminated, so we need to construct the string of the correct size from the vector of bytes instead of just printing using %s.
- In AsyncWorker::doClose(), close the stream instead of just cancelling operations
- Cleanup + modernize to make compatible with C++11
- Fix compilation with newer GCC and Boost As of now, doesn't compile with C++11 or later.
- added clear params arg
- updated config files
- added save and load configuration parameters and functions. changed how GNSS is configured & reset.
- added raw data product class and structs for frequency diagnostics
- Contributors: Chao Qu, Evan Flynn, Ferry Schoenmakers, Kartik Mohta, Michael Stoll, Peter Weissig, Stewart Worrall, Tim Clephas, Veronica Lane
1.1.2 (2017-08-02)
- README and package xml updates
- Fixed bug with enabling INF messages. Changed how messages which update fix are enabled and changed name of subscribe param namespace to publish.
- added USB Cfg PRT parameters and configuration
- Changed how I/O is initialized so that u-blox node parses the device parameter, and then calls either initializeSerial or initializeTcp in the GPS class with the appropriate parameters. Also cleaned up doxygen comments
- Added doxygen comments and made minor cleanup changes.
- Added doxygen comments
- Fixed bug with ARP Position HP conversion, which was multiplied by the wrong conversion factor. The ARP Position HP parameter is now an int8 vector instead of a float vector. Also added a getRosInt method in the node to get int8 and int16 params and changed the name of getRosParam to getRosUint.
- removing unnecessary include
- Changed how ACKs are handled. They are now handled through callback functions and are included in the CallbackHandlers.
- Created a CallbackHandlers class and migrated callbacks functionality from Gps class to the CallbackHandlers class
- Node can now save flash memory on shutdown and clear flash memory based on user params
- BUG FIX: Fix status only uses NavPVT time if the time is valid, otherwise it uses ros time. This prevents invalid times.
- added respawn params to launch file
- moved getRosParam template functions into node.h and used checkRange function for the getRosParam functions
- In config files, changed reset mode since it seems to work better
- Changed how unsigned int parameters are handled.
- Added NMEA flag params for firmware version 6 and updated readme to include NMEA params.
- Renamed cfg_gnss param namespace to gnss. Fixed bug with NMEA configuration for compat variable. Added sample config file for NMEA.
- added comments
- After resetting the device when re-configuring the GNSS, the node shuts down & must be relaunched since device address may change & serial port resets.
- Made ACK atomic since it is accessed by 2 threads (the main node & the i/o callback)
- BUG FIXES: fixed bug with waiting for acknowledgements, which wasn't timing out. Fixed bug with CfgGNSS which wasn't properly verifying the current GPS config to see if it was correct. Also added NMEA configuration functions
- debug variable is no longer static so that ublox node can set it from ROS params
- Removed ublox_version param, value is now determined by parsing MonVER. Changed name of UbloxInterface to ComponentInterface for clarity.
- Additional changes to parameters
- Moved most parameters into namespaces
- Cleaned up how parameters are check and moved the parameter parsing functions from the gps namespace to the node namespace since the node handles parameter checks. Also added CfgDAT capabilities, if dat/set param is set.
- updates to sample config files
- Change rtcm_rate parameter to a vector instead of a scalar, now each RTCM id can be set to a different rate.
- BUG FIX: Fix diagnostics num sv was displaying incorrectly. For firmware versions >=7, the flags are now compared to the constants from NavPVT not NavSOL. Also cleaned up how the diagnostics are displayed & included units. Added Carrier Phase diagnostics for HPG rovers.
- fixed bug with file path in ublox_device.launch and updated README to include information on launch files and subscribing/configuring new messages
- Contributors: Veronica Lane
1.1.0 (2017-07-17)
- Updated package xmls with new version number and corrected my email address. Also updated readme to include information about new version plus new parameter
- Updated sample config files
- Added Cfg RST message declaration and reset function. For Firmware 8, after reconfiguring the GNSS, a cold restart is initiated.
- node now configures INF messages
- Added constants for HPG Rover Diagnostic updater. Cleaned up GPS class: made method and parameter names consistent, reordered methods for clarity, and privatized some methods.
- Added NavPVT7 message since NavPVT message is a different length for firmware version 7. UbloxFirmware7Plus class now uses a template function to update diagnostics from NavPVT messages and to publish fix messages from NavPVT messages.
- Code cleanup - clarified a function name + comments
- Implemented interface for ADR/UDR messages. Added unimplemented skeleton interface for FTS messages. Added warning message if device type was not parsed correctly from MonVER.
- Cleaned up formatting + modified debug/info statements
- Changed debug statements so that they print to ROS DEBUG console. DEBUG log level is set in main node based on value of debug ros param.
- Modified Cfg GNSS for Firmware version 7, so it configures SBAS and QZSS if supported by the device
- changed receive message error print statements to only print in debug mode
- cleaned up how the tmode state was tracked for HPG reference stations. For ublox >=8, GNSS is now only configured if the current configuration is different from the desired configuration. This prevents the need for a hard-reset and prevents survey-in mode from resetting on HPG devices with the correct configuration
- I/O initialization has been entirely migrated to the GPS class, previously it was handled in both the node and GPS class. Split the HPG class into two classes, one for the REF station and one for the rover since the configuration & params did not intersect at all.
- BUG FIX: baudrate config, serial ASIO baudrate now set correctly
- Cleaned up debug print statements + code cleanup
- Added print functions for INF messages and subscribers for new MON messages
- Added NavSAT message and moved subscribers for messages deprecated in version 8 to version specific subscribe methods
- Added a UbloxInterface class. UbloxNode and Ublox firmware and hardware specific classes implement the interface. Ublox Node contains pointers to the firmware and hardware classes and calls their functions during configuration. Added a skeleton class for UbloxTim which subscribes to RawX and SFRBX messages, but has unimplemented configuration and getRosParams methods
- Changed UbloxNxNode class, ublox firmware version classes with version specific methods now inherit from UbloxFirmware. Hardware specific classes inherit from UbloxHardware. UbloxNode contains instances of each and calls the appropriate functions.
- Made NodeHandle a global variable in ublox_node namespace, publish is no longer a member function. Also took out additional node handles that were created to get parameters and just used the global node handle
- BUG FIX Firmware Version 6: nav status variable was never updated, using information from nav sol instead. CODE CLEANUP: added trailing underscores to a few class member variables. Removed * 3 multiplier for covariance in version 6. Added a diagnostic function for RTCM (currently not being used, will incorporate later)
- BUG FIX: For ublox 6 changed publisher of NavPOSLLH, NavVELNED, and NavSOL to call the custom method and not the template function. Also removed NavPOSLLH, NavVELNED, and NavSOL publishers from ublox 7 & 8 since NavPVT should be used. BUG FIX: Removed hardcoded value for NumTrackChs for CfgGNSS. CODE CLEANUP: added constants for hardcoded values + additional comments.
- For High Precision GNSS: Changed the way TMODE3 & RTCM messages are configured. If in survey-in mode, it first configures the device to survey-in, then when the survey is complete enables the RTCM messages.
- Fixed bug in Wait for ACK, it now checks that the ACK is for the expected class id and message id, also changed a few debug and error messages.
- Added Error message for ASIO read read errors and fixed a comment in cfg rate
- Includes BUG FIX (keep reading). Added Ublox messages (and subscribers or configuration methods + params) for High Precision GNSS devices: CfgDGNSS, NavRELPOSNED, NavSVIN. Also added subscriber & message for RxmRTCM. Changed MonVER processing, it now determines the protocol version, hardware type (e.g. SPG/HPG), and supported GNSS (e.g. Glonass, SBAS). SBAS can now be disabled on SBAS supported devices (previously SBAS settings were ignored if enable_sbas was false to prevent crashes, now it checks the MonVER message before trying to configure SBAS.
- Removed commented out lines which were unnecessary and added error message in async worker for read errors from asio
- Contributors: Veronica Lane
1.0.0 (2017-06-23)
- added myself as maintainer to package xmls and updated version numbers of modified packages.
- Modified example launch file to include params, also added example launch which loads paramaters from yaml file
- more code cleanup
- Code cleanup of node
- Made a node class structure. An abstract class represents nodes for all firmware versions. Version nodes inherit from this node and implement version specific functions.
- add ros console include so ros error message would print
- Moved callback class functions from gps files to callback.h
- Added read lock to async worker. Read + write buffers are now lockedduring operations
- Fixed Thread safety issues with async worker. Now uses MRSW lock and each function which makes changes to shared variables acquires the lock
- BUG FIX: fixed issues in gps & node that caused run time crashes. FrequencyStatusParam arguments were in the wrong order. Reverted to old initialize method which incremently set the serial baudrate.
- added constants for hard-coded values in gps class
- Baud rate and in/out protocol mask are now configurable through params and are no longer hard coded.
- Removed hardcoded configuration values and added constants and params for these values. Fixed MonVER print warning issue. Added RTCM config function. Removed FixMode & DynamicMode enums and used constants from messages. Changed setBaudrate name to configUart1 since it was configuring all params. If enable SBAS is set to false, does not call enable SBAS (need to change this so that it calls if SBAS is available) to prevent errors for devices without SBAS. Changed std::cout statements to ROS_INFO.
- Formatting of copyright so it's <80 char and changed std::cout in Async worker to ROS_INFO messages
- Update CfgGNSS message and serialization which now publishes and receives blocks and reads and configures all GNSS settings at once. Updated MonVER message and serialization, MonVER settings are displayed during initialization, including extension chars. Changed various std::cout messages to ROS_INFO and ROS_ERROR messages.
- Updated AID, RXM, and NAV messages to ublox 8 protocol. Added RxmSFRBX and RxmRAWX messages. Also did a 2nd pass on CFG messages for ublox 8 update. Need to serialize SFRBX.
- forgot to add new files in last commit
- Publishes Fix and Fix velocity from Nav PVT messages. Fix time stamps are from Nav PVT time instead of ros time now
- Publishes fix from Nav PVT info instead of Nav Pos LLH info. No longer compatible with firmware <=6. Now uses template publish function for most messages.
- Added Nav PVT message for protocol 8 and added publisher for ECEF messages in node.
- In C++11 shared_ptr has an explicit bool conversion
- Contributors: Kartik Mohta, Veronica Lane
0.0.5 (2016-08-06)
- Various small changes
- package.xml use format 2
- change some default values in launch files and node
- update readme
- clang format
- Contributors: Chao Qu
0.0.4 (2014-12-08)
- Update version number to reflect merge.
- Add install targets
- Reverted default in launch file
- Contributors: Gareth Cross, Kartik Mohta
0.0.3 (2014-10-18)
- Updated readme to reflect changes
- Added hacky ublox_version parameter to handle current limitations in driver structure
- Added MonVER, cleaned up make files a bit
- Added warning for ppp
- Added method to enable PPP
- Added settings for beidou and glonass
- Added option to run in gps only mode
- Changed param in roslaunch
- Contributors: Gareth Cross
0.0.2 (2014-10-03)
- Set better default for dr_limit in launch file
- Changed launch file to match readme
- Changed meas_rate to rate
- fix frame_id default
- add an option to specify node nanme
- Update ublox_gps.launch
- Update ublox_gps.launch
- Change to node
- Fixed erroneous max delay in diagnostic settings
- Removed unused option form launch file and readme
- Added diagnostic support
- Added options to ublox node, see README for details on changes
- Contributors: Chao Qu, Gareth Cross
0.0.1 (2014-08-15)
- Making fixes for second deployment
- Contributors: Gareth Cross
0.0.0 (2014-06-23)
- ublox: first commit
- Contributors: Chao Qu
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
ublox_serialization | |
ublox_msgs | |
nmea_msgs | |
roscpp | |
roscpp_serialization | |
tf | |
diagnostic_updater | |
rtcm_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
ublox |
Launch files
- launch/ublox_device.launch
-
- param_file_name — name of param file, e.g. rover
- param_file_dir [default: $(find ublox_gps)/config] — directory to look for $(arg param_file_name).yaml
- node_name [default: ublox] — name of this node
- output [default: screen]
- respawn [default: true]
- respawn_delay [default: 30]
- clear_params [default: true]
Messages
Services
Plugins
Recent questions tagged ublox_gps at Robotics Stack Exchange
ublox_gps package from ublox repoublox ublox_gps ublox_msgs ublox_serialization |
|
Package Summary
Tags | No category tags. |
Version | 2.2.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/KumarRobotics/ublox.git |
VCS Type | git |
VCS Version | galactic-devel |
Last Updated | 2022-04-13 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gareth Cross
- Chao Qu
- Veronica Lane
Authors
- Johannes Meyer
Changelog for package ublox_gps
2.2.0 (2022-04-13)
- Fix parameter declaration types. (#146)
- Add the types to declared parameters. (#141)
- Add UDP support (#140)
- add Ublox ZED_F9P config (#131)
- Fix warnings in launch.
- [FEAT]: add launch and config directories to 'intall' package to avoid wrong launch location (#125)
- Fix wrong variable name in launch (#120)
- Contributors: CHAIWIT PHONKHEN, Chao Qu, Chris Lalancette, Daisuke Nishimatsu, Davidson Daniel Rojas Cediel, Kevin Hallenbeck
2.0.0 (2020-10-13)
- Initial ROS 2 port to Dashing
- Create publishers based on ROS parameters (#1)
- Make sure to reset for survey-in mode.
- Make sure to depend on tf2 properly.
- Make sure to have package.xml depend on ament_cmake_ros
- Fix getting RTCM ids and rates.
- Increase the timeout for NavPVT messages during Survey-In config.
- Configure the base more accurately.
- Update rover configuration.
- Create ROS 2 launch files.
- Finish porting configs to ROS 2.
- Fix heading output to comply with REP-103
- Make ublox_gps composable.
- Fixes pointed out by clang-tidy.
- Rename rawDataStreamPa member variable to raw_data_stream_pa
- Fix a bug for reads of zero size.
- Re-enable logging in the AsyncWorker.
- Switch a couple more catch blocks to const.
- Remove -ggdb3 flag from CMakeLists.txt.
- Fix a few bugs pointed out by valgrind.
- Pass the logger down to the Gps level.
- Minor cleanup in the gps code.
- More fixes for declaring parameters.
- Declare more parameters.
- Declare more parameters correctly.
- More fixes so that we get the correct rates.
- More fixes around the codebase.
- Mark constants as such.
- Remove declareRosBoolean.
- Update configuration files for ROS 2.
- Port ublox_gps to ROS 2.
- Start ROS 2 port by COLCON_IGNORE everything.
- Split the main out into its own file.
- Move spinning out of the constructor.
- Cleanup includes in node.{hpp,cpp}.
- Move HpPosRecProduct class to its own files.
- Move HpgRefProduct class to its own files.
- Move UbloxFirmware9 class to its own files.
- Move UbloxFirmware8 class to its own files.
- Move UbloxFirmware7 to its own files.
- Move UbloxFirmware7Plus class to its own header file.
- Move UbloxFirmware6 class to its own files.
- Move UbloxFirmware class to its own files.
- Move RawDataProduct class into its own files.
- Move HpgRovProduct class to its own files.
- Move AdrUdrProduct class into its own files.
- Move TimProduct class into its own file.
- Make the node handle a member variable of UbloxNode.
- Remove the last uses of the global variable.
- Pass the nodehandle into more methods.
- Start passing the node into functions.
- Declare a few more booleans.
- Declare a lot more parameters.
- Finish removing the "enable" map.
- Move some more boolean parameters to declarations.
- Declare more parameters.
- Convert a few more parameters over to being declared.
- Declare the config_on_startup flag.
- Make dat/set a declared parameter.
- Make sure to declare the sbas parameter.
- Add in ROS2-like declare and get parameters.
- Replace templated publish call with lambdas.
- Make fix_status_service a member variable of UbloxFirmware.
- Move fixFromString and modelFromString into node.cpp
- Make gps a member variable of UbloxNode.
- Add namespaces to component_interface and fts_product.hpp
- Minor code improvements.
- Move FixDiagnostic class to its own file.
- Move UbloxTopicDiagnostic to its own file.
- Make gnss a member variable of UbloxNode.
- Move kNavSvInfoSubscribeRate into the base class that uses it.
- Remove kSubscribeRate.
- Move the kDefaultMeasRate to the class that needs it.
- Remove kROSQueueSize constant.
- Make rtcms a member variable of UbloxNode.
- Switch to a structure for RTCMs.
- Make freq_diag a member variable of UbloxNode.
- Make updater a member variable of UbloxNode.
- Make frame_id a member variable.
- Make config_on_startup_flag a member variable.
- Make meas_rate a member variable.
- Make nav_rate a class variable.
- Lots of small code updates throughout the GPS module.
- Get rid of global 'debug' variable.
- Move serialization into the ublox_serialization module.
- More rearrangement of header files to make a more sane structure.
- Move FTSProduct class into its own file.
- UbloxNode is not a component.
- Move ComponentInterface to its own file.
- Remove the one static ros::Subscriber.
- Remove last static advertiser.
- Switch to const references for std::string where possible.
- Switch to more idiomatic publisher initialization.
- Switch the one use of tf to tf2.
- Remove 'using namespace' uses.
- Switch to non-boost asio.
- Remove uses of 'new' throughout the codebase.
- Remove the last of boost from node.cpp
- Remove most of boost from node.cpp/.hpp.
- Remove a bunch of boost from node.cpp
- Remove more boost.
- Remove boost from worker.hpp
- Remove some uses of boost from async_worker.hpp
- Fully de-boostify callback.hpp
- Rearrange messages.
- Switch out boost time and mutex for std
- Remove trailing whitespace in all files.
- Rename header files to have .hpp extension.
- Contributors: Chao Qu, Chris Lalancette, Mabel Zhang
1.2.0 (2019-11-19)
- Add support for ZED-F9P new RELPOSNED message and provide heading output Fix whitespacing... Add RELPOSNED9 message to compile
- Fix for corrupted diagnostics messages Before the diagnostic structs were copied, but the pointers in FrequencyStatusParams still pointed to the old/freed objects.
- Show TMODE3 diagnostics OK if disabled Since there is no default for TMODE3 this is a deliberate choice
- added simple (remote) logger node for raw data stream logging
-
updated raw data stream logging + moved all global/node functions to new class RawDataStreamPa (raw_data_pa .h/.c) + changed messagetype to uint8-multiarray (string can not handle non-characters)
- fix #52
- FIX: overflow bug when the nano field of the NavPVT message (which is signed and can be negative) is assigned to the nsec value of a ros time stamp (which is unsigned)
- deactivated config checks for base parts, if config_on_startup is false
- Added flag [config_on_startup]{.title-ref} to deactivate configuration of ublox.
-
fixes to raw data stream + moving write_callback_ before the read_callback_, to avoid buffer copying (write_callback_ == publishing ros messages and writing to file) + publishing empty ros message during config phase to force instantiation of publisher
- renamed new topic and internal variables for raw data stream
- from raw_data_xxx to raw_data_stream_xxx
- this is to avoid confusion with the RawDataProduct
- updated debug message for measurement rate (added "hz" and "cycles" as units)
- TUC-ProAut: added raw data output (publishing ros messages and storing to file)
- boost::posix_time::seconds constructor requires integer argument
- Add TIM product and M8U functionality as well as the TIM-TM2 message (#27)
- Initialize set_usb_ to false by default
- Set serial port to raw mode, needed for Boost versions < 1.66.0
- Minor fixes for very old devices
- Fix potential segfault when printing Inf messages The Inf message strings are not null terminated, so we need to construct the string of the correct size from the vector of bytes instead of just printing using %s.
- In AsyncWorker::doClose(), close the stream instead of just cancelling operations
- Cleanup + modernize to make compatible with C++11
- Fix compilation with newer GCC and Boost As of now, doesn't compile with C++11 or later.
- added clear params arg
- updated config files
- added save and load configuration parameters and functions. changed how GNSS is configured & reset.
- added raw data product class and structs for frequency diagnostics
- Contributors: Chao Qu, Evan Flynn, Ferry Schoenmakers, Kartik Mohta, Michael Stoll, Peter Weissig, Stewart Worrall, Tim Clephas, Veronica Lane
1.1.2 (2017-08-02)
- README and package xml updates
- Fixed bug with enabling INF messages. Changed how messages which update fix are enabled and changed name of subscribe param namespace to publish.
- added USB Cfg PRT parameters and configuration
- Changed how I/O is initialized so that u-blox node parses the device parameter, and then calls either initializeSerial or initializeTcp in the GPS class with the appropriate parameters. Also cleaned up doxygen comments
- Added doxygen comments and made minor cleanup changes.
- Added doxygen comments
- Fixed bug with ARP Position HP conversion, which was multiplied by the wrong conversion factor. The ARP Position HP parameter is now an int8 vector instead of a float vector. Also added a getRosInt method in the node to get int8 and int16 params and changed the name of getRosParam to getRosUint.
- removing unnecessary include
- Changed how ACKs are handled. They are now handled through callback functions and are included in the CallbackHandlers.
- Created a CallbackHandlers class and migrated callbacks functionality from Gps class to the CallbackHandlers class
- Node can now save flash memory on shutdown and clear flash memory based on user params
- BUG FIX: Fix status only uses NavPVT time if the time is valid, otherwise it uses ros time. This prevents invalid times.
- added respawn params to launch file
- moved getRosParam template functions into node.h and used checkRange function for the getRosParam functions
- In config files, changed reset mode since it seems to work better
- Changed how unsigned int parameters are handled.
- Added NMEA flag params for firmware version 6 and updated readme to include NMEA params.
- Renamed cfg_gnss param namespace to gnss. Fixed bug with NMEA configuration for compat variable. Added sample config file for NMEA.
- added comments
- After resetting the device when re-configuring the GNSS, the node shuts down & must be relaunched since device address may change & serial port resets.
- Made ACK atomic since it is accessed by 2 threads (the main node & the i/o callback)
- BUG FIXES: fixed bug with waiting for acknowledgements, which wasn't timing out. Fixed bug with CfgGNSS which wasn't properly verifying the current GPS config to see if it was correct. Also added NMEA configuration functions
- debug variable is no longer static so that ublox node can set it from ROS params
- Removed ublox_version param, value is now determined by parsing MonVER. Changed name of UbloxInterface to ComponentInterface for clarity.
- Additional changes to parameters
- Moved most parameters into namespaces
- Cleaned up how parameters are check and moved the parameter parsing functions from the gps namespace to the node namespace since the node handles parameter checks. Also added CfgDAT capabilities, if dat/set param is set.
- updates to sample config files
- Change rtcm_rate parameter to a vector instead of a scalar, now each RTCM id can be set to a different rate.
- BUG FIX: Fix diagnostics num sv was displaying incorrectly. For firmware versions >=7, the flags are now compared to the constants from NavPVT not NavSOL. Also cleaned up how the diagnostics are displayed & included units. Added Carrier Phase diagnostics for HPG rovers.
- fixed bug with file path in ublox_device.launch and updated README to include information on launch files and subscribing/configuring new messages
- Contributors: Veronica Lane
1.1.0 (2017-07-17)
- Updated package xmls with new version number and corrected my email address. Also updated readme to include information about new version plus new parameter
- Updated sample config files
- Added Cfg RST message declaration and reset function. For Firmware 8, after reconfiguring the GNSS, a cold restart is initiated.
- node now configures INF messages
- Added constants for HPG Rover Diagnostic updater. Cleaned up GPS class: made method and parameter names consistent, reordered methods for clarity, and privatized some methods.
- Added NavPVT7 message since NavPVT message is a different length for firmware version 7. UbloxFirmware7Plus class now uses a template function to update diagnostics from NavPVT messages and to publish fix messages from NavPVT messages.
- Code cleanup - clarified a function name + comments
- Implemented interface for ADR/UDR messages. Added unimplemented skeleton interface for FTS messages. Added warning message if device type was not parsed correctly from MonVER.
- Cleaned up formatting + modified debug/info statements
- Changed debug statements so that they print to ROS DEBUG console. DEBUG log level is set in main node based on value of debug ros param.
- Modified Cfg GNSS for Firmware version 7, so it configures SBAS and QZSS if supported by the device
- changed receive message error print statements to only print in debug mode
- cleaned up how the tmode state was tracked for HPG reference stations. For ublox >=8, GNSS is now only configured if the current configuration is different from the desired configuration. This prevents the need for a hard-reset and prevents survey-in mode from resetting on HPG devices with the correct configuration
- I/O initialization has been entirely migrated to the GPS class, previously it was handled in both the node and GPS class. Split the HPG class into two classes, one for the REF station and one for the rover since the configuration & params did not intersect at all.
- BUG FIX: baudrate config, serial ASIO baudrate now set correctly
- Cleaned up debug print statements + code cleanup
- Added print functions for INF messages and subscribers for new MON messages
- Added NavSAT message and moved subscribers for messages deprecated in version 8 to version specific subscribe methods
- Added a UbloxInterface class. UbloxNode and Ublox firmware and hardware specific classes implement the interface. Ublox Node contains pointers to the firmware and hardware classes and calls their functions during configuration. Added a skeleton class for UbloxTim which subscribes to RawX and SFRBX messages, but has unimplemented configuration and getRosParams methods
- Changed UbloxNxNode class, ublox firmware version classes with version specific methods now inherit from UbloxFirmware. Hardware specific classes inherit from UbloxHardware. UbloxNode contains instances of each and calls the appropriate functions.
- Made NodeHandle a global variable in ublox_node namespace, publish is no longer a member function. Also took out additional node handles that were created to get parameters and just used the global node handle
- BUG FIX Firmware Version 6: nav status variable was never updated, using information from nav sol instead. CODE CLEANUP: added trailing underscores to a few class member variables. Removed * 3 multiplier for covariance in version 6. Added a diagnostic function for RTCM (currently not being used, will incorporate later)
- BUG FIX: For ublox 6 changed publisher of NavPOSLLH, NavVELNED, and NavSOL to call the custom method and not the template function. Also removed NavPOSLLH, NavVELNED, and NavSOL publishers from ublox 7 & 8 since NavPVT should be used. BUG FIX: Removed hardcoded value for NumTrackChs for CfgGNSS. CODE CLEANUP: added constants for hardcoded values + additional comments.
- For High Precision GNSS: Changed the way TMODE3 & RTCM messages are configured. If in survey-in mode, it first configures the device to survey-in, then when the survey is complete enables the RTCM messages.
- Fixed bug in Wait for ACK, it now checks that the ACK is for the expected class id and message id, also changed a few debug and error messages.
- Added Error message for ASIO read read errors and fixed a comment in cfg rate
- Includes BUG FIX (keep reading). Added Ublox messages (and subscribers or configuration methods + params) for High Precision GNSS devices: CfgDGNSS, NavRELPOSNED, NavSVIN. Also added subscriber & message for RxmRTCM. Changed MonVER processing, it now determines the protocol version, hardware type (e.g. SPG/HPG), and supported GNSS (e.g. Glonass, SBAS). SBAS can now be disabled on SBAS supported devices (previously SBAS settings were ignored if enable_sbas was false to prevent crashes, now it checks the MonVER message before trying to configure SBAS.
- Removed commented out lines which were unnecessary and added error message in async worker for read errors from asio
- Contributors: Veronica Lane
1.0.0 (2017-06-23)
- added myself as maintainer to package xmls and updated version numbers of modified packages.
- Modified example launch file to include params, also added example launch which loads paramaters from yaml file
- more code cleanup
- Code cleanup of node
- Made a node class structure. An abstract class represents nodes for all firmware versions. Version nodes inherit from this node and implement version specific functions.
- add ros console include so ros error message would print
- Moved callback class functions from gps files to callback.h
- Added read lock to async worker. Read + write buffers are now lockedduring operations
- Fixed Thread safety issues with async worker. Now uses MRSW lock and each function which makes changes to shared variables acquires the lock
- BUG FIX: fixed issues in gps & node that caused run time crashes. FrequencyStatusParam arguments were in the wrong order. Reverted to old initialize method which incremently set the serial baudrate.
- added constants for hard-coded values in gps class
- Baud rate and in/out protocol mask are now configurable through params and are no longer hard coded.
- Removed hardcoded configuration values and added constants and params for these values. Fixed MonVER print warning issue. Added RTCM config function. Removed FixMode & DynamicMode enums and used constants from messages. Changed setBaudrate name to configUart1 since it was configuring all params. If enable SBAS is set to false, does not call enable SBAS (need to change this so that it calls if SBAS is available) to prevent errors for devices without SBAS. Changed std::cout statements to ROS_INFO.
- Formatting of copyright so it's <80 char and changed std::cout in Async worker to ROS_INFO messages
- Update CfgGNSS message and serialization which now publishes and receives blocks and reads and configures all GNSS settings at once. Updated MonVER message and serialization, MonVER settings are displayed during initialization, including extension chars. Changed various std::cout messages to ROS_INFO and ROS_ERROR messages.
- Updated AID, RXM, and NAV messages to ublox 8 protocol. Added RxmSFRBX and RxmRAWX messages. Also did a 2nd pass on CFG messages for ublox 8 update. Need to serialize SFRBX.
- forgot to add new files in last commit
- Publishes Fix and Fix velocity from Nav PVT messages. Fix time stamps are from Nav PVT time instead of ros time now
- Publishes fix from Nav PVT info instead of Nav Pos LLH info. No longer compatible with firmware <=6. Now uses template publish function for most messages.
- Added Nav PVT message for protocol 8 and added publisher for ECEF messages in node.
- In C++11 shared_ptr has an explicit bool conversion
- Contributors: Kartik Mohta, Veronica Lane
0.0.5 (2016-08-06)
- Various small changes
- package.xml use format 2
- change some default values in launch files and node
- update readme
- clang format
- Contributors: Chao Qu
0.0.4 (2014-12-08)
- Update version number to reflect merge.
- Add install targets
- Reverted default in launch file
- Contributors: Gareth Cross, Kartik Mohta
0.0.3 (2014-10-18)
- Updated readme to reflect changes
- Added hacky ublox_version parameter to handle current limitations in driver structure
- Added MonVER, cleaned up make files a bit
- Added warning for ppp
- Added method to enable PPP
- Added settings for beidou and glonass
- Added option to run in gps only mode
- Changed param in roslaunch
- Contributors: Gareth Cross
0.0.2 (2014-10-03)
- Set better default for dr_limit in launch file
- Changed launch file to match readme
- Changed meas_rate to rate
- fix frame_id default
- add an option to specify node nanme
- Update ublox_gps.launch
- Update ublox_gps.launch
- Change to node
- Fixed erroneous max delay in diagnostic settings
- Removed unused option form launch file and readme
- Added diagnostic support
- Added options to ublox node, see README for details on changes
- Contributors: Chao Qu, Gareth Cross
0.0.1 (2014-08-15)
- Making fixes for second deployment
- Contributors: Gareth Cross
0.0.0 (2014-06-23)
- ublox: first commit
- Contributors: Chao Qu
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
diagnostic_msgs | |
diagnostic_updater | |
geometry_msgs | |
rcl_interfaces | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
tf2 | |
ublox_msgs | |
ublox_serialization |
System Dependencies
Name |
---|
asio |
Dependant Packages
Name | Deps |
---|---|
ublox |
Launch files
Messages
Services
Plugins
Recent questions tagged ublox_gps at Robotics Stack Exchange
ublox_gps package from ublox repoublox ublox_gps ublox_msgs ublox_serialization |
|
Package Summary
Tags | No category tags. |
Version | 2.1.0 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/KumarRobotics/ublox.git |
VCS Type | git |
VCS Version | foxy-devel |
Last Updated | 2022-04-13 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gareth Cross
- Chao Qu
- Veronica Lane
Authors
- Johannes Meyer
Changelog for package ublox_gps
2.1.0 (2022-04-13)
- Add UDP support (#140)
- add Ublox ZED_F9P config (#131)
- Fix warnings in launch.
- [FEAT]: add launch and config directories to 'intall' package to avoid wrong launch location (#125)
- Fix wrong variable name in launch (#120)
- Contributors: CHAIWIT PHONKHEN, Chao Qu, Chris Lalancette, Daisuke Nishimatsu, Davidson Daniel Rojas Cediel, Kevin Hallenbeck
2.0.0 (2020-10-13)
- Initial ROS 2 port to Dashing
- Create publishers based on ROS parameters (#1)
- Make sure to reset for survey-in mode.
- Make sure to depend on tf2 properly.
- Make sure to have package.xml depend on ament_cmake_ros
- Fix getting RTCM ids and rates.
- Increase the timeout for NavPVT messages during Survey-In config.
- Configure the base more accurately.
- Update rover configuration.
- Create ROS 2 launch files.
- Finish porting configs to ROS 2.
- Fix heading output to comply with REP-103
- Make ublox_gps composable.
- Fixes pointed out by clang-tidy.
- Rename rawDataStreamPa member variable to raw_data_stream_pa
- Fix a bug for reads of zero size.
- Re-enable logging in the AsyncWorker.
- Switch a couple more catch blocks to const.
- Remove -ggdb3 flag from CMakeLists.txt.
- Fix a few bugs pointed out by valgrind.
- Pass the logger down to the Gps level.
- Minor cleanup in the gps code.
- More fixes for declaring parameters.
- Declare more parameters.
- Declare more parameters correctly.
- More fixes so that we get the correct rates.
- More fixes around the codebase.
- Mark constants as such.
- Remove declareRosBoolean.
- Update configuration files for ROS 2.
- Port ublox_gps to ROS 2.
- Start ROS 2 port by COLCON_IGNORE everything.
- Split the main out into its own file.
- Move spinning out of the constructor.
- Cleanup includes in node.{hpp,cpp}.
- Move HpPosRecProduct class to its own files.
- Move HpgRefProduct class to its own files.
- Move UbloxFirmware9 class to its own files.
- Move UbloxFirmware8 class to its own files.
- Move UbloxFirmware7 to its own files.
- Move UbloxFirmware7Plus class to its own header file.
- Move UbloxFirmware6 class to its own files.
- Move UbloxFirmware class to its own files.
- Move RawDataProduct class into its own files.
- Move HpgRovProduct class to its own files.
- Move AdrUdrProduct class into its own files.
- Move TimProduct class into its own file.
- Make the node handle a member variable of UbloxNode.
- Remove the last uses of the global variable.
- Pass the nodehandle into more methods.
- Start passing the node into functions.
- Declare a few more booleans.
- Declare a lot more parameters.
- Finish removing the "enable" map.
- Move some more boolean parameters to declarations.
- Declare more parameters.
- Convert a few more parameters over to being declared.
- Declare the config_on_startup flag.
- Make dat/set a declared parameter.
- Make sure to declare the sbas parameter.
- Add in ROS2-like declare and get parameters.
- Replace templated publish call with lambdas.
- Make fix_status_service a member variable of UbloxFirmware.
- Move fixFromString and modelFromString into node.cpp
- Make gps a member variable of UbloxNode.
- Add namespaces to component_interface and fts_product.hpp
- Minor code improvements.
- Move FixDiagnostic class to its own file.
- Move UbloxTopicDiagnostic to its own file.
- Make gnss a member variable of UbloxNode.
- Move kNavSvInfoSubscribeRate into the base class that uses it.
- Remove kSubscribeRate.
- Move the kDefaultMeasRate to the class that needs it.
- Remove kROSQueueSize constant.
- Make rtcms a member variable of UbloxNode.
- Switch to a structure for RTCMs.
- Make freq_diag a member variable of UbloxNode.
- Make updater a member variable of UbloxNode.
- Make frame_id a member variable.
- Make config_on_startup_flag a member variable.
- Make meas_rate a member variable.
- Make nav_rate a class variable.
- Lots of small code updates throughout the GPS module.
- Get rid of global 'debug' variable.
- Move serialization into the ublox_serialization module.
- More rearrangement of header files to make a more sane structure.
- Move FTSProduct class into its own file.
- UbloxNode is not a component.
- Move ComponentInterface to its own file.
- Remove the one static ros::Subscriber.
- Remove last static advertiser.
- Switch to const references for std::string where possible.
- Switch to more idiomatic publisher initialization.
- Switch the one use of tf to tf2.
- Remove 'using namespace' uses.
- Switch to non-boost asio.
- Remove uses of 'new' throughout the codebase.
- Remove the last of boost from node.cpp
- Remove most of boost from node.cpp/.hpp.
- Remove a bunch of boost from node.cpp
- Remove more boost.
- Remove boost from worker.hpp
- Remove some uses of boost from async_worker.hpp
- Fully de-boostify callback.hpp
- Rearrange messages.
- Switch out boost time and mutex for std
- Remove trailing whitespace in all files.
- Rename header files to have .hpp extension.
- Contributors: Chao Qu, Chris Lalancette, Mabel Zhang
1.2.0 (2019-11-19)
- Add support for ZED-F9P new RELPOSNED message and provide heading output Fix whitespacing... Add RELPOSNED9 message to compile
- Fix for corrupted diagnostics messages Before the diagnostic structs were copied, but the pointers in FrequencyStatusParams still pointed to the old/freed objects.
- Show TMODE3 diagnostics OK if disabled Since there is no default for TMODE3 this is a deliberate choice
- added simple (remote) logger node for raw data stream logging
-
updated raw data stream logging + moved all global/node functions to new class RawDataStreamPa (raw_data_pa .h/.c) + changed messagetype to uint8-multiarray (string can not handle non-characters)
- fix #52
- FIX: overflow bug when the nano field of the NavPVT message (which is signed and can be negative) is assigned to the nsec value of a ros time stamp (which is unsigned)
- deactivated config checks for base parts, if config_on_startup is false
- Added flag [config_on_startup]{.title-ref} to deactivate configuration of ublox.
-
fixes to raw data stream + moving write_callback_ before the read_callback_, to avoid buffer copying (write_callback_ == publishing ros messages and writing to file) + publishing empty ros message during config phase to force instantiation of publisher
- renamed new topic and internal variables for raw data stream
- from raw_data_xxx to raw_data_stream_xxx
- this is to avoid confusion with the RawDataProduct
- updated debug message for measurement rate (added "hz" and "cycles" as units)
- TUC-ProAut: added raw data output (publishing ros messages and storing to file)
- boost::posix_time::seconds constructor requires integer argument
- Add TIM product and M8U functionality as well as the TIM-TM2 message (#27)
- Initialize set_usb_ to false by default
- Set serial port to raw mode, needed for Boost versions < 1.66.0
- Minor fixes for very old devices
- Fix potential segfault when printing Inf messages The Inf message strings are not null terminated, so we need to construct the string of the correct size from the vector of bytes instead of just printing using %s.
- In AsyncWorker::doClose(), close the stream instead of just cancelling operations
- Cleanup + modernize to make compatible with C++11
- Fix compilation with newer GCC and Boost As of now, doesn't compile with C++11 or later.
- added clear params arg
- updated config files
- added save and load configuration parameters and functions. changed how GNSS is configured & reset.
- added raw data product class and structs for frequency diagnostics
- Contributors: Chao Qu, Evan Flynn, Ferry Schoenmakers, Kartik Mohta, Michael Stoll, Peter Weissig, Stewart Worrall, Tim Clephas, Veronica Lane
1.1.2 (2017-08-02)
- README and package xml updates
- Fixed bug with enabling INF messages. Changed how messages which update fix are enabled and changed name of subscribe param namespace to publish.
- added USB Cfg PRT parameters and configuration
- Changed how I/O is initialized so that u-blox node parses the device parameter, and then calls either initializeSerial or initializeTcp in the GPS class with the appropriate parameters. Also cleaned up doxygen comments
- Added doxygen comments and made minor cleanup changes.
- Added doxygen comments
- Fixed bug with ARP Position HP conversion, which was multiplied by the wrong conversion factor. The ARP Position HP parameter is now an int8 vector instead of a float vector. Also added a getRosInt method in the node to get int8 and int16 params and changed the name of getRosParam to getRosUint.
- removing unnecessary include
- Changed how ACKs are handled. They are now handled through callback functions and are included in the CallbackHandlers.
- Created a CallbackHandlers class and migrated callbacks functionality from Gps class to the CallbackHandlers class
- Node can now save flash memory on shutdown and clear flash memory based on user params
- BUG FIX: Fix status only uses NavPVT time if the time is valid, otherwise it uses ros time. This prevents invalid times.
- added respawn params to launch file
- moved getRosParam template functions into node.h and used checkRange function for the getRosParam functions
- In config files, changed reset mode since it seems to work better
- Changed how unsigned int parameters are handled.
- Added NMEA flag params for firmware version 6 and updated readme to include NMEA params.
- Renamed cfg_gnss param namespace to gnss. Fixed bug with NMEA configuration for compat variable. Added sample config file for NMEA.
- added comments
- After resetting the device when re-configuring the GNSS, the node shuts down & must be relaunched since device address may change & serial port resets.
- Made ACK atomic since it is accessed by 2 threads (the main node & the i/o callback)
- BUG FIXES: fixed bug with waiting for acknowledgements, which wasn't timing out. Fixed bug with CfgGNSS which wasn't properly verifying the current GPS config to see if it was correct. Also added NMEA configuration functions
- debug variable is no longer static so that ublox node can set it from ROS params
- Removed ublox_version param, value is now determined by parsing MonVER. Changed name of UbloxInterface to ComponentInterface for clarity.
- Additional changes to parameters
- Moved most parameters into namespaces
- Cleaned up how parameters are check and moved the parameter parsing functions from the gps namespace to the node namespace since the node handles parameter checks. Also added CfgDAT capabilities, if dat/set param is set.
- updates to sample config files
- Change rtcm_rate parameter to a vector instead of a scalar, now each RTCM id can be set to a different rate.
- BUG FIX: Fix diagnostics num sv was displaying incorrectly. For firmware versions >=7, the flags are now compared to the constants from NavPVT not NavSOL. Also cleaned up how the diagnostics are displayed & included units. Added Carrier Phase diagnostics for HPG rovers.
- fixed bug with file path in ublox_device.launch and updated README to include information on launch files and subscribing/configuring new messages
- Contributors: Veronica Lane
1.1.0 (2017-07-17)
- Updated package xmls with new version number and corrected my email address. Also updated readme to include information about new version plus new parameter
- Updated sample config files
- Added Cfg RST message declaration and reset function. For Firmware 8, after reconfiguring the GNSS, a cold restart is initiated.
- node now configures INF messages
- Added constants for HPG Rover Diagnostic updater. Cleaned up GPS class: made method and parameter names consistent, reordered methods for clarity, and privatized some methods.
- Added NavPVT7 message since NavPVT message is a different length for firmware version 7. UbloxFirmware7Plus class now uses a template function to update diagnostics from NavPVT messages and to publish fix messages from NavPVT messages.
- Code cleanup - clarified a function name + comments
- Implemented interface for ADR/UDR messages. Added unimplemented skeleton interface for FTS messages. Added warning message if device type was not parsed correctly from MonVER.
- Cleaned up formatting + modified debug/info statements
- Changed debug statements so that they print to ROS DEBUG console. DEBUG log level is set in main node based on value of debug ros param.
- Modified Cfg GNSS for Firmware version 7, so it configures SBAS and QZSS if supported by the device
- changed receive message error print statements to only print in debug mode
- cleaned up how the tmode state was tracked for HPG reference stations. For ublox >=8, GNSS is now only configured if the current configuration is different from the desired configuration. This prevents the need for a hard-reset and prevents survey-in mode from resetting on HPG devices with the correct configuration
- I/O initialization has been entirely migrated to the GPS class, previously it was handled in both the node and GPS class. Split the HPG class into two classes, one for the REF station and one for the rover since the configuration & params did not intersect at all.
- BUG FIX: baudrate config, serial ASIO baudrate now set correctly
- Cleaned up debug print statements + code cleanup
- Added print functions for INF messages and subscribers for new MON messages
- Added NavSAT message and moved subscribers for messages deprecated in version 8 to version specific subscribe methods
- Added a UbloxInterface class. UbloxNode and Ublox firmware and hardware specific classes implement the interface. Ublox Node contains pointers to the firmware and hardware classes and calls their functions during configuration. Added a skeleton class for UbloxTim which subscribes to RawX and SFRBX messages, but has unimplemented configuration and getRosParams methods
- Changed UbloxNxNode class, ublox firmware version classes with version specific methods now inherit from UbloxFirmware. Hardware specific classes inherit from UbloxHardware. UbloxNode contains instances of each and calls the appropriate functions.
- Made NodeHandle a global variable in ublox_node namespace, publish is no longer a member function. Also took out additional node handles that were created to get parameters and just used the global node handle
- BUG FIX Firmware Version 6: nav status variable was never updated, using information from nav sol instead. CODE CLEANUP: added trailing underscores to a few class member variables. Removed * 3 multiplier for covariance in version 6. Added a diagnostic function for RTCM (currently not being used, will incorporate later)
- BUG FIX: For ublox 6 changed publisher of NavPOSLLH, NavVELNED, and NavSOL to call the custom method and not the template function. Also removed NavPOSLLH, NavVELNED, and NavSOL publishers from ublox 7 & 8 since NavPVT should be used. BUG FIX: Removed hardcoded value for NumTrackChs for CfgGNSS. CODE CLEANUP: added constants for hardcoded values + additional comments.
- For High Precision GNSS: Changed the way TMODE3 & RTCM messages are configured. If in survey-in mode, it first configures the device to survey-in, then when the survey is complete enables the RTCM messages.
- Fixed bug in Wait for ACK, it now checks that the ACK is for the expected class id and message id, also changed a few debug and error messages.
- Added Error message for ASIO read read errors and fixed a comment in cfg rate
- Includes BUG FIX (keep reading). Added Ublox messages (and subscribers or configuration methods + params) for High Precision GNSS devices: CfgDGNSS, NavRELPOSNED, NavSVIN. Also added subscriber & message for RxmRTCM. Changed MonVER processing, it now determines the protocol version, hardware type (e.g. SPG/HPG), and supported GNSS (e.g. Glonass, SBAS). SBAS can now be disabled on SBAS supported devices (previously SBAS settings were ignored if enable_sbas was false to prevent crashes, now it checks the MonVER message before trying to configure SBAS.
- Removed commented out lines which were unnecessary and added error message in async worker for read errors from asio
- Contributors: Veronica Lane
1.0.0 (2017-06-23)
- added myself as maintainer to package xmls and updated version numbers of modified packages.
- Modified example launch file to include params, also added example launch which loads paramaters from yaml file
- more code cleanup
- Code cleanup of node
- Made a node class structure. An abstract class represents nodes for all firmware versions. Version nodes inherit from this node and implement version specific functions.
- add ros console include so ros error message would print
- Moved callback class functions from gps files to callback.h
- Added read lock to async worker. Read + write buffers are now lockedduring operations
- Fixed Thread safety issues with async worker. Now uses MRSW lock and each function which makes changes to shared variables acquires the lock
- BUG FIX: fixed issues in gps & node that caused run time crashes. FrequencyStatusParam arguments were in the wrong order. Reverted to old initialize method which incremently set the serial baudrate.
- added constants for hard-coded values in gps class
- Baud rate and in/out protocol mask are now configurable through params and are no longer hard coded.
- Removed hardcoded configuration values and added constants and params for these values. Fixed MonVER print warning issue. Added RTCM config function. Removed FixMode & DynamicMode enums and used constants from messages. Changed setBaudrate name to configUart1 since it was configuring all params. If enable SBAS is set to false, does not call enable SBAS (need to change this so that it calls if SBAS is available) to prevent errors for devices without SBAS. Changed std::cout statements to ROS_INFO.
- Formatting of copyright so it's <80 char and changed std::cout in Async worker to ROS_INFO messages
- Update CfgGNSS message and serialization which now publishes and receives blocks and reads and configures all GNSS settings at once. Updated MonVER message and serialization, MonVER settings are displayed during initialization, including extension chars. Changed various std::cout messages to ROS_INFO and ROS_ERROR messages.
- Updated AID, RXM, and NAV messages to ublox 8 protocol. Added RxmSFRBX and RxmRAWX messages. Also did a 2nd pass on CFG messages for ublox 8 update. Need to serialize SFRBX.
- forgot to add new files in last commit
- Publishes Fix and Fix velocity from Nav PVT messages. Fix time stamps are from Nav PVT time instead of ros time now
- Publishes fix from Nav PVT info instead of Nav Pos LLH info. No longer compatible with firmware <=6. Now uses template publish function for most messages.
- Added Nav PVT message for protocol 8 and added publisher for ECEF messages in node.
- In C++11 shared_ptr has an explicit bool conversion
- Contributors: Kartik Mohta, Veronica Lane
0.0.5 (2016-08-06)
- Various small changes
- package.xml use format 2
- change some default values in launch files and node
- update readme
- clang format
- Contributors: Chao Qu
0.0.4 (2014-12-08)
- Update version number to reflect merge.
- Add install targets
- Reverted default in launch file
- Contributors: Gareth Cross, Kartik Mohta
0.0.3 (2014-10-18)
- Updated readme to reflect changes
- Added hacky ublox_version parameter to handle current limitations in driver structure
- Added MonVER, cleaned up make files a bit
- Added warning for ppp
- Added method to enable PPP
- Added settings for beidou and glonass
- Added option to run in gps only mode
- Changed param in roslaunch
- Contributors: Gareth Cross
0.0.2 (2014-10-03)
- Set better default for dr_limit in launch file
- Changed launch file to match readme
- Changed meas_rate to rate
- fix frame_id default
- add an option to specify node nanme
- Update ublox_gps.launch
- Update ublox_gps.launch
- Change to node
- Fixed erroneous max delay in diagnostic settings
- Removed unused option form launch file and readme
- Added diagnostic support
- Added options to ublox node, see README for details on changes
- Contributors: Chao Qu, Gareth Cross
0.0.1 (2014-08-15)
- Making fixes for second deployment
- Contributors: Gareth Cross
0.0.0 (2014-06-23)
- ublox: first commit
- Contributors: Chao Qu
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
diagnostic_msgs | |
diagnostic_updater | |
geometry_msgs | |
rcl_interfaces | |
rclcpp | |
rclcpp_components | |
sensor_msgs | |
std_msgs | |
tf2 | |
ublox_msgs | |
ublox_serialization |
System Dependencies
Name |
---|
asio |
Dependant Packages
Name | Deps |
---|---|
ublox |
Launch files
Messages
Services
Plugins
Recent questions tagged ublox_gps at Robotics Stack Exchange
ublox_gps package from ublox repoublox ublox_gps ublox_msg_filters ublox_msgs ublox_serialization |
|
Package Summary
Tags | No category tags. |
Version | 1.5.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/KumarRobotics/ublox.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2022-12-07 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gareth Cross
- Chao Qu
- Veronica Lane
Authors
- Johannes Meyer
Changelog for package ublox_gps
1.5.0 (2021-10-15)
- Add rtcm_msgs dependency
- Add RTK support via rtcm
- GPS coordinate precision corrected for high accuracy.
- Diagonstics for Differential GNSS updated.
- Add a new parameter to set the search path for the param_file_name. Add a default to the node_name parameter.
- Add zed-f9p configuration
- Contributors: Balamurugan Kandan, Chris Iverach-Brereton, Igor
1.4.1 (2020-06-04)
- fix signs in sensor_msgs::Imu output
- Contributors: Raphael Riebl
1.4.0 (2020-05-28)
- Bump CMake minimum version to 3.0.2
- Move variables from .h to .cpp to solve linking issues
- added support for protocol version >= 18
- Contributors: Firat Kasmis, Gonçalo Pereira
1.3.1 (2020-03-12)
- Fix unit in covariance calculation
- Contributors: Ferry Schoenmakers
1.3.0 (2020-01-10)
- Fix heading output to comply with REP-103 When not reporting valid heading, overwrite covariance with big number (0 otherwise)
- CfgNAV5: add dynamic model bike
- Contributors: Ferry Schoenmakers, Raphael Riebl
1.2.0 (2019-11-19)
- Add support for ZED-F9P new RELPOSNED message and provide heading output Fix whitespacing... Add RELPOSNED9 message to compile
- Fix for corrupted diagnostics messages Before the diagnostic structs were copied, but the pointers in FrequencyStatusParams still pointed to the old/freed objects.
- Show TMODE3 diagnostics OK if disabled Since there is no default for TMODE3 this is a deliberate choice
- added simple (remote) logger node for raw data stream logging
-
updated raw data stream logging + moved all global/node functions to new class RawDataStreamPa (raw_data_pa .h/.c) + changed messagetype to uint8-multiarray (string can not handle non-characters)
- fix #52
- FIX: overflow bug when the nano field of the NavPVT message (which is signed and can be negative) is assigned to the nsec value of a ros time stamp (which is unsigned)
- deactivated config checks for base parts, if config_on_startup is false
- Added flag [config_on_startup]{.title-ref} to deactivate configuration of ublox.
-
fixes to raw data stream + moving write_callback_ before the read_callback_, to avoid buffer copying (write_callback_ == publishing ros messages and writing to file) + publishing empty ros message during config phase to force instantiation of publisher
- renamed new topic and internal variables for raw data stream
- from raw_data_xxx to raw_data_stream_xxx
- this is to avoid confusion with the RawDataProduct
- updated debug message for measurement rate (added "hz" and "cycles" as units)
- TUC-ProAut: added raw data output (publishing ros messages and storing to file)
- boost::posix_time::seconds constructor requires integer argument
- Add TIM product and M8U functionality as well as the TIM-TM2 message (#27)
- Initialize set_usb_ to false by default
- Set serial port to raw mode, needed for Boost versions < 1.66.0
- Minor fixes for very old devices
- Fix potential segfault when printing Inf messages The Inf message strings are not null terminated, so we need to construct the string of the correct size from the vector of bytes instead of just printing using %s.
- In AsyncWorker::doClose(), close the stream instead of just cancelling operations
- Cleanup + modernize to make compatible with C++11
- Fix compilation with newer GCC and Boost As of now, doesn't compile with C++11 or later.
- added clear params arg
- updated config files
- added save and load configuration parameters and functions. changed how GNSS is configured & reset.
- added raw data product class and structs for frequency diagnostics
- Contributors: Chao Qu, Evan Flynn, Ferry Schoenmakers, Kartik Mohta, Michael Stoll, Peter Weissig, Stewart Worrall, Tim Clephas, Veronica Lane
1.1.2 (2017-08-02)
- README and package xml updates
- Fixed bug with enabling INF messages. Changed how messages which update fix are enabled and changed name of subscribe param namespace to publish.
- added USB Cfg PRT parameters and configuration
- Changed how I/O is initialized so that u-blox node parses the device parameter, and then calls either initializeSerial or initializeTcp in the GPS class with the appropriate parameters. Also cleaned up doxygen comments
- Added doxygen comments and made minor cleanup changes.
- Added doxygen comments
- Fixed bug with ARP Position HP conversion, which was multiplied by the wrong conversion factor. The ARP Position HP parameter is now an int8 vector instead of a float vector. Also added a getRosInt method in the node to get int8 and int16 params and changed the name of getRosParam to getRosUint.
- removing unnecessary include
- Changed how ACKs are handled. They are now handled through callback functions and are included in the CallbackHandlers.
- Created a CallbackHandlers class and migrated callbacks functionality from Gps class to the CallbackHandlers class
- Node can now save flash memory on shutdown and clear flash memory based on user params
- BUG FIX: Fix status only uses NavPVT time if the time is valid, otherwise it uses ros time. This prevents invalid times.
- added respawn params to launch file
- moved getRosParam template functions into node.h and used checkRange function for the getRosParam functions
- In config files, changed reset mode since it seems to work better
- Changed how unsigned int parameters are handled.
- Added NMEA flag params for firmware version 6 and updated readme to include NMEA params.
- Renamed cfg_gnss param namespace to gnss. Fixed bug with NMEA configuration for compat variable. Added sample config file for NMEA.
- added comments
- After resetting the device when re-configuring the GNSS, the node shuts down & must be relaunched since device address may change & serial port resets.
- Made ACK atomic since it is accessed by 2 threads (the main node & the i/o callback)
- BUG FIXES: fixed bug with waiting for acknowledgements, which wasn't timing out. Fixed bug with CfgGNSS which wasn't properly verifying the current GPS config to see if it was correct. Also added NMEA configuration functions
- debug variable is no longer static so that ublox node can set it from ROS params
- Removed ublox_version param, value is now determined by parsing MonVER. Changed name of UbloxInterface to ComponentInterface for clarity.
- Additional changes to parameters
- Moved most parameters into namespaces
- Cleaned up how parameters are check and moved the parameter parsing functions from the gps namespace to the node namespace since the node handles parameter checks. Also added CfgDAT capabilities, if dat/set param is set.
- updates to sample config files
- Change rtcm_rate parameter to a vector instead of a scalar, now each RTCM id can be set to a different rate.
- BUG FIX: Fix diagnostics num sv was displaying incorrectly. For firmware versions >=7, the flags are now compared to the constants from NavPVT not NavSOL. Also cleaned up how the diagnostics are displayed & included units. Added Carrier Phase diagnostics for HPG rovers.
- fixed bug with file path in ublox_device.launch and updated README to include information on launch files and subscribing/configuring new messages
- Contributors: Veronica Lane
1.1.0 (2017-07-17)
- Updated package xmls with new version number and corrected my email address. Also updated readme to include information about new version plus new parameter
- Updated sample config files
- Added Cfg RST message declaration and reset function. For Firmware 8, after reconfiguring the GNSS, a cold restart is initiated.
- node now configures INF messages
- Added constants for HPG Rover Diagnostic updater. Cleaned up GPS class: made method and parameter names consistent, reordered methods for clarity, and privatized some methods.
- Added NavPVT7 message since NavPVT message is a different length for firmware version 7. UbloxFirmware7Plus class now uses a template function to update diagnostics from NavPVT messages and to publish fix messages from NavPVT messages.
- Code cleanup - clarified a function name + comments
- Implemented interface for ADR/UDR messages. Added unimplemented skeleton interface for FTS messages. Added warning message if device type was not parsed correctly from MonVER.
- Cleaned up formatting + modified debug/info statements
- Changed debug statements so that they print to ROS DEBUG console. DEBUG log level is set in main node based on value of debug ros param.
- Modified Cfg GNSS for Firmware version 7, so it configures SBAS and QZSS if supported by the device
- changed receive message error print statements to only print in debug mode
- cleaned up how the tmode state was tracked for HPG reference stations. For ublox >=8, GNSS is now only configured if the current configuration is different from the desired configuration. This prevents the need for a hard-reset and prevents survey-in mode from resetting on HPG devices with the correct configuration
- I/O initialization has been entirely migrated to the GPS class, previously it was handled in both the node and GPS class. Split the HPG class into two classes, one for the REF station and one for the rover since the configuration & params did not intersect at all.
- BUG FIX: baudrate config, serial ASIO baudrate now set correctly
- Cleaned up debug print statements + code cleanup
- Added print functions for INF messages and subscribers for new MON messages
- Added NavSAT message and moved subscribers for messages deprecated in version 8 to version specific subscribe methods
- Added a UbloxInterface class. UbloxNode and Ublox firmware and hardware specific classes implement the interface. Ublox Node contains pointers to the firmware and hardware classes and calls their functions during configuration. Added a skeleton class for UbloxTim which subscribes to RawX and SFRBX messages, but has unimplemented configuration and getRosParams methods
- Changed UbloxNxNode class, ublox firmware version classes with version specific methods now inherit from UbloxFirmware. Hardware specific classes inherit from UbloxHardware. UbloxNode contains instances of each and calls the appropriate functions.
- Made NodeHandle a global variable in ublox_node namespace, publish is no longer a member function. Also took out additional node handles that were created to get parameters and just used the global node handle
- BUG FIX Firmware Version 6: nav status variable was never updated, using information from nav sol instead. CODE CLEANUP: added trailing underscores to a few class member variables. Removed * 3 multiplier for covariance in version 6. Added a diagnostic function for RTCM (currently not being used, will incorporate later)
- BUG FIX: For ublox 6 changed publisher of NavPOSLLH, NavVELNED, and NavSOL to call the custom method and not the template function. Also removed NavPOSLLH, NavVELNED, and NavSOL publishers from ublox 7 & 8 since NavPVT should be used. BUG FIX: Removed hardcoded value for NumTrackChs for CfgGNSS. CODE CLEANUP: added constants for hardcoded values + additional comments.
- For High Precision GNSS: Changed the way TMODE3 & RTCM messages are configured. If in survey-in mode, it first configures the device to survey-in, then when the survey is complete enables the RTCM messages.
- Fixed bug in Wait for ACK, it now checks that the ACK is for the expected class id and message id, also changed a few debug and error messages.
- Added Error message for ASIO read read errors and fixed a comment in cfg rate
- Includes BUG FIX (keep reading). Added Ublox messages (and subscribers or configuration methods + params) for High Precision GNSS devices: CfgDGNSS, NavRELPOSNED, NavSVIN. Also added subscriber & message for RxmRTCM. Changed MonVER processing, it now determines the protocol version, hardware type (e.g. SPG/HPG), and supported GNSS (e.g. Glonass, SBAS). SBAS can now be disabled on SBAS supported devices (previously SBAS settings were ignored if enable_sbas was false to prevent crashes, now it checks the MonVER message before trying to configure SBAS.
- Removed commented out lines which were unnecessary and added error message in async worker for read errors from asio
- Contributors: Veronica Lane
1.0.0 (2017-06-23)
- added myself as maintainer to package xmls and updated version numbers of modified packages.
- Modified example launch file to include params, also added example launch which loads paramaters from yaml file
- more code cleanup
- Code cleanup of node
- Made a node class structure. An abstract class represents nodes for all firmware versions. Version nodes inherit from this node and implement version specific functions.
- add ros console include so ros error message would print
- Moved callback class functions from gps files to callback.h
- Added read lock to async worker. Read + write buffers are now lockedduring operations
- Fixed Thread safety issues with async worker. Now uses MRSW lock and each function which makes changes to shared variables acquires the lock
- BUG FIX: fixed issues in gps & node that caused run time crashes. FrequencyStatusParam arguments were in the wrong order. Reverted to old initialize method which incremently set the serial baudrate.
- added constants for hard-coded values in gps class
- Baud rate and in/out protocol mask are now configurable through params and are no longer hard coded.
- Removed hardcoded configuration values and added constants and params for these values. Fixed MonVER print warning issue. Added RTCM config function. Removed FixMode & DynamicMode enums and used constants from messages. Changed setBaudrate name to configUart1 since it was configuring all params. If enable SBAS is set to false, does not call enable SBAS (need to change this so that it calls if SBAS is available) to prevent errors for devices without SBAS. Changed std::cout statements to ROS_INFO.
- Formatting of copyright so it's <80 char and changed std::cout in Async worker to ROS_INFO messages
- Update CfgGNSS message and serialization which now publishes and receives blocks and reads and configures all GNSS settings at once. Updated MonVER message and serialization, MonVER settings are displayed during initialization, including extension chars. Changed various std::cout messages to ROS_INFO and ROS_ERROR messages.
- Updated AID, RXM, and NAV messages to ublox 8 protocol. Added RxmSFRBX and RxmRAWX messages. Also did a 2nd pass on CFG messages for ublox 8 update. Need to serialize SFRBX.
- forgot to add new files in last commit
- Publishes Fix and Fix velocity from Nav PVT messages. Fix time stamps are from Nav PVT time instead of ros time now
- Publishes fix from Nav PVT info instead of Nav Pos LLH info. No longer compatible with firmware <=6. Now uses template publish function for most messages.
- Added Nav PVT message for protocol 8 and added publisher for ECEF messages in node.
- In C++11 shared_ptr has an explicit bool conversion
- Contributors: Kartik Mohta, Veronica Lane
0.0.5 (2016-08-06)
- Various small changes
- package.xml use format 2
- change some default values in launch files and node
- update readme
- clang format
- Contributors: Chao Qu
0.0.4 (2014-12-08)
- Update version number to reflect merge.
- Add install targets
- Reverted default in launch file
- Contributors: Gareth Cross, Kartik Mohta
0.0.3 (2014-10-18)
- Updated readme to reflect changes
- Added hacky ublox_version parameter to handle current limitations in driver structure
- Added MonVER, cleaned up make files a bit
- Added warning for ppp
- Added method to enable PPP
- Added settings for beidou and glonass
- Added option to run in gps only mode
- Changed param in roslaunch
- Contributors: Gareth Cross
0.0.2 (2014-10-03)
- Set better default for dr_limit in launch file
- Changed launch file to match readme
- Changed meas_rate to rate
- fix frame_id default
- add an option to specify node nanme
- Update ublox_gps.launch
- Update ublox_gps.launch
- Change to node
- Fixed erroneous max delay in diagnostic settings
- Removed unused option form launch file and readme
- Added diagnostic support
- Added options to ublox node, see README for details on changes
- Contributors: Chao Qu, Gareth Cross
0.0.1 (2014-08-15)
- Making fixes for second deployment
- Contributors: Gareth Cross
0.0.0 (2014-06-23)
- ublox: first commit
- Contributors: Chao Qu
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
ublox_serialization | |
ublox_msgs | |
nmea_msgs | |
roscpp | |
roscpp_serialization | |
tf | |
diagnostic_updater | |
rtcm_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
ublox |
Launch files
- launch/ublox_device.launch
-
- param_file_name — name of param file, e.g. rover
- param_file_dir [default: $(find ublox_gps)/config] — directory to look for $(arg param_file_name).yaml
- node_name [default: ublox] — name of this node
- output [default: screen]
- respawn [default: true]
- respawn_delay [default: 30]
- clear_params [default: true]
Messages
Services
Plugins
Recent questions tagged ublox_gps at Robotics Stack Exchange
ublox_gps package from ublox repoublox ublox_gps ublox_msg_filters ublox_msgs ublox_serialization |
|
Package Summary
Tags | No category tags. |
Version | 1.5.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/KumarRobotics/ublox.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2022-12-07 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gareth Cross
- Chao Qu
- Veronica Lane
Authors
- Johannes Meyer
Changelog for package ublox_gps
1.5.0 (2021-10-15)
- Add rtcm_msgs dependency
- Add RTK support via rtcm
- GPS coordinate precision corrected for high accuracy.
- Diagonstics for Differential GNSS updated.
- Add a new parameter to set the search path for the param_file_name. Add a default to the node_name parameter.
- Add zed-f9p configuration
- Contributors: Balamurugan Kandan, Chris Iverach-Brereton, Igor
1.4.1 (2020-06-04)
- fix signs in sensor_msgs::Imu output
- Contributors: Raphael Riebl
1.4.0 (2020-05-28)
- Bump CMake minimum version to 3.0.2
- Move variables from .h to .cpp to solve linking issues
- added support for protocol version >= 18
- Contributors: Firat Kasmis, Gonçalo Pereira
1.3.1 (2020-03-12)
- Fix unit in covariance calculation
- Contributors: Ferry Schoenmakers
1.3.0 (2020-01-10)
- Fix heading output to comply with REP-103 When not reporting valid heading, overwrite covariance with big number (0 otherwise)
- CfgNAV5: add dynamic model bike
- Contributors: Ferry Schoenmakers, Raphael Riebl
1.2.0 (2019-11-19)
- Add support for ZED-F9P new RELPOSNED message and provide heading output Fix whitespacing... Add RELPOSNED9 message to compile
- Fix for corrupted diagnostics messages Before the diagnostic structs were copied, but the pointers in FrequencyStatusParams still pointed to the old/freed objects.
- Show TMODE3 diagnostics OK if disabled Since there is no default for TMODE3 this is a deliberate choice
- added simple (remote) logger node for raw data stream logging
-
updated raw data stream logging + moved all global/node functions to new class RawDataStreamPa (raw_data_pa .h/.c) + changed messagetype to uint8-multiarray (string can not handle non-characters)
- fix #52
- FIX: overflow bug when the nano field of the NavPVT message (which is signed and can be negative) is assigned to the nsec value of a ros time stamp (which is unsigned)
- deactivated config checks for base parts, if config_on_startup is false
- Added flag [config_on_startup]{.title-ref} to deactivate configuration of ublox.
-
fixes to raw data stream + moving write_callback_ before the read_callback_, to avoid buffer copying (write_callback_ == publishing ros messages and writing to file) + publishing empty ros message during config phase to force instantiation of publisher
- renamed new topic and internal variables for raw data stream
- from raw_data_xxx to raw_data_stream_xxx
- this is to avoid confusion with the RawDataProduct
- updated debug message for measurement rate (added "hz" and "cycles" as units)
- TUC-ProAut: added raw data output (publishing ros messages and storing to file)
- boost::posix_time::seconds constructor requires integer argument
- Add TIM product and M8U functionality as well as the TIM-TM2 message (#27)
- Initialize set_usb_ to false by default
- Set serial port to raw mode, needed for Boost versions < 1.66.0
- Minor fixes for very old devices
- Fix potential segfault when printing Inf messages The Inf message strings are not null terminated, so we need to construct the string of the correct size from the vector of bytes instead of just printing using %s.
- In AsyncWorker::doClose(), close the stream instead of just cancelling operations
- Cleanup + modernize to make compatible with C++11
- Fix compilation with newer GCC and Boost As of now, doesn't compile with C++11 or later.
- added clear params arg
- updated config files
- added save and load configuration parameters and functions. changed how GNSS is configured & reset.
- added raw data product class and structs for frequency diagnostics
- Contributors: Chao Qu, Evan Flynn, Ferry Schoenmakers, Kartik Mohta, Michael Stoll, Peter Weissig, Stewart Worrall, Tim Clephas, Veronica Lane
1.1.2 (2017-08-02)
- README and package xml updates
- Fixed bug with enabling INF messages. Changed how messages which update fix are enabled and changed name of subscribe param namespace to publish.
- added USB Cfg PRT parameters and configuration
- Changed how I/O is initialized so that u-blox node parses the device parameter, and then calls either initializeSerial or initializeTcp in the GPS class with the appropriate parameters. Also cleaned up doxygen comments
- Added doxygen comments and made minor cleanup changes.
- Added doxygen comments
- Fixed bug with ARP Position HP conversion, which was multiplied by the wrong conversion factor. The ARP Position HP parameter is now an int8 vector instead of a float vector. Also added a getRosInt method in the node to get int8 and int16 params and changed the name of getRosParam to getRosUint.
- removing unnecessary include
- Changed how ACKs are handled. They are now handled through callback functions and are included in the CallbackHandlers.
- Created a CallbackHandlers class and migrated callbacks functionality from Gps class to the CallbackHandlers class
- Node can now save flash memory on shutdown and clear flash memory based on user params
- BUG FIX: Fix status only uses NavPVT time if the time is valid, otherwise it uses ros time. This prevents invalid times.
- added respawn params to launch file
- moved getRosParam template functions into node.h and used checkRange function for the getRosParam functions
- In config files, changed reset mode since it seems to work better
- Changed how unsigned int parameters are handled.
- Added NMEA flag params for firmware version 6 and updated readme to include NMEA params.
- Renamed cfg_gnss param namespace to gnss. Fixed bug with NMEA configuration for compat variable. Added sample config file for NMEA.
- added comments
- After resetting the device when re-configuring the GNSS, the node shuts down & must be relaunched since device address may change & serial port resets.
- Made ACK atomic since it is accessed by 2 threads (the main node & the i/o callback)
- BUG FIXES: fixed bug with waiting for acknowledgements, which wasn't timing out. Fixed bug with CfgGNSS which wasn't properly verifying the current GPS config to see if it was correct. Also added NMEA configuration functions
- debug variable is no longer static so that ublox node can set it from ROS params
- Removed ublox_version param, value is now determined by parsing MonVER. Changed name of UbloxInterface to ComponentInterface for clarity.
- Additional changes to parameters
- Moved most parameters into namespaces
- Cleaned up how parameters are check and moved the parameter parsing functions from the gps namespace to the node namespace since the node handles parameter checks. Also added CfgDAT capabilities, if dat/set param is set.
- updates to sample config files
- Change rtcm_rate parameter to a vector instead of a scalar, now each RTCM id can be set to a different rate.
- BUG FIX: Fix diagnostics num sv was displaying incorrectly. For firmware versions >=7, the flags are now compared to the constants from NavPVT not NavSOL. Also cleaned up how the diagnostics are displayed & included units. Added Carrier Phase diagnostics for HPG rovers.
- fixed bug with file path in ublox_device.launch and updated README to include information on launch files and subscribing/configuring new messages
- Contributors: Veronica Lane
1.1.0 (2017-07-17)
- Updated package xmls with new version number and corrected my email address. Also updated readme to include information about new version plus new parameter
- Updated sample config files
- Added Cfg RST message declaration and reset function. For Firmware 8, after reconfiguring the GNSS, a cold restart is initiated.
- node now configures INF messages
- Added constants for HPG Rover Diagnostic updater. Cleaned up GPS class: made method and parameter names consistent, reordered methods for clarity, and privatized some methods.
- Added NavPVT7 message since NavPVT message is a different length for firmware version 7. UbloxFirmware7Plus class now uses a template function to update diagnostics from NavPVT messages and to publish fix messages from NavPVT messages.
- Code cleanup - clarified a function name + comments
- Implemented interface for ADR/UDR messages. Added unimplemented skeleton interface for FTS messages. Added warning message if device type was not parsed correctly from MonVER.
- Cleaned up formatting + modified debug/info statements
- Changed debug statements so that they print to ROS DEBUG console. DEBUG log level is set in main node based on value of debug ros param.
- Modified Cfg GNSS for Firmware version 7, so it configures SBAS and QZSS if supported by the device
- changed receive message error print statements to only print in debug mode
- cleaned up how the tmode state was tracked for HPG reference stations. For ublox >=8, GNSS is now only configured if the current configuration is different from the desired configuration. This prevents the need for a hard-reset and prevents survey-in mode from resetting on HPG devices with the correct configuration
- I/O initialization has been entirely migrated to the GPS class, previously it was handled in both the node and GPS class. Split the HPG class into two classes, one for the REF station and one for the rover since the configuration & params did not intersect at all.
- BUG FIX: baudrate config, serial ASIO baudrate now set correctly
- Cleaned up debug print statements + code cleanup
- Added print functions for INF messages and subscribers for new MON messages
- Added NavSAT message and moved subscribers for messages deprecated in version 8 to version specific subscribe methods
- Added a UbloxInterface class. UbloxNode and Ublox firmware and hardware specific classes implement the interface. Ublox Node contains pointers to the firmware and hardware classes and calls their functions during configuration. Added a skeleton class for UbloxTim which subscribes to RawX and SFRBX messages, but has unimplemented configuration and getRosParams methods
- Changed UbloxNxNode class, ublox firmware version classes with version specific methods now inherit from UbloxFirmware. Hardware specific classes inherit from UbloxHardware. UbloxNode contains instances of each and calls the appropriate functions.
- Made NodeHandle a global variable in ublox_node namespace, publish is no longer a member function. Also took out additional node handles that were created to get parameters and just used the global node handle
- BUG FIX Firmware Version 6: nav status variable was never updated, using information from nav sol instead. CODE CLEANUP: added trailing underscores to a few class member variables. Removed * 3 multiplier for covariance in version 6. Added a diagnostic function for RTCM (currently not being used, will incorporate later)
- BUG FIX: For ublox 6 changed publisher of NavPOSLLH, NavVELNED, and NavSOL to call the custom method and not the template function. Also removed NavPOSLLH, NavVELNED, and NavSOL publishers from ublox 7 & 8 since NavPVT should be used. BUG FIX: Removed hardcoded value for NumTrackChs for CfgGNSS. CODE CLEANUP: added constants for hardcoded values + additional comments.
- For High Precision GNSS: Changed the way TMODE3 & RTCM messages are configured. If in survey-in mode, it first configures the device to survey-in, then when the survey is complete enables the RTCM messages.
- Fixed bug in Wait for ACK, it now checks that the ACK is for the expected class id and message id, also changed a few debug and error messages.
- Added Error message for ASIO read read errors and fixed a comment in cfg rate
- Includes BUG FIX (keep reading). Added Ublox messages (and subscribers or configuration methods + params) for High Precision GNSS devices: CfgDGNSS, NavRELPOSNED, NavSVIN. Also added subscriber & message for RxmRTCM. Changed MonVER processing, it now determines the protocol version, hardware type (e.g. SPG/HPG), and supported GNSS (e.g. Glonass, SBAS). SBAS can now be disabled on SBAS supported devices (previously SBAS settings were ignored if enable_sbas was false to prevent crashes, now it checks the MonVER message before trying to configure SBAS.
- Removed commented out lines which were unnecessary and added error message in async worker for read errors from asio
- Contributors: Veronica Lane
1.0.0 (2017-06-23)
- added myself as maintainer to package xmls and updated version numbers of modified packages.
- Modified example launch file to include params, also added example launch which loads paramaters from yaml file
- more code cleanup
- Code cleanup of node
- Made a node class structure. An abstract class represents nodes for all firmware versions. Version nodes inherit from this node and implement version specific functions.
- add ros console include so ros error message would print
- Moved callback class functions from gps files to callback.h
- Added read lock to async worker. Read + write buffers are now lockedduring operations
- Fixed Thread safety issues with async worker. Now uses MRSW lock and each function which makes changes to shared variables acquires the lock
- BUG FIX: fixed issues in gps & node that caused run time crashes. FrequencyStatusParam arguments were in the wrong order. Reverted to old initialize method which incremently set the serial baudrate.
- added constants for hard-coded values in gps class
- Baud rate and in/out protocol mask are now configurable through params and are no longer hard coded.
- Removed hardcoded configuration values and added constants and params for these values. Fixed MonVER print warning issue. Added RTCM config function. Removed FixMode & DynamicMode enums and used constants from messages. Changed setBaudrate name to configUart1 since it was configuring all params. If enable SBAS is set to false, does not call enable SBAS (need to change this so that it calls if SBAS is available) to prevent errors for devices without SBAS. Changed std::cout statements to ROS_INFO.
- Formatting of copyright so it's <80 char and changed std::cout in Async worker to ROS_INFO messages
- Update CfgGNSS message and serialization which now publishes and receives blocks and reads and configures all GNSS settings at once. Updated MonVER message and serialization, MonVER settings are displayed during initialization, including extension chars. Changed various std::cout messages to ROS_INFO and ROS_ERROR messages.
- Updated AID, RXM, and NAV messages to ublox 8 protocol. Added RxmSFRBX and RxmRAWX messages. Also did a 2nd pass on CFG messages for ublox 8 update. Need to serialize SFRBX.
- forgot to add new files in last commit
- Publishes Fix and Fix velocity from Nav PVT messages. Fix time stamps are from Nav PVT time instead of ros time now
- Publishes fix from Nav PVT info instead of Nav Pos LLH info. No longer compatible with firmware <=6. Now uses template publish function for most messages.
- Added Nav PVT message for protocol 8 and added publisher for ECEF messages in node.
- In C++11 shared_ptr has an explicit bool conversion
- Contributors: Kartik Mohta, Veronica Lane
0.0.5 (2016-08-06)
- Various small changes
- package.xml use format 2
- change some default values in launch files and node
- update readme
- clang format
- Contributors: Chao Qu
0.0.4 (2014-12-08)
- Update version number to reflect merge.
- Add install targets
- Reverted default in launch file
- Contributors: Gareth Cross, Kartik Mohta
0.0.3 (2014-10-18)
- Updated readme to reflect changes
- Added hacky ublox_version parameter to handle current limitations in driver structure
- Added MonVER, cleaned up make files a bit
- Added warning for ppp
- Added method to enable PPP
- Added settings for beidou and glonass
- Added option to run in gps only mode
- Changed param in roslaunch
- Contributors: Gareth Cross
0.0.2 (2014-10-03)
- Set better default for dr_limit in launch file
- Changed launch file to match readme
- Changed meas_rate to rate
- fix frame_id default
- add an option to specify node nanme
- Update ublox_gps.launch
- Update ublox_gps.launch
- Change to node
- Fixed erroneous max delay in diagnostic settings
- Removed unused option form launch file and readme
- Added diagnostic support
- Added options to ublox node, see README for details on changes
- Contributors: Chao Qu, Gareth Cross
0.0.1 (2014-08-15)
- Making fixes for second deployment
- Contributors: Gareth Cross
0.0.0 (2014-06-23)
- ublox: first commit
- Contributors: Chao Qu
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
ublox_serialization | |
ublox_msgs | |
nmea_msgs | |
roscpp | |
roscpp_serialization | |
tf | |
diagnostic_updater | |
rtcm_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
ublox |
Launch files
- launch/ublox_device.launch
-
- param_file_name — name of param file, e.g. rover
- param_file_dir [default: $(find ublox_gps)/config] — directory to look for $(arg param_file_name).yaml
- node_name [default: ublox] — name of this node
- output [default: screen]
- respawn [default: true]
- respawn_delay [default: 30]
- clear_params [default: true]
Messages
Services
Plugins
Recent questions tagged ublox_gps at Robotics Stack Exchange
ublox_gps package from ublox repoublox ublox_gps ublox_msg_filters ublox_msgs ublox_serialization |
|
Package Summary
Tags | No category tags. |
Version | 1.5.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/KumarRobotics/ublox.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2022-12-07 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gareth Cross
- Chao Qu
- Veronica Lane
Authors
- Johannes Meyer
Changelog for package ublox_gps
1.5.0 (2021-10-15)
- Add rtcm_msgs dependency
- Add RTK support via rtcm
- GPS coordinate precision corrected for high accuracy.
- Diagonstics for Differential GNSS updated.
- Add a new parameter to set the search path for the param_file_name. Add a default to the node_name parameter.
- Add zed-f9p configuration
- Contributors: Balamurugan Kandan, Chris Iverach-Brereton, Igor
1.4.1 (2020-06-04)
- fix signs in sensor_msgs::Imu output
- Contributors: Raphael Riebl
1.4.0 (2020-05-28)
- Bump CMake minimum version to 3.0.2
- Move variables from .h to .cpp to solve linking issues
- added support for protocol version >= 18
- Contributors: Firat Kasmis, Gonçalo Pereira
1.3.1 (2020-03-12)
- Fix unit in covariance calculation
- Contributors: Ferry Schoenmakers
1.3.0 (2020-01-10)
- Fix heading output to comply with REP-103 When not reporting valid heading, overwrite covariance with big number (0 otherwise)
- CfgNAV5: add dynamic model bike
- Contributors: Ferry Schoenmakers, Raphael Riebl
1.2.0 (2019-11-19)
- Add support for ZED-F9P new RELPOSNED message and provide heading output Fix whitespacing... Add RELPOSNED9 message to compile
- Fix for corrupted diagnostics messages Before the diagnostic structs were copied, but the pointers in FrequencyStatusParams still pointed to the old/freed objects.
- Show TMODE3 diagnostics OK if disabled Since there is no default for TMODE3 this is a deliberate choice
- added simple (remote) logger node for raw data stream logging
-
updated raw data stream logging + moved all global/node functions to new class RawDataStreamPa (raw_data_pa .h/.c) + changed messagetype to uint8-multiarray (string can not handle non-characters)
- fix #52
- FIX: overflow bug when the nano field of the NavPVT message (which is signed and can be negative) is assigned to the nsec value of a ros time stamp (which is unsigned)
- deactivated config checks for base parts, if config_on_startup is false
- Added flag [config_on_startup]{.title-ref} to deactivate configuration of ublox.
-
fixes to raw data stream + moving write_callback_ before the read_callback_, to avoid buffer copying (write_callback_ == publishing ros messages and writing to file) + publishing empty ros message during config phase to force instantiation of publisher
- renamed new topic and internal variables for raw data stream
- from raw_data_xxx to raw_data_stream_xxx
- this is to avoid confusion with the RawDataProduct
- updated debug message for measurement rate (added "hz" and "cycles" as units)
- TUC-ProAut: added raw data output (publishing ros messages and storing to file)
- boost::posix_time::seconds constructor requires integer argument
- Add TIM product and M8U functionality as well as the TIM-TM2 message (#27)
- Initialize set_usb_ to false by default
- Set serial port to raw mode, needed for Boost versions < 1.66.0
- Minor fixes for very old devices
- Fix potential segfault when printing Inf messages The Inf message strings are not null terminated, so we need to construct the string of the correct size from the vector of bytes instead of just printing using %s.
- In AsyncWorker::doClose(), close the stream instead of just cancelling operations
- Cleanup + modernize to make compatible with C++11
- Fix compilation with newer GCC and Boost As of now, doesn't compile with C++11 or later.
- added clear params arg
- updated config files
- added save and load configuration parameters and functions. changed how GNSS is configured & reset.
- added raw data product class and structs for frequency diagnostics
- Contributors: Chao Qu, Evan Flynn, Ferry Schoenmakers, Kartik Mohta, Michael Stoll, Peter Weissig, Stewart Worrall, Tim Clephas, Veronica Lane
1.1.2 (2017-08-02)
- README and package xml updates
- Fixed bug with enabling INF messages. Changed how messages which update fix are enabled and changed name of subscribe param namespace to publish.
- added USB Cfg PRT parameters and configuration
- Changed how I/O is initialized so that u-blox node parses the device parameter, and then calls either initializeSerial or initializeTcp in the GPS class with the appropriate parameters. Also cleaned up doxygen comments
- Added doxygen comments and made minor cleanup changes.
- Added doxygen comments
- Fixed bug with ARP Position HP conversion, which was multiplied by the wrong conversion factor. The ARP Position HP parameter is now an int8 vector instead of a float vector. Also added a getRosInt method in the node to get int8 and int16 params and changed the name of getRosParam to getRosUint.
- removing unnecessary include
- Changed how ACKs are handled. They are now handled through callback functions and are included in the CallbackHandlers.
- Created a CallbackHandlers class and migrated callbacks functionality from Gps class to the CallbackHandlers class
- Node can now save flash memory on shutdown and clear flash memory based on user params
- BUG FIX: Fix status only uses NavPVT time if the time is valid, otherwise it uses ros time. This prevents invalid times.
- added respawn params to launch file
- moved getRosParam template functions into node.h and used checkRange function for the getRosParam functions
- In config files, changed reset mode since it seems to work better
- Changed how unsigned int parameters are handled.
- Added NMEA flag params for firmware version 6 and updated readme to include NMEA params.
- Renamed cfg_gnss param namespace to gnss. Fixed bug with NMEA configuration for compat variable. Added sample config file for NMEA.
- added comments
- After resetting the device when re-configuring the GNSS, the node shuts down & must be relaunched since device address may change & serial port resets.
- Made ACK atomic since it is accessed by 2 threads (the main node & the i/o callback)
- BUG FIXES: fixed bug with waiting for acknowledgements, which wasn't timing out. Fixed bug with CfgGNSS which wasn't properly verifying the current GPS config to see if it was correct. Also added NMEA configuration functions
- debug variable is no longer static so that ublox node can set it from ROS params
- Removed ublox_version param, value is now determined by parsing MonVER. Changed name of UbloxInterface to ComponentInterface for clarity.
- Additional changes to parameters
- Moved most parameters into namespaces
- Cleaned up how parameters are check and moved the parameter parsing functions from the gps namespace to the node namespace since the node handles parameter checks. Also added CfgDAT capabilities, if dat/set param is set.
- updates to sample config files
- Change rtcm_rate parameter to a vector instead of a scalar, now each RTCM id can be set to a different rate.
- BUG FIX: Fix diagnostics num sv was displaying incorrectly. For firmware versions >=7, the flags are now compared to the constants from NavPVT not NavSOL. Also cleaned up how the diagnostics are displayed & included units. Added Carrier Phase diagnostics for HPG rovers.
- fixed bug with file path in ublox_device.launch and updated README to include information on launch files and subscribing/configuring new messages
- Contributors: Veronica Lane
1.1.0 (2017-07-17)
- Updated package xmls with new version number and corrected my email address. Also updated readme to include information about new version plus new parameter
- Updated sample config files
- Added Cfg RST message declaration and reset function. For Firmware 8, after reconfiguring the GNSS, a cold restart is initiated.
- node now configures INF messages
- Added constants for HPG Rover Diagnostic updater. Cleaned up GPS class: made method and parameter names consistent, reordered methods for clarity, and privatized some methods.
- Added NavPVT7 message since NavPVT message is a different length for firmware version 7. UbloxFirmware7Plus class now uses a template function to update diagnostics from NavPVT messages and to publish fix messages from NavPVT messages.
- Code cleanup - clarified a function name + comments
- Implemented interface for ADR/UDR messages. Added unimplemented skeleton interface for FTS messages. Added warning message if device type was not parsed correctly from MonVER.
- Cleaned up formatting + modified debug/info statements
- Changed debug statements so that they print to ROS DEBUG console. DEBUG log level is set in main node based on value of debug ros param.
- Modified Cfg GNSS for Firmware version 7, so it configures SBAS and QZSS if supported by the device
- changed receive message error print statements to only print in debug mode
- cleaned up how the tmode state was tracked for HPG reference stations. For ublox >=8, GNSS is now only configured if the current configuration is different from the desired configuration. This prevents the need for a hard-reset and prevents survey-in mode from resetting on HPG devices with the correct configuration
- I/O initialization has been entirely migrated to the GPS class, previously it was handled in both the node and GPS class. Split the HPG class into two classes, one for the REF station and one for the rover since the configuration & params did not intersect at all.
- BUG FIX: baudrate config, serial ASIO baudrate now set correctly
- Cleaned up debug print statements + code cleanup
- Added print functions for INF messages and subscribers for new MON messages
- Added NavSAT message and moved subscribers for messages deprecated in version 8 to version specific subscribe methods
- Added a UbloxInterface class. UbloxNode and Ublox firmware and hardware specific classes implement the interface. Ublox Node contains pointers to the firmware and hardware classes and calls their functions during configuration. Added a skeleton class for UbloxTim which subscribes to RawX and SFRBX messages, but has unimplemented configuration and getRosParams methods
- Changed UbloxNxNode class, ublox firmware version classes with version specific methods now inherit from UbloxFirmware. Hardware specific classes inherit from UbloxHardware. UbloxNode contains instances of each and calls the appropriate functions.
- Made NodeHandle a global variable in ublox_node namespace, publish is no longer a member function. Also took out additional node handles that were created to get parameters and just used the global node handle
- BUG FIX Firmware Version 6: nav status variable was never updated, using information from nav sol instead. CODE CLEANUP: added trailing underscores to a few class member variables. Removed * 3 multiplier for covariance in version 6. Added a diagnostic function for RTCM (currently not being used, will incorporate later)
- BUG FIX: For ublox 6 changed publisher of NavPOSLLH, NavVELNED, and NavSOL to call the custom method and not the template function. Also removed NavPOSLLH, NavVELNED, and NavSOL publishers from ublox 7 & 8 since NavPVT should be used. BUG FIX: Removed hardcoded value for NumTrackChs for CfgGNSS. CODE CLEANUP: added constants for hardcoded values + additional comments.
- For High Precision GNSS: Changed the way TMODE3 & RTCM messages are configured. If in survey-in mode, it first configures the device to survey-in, then when the survey is complete enables the RTCM messages.
- Fixed bug in Wait for ACK, it now checks that the ACK is for the expected class id and message id, also changed a few debug and error messages.
- Added Error message for ASIO read read errors and fixed a comment in cfg rate
- Includes BUG FIX (keep reading). Added Ublox messages (and subscribers or configuration methods + params) for High Precision GNSS devices: CfgDGNSS, NavRELPOSNED, NavSVIN. Also added subscriber & message for RxmRTCM. Changed MonVER processing, it now determines the protocol version, hardware type (e.g. SPG/HPG), and supported GNSS (e.g. Glonass, SBAS). SBAS can now be disabled on SBAS supported devices (previously SBAS settings were ignored if enable_sbas was false to prevent crashes, now it checks the MonVER message before trying to configure SBAS.
- Removed commented out lines which were unnecessary and added error message in async worker for read errors from asio
- Contributors: Veronica Lane
1.0.0 (2017-06-23)
- added myself as maintainer to package xmls and updated version numbers of modified packages.
- Modified example launch file to include params, also added example launch which loads paramaters from yaml file
- more code cleanup
- Code cleanup of node
- Made a node class structure. An abstract class represents nodes for all firmware versions. Version nodes inherit from this node and implement version specific functions.
- add ros console include so ros error message would print
- Moved callback class functions from gps files to callback.h
- Added read lock to async worker. Read + write buffers are now lockedduring operations
- Fixed Thread safety issues with async worker. Now uses MRSW lock and each function which makes changes to shared variables acquires the lock
- BUG FIX: fixed issues in gps & node that caused run time crashes. FrequencyStatusParam arguments were in the wrong order. Reverted to old initialize method which incremently set the serial baudrate.
- added constants for hard-coded values in gps class
- Baud rate and in/out protocol mask are now configurable through params and are no longer hard coded.
- Removed hardcoded configuration values and added constants and params for these values. Fixed MonVER print warning issue. Added RTCM config function. Removed FixMode & DynamicMode enums and used constants from messages. Changed setBaudrate name to configUart1 since it was configuring all params. If enable SBAS is set to false, does not call enable SBAS (need to change this so that it calls if SBAS is available) to prevent errors for devices without SBAS. Changed std::cout statements to ROS_INFO.
- Formatting of copyright so it's <80 char and changed std::cout in Async worker to ROS_INFO messages
- Update CfgGNSS message and serialization which now publishes and receives blocks and reads and configures all GNSS settings at once. Updated MonVER message and serialization, MonVER settings are displayed during initialization, including extension chars. Changed various std::cout messages to ROS_INFO and ROS_ERROR messages.
- Updated AID, RXM, and NAV messages to ublox 8 protocol. Added RxmSFRBX and RxmRAWX messages. Also did a 2nd pass on CFG messages for ublox 8 update. Need to serialize SFRBX.
- forgot to add new files in last commit
- Publishes Fix and Fix velocity from Nav PVT messages. Fix time stamps are from Nav PVT time instead of ros time now
- Publishes fix from Nav PVT info instead of Nav Pos LLH info. No longer compatible with firmware <=6. Now uses template publish function for most messages.
- Added Nav PVT message for protocol 8 and added publisher for ECEF messages in node.
- In C++11 shared_ptr has an explicit bool conversion
- Contributors: Kartik Mohta, Veronica Lane
0.0.5 (2016-08-06)
- Various small changes
- package.xml use format 2
- change some default values in launch files and node
- update readme
- clang format
- Contributors: Chao Qu
0.0.4 (2014-12-08)
- Update version number to reflect merge.
- Add install targets
- Reverted default in launch file
- Contributors: Gareth Cross, Kartik Mohta
0.0.3 (2014-10-18)
- Updated readme to reflect changes
- Added hacky ublox_version parameter to handle current limitations in driver structure
- Added MonVER, cleaned up make files a bit
- Added warning for ppp
- Added method to enable PPP
- Added settings for beidou and glonass
- Added option to run in gps only mode
- Changed param in roslaunch
- Contributors: Gareth Cross
0.0.2 (2014-10-03)
- Set better default for dr_limit in launch file
- Changed launch file to match readme
- Changed meas_rate to rate
- fix frame_id default
- add an option to specify node nanme
- Update ublox_gps.launch
- Update ublox_gps.launch
- Change to node
- Fixed erroneous max delay in diagnostic settings
- Removed unused option form launch file and readme
- Added diagnostic support
- Added options to ublox node, see README for details on changes
- Contributors: Chao Qu, Gareth Cross
0.0.1 (2014-08-15)
- Making fixes for second deployment
- Contributors: Gareth Cross
0.0.0 (2014-06-23)
- ublox: first commit
- Contributors: Chao Qu
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
ublox_serialization | |
ublox_msgs | |
nmea_msgs | |
roscpp | |
roscpp_serialization | |
tf | |
diagnostic_updater | |
rtcm_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
ublox |
Launch files
- launch/ublox_device.launch
-
- param_file_name — name of param file, e.g. rover
- param_file_dir [default: $(find ublox_gps)/config] — directory to look for $(arg param_file_name).yaml
- node_name [default: ublox] — name of this node
- output [default: screen]
- respawn [default: true]
- respawn_delay [default: 30]
- clear_params [default: true]
Messages
Services
Plugins
Recent questions tagged ublox_gps at Robotics Stack Exchange
ublox_gps package from ublox repoublox ublox_gps ublox_msg_filters ublox_msgs ublox_serialization |
|
Package Summary
Tags | No category tags. |
Version | 1.5.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/KumarRobotics/ublox.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2022-12-07 |
Dev Status | MAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Gareth Cross
- Chao Qu
- Veronica Lane
Authors
- Johannes Meyer
Changelog for package ublox_gps
1.5.0 (2021-10-15)
- Add rtcm_msgs dependency
- Add RTK support via rtcm
- GPS coordinate precision corrected for high accuracy.
- Diagonstics for Differential GNSS updated.
- Add a new parameter to set the search path for the param_file_name. Add a default to the node_name parameter.
- Add zed-f9p configuration
- Contributors: Balamurugan Kandan, Chris Iverach-Brereton, Igor
1.4.1 (2020-06-04)
- fix signs in sensor_msgs::Imu output
- Contributors: Raphael Riebl
1.4.0 (2020-05-28)
- Bump CMake minimum version to 3.0.2
- Move variables from .h to .cpp to solve linking issues
- added support for protocol version >= 18
- Contributors: Firat Kasmis, Gonçalo Pereira
1.3.1 (2020-03-12)
- Fix unit in covariance calculation
- Contributors: Ferry Schoenmakers
1.3.0 (2020-01-10)
- Fix heading output to comply with REP-103 When not reporting valid heading, overwrite covariance with big number (0 otherwise)
- CfgNAV5: add dynamic model bike
- Contributors: Ferry Schoenmakers, Raphael Riebl
1.2.0 (2019-11-19)
- Add support for ZED-F9P new RELPOSNED message and provide heading output Fix whitespacing... Add RELPOSNED9 message to compile
- Fix for corrupted diagnostics messages Before the diagnostic structs were copied, but the pointers in FrequencyStatusParams still pointed to the old/freed objects.
- Show TMODE3 diagnostics OK if disabled Since there is no default for TMODE3 this is a deliberate choice
- added simple (remote) logger node for raw data stream logging
-
updated raw data stream logging + moved all global/node functions to new class RawDataStreamPa (raw_data_pa .h/.c) + changed messagetype to uint8-multiarray (string can not handle non-characters)
- fix #52
- FIX: overflow bug when the nano field of the NavPVT message (which is signed and can be negative) is assigned to the nsec value of a ros time stamp (which is unsigned)
- deactivated config checks for base parts, if config_on_startup is false
- Added flag [config_on_startup]{.title-ref} to deactivate configuration of ublox.
-
fixes to raw data stream + moving write_callback_ before the read_callback_, to avoid buffer copying (write_callback_ == publishing ros messages and writing to file) + publishing empty ros message during config phase to force instantiation of publisher
- renamed new topic and internal variables for raw data stream
- from raw_data_xxx to raw_data_stream_xxx
- this is to avoid confusion with the RawDataProduct
- updated debug message for measurement rate (added "hz" and "cycles" as units)
- TUC-ProAut: added raw data output (publishing ros messages and storing to file)
- boost::posix_time::seconds constructor requires integer argument
- Add TIM product and M8U functionality as well as the TIM-TM2 message (#27)
- Initialize set_usb_ to false by default
- Set serial port to raw mode, needed for Boost versions < 1.66.0
- Minor fixes for very old devices
- Fix potential segfault when printing Inf messages The Inf message strings are not null terminated, so we need to construct the string of the correct size from the vector of bytes instead of just printing using %s.
- In AsyncWorker::doClose(), close the stream instead of just cancelling operations
- Cleanup + modernize to make compatible with C++11
- Fix compilation with newer GCC and Boost As of now, doesn't compile with C++11 or later.
- added clear params arg
- updated config files
- added save and load configuration parameters and functions. changed how GNSS is configured & reset.
- added raw data product class and structs for frequency diagnostics
- Contributors: Chao Qu, Evan Flynn, Ferry Schoenmakers, Kartik Mohta, Michael Stoll, Peter Weissig, Stewart Worrall, Tim Clephas, Veronica Lane
1.1.2 (2017-08-02)
- README and package xml updates
- Fixed bug with enabling INF messages. Changed how messages which update fix are enabled and changed name of subscribe param namespace to publish.
- added USB Cfg PRT parameters and configuration
- Changed how I/O is initialized so that u-blox node parses the device parameter, and then calls either initializeSerial or initializeTcp in the GPS class with the appropriate parameters. Also cleaned up doxygen comments
- Added doxygen comments and made minor cleanup changes.
- Added doxygen comments
- Fixed bug with ARP Position HP conversion, which was multiplied by the wrong conversion factor. The ARP Position HP parameter is now an int8 vector instead of a float vector. Also added a getRosInt method in the node to get int8 and int16 params and changed the name of getRosParam to getRosUint.
- removing unnecessary include
- Changed how ACKs are handled. They are now handled through callback functions and are included in the CallbackHandlers.
- Created a CallbackHandlers class and migrated callbacks functionality from Gps class to the CallbackHandlers class
- Node can now save flash memory on shutdown and clear flash memory based on user params
- BUG FIX: Fix status only uses NavPVT time if the time is valid, otherwise it uses ros time. This prevents invalid times.
- added respawn params to launch file
- moved getRosParam template functions into node.h and used checkRange function for the getRosParam functions
- In config files, changed reset mode since it seems to work better
- Changed how unsigned int parameters are handled.
- Added NMEA flag params for firmware version 6 and updated readme to include NMEA params.
- Renamed cfg_gnss param namespace to gnss. Fixed bug with NMEA configuration for compat variable. Added sample config file for NMEA.
- added comments
- After resetting the device when re-configuring the GNSS, the node shuts down & must be relaunched since device address may change & serial port resets.
- Made ACK atomic since it is accessed by 2 threads (the main node & the i/o callback)
- BUG FIXES: fixed bug with waiting for acknowledgements, which wasn't timing out. Fixed bug with CfgGNSS which wasn't properly verifying the current GPS config to see if it was correct. Also added NMEA configuration functions
- debug variable is no longer static so that ublox node can set it from ROS params
- Removed ublox_version param, value is now determined by parsing MonVER. Changed name of UbloxInterface to ComponentInterface for clarity.
- Additional changes to parameters
- Moved most parameters into namespaces
- Cleaned up how parameters are check and moved the parameter parsing functions from the gps namespace to the node namespace since the node handles parameter checks. Also added CfgDAT capabilities, if dat/set param is set.
- updates to sample config files
- Change rtcm_rate parameter to a vector instead of a scalar, now each RTCM id can be set to a different rate.
- BUG FIX: Fix diagnostics num sv was displaying incorrectly. For firmware versions >=7, the flags are now compared to the constants from NavPVT not NavSOL. Also cleaned up how the diagnostics are displayed & included units. Added Carrier Phase diagnostics for HPG rovers.
- fixed bug with file path in ublox_device.launch and updated README to include information on launch files and subscribing/configuring new messages
- Contributors: Veronica Lane
1.1.0 (2017-07-17)
- Updated package xmls with new version number and corrected my email address. Also updated readme to include information about new version plus new parameter
- Updated sample config files
- Added Cfg RST message declaration and reset function. For Firmware 8, after reconfiguring the GNSS, a cold restart is initiated.
- node now configures INF messages
- Added constants for HPG Rover Diagnostic updater. Cleaned up GPS class: made method and parameter names consistent, reordered methods for clarity, and privatized some methods.
- Added NavPVT7 message since NavPVT message is a different length for firmware version 7. UbloxFirmware7Plus class now uses a template function to update diagnostics from NavPVT messages and to publish fix messages from NavPVT messages.
- Code cleanup - clarified a function name + comments
- Implemented interface for ADR/UDR messages. Added unimplemented skeleton interface for FTS messages. Added warning message if device type was not parsed correctly from MonVER.
- Cleaned up formatting + modified debug/info statements
- Changed debug statements so that they print to ROS DEBUG console. DEBUG log level is set in main node based on value of debug ros param.
- Modified Cfg GNSS for Firmware version 7, so it configures SBAS and QZSS if supported by the device
- changed receive message error print statements to only print in debug mode
- cleaned up how the tmode state was tracked for HPG reference stations. For ublox >=8, GNSS is now only configured if the current configuration is different from the desired configuration. This prevents the need for a hard-reset and prevents survey-in mode from resetting on HPG devices with the correct configuration
- I/O initialization has been entirely migrated to the GPS class, previously it was handled in both the node and GPS class. Split the HPG class into two classes, one for the REF station and one for the rover since the configuration & params did not intersect at all.
- BUG FIX: baudrate config, serial ASIO baudrate now set correctly
- Cleaned up debug print statements + code cleanup
- Added print functions for INF messages and subscribers for new MON messages
- Added NavSAT message and moved subscribers for messages deprecated in version 8 to version specific subscribe methods
- Added a UbloxInterface class. UbloxNode and Ublox firmware and hardware specific classes implement the interface. Ublox Node contains pointers to the firmware and hardware classes and calls their functions during configuration. Added a skeleton class for UbloxTim which subscribes to RawX and SFRBX messages, but has unimplemented configuration and getRosParams methods
- Changed UbloxNxNode class, ublox firmware version classes with version specific methods now inherit from UbloxFirmware. Hardware specific classes inherit from UbloxHardware. UbloxNode contains instances of each and calls the appropriate functions.
- Made NodeHandle a global variable in ublox_node namespace, publish is no longer a member function. Also took out additional node handles that were created to get parameters and just used the global node handle
- BUG FIX Firmware Version 6: nav status variable was never updated, using information from nav sol instead. CODE CLEANUP: added trailing underscores to a few class member variables. Removed * 3 multiplier for covariance in version 6. Added a diagnostic function for RTCM (currently not being used, will incorporate later)
- BUG FIX: For ublox 6 changed publisher of NavPOSLLH, NavVELNED, and NavSOL to call the custom method and not the template function. Also removed NavPOSLLH, NavVELNED, and NavSOL publishers from ublox 7 & 8 since NavPVT should be used. BUG FIX: Removed hardcoded value for NumTrackChs for CfgGNSS. CODE CLEANUP: added constants for hardcoded values + additional comments.
- For High Precision GNSS: Changed the way TMODE3 & RTCM messages are configured. If in survey-in mode, it first configures the device to survey-in, then when the survey is complete enables the RTCM messages.
- Fixed bug in Wait for ACK, it now checks that the ACK is for the expected class id and message id, also changed a few debug and error messages.
- Added Error message for ASIO read read errors and fixed a comment in cfg rate
- Includes BUG FIX (keep reading). Added Ublox messages (and subscribers or configuration methods + params) for High Precision GNSS devices: CfgDGNSS, NavRELPOSNED, NavSVIN. Also added subscriber & message for RxmRTCM. Changed MonVER processing, it now determines the protocol version, hardware type (e.g. SPG/HPG), and supported GNSS (e.g. Glonass, SBAS). SBAS can now be disabled on SBAS supported devices (previously SBAS settings were ignored if enable_sbas was false to prevent crashes, now it checks the MonVER message before trying to configure SBAS.
- Removed commented out lines which were unnecessary and added error message in async worker for read errors from asio
- Contributors: Veronica Lane
1.0.0 (2017-06-23)
- added myself as maintainer to package xmls and updated version numbers of modified packages.
- Modified example launch file to include params, also added example launch which loads paramaters from yaml file
- more code cleanup
- Code cleanup of node
- Made a node class structure. An abstract class represents nodes for all firmware versions. Version nodes inherit from this node and implement version specific functions.
- add ros console include so ros error message would print
- Moved callback class functions from gps files to callback.h
- Added read lock to async worker. Read + write buffers are now lockedduring operations
- Fixed Thread safety issues with async worker. Now uses MRSW lock and each function which makes changes to shared variables acquires the lock
- BUG FIX: fixed issues in gps & node that caused run time crashes. FrequencyStatusParam arguments were in the wrong order. Reverted to old initialize method which incremently set the serial baudrate.
- added constants for hard-coded values in gps class
- Baud rate and in/out protocol mask are now configurable through params and are no longer hard coded.
- Removed hardcoded configuration values and added constants and params for these values. Fixed MonVER print warning issue. Added RTCM config function. Removed FixMode & DynamicMode enums and used constants from messages. Changed setBaudrate name to configUart1 since it was configuring all params. If enable SBAS is set to false, does not call enable SBAS (need to change this so that it calls if SBAS is available) to prevent errors for devices without SBAS. Changed std::cout statements to ROS_INFO.
- Formatting of copyright so it's <80 char and changed std::cout in Async worker to ROS_INFO messages
- Update CfgGNSS message and serialization which now publishes and receives blocks and reads and configures all GNSS settings at once. Updated MonVER message and serialization, MonVER settings are displayed during initialization, including extension chars. Changed various std::cout messages to ROS_INFO and ROS_ERROR messages.
- Updated AID, RXM, and NAV messages to ublox 8 protocol. Added RxmSFRBX and RxmRAWX messages. Also did a 2nd pass on CFG messages for ublox 8 update. Need to serialize SFRBX.
- forgot to add new files in last commit
- Publishes Fix and Fix velocity from Nav PVT messages. Fix time stamps are from Nav PVT time instead of ros time now
- Publishes fix from Nav PVT info instead of Nav Pos LLH info. No longer compatible with firmware <=6. Now uses template publish function for most messages.
- Added Nav PVT message for protocol 8 and added publisher for ECEF messages in node.
- In C++11 shared_ptr has an explicit bool conversion
- Contributors: Kartik Mohta, Veronica Lane
0.0.5 (2016-08-06)
- Various small changes
- package.xml use format 2
- change some default values in launch files and node
- update readme
- clang format
- Contributors: Chao Qu
0.0.4 (2014-12-08)
- Update version number to reflect merge.
- Add install targets
- Reverted default in launch file
- Contributors: Gareth Cross, Kartik Mohta
0.0.3 (2014-10-18)
- Updated readme to reflect changes
- Added hacky ublox_version parameter to handle current limitations in driver structure
- Added MonVER, cleaned up make files a bit
- Added warning for ppp
- Added method to enable PPP
- Added settings for beidou and glonass
- Added option to run in gps only mode
- Changed param in roslaunch
- Contributors: Gareth Cross
0.0.2 (2014-10-03)
- Set better default for dr_limit in launch file
- Changed launch file to match readme
- Changed meas_rate to rate
- fix frame_id default
- add an option to specify node nanme
- Update ublox_gps.launch
- Update ublox_gps.launch
- Change to node
- Fixed erroneous max delay in diagnostic settings
- Removed unused option form launch file and readme
- Added diagnostic support
- Added options to ublox node, see README for details on changes
- Contributors: Chao Qu, Gareth Cross
0.0.1 (2014-08-15)
- Making fixes for second deployment
- Contributors: Gareth Cross
0.0.0 (2014-06-23)
- ublox: first commit
- Contributors: Chao Qu
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
ublox_serialization | |
ublox_msgs | |
nmea_msgs | |
roscpp | |
roscpp_serialization | |
tf | |
diagnostic_updater | |
rtcm_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
ublox |
Launch files
- launch/ublox_device.launch
-
- param_file_name — name of param file, e.g. rover
- param_file_dir [default: $(find ublox_gps)/config] — directory to look for $(arg param_file_name).yaml
- node_name [default: ublox] — name of this node
- output [default: screen]
- respawn [default: true]
- respawn_delay [default: 30]
- clear_params [default: true]