No version for distro humble showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro jazzy showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro kilted showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro rolling showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro ardent showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro bouncy showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro crystal showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro eloquent showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro dashing showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro galactic showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro foxy showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro iron showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro lunar showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro jade showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro indigo showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

No version for distro hydro showing kinetic. Known supported distros are highlighted in the buttons above.
Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
kinetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
melodic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange

Package symbol

kvh_geo_fog_3d_driver package from kvh_geo_fog_3d repo

kvh_geo_fog_3d kvh_geo_fog_3d_driver kvh_geo_fog_3d_msgs kvh_geo_fog_3d_rviz

ROS Distro
noetic

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

A ROS driver for the KVH Geo Fog 3D INS family of systems.

Additional Links

No 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:

KVH GEO FOG 3D

KVH GEO FOG 3D Dual

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

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged kvh_geo_fog_3d_driver at Robotics Stack Exchange