![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | melodic-devel |
Last Updated | 2021-07-01 |
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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]
Messages
Services
Plugins
Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange
![]() |
kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repokvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.5.1 |
License | Apache 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/MITRE/kvh_geo_fog_3d.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2021-07-01 |
Dev Status | MAINTAINED |
CI status | 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
- Zach LaCelle
Authors
- Trevor Bostic
- Zach LaCelle
kvh-geo-fog-3d-driver
Driver for the KVH GEO FOG 3D inertial navigation systems. Connects over serial to the KVH GEO FOG 3D device and publishes out both KVH-specific and generic ROS-ified messages, as well as performs basic transforms to convert data to the ROS-conformant conventions.
Initial testing at The MITRE Corporation was done on the “Dual” model, which provides dual-antenna heading solutions. However, the API should match between the dual and non-dual models.
For detailed information on the KVH GEO FOG 3D functionality, consult the technical reference manual.
Product pages:
Copyright 2019 The MITRE Corporation. All Rights Reserved.
ROS API
kvh_geo_fog_3d_driver_node
The main driver node.
Published Topics
KVH-specific messages
All of these messages are defined as part of the kvh_geo_fog_3d_msgs package. They are direct pass-throughs of KVH messages, so almost universally do not conform with ROS REPs (103, 105, or 145).
KVH reports latitude and longitude in radians.
-
~<node_name>/kvh_system_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSystemState) -
~<node_name>/kvh_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_detailed_satellites
(kvh_geo_fog_3d_msgs/KvhGeoFog3DDetailSatellites) -
~<node_name>/kvh_local_magnetics
(kvh_geo_fog_3d_msgs/KvhGeoFog3DLocalMagneticField) -
~<node_name>/kvh_utm_position
(kvh_geo_fog_3d_msgs/KvhGeoFog3DUTMPosition) -
~<node_name>/kvh_ecef_pos
(kvh_geo_fog_3d_msgs/KvhGeoFog3DECEFPos) -
~<node_name>/kvh_north_seeking_status
(kvh_geo_fog_3d_msgs/KvhGeoFog3DNorthSeekingInitStatus) -
~<node_name>/kvh_odometer_state
(kvh_geo_fog_3d_msgs/KvhGeoFog3DSatellites) -
~<node_name>/kvh_raw_sensors
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawSensors) -
~<node_name>/kvh_raw_gnss
(kvh_geo_fog_3d_msgs/KvhGeoFog3DRawGNSS)
Conventional ROS messages
Not all of these messages conform to ROS REP-105 or REP-145. See the “ROS Conformance and Conventions” section below for more details.
Generally speaking, anything with a “_flu” or a “_enu” suffix conforms to ROS REPs.
All angles are measured in radians unless suffixed with “_deg”.
NavSatFix latitude/longitude measured in degrees (see message definition). This is different than the KVH messages, which report latitude/longitude in radians.
-
~<node_name>/imu/data_raw_frd
(sensor_msgs/Imu) -
~<node_name>/imu/data_raw_flu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/data_ned
(sensor_msgs/Imu) -
~<node_name>/imu/data_enu
(sensor_msgs/Imu) REP-105, REP-145 compliant -
~<node_name>/imu/rpy_ned
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_ned_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu
(geometry_msgs/Vector3Stamped) -
~<node_name>/imu/rpy_enu_deg
(geometry_msgs/Vector3Stamped) -
~<node_name>/gps/fix
(sensor_msgs/NavSatFix) Filtered GNSS location, in degrees -
~<node_name>/gps/raw_fix
(sensor_msgs/NavSatFix) Raw GNSS location, in degrees -
~<node_name>/gps/mag
(sensor_msgs/MagneticField) -
~<node_name>/gps/utm_ned
(nav_msgs/Odometry) -
~<node_name>/gps/utm_enu
(nav_msgs/Odometry) REP-105 compliant -
~<node_name>/odom/wheel_encoder
(nav_msgs/Odometry) -
~<node_name>imu/raw_sensor_frd
(nav_msgs/Odometry) -
~<node_name>/odom/raw_sensor_flu
(nav_msgs/Odometry) REP-105 compliant
Parameters
The driver asks for the wheel odometer pulses per meter to be passed as a parameter. This is because the KVH API provides the odometer pulses directionally (i.e. if you back up, the pulse count decreases) but the odometer distance as an absolute distance traveled (i.e. backing up increases distance traveled, and it never goes negative). This is the only source of non-differentiated data, which is useful to fuse as a position in filters since it doesn’t drift over time (unlike velocity, which will drift). The KVH API does not provide a method for obtaining its current wheel odometer pulse distance value. Thus, it must be hand-coded in as a parameter. In the future, hopefully KVH exposes this value over the API.
-
~<node_name>/port
(string, default: /dev/ttyUSB0) -
~<node_name>/baud
(int, default: 115200) -
~<node_name>/debug
(bool, default: false) -
~<node_name>/filterVehicleType
(string, default: 2 (car, see spatial_packets.h)) -
~<node_name>/atmosphericAltitudeEnabled
(bool, default: true) -
~<node_name>/velocityHeadingEnabled
(bool, default: false) -
~<node_name>/reversingDetectionEnabled
(bool, default: true) -
~<node_name>/motionAnalysisEnabled
(bool, default: true)
File truncated at 100 lines see the full file
Changelog for package kvh_geo_fog_3d_driver
1.5.1 (2021-07-01) -----------* No changes to driver package.
1.5.0 (2021-07-01) -----------* Fixing major bug with ENU and FLU roll/pitch. * Contributors: Zach LaCelle
1.4.0 (2020-06-16) -----------* Changing node so that it publishes raw IMU even if it doesn't have euler orientation stddev. * Contributors: Zach LaCelle
1.3.3 (2020-01-21) -----------* No changes to driver package.
1.3.2 (2020-01-17) -----------* Fixing build bug where driver would fail to build if CATKIN_ENABLE_TESTING was not set to true, due to an errant target_link_libraries line. * Contributors: LaCelle, Zachary
1.3.1 (2020-01-14) -----------* Adding odometer pulsePerMeter as a parameter. * Adding the X position calculated from odometery movement to the nav_msgs/Odometry wheel encoder message * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.3.0 (2019-12-2) -----------* Fixing bug where we were reporting lat/lon for NavSatFix messages in radians, when ROS asks for them in degrees * Fixing missing include * Fixing missing find_package * Updating packaging and cmakes to conform to catkin_lint * Rewrote bounding functions * Fixing up some documentation issues that rosdoc_lite found. * Fixing spacing to match 2-space indents everywhere. Also fixing a missing break within a switch/case. * Adding the GPS transform to the static broadcaster * Cleaning up changelog, and adding MITRE's open soure usage email request header to files. Also adding license information to mainpage.dox * Added ROS API documentation * Adding a rosdoc yaml, and removing the old Doxyfile * Removing the yet-unimplemented nodelet classes * Adding copyright file headers. * Moving license files to be under each package, since theoretically they could be licensed separately. * Adding license information. * Updating cmakelists to build roslint targets correctly * Adding devops scripts * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.2.0 (2019-09-27) -----------* Filter Options and Magnetometer * Defaulting to turning off velocity heading, since KVH recommended it for the Dual. * Implemented filter options packet configuration. * Added navsatfix and imu messages for the raw data to make graphing easier. * Fixed some problems with getting raw packets. * Added raw gnss and sensor messages to those output by the driver. * Fixed launch file syntax and printing error. * Added ability to customize initialization options. * Set wheel encoder frame_id to base_link. * Updated baud setter to have different values for each of the ports. * Added odom state message and message publishers to kvh driver node. * Added odometer state packet to the kvh driver. Next will be implementing messages. * Added utm tests. * Fixing packet storage utm problem. * Fixed utm struct problem. * Fixes for cpp check warnings. * Moving and fixing the release script. * Contributors: Bostic, Trevor R, LaCelle, Zachary
1.1.0 (2019-08-13) -----------* Moving msgs into their own package * Updating package.xml and CMakeLists.txt to handle the new packaging scheme * Fixes of tfs for orientation * Various fixes to covariances, especially when we temporarily lose communications * Updating the IMU data publishing to match ROS schemes * Fixing a bug in the TF for GPS * Many frame ID changes * Variable baud rates * Adding an autobaud node * Bug fixes in the UTM and Fix packets * More ublox custom messages
1.0.0 (2019-04-25) -----------* Initial release of the ROS KVH GEO FOG 3D driver package, reading basic state and information packets.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
diagnostic_updater | |
dynamic_reconfigure | |
geometry_msgs | |
kvh_geo_fog_3d_msgs | |
message_generation | |
nav_msgs | |
roscpp | |
roslint | |
sensor_msgs | |
std_msgs | |
tf2_ros | |
catkin | |
message_runtime | |
rosunit |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
kvh_geo_fog_3d |
Launch files
- launch/determine_baud.launch
-
- port [default: /dev/ttyUSB0]
- starting_baud [default: 1200]
- launch/kvh_geo_fog_3d_node.launch
-
- port [default: /dev/ttyUSB0]
- baud [default: 115200]
- debug [default: false]
- odomPulseToMeters [default: 0.000583]
- filterVehicleType [default: 2]
- atmosphericAltitudeEnabled [default: true]
- velocityHeadingEnabled [default: false]
- reversingDetectionEnabled [default: true]
- motionAnalysisEnabled [default: true]
- vehicleTrackWidth [default: 1.63576]
- encoderOnLeft [default: True]
- odometerVelocityCovariance [default: 0.00001]
- launch/static_broadcaster_example.launch
- These static transforms are for data fixed to the sensor or gps phase center. Other measurements, such as UTM or ECEF position data, require additional transforms to be published. Those are not covered in this sample launch file. Keep in mind that the TF2 order is "x y z yaw pitch roll" or "x y z qx qy qz qw" For all of our transforms, we use yaw-pitch-roll in this file for simplicity.
-
- base_nav_frame_id [default: nav]
- base_gps_frame_id [default: gps]